@gracefultools/astrid-sdk 0.7.13 → 0.7.15

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 (33) hide show
  1. package/dist/bin/cli.js +102 -21
  2. package/dist/bin/cli.js.map +1 -1
  3. package/dist/executors/shared/index.d.ts +9 -0
  4. package/dist/executors/shared/index.d.ts.map +1 -0
  5. package/dist/executors/shared/index.js +21 -0
  6. package/dist/executors/shared/index.js.map +1 -0
  7. package/dist/executors/shared/tool-executor.d.ts +52 -0
  8. package/dist/executors/shared/tool-executor.d.ts.map +1 -0
  9. package/dist/executors/shared/tool-executor.js +262 -0
  10. package/dist/executors/shared/tool-executor.js.map +1 -0
  11. package/dist/executors/shared/tool-schemas.d.ts +61 -0
  12. package/dist/executors/shared/tool-schemas.d.ts.map +1 -0
  13. package/dist/executors/shared/tool-schemas.js +135 -0
  14. package/dist/executors/shared/tool-schemas.js.map +1 -0
  15. package/dist/executors/terminal-base.d.ts +100 -4
  16. package/dist/executors/terminal-base.d.ts.map +1 -1
  17. package/dist/executors/terminal-base.js +406 -0
  18. package/dist/executors/terminal-base.js.map +1 -1
  19. package/dist/executors/terminal-claude.d.ts +23 -4
  20. package/dist/executors/terminal-claude.d.ts.map +1 -1
  21. package/dist/executors/terminal-claude.js +190 -62
  22. package/dist/executors/terminal-claude.js.map +1 -1
  23. package/dist/executors/terminal-executors.test.js +190 -0
  24. package/dist/executors/terminal-executors.test.js.map +1 -1
  25. package/dist/executors/terminal-gemini.d.ts +4 -3
  26. package/dist/executors/terminal-gemini.d.ts.map +1 -1
  27. package/dist/executors/terminal-gemini.js +87 -191
  28. package/dist/executors/terminal-gemini.js.map +1 -1
  29. package/dist/executors/terminal-openai.d.ts +4 -3
  30. package/dist/executors/terminal-openai.d.ts.map +1 -1
  31. package/dist/executors/terminal-openai.js +87 -212
  32. package/dist/executors/terminal-openai.js.map +1 -1
  33. package/package.json +1 -1
@@ -20,17 +20,15 @@ const child_process_1 = require("child_process");
20
20
  const promises_1 = __importDefault(require("fs/promises"));
21
21
  const path_1 = __importDefault(require("path"));
22
22
  const os_1 = __importDefault(require("os"));
23
+ const terminal_base_js_1 = require("./terminal-base.js");
23
24
  const agent_workflow_js_1 = require("../config/agent-workflow.js");
24
- // ============================================================================
25
- // SESSION STORE
26
- // ============================================================================
27
25
  /**
28
26
  * Simple file-based session store for terminal mode.
29
- * Stores Claude session IDs for resumption support.
27
+ * Stores Claude session IDs and worktree paths for resumption support.
30
28
  */
31
29
  class TerminalSessionStore {
32
30
  storagePath;
33
- sessions = new Map(); // taskId -> claudeSessionId
31
+ sessions = new Map();
34
32
  loaded = false;
35
33
  constructor() {
36
34
  // Store in ~/.astrid-agent/sessions.json
@@ -46,7 +44,18 @@ class TerminalSessionStore {
46
44
  await promises_1.default.mkdir(dir, { recursive: true });
47
45
  const data = await promises_1.default.readFile(this.storagePath, 'utf-8');
48
46
  const parsed = JSON.parse(data);
49
- this.sessions = new Map(Object.entries(parsed));
47
+ // Handle migration from old format (string) to new format (StoredSession)
48
+ this.sessions = new Map();
49
+ for (const [key, value] of Object.entries(parsed)) {
50
+ if (typeof value === 'string') {
51
+ // Old format: just claudeSessionId
52
+ this.sessions.set(key, { claudeSessionId: value });
53
+ }
54
+ else {
55
+ // New format: StoredSession object
56
+ this.sessions.set(key, value);
57
+ }
58
+ }
50
59
  this.loaded = true;
51
60
  console.log(`📂 Loaded ${this.sessions.size} terminal sessions from ${this.storagePath}`);
52
61
  }
@@ -73,16 +82,35 @@ class TerminalSessionStore {
73
82
  console.warn(`⚠️ Could not save terminal sessions: ${error.message}`);
74
83
  }
75
84
  }
76
- async getClaudeSessionId(taskId) {
85
+ async getSession(taskId) {
77
86
  await this.load();
78
87
  return this.sessions.get(taskId);
79
88
  }
89
+ async getClaudeSessionId(taskId) {
90
+ const session = await this.getSession(taskId);
91
+ return session?.claudeSessionId;
92
+ }
80
93
  async setClaudeSessionId(taskId, claudeSessionId) {
81
94
  await this.load();
82
- this.sessions.set(taskId, claudeSessionId);
95
+ const existing = this.sessions.get(taskId) || {};
96
+ this.sessions.set(taskId, { ...existing, claudeSessionId });
83
97
  await this.save();
84
98
  console.log(`🔗 Stored Claude session ${claudeSessionId} for task ${taskId}`);
85
99
  }
100
+ async setWorktree(taskId, worktreePath, branchName) {
101
+ await this.load();
102
+ const existing = this.sessions.get(taskId) || {};
103
+ this.sessions.set(taskId, { ...existing, worktreePath, branchName });
104
+ await this.save();
105
+ console.log(`🌳 Stored worktree path for task ${taskId}: ${worktreePath}`);
106
+ }
107
+ async getWorktree(taskId) {
108
+ const session = await this.getSession(taskId);
109
+ if (session?.worktreePath && session?.branchName) {
110
+ return { path: session.worktreePath, branch: session.branchName };
111
+ }
112
+ return undefined;
113
+ }
86
114
  async deleteSession(taskId) {
87
115
  await this.load();
88
116
  if (this.sessions.has(taskId)) {
@@ -233,9 +261,11 @@ ${description ? `## Description\n${description}\n\n` : ''}${workflowInstructions
233
261
  }
234
262
  /**
235
263
  * Start a new Claude Code session with retry logic
264
+ * Uses git worktree isolation when enabled (default) to protect the main working directory
236
265
  */
237
- async startSession(session, prompt, context, onProgress) {
266
+ async startSession(session, prompt, context, callbacks) {
238
267
  const taskPrompt = prompt || await this.buildPrompt(session, undefined, context);
268
+ const { onProgress, onComment } = callbacks || {};
239
269
  // Truncate prompt if too long (avoid ARG_MAX issues)
240
270
  const MAX_PROMPT_LENGTH = 50000;
241
271
  let finalPrompt = taskPrompt;
@@ -243,50 +273,98 @@ ${description ? `## Description\n${description}\n\n` : ''}${workflowInstructions
243
273
  finalPrompt = taskPrompt.slice(0, MAX_PROMPT_LENGTH) + '\n\n[... prompt truncated ...]';
244
274
  }
245
275
  console.log(`🚀 Starting new Claude Code session for task: ${session.title}`);
246
- if (session.projectPath) {
247
- console.log(`📁 Working directory: ${session.projectPath}`);
276
+ // Determine working directory - use worktree if enabled
277
+ const useWorktree = (0, terminal_base_js_1.shouldUseWorktree)() && session.projectPath;
278
+ let workingPath = session.projectPath || process.cwd();
279
+ let worktreeResult;
280
+ if (useWorktree) {
281
+ try {
282
+ console.log(`🌳 Creating isolated worktree for task...`);
283
+ worktreeResult = await (0, terminal_base_js_1.createWorktree)(session.projectPath, session.taskId);
284
+ workingPath = worktreeResult.worktreePath;
285
+ // Store worktree info for resumption
286
+ await exports.terminalSessionStore.setWorktree(session.taskId, worktreeResult.worktreePath, worktreeResult.branchName);
287
+ console.log(`📁 Working directory (worktree): ${workingPath}`);
288
+ }
289
+ catch (error) {
290
+ console.error(`⚠️ Failed to create worktree, falling back to main directory:`, error);
291
+ workingPath = session.projectPath || process.cwd();
292
+ console.log(`📁 Working directory (fallback): ${workingPath}`);
293
+ }
294
+ }
295
+ else {
296
+ console.log(`📁 Working directory: ${workingPath}`);
248
297
  }
298
+ // Create a modified session with the working path
299
+ const workingSession = {
300
+ ...session,
301
+ projectPath: workingPath,
302
+ };
249
303
  // Capture git baseline BEFORE execution to filter out pre-existing files
250
304
  let gitBaseline;
251
- if (session.projectPath) {
252
- const { captureGitBaseline } = await import('./terminal-base.js');
253
- gitBaseline = await captureGitBaseline(session.projectPath);
254
- }
305
+ const { captureGitBaseline } = await import('./terminal-base.js');
306
+ gitBaseline = await captureGitBaseline(workingPath);
255
307
  // Retry logic for intermittent Claude Code hangs
256
308
  const MAX_RETRIES = 3;
257
309
  let lastError;
258
- for (let attempt = 1; attempt <= MAX_RETRIES; attempt++) {
259
- if (attempt > 1) {
260
- const delay = Math.min(1000 * Math.pow(2, attempt - 1), 10000);
261
- console.log(`🔄 Retry attempt ${attempt}/${MAX_RETRIES} after ${delay}ms delay...`);
262
- await new Promise(resolve => setTimeout(resolve, delay));
263
- }
264
- // Use stdin for prompt - more reliable than command-line args for long prompts
265
- const args = [
266
- '--print',
267
- '--model', this.model,
268
- '--output-format', 'text',
269
- '--dangerously-skip-permissions',
270
- ];
271
- const result = await this.runClaude(args, session, onProgress, finalPrompt);
272
- // Check if we got actual output (not a timeout/hang)
273
- if (result.stdout.length > 0 || result.exitCode === 0) {
274
- // Store session ID for resumption
275
- if (result.sessionId) {
276
- await exports.terminalSessionStore.setClaudeSessionId(session.taskId, result.sessionId);
310
+ let finalResult;
311
+ try {
312
+ for (let attempt = 1; attempt <= MAX_RETRIES; attempt++) {
313
+ if (attempt > 1) {
314
+ const delay = Math.min(1000 * Math.pow(2, attempt - 1), 10000);
315
+ console.log(`🔄 Retry attempt ${attempt}/${MAX_RETRIES} after ${delay}ms delay...`);
316
+ await new Promise(resolve => setTimeout(resolve, delay));
277
317
  }
278
- // Capture git changes
279
- if (session.projectPath) {
280
- const changes = await this.captureGitChanges(session.projectPath);
318
+ // Use stdin for prompt - more reliable than command-line args for long prompts
319
+ const args = [
320
+ '--print',
321
+ '--model', this.model,
322
+ '--output-format', 'text',
323
+ '--dangerously-skip-permissions',
324
+ ];
325
+ const result = await this.runClaude(args, workingSession, { onProgress, onComment }, finalPrompt);
326
+ // Check if we got actual output (not a timeout/hang)
327
+ if (result.stdout.length > 0 || result.exitCode === 0) {
328
+ // Store session ID for resumption
329
+ if (result.sessionId) {
330
+ await exports.terminalSessionStore.setClaudeSessionId(session.taskId, result.sessionId);
331
+ }
332
+ // Capture git changes from working directory
333
+ const changes = await this.captureGitChanges(workingPath);
281
334
  result.gitDiff = changes.diff;
282
335
  result.modifiedFiles = changes.files;
336
+ // If using worktree, push changes and create PR
337
+ if (worktreeResult && changes.files.length > 0) {
338
+ console.log(`\n📤 Pushing changes from worktree...`);
339
+ const prUrl = await (0, terminal_base_js_1.pushWorktreeChanges)(worktreeResult.worktreePath, worktreeResult.branchName, session.title);
340
+ if (prUrl) {
341
+ result.prUrl = prUrl;
342
+ }
343
+ }
344
+ // Extract PR URL from output if not already set
345
+ if (!result.prUrl) {
346
+ result.prUrl = this.extractPrUrl(result.stdout);
347
+ }
348
+ finalResult = result;
349
+ break;
350
+ }
351
+ console.log(`⚠️ Attempt ${attempt} failed (no output received)`);
352
+ lastError = new Error(`No output received from Claude Code (attempt ${attempt})`);
353
+ }
354
+ }
355
+ finally {
356
+ // Cleanup worktree if it was created
357
+ if (worktreeResult) {
358
+ try {
359
+ await worktreeResult.cleanup();
360
+ }
361
+ catch (cleanupError) {
362
+ console.error(`⚠️ Worktree cleanup failed:`, cleanupError);
283
363
  }
284
- // Extract PR URL
285
- result.prUrl = this.extractPrUrl(result.stdout);
286
- return result;
287
364
  }
288
- console.log(`⚠️ Attempt ${attempt} failed (no output received)`);
289
- lastError = new Error(`No output received from Claude Code (attempt ${attempt})`);
365
+ }
366
+ if (finalResult) {
367
+ return finalResult;
290
368
  }
291
369
  // All retries failed, return empty result
292
370
  console.error(`❌ All ${MAX_RETRIES} attempts failed`);
@@ -298,25 +376,46 @@ ${description ? `## Description\n${description}\n\n` : ''}${workflowInstructions
298
376
  }
299
377
  /**
300
378
  * Resume an existing Claude Code session with retry logic
379
+ * Uses stored worktree path if available
301
380
  */
302
- async resumeSession(session, input, context, onProgress) {
303
- // Get stored Claude session ID
381
+ async resumeSession(session, input, context, callbacks) {
382
+ const { onProgress, onComment } = callbacks || {};
383
+ // Get stored Claude session ID and worktree info
304
384
  const claudeSessionId = await exports.terminalSessionStore.getClaudeSessionId(session.taskId);
385
+ const storedWorktree = await exports.terminalSessionStore.getWorktree(session.taskId);
305
386
  if (!claudeSessionId) {
306
387
  console.log(`⚠️ No stored session for task ${session.taskId}, starting new session`);
307
- return this.startSession(session, input, context, onProgress);
388
+ return this.startSession(session, input, context, callbacks);
308
389
  }
309
390
  const promptWithContext = await this.buildPrompt(session, input, context);
310
- console.log(`🔄 Resuming Claude Code session ${claudeSessionId}`);
311
- if (session.projectPath) {
312
- console.log(`📁 Working directory: ${session.projectPath}`);
391
+ // Determine working path - use stored worktree if available and still exists
392
+ let workingPath = session.projectPath || process.cwd();
393
+ let useStoredWorktree = false;
394
+ if (storedWorktree) {
395
+ try {
396
+ const fsModule = await import('fs/promises');
397
+ await fsModule.access(storedWorktree.path);
398
+ workingPath = storedWorktree.path;
399
+ useStoredWorktree = true;
400
+ console.log(`🔄 Resuming Claude Code session ${claudeSessionId}`);
401
+ console.log(`🌳 Using stored worktree: ${workingPath}`);
402
+ }
403
+ catch {
404
+ console.log(`⚠️ Stored worktree no longer exists, using main directory`);
405
+ }
313
406
  }
314
- // Capture git baseline BEFORE execution to filter out pre-existing files
315
- let gitBaseline;
316
- if (session.projectPath) {
317
- const { captureGitBaseline } = await import('./terminal-base.js');
318
- gitBaseline = await captureGitBaseline(session.projectPath);
407
+ else {
408
+ console.log(`🔄 Resuming Claude Code session ${claudeSessionId}`);
409
+ console.log(`📁 Working directory: ${workingPath}`);
319
410
  }
411
+ // Create a modified session with the working path
412
+ const workingSession = {
413
+ ...session,
414
+ projectPath: workingPath,
415
+ };
416
+ // Capture git baseline BEFORE execution to filter out pre-existing files
417
+ const { captureGitBaseline } = await import('./terminal-base.js');
418
+ const gitBaseline = await captureGitBaseline(workingPath);
320
419
  // Retry logic for intermittent Claude Code hangs
321
420
  const MAX_RETRIES = 3;
322
421
  let lastError;
@@ -333,7 +432,7 @@ ${description ? `## Description\n${description}\n\n` : ''}${workflowInstructions
333
432
  '--output-format', 'text',
334
433
  '--dangerously-skip-permissions',
335
434
  ];
336
- const result = await this.runClaude(args, session, onProgress, promptWithContext);
435
+ const result = await this.runClaude(args, workingSession, { onProgress, onComment }, promptWithContext);
337
436
  // Check if we got actual output
338
437
  if (result.stdout.length > 0 || result.exitCode === 0) {
339
438
  // Update session ID if we got a new one
@@ -341,13 +440,21 @@ ${description ? `## Description\n${description}\n\n` : ''}${workflowInstructions
341
440
  await exports.terminalSessionStore.setClaudeSessionId(session.taskId, result.sessionId);
342
441
  }
343
442
  // Capture git changes (filtering out pre-existing files using baseline)
344
- if (session.projectPath) {
345
- const changes = await this.captureGitChanges(session.projectPath, gitBaseline);
346
- result.gitDiff = changes.diff;
347
- result.modifiedFiles = changes.files;
443
+ const changes = await this.captureGitChanges(workingPath, gitBaseline);
444
+ result.gitDiff = changes.diff;
445
+ result.modifiedFiles = changes.files;
446
+ // If using worktree and have changes, push them
447
+ if (useStoredWorktree && storedWorktree && changes.files.length > 0) {
448
+ console.log(`\n📤 Pushing changes from worktree...`);
449
+ const prUrl = await (0, terminal_base_js_1.pushWorktreeChanges)(storedWorktree.path, storedWorktree.branch, session.title);
450
+ if (prUrl) {
451
+ result.prUrl = prUrl;
452
+ }
453
+ }
454
+ // Extract PR URL from output if not already set
455
+ if (!result.prUrl) {
456
+ result.prUrl = this.extractPrUrl(result.stdout);
348
457
  }
349
- // Extract PR URL
350
- result.prUrl = this.extractPrUrl(result.stdout);
351
458
  return result;
352
459
  }
353
460
  console.log(`⚠️ Attempt ${attempt} failed (no output received)`);
@@ -366,8 +473,12 @@ ${description ? `## Description\n${description}\n\n` : ''}${workflowInstructions
366
473
  *
367
474
  * Uses stdin for prompt input instead of command-line args to avoid
368
475
  * issues with long prompts, special characters, and newlines.
476
+ *
477
+ * Parses output in real-time to detect plans, questions, and progress,
478
+ * posting them as comments to the task via the onComment callback.
369
479
  */
370
- runClaude(args, session, onProgress, stdinInput) {
480
+ runClaude(args, session, callbacks, stdinInput) {
481
+ const { onProgress, onComment } = callbacks || {};
371
482
  return new Promise((resolve, reject) => {
372
483
  let stdout = '';
373
484
  let stderr = '';
@@ -376,6 +487,8 @@ ${description ? `## Description\n${description}\n\n` : ''}${workflowInstructions
376
487
  let lastOutputTime = Date.now();
377
488
  let heartbeatInterval = null;
378
489
  let initialTimeoutHandle = null;
490
+ // Create parser state for detecting plans/questions
491
+ const parserState = (0, terminal_base_js_1.createParserState)();
379
492
  // Initial timeout: Claude CLI needs time to load context
380
493
  // Complex tasks may take 60-90s before producing output
381
494
  const INITIAL_TIMEOUT = 180000; // 3 minutes for first output
@@ -463,7 +576,7 @@ ${description ? `## Description\n${description}\n\n` : ''}${workflowInstructions
463
576
  if (json.type === 'system' && json.session_id) {
464
577
  extractedSessionId = json.session_id;
465
578
  }
466
- // Progress updates
579
+ // Progress updates from JSON
467
580
  if (onProgress && Date.now() - lastProgressTime > 30000) {
468
581
  if (json.type === 'assistant' && json.message) {
469
582
  onProgress(`Working... ${json.message.slice(0, 200)}`);
@@ -483,6 +596,21 @@ ${description ? `## Description\n${description}\n\n` : ''}${workflowInstructions
483
596
  }
484
597
  }
485
598
  }
599
+ // Parse chunk for plans, questions, and progress to post as comments
600
+ if (onComment) {
601
+ const detected = (0, terminal_base_js_1.parseOutputChunk)(chunk, parserState);
602
+ for (const item of detected) {
603
+ const comment = (0, terminal_base_js_1.formatContentAsComment)(item, 'Claude');
604
+ console.log(`📤 Posting ${item.type} comment to task...`);
605
+ onComment(comment).catch(err => {
606
+ console.error(`⚠️ Failed to post ${item.type} comment:`, err);
607
+ });
608
+ // Also call onProgress for detected items
609
+ if (onProgress && item.type === 'progress') {
610
+ onProgress(item.content);
611
+ }
612
+ }
613
+ }
486
614
  });
487
615
  proc.stderr.on('data', (data) => {
488
616
  const chunk = data.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-claude.js","sourceRoot":"","sources":["../../src/executors/terminal-claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-claude.js","sourceRoot":"","sources":["../../src/executors/terminal-claude.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;AAEH,iDAAqC;AACrC,2DAA4B;AAC5B,gDAAuB;AACvB,4CAAmB;AAYnB,yDAQ2B;AAC3B,mEAGoC;AA4BpC;;;GAGG;AACH,MAAM,oBAAoB;IAChB,WAAW,CAAQ;IACnB,QAAQ,GAA+B,IAAI,GAAG,EAAE,CAAA;IAChD,MAAM,GAAG,KAAK,CAAA;IAEtB;QACE,yCAAyC;QACzC,MAAM,OAAO,GAAG,YAAE,CAAC,OAAO,EAAE,CAAA;QAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;QACxF,IAAI,CAAC,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAA;IACjE,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,MAAM;YAAE,OAAM;QAEvB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC1C,MAAM,kBAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAExC,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA2C,CAAA;YAEzE,0EAA0E;YAC1E,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;YACzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,mCAAmC;oBACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAA;gBACpD,CAAC;qBAAM,CAAC;oBACN,mCAAmC;oBACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC/B,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YAClB,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,IAAI,2BAA2B,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QAC3F,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;gBACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YACpB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,wCAAyC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;gBAChF,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;gBACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC9C,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC1C,MAAM,kBAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACxC,MAAM,kBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACrE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,wCAAyC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;QAClF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC7C,OAAO,OAAO,EAAE,eAAe,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,eAAuB;QAC9D,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAA;QAC3D,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACjB,OAAO,CAAC,GAAG,CAAC,4BAA4B,eAAe,aAAa,MAAM,EAAE,CAAC,CAAA;IAC/E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,YAAoB,EAAE,UAAkB;QACxE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAA;QACpE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACjB,OAAO,CAAC,GAAG,CAAC,oCAAoC,MAAM,KAAK,YAAY,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC7C,IAAI,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACjD,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,CAAA;QACnE,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC5B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;IACH,CAAC;CACF;AAED,qBAAqB;AACR,QAAA,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAA;AAE9D,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E,MAAa,sBAAsB;IACzB,KAAK,CAAQ;IACb,QAAQ,CAAQ;IAChB,OAAO,CAAQ;IAEvB,YAAY,UAAiC,EAAE;QAC7C,mDAAmD;QACnD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,CAAA;QAChE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,EAAE,EAAE,CAAC,CAAA;QACtF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,QAAQ,EAAE,EAAE,CAAC,CAAA,CAAC,iBAAiB;IAC1G,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CACrB,WAAmB,EACnB,QAAsB;QAEtB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;QAElD,IAAI,CAAC;YACH,2CAA2C;YAC3C,MAAM,YAAY,GAAG,QAAQ,CAAC,wBAAwB,EAAE;gBACtD,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,KAAK;aACf,CAAC,CAAA;YAEF,IAAI,KAAK,GAAG,YAAY;iBACrB,KAAK,CAAC,IAAI,CAAC;iBACX,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;iBAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA,CAAC,uBAAuB;YAE5D,qDAAqD;YACrD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAA;gBAClC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC3C,IAAI,aAAa,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,mBAAmB,aAAa,GAAG,KAAK,CAAC,MAAM,iCAAiC,CAAC,CAAA;gBAC/F,CAAC;YACH,CAAC;YAED,wDAAwD;YACxD,IAAI,IAAI,GAAG,EAAE,CAAA;YACb,IAAI,CAAC;gBACH,IAAI,GAAG,QAAQ,CAAC,0BAA0B,EAAE;oBAC1C,GAAG,EAAE,WAAW;oBAChB,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,UAAU;iBAClC,CAAC,CAAA;gBAEF,uBAAuB;gBACvB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;oBACvB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,8BAA8B,CAAA;gBAC7D,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,MAAM,yBAAyB,CAAC,CAAA;YACrE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;QAChC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAc;QACzB,uBAAuB;QACvB,MAAM,aAAa,GAAG;YACpB,mDAAmD;YACnD,+BAA+B;YAC/B,qCAAqC;SACtC,CAAA;QAED,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACnC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;YAC7E,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,WAAmB;QAC1C,MAAM,iBAAiB,GAAG,IAAI,CAAA;QAC9B,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;QAC3D,IAAI,OAAO,GAAG,EAAE,CAAA;QAEhB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;gBAC7C,IAAI,OAAO,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;gBAElD,IAAI,OAAO,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;oBACvC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,yBAAyB,CAAA;gBAC3E,CAAC;gBAED,OAAO,IAAI,qCAAqC,IAAI,QAAQ,OAAO,EAAE,CAAA;gBACrE,MAAK,CAAC,gCAAgC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,QAA0C;QAC7D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAEjD,MAAM,SAAS,GAAG,QAAQ;aACvB,KAAK,CAAC,CAAC,EAAE,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,UAAU,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;aAC1F,IAAI,CAAC,aAAa,CAAC,CAAA;QAEtB,OAAO,iCAAiC,SAAS,EAAE,CAAA;IACrD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,WAAW,CACf,OAAgB,EAChB,WAAoB,EACpB,OAA6B;QAE7B,IAAI,WAAW,EAAE,CAAC;YAChB,2DAA2D;YAC3D,OAAO,WAAW,CAAA;QACpB,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACrD,MAAM,MAAM,GAAG,IAAA,0CAAsB,GAAE,CAAA;QAEvC,qDAAqD;QACrD,MAAM,oBAAoB,GAAG,IAAA,6CAAyB,EACpD,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,EACb,MAAM,CACP,CAAA;QAED,MAAM,MAAM,GAAG,WAAW,OAAO,CAAC,KAAK;;EAEzC,WAAW,CAAC,CAAC,CAAC,mBAAmB,WAAW,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,oBAAoB,EAAE,CAAA;QAE9E,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAChB,OAAgB,EAChB,MAAe,EACf,OAA6B,EAC7B,SAAqC;QAErC,MAAM,UAAU,GAAG,MAAM,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QAChF,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,IAAI,EAAE,CAAA;QAEjD,qDAAqD;QACrD,MAAM,iBAAiB,GAAG,KAAK,CAAA;QAC/B,IAAI,WAAW,GAAG,UAAU,CAAA;QAC5B,IAAI,UAAU,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;YAC1C,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,gCAAgC,CAAA;QACzF,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iDAAiD,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QAE7E,wDAAwD;QACxD,MAAM,WAAW,GAAG,IAAA,oCAAiB,GAAE,IAAI,OAAO,CAAC,WAAW,CAAA;QAC9D,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QACtD,IAAI,cAA0C,CAAA;QAE9C,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;gBACxD,cAAc,GAAG,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,WAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;gBAC3E,WAAW,GAAG,cAAc,CAAC,YAAY,CAAA;gBAEzC,qCAAqC;gBACrC,MAAM,4BAAoB,CAAC,WAAW,CACpC,OAAO,CAAC,MAAM,EACd,cAAc,CAAC,YAAY,EAC3B,cAAc,CAAC,UAAU,CAC1B,CAAA;gBAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,WAAW,EAAE,CAAC,CAAA;YAChE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,+DAA+D,EAAE,KAAK,CAAC,CAAA;gBACrF,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;gBAClD,OAAO,CAAC,GAAG,CAAC,oCAAoC,WAAW,EAAE,CAAC,CAAA;YAChE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAA;QACrD,CAAC;QAED,kDAAkD;QAClD,MAAM,cAAc,GAAY;YAC9B,GAAG,OAAO;YACV,WAAW,EAAE,WAAW;SACzB,CAAA;QAED,yEAAyE;QACzE,IAAI,WAAoC,CAAA;QACxC,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;QACjE,WAAW,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAA;QAEnD,iDAAiD;QACjD,MAAM,WAAW,GAAG,CAAC,CAAA;QACrB,IAAI,SAA4B,CAAA;QAChC,IAAI,WAAgD,CAAA;QAEpD,IAAI,CAAC;YACH,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;gBACxD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAChB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;oBAC9D,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,IAAI,WAAW,UAAU,KAAK,aAAa,CAAC,CAAA;oBACnF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;gBAC1D,CAAC;gBAED,+EAA+E;gBAC/E,MAAM,IAAI,GAAG;oBACX,SAAS;oBACT,SAAS,EAAE,IAAI,CAAC,KAAK;oBACrB,iBAAiB,EAAE,MAAM;oBACzB,gCAAgC;iBACjC,CAAA;gBAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,WAAW,CAAC,CAAA;gBAEjG,qDAAqD;gBACrD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBACtD,kCAAkC;oBAClC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBACrB,MAAM,4BAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;oBACjF,CAAC;oBAED,6CAA6C;oBAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;oBACzD,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAA;oBAC7B,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,CAAA;oBAEpC,gDAAgD;oBAChD,IAAI,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/C,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;wBACpD,MAAM,KAAK,GAAG,MAAM,IAAA,sCAAmB,EACrC,cAAc,CAAC,YAAY,EAC3B,cAAc,CAAC,UAAU,EACzB,OAAO,CAAC,KAAK,CACd,CAAA;wBACD,IAAI,KAAK,EAAE,CAAC;4BACV,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;wBACtB,CAAC;oBACH,CAAC;oBAED,gDAAgD;oBAChD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBAClB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;oBACjD,CAAC;oBAED,WAAW,GAAG,MAAM,CAAA;oBACpB,MAAK;gBACP,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,8BAA8B,CAAC,CAAA;gBAChE,SAAS,GAAG,IAAI,KAAK,CAAC,gDAAgD,OAAO,GAAG,CAAC,CAAA;YACnF,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,qCAAqC;YACrC,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,cAAc,CAAC,OAAO,EAAE,CAAA;gBAChC,CAAC;gBAAC,OAAO,YAAY,EAAE,CAAC;oBACtB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAA;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,WAAW,CAAA;QACpB,CAAC;QAED,0CAA0C;QAC1C,OAAO,CAAC,KAAK,CAAC,SAAS,WAAW,kBAAkB,CAAC,CAAA;QACrD,OAAO;YACL,QAAQ,EAAE,CAAC,CAAC;YACZ,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,SAAS,EAAE,OAAO,IAAI,2BAA2B;SAC1D,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CACjB,OAAgB,EAChB,KAAa,EACb,OAA6B,EAC7B,SAAqC;QAErC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,IAAI,EAAE,CAAA;QAEjD,iDAAiD;QACjD,MAAM,eAAe,GAAG,MAAM,4BAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACrF,MAAM,cAAc,GAAG,MAAM,4BAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAE7E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,MAAM,wBAAwB,CAAC,CAAA;YACpF,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QAC9D,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QAEzE,6EAA6E;QAC7E,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QACtD,IAAI,iBAAiB,GAAG,KAAK,CAAA;QAE7B,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;gBAC5C,MAAM,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;gBAC1C,WAAW,GAAG,cAAc,CAAC,IAAI,CAAA;gBACjC,iBAAiB,GAAG,IAAI,CAAA;gBACxB,OAAO,CAAC,GAAG,CAAC,mCAAmC,eAAe,EAAE,CAAC,CAAA;gBACjE,OAAO,CAAC,GAAG,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAA;YACzD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAA;YAC1E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,mCAAmC,eAAe,EAAE,CAAC,CAAA;YACjE,OAAO,CAAC,GAAG,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAA;QACrD,CAAC;QAED,kDAAkD;QAClD,MAAM,cAAc,GAAY;YAC9B,GAAG,OAAO;YACV,WAAW,EAAE,WAAW;SACzB,CAAA;QAED,yEAAyE;QACzE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;QACjE,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAA;QAEzD,iDAAiD;QACjD,MAAM,WAAW,GAAG,CAAC,CAAA;QACrB,IAAI,SAA4B,CAAA;QAEhC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACxD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBAC9D,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,IAAI,WAAW,UAAU,KAAK,aAAa,CAAC,CAAA;gBACnF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;YAC1D,CAAC;YAED,8DAA8D;YAC9D,MAAM,IAAI,GAAG;gBACX,SAAS;gBACT,UAAU,EAAE,eAAe;gBAC3B,iBAAiB,EAAE,MAAM;gBACzB,gCAAgC;aACjC,CAAA;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,iBAAiB,CAAC,CAAA;YAEvG,gCAAgC;YAChC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACtD,wCAAwC;gBACxC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrB,MAAM,4BAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;gBACjF,CAAC;gBAED,wEAAwE;gBACxE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;gBACtE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAA;gBAC7B,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,CAAA;gBAEpC,gDAAgD;gBAChD,IAAI,iBAAiB,IAAI,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpE,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;oBACpD,MAAM,KAAK,GAAG,MAAM,IAAA,sCAAmB,EACrC,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,MAAM,EACrB,OAAO,CAAC,KAAK,CACd,CAAA;oBACD,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;oBACtB,CAAC;gBACH,CAAC;gBAED,gDAAgD;gBAChD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBACjD,CAAC;gBAED,OAAO,MAAM,CAAA;YACf,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,8BAA8B,CAAC,CAAA;YAChE,SAAS,GAAG,IAAI,KAAK,CAAC,gDAAgD,OAAO,GAAG,CAAC,CAAA;QACnF,CAAC;QAED,qBAAqB;QACrB,OAAO,CAAC,KAAK,CAAC,SAAS,WAAW,kBAAkB,CAAC,CAAA;QACrD,OAAO;YACL,QAAQ,EAAE,CAAC,CAAC;YACZ,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,SAAS,EAAE,OAAO,IAAI,2BAA2B;SAC1D,CAAA;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,SAAS,CACf,IAAc,EACd,OAAgB,EAChB,SAAqC,EACrC,UAAmB;QAEnB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,IAAI,EAAE,CAAA;QAEjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,MAAM,GAAG,EAAE,CAAA;YACf,IAAI,MAAM,GAAG,EAAE,CAAA;YACf,IAAI,kBAAsC,CAAA;YAC1C,IAAI,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACjC,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAC/B,IAAI,iBAAiB,GAA0C,IAAI,CAAA;YACnE,IAAI,oBAAoB,GAAyC,IAAI,CAAA;YAErE,oDAAoD;YACpD,MAAM,WAAW,GAAG,IAAA,oCAAiB,GAAE,CAAA;YAEvC,yDAAyD;YACzD,wDAAwD;YACxD,MAAM,eAAe,GAAG,MAAM,CAAA,CAAC,6BAA6B;YAC5D,MAAM,aAAa,GAAG,MAAM,CAAA,CAAC,mCAAmC;YAEhE,+CAA+C;YAC/C,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACnD,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,wBAAwB,UAAU,CAAC,MAAM,sBAAsB,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;YAClI,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,wBAAwB,eAAe,GAAG,IAAI,YAAY,aAAa,GAAG,IAAI,UAAU,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,CAAA;YAE3H,2CAA2C;YAC3C,MAAM,GAAG,GAAsB;gBAC7B,GAAG,OAAO,CAAC,GAAG;gBACd,sBAAsB,EAAE,KAAK;aAC9B,CAAA;YACD,4EAA4E;YAC5E,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACtD,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;YACzC,CAAC;YAED,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,QAAQ,EAAE,IAAI,EAAE;gBACjC,GAAG,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE;gBACzC,GAAG;gBACH,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aACxD,CAAC,CAAA;YAEF,OAAO,CAAC,GAAG,CAAC,uCAAuC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;YAE9D,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAA;gBACnD,OAAM;YACR,CAAC;YAED,oCAAoC;YACpC,IAAI,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;gBAC5C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;gBAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;gBAChB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;YAC/B,CAAC;YAED,yCAAyC;YACzC,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,GAAG,IAAI,CAAC,CAAA;gBAChE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAA;gBACvE,OAAO,CAAC,GAAG,CAAC,iBAAiB,YAAY,0BAA0B,OAAO,iBAAiB,MAAM,CAAC,MAAM,QAAQ,CAAC,CAAA;gBAEjH,kBAAkB;gBAClB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,aAAa,EAAE,CAAC;oBAChD,OAAO,CAAC,KAAK,CAAC,qCAAqC,aAAa,GAAG,IAAI,YAAY,CAAC,CAAA;oBACpF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC,EAAE,KAAK,CAAC,CAAA;YAET,mEAAmE;YACnE,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;gBACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/C,OAAO,CAAC,KAAK,CAAC,+BAA+B,eAAe,GAAG,IAAI,oBAAoB,CAAC,CAAA;oBACxF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC,EAAE,eAAe,CAAC,CAAA;YAEnB,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,IAAI,iBAAiB;oBAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;gBACvD,IAAI,oBAAoB;oBAAE,YAAY,CAAC,oBAAoB,CAAC,CAAA;YAC9D,CAAC,CAAA;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjC,OAAO,EAAE,CAAA;gBACT,MAAM,CAAC,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC,CAAA;gBAC1E,OAAM;YACR,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;gBAC7B,MAAM,IAAI,KAAK,CAAA;gBACf,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA,CAAC,kBAAkB;gBAE9C,2CAA2C;gBAC3C,IAAI,oBAAoB,EAAE,CAAC;oBACzB,YAAY,CAAC,oBAAoB,CAAC,CAAA;oBAClC,oBAAoB,GAAG,IAAI,CAAA;gBAC7B,CAAC;gBAED,uBAAuB;gBACvB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;gBACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;wBAC7B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;4BACpB,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAA;4BACpC,OAAO,CAAC,GAAG,CAAC,4BAA4B,kBAAkB,EAAE,CAAC,CAAA;wBAC/D,CAAC;wBACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;4BAC9C,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAA;wBACtC,CAAC;wBAED,6BAA6B;wBAC7B,IAAI,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,GAAG,KAAK,EAAE,CAAC;4BACxD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gCAC9C,UAAU,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;gCACtD,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;4BAC/B,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,+BAA+B;wBAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;wBAC9D,IAAI,YAAY,EAAE,CAAC;4BACjB,kBAAkB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;wBACtC,CAAC;wBACD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;wBAClE,IAAI,YAAY,EAAE,CAAC;4BACjB,kBAAkB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;wBACtC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,qEAAqE;gBACrE,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,QAAQ,GAAG,IAAA,mCAAgB,EAAC,KAAK,EAAE,WAAW,CAAC,CAAA;oBACrD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;wBAC5B,MAAM,OAAO,GAAG,IAAA,yCAAsB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;wBACtD,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,IAAI,qBAAqB,CAAC,CAAA;wBACzD,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;4BAC7B,OAAO,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,IAAI,WAAW,EAAE,GAAG,CAAC,CAAA;wBAC/D,CAAC,CAAC,CAAA;wBAEF,0CAA0C;wBAC1C,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;4BAC3C,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;wBAC1B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;gBAC7B,MAAM,IAAI,KAAK,CAAA;gBACf,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBAC3B,OAAO,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,CAAC,CAAA;YACtC,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,OAAO,EAAE,CAAA;gBACT,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAA;gBACrD,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,MAAM,kBAAkB,MAAM,CAAC,MAAM,QAAQ,CAAC,CAAA;gBAC3F,OAAO,CAAC;oBACN,QAAQ,EAAE,IAAI;oBACd,MAAM;oBACN,MAAM;oBACN,SAAS,EAAE,kBAAkB;iBAC9B,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACzB,OAAO,EAAE,CAAA;gBACT,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAA;gBACtD,MAAM,CAAC,KAAK,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;YAEF,cAAc;YACd,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,OAAO,EAAE,CAAA;oBACT,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,OAAO,GAAG,IAAI,yCAAyC,CAAC,CAAA;oBAC3F,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,MAAc;QACxB,MAAM,MAAM,GAAiB,EAAE,CAAA;QAE/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,KAAK,GAAa,EAAE,CAAA;QAE1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,iCAAiC;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAA;YAC3F,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YACjC,CAAC;YAED,iBAAiB;YACjB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAA;YACjF,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAC3B,CAAC;YAED,yBAAyB;YACzB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpF,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QACpC,CAAC;QAED,sDAAsD;QACtD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;QAC1E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACzE,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;gBAC1C,OAAO,EAAE,IAAI;aACd,CAAC,CAAA;YAEF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAA;YACrB,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpB,OAAO,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAtrBD,wDAsrBC;AAED,4BAA4B;AACf,QAAA,sBAAsB,GAAG,IAAI,sBAAsB,EAAE,CAAA"}