@pdfme/common 5.5.10 → 6.0.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/package.json +30 -55
  2. package/set-version.js +9 -4
  3. package/src/dynamicTemplate.ts +3 -1
  4. package/src/expression.ts +14 -5
  5. package/src/helper.ts +9 -3
  6. package/src/types.ts +20 -15
  7. package/src/version.ts +1 -1
  8. package/tsconfig.build.json +14 -0
  9. package/tsconfig.json +14 -4
  10. package/vite.config.mts +33 -0
  11. package/dist/cjs/__tests__/dynamicTemplate.test.js +0 -337
  12. package/dist/cjs/__tests__/dynamicTemplate.test.js.map +0 -1
  13. package/dist/cjs/__tests__/expression.test.js +0 -474
  14. package/dist/cjs/__tests__/expression.test.js.map +0 -1
  15. package/dist/cjs/__tests__/helper.test.js +0 -647
  16. package/dist/cjs/__tests__/helper.test.js.map +0 -1
  17. package/dist/cjs/__tests__/pluginRegistry.test.js +0 -83
  18. package/dist/cjs/__tests__/pluginRegistry.test.js.map +0 -1
  19. package/dist/cjs/src/constants.js +0 -27
  20. package/dist/cjs/src/constants.js.map +0 -1
  21. package/dist/cjs/src/dynamicTemplate.js +0 -228
  22. package/dist/cjs/src/dynamicTemplate.js.map +0 -1
  23. package/dist/cjs/src/expression.js +0 -463
  24. package/dist/cjs/src/expression.js.map +0 -1
  25. package/dist/cjs/src/helper.js +0 -277
  26. package/dist/cjs/src/helper.js.map +0 -1
  27. package/dist/cjs/src/index.js +0 -43
  28. package/dist/cjs/src/index.js.map +0 -1
  29. package/dist/cjs/src/pluginRegistry.js +0 -33
  30. package/dist/cjs/src/pluginRegistry.js.map +0 -1
  31. package/dist/cjs/src/schema.js +0 -190
  32. package/dist/cjs/src/schema.js.map +0 -1
  33. package/dist/cjs/src/types.js +0 -3
  34. package/dist/cjs/src/types.js.map +0 -1
  35. package/dist/cjs/src/version.js +0 -5
  36. package/dist/cjs/src/version.js.map +0 -1
  37. package/dist/esm/__tests__/dynamicTemplate.test.js +0 -302
  38. package/dist/esm/__tests__/dynamicTemplate.test.js.map +0 -1
  39. package/dist/esm/__tests__/expression.test.js +0 -472
  40. package/dist/esm/__tests__/expression.test.js.map +0 -1
  41. package/dist/esm/__tests__/helper.test.js +0 -612
  42. package/dist/esm/__tests__/helper.test.js.map +0 -1
  43. package/dist/esm/__tests__/pluginRegistry.test.js +0 -81
  44. package/dist/esm/__tests__/pluginRegistry.test.js.map +0 -1
  45. package/dist/esm/src/constants.js +0 -24
  46. package/dist/esm/src/constants.js.map +0 -1
  47. package/dist/esm/src/dynamicTemplate.js +0 -224
  48. package/dist/esm/src/dynamicTemplate.js.map +0 -1
  49. package/dist/esm/src/expression.js +0 -426
  50. package/dist/esm/src/expression.js.map +0 -1
  51. package/dist/esm/src/helper.js +0 -252
  52. package/dist/esm/src/helper.js.map +0 -1
  53. package/dist/esm/src/index.js +0 -8
  54. package/dist/esm/src/index.js.map +0 -1
  55. package/dist/esm/src/pluginRegistry.js +0 -29
  56. package/dist/esm/src/pluginRegistry.js.map +0 -1
  57. package/dist/esm/src/schema.js +0 -187
  58. package/dist/esm/src/schema.js.map +0 -1
  59. package/dist/esm/src/types.js +0 -2
  60. package/dist/esm/src/types.js.map +0 -1
  61. package/dist/esm/src/version.js +0 -2
  62. package/dist/esm/src/version.js.map +0 -1
  63. package/dist/node/__tests__/dynamicTemplate.test.js +0 -337
  64. package/dist/node/__tests__/dynamicTemplate.test.js.map +0 -1
  65. package/dist/node/__tests__/expression.test.js +0 -474
  66. package/dist/node/__tests__/expression.test.js.map +0 -1
  67. package/dist/node/__tests__/helper.test.js +0 -647
  68. package/dist/node/__tests__/helper.test.js.map +0 -1
  69. package/dist/node/__tests__/pluginRegistry.test.js +0 -83
  70. package/dist/node/__tests__/pluginRegistry.test.js.map +0 -1
  71. package/dist/node/src/constants.js +0 -27
  72. package/dist/node/src/constants.js.map +0 -1
  73. package/dist/node/src/dynamicTemplate.js +0 -228
  74. package/dist/node/src/dynamicTemplate.js.map +0 -1
  75. package/dist/node/src/expression.js +0 -463
  76. package/dist/node/src/expression.js.map +0 -1
  77. package/dist/node/src/helper.js +0 -277
  78. package/dist/node/src/helper.js.map +0 -1
  79. package/dist/node/src/index.js +0 -43
  80. package/dist/node/src/index.js.map +0 -1
  81. package/dist/node/src/pluginRegistry.js +0 -33
  82. package/dist/node/src/pluginRegistry.js.map +0 -1
  83. package/dist/node/src/schema.js +0 -190
  84. package/dist/node/src/schema.js.map +0 -1
  85. package/dist/node/src/types.js +0 -3
  86. package/dist/node/src/types.js.map +0 -1
  87. package/dist/node/src/version.js +0 -5
  88. package/dist/node/src/version.js.map +0 -1
  89. package/dist/types/__tests__/dynamicTemplate.test.d.ts +0 -1
  90. package/dist/types/__tests__/expression.test.d.ts +0 -1
  91. package/dist/types/__tests__/helper.test.d.ts +0 -1
  92. package/dist/types/__tests__/pluginRegistry.test.d.ts +0 -1
  93. package/dist/types/src/constants.d.ts +0 -20
  94. package/dist/types/src/dynamicTemplate.d.ts +0 -27
  95. package/dist/types/src/expression.d.ts +0 -6
  96. package/dist/types/src/helper.d.ts +0 -36
  97. package/dist/types/src/index.d.ts +0 -9
  98. package/dist/types/src/pluginRegistry.d.ts +0 -5
  99. package/dist/types/src/schema.d.ts +0 -820
  100. package/dist/types/src/types.d.ts +0 -181
  101. package/dist/types/src/version.d.ts +0 -1
  102. package/eslint.config.mjs +0 -22
  103. package/tsconfig.cjs.json +0 -10
  104. package/tsconfig.esm.json +0 -11
  105. package/tsconfig.node.json +0 -11
@@ -1,612 +0,0 @@
1
- import { readFileSync } from 'fs';
2
- import * as path from 'path';
3
- import { mm2pt, pt2mm, pt2px, checkGenerateProps, checkFont, checkPlugins, isHexValid, migrateTemplate, } from '../src/helper.js';
4
- import { PT_TO_PX_RATIO, BLANK_PDF, getB64BasePdf, } from '../src/index.js';
5
- const sansData = readFileSync(path.join(__dirname, `/assets/fonts/NotoSans-Regular.ttf`));
6
- const serifData = readFileSync(path.join(__dirname, `/assets/fonts/NotoSerif-Regular.ttf`));
7
- const getSampleFont = () => ({
8
- NotoSans: { fallback: true, data: sansData },
9
- NotoSerif: { data: serifData },
10
- });
11
- const getTemplate = () => ({
12
- basePdf: BLANK_PDF,
13
- schemas: [
14
- [
15
- {
16
- name: 'a',
17
- content: 'a',
18
- type: 'text',
19
- fontName: 'NotoSans',
20
- position: { x: 0, y: 0 },
21
- width: 100,
22
- height: 100,
23
- },
24
- {
25
- name: 'b',
26
- content: 'b',
27
- type: 'text',
28
- position: { x: 0, y: 0 },
29
- width: 100,
30
- height: 100,
31
- },
32
- ],
33
- ],
34
- });
35
- describe('mm2pt test', () => {
36
- it('converts millimeters to points', () => {
37
- expect(mm2pt(1)).toEqual(2.8346);
38
- expect(mm2pt(10)).toEqual(28.346);
39
- expect(mm2pt(4395.12)).toEqual(12458.407152);
40
- });
41
- });
42
- describe('pt2mm test', () => {
43
- it('converts points to millimeters', () => {
44
- expect(pt2mm(1)).toEqual(0.3528);
45
- expect(pt2mm(2.8346)).toEqual(1.00004688); // close enough!
46
- expect(pt2mm(10)).toEqual(3.528);
47
- expect(pt2mm(5322.98)).toEqual(1877.947344);
48
- });
49
- });
50
- describe('pt2px test', () => {
51
- it('converts points to pixels', () => {
52
- expect(pt2px(1)).toEqual(PT_TO_PX_RATIO);
53
- expect(pt2px(1)).toEqual(1.333);
54
- expect(pt2px(2.8346)).toEqual(3.7785218);
55
- expect(pt2px(10)).toEqual(13.33);
56
- expect(pt2px(5322.98)).toEqual(7095.532339999999);
57
- });
58
- });
59
- describe('isHexValid test', () => {
60
- test('valid hex', () => {
61
- expect(isHexValid('#fff')).toEqual(true);
62
- expect(isHexValid('#ffffff')).toEqual(true);
63
- expect(isHexValid('#ffffff00')).toEqual(true);
64
- expect(isHexValid('#ffffff00')).toEqual(true);
65
- });
66
- test('invalid hex', () => {
67
- expect(isHexValid('#ff')).toEqual(false);
68
- expect(isHexValid('#fffff')).toEqual(false);
69
- expect(isHexValid('#ffffff000')).toEqual(false);
70
- expect(isHexValid('#ffffff0000')).toEqual(false);
71
- expect(isHexValid('#ffffff00000')).toEqual(false);
72
- expect(isHexValid('#ffffff000000')).toEqual(false);
73
- expect(isHexValid('#pdfme123')).toEqual(false);
74
- });
75
- });
76
- // NOTE: We only test the generator check function because the others
77
- // have a schema that checks for HTMLElement, which isn't available in the test environment
78
- describe('checkGenerateProps', () => {
79
- test('accepts valid generator schema', () => {
80
- const validProps = {
81
- inputs: [{ a: 'a', b: 'b' }],
82
- template: {
83
- basePdf: 'data:application/pdf;base64,abc123',
84
- schemas: [
85
- [
86
- {
87
- name: 'field1',
88
- type: 'text',
89
- position: { x: 0, y: 0 },
90
- width: 100,
91
- height: 100,
92
- content: 'Test'
93
- }
94
- ]
95
- ]
96
- },
97
- options: {
98
- font: getSampleFont()
99
- },
100
- plugins: {
101
- text: {
102
- pdf: async () => { },
103
- ui: async () => { },
104
- propPanel: {
105
- schema: {},
106
- defaultSchema: {
107
- type: 'text',
108
- name: 'myText',
109
- content: '',
110
- position: { x: 0, y: 0 },
111
- width: 100,
112
- height: 100
113
- }
114
- }
115
- }
116
- }
117
- };
118
- expect(() => checkGenerateProps(validProps)).not.toThrow();
119
- });
120
- test('throws for invalid template structure', () => {
121
- const invalidProps = {
122
- template: {
123
- schemas: 'not-an-array' // Invalid type
124
- }
125
- };
126
- expect(() => checkGenerateProps(invalidProps)).toThrow("[@pdfme/common] Invalid argument:\n" +
127
- "--------------------------\n" +
128
- "ERROR POSITION: template.schemas\n" +
129
- "ERROR MESSAGE: Invalid input: expected array, received string\n" +
130
- "--------------------------\n" +
131
- "ERROR POSITION: template.basePdf\n" +
132
- "ERROR MESSAGE: Invalid input\n" +
133
- "--------------------------\n" +
134
- "ERROR POSITION: inputs\n" +
135
- "ERROR MESSAGE: Invalid input: expected array, received undefined\n" +
136
- "--------------------------");
137
- });
138
- test('throws for missing required template field and empty inputs', () => {
139
- const missingSchemaProps = {
140
- inputs: [],
141
- template: {
142
- basePdf: 'data:application/pdf;base64,abc123',
143
- // schemas is missing
144
- }
145
- };
146
- expect(() => checkGenerateProps(missingSchemaProps)).toThrow("[@pdfme/common] Invalid argument:\n" +
147
- "--------------------------\n" +
148
- "ERROR POSITION: template.schemas\n" +
149
- "ERROR MESSAGE: Invalid input: expected array, received undefined\n" +
150
- "--------------------------\n" +
151
- "ERROR POSITION: inputs\n" +
152
- "ERROR MESSAGE: Too small: expected array to have >=1 items\n" +
153
- "--------------------------");
154
- });
155
- test('throws for invalid plugin definitions', () => {
156
- const invalidPluginProps = {
157
- inputs: [{ a: 'a' }],
158
- template: {
159
- basePdf: 'data:application/pdf;base64,abc123',
160
- schemas: [[]]
161
- },
162
- plugins: {
163
- invalid: {
164
- // missing pdf
165
- // missing ui
166
- propPanel: {
167
- schema: {},
168
- defaultSchema: {
169
- // missing type
170
- name: 'myText',
171
- content: '',
172
- position: { x: 0, y: 0 },
173
- width: 100,
174
- height: 100
175
- }
176
- }
177
- },
178
- missingPanel: {
179
- pdf: async () => { },
180
- ui: async () => { },
181
- // missing propPanel
182
- },
183
- missingDefaultSchema: {
184
- pdf: async () => { },
185
- ui: async () => { },
186
- propPanel: {}
187
- }
188
- }
189
- };
190
- expect(() => checkGenerateProps(invalidPluginProps)).toThrow("[@pdfme/common] Invalid argument:\n" +
191
- "--------------------------\n" +
192
- "ERROR POSITION: plugins.invalid.propPanel.defaultSchema.type\n" +
193
- "ERROR MESSAGE: Invalid input: expected string, received undefined\n" +
194
- "--------------------------\n" +
195
- "ERROR POSITION: plugins.missingPanel.propPanel\n" +
196
- "ERROR MESSAGE: Invalid input: expected object, received undefined\n" +
197
- "--------------------------\n" +
198
- "ERROR POSITION: plugins.missingDefaultSchema.propPanel.defaultSchema\n" +
199
- "ERROR MESSAGE: Invalid input: expected object, received undefined\n" +
200
- "--------------------------");
201
- });
202
- test('calls checkFont when font option is provided', () => {
203
- const propsWithFont = {
204
- inputs: [{ a: 'a' }],
205
- template: {
206
- basePdf: 'data:application/pdf;base64,abc123',
207
- schemas: [[]]
208
- },
209
- options: {
210
- font: { Roboto: { data: new Uint8Array(), fallback: true } }
211
- }
212
- };
213
- checkGenerateProps(propsWithFont);
214
- });
215
- });
216
- describe('checkFont test', () => {
217
- test('success test: no fontName in Schemas', () => {
218
- const _getTemplate = () => ({
219
- basePdf: BLANK_PDF,
220
- schemas: [
221
- [
222
- {
223
- name: 'a',
224
- content: 'a',
225
- type: 'text',
226
- position: { x: 0, y: 0 },
227
- width: 100,
228
- height: 100,
229
- },
230
- {
231
- name: 'b',
232
- content: 'b',
233
- type: 'text',
234
- position: { x: 0, y: 0 },
235
- width: 100,
236
- height: 100,
237
- },
238
- ],
239
- ],
240
- });
241
- try {
242
- checkFont({ template: _getTemplate(), font: getSampleFont() });
243
- expect.anything();
244
- }
245
- catch (e) {
246
- fail();
247
- }
248
- });
249
- test('success test: fontName in Schemas(fallback font)', () => {
250
- try {
251
- checkFont({ template: getTemplate(), font: getSampleFont() });
252
- expect.anything();
253
- }
254
- catch (e) {
255
- fail();
256
- }
257
- });
258
- test('success test: fontName in Schemas(not fallback font)', () => {
259
- const getFont = () => ({
260
- NotoSans: { data: sansData },
261
- NotoSerif: { fallback: true, data: serifData },
262
- });
263
- try {
264
- checkFont({ template: getTemplate(), font: getFont() });
265
- expect.anything();
266
- }
267
- catch (e) {
268
- fail();
269
- }
270
- });
271
- test('fail test: no fallback font', () => {
272
- const getFont = () => ({
273
- NotoSans: { data: sansData },
274
- NotoSerif: { data: serifData },
275
- });
276
- try {
277
- checkFont({ template: getTemplate(), font: getFont() });
278
- fail();
279
- }
280
- catch (e) {
281
- expect(e.message).toEqual(`[@pdfme/common] fallback flag is not found in font. true fallback flag must be only one.
282
- Check this document: https://pdfme.com/docs/custom-fonts#about-font-type`);
283
- }
284
- });
285
- test('fail test: too many fallback font', () => {
286
- const getFont = () => ({
287
- NotoSans: { data: sansData, fallback: true },
288
- NotoSerif: { data: serifData, fallback: true },
289
- });
290
- try {
291
- checkFont({ template: getTemplate(), font: getFont() });
292
- fail();
293
- }
294
- catch (e) {
295
- expect(e.message).toEqual(`[@pdfme/common] 2 fallback flags found in font. true fallback flag must be only one.
296
- Check this document: https://pdfme.com/docs/custom-fonts#about-font-type`);
297
- }
298
- });
299
- test('fail test: fontName in Schemas not found in font(single)', () => {
300
- const _getTemplate = () => ({
301
- basePdf: BLANK_PDF,
302
- schemas: [
303
- [
304
- {
305
- name: 'a',
306
- type: 'text',
307
- content: 'a',
308
- fontName: 'NotoSans2',
309
- position: { x: 0, y: 0 },
310
- width: 100,
311
- height: 100,
312
- },
313
- {
314
- name: 'b',
315
- type: 'text',
316
- content: 'b',
317
- position: { x: 0, y: 0 },
318
- width: 100,
319
- height: 100,
320
- },
321
- ],
322
- ],
323
- });
324
- try {
325
- checkFont({ template: _getTemplate(), font: getSampleFont() });
326
- fail();
327
- }
328
- catch (e) {
329
- expect(e.message).toEqual(`[@pdfme/common] NotoSans2 of template.schemas is not found in font.
330
- Check this document: https://pdfme.com/docs/custom-fonts`);
331
- }
332
- });
333
- test('fail test: fontName in Schemas not found in font(single)', () => {
334
- const _getTemplate = () => ({
335
- basePdf: BLANK_PDF,
336
- schemas: [
337
- [
338
- {
339
- name: 'a',
340
- type: 'text',
341
- content: 'a',
342
- fontName: 'NotoSans2',
343
- position: { x: 0, y: 0 },
344
- width: 100,
345
- height: 100,
346
- },
347
- {
348
- name: 'b',
349
- type: 'text',
350
- content: 'b',
351
- fontName: 'NotoSerif2',
352
- position: { x: 0, y: 0 },
353
- width: 100,
354
- height: 100,
355
- },
356
- ],
357
- ],
358
- });
359
- try {
360
- checkFont({ template: _getTemplate(), font: getSampleFont() });
361
- fail();
362
- }
363
- catch (e) {
364
- expect(e.message).toEqual(`[@pdfme/common] NotoSans2,NotoSerif2 of template.schemas is not found in font.
365
- Check this document: https://pdfme.com/docs/custom-fonts`);
366
- }
367
- });
368
- });
369
- describe('checkPlugins test', () => {
370
- const plugins = {
371
- myText: {
372
- pdf: async () => { },
373
- ui: async () => { },
374
- propPanel: {
375
- schema: {},
376
- defaultSchema: {
377
- type: 'myText',
378
- name: 'myText',
379
- content: '',
380
- position: { x: 0, y: 0 },
381
- width: 100,
382
- height: 100,
383
- },
384
- },
385
- },
386
- myImage: {
387
- pdf: async () => { },
388
- ui: async () => { },
389
- propPanel: {
390
- schema: {},
391
- defaultSchema: {
392
- type: 'myImage',
393
- name: 'myImage',
394
- content: '',
395
- position: { x: 0, y: 0 },
396
- width: 100,
397
- height: 100,
398
- },
399
- },
400
- },
401
- };
402
- test('success test: no type in Schemas(no plugins)', () => {
403
- try {
404
- const template = getTemplate();
405
- template.schemas = [];
406
- checkPlugins({ template, plugins: {} });
407
- expect.anything();
408
- }
409
- catch (e) {
410
- fail();
411
- }
412
- });
413
- test('success test: no type in Schemas(with plugins)', () => {
414
- try {
415
- const template = getTemplate();
416
- template.schemas = [];
417
- checkPlugins({ template, plugins });
418
- expect.anything();
419
- }
420
- catch (e) {
421
- fail();
422
- }
423
- });
424
- test('success test: type in Schemas(single)', () => {
425
- try {
426
- const template = getTemplate();
427
- template.schemas[0][0].type = 'myText';
428
- template.schemas[0][1].type = 'myText';
429
- checkPlugins({ template, plugins });
430
- expect.anything();
431
- }
432
- catch (e) {
433
- fail();
434
- }
435
- });
436
- test('success test: type in Schemas(multiple)', () => {
437
- try {
438
- const template = getTemplate();
439
- template.schemas[0][0].type = 'myText';
440
- template.schemas[0][1].type = 'myImage';
441
- checkPlugins({ template, plugins });
442
- expect.anything();
443
- }
444
- catch (e) {
445
- fail();
446
- }
447
- });
448
- test('fail test: type in Schemas not found in plugins(single)', () => {
449
- try {
450
- const template = getTemplate();
451
- template.schemas[0][0].type = 'fail';
452
- template.schemas[0][1].type = 'myImage';
453
- checkPlugins({ template, plugins });
454
- fail();
455
- }
456
- catch (e) {
457
- expect(e.message).toEqual(`[@pdfme/common] fail of template.schemas is not found in plugins.`);
458
- }
459
- });
460
- test('fail test: type in Schemas not found in plugins(multiple)', () => {
461
- try {
462
- const template = getTemplate();
463
- template.schemas[0][0].type = 'fail';
464
- template.schemas[0][1].type = 'fail2';
465
- checkPlugins({ template, plugins });
466
- fail();
467
- }
468
- catch (e) {
469
- expect(e.message).toEqual(`[@pdfme/common] fail,fail2 of template.schemas is not found in plugins.`);
470
- }
471
- });
472
- });
473
- describe('migrateTemplate', () => {
474
- it('should convert LegacySchemaPageArray to SchemaPageArray', () => {
475
- const legacyTemplate = {
476
- schemas: [
477
- {
478
- field1: {
479
- type: 'text',
480
- content: 'Field 1',
481
- width: 45,
482
- height: 10,
483
- position: {
484
- x: 0,
485
- y: 0,
486
- },
487
- },
488
- field2: {
489
- type: 'text',
490
- content: 'Field 2',
491
- width: 45,
492
- height: 10,
493
- position: {
494
- x: 0,
495
- y: 0,
496
- },
497
- },
498
- },
499
- {
500
- field3: {
501
- type: 'text',
502
- content: 'Field 3',
503
- width: 45,
504
- height: 10,
505
- position: {
506
- x: 0,
507
- y: 0,
508
- },
509
- },
510
- },
511
- ],
512
- };
513
- migrateTemplate(legacyTemplate);
514
- const expectedSchemaPageArray = [
515
- [
516
- {
517
- name: 'field1',
518
- type: 'text',
519
- content: 'Field 1',
520
- width: 45,
521
- height: 10,
522
- position: {
523
- x: 0,
524
- y: 0,
525
- },
526
- },
527
- {
528
- name: 'field2',
529
- type: 'text',
530
- content: 'Field 2',
531
- width: 45,
532
- height: 10,
533
- position: {
534
- x: 0,
535
- y: 0,
536
- },
537
- },
538
- ],
539
- [
540
- {
541
- name: 'field3',
542
- type: 'text',
543
- content: 'Field 3',
544
- width: 45,
545
- height: 10,
546
- position: {
547
- x: 0,
548
- y: 0,
549
- },
550
- },
551
- ],
552
- ];
553
- expect(legacyTemplate.schemas).toEqual(expectedSchemaPageArray);
554
- });
555
- it('should not modify already SchemaPageArray', () => {
556
- const pagedTemplate = {
557
- schemas: [
558
- [
559
- {
560
- name: 'field1',
561
- type: 'text',
562
- content: 'Field 1',
563
- width: 45,
564
- height: 10,
565
- position: {
566
- x: 0,
567
- y: 0,
568
- },
569
- },
570
- {
571
- name: 'field2',
572
- type: 'text',
573
- content: 'Field 2',
574
- width: 45,
575
- height: 10,
576
- position: {
577
- x: 0,
578
- y: 0,
579
- },
580
- },
581
- ],
582
- [
583
- {
584
- name: 'field3',
585
- type: 'text',
586
- content: 'Field 3',
587
- width: 45,
588
- height: 10,
589
- position: {
590
- x: 0,
591
- y: 0,
592
- },
593
- },
594
- ],
595
- ],
596
- };
597
- const before = JSON.parse(JSON.stringify(pagedTemplate));
598
- migrateTemplate(pagedTemplate);
599
- expect(pagedTemplate.schemas).toEqual(before.schemas);
600
- });
601
- });
602
- describe('getB64BasePdf', () => {
603
- test('base64 string', async () => {
604
- const result = await getB64BasePdf(BLANK_PDF);
605
- expect(typeof result).toBe('string');
606
- });
607
- test('Uint8Array', async () => {
608
- const result = await getB64BasePdf(new Uint8Array([10, 20, 30, 40, 50]));
609
- expect(typeof result).toBe('string');
610
- });
611
- });
612
- //# sourceMappingURL=helper.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helper.test.js","sourceRoot":"","sources":["../../../__tests__/helper.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,SAAS,EAKT,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oCAAoC,CAAC,CAAC,CAAC;AAC1F,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC,CAAC;AAE5F,MAAM,aAAa,GAAG,GAAS,EAAE,CAAC,CAAC;IACjC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,GAAa,EAAE,CAAC,CAAC;IACnC,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE;QACP;YACE;gBACE,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,GAAG;gBACZ,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACxB,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,GAAG;aACZ;YACD;gBACE,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,GAAG;gBACZ,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACxB,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,GAAG;aACZ;SACF;KACF;CACF,CAAC,CAAC;AAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB;QAC3D,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;QACrB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE;QACvB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,qEAAqE;AACrE,2FAA2F;AAC3F,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC1C,MAAM,UAAU,GAAG;YACjB,MAAM,EAAE,CAAC,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAC,CAAC;YAC1B,QAAQ,EAAE;gBACR,OAAO,EAAE,oCAAoC;gBAC7C,OAAO,EAAE;oBACP;wBACE;4BACE,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;4BACxB,KAAK,EAAE,GAAG;4BACV,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE,MAAM;yBAChB;qBACF;iBACF;aACF;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,aAAa,EAAE;aACtB;YACD,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,GAAG,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;oBACnB,EAAE,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;oBAClB,SAAS,EAAE;wBACT,MAAM,EAAE,EAAE;wBACV,aAAa,EAAE;4BACb,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,EAAE;4BACX,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;4BACxB,KAAK,EAAE,GAAG;4BACV,MAAM,EAAE,GAAG;yBACZ;qBACF;iBACF;aACF;SACF,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QACjD,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,cAAc,CAAC,eAAe;aACxC;SACF,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,qCAAqC;YAC1F,8BAA8B;YAC9B,oCAAoC;YACpC,iEAAiE;YACjE,8BAA8B;YAC9B,oCAAoC;YACpC,gCAAgC;YAChC,8BAA8B;YAC9B,0BAA0B;YAC1B,oEAAoE;YACpE,4BAA4B,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACvE,MAAM,kBAAkB,GAAG;YACzB,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE;gBACR,OAAO,EAAE,oCAAoC;gBAC7C,qBAAqB;aACtB;SACF,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,qCAAqC;YAChG,8BAA8B;YAC9B,oCAAoC;YACpC,oEAAoE;YACpE,8BAA8B;YAC9B,0BAA0B;YAC1B,8DAA8D;YAC9D,4BAA4B,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QACjD,MAAM,kBAAkB,GAAG;YACzB,MAAM,EAAE,CAAC,EAAC,CAAC,EAAE,GAAG,EAAC,CAAC;YAClB,QAAQ,EAAE;gBACR,OAAO,EAAE,oCAAoC;gBAC7C,OAAO,EAAE,CAAC,EAAE,CAAC;aACd;YACD,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,cAAc;oBACd,aAAa;oBACb,SAAS,EAAE;wBACT,MAAM,EAAE,EAAE;wBACV,aAAa,EAAE;4BACb,eAAe;4BACf,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,EAAE;4BACX,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;4BACxB,KAAK,EAAE,GAAG;4BACV,MAAM,EAAE,GAAG;yBACZ;qBACF;iBACF;gBACD,YAAY,EAAE;oBACZ,GAAG,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;oBACnB,EAAE,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;oBAClB,oBAAoB;iBACrB;gBACD,oBAAoB,EAAE;oBACpB,GAAG,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;oBACnB,EAAE,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;oBAClB,SAAS,EAAE,EAAE;iBACd;aACF;SACF,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,qCAAqC;YAChG,8BAA8B;YAC9B,gEAAgE;YAChE,qEAAqE;YACrE,8BAA8B;YAC9B,kDAAkD;YAClD,qEAAqE;YACrE,8BAA8B;YAC9B,wEAAwE;YACxE,qEAAqE;YACrE,4BAA4B,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACxD,MAAM,aAAa,GAAG;YACpB,MAAM,EAAE,CAAC,EAAC,CAAC,EAAE,GAAG,EAAC,CAAC;YAClB,QAAQ,EAAE;gBACR,OAAO,EAAE,oCAAoC;gBAC7C,OAAO,EAAE,CAAC,EAAE,CAAC;aACd;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;aAC7D;SACF,CAAC;QAEF,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,YAAY,GAAG,GAAa,EAAE,CAAC,CAAC;YACpC,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP;oBACE;wBACE,IAAI,EAAE,GAAG;wBACT,OAAO,EAAE,GAAG;wBACZ,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;oBACD;wBACE,IAAI,EAAE,GAAG;wBACT,OAAO,EAAE,GAAG;wBACZ,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;iBACF;aACF;SACF,CAAC,CAAC;QACH,IAAI,CAAC;YACH,SAAS,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;YAC/D,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC5D,IAAI,CAAC;YACH,SAAS,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;YAC9D,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAChE,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,CAAC;YAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/C,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,SAAS,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACvC,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,CAAC;YAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,SAAS,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC;QACT,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACvB;yEACiE,CAClE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC7C,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,CAAC;YAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC/C,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,SAAS,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC;QACT,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACvB;yEACiE,CAClE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;QACpE,MAAM,YAAY,GAAG,GAAa,EAAE,CAAC,CAAC;YACpC,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP;oBACE;wBACE,IAAI,EAAE,GAAG;wBACT,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,GAAG;wBACZ,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;oBACD;wBACE,IAAI,EAAE,GAAG;wBACT,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,GAAG;wBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;iBACF;aACF;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,SAAS,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;YAC/D,IAAI,EAAE,CAAC;QACT,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACvB;yDACiD,CAClD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;QACpE,MAAM,YAAY,GAAG,GAAa,EAAE,CAAC,CAAC;YACpC,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP;oBACE;wBACE,IAAI,EAAE,GAAG;wBACT,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,GAAG;wBACZ,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;oBACD;wBACE,IAAI,EAAE,GAAG;wBACT,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,GAAG;wBACZ,QAAQ,EAAE,YAAY;wBACtB,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;iBACF;aACF;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,SAAS,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;YAC/D,IAAI,EAAE,CAAC;QACT,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACvB;yDACiD,CAClD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,MAAM,OAAO,GAAY;QACvB,MAAM,EAAE;YACN,GAAG,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YACnB,EAAE,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YAClB,SAAS,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;oBACxB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;iBACZ;aACF;SACF;QACD,OAAO,EAAE;YACP,GAAG,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YACnB,EAAE,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YAClB,SAAS,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;oBACxB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;iBACZ;aACF;SACF;KACF,CAAC;IACF,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACxD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC/B,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;YACtB,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;QAC1D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC/B,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;YACtB,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QACjD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC/B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvC,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACnD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC/B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC;YACxC,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACnE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC/B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC;YACrC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC;YACxC,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACpC,IAAI,EAAE,CAAC;QACT,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACvB,mEAAmE,CACpE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACrE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC/B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC;YACrC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;YACtC,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACpC,IAAI,EAAE,CAAC;QACT,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACvB,yEAAyE,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,cAAc,GAAQ;YAC1B,OAAO,EAAE;gBACP;oBACE,MAAM,EAAE;wBACN,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,SAAS;wBAClB,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE;4BACR,CAAC,EAAE,CAAC;4BACJ,CAAC,EAAE,CAAC;yBACL;qBACF;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,SAAS;wBAClB,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE;4BACR,CAAC,EAAE,CAAC;4BACJ,CAAC,EAAE,CAAC;yBACL;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE;wBACN,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,SAAS;wBAClB,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE;4BACR,CAAC,EAAE,CAAC;4BACJ,CAAC,EAAE,CAAC;yBACL;qBACF;iBACF;aACF;SACF,CAAC;QAEF,eAAe,CAAC,cAAc,CAAC,CAAC;QAEhC,MAAM,uBAAuB,GAAoB;YAC/C;gBACE;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,SAAS;oBAClB,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE;wBACR,CAAC,EAAE,CAAC;wBACJ,CAAC,EAAE,CAAC;qBACL;iBACF;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,SAAS;oBAClB,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE;wBACR,CAAC,EAAE,CAAC;wBACJ,CAAC,EAAE,CAAC;qBACL;iBACF;aACF;YACD;gBACE;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,SAAS;oBAClB,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE;wBACR,CAAC,EAAE,CAAC;wBACJ,CAAC,EAAE,CAAC;qBACL;iBACF;aACF;SACF,CAAC;QAEF,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,aAAa,GAAQ;YACzB,OAAO,EAAE;gBACP;oBACE;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,SAAS;wBAClB,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE;4BACR,CAAC,EAAE,CAAC;4BACJ,CAAC,EAAE,CAAC;yBACL;qBACF;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,SAAS;wBAClB,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE;4BACR,CAAC,EAAE,CAAC;4BACJ,CAAC,EAAE,CAAC;yBACL;qBACF;iBACF;gBACD;oBACE;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,SAAS;wBAClB,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE;4BACR,CAAC,EAAE,CAAC;4BACJ,CAAC,EAAE,CAAC;yBACL;qBACF;iBACF;aACF;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QAEzD,eAAe,CAAC,aAAa,CAAC,CAAC;QAE/B,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}