@paca-ai/paca-mcp 0.1.0-rc.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 (97) hide show
  1. package/api/client.d.ts +53 -0
  2. package/api/client.d.ts.map +1 -0
  3. package/api/client.js +267 -0
  4. package/api/client.js.map +1 -0
  5. package/api/doc-client.d.ts +26 -0
  6. package/api/doc-client.d.ts.map +1 -0
  7. package/api/doc-client.js +109 -0
  8. package/api/doc-client.js.map +1 -0
  9. package/api/extended-client.d.ts +44 -0
  10. package/api/extended-client.d.ts.map +1 -0
  11. package/api/extended-client.js +167 -0
  12. package/api/extended-client.js.map +1 -0
  13. package/api/github-client.d.ts +21 -0
  14. package/api/github-client.d.ts.map +1 -0
  15. package/api/github-client.js +87 -0
  16. package/api/github-client.js.map +1 -0
  17. package/api/index.d.ts +7 -0
  18. package/api/index.d.ts.map +1 -0
  19. package/api/index.js +7 -0
  20. package/api/index.js.map +1 -0
  21. package/api/task-extended-client.d.ts +28 -0
  22. package/api/task-extended-client.d.ts.map +1 -0
  23. package/api/task-extended-client.js +123 -0
  24. package/api/task-extended-client.js.map +1 -0
  25. package/api/views-client.d.ts +36 -0
  26. package/api/views-client.d.ts.map +1 -0
  27. package/api/views-client.js +157 -0
  28. package/api/views-client.js.map +1 -0
  29. package/index.d.ts +3 -0
  30. package/index.d.ts.map +1 -0
  31. package/index.js +41 -0
  32. package/index.js.map +1 -0
  33. package/package.json +40 -0
  34. package/server.d.ts +9 -0
  35. package/server.d.ts.map +1 -0
  36. package/server.js +46 -0
  37. package/server.js.map +1 -0
  38. package/tools/attachment-tools.d.ts +15 -0
  39. package/tools/attachment-tools.d.ts.map +1 -0
  40. package/tools/attachment-tools.js +402 -0
  41. package/tools/attachment-tools.js.map +1 -0
  42. package/tools/doc-github-tools.d.ts +15 -0
  43. package/tools/doc-github-tools.d.ts.map +1 -0
  44. package/tools/doc-github-tools.js +520 -0
  45. package/tools/doc-github-tools.js.map +1 -0
  46. package/tools/document-tools.d.ts +16 -0
  47. package/tools/document-tools.d.ts.map +1 -0
  48. package/tools/document-tools.js +224 -0
  49. package/tools/document-tools.js.map +1 -0
  50. package/tools/index.d.ts +19 -0
  51. package/tools/index.d.ts.map +1 -0
  52. package/tools/index.js +171 -0
  53. package/tools/index.js.map +1 -0
  54. package/tools/member-tools.d.ts +15 -0
  55. package/tools/member-tools.d.ts.map +1 -0
  56. package/tools/member-tools.js +391 -0
  57. package/tools/member-tools.js.map +1 -0
  58. package/tools/project-tools.d.ts +16 -0
  59. package/tools/project-tools.d.ts.map +1 -0
  60. package/tools/project-tools.js +178 -0
  61. package/tools/project-tools.js.map +1 -0
  62. package/tools/sprint-tools.d.ts +16 -0
  63. package/tools/sprint-tools.d.ts.map +1 -0
  64. package/tools/sprint-tools.js +258 -0
  65. package/tools/sprint-tools.js.map +1 -0
  66. package/tools/task-activity-tools.d.ts +15 -0
  67. package/tools/task-activity-tools.d.ts.map +1 -0
  68. package/tools/task-activity-tools.js +425 -0
  69. package/tools/task-activity-tools.js.map +1 -0
  70. package/tools/task-tools.d.ts +16 -0
  71. package/tools/task-tools.d.ts.map +1 -0
  72. package/tools/task-tools.js +344 -0
  73. package/tools/task-tools.js.map +1 -0
  74. package/tools/task-type-tools.d.ts +12 -0
  75. package/tools/task-type-tools.d.ts.map +1 -0
  76. package/tools/task-type-tools.js +459 -0
  77. package/tools/task-type-tools.js.map +1 -0
  78. package/tools/view-tools.d.ts +15 -0
  79. package/tools/view-tools.d.ts.map +1 -0
  80. package/tools/view-tools.js +660 -0
  81. package/tools/view-tools.js.map +1 -0
  82. package/types/index.d.ts +564 -0
  83. package/types/index.d.ts.map +1 -0
  84. package/types/index.js +2 -0
  85. package/types/index.js.map +1 -0
  86. package/utils/converters.d.ts +13 -0
  87. package/utils/converters.d.ts.map +1 -0
  88. package/utils/converters.js +50 -0
  89. package/utils/converters.js.map +1 -0
  90. package/utils/formatters.d.ts +34 -0
  91. package/utils/formatters.d.ts.map +1 -0
  92. package/utils/formatters.js +87 -0
  93. package/utils/formatters.js.map +1 -0
  94. package/utils/index.d.ts +3 -0
  95. package/utils/index.d.ts.map +1 -0
  96. package/utils/index.js +3 -0
  97. package/utils/index.js.map +1 -0
@@ -0,0 +1,660 @@
1
+ import { z } from "zod";
2
+ import { formatList } from "../utils/index.js";
3
+ const ListViewsSchema = z.object({
4
+ projectId: z.string(),
5
+ });
6
+ const CreateViewSchema = z.object({
7
+ projectId: z.string(),
8
+ name: z.string(),
9
+ context: z.string(),
10
+ viewType: z.string(),
11
+ sprintId: z.string().optional(),
12
+ });
13
+ const ReorderViewsSchema = z.object({
14
+ projectId: z.string(),
15
+ viewIds: z.array(z.string()),
16
+ });
17
+ const GetViewSchema = z.object({
18
+ projectId: z.string(),
19
+ viewId: z.string(),
20
+ });
21
+ const UpdateViewSchema = z.object({
22
+ projectId: z.string(),
23
+ viewId: z.string(),
24
+ name: z.string().optional(),
25
+ context: z.string().optional(),
26
+ viewType: z.string().optional(),
27
+ sprintId: z.string().optional(),
28
+ });
29
+ const DeleteViewSchema = z.object({
30
+ projectId: z.string(),
31
+ viewId: z.string(),
32
+ });
33
+ const ListTaskPositionsSchema = z.object({
34
+ projectId: z.string(),
35
+ viewId: z.string(),
36
+ });
37
+ const BulkMoveTasksSchema = z.object({
38
+ projectId: z.string(),
39
+ viewId: z.string(),
40
+ taskId: z.string(),
41
+ targetViewId: z.string(),
42
+ targetStatusId: z.string().nullable().optional(),
43
+ targetPosition: z.number().optional(),
44
+ });
45
+ const MoveTaskSchema = z.object({
46
+ projectId: z.string(),
47
+ viewId: z.string(),
48
+ taskId: z.string(),
49
+ targetViewId: z.string(),
50
+ targetStatusId: z.string().nullable().optional(),
51
+ targetPosition: z.number().optional(),
52
+ });
53
+ const ListCustomFieldsSchema = z.object({
54
+ projectId: z.string(),
55
+ });
56
+ const CreateCustomFieldSchema = z.object({
57
+ projectId: z.string(),
58
+ fieldKey: z.string(),
59
+ displayName: z.string(),
60
+ fieldType: z.string(),
61
+ options: z.array(z.string()).optional(),
62
+ isRequired: z.boolean().optional(),
63
+ });
64
+ const GetCustomFieldSchema = z.object({
65
+ projectId: z.string(),
66
+ fieldId: z.string(),
67
+ });
68
+ const UpdateCustomFieldSchema = z.object({
69
+ projectId: z.string(),
70
+ fieldId: z.string(),
71
+ displayName: z.string().optional(),
72
+ fieldType: z.string().optional(),
73
+ options: z.array(z.string()).optional(),
74
+ isRequired: z.boolean().optional(),
75
+ });
76
+ const DeleteCustomFieldSchema = z.object({
77
+ projectId: z.string(),
78
+ fieldId: z.string(),
79
+ });
80
+ /**
81
+ * Returns all view-related MCP tools.
82
+ */
83
+ export function getViewTools() {
84
+ return [
85
+ {
86
+ name: "list_views",
87
+ description: "List all views in a project",
88
+ inputSchema: {
89
+ type: "object",
90
+ properties: {
91
+ projectId: {
92
+ type: "string",
93
+ description: "The ID of the project",
94
+ },
95
+ },
96
+ required: ["projectId"],
97
+ },
98
+ },
99
+ {
100
+ name: "create_view",
101
+ description: "Create a new view",
102
+ inputSchema: {
103
+ type: "object",
104
+ properties: {
105
+ projectId: {
106
+ type: "string",
107
+ description: "The ID of the project",
108
+ },
109
+ name: {
110
+ type: "string",
111
+ description: "The name of the view",
112
+ },
113
+ context: {
114
+ type: "string",
115
+ description: "The context (sprint, backlog, timeline)",
116
+ },
117
+ viewType: {
118
+ type: "string",
119
+ description: "The type of view (table, board, roadmap)",
120
+ },
121
+ sprintId: {
122
+ type: "string",
123
+ description: "The sprint ID (required for sprint context)",
124
+ },
125
+ },
126
+ required: ["projectId", "name", "context", "viewType"],
127
+ },
128
+ },
129
+ {
130
+ name: "reorder_views",
131
+ description: "Reorder views in a project",
132
+ inputSchema: {
133
+ type: "object",
134
+ properties: {
135
+ projectId: {
136
+ type: "string",
137
+ description: "The ID of the project",
138
+ },
139
+ viewIds: {
140
+ type: "array",
141
+ items: { type: "string" },
142
+ description: "Array of view IDs in new order",
143
+ },
144
+ },
145
+ required: ["projectId", "viewIds"],
146
+ },
147
+ },
148
+ {
149
+ name: "get_view",
150
+ description: "Get details of a specific view",
151
+ inputSchema: {
152
+ type: "object",
153
+ properties: {
154
+ projectId: {
155
+ type: "string",
156
+ description: "The ID of the project",
157
+ },
158
+ viewId: {
159
+ type: "string",
160
+ description: "The ID of the view",
161
+ },
162
+ },
163
+ required: ["projectId", "viewId"],
164
+ },
165
+ },
166
+ {
167
+ name: "update_view",
168
+ description: "Update an existing view",
169
+ inputSchema: {
170
+ type: "object",
171
+ properties: {
172
+ projectId: {
173
+ type: "string",
174
+ description: "The ID of the project",
175
+ },
176
+ viewId: {
177
+ type: "string",
178
+ description: "The ID of the view",
179
+ },
180
+ name: {
181
+ type: "string",
182
+ description: "The new name",
183
+ },
184
+ context: {
185
+ type: "string",
186
+ description: "The new context",
187
+ },
188
+ viewType: {
189
+ type: "string",
190
+ description: "The type of view (table, board, roadmap)",
191
+ },
192
+ sprintId: {
193
+ type: "string",
194
+ description: "The new sprint ID",
195
+ },
196
+ },
197
+ required: ["projectId", "viewId"],
198
+ },
199
+ },
200
+ {
201
+ name: "delete_view",
202
+ description: "Delete a view",
203
+ inputSchema: {
204
+ type: "object",
205
+ properties: {
206
+ projectId: {
207
+ type: "string",
208
+ description: "The ID of the project",
209
+ },
210
+ viewId: {
211
+ type: "string",
212
+ description: "The ID of the view",
213
+ },
214
+ },
215
+ required: ["projectId", "viewId"],
216
+ },
217
+ },
218
+ {
219
+ name: "list_task_positions",
220
+ description: "List task positions in a view",
221
+ inputSchema: {
222
+ type: "object",
223
+ properties: {
224
+ projectId: {
225
+ type: "string",
226
+ description: "The ID of the project",
227
+ },
228
+ viewId: {
229
+ type: "string",
230
+ description: "The ID of the view",
231
+ },
232
+ },
233
+ required: ["projectId", "viewId"],
234
+ },
235
+ },
236
+ {
237
+ name: "bulk_move_tasks",
238
+ description: "Bulk move tasks in a view",
239
+ inputSchema: {
240
+ type: "object",
241
+ properties: {
242
+ projectId: {
243
+ type: "string",
244
+ description: "The ID of the project",
245
+ },
246
+ viewId: {
247
+ type: "string",
248
+ description: "The ID of the view",
249
+ },
250
+ taskId: {
251
+ type: "string",
252
+ description: "The ID of the task to move",
253
+ },
254
+ targetViewId: {
255
+ type: "string",
256
+ description: "The target view ID",
257
+ },
258
+ targetStatusId: {
259
+ type: "string",
260
+ description: "The target status ID",
261
+ },
262
+ targetPosition: {
263
+ type: "number",
264
+ description: "The target position",
265
+ },
266
+ },
267
+ required: ["projectId", "viewId", "taskId", "targetViewId"],
268
+ },
269
+ },
270
+ {
271
+ name: "move_task",
272
+ description: "Move a task within a view",
273
+ inputSchema: {
274
+ type: "object",
275
+ properties: {
276
+ projectId: {
277
+ type: "string",
278
+ description: "The ID of the project",
279
+ },
280
+ viewId: {
281
+ type: "string",
282
+ description: "The ID of the view",
283
+ },
284
+ taskId: {
285
+ type: "string",
286
+ description: "The ID of the task",
287
+ },
288
+ targetViewId: {
289
+ type: "string",
290
+ description: "The target view ID",
291
+ },
292
+ targetStatusId: {
293
+ type: "string",
294
+ description: "The target status ID",
295
+ },
296
+ targetPosition: {
297
+ type: "number",
298
+ description: "The target position",
299
+ },
300
+ },
301
+ required: ["projectId", "viewId", "taskId", "targetViewId"],
302
+ },
303
+ },
304
+ ];
305
+ }
306
+ /**
307
+ * Returns all custom field related MCP tools.
308
+ */
309
+ export function getCustomFieldTools() {
310
+ return [
311
+ {
312
+ name: "list_custom_fields",
313
+ description: "List all custom field definitions in a project",
314
+ inputSchema: {
315
+ type: "object",
316
+ properties: {
317
+ projectId: {
318
+ type: "string",
319
+ description: "The ID of the project",
320
+ },
321
+ },
322
+ required: ["projectId"],
323
+ },
324
+ },
325
+ {
326
+ name: "create_custom_field",
327
+ description: "Create a new custom field definition",
328
+ inputSchema: {
329
+ type: "object",
330
+ properties: {
331
+ projectId: {
332
+ type: "string",
333
+ description: "The ID of the project",
334
+ },
335
+ fieldKey: {
336
+ type: "string",
337
+ description: "The field key",
338
+ },
339
+ displayName: {
340
+ type: "string",
341
+ description: "The display name",
342
+ },
343
+ fieldType: {
344
+ type: "string",
345
+ description: "The field type (text, number, date, select, multi_select, boolean, url)",
346
+ },
347
+ options: {
348
+ type: "array",
349
+ items: { type: "string" },
350
+ description: "Options for select/multi_select types",
351
+ },
352
+ isRequired: {
353
+ type: "boolean",
354
+ description: "Whether the field is required",
355
+ },
356
+ },
357
+ required: ["projectId", "fieldKey", "displayName", "fieldType"],
358
+ },
359
+ },
360
+ {
361
+ name: "get_custom_field",
362
+ description: "Get details of a custom field definition",
363
+ inputSchema: {
364
+ type: "object",
365
+ properties: {
366
+ projectId: {
367
+ type: "string",
368
+ description: "The ID of the project",
369
+ },
370
+ fieldId: {
371
+ type: "string",
372
+ description: "The ID of the field",
373
+ },
374
+ },
375
+ required: ["projectId", "fieldId"],
376
+ },
377
+ },
378
+ {
379
+ name: "update_custom_field",
380
+ description: "Update a custom field definition",
381
+ inputSchema: {
382
+ type: "object",
383
+ properties: {
384
+ projectId: {
385
+ type: "string",
386
+ description: "The ID of the project",
387
+ },
388
+ fieldId: {
389
+ type: "string",
390
+ description: "The ID of the field",
391
+ },
392
+ displayName: {
393
+ type: "string",
394
+ description: "The new display name",
395
+ },
396
+ fieldType: {
397
+ type: "string",
398
+ description: "The new field type",
399
+ },
400
+ options: {
401
+ type: "array",
402
+ items: { type: "string" },
403
+ description: "New options",
404
+ },
405
+ isRequired: {
406
+ type: "boolean",
407
+ description: "Whether the field is required",
408
+ },
409
+ },
410
+ required: ["projectId", "fieldId"],
411
+ },
412
+ },
413
+ {
414
+ name: "delete_custom_field",
415
+ description: "Delete a custom field definition",
416
+ inputSchema: {
417
+ type: "object",
418
+ properties: {
419
+ projectId: {
420
+ type: "string",
421
+ description: "The ID of the project",
422
+ },
423
+ fieldId: {
424
+ type: "string",
425
+ description: "The ID of the field",
426
+ },
427
+ },
428
+ required: ["projectId", "fieldId"],
429
+ },
430
+ },
431
+ ];
432
+ }
433
+ function formatView(view) {
434
+ return `View: ${view.name}
435
+ ID: ${view.id}
436
+ Context: ${view.context}
437
+ Sprint ID: ${view.sprint_id || "None"}
438
+ Position: ${view.position}
439
+ Created: ${view.created_at}`;
440
+ }
441
+ function formatCustomField(field) {
442
+ return `Custom Field: ${field.display_name}
443
+ ID: ${field.id}
444
+ Key: ${field.field_key}
445
+ Type: ${field.field_type}
446
+ Options: ${field.options.length > 0 ? field.options.join(", ") : "None"}
447
+ Required: ${field.is_required}
448
+ Created: ${field.created_at}`;
449
+ }
450
+ /**
451
+ * Handles view and custom field tool calls.
452
+ */
453
+ export async function handleViewTool(toolName, args, client) {
454
+ switch (toolName) {
455
+ case "list_views": {
456
+ const { projectId } = ListViewsSchema.parse(args);
457
+ const views = await client.listViews(projectId);
458
+ const formatted = formatList(views, formatView);
459
+ return {
460
+ content: [
461
+ {
462
+ type: "text",
463
+ text: `Views:\n\n${formatted}`,
464
+ },
465
+ ],
466
+ };
467
+ }
468
+ case "create_view": {
469
+ const { projectId, name, context, viewType, sprintId } = CreateViewSchema.parse(args);
470
+ const view = await client.createView(projectId, {
471
+ name,
472
+ context,
473
+ view_type: viewType,
474
+ sprint_id: sprintId ?? null,
475
+ });
476
+ return {
477
+ content: [
478
+ {
479
+ type: "text",
480
+ text: `View created successfully:\n\n${formatView(view)}`,
481
+ },
482
+ ],
483
+ };
484
+ }
485
+ case "reorder_views": {
486
+ const { projectId, viewIds } = ReorderViewsSchema.parse(args);
487
+ await client.reorderViews(projectId, { view_ids: viewIds });
488
+ return {
489
+ content: [
490
+ {
491
+ type: "text",
492
+ text: `Views reordered successfully`,
493
+ },
494
+ ],
495
+ };
496
+ }
497
+ case "get_view": {
498
+ const { projectId, viewId } = GetViewSchema.parse(args);
499
+ const view = await client.getView(projectId, viewId);
500
+ return {
501
+ content: [
502
+ {
503
+ type: "text",
504
+ text: formatView(view),
505
+ },
506
+ ],
507
+ };
508
+ }
509
+ case "update_view": {
510
+ const { projectId, viewId, name, context, viewType, sprintId } = UpdateViewSchema.parse(args);
511
+ const view = await client.updateView(projectId, viewId, {
512
+ name,
513
+ context,
514
+ view_type: viewType,
515
+ sprint_id: sprintId ?? null,
516
+ });
517
+ return {
518
+ content: [
519
+ {
520
+ type: "text",
521
+ text: `View updated successfully:\n\n${formatView(view)}`,
522
+ },
523
+ ],
524
+ };
525
+ }
526
+ case "delete_view": {
527
+ const { projectId, viewId } = DeleteViewSchema.parse(args);
528
+ await client.deleteView(projectId, viewId);
529
+ return {
530
+ content: [
531
+ {
532
+ type: "text",
533
+ text: `View ${viewId} deleted successfully`,
534
+ },
535
+ ],
536
+ };
537
+ }
538
+ case "list_task_positions": {
539
+ const { projectId, viewId } = ListTaskPositionsSchema.parse(args);
540
+ const positions = await client.listTaskPositions(projectId, viewId);
541
+ return {
542
+ content: [
543
+ {
544
+ type: "text",
545
+ text: `Task Positions:\n\n${JSON.stringify(positions, null, 2)}`,
546
+ },
547
+ ],
548
+ };
549
+ }
550
+ case "bulk_move_tasks": {
551
+ const { projectId, viewId, taskId, targetViewId, targetStatusId, targetPosition, } = BulkMoveTasksSchema.parse(args);
552
+ await client.bulkMoveTasks(projectId, viewId, {
553
+ task_id: taskId,
554
+ target_view_id: targetViewId,
555
+ target_status_id: targetStatusId ?? null,
556
+ target_position: targetPosition,
557
+ });
558
+ return {
559
+ content: [
560
+ {
561
+ type: "text",
562
+ text: `Tasks moved successfully`,
563
+ },
564
+ ],
565
+ };
566
+ }
567
+ case "move_task": {
568
+ const { projectId, viewId, taskId, targetViewId, targetStatusId, targetPosition, } = MoveTaskSchema.parse(args);
569
+ await client.bulkMoveTasks(projectId, viewId, {
570
+ task_id: taskId,
571
+ target_view_id: targetViewId,
572
+ target_status_id: targetStatusId ?? null,
573
+ target_position: targetPosition,
574
+ });
575
+ return {
576
+ content: [
577
+ {
578
+ type: "text",
579
+ text: `Task moved successfully`,
580
+ },
581
+ ],
582
+ };
583
+ }
584
+ case "list_custom_fields": {
585
+ const { projectId } = ListCustomFieldsSchema.parse(args);
586
+ const fields = await client.listCustomFieldDefinitions(projectId);
587
+ const formatted = formatList(fields, formatCustomField);
588
+ return {
589
+ content: [
590
+ {
591
+ type: "text",
592
+ text: `Custom Fields:\n\n${formatted}`,
593
+ },
594
+ ],
595
+ };
596
+ }
597
+ case "create_custom_field": {
598
+ const { projectId, fieldKey, displayName, fieldType, options, isRequired, } = CreateCustomFieldSchema.parse(args);
599
+ const field = await client.createCustomFieldDefinition(projectId, {
600
+ field_key: fieldKey,
601
+ display_name: displayName,
602
+ field_type: fieldType,
603
+ options,
604
+ is_required: isRequired,
605
+ });
606
+ return {
607
+ content: [
608
+ {
609
+ type: "text",
610
+ text: `Custom field created successfully:\n\n${formatCustomField(field)}`,
611
+ },
612
+ ],
613
+ };
614
+ }
615
+ case "get_custom_field": {
616
+ const { projectId, fieldId } = GetCustomFieldSchema.parse(args);
617
+ const field = await client.getCustomFieldDefinition(projectId, fieldId);
618
+ return {
619
+ content: [
620
+ {
621
+ type: "text",
622
+ text: formatCustomField(field),
623
+ },
624
+ ],
625
+ };
626
+ }
627
+ case "update_custom_field": {
628
+ const { projectId, fieldId, displayName, fieldType, options, isRequired, } = UpdateCustomFieldSchema.parse(args);
629
+ const field = await client.updateCustomFieldDefinition(projectId, fieldId, {
630
+ display_name: displayName,
631
+ field_type: fieldType,
632
+ options,
633
+ is_required: isRequired,
634
+ });
635
+ return {
636
+ content: [
637
+ {
638
+ type: "text",
639
+ text: `Custom field updated successfully:\n\n${formatCustomField(field)}`,
640
+ },
641
+ ],
642
+ };
643
+ }
644
+ case "delete_custom_field": {
645
+ const { projectId, fieldId } = DeleteCustomFieldSchema.parse(args);
646
+ await client.deleteCustomFieldDefinition(projectId, fieldId);
647
+ return {
648
+ content: [
649
+ {
650
+ type: "text",
651
+ text: `Custom field ${fieldId} deleted successfully`,
652
+ },
653
+ ],
654
+ };
655
+ }
656
+ default:
657
+ throw new Error(`Unknown view/custom field tool: ${toolName}`);
658
+ }
659
+ }
660
+ //# sourceMappingURL=view-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-tools.js","sourceRoot":"","sources":["../../src/tools/view-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,YAAY;IAC3B,OAAO;QACN;YACC,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,6BAA6B;YAC1C,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB;qBACpC;iBACD;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACvB;SACD;QACD;YACC,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,mBAAmB;YAChC,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB;qBACpC;oBACD,IAAI,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sBAAsB;qBACnC;oBACD,OAAO,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,yCAAyC;qBACtD;oBACD,QAAQ,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,0CAA0C;qBACvD;oBACD,QAAQ,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,6CAA6C;qBAC1D;iBACD;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC;aACtD;SACD;QACD;YACC,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,4BAA4B;YACzC,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB;qBACpC;oBACD,OAAO,EAAE;wBACR,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,gCAAgC;qBAC7C;iBACD;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;aAClC;SACD;QACD;YACC,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,gCAAgC;YAC7C,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB;qBACpC;oBACD,MAAM,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oBAAoB;qBACjC;iBACD;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;aACjC;SACD;QACD;YACC,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,yBAAyB;YACtC,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB;qBACpC;oBACD,MAAM,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oBAAoB;qBACjC;oBACD,IAAI,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,cAAc;qBAC3B;oBACD,OAAO,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,iBAAiB;qBAC9B;oBACD,QAAQ,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,0CAA0C;qBACvD;oBACD,QAAQ,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mBAAmB;qBAChC;iBACD;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;aACjC;SACD;QACD;YACC,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB;qBACpC;oBACD,MAAM,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oBAAoB;qBACjC;iBACD;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;aACjC;SACD;QACD;YACC,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,+BAA+B;YAC5C,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB;qBACpC;oBACD,MAAM,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oBAAoB;qBACjC;iBACD;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;aACjC;SACD;QACD;YACC,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,2BAA2B;YACxC,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB;qBACpC;oBACD,MAAM,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oBAAoB;qBACjC;oBACD,MAAM,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4BAA4B;qBACzC;oBACD,YAAY,EAAE;wBACb,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oBAAoB;qBACjC;oBACD,cAAc,EAAE;wBACf,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sBAAsB;qBACnC;oBACD,cAAc,EAAE;wBACf,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qBAAqB;qBAClC;iBACD;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC;aAC3D;SACD;QACD;YACC,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,2BAA2B;YACxC,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB;qBACpC;oBACD,MAAM,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oBAAoB;qBACjC;oBACD,MAAM,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oBAAoB;qBACjC;oBACD,YAAY,EAAE;wBACb,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oBAAoB;qBACjC;oBACD,cAAc,EAAE;wBACf,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sBAAsB;qBACnC;oBACD,cAAc,EAAE;wBACf,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qBAAqB;qBAClC;iBACD;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC;aAC3D;SACD;KACD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IAClC,OAAO;QACN;YACC,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,gDAAgD;YAC7D,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB;qBACpC;iBACD;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACvB;SACD;QACD;YACC,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,sCAAsC;YACnD,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB;qBACpC;oBACD,QAAQ,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,eAAe;qBAC5B;oBACD,WAAW,EAAE;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kBAAkB;qBAC/B;oBACD,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EACV,yEAAyE;qBAC1E;oBACD,OAAO,EAAE;wBACR,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,uCAAuC;qBACpD;oBACD,UAAU,EAAE;wBACX,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,+BAA+B;qBAC5C;iBACD;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC;aAC/D;SACD;QACD;YACC,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,0CAA0C;YACvD,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB;qBACpC;oBACD,OAAO,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qBAAqB;qBAClC;iBACD;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;aAClC;SACD;QACD;YACC,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,kCAAkC;YAC/C,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB;qBACpC;oBACD,OAAO,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qBAAqB;qBAClC;oBACD,WAAW,EAAE;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sBAAsB;qBACnC;oBACD,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oBAAoB;qBACjC;oBACD,OAAO,EAAE;wBACR,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,aAAa;qBAC1B;oBACD,UAAU,EAAE;wBACX,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,+BAA+B;qBAC5C;iBACD;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;aAClC;SACD;QACD;YACC,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,kCAAkC;YAC/C,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB;qBACpC;oBACD,OAAO,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qBAAqB;qBAClC;iBACD;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;aAClC;SACD;KACD,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAS;IAC5B,OAAO,SAAS,IAAI,CAAC,IAAI;MACpB,IAAI,CAAC,EAAE;WACF,IAAI,CAAC,OAAO;aACV,IAAI,CAAC,SAAS,IAAI,MAAM;YACzB,IAAI,CAAC,QAAQ;WACd,IAAI,CAAC,UAAU,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAU;IACpC,OAAO,iBAAiB,KAAK,CAAC,YAAY;MACrC,KAAK,CAAC,EAAE;OACP,KAAK,CAAC,SAAS;QACd,KAAK,CAAC,UAAU;WACb,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;YAC3D,KAAK,CAAC,WAAW;WAClB,KAAK,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,QAAgB,EAChB,IAAS,EACT,MAA0B;IAE1B,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,YAAY,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAChD,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,aAAa,SAAS,EAAE;qBAC9B;iBACD;aACD,CAAC;QACH,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GACrD,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE;gBAC/C,IAAI;gBACJ,OAAO;gBACP,SAAS,EAAE,QAAe;gBAC1B,SAAS,EAAE,QAAQ,IAAI,IAAI;aAC3B,CAAC,CAAC;YACH,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iCAAiC,UAAU,CAAC,IAAI,CAAC,EAAE;qBACzD;iBACD;aACD,CAAC;QACH,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACtB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5D,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,8BAA8B;qBACpC;iBACD;aACD,CAAC;QACH,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YACjB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACrD,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;qBACtB;iBACD;aACD,CAAC;QACH,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAC7D,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE;gBACvD,IAAI;gBACJ,OAAO;gBACP,SAAS,EAAE,QAAe;gBAC1B,SAAS,EAAE,QAAQ,IAAI,IAAI;aAC3B,CAAC,CAAC;YACH,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iCAAiC,UAAU,CAAC,IAAI,CAAC,EAAE;qBACzD;iBACD;aACD,CAAC;QACH,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC3C,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ,MAAM,uBAAuB;qBAC3C;iBACD;aACD,CAAC;QACH,CAAC;QAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC5B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACpE,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,sBAAsB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBAChE;iBACD;aACD,CAAC;QACH,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACxB,MAAM,EACL,SAAS,EACT,MAAM,EACN,MAAM,EACN,YAAY,EACZ,cAAc,EACd,cAAc,GACd,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE;gBAC7C,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,YAAY;gBAC5B,gBAAgB,EAAE,cAAc,IAAI,IAAI;gBACxC,eAAe,EAAE,cAAc;aAC/B,CAAC,CAAC;YACH,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0BAA0B;qBAChC;iBACD;aACD,CAAC;QACH,CAAC;QAED,KAAK,WAAW,CAAC,CAAC,CAAC;YAClB,MAAM,EACL,SAAS,EACT,MAAM,EACN,MAAM,EACN,YAAY,EACZ,cAAc,EACd,cAAc,GACd,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE;gBAC7C,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,YAAY;gBAC5B,gBAAgB,EAAE,cAAc,IAAI,IAAI;gBACxC,eAAe,EAAE,cAAc;aAC/B,CAAC,CAAC;YACH,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yBAAyB;qBAC/B;iBACD;aACD,CAAC;QACH,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YACxD,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,qBAAqB,SAAS,EAAE;qBACtC;iBACD;aACD,CAAC;QACH,CAAC;QAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC5B,MAAM,EACL,SAAS,EACT,QAAQ,EACR,WAAW,EACX,SAAS,EACT,OAAO,EACP,UAAU,GACV,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,SAAS,EAAE;gBACjE,SAAS,EAAE,QAAQ;gBACnB,YAAY,EAAE,WAAW;gBACzB,UAAU,EAAE,SAAgB;gBAC5B,OAAO;gBACP,WAAW,EAAE,UAAU;aACvB,CAAC,CAAC;YACH,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yCAAyC,iBAAiB,CAAC,KAAK,CAAC,EAAE;qBACzE;iBACD;aACD,CAAC;QACH,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACzB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChE,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxE,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;qBAC9B;iBACD;aACD,CAAC;QACH,CAAC;QAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC5B,MAAM,EACL,SAAS,EACT,OAAO,EACP,WAAW,EACX,SAAS,EACT,OAAO,EACP,UAAU,GACV,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,2BAA2B,CACrD,SAAS,EACT,OAAO,EACP;gBACC,YAAY,EAAE,WAAW;gBACzB,UAAU,EAAE,SAAgB;gBAC5B,OAAO;gBACP,WAAW,EAAE,UAAU;aACvB,CACD,CAAC;YACF,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yCAAyC,iBAAiB,CAAC,KAAK,CAAC,EAAE;qBACzE;iBACD;aACD,CAAC;QACH,CAAC;QAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC5B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnE,MAAM,MAAM,CAAC,2BAA2B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC7D,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,gBAAgB,OAAO,uBAAuB;qBACpD;iBACD;aACD,CAAC;QACH,CAAC;QAED;YACC,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;IACjE,CAAC;AACF,CAAC"}