ai-dev-analytics 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +30 -12
  2. package/README.zh-CN.md +30 -12
  3. package/dist/cli/commands/build.d.ts.map +1 -1
  4. package/dist/cli/commands/build.js +3 -18
  5. package/dist/cli/commands/build.js.map +1 -1
  6. package/dist/cli/commands/import.d.ts.map +1 -1
  7. package/dist/cli/commands/import.js +45 -3
  8. package/dist/cli/commands/import.js.map +1 -1
  9. package/dist/cli/commands/init.d.ts.map +1 -1
  10. package/dist/cli/commands/init.js +18 -86
  11. package/dist/cli/commands/init.js.map +1 -1
  12. package/dist/cli/commands/log.d.ts.map +1 -1
  13. package/dist/cli/commands/log.js +4 -3
  14. package/dist/cli/commands/log.js.map +1 -1
  15. package/dist/cli/commands/memory.d.ts +2 -0
  16. package/dist/cli/commands/memory.d.ts.map +1 -0
  17. package/dist/cli/commands/memory.js +197 -0
  18. package/dist/cli/commands/memory.js.map +1 -0
  19. package/dist/cli/commands/merge.d.ts.map +1 -1
  20. package/dist/cli/commands/merge.js +2 -0
  21. package/dist/cli/commands/merge.js.map +1 -1
  22. package/dist/cli/commands/migrate-dir.d.ts +4 -0
  23. package/dist/cli/commands/migrate-dir.d.ts.map +1 -1
  24. package/dist/cli/commands/migrate-dir.js +50 -12
  25. package/dist/cli/commands/migrate-dir.js.map +1 -1
  26. package/dist/cli/commands/migrate-legacy.d.ts +2 -0
  27. package/dist/cli/commands/migrate-legacy.d.ts.map +1 -0
  28. package/dist/cli/commands/migrate-legacy.js +113 -0
  29. package/dist/cli/commands/migrate-legacy.js.map +1 -0
  30. package/dist/cli/commands/rules.d.ts.map +1 -1
  31. package/dist/cli/commands/rules.js +12 -15
  32. package/dist/cli/commands/rules.js.map +1 -1
  33. package/dist/cli/commands/skills.d.ts.map +1 -1
  34. package/dist/cli/commands/skills.js +7 -7
  35. package/dist/cli/commands/skills.js.map +1 -1
  36. package/dist/cli/commands/start.d.ts.map +1 -1
  37. package/dist/cli/commands/start.js +9 -23
  38. package/dist/cli/commands/start.js.map +1 -1
  39. package/dist/cli/commands/update.d.ts.map +1 -1
  40. package/dist/cli/commands/update.js +15 -109
  41. package/dist/cli/commands/update.js.map +1 -1
  42. package/dist/cli/index.js +12 -0
  43. package/dist/cli/index.js.map +1 -1
  44. package/dist/mcp/server.d.ts.map +1 -1
  45. package/dist/mcp/server.js +266 -3
  46. package/dist/mcp/server.js.map +1 -1
  47. package/dist/schemas/aida-project.d.ts +73 -0
  48. package/dist/schemas/aida-project.d.ts.map +1 -0
  49. package/dist/schemas/aida-project.js +2 -0
  50. package/dist/schemas/aida-project.js.map +1 -0
  51. package/dist/utils/ai-build.d.ts +7 -3
  52. package/dist/utils/ai-build.d.ts.map +1 -1
  53. package/dist/utils/ai-build.js +131 -24
  54. package/dist/utils/ai-build.js.map +1 -1
  55. package/dist/utils/guide.d.ts.map +1 -1
  56. package/dist/utils/guide.js +17 -11
  57. package/dist/utils/guide.js.map +1 -1
  58. package/dist/utils/import.d.ts +21 -8
  59. package/dist/utils/import.d.ts.map +1 -1
  60. package/dist/utils/import.js +100 -15
  61. package/dist/utils/import.js.map +1 -1
  62. package/dist/utils/memory.d.ts +49 -0
  63. package/dist/utils/memory.d.ts.map +1 -0
  64. package/dist/utils/memory.js +657 -0
  65. package/dist/utils/memory.js.map +1 -0
  66. package/dist/utils/paths.d.ts +22 -0
  67. package/dist/utils/paths.d.ts.map +1 -1
  68. package/dist/utils/paths.js +48 -1
  69. package/dist/utils/paths.js.map +1 -1
  70. package/dist/utils/prompt.d.ts +15 -0
  71. package/dist/utils/prompt.d.ts.map +1 -0
  72. package/dist/utils/prompt.js +193 -0
  73. package/dist/utils/prompt.js.map +1 -0
  74. package/dist/utils/rules.d.ts +5 -2
  75. package/dist/utils/rules.d.ts.map +1 -1
  76. package/dist/utils/rules.js +54 -48
  77. package/dist/utils/rules.js.map +1 -1
  78. package/dist/utils/skills.d.ts +6 -0
  79. package/dist/utils/skills.d.ts.map +1 -1
  80. package/dist/utils/skills.js +10 -3
  81. package/dist/utils/skills.js.map +1 -1
  82. package/package.json +1 -1
  83. package/src/assets/skills/audit.md +6 -6
  84. package/src/assets/skills/bug-fixer.md +3 -3
  85. package/src/assets/skills/code-generator.md +3 -3
  86. package/src/assets/skills/dev-flower.md +2 -2
  87. package/src/assets/skills/deviation-recorder.md +5 -5
  88. package/src/assets/skills/requirement-analyzer.md +2 -2
  89. package/src/assets/skills/rules-evolver.md +5 -5
  90. package/src/assets/skills/self-reviewer.md +3 -3
  91. package/src/assets/skills/task-splitter.md +2 -2
  92. package/src/assets/skills/workflow-orchestrator.md +9 -9
@@ -12,7 +12,9 @@ import { SEVERITY_VALUES, BUG_SOURCE_VALUES, ROOT_CAUSE_VALUES, DEVIATION_CAT_VA
12
12
  import { now, nextId, addEvent, addTimeline, saveRunData, ensureRunJson as ensureRunJsonShared, } from '../utils/run-data.js';
13
13
  import { collectClaudeTokens, collectClaudeTokensBetween } from '../utils/tokens.js';
14
14
  import { getBranchName, getDevName } from '../utils/git.js';
15
- import { addRule, buildRuleViews } from '../utils/rules.js';
15
+ import { addRule } from '../utils/rules.js';
16
+ import { buildProjectArtifacts } from '../utils/ai-build.js';
17
+ import { buildMemoryViews, loadModuleMemory, loadRunContext, loadRunMemoryPack, rebuildCurrentBranchMemory, searchModuleMemories, updateRunContext, upsertModuleMemory } from '../utils/memory.js';
16
18
  // Transport mode: auto-detected from first client message
17
19
  let useContentLength = true;
18
20
  function sendResponse(res) {
@@ -198,6 +200,109 @@ const TOOLS = [
198
200
  required: ['content', 'category'],
199
201
  },
200
202
  },
203
+ {
204
+ name: 'aida_memory_search',
205
+ description: '按模块名称、关键字或路径提示检索项目模块记忆目录。开始编码前应优先调用,用于判断是否存在可复用的模块上下文。',
206
+ inputSchema: {
207
+ type: 'object',
208
+ properties: {
209
+ query: { type: 'string', description: '要检索的模块名、需求关键词或功能名称' },
210
+ pathHints: {
211
+ type: 'array',
212
+ items: { type: 'string' },
213
+ description: '可选的路径提示,如 src/pages/profile, src/modules/order',
214
+ },
215
+ },
216
+ required: ['query'],
217
+ },
218
+ },
219
+ {
220
+ name: 'aida_memory_get',
221
+ description: '读取指定模块的长期记忆,包括摘要、关键文件、设计决策、约束和历史工单。',
222
+ inputSchema: {
223
+ type: 'object',
224
+ properties: {
225
+ moduleKey: { type: 'string', description: '模块 key,例如 profile, order-detail' },
226
+ },
227
+ required: ['moduleKey'],
228
+ },
229
+ },
230
+ {
231
+ name: 'aida_memory_upsert',
232
+ description: '更新模块记忆 JSON 真源。用于在完成一个阶段后沉淀模块职责、关键文件、决策、约束和坑点。',
233
+ inputSchema: {
234
+ type: 'object',
235
+ properties: {
236
+ moduleKey: { type: 'string', description: '模块 key,例如 profile, order-detail' },
237
+ title: { type: 'string', description: '模块标题' },
238
+ summary: { type: 'string', description: '模块摘要' },
239
+ keywords: { type: 'array', items: { type: 'string' } },
240
+ entryFiles: { type: 'array', items: { type: 'string' } },
241
+ relatedPaths: { type: 'array', items: { type: 'string' } },
242
+ dataFlow: { type: 'array', items: { type: 'string' } },
243
+ decisions: { type: 'array', items: { type: 'string' } },
244
+ constraints: { type: 'array', items: { type: 'string' } },
245
+ pitfalls: { type: 'array', items: { type: 'string' } },
246
+ relatedRules: { type: 'array', items: { type: 'string' } },
247
+ ticket: { type: 'string', description: '关联工单,如 MTR-001' },
248
+ branch: { type: 'string', description: '关联分支,默认当前分支' },
249
+ referenceSummary: { type: 'string', description: '本次工单在该模块上的简要说明' },
250
+ },
251
+ required: ['moduleKey'],
252
+ },
253
+ },
254
+ {
255
+ name: 'aida_context_get',
256
+ description: '读取当前分支或指定分支的上下文摘要,用于恢复本次需求的近期工作记忆。',
257
+ inputSchema: {
258
+ type: 'object',
259
+ properties: {
260
+ branch: { type: 'string', description: '分支名,默认当前分支' },
261
+ },
262
+ },
263
+ },
264
+ {
265
+ name: 'aida_context_update',
266
+ description: '更新当前分支上下文 JSON 真源。用于沉淀本次需求的当前阶段、已完成项、下一步、关键文件和风险。',
267
+ inputSchema: {
268
+ type: 'object',
269
+ properties: {
270
+ branch: { type: 'string', description: '分支名,默认当前分支' },
271
+ ticket: { type: 'string', description: '关联工单' },
272
+ title: { type: 'string', description: '需求标题' },
273
+ summary: { type: 'string', description: '需求摘要' },
274
+ currentPhase: { type: 'string', description: '当前阶段,例如 In Progress / Completed' },
275
+ modules: { type: 'array', items: { type: 'string' } },
276
+ completed: { type: 'array', items: { type: 'string' } },
277
+ inProgress: { type: 'array', items: { type: 'string' } },
278
+ next: { type: 'array', items: { type: 'string' } },
279
+ decisions: { type: 'array', items: { type: 'string' } },
280
+ constraints: { type: 'array', items: { type: 'string' } },
281
+ keyFiles: { type: 'array', items: { type: 'string' } },
282
+ risks: { type: 'array', items: { type: 'string' } },
283
+ },
284
+ },
285
+ },
286
+ {
287
+ name: 'aida_context_rebuild',
288
+ description: '根据当前分支已有的 run.json、requirement.json、analysis.md 自动重建上下文和模块记忆。适合换机器、长时间中断后恢复记忆。',
289
+ inputSchema: {
290
+ type: 'object',
291
+ properties: {
292
+ branch: { type: 'string', description: '分支名,默认当前分支' },
293
+ },
294
+ },
295
+ },
296
+ {
297
+ name: 'aida_memory_pack',
298
+ description: '读取当前分支的聚合记忆包,包含分支上下文和命中的模块记忆,适合在编码前一次性恢复工作记忆。',
299
+ inputSchema: {
300
+ type: 'object',
301
+ properties: {
302
+ branch: { type: 'string', description: '分支名,默认当前分支' },
303
+ },
304
+ },
305
+ },
201
306
  ];
202
307
  // ─── MCP Prompts ─────────────────────────────────────────
203
308
  const PROMPTS = [
@@ -246,8 +351,20 @@ function handleTaskStart(args) {
246
351
  addEvent(data, 'task_started', { taskId: id });
247
352
  addTimeline(data, 'task', `${id}: ${args.title}`, task.prdPhase || undefined);
248
353
  save(path, data);
354
+ refreshCurrentBranchMemory(data.meta.branch);
249
355
  return { success: true, taskId: id, message: `${id} 已记录并开始: ${args.title}` };
250
356
  }
357
+ function refreshCurrentBranchMemory(branchName) {
358
+ const branch = `${branchName || getBranchName()}`.trim();
359
+ if (!branch)
360
+ return;
361
+ try {
362
+ rebuildCurrentBranchMemory(projectRoot, branch);
363
+ }
364
+ catch {
365
+ // Best-effort only; memory refresh must not block primary logging flow.
366
+ }
367
+ }
251
368
  function handleTaskDone(args) {
252
369
  const { path, data } = ensureRunJson();
253
370
  const task = data.tasks.find(t => t.taskId === args.taskId);
@@ -278,6 +395,7 @@ function handleTaskDone(args) {
278
395
  addEvent(data, 'task_completed', { taskId: args.taskId, tokensConsumed: taskTokens });
279
396
  addTimeline(data, 'task-done', `${args.taskId}: ${task.title}`, task.prdPhase || undefined);
280
397
  save(path, data);
398
+ refreshCurrentBranchMemory(data.meta.branch);
281
399
  // Sync total token usage from session
282
400
  syncTokenUsage(path, data);
283
401
  const tokenMsg = taskTokens > 0 ? ` (${taskTokens} tokens)` : '';
@@ -305,6 +423,7 @@ function handleLogBug(args) {
305
423
  addEvent(data, 'bug_created', { bugId: id });
306
424
  addTimeline(data, 'bug', `${id}: ${args.title}`, data.context.currentPrdPhase || undefined);
307
425
  save(path, data);
426
+ refreshCurrentBranchMemory(data.meta.branch);
308
427
  return { success: true, bugId: id, message: `${id} 已记录: ${args.title} [${severity}]` };
309
428
  }
310
429
  function handleBugFix(args) {
@@ -335,6 +454,7 @@ function handleBugFix(args) {
335
454
  addEvent(data, 'bug_fixed', { bugId: args.bugId, tokensConsumed: bugTokens });
336
455
  addTimeline(data, 'bug-fix', `${args.bugId}: ${bug.title}`, data.context.currentPrdPhase || undefined);
337
456
  save(path, data);
457
+ refreshCurrentBranchMemory(data.meta.branch);
338
458
  syncTokenUsage(path, data);
339
459
  const tokenMsg = bugTokens > 0 ? ` (${bugTokens} tokens)` : '';
340
460
  return { success: true, message: `${args.bugId} 已修复${tokenMsg}` };
@@ -360,6 +480,7 @@ function handleLogReview(args) {
360
480
  addEvent(data, 'review_created', { reviewId: id, result });
361
481
  addTimeline(data, 'review', `${id}: ${result}`, data.context.currentPrdPhase || undefined);
362
482
  save(path, data);
483
+ refreshCurrentBranchMemory(data.meta.branch);
363
484
  syncTokenUsage(path, data);
364
485
  return { success: true, reviewId: id, message: `${id}: ${result}` };
365
486
  }
@@ -385,6 +506,7 @@ function handleLogDeviation(args) {
385
506
  addEvent(data, 'deviation_created', { deviationId: id });
386
507
  addTimeline(data, 'deviation', `${id}: ${args.title}`, data.context.currentPrdPhase || undefined);
387
508
  save(path, data);
509
+ refreshCurrentBranchMemory(data.meta.branch);
388
510
  const result = { success: true, deviationId: id, message: `${id} 已记录: ${args.title}` };
389
511
  // When rootCause is rule-missing, check for pattern and hint rule sedimentation
390
512
  if (rootCause === 'rule-missing') {
@@ -518,6 +640,7 @@ function handleLogFiles() {
518
640
  data.summary.linesRemoved = data.files.reduce((s, f) => s + (f.linesRemoved || 0), 0);
519
641
  addEvent(data, 'files_scanned', { count: filesLogged.length });
520
642
  save(path, data);
643
+ refreshCurrentBranchMemory(data.meta.branch);
521
644
  return {
522
645
  success: true,
523
646
  filesLogged: filesLogged.length,
@@ -536,6 +659,7 @@ function handleHighlight(args) {
536
659
  data.highlights.push(highlight);
537
660
  addEvent(data, 'highlight_added', { content: args.content });
538
661
  save(path, data);
662
+ refreshCurrentBranchMemory(data.meta.branch);
539
663
  return { success: true, message: `亮点已记录: ${args.content}` };
540
664
  }
541
665
  function handleStatus() {
@@ -602,10 +726,128 @@ function handleLogRule(args) {
602
726
  addEvent(data, 'rule_sedimented', { ruleId: localId, registryId: entry.id });
603
727
  addTimeline(data, 'rule', `${localId}: ${content.substring(0, 50)}`);
604
728
  save(path, data);
605
- // Rebuild markdown views so AI can read rules next session
606
- buildRuleViews(projectRoot);
729
+ refreshCurrentBranchMemory(data.meta.branch);
730
+ // Rebuild AI tool artifacts from JSON source
731
+ buildProjectArtifacts(projectRoot);
607
732
  return { success: true, ruleId: entry.id, message: `规则已沉淀: ${entry.id} [${category}] ${content.substring(0, 60)}` };
608
733
  }
734
+ function handleMemorySearch(args) {
735
+ const query = `${args.query || ''}`.trim();
736
+ if (!query) {
737
+ return { success: false, message: 'query is required' };
738
+ }
739
+ const hits = searchModuleMemories(projectRoot, query, Array.isArray(args.pathHints) ? args.pathHints : []);
740
+ return {
741
+ success: true,
742
+ query,
743
+ hits,
744
+ };
745
+ }
746
+ function handleMemoryGet(args) {
747
+ const moduleKey = `${args.moduleKey || ''}`.trim();
748
+ if (!moduleKey) {
749
+ return { success: false, message: 'moduleKey is required' };
750
+ }
751
+ const record = loadModuleMemory(projectRoot, moduleKey);
752
+ if (!record) {
753
+ return { success: false, message: `module memory not found: ${moduleKey}` };
754
+ }
755
+ return {
756
+ success: true,
757
+ memory: record,
758
+ };
759
+ }
760
+ function handleMemoryUpsert(args) {
761
+ const moduleKey = `${args.moduleKey || ''}`.trim();
762
+ if (!moduleKey) {
763
+ return { success: false, message: 'moduleKey is required' };
764
+ }
765
+ const record = upsertModuleMemory(projectRoot, {
766
+ moduleKey,
767
+ title: args.title,
768
+ summary: args.summary,
769
+ keywords: Array.isArray(args.keywords) ? args.keywords : [],
770
+ entryFiles: Array.isArray(args.entryFiles) ? args.entryFiles : [],
771
+ relatedPaths: Array.isArray(args.relatedPaths) ? args.relatedPaths : [],
772
+ dataFlow: Array.isArray(args.dataFlow) ? args.dataFlow : [],
773
+ decisions: Array.isArray(args.decisions) ? args.decisions : [],
774
+ constraints: Array.isArray(args.constraints) ? args.constraints : [],
775
+ pitfalls: Array.isArray(args.pitfalls) ? args.pitfalls : [],
776
+ relatedRules: Array.isArray(args.relatedRules) ? args.relatedRules : [],
777
+ tickets: [{
778
+ ticket: args.ticket || undefined,
779
+ branch: args.branch || getBranchName(),
780
+ summary: args.referenceSummary || args.summary || '',
781
+ updatedAt: now(),
782
+ }],
783
+ });
784
+ buildMemoryViews(projectRoot);
785
+ return {
786
+ success: true,
787
+ moduleKey: record.moduleKey,
788
+ updatedAt: record.updatedAt,
789
+ };
790
+ }
791
+ function handleContextGet(args) {
792
+ const branch = `${args.branch || getBranchName()}`.trim();
793
+ const record = loadRunContext(projectRoot, branch);
794
+ if (!record) {
795
+ return { success: false, message: `context not found for branch: ${branch}` };
796
+ }
797
+ return {
798
+ success: true,
799
+ context: record,
800
+ };
801
+ }
802
+ function handleContextRebuild(args) {
803
+ const branch = `${args.branch || getBranchName()}`.trim();
804
+ const result = rebuildCurrentBranchMemory(projectRoot, branch);
805
+ if (!result.context) {
806
+ return { success: false, message: `no branch data found for ${branch}` };
807
+ }
808
+ return {
809
+ success: true,
810
+ branch,
811
+ modules: result.modules.map((item) => item.moduleKey),
812
+ contextUpdatedAt: result.context.updatedAt,
813
+ };
814
+ }
815
+ function handleMemoryPack(args) {
816
+ const branch = `${args.branch || getBranchName()}`.trim();
817
+ const pack = loadRunMemoryPack(projectRoot, branch);
818
+ if (!pack) {
819
+ return { success: false, message: `memory pack not found for branch: ${branch}` };
820
+ }
821
+ return {
822
+ success: true,
823
+ branch,
824
+ pack,
825
+ };
826
+ }
827
+ function handleContextUpdate(args) {
828
+ const branch = `${args.branch || getBranchName()}`.trim();
829
+ const record = updateRunContext(projectRoot, {
830
+ branch,
831
+ ticket: args.ticket,
832
+ title: args.title,
833
+ summary: args.summary,
834
+ currentPhase: args.currentPhase,
835
+ modules: Array.isArray(args.modules) ? args.modules : [],
836
+ completed: Array.isArray(args.completed) ? args.completed : [],
837
+ inProgress: Array.isArray(args.inProgress) ? args.inProgress : [],
838
+ next: Array.isArray(args.next) ? args.next : [],
839
+ decisions: Array.isArray(args.decisions) ? args.decisions : [],
840
+ constraints: Array.isArray(args.constraints) ? args.constraints : [],
841
+ keyFiles: Array.isArray(args.keyFiles) ? args.keyFiles : [],
842
+ risks: Array.isArray(args.risks) ? args.risks : [],
843
+ });
844
+ buildMemoryViews(projectRoot);
845
+ return {
846
+ success: true,
847
+ branch: record.branch,
848
+ updatedAt: record.updatedAt,
849
+ };
850
+ }
609
851
  // ─── MCP Request Router ─────────────────────────────────
610
852
  function handleRequest(req) {
611
853
  const { id, method, params } = req;
@@ -665,6 +907,27 @@ function handleRequest(req) {
665
907
  case 'aida_log_rule':
666
908
  result = handleLogRule(args);
667
909
  break;
910
+ case 'aida_memory_search':
911
+ result = handleMemorySearch(args);
912
+ break;
913
+ case 'aida_memory_get':
914
+ result = handleMemoryGet(args);
915
+ break;
916
+ case 'aida_memory_upsert':
917
+ result = handleMemoryUpsert(args);
918
+ break;
919
+ case 'aida_context_get':
920
+ result = handleContextGet(args);
921
+ break;
922
+ case 'aida_context_update':
923
+ result = handleContextUpdate(args);
924
+ break;
925
+ case 'aida_context_rebuild':
926
+ result = handleContextRebuild(args);
927
+ break;
928
+ case 'aida_memory_pack':
929
+ result = handleMemoryPack(args);
930
+ break;
668
931
  default:
669
932
  sendError(id, -32601, `Unknown tool: ${toolName}`);
670
933
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAU3C,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EAGpB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,GAAG,EACH,MAAM,EACN,QAAQ,EACR,WAAW,EACX,WAAW,EACX,aAAa,IAAI,mBAAmB,GACrC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAkB5D,0DAA0D;AAC1D,IAAI,gBAAgB,GAAG,IAAI,CAAC;AAE5B,SAAS,YAAY,CAAC,GAAoB;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,mBAAmB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,EAA0B,EAAE,MAAW;IACzD,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,EAA0B,EAAE,IAAY,EAAE,OAAe;IAC1E,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,4DAA4D;AAE5D,IAAI,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAEhC,SAAS,aAAa;IACpB,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,IAAI,CAAC,IAAY,EAAE,IAAa;IACvC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AACvC,CAAC;AAED,4DAA4D;AAE5D;;;GAGG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,IAAa;IACjD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;QACvC,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,KAAK,GAAG,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAE1C,2BAA2B;QAC1B,IAAI,CAAC,IAAY,CAAC,WAAW,GAAG;YAC/B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAC;QAEF,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,SAAiB,EAAE,OAAe;IACvD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,0BAA0B,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1E,OAAO,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,4DAA4D;AAE5D,MAAM,KAAK,GAAG;IACZ;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,0JAA0J;QACvK,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;gBACvD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;aAC9E;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;aACnF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,gCAAgC;QAC7C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;gBAChD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC,EAAE,WAAW,EAAE,yCAAyC,EAAE;gBAChH,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,iBAAiB,CAAC,EAAE,WAAW,EAAE,uDAAuD,EAAE;aAC/H;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;gBACzD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;aAC/C;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,uBAAuB;QACpC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE;gBAClD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBACnF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBAC5D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;aACvD;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,+FAA+F;QAC5G,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE;gBAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,iBAAiB,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE;gBAChF,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,oBAAoB,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE;aACnF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;aACnD;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,2CAA2C;QACxD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,8HAA8H;QAC3I,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;gBACzD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE;gBAC7E,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;aACtE;YACD,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;SAClC;KACF;CACF,CAAC;AAEF,4DAA4D;AAE5D,MAAM,OAAO,GAAG;IACd;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,eAAe;KAC7B;CACF,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;oDAiB6B,CAAC;AAErD,4DAA4D;AAE5D,SAAS,eAAe,CAAC,IAAS;IAChC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,IAAI,GAAa;QACrB,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;QAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAK,IAAI,CAAC,OAAO,CAAC,eAA0B,IAAI,EAAE;QACzE,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,GAAG,EAAE;QAChB,SAAS,EAAE,GAAG,EAAE;QAChB,WAAW,EAAE,IAAI;KAClB,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC5C,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,EAAE,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IAC9E,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,cAAc,CAAC,IAAS;IAC/B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,MAAM,EAAE,CAAC;IAEvE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI,CAAC,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC;IACzE,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAEjF,oCAAoC;IACpC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YAClB,IAAY,CAAC,cAAc,GAAG,UAAU,CAAC;YAC1C,wBAAwB;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;gBAC5B,KAAK,EAAE,QAAQ,IAAI,CAAC,MAAM,EAAE;gBAC5B,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC;IACtF,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IAC5F,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEjB,sCAAsC;IACtC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE3B,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,OAAO,QAAQ,EAAE,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,YAAY,CAAC,IAAS;IAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC;IAC5C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,GAAG,GAAY;QACnB,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,QAA+B;QACzC,MAAM,EAAE,MAA2B;QACnC,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,eAAe,EAAE;QACxB,GAAG,EAAE,IAAI;QACT,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI;QAC1C,UAAU,EAAE,GAAG,EAAE;QACjB,OAAO,EAAE,IAAI;KACd,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,EAAG,IAAI,CAAC,OAAO,CAAC,eAA0B,IAAI,SAAS,CAAC,CAAC;IACxG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,EAAE,CAAC;AACzF,CAAC;AAED,SAAS,YAAY,CAAC,IAAS;IAC7B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;IAEtE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC;IACrB,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,CAAC,GAAG;QAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAEjC,kCAAkC;IAClC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAClC,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACjB,GAAW,CAAC,cAAc,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;gBAC5B,KAAK,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;gBAC7B,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9E,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,EAAG,IAAI,CAAC,OAAO,CAAC,eAA0B,IAAI,SAAS,CAAC,CAAC;IACnH,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE3B,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,OAAO,QAAQ,EAAE,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,eAAe,CAAC,IAAS;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IACrC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACjF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtG,MAAM,MAAM,GAAe;QACzB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI;QACzD,MAAM,EAAE,MAA8B;QACtC,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,UAAU,EAAE,GAAG,EAAE;QACjB,MAAM;KACP,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/C,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IACpF,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IACpF,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,MAAM,EAAE,EAAG,IAAI,CAAC,OAAO,CAAC,eAA0B,IAAI,SAAS,CAAC,CAAC;IACvG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAS;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC1C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAkB;QAC/B,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,iBAAiB,EAAE,SAA+C;QAClE,iBAAiB,EAAE,QAA8C;QACjE,QAAQ,EAAE,EAAE;QACZ,cAAc,EAAE,EAAE;QAClB,KAAK,EAAE,eAAe,EAAE;QACxB,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE,GAAG,EAAE;QACjB,OAAO,EAAE,IAAI;KACd,CAAC;IACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,EAAG,IAAI,CAAC,OAAO,CAAC,eAA0B,IAAI,SAAS,CAAC,CAAC;IAC9G,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEjB,MAAM,MAAM,GAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;IAE5F,gFAAgF;IAChF,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;QACjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,KAAK,QAAQ,IAAI,CAAC,CAAC,iBAAiB,KAAK,cAAc,CAChF,CAAC,MAAM,CAAC;QAET,IAAI,iBAAiB,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,GAAG,WAAW,iBAAiB,MAAM,QAAQ,0GAA0G,QAAQ,sBAAsB,EAAE,GAAG,CAAC;QAC5M,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,GAAG,iHAAiH,QAAQ,sBAAsB,EAAE,GAAG,CAAC;QACzK,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7G,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,+BAA+B,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACjH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC9B,eAAe;IACf,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9F,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;aACtB,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACvC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACrC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IAEvC,+CAA+C;IAC/C,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,QAAQ,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC;QACH,UAAU,GAAG,QAAQ,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACxG,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,UAAU,GAAG,QAAQ,CAAC,0BAA0B,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5G,CAAC;QAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACvC,CAAC;IAED,iFAAiF;IACjF,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACjG,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;iBAC7B,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACvC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;iBAC7D,MAAM,CAAC,CAAC,CAAiC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBACrD,GAAG,CAAC,CAAC,CAAiC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACtB,+BAA+B;QAC/B,qEAAqE;QACrE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAC7D,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAElC,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACzD,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACzD,MAAM,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;YAErC,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;gBACrD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,OAAO,CAAC;YACvB,CAAC;YAED,MAAM,UAAU,GACd,YAAY,KAAK,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;YAEhE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC3D,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,WAAW,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvD,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC;gBAClC,QAAQ,CAAC,YAAY,IAAI,YAAY,CAAC;gBACtC,QAAQ,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACjH,CAAC;YAED,UAAU,IAAI,UAAU,CAAC;YACzB,YAAY,IAAI,YAAY,CAAC;YAC7B,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,qCAAqC;QACrC,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC3D,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,WAAW,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvD,QAAQ,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACnI,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC9C,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtF,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEjB,OAAO;QACL,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,WAAW,CAAC,MAAM;QAC/B,UAAU,EAAE,UAAU;QACtB,YAAY,EAAE,YAAY;QAC1B,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,mBAAmB,UAAU,KAAK,YAAY,GAAG;KAChF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAS;IAChC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IACvC,MAAM,SAAS,GAAkB;QAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,GAAG,EAAE;KACjB,CAAC;IACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAE9H,uBAAuB;QACvB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE3B,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC9B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,OAAO,EAAE;gBACP,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,YAAY,EAAE,CAAC,CAAC,YAAY;aAC7B;YACD,UAAU,EAAE;gBACV,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC;gBACxC,MAAM,EAAG,IAAI,CAAC,IAAY,EAAE,WAAW,IAAI,IAAI;aAChD;YACD,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;YACzC,KAAK;YACL,QAAQ;SACT,CAAC;IACJ,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAS;IAC9B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAE7B,yDAAyD;IACzD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE;QAClD,OAAO;QACP,QAAQ;QACR,MAAM;QACN,SAAS,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI;QACvC,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC;IAEH,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,KAAK,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC/G,CAAC;IAED,uDAAuD;IACvD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACd,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,cAAc,KAAK,CAAC,EAAE,EAAE;QAC9B,OAAO;QACP,QAAQ;QACR,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI;QAC7C,YAAY,EAAE,GAAG,EAAE;KACpB,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE,CAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC9F,QAAQ,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7E,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEjB,2DAA2D;IAC3D,cAAc,CAAC,WAAW,CAAC,CAAC;IAE5B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,KAAK,CAAC,EAAE,KAAK,QAAQ,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AACtH,CAAC;AAED,2DAA2D;AAE3D,SAAS,aAAa,CAAC,GAAmB;IACxC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEnC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,YAAY;YACf,UAAU,CAAC,EAAG,EAAE;gBACd,eAAe,EAAE,YAAY;gBAC7B,YAAY,EAAE;oBACZ,KAAK,EAAE,EAAE;oBACT,OAAO,EAAE,EAAE;iBACZ;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,OAAO;iBACjB;aACF,CAAC,CAAC;YACH,MAAM;QAER,KAAK,2BAA2B;YAC9B,uCAAuC;YACvC,MAAM;QAER,KAAK,YAAY;YACf,UAAU,CAAC,EAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAClC,MAAM;QAER,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;YACrC,IAAI,MAAW,CAAC;YAEhB,IAAI,CAAC;gBACH,QAAQ,QAAQ,EAAE,CAAC;oBACjB,KAAK,iBAAiB;wBACpB,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;wBAC/B,MAAM;oBACR,KAAK,gBAAgB;wBACnB,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;wBAC9B,MAAM;oBACR,KAAK,cAAc;wBACjB,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;wBAC5B,MAAM;oBACR,KAAK,cAAc;wBACjB,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;wBAC5B,MAAM;oBACR,KAAK,iBAAiB;wBACpB,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;wBAC/B,MAAM;oBACR,KAAK,oBAAoB;wBACvB,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;wBAClC,MAAM;oBACR,KAAK,gBAAgB;wBACnB,MAAM,GAAG,cAAc,EAAE,CAAC;wBAC1B,MAAM;oBACR,KAAK,gBAAgB;wBACnB,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;wBAC/B,MAAM;oBACR,KAAK,aAAa;wBAChB,MAAM,GAAG,YAAY,EAAE,CAAC;wBACxB,MAAM;oBACR,KAAK,eAAe;wBAClB,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;wBAC7B,MAAM;oBACR;wBACE,SAAS,CAAC,EAAG,EAAE,CAAC,KAAK,EAAE,iBAAiB,QAAQ,EAAE,CAAC,CAAC;wBACpD,OAAO;gBACX,CAAC;gBACD,UAAU,CAAC,EAAG,EAAE;oBACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;iBAC1D,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,UAAU,CAAC,EAAG,EAAE;oBACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;oBACvE,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;YACL,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,cAAc;YACjB,UAAU,CAAC,EAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACtC,MAAM;QAER,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,UAAU,GAAG,MAAM,EAAE,IAAI,CAAC;YAChC,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;gBAChC,UAAU,CAAC,EAAG,EAAE;oBACd,QAAQ,EAAE,CAAC;4BACT,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE;yBAChD,CAAC;iBACH,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,EAAG,EAAE,CAAC,KAAK,EAAE,mBAAmB,UAAU,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,MAAM;YACT,UAAU,CAAC,EAAG,EAAE,EAAE,CAAC,CAAC;YACpB,MAAM;QAER;YACE,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,SAAS,CAAC,EAAG,EAAE,CAAC,KAAK,EAAE,qBAAqB,MAAM,EAAE,CAAC,CAAC;YACxD,CAAC;IACL,CAAC;AACH,CAAC;AAED,4DAA4D;AAE5D,MAAM,UAAU,cAAc;IAC5B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC;QAEhB,OAAO,IAAI,EAAE,CAAC;YACZ,0CAA0C;YAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBACvD,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACvB,gBAAgB,GAAG,IAAI,CAAC;wBACxB,iBAAiB,GAAG,IAAI,CAAC;oBAC3B,CAAC;oBACD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzC,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;oBAChC,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,GAAG,aAAa;wBAAE,MAAM;oBAErD,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa,CAAC,CAAC;oBACpE,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC;oBAErD,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB,CAAC;wBAC/C,aAAa,CAAC,GAAG,CAAC,CAAC;oBACrB,CAAC;oBAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;oBAChC,SAAS;gBACX,CAAC;YACH,CAAC;YAED,oDAAoD;YACpD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,MAAM;YACxB,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,gBAAgB,GAAG,KAAK,CAAC;oBACzB,iBAAiB,GAAG,IAAI,CAAC;gBAC3B,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB,CAAC;oBAC/C,aAAa,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;gBAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ export type AiToolChoice = 'claude-code' | 'cursor' | 'vscode-copilot' | 'windsurf' | 'lingma' | 'codex';
2
+ export interface AidaConfig {
3
+ schemaVersion?: string;
4
+ project?: string;
5
+ aiTool?: AiToolChoice;
6
+ aiTools?: AiToolChoice[];
7
+ aiModel?: string;
8
+ hourlyRate?: number;
9
+ tokenPricePer1M?: number;
10
+ [key: string]: unknown;
11
+ }
12
+ export interface ToolConfigSnapshot {
13
+ tool: AiToolChoice;
14
+ path: string;
15
+ format: 'json' | 'toml' | 'text';
16
+ content: unknown;
17
+ }
18
+ export interface ToolConfigStore {
19
+ generatedAt?: string;
20
+ importedAt?: string;
21
+ tools?: AiToolChoice[];
22
+ snapshots?: ToolConfigSnapshot[];
23
+ }
24
+ export interface ModuleMemoryReference {
25
+ ticket?: string;
26
+ branch?: string;
27
+ summary: string;
28
+ updatedAt?: string;
29
+ }
30
+ export interface ModuleMemoryRecord {
31
+ moduleKey: string;
32
+ title: string;
33
+ summary: string;
34
+ keywords: string[];
35
+ entryFiles: string[];
36
+ relatedPaths: string[];
37
+ dataFlow: string[];
38
+ decisions: string[];
39
+ constraints: string[];
40
+ pitfalls: string[];
41
+ relatedRules: string[];
42
+ tickets: ModuleMemoryReference[];
43
+ updatedAt: string;
44
+ }
45
+ export interface ModuleMemoryIndexEntry {
46
+ key: string;
47
+ title: string;
48
+ summary: string;
49
+ keywords: string[];
50
+ paths: string[];
51
+ updatedAt: string;
52
+ }
53
+ export interface ModuleMemoryIndex {
54
+ updatedAt: string;
55
+ modules: ModuleMemoryIndexEntry[];
56
+ }
57
+ export interface RunContextRecord {
58
+ branch: string;
59
+ ticket?: string;
60
+ title: string;
61
+ summary: string;
62
+ currentPhase: string;
63
+ modules: string[];
64
+ completed: string[];
65
+ inProgress: string[];
66
+ next: string[];
67
+ decisions: string[];
68
+ constraints: string[];
69
+ keyFiles: string[];
70
+ risks: string[];
71
+ updatedAt: string;
72
+ }
73
+ //# sourceMappingURL=aida-project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aida-project.d.ts","sourceRoot":"","sources":["../../src/schemas/aida-project.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,aAAa,GACb,QAAQ,GACR,gBAAgB,GAChB,UAAU,GACV,QAAQ,GACR,OAAO,CAAC;AAEZ,MAAM,WAAW,UAAU;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,YAAY,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IAChC,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;IACtB,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,EAAE,qBAAqB,EAAE,CAAA;IAChC,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,sBAAsB,EAAE,CAAA;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=aida-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aida-project.js","sourceRoot":"","sources":["../../src/schemas/aida-project.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- export type AiToolChoice = 'claude-code' | 'cursor' | 'vscode-copilot' | 'windsurf' | 'lingma' | 'codex';
1
+ import type { AiToolChoice } from '../schemas/aida-project.js';
2
2
  export declare const QUICK_COMMANDS: {
3
3
  name: string;
4
4
  skill: string;
@@ -9,11 +9,15 @@ export declare function writeMcpConfig(projectRoot: string, tools: AiToolChoice[
9
9
  export declare function ensureBuildGitignore(projectRoot: string, tools: AiToolChoice[]): string[];
10
10
  export declare function buildProjectArtifacts(projectRoot: string, requestedTools?: string[]): {
11
11
  tools: AiToolChoice[];
12
- ruleViews: number;
13
- skillViews: number;
12
+ ruleFiles: number;
13
+ skillFiles: number;
14
14
  mcpFiles: string[];
15
15
  commandFiles: number;
16
16
  gitignoreAdded: string[];
17
17
  toolConfigSnapshot: string;
18
+ memoryViews: {
19
+ moduleViews: number;
20
+ contextViews: number;
21
+ };
18
22
  };
19
23
  //# sourceMappingURL=ai-build.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-build.d.ts","sourceRoot":"","sources":["../../src/utils/ai-build.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,QAAQ,GAAG,gBAAgB,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzG,eAAO,MAAM,cAAc,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAO3D,CAAC;AA8BF,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CAOvE;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAM,EAAO,GACvB,YAAY,EAAE,CAMhB;AAoHD,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CA6CnF;AAgCD,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CAkCzF;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,MAAM,EAAO,GAC5B;IACD,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,kBAAkB,EAAE,MAAM,CAAA;CAC3B,CA4BA"}
1
+ {"version":3,"file":"ai-build.d.ts","sourceRoot":"","sources":["../../src/utils/ai-build.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAmD,MAAM,4BAA4B,CAAC;AAEhH,eAAO,MAAM,cAAc,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAO3D,CAAC;AA2EF,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CAOvE;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAM,EAAO,GACvB,YAAY,EAAE,CAMhB;AA4JD,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CA2DnF;AAgCD,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CAkCzF;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,MAAM,EAAO,GAC5B;IACD,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE;QACX,WAAW,EAAE,MAAM,CAAA;QACnB,YAAY,EAAE,MAAM,CAAA;KACrB,CAAA;CACF,CA6CA"}