@zhixuan92/multi-model-agent-core 0.4.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/dist/config/load.js +9 -9
  2. package/dist/config/load.js.map +1 -1
  3. package/dist/config/schema.d.ts +168 -275
  4. package/dist/config/schema.d.ts.map +1 -1
  5. package/dist/config/schema.js +30 -39
  6. package/dist/config/schema.js.map +1 -1
  7. package/dist/cost/cost-meter.d.ts +13 -0
  8. package/dist/cost/cost-meter.d.ts.map +1 -0
  9. package/dist/cost/cost-meter.js +20 -0
  10. package/dist/cost/cost-meter.js.map +1 -0
  11. package/dist/delegate-with-escalation.d.ts +1 -28
  12. package/dist/delegate-with-escalation.d.ts.map +1 -1
  13. package/dist/delegate-with-escalation.js +9 -89
  14. package/dist/delegate-with-escalation.js.map +1 -1
  15. package/dist/error-codes.d.ts +4 -0
  16. package/dist/error-codes.d.ts.map +1 -0
  17. package/dist/error-codes.js +16 -0
  18. package/dist/error-codes.js.map +1 -0
  19. package/dist/index.d.ts +5 -5
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +4 -5
  22. package/dist/index.js.map +1 -1
  23. package/dist/model-profiles.json +10 -5
  24. package/dist/provider.d.ts +2 -2
  25. package/dist/provider.d.ts.map +1 -1
  26. package/dist/provider.js +10 -13
  27. package/dist/provider.js.map +1 -1
  28. package/dist/readiness/normalization-budget.d.ts +2 -0
  29. package/dist/readiness/normalization-budget.d.ts.map +1 -0
  30. package/dist/readiness/normalization-budget.js +9 -0
  31. package/dist/readiness/normalization-budget.js.map +1 -0
  32. package/dist/readiness/normalize-brief.d.ts +17 -0
  33. package/dist/readiness/normalize-brief.d.ts.map +1 -0
  34. package/dist/readiness/normalize-brief.js +124 -0
  35. package/dist/readiness/normalize-brief.js.map +1 -0
  36. package/dist/readiness/readiness.d.ts +16 -0
  37. package/dist/readiness/readiness.d.ts.map +1 -0
  38. package/dist/readiness/readiness.js +160 -0
  39. package/dist/readiness/readiness.js.map +1 -0
  40. package/dist/reporting/structured-report.d.ts +18 -0
  41. package/dist/reporting/structured-report.d.ts.map +1 -0
  42. package/dist/reporting/structured-report.js +100 -0
  43. package/dist/reporting/structured-report.js.map +1 -0
  44. package/dist/review/aggregate-result.d.ts +3 -0
  45. package/dist/review/aggregate-result.d.ts.map +1 -0
  46. package/dist/review/aggregate-result.js +31 -0
  47. package/dist/review/aggregate-result.js.map +1 -0
  48. package/dist/review/quality-reviewer.d.ts +13 -0
  49. package/dist/review/quality-reviewer.d.ts.map +1 -0
  50. package/dist/review/quality-reviewer.js +39 -0
  51. package/dist/review/quality-reviewer.js.map +1 -0
  52. package/dist/review/reviewer-prompt.d.ts +10 -0
  53. package/dist/review/reviewer-prompt.d.ts.map +1 -0
  54. package/dist/review/reviewer-prompt.js +58 -0
  55. package/dist/review/reviewer-prompt.js.map +1 -0
  56. package/dist/review/spec-reviewer.d.ts +13 -0
  57. package/dist/review/spec-reviewer.d.ts.map +1 -0
  58. package/dist/review/spec-reviewer.js +37 -0
  59. package/dist/review/spec-reviewer.js.map +1 -0
  60. package/dist/routing/model-profiles.d.ts +5 -0
  61. package/dist/routing/model-profiles.d.ts.map +1 -1
  62. package/dist/routing/model-profiles.js +5 -0
  63. package/dist/routing/model-profiles.js.map +1 -1
  64. package/dist/routing/resolve-agent.d.ts +8 -0
  65. package/dist/routing/resolve-agent.d.ts.map +1 -0
  66. package/dist/routing/resolve-agent.js +45 -0
  67. package/dist/routing/resolve-agent.js.map +1 -0
  68. package/dist/run-tasks.d.ts +0 -23
  69. package/dist/run-tasks.d.ts.map +1 -1
  70. package/dist/run-tasks.js +241 -72
  71. package/dist/run-tasks.js.map +1 -1
  72. package/dist/runners/claude-runner.d.ts.map +1 -1
  73. package/dist/runners/claude-runner.js +67 -24
  74. package/dist/runners/claude-runner.js.map +1 -1
  75. package/dist/runners/codex-runner.d.ts.map +1 -1
  76. package/dist/runners/codex-runner.js +68 -21
  77. package/dist/runners/codex-runner.js.map +1 -1
  78. package/dist/runners/openai-runner.d.ts.map +1 -1
  79. package/dist/runners/openai-runner.js +139 -20
  80. package/dist/runners/openai-runner.js.map +1 -1
  81. package/dist/runners/prevention.d.ts +2 -0
  82. package/dist/runners/prevention.d.ts.map +1 -1
  83. package/dist/runners/prevention.js +12 -0
  84. package/dist/runners/prevention.js.map +1 -1
  85. package/dist/runners/supervision.d.ts +1 -5
  86. package/dist/runners/supervision.d.ts.map +1 -1
  87. package/dist/runners/supervision.js +0 -68
  88. package/dist/runners/supervision.js.map +1 -1
  89. package/dist/tools/call-cache.d.ts +16 -0
  90. package/dist/tools/call-cache.d.ts.map +1 -0
  91. package/dist/tools/call-cache.js +28 -0
  92. package/dist/tools/call-cache.js.map +1 -0
  93. package/dist/types.d.ts +78 -30
  94. package/dist/types.d.ts.map +1 -1
  95. package/dist/types.js.map +1 -1
  96. package/package.json +48 -16
  97. package/dist/routing/capabilities.d.ts +0 -3
  98. package/dist/routing/capabilities.d.ts.map +0 -1
  99. package/dist/routing/capabilities.js +0 -26
  100. package/dist/routing/capabilities.js.map +0 -1
  101. package/dist/routing/get-provider-eligibility.d.ts +0 -8
  102. package/dist/routing/get-provider-eligibility.d.ts.map +0 -1
  103. package/dist/routing/get-provider-eligibility.js +0 -53
  104. package/dist/routing/get-provider-eligibility.js.map +0 -1
  105. package/dist/routing/resolve-task-capabilities.d.ts +0 -7
  106. package/dist/routing/resolve-task-capabilities.d.ts.map +0 -1
  107. package/dist/routing/resolve-task-capabilities.js +0 -19
  108. package/dist/routing/resolve-task-capabilities.js.map +0 -1
  109. package/dist/routing/select-provider-for-task.d.ts +0 -18
  110. package/dist/routing/select-provider-for-task.d.ts.map +0 -1
  111. package/dist/routing/select-provider-for-task.js +0 -50
  112. package/dist/routing/select-provider-for-task.js.map +0 -1
@@ -5,8 +5,10 @@ import { FileTracker } from '../tools/tracker.js';
5
5
  import { createToolImplementations } from '../tools/definitions.js';
6
6
  import { createClaudeToolServer } from '../tools/claude-adapter.js';
7
7
  import { TextScratchpad } from '../tools/scratchpad.js';
8
- import { buildSystemPrompt, buildBudgetHint, buildReGroundingMessage, buildBudgetPressureNudge, RE_GROUNDING_INTERVAL_TURNS, } from './prevention.js';
9
- import { validateSubAgentOutput, buildRePrompt, sameDegenerateOutput, resolveInputTokenSoftLimit, checkWatchdogThreshold, logWatchdogEvent, trimProgressTrace, } from './supervision.js';
8
+ import { CostMeter } from '../cost/cost-meter.js';
9
+ import { CallCache } from '../tools/call-cache.js';
10
+ import { buildSystemPrompt, buildBudgetHint, buildReGroundingMessage, buildBudgetPressureNudge, buildFormatConstraintSuffix, RE_GROUNDING_INTERVAL_TURNS, } from './prevention.js';
11
+ import { validateSubAgentOutput, buildRePrompt, sameDegenerateOutput, resolveInputTokenSoftLimit, checkWatchdogThreshold, logWatchdogEvent, } from './supervision.js';
10
12
  import { injectionTypeFor } from './injection-type.js';
11
13
  import { classifyError } from './error-classification.js';
12
14
  import { findModelProfile } from '../routing/model-profiles.js';
@@ -99,11 +101,7 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
99
101
  // upstream and cannot corrupt this loop. We do not need to wrap it
100
102
  // again here.
101
103
  const onProgress = options.onProgress;
102
- const shouldCaptureTrace = options.includeProgressTrace ?? false;
103
- const traceBuffer = [];
104
104
  const emit = (event) => {
105
- if (shouldCaptureTrace)
106
- traceBuffer.push(event);
107
105
  if (onProgress)
108
106
  onProgress(event);
109
107
  };
@@ -124,6 +122,48 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
124
122
  emit({ kind: 'tool_call', turn: turns, toolSummary: summary });
125
123
  });
126
124
  const toolImpls = createToolImplementations(tracker, cwd, sandboxPolicy, abortController.signal);
125
+ // --- Cost meter (Task 25) ------------------------------------------------
126
+ const costMeter = new CostMeter({ ceiling: options.maxCostUSD });
127
+ // --- Call cache (Task 25) ------------------------------------------------
128
+ const callCache = new CallCache();
129
+ const agentType = providerConfig.type ?? 'claude';
130
+ // Track last turn cost for estimating next turn cost
131
+ let lastTurnCostUSD = 0;
132
+ /**
133
+ * Check if we can afford the next turn based on previous turn cost estimate.
134
+ */
135
+ function canAffordNextTurn() {
136
+ if (!costMeter.canProceed(lastTurnCostUSD > 0 ? lastTurnCostUSD : 0.001)) {
137
+ return false;
138
+ }
139
+ return true;
140
+ }
141
+ /**
142
+ * Build a cost_exceeded result.
143
+ */
144
+ function buildCostExceededResult() {
145
+ const finalCostUSD = effectiveClaudeCost(providerConfig, inputTokens, outputTokens, costUSD);
146
+ const savedCostUSD = computeSavedCostUSD(finalCostUSD, inputTokens, outputTokens, parentModel);
147
+ return {
148
+ output: `Cost ceiling exceeded: maxCostUSD=${options.maxCostUSD}`,
149
+ status: 'cost_exceeded',
150
+ usage: {
151
+ inputTokens,
152
+ outputTokens,
153
+ totalTokens: inputTokens + outputTokens,
154
+ costUSD: finalCostUSD,
155
+ savedCostUSD,
156
+ },
157
+ turns,
158
+ filesRead: tracker.getReads(),
159
+ directoriesListed: tracker.getDirectoriesListed(),
160
+ filesWritten: tracker.getWrites(),
161
+ toolCalls: tracker.getToolCalls(),
162
+ outputIsDiagnostic: true,
163
+ escalationLog: [],
164
+ durationMs: Date.now() - taskStartMs,
165
+ };
166
+ }
127
167
  // --- Prevention layer: system prompt + budget hint ---
128
168
  //
129
169
  // buildSystemPrompt() is deliberately static and parameter-free (same
@@ -134,7 +174,7 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
134
174
  // node_modules/@anthropic-ai/claude-agent-sdk/sdk.d.ts L1460-1465 for the
135
175
  // systemPrompt union type — `{ type: 'preset', preset: 'claude_code',
136
176
  // append: string }` is the intended "add to defaults" shape.
137
- const systemPrompt = buildSystemPrompt();
177
+ const systemPrompt = buildSystemPrompt() + buildFormatConstraintSuffix(options.formatConstraints ?? {});
138
178
  const budgetHint = buildBudgetHint({ maxTurns });
139
179
  const promptWithBudgetHint = `${budgetHint}\n\n${prompt}`;
140
180
  // --- onInitialRequest (Task 12) ----------------------------------------
@@ -331,7 +371,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
331
371
  softLimit,
332
372
  durationMs: Date.now() - taskStartMs,
333
373
  parentModel,
334
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
335
374
  });
336
375
  messageQueue.close();
337
376
  abortController.abort();
@@ -361,6 +400,11 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
361
400
  // the CLI subprocess decides to emit a final result after it
362
401
  // processes the new user message. ---
363
402
  if (turns > 0 && turns % RE_GROUNDING_INTERVAL_TURNS === 0) {
403
+ if (!canAffordNextTurn()) {
404
+ completedResult = buildCostExceededResult();
405
+ messageQueue.close();
406
+ break;
407
+ }
364
408
  const reground = buildReGroundingMessage({
365
409
  originalPromptExcerpt: prompt,
366
410
  currentTurn: turns,
@@ -418,6 +462,12 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
418
462
  cumulativeInputTokens: inputTokens,
419
463
  cumulativeOutputTokens: outputTokens,
420
464
  });
465
+ // Track cost for this turn (Task 25)
466
+ const turnCost = computeCostUSD(turnInputTokens, turnOutputTokens, providerConfig);
467
+ if (turnCost !== null) {
468
+ lastTurnCostUSD = turnCost;
469
+ costMeter.add(turnCost);
470
+ }
421
471
  // --- Watchdog check on the result message as well: input tokens
422
472
  // have just jumped and we may now be in force_salvage territory.
423
473
  // The post-result site ONLY handles force_salvage. `warning` is
@@ -452,7 +502,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
452
502
  softLimit,
453
503
  durationMs: Date.now() - taskStartMs,
454
504
  parentModel,
455
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
456
505
  });
457
506
  messageQueue.close();
458
507
  abortController.abort();
@@ -474,7 +523,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
474
523
  reason: `claude-agent-sdk signaled error_max_turns after ${turns} turns (user-declared maxTurns: ${maxTurns})`,
475
524
  durationMs: Date.now() - taskStartMs,
476
525
  parentModel,
477
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
478
526
  });
479
527
  messageQueue.close();
480
528
  break;
@@ -499,7 +547,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
499
547
  output,
500
548
  durationMs: Date.now() - taskStartMs,
501
549
  parentModel,
502
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
503
550
  });
504
551
  messageQueue.close();
505
552
  break;
@@ -519,7 +566,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
519
566
  reason: `supervision loop exhausted after ${supervisionRetries} re-prompts (last kind: ${validation.kind ?? 'unknown'})`,
520
567
  durationMs: Date.now() - taskStartMs,
521
568
  parentModel,
522
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
523
569
  });
524
570
  messageQueue.close();
525
571
  break;
@@ -538,12 +584,16 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
538
584
  reason: `supervision loop exhausted after ${supervisionRetries} re-prompts (last kind: ${validation.kind ?? 'unknown'})`,
539
585
  durationMs: Date.now() - taskStartMs,
540
586
  parentModel,
541
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
542
587
  });
543
588
  messageQueue.close();
544
589
  break;
545
590
  }
546
591
  // Push the re-prompt and continue reading the iterator.
592
+ if (!canAffordNextTurn()) {
593
+ completedResult = buildCostExceededResult();
594
+ messageQueue.close();
595
+ break;
596
+ }
547
597
  const rePrompt = buildRePrompt(validation);
548
598
  emit({
549
599
  kind: 'injection',
@@ -585,7 +635,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
585
635
  escalationLog: [],
586
636
  error: msg || reason,
587
637
  durationMs: Date.now() - taskStartMs,
588
- ...(shouldCaptureTrace && { progressTrace: trimProgressTrace(traceBuffer) }),
589
638
  };
590
639
  }
591
640
  // Every `break` inside the iterator above assigned `completedResult`
@@ -607,7 +656,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
607
656
  turns,
608
657
  durationMs: Date.now() - taskStartMs,
609
658
  parentModel,
610
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
611
659
  });
612
660
  emit({ kind: 'done', status: drained.status });
613
661
  return drained;
@@ -635,7 +683,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
635
683
  outputIsDiagnostic: !hasSalvage,
636
684
  escalationLog: [],
637
685
  durationMs: Date.now() - taskStartMs,
638
- ...(shouldCaptureTrace && { progressTrace: trimProgressTrace(traceBuffer) }),
639
686
  };
640
687
  }, abortController);
641
688
  }
@@ -644,7 +691,7 @@ function effectiveClaudeCost(providerConfig, inputTokens, outputTokens, sdkCost)
644
691
  return computed ?? sdkCost;
645
692
  }
646
693
  function buildClaudeOkResult(args) {
647
- const { tracker, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, output, durationMs, parentModel, traceBuffer } = args;
694
+ const { tracker, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, output, durationMs, parentModel } = args;
648
695
  const costUSD = effectiveClaudeCost(providerConfig, inputTokens, outputTokens, sdkCostUSD);
649
696
  const savedCostUSD = computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel);
650
697
  return {
@@ -666,7 +713,6 @@ function buildClaudeOkResult(args) {
666
713
  outputIsDiagnostic: false,
667
714
  escalationLog: [],
668
715
  durationMs,
669
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
670
716
  };
671
717
  }
672
718
  /**
@@ -674,7 +720,7 @@ function buildClaudeOkResult(args) {
674
720
  * scratchpad salvage; fall back to the incomplete diagnostic.
675
721
  */
676
722
  function buildClaudeIncompleteResult(args) {
677
- const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, reason, durationMs, parentModel, traceBuffer } = args;
723
+ const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, reason, durationMs, parentModel } = args;
678
724
  const filesRead = tracker.getReads();
679
725
  const filesWritten = tracker.getWrites();
680
726
  const costUSD = effectiveClaudeCost(providerConfig, inputTokens, outputTokens, sdkCostUSD);
@@ -707,11 +753,10 @@ function buildClaudeIncompleteResult(args) {
707
753
  escalationLog: [],
708
754
  error: reason,
709
755
  durationMs,
710
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
711
756
  };
712
757
  }
713
758
  function buildClaudeForceSalvageResult(args) {
714
- const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, softLimit, durationMs, parentModel, traceBuffer } = args;
759
+ const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, softLimit, durationMs, parentModel } = args;
715
760
  const costUSD = effectiveClaudeCost(providerConfig, inputTokens, outputTokens, sdkCostUSD);
716
761
  const savedCostUSD = computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel);
717
762
  const hasSalvage = !scratchpad.isEmpty();
@@ -735,11 +780,10 @@ function buildClaudeForceSalvageResult(args) {
735
780
  outputIsDiagnostic: !hasSalvage,
736
781
  escalationLog: [],
737
782
  durationMs,
738
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
739
783
  };
740
784
  }
741
785
  function buildClaudeMaxTurnsResult(args) {
742
- const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, maxTurns, lastOutput, reason, durationMs, parentModel, traceBuffer } = args;
786
+ const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, maxTurns, lastOutput, reason, durationMs, parentModel } = args;
743
787
  const hasSalvage = !scratchpad.isEmpty();
744
788
  // Note: `lastOutput` here is the model's last streamed text before the
745
789
  // max-turns boundary — NOT a diagnostic template. If the scratchpad has
@@ -771,7 +815,6 @@ function buildClaudeMaxTurnsResult(args) {
771
815
  escalationLog: [],
772
816
  error: reason,
773
817
  durationMs,
774
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
775
818
  };
776
819
  }
777
820
  function buildClaudeIncompleteDiagnostic(opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"claude-runner.js","sourceRoot":"","sources":["../../src/runners/claude-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqC,MAAM,gCAAgC,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,WAAW,EACX,cAAc,EACd,mBAAmB,GAKpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;GAGG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAElC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,wBAAwB;IACpB,MAAM,GAAqB,EAAE,CAAC;IAC9B,SAAS,GAA2D,EAAE,CAAC;IACvE,MAAM,GAAG,KAAK,CAAC;IAEvB,IAAI,CAAC,GAAmB;QACtB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAG,CAAC;YACzC,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAsC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,GAA4C,EAAE;gBAClD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvE,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAsC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxF,CAAC;gBACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;QACxC,kBAAkB,EAAE,IAAI;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAc,EACd,OAAmB,EACnB,cAA8B,EAC9B,QAAyE;IAEzE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAClF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC;IACtF,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC;IAEvD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,cAAc,CAAC,aAAa,IAAI,UAAU,CAAC;IAC1F,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,2EAA2E;IAC3E,EAAE;IACF,oEAAoE;IACpE,iEAAiE;IACjE,mEAAmE;IACnE,cAAc;IACd,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,IAAI,KAAK,CAAC;IACjE,MAAM,WAAW,GAAoB,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,CAAC,KAAoB,EAAQ,EAAE;QAC1C,IAAI,kBAAkB;YAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,UAAU;YAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,uEAAuE;IACvE,2EAA2E;IAC3E,wEAAwE;IACxE,wEAAwE;IACxE,qEAAqE;IACrE,wEAAwE;IACxE,oEAAoE;IACpE,mEAAmE;IACnE,2DAA2D;IAC3D,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;QAC1C,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAEjG,wDAAwD;IACxD,EAAE;IACF,sEAAsE;IACtE,sEAAsE;IACtE,yEAAyE;IACzE,wEAAwE;IACxE,4CAA4C;IAC5C,0EAA0E;IAC1E,sEAAsE;IACtE,6DAA6D;IAC7D,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjD,MAAM,oBAAoB,GAAG,GAAG,UAAU,OAAO,MAAM,EAAE,CAAC;IAE1D,0EAA0E;IAC1E,EAAE;IACF,qEAAqE;IACrE,uEAAuE;IACvE,gEAAgE;IAChE,2EAA2E;IAC3E,yEAAyE;IACzE,uEAAuE;IACvE,yCAAyC;IACzC,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,iEAAiE;IACjE,uEAAuE;IACvE,wEAAwE;IACxE,iDAAiD;IACjD,yEAAyE;IACzE,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,MAAM,qBAAqB,GAAG,GAAG,YAAY,OAAO,oBAAoB,EAAE,CAAC;QAC3E,IAAI,CAAC;YACH,OAAO,CAAC,gBAAgB,CAAC;gBACvB,WAAW,EAAE,qBAAqB,CAAC,MAAM;gBACzC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aACzE,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,uFAAuF;IACvF,MAAM,YAAY,GAAY;QAC5B,KAAK,EAAE,cAAc,CAAC,KAAK;QAC3B,QAAQ;QACR,GAAG;QACH,cAAc,EAAE,mBAAmB;QACnC,+BAA+B,EAAE,IAAI;QACrC,cAAc,EAAE,KAAK;QACrB,eAAe;QACf,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,YAAY;SACrB;KACF,CAAC;IAEF,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,sBAAsB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpE,YAAY,CAAC,UAAU,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;QACvD,yEAAyE;QACzE,kEAAkE;QAClE,sEAAsE;QACtE,wEAAwE;QACxE,wCAAwC;QACxC,YAAY,CAAC,KAAK,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC/C,YAAY,CAAC,YAAY,GAAG,CAAC,oBAAoB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACjC,YAAY,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC7C,8DAA8D;QAC9D,YAAY,CAAC,MAAM,GAAG,MAA2B,CAAC;IACpD,CAAC;IAED,sEAAsE;IACtE,0EAA0E;IAC1E,yEAAyE;IACzE,oDAAoD;IACpD,MAAM,UAAU,GAAG,IAAI,cAAc,EAAE,CAAC;IAExC,oEAAoE;IACpE,MAAM,OAAO,GAAG,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,0BAA0B,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAEtE,2EAA2E;IAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAExC,MAAM,GAAG,GAAG,KAAK,IAAwB,EAAE;QACzC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,6CAA6C;QAC7C,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,gEAAgE;QAChE,oEAAoE;QACpE,8DAA8D;QAC9D,IAAI,oBAAoB,GAAkB,IAAI,CAAC;QAC/C,qEAAqE;QACrE,8DAA8D;QAC9D,IAAI,qBAAqB,GAAG,CAAC,CAAC,CAAC;QAE/B,iEAAiE;QACjE,sEAAsE;QACtE,sEAAsE;QACtE,kEAAkE;QAClE,8DAA8D;QAC9D,oEAAoE;QACpE,iEAAiE;QACjE,IAAI,eAAe,GAAqB,IAAI,CAAC;QAE7C,qEAAqE;QACrE,uEAAuE;QACvE,mEAAmE;QACnE,qDAAqD;QACrD,MAAM,YAAY,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACpD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;gBAC/E,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC7B,KAAK,EAAE,CAAC;oBACR,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAE9D,+DAA+D;oBAC/D,gEAAgE;oBAChE,wDAAwD;oBACxD,6DAA6D;oBAC7D,+DAA+D;oBAC/D,gEAAgE;oBAChE,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,SAAS,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;wBAChE,4DAA4D;wBAC5D,+DAA+D;wBAC/D,6DAA6D;wBAC7D,6DAA6D;wBAC7D,iEAAiE;wBACjE,gBAAgB;wBAChB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAkB,CAAC;wBAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;4BAChC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;4BAClC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACvB,IAAI,CAAC;oCACH,IAAI,EAAE,eAAe;oCACrB,IAAI,EAAE,KAAK;oCACX,KAAK,EAAE,OAAO,CAAC,MAAM;oCACrB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;iCAC/B,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;6BAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;4BAClC,MAAM,KAAK,GAAG,OAAO;gCACnB,8DAA8D;iCAC7D,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;gCACzE,8DAA8D;iCAC7D,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BAC3B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACrB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCAChC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gCACjC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCACtB,IAAI,CAAC;wCACH,IAAI,EAAE,eAAe;wCACrB,IAAI,EAAE,KAAK;wCACX,KAAK,EAAE,MAAM,CAAC,MAAM;wCACpB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;qCAC9B,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,2DAA2D;oBAC3D,6DAA6D;oBAC7D,8DAA8D;oBAC9D,4DAA4D;oBAC5D,6DAA6D;oBAC7D,mDAAmD;oBACnD,qBAAqB;oBACrB,MAAM,cAAc,GAAG,sBAAsB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;oBACtE,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;wBAC5B,gBAAgB,CAAC,cAAc,EAAE;4BAC/B,QAAQ,EAAE,QAAQ;4BAClB,KAAK,EAAE,cAAc,CAAC,KAAK;4BAC3B,IAAI,EAAE,KAAK;4BACX,WAAW;4BACX,SAAS;4BACT,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM;yBAC9C,CAAC,CAAC;oBACL,CAAC;oBACD,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;wBACvC,2DAA2D;wBAC3D,8DAA8D;wBAC9D,8CAA8C;wBAC9C,gEAAgE;wBAChE,yDAAyD;wBACzD,IAAI,CAAC;4BACH,IAAI,EAAE,WAAW;4BACjB,aAAa,EAAE,wBAAwB;4BACvC,IAAI,EAAE,KAAK;4BACX,kBAAkB,EAAE,CAAC;yBACtB,CAAC,CAAC;wBACH,eAAe,GAAG,6BAA6B,CAAC;4BAC9C,OAAO;4BACP,UAAU;4BACV,cAAc;4BACd,UAAU,EAAE,OAAO;4BACnB,WAAW;4BACX,YAAY;4BACZ,KAAK;4BACL,SAAS;4BACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;4BACpC,WAAW;4BACX,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;yBAC1D,CAAC,CAAC;wBACH,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,eAAe,CAAC,KAAK,EAAE,CAAC;wBACxB,MAAM;oBACR,CAAC;oBACD,+DAA+D;oBAC/D,+DAA+D;oBAC/D,iEAAiE;oBACjE,gEAAgE;oBAChE,gEAAgE;oBAChE,gEAAgE;oBAChE,gDAAgD;oBAChD,IAAI,cAAc,KAAK,SAAS,IAAI,WAAW,GAAG,qBAAqB,EAAE,CAAC;wBACxE,qBAAqB,GAAG,WAAW,CAAC;wBACpC,MAAM,OAAO,GAAG,wBAAwB,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;wBACrE,IAAI,CAAC;4BACH,IAAI,EAAE,WAAW;4BACjB,aAAa,EAAE,kBAAkB;4BACjC,IAAI,EAAE,KAAK;4BACX,kBAAkB,EAAE,OAAO,CAAC,MAAM;yBACnC,CAAC,CAAC;wBACH,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC1C,CAAC;oBAED,4DAA4D;oBAC5D,6DAA6D;oBAC7D,6DAA6D;oBAC7D,6DAA6D;oBAC7D,sCAAsC;oBACtC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,2BAA2B,KAAK,CAAC,EAAE,CAAC;wBAC3D,MAAM,QAAQ,GAAG,uBAAuB,CAAC;4BACvC,qBAAqB,EAAE,MAAM;4BAC7B,WAAW,EAAE,KAAK;4BAClB,QAAQ;4BACR,cAAc,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM;4BAC7C,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM;yBAC1C,CAAC,CAAC;wBACH,IAAI,CAAC;4BACH,IAAI,EAAE,WAAW;4BACjB,aAAa,EAAE,UAAU;4BACzB,IAAI,EAAE,KAAK;4BACX,kBAAkB,EAAE,QAAQ,CAAC,MAAM;yBACpC,CAAC,CAAC;wBACH,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;gBAED,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC1B,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;wBACpB,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;oBACtB,CAAC;oBAED,MAAM,WAAW,GAAG,SAAS,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,iBAAiB,CAAC;oBAE1E,+DAA+D;oBAC/D,+DAA+D;oBAC/D,8DAA8D;oBAC9D,gEAAgE;oBAChE,6DAA6D;oBAC7D,8DAA8D;oBAC9D,8DAA8D;oBAC9D,kCAAkC;oBAClC,IAAI,eAAe,GAAG,CAAC,CAAC;oBACxB,IAAI,gBAAgB,GAAG,CAAC,CAAC;oBACzB,IAAI,YAAY,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;wBAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;4BAClD,eAAe,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;4BAC1C,gBAAgB,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;wBAC9C,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;wBACvC,MAAM,CAAC,GAAG,GAAG,CAAC,KAA0C,CAAC;wBACzD,eAAe,GAAG,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;wBACzC,gBAAgB,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBAC7C,CAAC;oBACD,WAAW,IAAI,eAAe,CAAC;oBAC/B,YAAY,IAAI,gBAAgB,CAAC;oBAEjC,IAAI,gBAAgB,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;wBACtE,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC;oBAC/B,CAAC;oBAED,yDAAyD;oBACzD,6DAA6D;oBAC7D,gEAAgE;oBAChE,2BAA2B;oBAC3B,IAAI,CAAC;wBACH,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,KAAK;wBACX,qBAAqB,EAAE,WAAW;wBAClC,sBAAsB,EAAE,YAAY;qBACrC,CAAC,CAAC;oBAEH,iEAAiE;oBACjE,iEAAiE;oBACjE,gEAAgE;oBAChE,kEAAkE;oBAClE,8DAA8D;oBAC9D,iEAAiE;oBACjE,kEAAkE;oBAClE,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;oBAC1E,IAAI,kBAAkB,KAAK,eAAe,EAAE,CAAC;wBAC3C,gBAAgB,CAAC,kBAAkB,EAAE;4BACnC,QAAQ,EAAE,QAAQ;4BAClB,KAAK,EAAE,cAAc,CAAC,KAAK;4BAC3B,IAAI,EAAE,KAAK;4BACX,WAAW;4BACX,SAAS;4BACT,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM;yBAC9C,CAAC,CAAC;wBACH,IAAI,CAAC;4BACH,IAAI,EAAE,WAAW;4BACjB,aAAa,EAAE,wBAAwB;4BACvC,IAAI,EAAE,KAAK;4BACX,kBAAkB,EAAE,CAAC;yBACtB,CAAC,CAAC;wBACH,eAAe,GAAG,6BAA6B,CAAC;4BAC9C,OAAO;4BACP,UAAU;4BACV,cAAc;4BACd,UAAU,EAAE,OAAO;4BACnB,WAAW;4BACX,YAAY;4BACZ,KAAK;4BACL,SAAS;4BACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;4BACpC,WAAW;4BACX,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;yBAC1D,CAAC,CAAC;wBACH,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,eAAe,CAAC,KAAK,EAAE,CAAC;wBACxB,MAAM;oBACR,CAAC;oBAED,0DAA0D;oBAC1D,oDAAoD;oBACpD,IAAI,WAAW,EAAE,CAAC;wBAChB,eAAe,GAAG,yBAAyB,CAAC;4BAC1C,OAAO;4BACP,UAAU;4BACV,cAAc;4BACd,UAAU,EAAE,OAAO;4BACnB,WAAW;4BACX,YAAY;4BACZ,KAAK;4BACL,QAAQ;4BACR,UAAU,EAAE,MAAM;4BAClB,MAAM,EAAE,mDAAmD,KAAK,mCAAmC,QAAQ,GAAG;4BAC9G,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;4BACpC,WAAW;4BACX,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;yBAC1D,CAAC,CAAC;wBACH,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,MAAM;oBACR,CAAC;oBAED,8DAA8D;oBAC9D,+DAA+D;oBAC/D,+DAA+D;oBAC/D,iEAAiE;oBACjE,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,EAAE;wBAChD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;wBAC1C,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;qBACzD,CAAC,CAAC;oBAEH,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;wBACrB,eAAe,GAAG,mBAAmB,CAAC;4BACpC,OAAO;4BACP,UAAU;4BACV,cAAc;4BACd,UAAU,EAAE,OAAO;4BACnB,WAAW;4BACX,YAAY;4BACZ,KAAK;4BACL,MAAM;4BACN,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;4BACpC,WAAW;4BACX,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;yBAC1D,CAAC,CAAC;wBACH,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,MAAM;oBACR,CAAC;oBAED,+DAA+D;oBAC/D,4DAA4D;oBAC5D,IACE,oBAAoB,KAAK,IAAI;wBAC7B,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAClD,CAAC;wBACD,eAAe,GAAG,2BAA2B,CAAC;4BAC5C,OAAO;4BACP,UAAU;4BACV,cAAc;4BACd,UAAU,EAAE,OAAO;4BACnB,WAAW;4BACX,YAAY;4BACZ,KAAK;4BACL,MAAM,EAAE,oCAAoC,kBAAkB,2BAA2B,UAAU,CAAC,IAAI,IAAI,SAAS,GAAG;4BACxH,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;4BACpC,WAAW;4BACX,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;yBAC1D,CAAC,CAAC;wBACH,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,MAAM;oBACR,CAAC;oBACD,oBAAoB,GAAG,MAAM,CAAC;oBAC9B,kBAAkB,EAAE,CAAC;oBACrB,IAAI,kBAAkB,IAAI,uBAAuB,EAAE,CAAC;wBAClD,eAAe,GAAG,2BAA2B,CAAC;4BAC5C,OAAO;4BACP,UAAU;4BACV,cAAc;4BACd,UAAU,EAAE,OAAO;4BACnB,WAAW;4BACX,YAAY;4BACZ,KAAK;4BACL,MAAM,EAAE,oCAAoC,kBAAkB,2BAA2B,UAAU,CAAC,IAAI,IAAI,SAAS,GAAG;4BACxH,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;4BACpC,WAAW;4BACX,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;yBAC1D,CAAC,CAAC;wBACH,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,MAAM;oBACR,CAAC;oBAED,wDAAwD;oBACxD,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC3C,IAAI,CAAC;wBACH,IAAI,EAAE,WAAW;wBACjB,aAAa,EAAE,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC;wBAChD,IAAI,EAAE,KAAK;wBACX,kBAAkB,EAAE,QAAQ,CAAC,MAAM;qBACpC,CAAC,CAAC;oBACH,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,iEAAiE;YACjE,+DAA+D;YAC/D,mEAAmE;YACnE,oEAAoE;YACpE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/B,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAC7F,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;YAC/F,OAAO;gBACL,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,oBAAoB,GAAG,EAAE;gBACpE,MAAM;gBACN,KAAK,EAAE;oBACL,WAAW;oBACX,YAAY;oBACZ,WAAW,EAAE,WAAW,GAAG,YAAY;oBACvC,OAAO,EAAE,YAAY;oBACrB,YAAY;iBACb;gBACD,KAAK;gBACL,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;gBAC7B,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;gBACjD,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;gBACjC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;gBACjC,kBAAkB,EAAE,CAAC,UAAU;gBAC/B,aAAa,EAAE,EAAE;gBACjB,KAAK,EAAE,GAAG,IAAI,MAAM;gBACpB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;gBACpC,GAAG,CAAC,kBAAkB,IAAI,EAAE,aAAa,EAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;aAC7E,CAAC;QACJ,CAAC;QAED,qEAAqE;QACrE,sEAAsE;QACtE,8DAA8D;QAC9D,kEAAkE;QAClE,qDAAqD;QACrD,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,MAAM,OAAO,GAAG,2BAA2B,CAAC;YAC1C,OAAO;YACP,UAAU;YACV,cAAc;YACd,UAAU,EAAE,OAAO;YACnB,WAAW;YACX,YAAY;YACZ,KAAK;YACL,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;YACpC,WAAW;YACX,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;SAC1D,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,WAAW,CAChB,GAAG,EAAE,EACL,SAAS,EACT,GAAG,EAAE;QACH,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAC7F,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAC/F,OAAO;YACL,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,yBAAyB,SAAS,KAAK;YAClF,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC7B,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;YACjD,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;YACjC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;YACjC,KAAK,EAAE;gBACL,WAAW;gBACX,YAAY;gBACZ,WAAW,EAAE,WAAW,GAAG,YAAY;gBACvC,OAAO,EAAE,YAAY;gBACrB,YAAY;aACb;YACD,KAAK;YACL,kBAAkB,EAAE,CAAC,UAAU;YAC/B,aAAa,EAAE,EAAE;YACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;YACpC,GAAG,CAAC,kBAAkB,IAAI,EAAE,aAAa,EAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;SAC7E,CAAC;IACJ,CAAC,EACD,eAAe,CAChB,CAAC;AACJ,CAAC;AAoBD,SAAS,mBAAmB,CAC1B,cAA8B,EAC9B,WAAmB,EACnB,YAAoB,EACpB,OAAsB;IAEtB,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC3E,OAAO,QAAQ,IAAI,OAAO,CAAC;AAC7B,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAA0H;IAE1H,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACrI,MAAM,OAAO,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC1F,OAAO;QACL,MAAM;QACN,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE;YACL,WAAW;YACX,YAAY;YACZ,WAAW,EAAE,WAAW,GAAG,YAAY;YACvC,OAAO;YACP,YAAY;SACb;QACD,KAAK;QACL,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;QAC7B,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;QACjD,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;QACjC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;QACjC,gEAAgE;QAChE,kBAAkB,EAAE,KAAK;QACzB,aAAa,EAAE,EAAE;QACjB,UAAU;QACV,GAAG,CAAC,WAAW,IAAI,EAAE,aAAa,EAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;KACtE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,2BAA2B,CAClC,IAA2H;IAE3H,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACjJ,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACzC,OAAO;QACL,MAAM,EAAE,UAAU;YAChB,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;YACrB,CAAC,CAAC,+BAA+B,CAAC;gBAC9B,KAAK;gBACL,WAAW;gBACX,YAAY;gBACZ,SAAS;gBACT,YAAY;aACb,CAAC;QACN,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE;YACL,WAAW;YACX,YAAY;YACZ,WAAW,EAAE,WAAW,GAAG,YAAY;YACvC,OAAO;YACP,YAAY;SACb;QACD,KAAK;QACL,SAAS;QACT,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;QACjD,YAAY;QACZ,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;QACjC,kBAAkB,EAAE,CAAC,UAAU;QAC/B,aAAa,EAAE,EAAE;QACjB,KAAK,EAAE,MAAM;QACb,UAAU;QACV,GAAG,CAAC,WAAW,IAAI,EAAE,aAAa,EAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,IAA6H;IAE7H,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACpJ,MAAM,OAAO,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACzC,OAAO;QACL,MAAM,EAAE,UAAU;YAChB,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;YACrB,CAAC,CAAC,4CAA4C,WAAW,6BAA6B,SAAS,kCAAkC;QACnI,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE;YACL,WAAW;YACX,YAAY;YACZ,WAAW,EAAE,WAAW,GAAG,YAAY;YACvC,OAAO;YACP,YAAY;SACb;QACD,KAAK;QACL,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;QAC7B,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;QACjD,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;QACjC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;QACjC,kBAAkB,EAAE,CAAC,UAAU;QAC/B,aAAa,EAAE,EAAE;QACjB,UAAU;QACV,GAAG,CAAC,WAAW,IAAI,EAAE,aAAa,EAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,IAAiK;IAEjK,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACvK,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACzC,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,MAAM,GAAG,UAAU;QACvB,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;QACrB,CAAC,CAAC,CAAC,UAAU,IAAI,6BAA6B,QAAQ,IAAI,CAAC,CAAC;IAC9D,MAAM,kBAAkB,GAAG,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC;IACtD,MAAM,OAAO,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC1F,OAAO;QACL,MAAM;QACN,MAAM,EAAE,WAAW;QACnB,KAAK,EAAE;YACL,WAAW;YACX,YAAY;YACZ,WAAW,EAAE,WAAW,GAAG,YAAY;YACvC,OAAO;YACP,YAAY;SACb;QACD,KAAK;QACL,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;QAC7B,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;QACjD,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;QACjC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;QACjC,kBAAkB;QAClB,aAAa,EAAE,EAAE;QACjB,KAAK,EAAE,MAAM;QACb,UAAU;QACV,GAAG,CAAC,WAAW,IAAI,EAAE,aAAa,EAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CAAC,IAMxC;IACC,MAAM,UAAU,GAAG,CAAC,KAAe,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS;YAAE,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/D,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,GAAG,SAAS,QAAQ,CAAC;IAC1F,CAAC,CAAC;IACF,OAAO;QACL,gEAAgE;QAChE,EAAE;QACF,oFAAoF;YAClF,sEAAsE;QACxE,EAAE;QACF,kBAAkB,IAAI,CAAC,KAAK,EAAE;QAC9B,kBAAkB,IAAI,CAAC,WAAW,EAAE;QACpC,kBAAkB,IAAI,CAAC,YAAY,EAAE;QACrC,kBAAkB,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QACtE,kBAAkB,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;QAC5E,EAAE;QACF,uFAAuF;KACxF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"claude-runner.js","sourceRoot":"","sources":["../../src/runners/claude-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqC,MAAM,gCAAgC,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,WAAW,EACX,cAAc,EACd,mBAAmB,GAKpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;GAGG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAElC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,wBAAwB;IACpB,MAAM,GAAqB,EAAE,CAAC;IAC9B,SAAS,GAA2D,EAAE,CAAC;IACvE,MAAM,GAAG,KAAK,CAAC;IAEvB,IAAI,CAAC,GAAmB;QACtB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAG,CAAC;YACzC,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAsC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,GAA4C,EAAE;gBAClD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvE,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAsC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxF,CAAC;gBACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;QACxC,kBAAkB,EAAE,IAAI;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAc,EACd,OAAmB,EACnB,cAA8B,EAC9B,QAAyE;IAEzE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAClF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC;IACtF,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC;IAEvD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,cAAc,CAAC,aAAa,IAAI,UAAU,CAAC;IAC1F,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,2EAA2E;IAC3E,EAAE;IACF,oEAAoE;IACpE,iEAAiE;IACjE,mEAAmE;IACnE,cAAc;IACd,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,IAAI,GAAG,CAAC,KAAoB,EAAQ,EAAE;QAC1C,IAAI,UAAU;YAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,uEAAuE;IACvE,2EAA2E;IAC3E,wEAAwE;IACxE,wEAAwE;IACxE,qEAAqE;IACrE,wEAAwE;IACxE,oEAAoE;IACpE,mEAAmE;IACnE,2DAA2D;IAC3D,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;QAC1C,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAEjG,4EAA4E;IAC5E,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAEjE,4EAA4E;IAC5E,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,IAAI,QAAQ,CAAC;IAElD,qDAAqD;IACrD,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB;;OAEG;IACH,SAAS,iBAAiB;QACxB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,SAAS,uBAAuB;QAC9B,MAAM,YAAY,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAC7F,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAC/F,OAAO;YACL,MAAM,EAAE,qCAAqC,OAAO,CAAC,UAAU,EAAE;YACjE,MAAM,EAAE,eAAe;YACvB,KAAK,EAAE;gBACL,WAAW;gBACX,YAAY;gBACZ,WAAW,EAAE,WAAW,GAAG,YAAY;gBACvC,OAAO,EAAE,YAAY;gBACrB,YAAY;aACb;YACD,KAAK;YACL,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC7B,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;YACjD,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;YACjC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;YACjC,kBAAkB,EAAE,IAAI;YACxB,aAAa,EAAE,EAAE;YACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;SACrC,CAAC;IACJ,CAAC;IAED,wDAAwD;IACxD,EAAE;IACF,sEAAsE;IACtE,sEAAsE;IACtE,yEAAyE;IACzE,wEAAwE;IACxE,4CAA4C;IAC5C,0EAA0E;IAC1E,sEAAsE;IACtE,6DAA6D;IAC7D,MAAM,YAAY,GAAG,iBAAiB,EAAE,GAAG,2BAA2B,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IACxG,MAAM,UAAU,GAAG,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjD,MAAM,oBAAoB,GAAG,GAAG,UAAU,OAAO,MAAM,EAAE,CAAC;IAE1D,0EAA0E;IAC1E,EAAE;IACF,qEAAqE;IACrE,uEAAuE;IACvE,gEAAgE;IAChE,2EAA2E;IAC3E,yEAAyE;IACzE,uEAAuE;IACvE,yCAAyC;IACzC,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,iEAAiE;IACjE,uEAAuE;IACvE,wEAAwE;IACxE,iDAAiD;IACjD,yEAAyE;IACzE,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,MAAM,qBAAqB,GAAG,GAAG,YAAY,OAAO,oBAAoB,EAAE,CAAC;QAC3E,IAAI,CAAC;YACH,OAAO,CAAC,gBAAgB,CAAC;gBACvB,WAAW,EAAE,qBAAqB,CAAC,MAAM;gBACzC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aACzE,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,uFAAuF;IACvF,MAAM,YAAY,GAAY;QAC5B,KAAK,EAAE,cAAc,CAAC,KAAK;QAC3B,QAAQ;QACR,GAAG;QACH,cAAc,EAAE,mBAAmB;QACnC,+BAA+B,EAAE,IAAI;QACrC,cAAc,EAAE,KAAK;QACrB,eAAe;QACf,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,YAAY;SACrB;KACF,CAAC;IAEF,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,sBAAsB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpE,YAAY,CAAC,UAAU,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;QACvD,yEAAyE;QACzE,kEAAkE;QAClE,sEAAsE;QACtE,wEAAwE;QACxE,wCAAwC;QACxC,YAAY,CAAC,KAAK,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC/C,YAAY,CAAC,YAAY,GAAG,CAAC,oBAAoB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACjC,YAAY,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC7C,8DAA8D;QAC9D,YAAY,CAAC,MAAM,GAAG,MAA2B,CAAC;IACpD,CAAC;IAED,sEAAsE;IACtE,0EAA0E;IAC1E,yEAAyE;IACzE,oDAAoD;IACpD,MAAM,UAAU,GAAG,IAAI,cAAc,EAAE,CAAC;IAExC,oEAAoE;IACpE,MAAM,OAAO,GAAG,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,0BAA0B,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAEtE,2EAA2E;IAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAExC,MAAM,GAAG,GAAG,KAAK,IAAwB,EAAE;QACzC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,6CAA6C;QAC7C,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,gEAAgE;QAChE,oEAAoE;QACpE,8DAA8D;QAC9D,IAAI,oBAAoB,GAAkB,IAAI,CAAC;QAC/C,qEAAqE;QACrE,8DAA8D;QAC9D,IAAI,qBAAqB,GAAG,CAAC,CAAC,CAAC;QAE/B,iEAAiE;QACjE,sEAAsE;QACtE,sEAAsE;QACtE,kEAAkE;QAClE,8DAA8D;QAC9D,oEAAoE;QACpE,iEAAiE;QACjE,IAAI,eAAe,GAAqB,IAAI,CAAC;QAE7C,qEAAqE;QACrE,uEAAuE;QACvE,mEAAmE;QACnE,qDAAqD;QACrD,MAAM,YAAY,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACpD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;gBAC/E,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC7B,KAAK,EAAE,CAAC;oBACR,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAE9D,+DAA+D;oBAC/D,gEAAgE;oBAChE,wDAAwD;oBACxD,6DAA6D;oBAC7D,+DAA+D;oBAC/D,gEAAgE;oBAChE,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,SAAS,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;wBAChE,4DAA4D;wBAC5D,+DAA+D;wBAC/D,6DAA6D;wBAC7D,6DAA6D;wBAC7D,iEAAiE;wBACjE,gBAAgB;wBAChB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAkB,CAAC;wBAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;4BAChC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;4BAClC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACvB,IAAI,CAAC;oCACH,IAAI,EAAE,eAAe;oCACrB,IAAI,EAAE,KAAK;oCACX,KAAK,EAAE,OAAO,CAAC,MAAM;oCACrB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;iCAC/B,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;6BAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;4BAClC,MAAM,KAAK,GAAG,OAAO;gCACnB,8DAA8D;iCAC7D,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;gCACzE,8DAA8D;iCAC7D,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BAC3B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACrB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCAChC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gCACjC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCACtB,IAAI,CAAC;wCACH,IAAI,EAAE,eAAe;wCACrB,IAAI,EAAE,KAAK;wCACX,KAAK,EAAE,MAAM,CAAC,MAAM;wCACpB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;qCAC9B,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,2DAA2D;oBAC3D,6DAA6D;oBAC7D,8DAA8D;oBAC9D,4DAA4D;oBAC5D,6DAA6D;oBAC7D,mDAAmD;oBACnD,qBAAqB;oBACrB,MAAM,cAAc,GAAG,sBAAsB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;oBACtE,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;wBAC5B,gBAAgB,CAAC,cAAc,EAAE;4BAC/B,QAAQ,EAAE,QAAQ;4BAClB,KAAK,EAAE,cAAc,CAAC,KAAK;4BAC3B,IAAI,EAAE,KAAK;4BACX,WAAW;4BACX,SAAS;4BACT,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM;yBAC9C,CAAC,CAAC;oBACL,CAAC;oBACD,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;wBACvC,2DAA2D;wBAC3D,8DAA8D;wBAC9D,8CAA8C;wBAC9C,gEAAgE;wBAChE,yDAAyD;wBACzD,IAAI,CAAC;4BACH,IAAI,EAAE,WAAW;4BACjB,aAAa,EAAE,wBAAwB;4BACvC,IAAI,EAAE,KAAK;4BACX,kBAAkB,EAAE,CAAC;yBACtB,CAAC,CAAC;wBACH,eAAe,GAAG,6BAA6B,CAAC;4BAC9C,OAAO;4BACP,UAAU;4BACV,cAAc;4BACd,UAAU,EAAE,OAAO;4BACnB,WAAW;4BACX,YAAY;4BACZ,KAAK;4BACL,SAAS;4BACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;4BACpC,WAAW;yBACZ,CAAC,CAAC;wBACH,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,eAAe,CAAC,KAAK,EAAE,CAAC;wBACxB,MAAM;oBACR,CAAC;oBACD,+DAA+D;oBAC/D,+DAA+D;oBAC/D,iEAAiE;oBACjE,gEAAgE;oBAChE,gEAAgE;oBAChE,gEAAgE;oBAChE,gDAAgD;oBAChD,IAAI,cAAc,KAAK,SAAS,IAAI,WAAW,GAAG,qBAAqB,EAAE,CAAC;wBACxE,qBAAqB,GAAG,WAAW,CAAC;wBACpC,MAAM,OAAO,GAAG,wBAAwB,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;wBACrE,IAAI,CAAC;4BACH,IAAI,EAAE,WAAW;4BACjB,aAAa,EAAE,kBAAkB;4BACjC,IAAI,EAAE,KAAK;4BACX,kBAAkB,EAAE,OAAO,CAAC,MAAM;yBACnC,CAAC,CAAC;wBACH,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC1C,CAAC;oBAED,4DAA4D;oBAC5D,6DAA6D;oBAC7D,6DAA6D;oBAC7D,6DAA6D;oBAC7D,sCAAsC;oBACtC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,2BAA2B,KAAK,CAAC,EAAE,CAAC;wBAC3D,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;4BACzB,eAAe,GAAG,uBAAuB,EAAE,CAAC;4BAC5C,YAAY,CAAC,KAAK,EAAE,CAAC;4BACrB,MAAM;wBACR,CAAC;wBACD,MAAM,QAAQ,GAAG,uBAAuB,CAAC;4BACvC,qBAAqB,EAAE,MAAM;4BAC7B,WAAW,EAAE,KAAK;4BAClB,QAAQ;4BACR,cAAc,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM;4BAC7C,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM;yBAC1C,CAAC,CAAC;wBACH,IAAI,CAAC;4BACH,IAAI,EAAE,WAAW;4BACjB,aAAa,EAAE,UAAU;4BACzB,IAAI,EAAE,KAAK;4BACX,kBAAkB,EAAE,QAAQ,CAAC,MAAM;yBACpC,CAAC,CAAC;wBACH,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;gBAED,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC1B,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;wBACpB,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;oBACtB,CAAC;oBAED,MAAM,WAAW,GAAG,SAAS,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,iBAAiB,CAAC;oBAE1E,+DAA+D;oBAC/D,+DAA+D;oBAC/D,8DAA8D;oBAC9D,gEAAgE;oBAChE,6DAA6D;oBAC7D,8DAA8D;oBAC9D,8DAA8D;oBAC9D,kCAAkC;oBAClC,IAAI,eAAe,GAAG,CAAC,CAAC;oBACxB,IAAI,gBAAgB,GAAG,CAAC,CAAC;oBACzB,IAAI,YAAY,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;wBAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;4BAClD,eAAe,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;4BAC1C,gBAAgB,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;wBAC9C,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;wBACvC,MAAM,CAAC,GAAG,GAAG,CAAC,KAA0C,CAAC;wBACzD,eAAe,GAAG,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;wBACzC,gBAAgB,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBAC7C,CAAC;oBACD,WAAW,IAAI,eAAe,CAAC;oBAC/B,YAAY,IAAI,gBAAgB,CAAC;oBAEjC,IAAI,gBAAgB,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;wBACtE,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC;oBAC/B,CAAC;oBAED,yDAAyD;oBACzD,6DAA6D;oBAC7D,gEAAgE;oBAChE,2BAA2B;oBAC3B,IAAI,CAAC;wBACH,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,KAAK;wBACX,qBAAqB,EAAE,WAAW;wBAClC,sBAAsB,EAAE,YAAY;qBACrC,CAAC,CAAC;oBAEH,qCAAqC;oBACrC,MAAM,QAAQ,GAAG,cAAc,CAAC,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;oBACnF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;wBACtB,eAAe,GAAG,QAAQ,CAAC;wBAC3B,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC1B,CAAC;oBAED,iEAAiE;oBACjE,iEAAiE;oBACjE,gEAAgE;oBAChE,kEAAkE;oBAClE,8DAA8D;oBAC9D,iEAAiE;oBACjE,kEAAkE;oBAClE,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;oBAC1E,IAAI,kBAAkB,KAAK,eAAe,EAAE,CAAC;wBAC3C,gBAAgB,CAAC,kBAAkB,EAAE;4BACnC,QAAQ,EAAE,QAAQ;4BAClB,KAAK,EAAE,cAAc,CAAC,KAAK;4BAC3B,IAAI,EAAE,KAAK;4BACX,WAAW;4BACX,SAAS;4BACT,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM;yBAC9C,CAAC,CAAC;wBACH,IAAI,CAAC;4BACH,IAAI,EAAE,WAAW;4BACjB,aAAa,EAAE,wBAAwB;4BACvC,IAAI,EAAE,KAAK;4BACX,kBAAkB,EAAE,CAAC;yBACtB,CAAC,CAAC;wBACH,eAAe,GAAG,6BAA6B,CAAC;4BAC9C,OAAO;4BACP,UAAU;4BACV,cAAc;4BACd,UAAU,EAAE,OAAO;4BACnB,WAAW;4BACX,YAAY;4BACZ,KAAK;4BACL,SAAS;4BACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;4BACpC,WAAW;yBACZ,CAAC,CAAC;wBACH,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,eAAe,CAAC,KAAK,EAAE,CAAC;wBACxB,MAAM;oBACR,CAAC;oBAED,0DAA0D;oBAC1D,oDAAoD;oBACpD,IAAI,WAAW,EAAE,CAAC;wBAChB,eAAe,GAAG,yBAAyB,CAAC;4BAC1C,OAAO;4BACP,UAAU;4BACV,cAAc;4BACd,UAAU,EAAE,OAAO;4BACnB,WAAW;4BACX,YAAY;4BACZ,KAAK;4BACL,QAAQ;4BACR,UAAU,EAAE,MAAM;4BAClB,MAAM,EAAE,mDAAmD,KAAK,mCAAmC,QAAQ,GAAG;4BAC9G,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;4BACpC,WAAW;yBACZ,CAAC,CAAC;wBACH,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,MAAM;oBACR,CAAC;oBAED,8DAA8D;oBAC9D,+DAA+D;oBAC/D,+DAA+D;oBAC/D,iEAAiE;oBACjE,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,EAAE;wBAChD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;wBAC1C,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;qBACzD,CAAC,CAAC;oBAEH,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;wBACrB,eAAe,GAAG,mBAAmB,CAAC;4BACpC,OAAO;4BACP,UAAU;4BACV,cAAc;4BACd,UAAU,EAAE,OAAO;4BACnB,WAAW;4BACX,YAAY;4BACZ,KAAK;4BACL,MAAM;4BACN,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;4BACpC,WAAW;yBACZ,CAAC,CAAC;wBACH,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,MAAM;oBACR,CAAC;oBAED,+DAA+D;oBAC/D,4DAA4D;oBAC5D,IACE,oBAAoB,KAAK,IAAI;wBAC7B,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAClD,CAAC;wBACD,eAAe,GAAG,2BAA2B,CAAC;4BAC5C,OAAO;4BACP,UAAU;4BACV,cAAc;4BACd,UAAU,EAAE,OAAO;4BACnB,WAAW;4BACX,YAAY;4BACZ,KAAK;4BACL,MAAM,EAAE,oCAAoC,kBAAkB,2BAA2B,UAAU,CAAC,IAAI,IAAI,SAAS,GAAG;4BACxH,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;4BACpC,WAAW;yBACZ,CAAC,CAAC;wBACH,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,MAAM;oBACR,CAAC;oBACD,oBAAoB,GAAG,MAAM,CAAC;oBAC9B,kBAAkB,EAAE,CAAC;oBACrB,IAAI,kBAAkB,IAAI,uBAAuB,EAAE,CAAC;wBAClD,eAAe,GAAG,2BAA2B,CAAC;4BAC5C,OAAO;4BACP,UAAU;4BACV,cAAc;4BACd,UAAU,EAAE,OAAO;4BACnB,WAAW;4BACX,YAAY;4BACZ,KAAK;4BACL,MAAM,EAAE,oCAAoC,kBAAkB,2BAA2B,UAAU,CAAC,IAAI,IAAI,SAAS,GAAG;4BACxH,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;4BACpC,WAAW;yBACZ,CAAC,CAAC;wBACH,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,MAAM;oBACR,CAAC;oBAED,wDAAwD;oBACxD,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;wBACzB,eAAe,GAAG,uBAAuB,EAAE,CAAC;wBAC5C,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,MAAM;oBACR,CAAC;oBACD,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC3C,IAAI,CAAC;wBACH,IAAI,EAAE,WAAW;wBACjB,aAAa,EAAE,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC;wBAChD,IAAI,EAAE,KAAK;wBACX,kBAAkB,EAAE,QAAQ,CAAC,MAAM;qBACpC,CAAC,CAAC;oBACH,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,iEAAiE;YACjE,+DAA+D;YAC/D,mEAAmE;YACnE,oEAAoE;YACpE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/B,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAC7F,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;YAC/F,OAAO;gBACL,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,oBAAoB,GAAG,EAAE;gBACpE,MAAM;gBACN,KAAK,EAAE;oBACL,WAAW;oBACX,YAAY;oBACZ,WAAW,EAAE,WAAW,GAAG,YAAY;oBACvC,OAAO,EAAE,YAAY;oBACrB,YAAY;iBACb;gBACD,KAAK;gBACL,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;gBAC7B,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;gBACjD,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;gBACjC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;gBACjC,kBAAkB,EAAE,CAAC,UAAU;gBAC/B,aAAa,EAAE,EAAE;gBACjB,KAAK,EAAE,GAAG,IAAI,MAAM;gBACpB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;aACrC,CAAC;QACJ,CAAC;QAED,qEAAqE;QACrE,sEAAsE;QACtE,8DAA8D;QAC9D,kEAAkE;QAClE,qDAAqD;QACrD,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,MAAM,OAAO,GAAG,2BAA2B,CAAC;YAC1C,OAAO;YACP,UAAU;YACV,cAAc;YACd,UAAU,EAAE,OAAO;YACnB,WAAW;YACX,YAAY;YACZ,KAAK;YACL,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;YACpC,WAAW;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,WAAW,CAChB,GAAG,EAAE,EACL,SAAS,EACT,GAAG,EAAE;QACH,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAC7F,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAC/F,OAAO;YACL,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,yBAAyB,SAAS,KAAK;YAClF,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC7B,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;YACjD,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;YACjC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;YACjC,KAAK,EAAE;gBACL,WAAW;gBACX,YAAY;gBACZ,WAAW,EAAE,WAAW,GAAG,YAAY;gBACvC,OAAO,EAAE,YAAY;gBACrB,YAAY;aACb;YACD,KAAK;YACL,kBAAkB,EAAE,CAAC,UAAU;YAC/B,aAAa,EAAE,EAAE;YACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;SACrC,CAAC;IACJ,CAAC,EACD,eAAe,CAChB,CAAC;AACJ,CAAC;AAoBD,SAAS,mBAAmB,CAC1B,cAA8B,EAC9B,WAAmB,EACnB,YAAoB,EACpB,OAAsB;IAEtB,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC3E,OAAO,QAAQ,IAAI,OAAO,CAAC;AAC7B,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAA2F;IAE3F,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACxH,MAAM,OAAO,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC1F,OAAO;QACL,MAAM;QACN,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE;YACL,WAAW;YACX,YAAY;YACZ,WAAW,EAAE,WAAW,GAAG,YAAY;YACvC,OAAO;YACP,YAAY;SACb;QACD,KAAK;QACL,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;QAC7B,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;QACjD,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;QACjC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;QACjC,gEAAgE;QAChE,kBAAkB,EAAE,KAAK;QACzB,aAAa,EAAE,EAAE;QACjB,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,2BAA2B,CAClC,IAA4F;IAE5F,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACpI,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACzC,OAAO;QACL,MAAM,EAAE,UAAU;YAChB,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;YACrB,CAAC,CAAC,+BAA+B,CAAC;gBAC9B,KAAK;gBACL,WAAW;gBACX,YAAY;gBACZ,SAAS;gBACT,YAAY;aACb,CAAC;QACN,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE;YACL,WAAW;YACX,YAAY;YACZ,WAAW,EAAE,WAAW,GAAG,YAAY;YACvC,OAAO;YACP,YAAY;SACb;QACD,KAAK;QACL,SAAS;QACT,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;QACjD,YAAY;QACZ,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;QACjC,kBAAkB,EAAE,CAAC,UAAU;QAC/B,aAAa,EAAE,EAAE;QACjB,KAAK,EAAE,MAAM;QACb,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,IAA8F;IAE9F,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACvI,MAAM,OAAO,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACzC,OAAO;QACL,MAAM,EAAE,UAAU;YAChB,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;YACrB,CAAC,CAAC,4CAA4C,WAAW,6BAA6B,SAAS,kCAAkC;QACnI,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE;YACL,WAAW;YACX,YAAY;YACZ,WAAW,EAAE,WAAW,GAAG,YAAY;YACvC,OAAO;YACP,YAAY;SACb;QACD,KAAK;QACL,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;QAC7B,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;QACjD,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;QACjC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;QACjC,kBAAkB,EAAE,CAAC,UAAU;QAC/B,aAAa,EAAE,EAAE;QACjB,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,IAAkI;IAElI,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC1J,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACzC,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,MAAM,GAAG,UAAU;QACvB,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;QACrB,CAAC,CAAC,CAAC,UAAU,IAAI,6BAA6B,QAAQ,IAAI,CAAC,CAAC;IAC9D,MAAM,kBAAkB,GAAG,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC;IACtD,MAAM,OAAO,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC1F,OAAO;QACL,MAAM;QACN,MAAM,EAAE,WAAW;QACnB,KAAK,EAAE;YACL,WAAW;YACX,YAAY;YACZ,WAAW,EAAE,WAAW,GAAG,YAAY;YACvC,OAAO;YACP,YAAY;SACb;QACD,KAAK;QACL,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;QAC7B,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;QACjD,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;QACjC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;QACjC,kBAAkB;QAClB,aAAa,EAAE,EAAE;QACjB,KAAK,EAAE,MAAM;QACb,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CAAC,IAMxC;IACC,MAAM,UAAU,GAAG,CAAC,KAAe,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS;YAAE,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/D,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,GAAG,SAAS,QAAQ,CAAC;IAC1F,CAAC,CAAC;IACF,OAAO;QACL,gEAAgE;QAChE,EAAE;QACF,oFAAoF;YAClF,sEAAsE;QACxE,EAAE;QACF,kBAAkB,IAAI,CAAC,KAAK,EAAE;QAC9B,kBAAkB,IAAI,CAAC,WAAW,EAAE;QACpC,kBAAkB,IAAI,CAAC,YAAY,EAAE;QACrC,kBAAkB,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QACtE,kBAAkB,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;QAC5E,EAAE;QACF,uFAAuF;KACxF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex-runner.d.ts","sourceRoot":"","sources":["../../src/runners/codex-runner.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAK5B,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AA8CrB;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,eAAe,CAAA;CAAE,GAAG,MAAM,CAkD9E;AA0FD,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GACxE,OAAO,CAAC,SAAS,CAAC,CAwmBpB"}
1
+ {"version":3,"file":"codex-runner.d.ts","sourceRoot":"","sources":["../../src/runners/codex-runner.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAK5B,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAgDrB;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,eAAe,CAAA;CAAE,GAAG,MAAM,CAkD9E;AA0FD,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GACxE,OAAO,CAAC,SAAS,CAAC,CAgqBpB"}
@@ -6,8 +6,10 @@ import { withTimeout, computeCostUSD, computeSavedCostUSD, } from '../types.js';
6
6
  import { FileTracker } from '../tools/tracker.js';
7
7
  import { createToolImplementations } from '../tools/definitions.js';
8
8
  import { TextScratchpad } from '../tools/scratchpad.js';
9
- import { buildSystemPrompt, buildBudgetHint, buildReGroundingMessage, buildBudgetPressureNudge, RE_GROUNDING_INTERVAL_TURNS, } from './prevention.js';
10
- import { validateSubAgentOutput, buildRePrompt, sameDegenerateOutput, resolveInputTokenSoftLimit, checkWatchdogThreshold, logWatchdogEvent, trimProgressTrace, } from './supervision.js';
9
+ import { CostMeter } from '../cost/cost-meter.js';
10
+ import { CallCache } from '../tools/call-cache.js';
11
+ import { buildSystemPrompt, buildBudgetHint, buildReGroundingMessage, buildBudgetPressureNudge, buildFormatConstraintSuffix, RE_GROUNDING_INTERVAL_TURNS, } from './prevention.js';
12
+ import { validateSubAgentOutput, buildRePrompt, sameDegenerateOutput, resolveInputTokenSoftLimit, checkWatchdogThreshold, logWatchdogEvent, } from './supervision.js';
11
13
  import { injectionTypeFor } from './injection-type.js';
12
14
  import { classifyError } from './error-classification.js';
13
15
  import { findModelProfile } from '../routing/model-profiles.js';
@@ -165,11 +167,7 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
165
167
  // upstream and cannot corrupt this loop. We do not need to wrap it
166
168
  // again here.
167
169
  const onProgress = options.onProgress;
168
- const shouldCaptureTrace = options.includeProgressTrace ?? false;
169
- const traceBuffer = [];
170
170
  const emit = (event) => {
171
- if (shouldCaptureTrace)
172
- traceBuffer.push(event);
173
171
  if (onProgress)
174
172
  onProgress(event);
175
173
  };
@@ -190,6 +188,48 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
190
188
  emit({ kind: 'tool_call', turn: turns, toolSummary: summary });
191
189
  });
192
190
  const toolImpls = createToolImplementations(tracker, cwd, sandboxPolicy, abortController.signal);
191
+ // --- Cost meter (Task 25) ------------------------------------------------
192
+ const costMeter = new CostMeter({ ceiling: options.maxCostUSD });
193
+ // --- Call cache (Task 25) ------------------------------------------------
194
+ const callCache = new CallCache();
195
+ const agentType = providerConfig.type ?? 'codex';
196
+ // Track last turn cost for estimating next turn cost
197
+ let lastTurnCostUSD = 0;
198
+ /**
199
+ * Check if we can afford the next turn based on previous turn cost estimate.
200
+ */
201
+ function canAffordNextTurn() {
202
+ if (!costMeter.canProceed(lastTurnCostUSD > 0 ? lastTurnCostUSD : 0.001)) {
203
+ return false;
204
+ }
205
+ return true;
206
+ }
207
+ /**
208
+ * Build a cost_exceeded result.
209
+ */
210
+ function buildCostExceededResult() {
211
+ const costUSD = computeCostUSD(inputTokens, outputTokens, providerConfig);
212
+ const savedCostUSD = computeSavedCostUSD(costUSD ?? 0, inputTokens, outputTokens, parentModel);
213
+ return {
214
+ output: `Cost ceiling exceeded: maxCostUSD=${options.maxCostUSD}`,
215
+ status: 'cost_exceeded',
216
+ usage: {
217
+ inputTokens,
218
+ outputTokens,
219
+ totalTokens: inputTokens + outputTokens,
220
+ costUSD: costUSD ?? 0,
221
+ savedCostUSD,
222
+ },
223
+ turns,
224
+ filesRead: tracker.getReads(),
225
+ directoriesListed: tracker.getDirectoriesListed(),
226
+ filesWritten: tracker.getWrites(),
227
+ toolCalls: tracker.getToolCalls(),
228
+ outputIsDiagnostic: true,
229
+ escalationLog: [],
230
+ durationMs: Date.now() - taskStartMs,
231
+ };
232
+ }
193
233
  const codexTools = toolMode === 'full' ? buildCodexTools(toolImpls, sandboxPolicy) : [];
194
234
  const toolsByName = new Map(codexTools.map(t => [t.name, t]));
195
235
  const responsesTools = codexTools.map(t => ({
@@ -216,7 +256,7 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
216
256
  // provider/maxTurns options). The budget hint is prepended to the user
217
257
  // prompt so the model sees it as part of its task brief, while the system
218
258
  // prompt is threaded through the Responses API `instructions` field.
219
- const systemPrompt = buildSystemPrompt();
259
+ const systemPrompt = buildSystemPrompt() + buildFormatConstraintSuffix(options.formatConstraints ?? {});
220
260
  const budgetHint = buildBudgetHint({ maxTurns });
221
261
  const promptWithBudgetHint = `${budgetHint}\n\n${prompt}`;
222
262
  // --- onInitialRequest (Task 12) ----------------------------------------
@@ -301,6 +341,9 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
301
341
  let lastWarnedInputTokens = -1;
302
342
  try {
303
343
  while (turns < maxTurns) {
344
+ // Track tokens at start of turn for cost accounting
345
+ const tokensAtTurnStart = inputTokens;
346
+ const outputTokensAtTurnStart = outputTokens;
304
347
  turns++;
305
348
  // Emit turn_start AFTER incrementing so `turn` matches the 1-indexed
306
349
  // turn number we use everywhere else in this runner (the scratchpad
@@ -461,7 +504,6 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
461
504
  softLimit,
462
505
  durationMs: Date.now() - taskStartMs,
463
506
  parentModel,
464
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
465
507
  });
466
508
  emit({ kind: 'done', status: salvaged.status });
467
509
  return salvaged;
@@ -489,6 +531,9 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
489
531
  }
490
532
  // --- Periodic re-grounding inside the loop ---------------------
491
533
  if (turns > 0 && turns % RE_GROUNDING_INTERVAL_TURNS === 0) {
534
+ if (!canAffordNextTurn()) {
535
+ return buildCostExceededResult();
536
+ }
492
537
  const reground = buildReGroundingMessage({
493
538
  originalPromptExcerpt: prompt,
494
539
  currentTurn: turns,
@@ -522,6 +567,14 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
522
567
  cumulativeInputTokens: inputTokens,
523
568
  cumulativeOutputTokens: outputTokens,
524
569
  });
570
+ // Track cost for this turn (Task 25)
571
+ const turnInputTokens = inputTokens - tokensAtTurnStart;
572
+ const turnOutputTokens = outputTokens - outputTokensAtTurnStart;
573
+ const turnCost = computeCostUSD(turnInputTokens, turnOutputTokens, providerConfig);
574
+ if (turnCost !== null) {
575
+ lastTurnCostUSD = turnCost;
576
+ costMeter.add(turnCost);
577
+ }
525
578
  // If the model made no tool calls, the turn ended with either a
526
579
  // final answer or a degenerate emission. Wrap in the supervision
527
580
  // state machine: valid text is an immediate ok-exit; degenerate
@@ -545,7 +598,6 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
545
598
  output: stripped,
546
599
  durationMs: Date.now() - taskStartMs,
547
600
  parentModel,
548
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
549
601
  });
550
602
  emit({ kind: 'done', status: ok.status });
551
603
  return ok;
@@ -566,7 +618,6 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
566
618
  reason: `supervision loop exhausted after ${supervisionRetries} re-prompts (last kind: ${validation.kind ?? 'unknown'})`,
567
619
  durationMs: Date.now() - taskStartMs,
568
620
  parentModel,
569
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
570
621
  });
571
622
  emit({ kind: 'done', status: exhausted.status });
572
623
  return exhausted;
@@ -576,6 +627,9 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
576
627
  // to the re-prompt directly.
577
628
  lastDegenerateOutput = stripped;
578
629
  supervisionRetries++;
630
+ if (!canAffordNextTurn()) {
631
+ return buildCostExceededResult();
632
+ }
579
633
  const rePrompt = buildRePrompt(validation);
580
634
  input.push({
581
635
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -627,7 +681,6 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
627
681
  reason: `hand-rolled loop exited after completing ${turns} of ${maxTurns} user-declared turns without producing a clean final answer`,
628
682
  durationMs: Date.now() - taskStartMs,
629
683
  parentModel,
630
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
631
684
  });
632
685
  emit({ kind: 'done', status: maxTurnsResult.status });
633
686
  return maxTurnsResult;
@@ -707,7 +760,6 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
707
760
  escalationLog: [],
708
761
  error: detailed,
709
762
  durationMs: Date.now() - taskStartMs,
710
- ...(shouldCaptureTrace && { progressTrace: trimProgressTrace(traceBuffer) }),
711
763
  };
712
764
  }
713
765
  };
@@ -737,12 +789,11 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
737
789
  outputIsDiagnostic: !hasSalvage,
738
790
  escalationLog: [],
739
791
  durationMs: Date.now() - taskStartMs,
740
- ...(shouldCaptureTrace && { progressTrace: trimProgressTrace(traceBuffer) }),
741
792
  };
742
793
  }, abortController);
743
794
  }
744
795
  function buildCodexOkResult(args) {
745
- const { tracker, providerConfig, inputTokens, outputTokens, turns, output, durationMs, parentModel, traceBuffer } = args;
796
+ const { tracker, providerConfig, inputTokens, outputTokens, turns, output, durationMs, parentModel } = args;
746
797
  const costUSD = computeCostUSD(inputTokens, outputTokens, providerConfig);
747
798
  const savedCostUSD = computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel);
748
799
  return {
@@ -764,7 +815,6 @@ function buildCodexOkResult(args) {
764
815
  outputIsDiagnostic: false,
765
816
  escalationLog: [],
766
817
  durationMs,
767
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
768
818
  };
769
819
  }
770
820
  /**
@@ -772,7 +822,7 @@ function buildCodexOkResult(args) {
772
822
  * scratchpad salvage; fall back to the incomplete diagnostic.
773
823
  */
774
824
  function buildCodexIncompleteResult(args) {
775
- const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, reason, durationMs, parentModel, traceBuffer } = args;
825
+ const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, reason, durationMs, parentModel } = args;
776
826
  const filesRead = tracker.getReads();
777
827
  const filesWritten = tracker.getWrites();
778
828
  const costUSD = computeCostUSD(inputTokens, outputTokens, providerConfig);
@@ -805,11 +855,10 @@ function buildCodexIncompleteResult(args) {
805
855
  escalationLog: [],
806
856
  error: reason,
807
857
  durationMs,
808
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
809
858
  };
810
859
  }
811
860
  function buildCodexForceSalvageResult(args) {
812
- const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, softLimit, durationMs, parentModel, traceBuffer } = args;
861
+ const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, softLimit, durationMs, parentModel } = args;
813
862
  const costUSD = computeCostUSD(inputTokens, outputTokens, providerConfig);
814
863
  const savedCostUSD = computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel);
815
864
  const hasSalvage = !scratchpad.isEmpty();
@@ -833,11 +882,10 @@ function buildCodexForceSalvageResult(args) {
833
882
  outputIsDiagnostic: !hasSalvage,
834
883
  escalationLog: [],
835
884
  durationMs,
836
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
837
885
  };
838
886
  }
839
887
  function buildCodexMaxTurnsResult(args) {
840
- const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, maxTurns, lastOutput, reason, durationMs, parentModel, traceBuffer } = args;
888
+ const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, maxTurns, lastOutput, reason, durationMs, parentModel } = args;
841
889
  const hasSalvage = !scratchpad.isEmpty();
842
890
  // Note: `lastOutput` here is the model's final text for the max-turns
843
891
  // boundary — real model content, not a diagnostic template. Only the
@@ -868,7 +916,6 @@ function buildCodexMaxTurnsResult(args) {
868
916
  escalationLog: [],
869
917
  error: reason,
870
918
  durationMs,
871
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
872
919
  };
873
920
  }
874
921
  function buildCodexIncompleteDiagnostic(opts) {