@brutalist/mcp 1.12.0 → 1.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -31
- package/dist/brutalist-server.js +9 -9
- package/dist/brutalist-server.js.map +1 -1
- package/dist/cli-adapters/agy-adapter.d.ts +30 -0
- package/dist/cli-adapters/agy-adapter.d.ts.map +1 -0
- package/dist/cli-adapters/agy-adapter.js +280 -0
- package/dist/cli-adapters/agy-adapter.js.map +1 -0
- package/dist/cli-adapters/claude-adapter.d.ts +12 -2
- package/dist/cli-adapters/claude-adapter.d.ts.map +1 -1
- package/dist/cli-adapters/claude-adapter.js +102 -18
- package/dist/cli-adapters/claude-adapter.js.map +1 -1
- package/dist/cli-adapters/codex-adapter.d.ts +18 -1
- package/dist/cli-adapters/codex-adapter.d.ts.map +1 -1
- package/dist/cli-adapters/codex-adapter.js +86 -3
- package/dist/cli-adapters/codex-adapter.js.map +1 -1
- package/dist/cli-adapters/index.d.ts +55 -13
- package/dist/cli-adapters/index.d.ts.map +1 -1
- package/dist/cli-adapters/index.js +2 -2
- package/dist/cli-adapters/index.js.map +1 -1
- package/dist/cli-agents.d.ts +6 -29
- package/dist/cli-agents.d.ts.map +1 -1
- package/dist/cli-agents.js +74 -181
- package/dist/cli-agents.js.map +1 -1
- package/dist/debate/debate-orchestrator.d.ts +2 -4
- package/dist/debate/debate-orchestrator.d.ts.map +1 -1
- package/dist/debate/debate-orchestrator.js.map +1 -1
- package/dist/domains/argument-space.d.ts +8 -8
- package/dist/domains/argument-space.js +3 -3
- package/dist/domains/argument-space.js.map +1 -1
- package/dist/domains/critic-persona.d.ts +2 -1
- package/dist/domains/critic-persona.d.ts.map +1 -1
- package/dist/domains/critic-persona.js.map +1 -1
- package/dist/handlers/tool-handler.js.map +1 -1
- package/dist/mcp-registry.d.ts +0 -6
- package/dist/mcp-registry.d.ts.map +1 -1
- package/dist/mcp-registry.js +0 -35
- package/dist/mcp-registry.js.map +1 -1
- package/dist/metrics/registry.d.ts +2 -2
- package/dist/metrics/registry.js +2 -2
- package/dist/metrics/types.d.ts +1 -1
- package/dist/metrics/types.js +1 -1
- package/dist/model-resolver.d.ts +1 -13
- package/dist/model-resolver.d.ts.map +1 -1
- package/dist/model-resolver.js +12 -7
- package/dist/model-resolver.js.map +1 -1
- package/dist/streaming/output-parser.d.ts +1 -1
- package/dist/streaming/output-parser.d.ts.map +1 -1
- package/dist/streaming/output-parser.js +0 -17
- package/dist/streaming/output-parser.js.map +1 -1
- package/dist/streaming/streaming-orchestrator.js +1 -1
- package/dist/streaming/streaming-orchestrator.js.map +1 -1
- package/dist/types/brutalist.d.ts +3 -3
- package/dist/types/brutalist.d.ts.map +1 -1
- package/dist/types/tool-config.d.ts +4 -4
- package/dist/types/tool-config.d.ts.map +1 -1
- package/dist/types/tool-config.js +7 -6
- package/dist/types/tool-config.js.map +1 -1
- package/package.json +4 -3
- package/dist/cli-adapters/gemini-adapter.d.ts +0 -63
- package/dist/cli-adapters/gemini-adapter.d.ts.map +0 -1
- package/dist/cli-adapters/gemini-adapter.js +0 -208
- package/dist/cli-adapters/gemini-adapter.js.map +0 -1
package/dist/cli-agents.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-agents.d.ts","sourceRoot":"","sources":["../src/cli-agents.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-agents.d.ts","sourceRoot":"","sources":["../src/cli-agents.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA6B1D,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,UAAU,GACV,cAAc,GACd,MAAM,GACN,UAAU,GACV,MAAM,GACN,UAAU,GACV,SAAS,GACT,gBAAgB,GAChB,QAAQ,GACR,cAAc,GACd,eAAe,GACf,YAAY,GACZ,cAAc,GACd,QAAQ,GACR,OAAO,CAAC;AAiBZ,eAAO,MAAM,cAAc,sCAAuC,CAAC;AAgdnE,MAAM,WAAW,eAAe;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACnD,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACvC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,aAAa,CAAC;IAC1E,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,CAAC,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;CAC/C;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,cAAc,CAAW;IACjC,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuB;IAG3D,SAAgB,aAAa,EAAE,aAAa,CAAC;IAM7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAmB;IAGxC,OAAO,CAAC,gBAAgB,CAA8D;IACtF,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAO;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,OAAO,CAAC,aAAa,CAAK;IAE1B;;;;OAIG;gBACS,IAAI,CAAC,EAAE,wBAAwB,GAAG,aAAa;IA2B3D;;;;OAIG;IACH,OAAO,CAAC,OAAO;IAIf;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,2BAA2B;YA6DrB,eAAe;IAqBvB,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC;IA6C7C,eAAe,CACb,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,EACzC,YAAY,CAAC,EAAE,mBAAmB,GACjC,QAAQ,GAAG,OAAO,GAAG,KAAK;YA4Cf,WAAW;IAwVnB,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC;IAUtB,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC;IAUtB,gBAAgB,CACpB,GAAG,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,EAC/B,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC;YAsDd,oBAAoB;IAS5B,gBAAgB,CACpB,SAAS,EAAE,MAAM,EAAE,EACnB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAmCxB,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC;IAQtB,wBAAwB,CAC5B,YAAY,EAAE,mBAAmB,EACjC,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA2F9B,2BAA2B,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAyCxF,OAAO,CAAC,mBAAmB;CA8B5B"}
|
package/dist/cli-agents.js
CHANGED
|
@@ -5,35 +5,8 @@ import { logger } from './logger.js';
|
|
|
5
5
|
import { ModelResolver } from './model-resolver.js';
|
|
6
6
|
import { cleanupTempConfig } from './mcp-registry.js';
|
|
7
7
|
import { getProvider, parseNDJSON } from './cli-adapters/index.js';
|
|
8
|
-
import {
|
|
8
|
+
import { AGY_BINARY } from './cli-adapters/agy-adapter.js';
|
|
9
9
|
import { safeMetric } from './metrics/index.js';
|
|
10
|
-
/**
|
|
11
|
-
* Detect errors where rotating to the next Gemini frontier tier is likely
|
|
12
|
-
* to succeed. Covers two failure families:
|
|
13
|
-
*
|
|
14
|
-
* 1. Capacity saturation on the current tier
|
|
15
|
-
* (429 / "No capacity available" / quota / rate-limit).
|
|
16
|
-
*
|
|
17
|
-
* 2. Access denial on the current tier — the model exists but the
|
|
18
|
-
* user's account lacks preview-tier access. Appears as
|
|
19
|
-
* ModelNotFoundError / "Requested entity was not found" / 403 /
|
|
20
|
-
* "permission denied". In production the frontier chain is
|
|
21
|
-
* probe-tested (not user-typos), so these errors mean "this tier
|
|
22
|
-
* is unavailable to THIS caller" — which is exactly when rotation
|
|
23
|
-
* to the next tier should fire. Dropping from a pro preview down
|
|
24
|
-
* to `gemini-3-flash-preview` (the chain floor) trades pro-tier
|
|
25
|
-
* reasoning for flash-tier latency/cost while still keeping
|
|
26
|
-
* Pro-grade quality per Google's 3-Flash positioning.
|
|
27
|
-
*
|
|
28
|
-
* Does NOT match: auth failures (missing/invalid API key), prompt-safety
|
|
29
|
-
* rejections, or subprocess crashes — these will not differ between
|
|
30
|
-
* frontier tiers.
|
|
31
|
-
*/
|
|
32
|
-
function isGeminiRotatableError(error) {
|
|
33
|
-
if (!error)
|
|
34
|
-
return false;
|
|
35
|
-
return /no capacity available|\b429\b|overloaded|rateLimitExceeded|rate limit|quota|too many requests|ModelNotFoundError|Requested entity was not found|\b403\b|permission denied|access denied/i.test(error);
|
|
36
|
-
}
|
|
37
10
|
function sanitizeModelNameForMessage(model) {
|
|
38
11
|
if (!model)
|
|
39
12
|
return 'requested model';
|
|
@@ -276,7 +249,7 @@ async function spawnAsync(command, args, options = {}) {
|
|
|
276
249
|
}
|
|
277
250
|
// Use secure environment
|
|
278
251
|
const secureEnv = options.env || createSecureEnvironment();
|
|
279
|
-
// On Windows, npm-installed CLIs (
|
|
252
|
+
// On Windows, npm-installed CLIs (codex) are .cmd batch shims that
|
|
280
253
|
// require shell:true for spawn() to execute them. Native .exe CLIs (claude)
|
|
281
254
|
// work either way. On Unix, shell remains false to prevent injection.
|
|
282
255
|
//
|
|
@@ -463,7 +436,7 @@ async function spawnAsync(command, args, options = {}) {
|
|
|
463
436
|
if (command === 'claude') {
|
|
464
437
|
child.stdin?.end();
|
|
465
438
|
}
|
|
466
|
-
//
|
|
439
|
+
// Codex works fine with stdin left open
|
|
467
440
|
}
|
|
468
441
|
});
|
|
469
442
|
}
|
|
@@ -563,10 +536,6 @@ export class CLIAgentOrchestrator {
|
|
|
563
536
|
const provider = getProvider('codex');
|
|
564
537
|
return provider.decodeOutput(jsonOutput, ['--json']);
|
|
565
538
|
}
|
|
566
|
-
extractGeminiResponse(jsonOutput) {
|
|
567
|
-
const provider = getProvider('gemini');
|
|
568
|
-
return provider.decodeOutput(jsonOutput, ['--output-format', 'json']);
|
|
569
|
-
}
|
|
570
539
|
emitThrottledStreamingEvent(agent, type, content, onStreamingEvent, options) {
|
|
571
540
|
if (!onStreamingEvent)
|
|
572
541
|
return;
|
|
@@ -632,17 +601,21 @@ export class CLIAgentOrchestrator {
|
|
|
632
601
|
return this.cliContext;
|
|
633
602
|
}
|
|
634
603
|
const availableCLIs = [];
|
|
635
|
-
//
|
|
604
|
+
// Detection probes. For agy, AGY_BINARY (resolved in the agy adapter
|
|
605
|
+
// at module load) prefers ~/.local/bin/agy over PATH to avoid the
|
|
606
|
+
// macOS Antigravity-desktop-IDE wrapper that otherwise shadows the
|
|
607
|
+
// CLI agent. See the adapter's resolveAgyBin() for the full rationale.
|
|
636
608
|
const cliChecks = [
|
|
637
609
|
{ name: 'claude', command: 'claude --version' },
|
|
638
610
|
{ name: 'codex', command: 'codex --version' },
|
|
639
|
-
{ name: '
|
|
611
|
+
{ name: 'agy', command: `${AGY_BINARY} --version` }
|
|
640
612
|
];
|
|
641
613
|
// NOTE: These `--version` probes are NOT spawn attempts — they must not
|
|
642
614
|
// increment `cliSpawnTotal`. Only _executeCLI counts spawns.
|
|
643
615
|
const results = await Promise.allSettled(cliChecks.map(async (check) => {
|
|
616
|
+
const probeCmd = check.name === 'agy' ? AGY_BINARY : check.name;
|
|
644
617
|
try {
|
|
645
|
-
await spawnAsync(
|
|
618
|
+
await spawnAsync(probeCmd, ['--version'], { timeout: CLI_CHECK_TIMEOUT });
|
|
646
619
|
this.emitLog().debug(`CLI available: ${check.name}`);
|
|
647
620
|
return check.name;
|
|
648
621
|
}
|
|
@@ -666,18 +639,22 @@ export class CLIAgentOrchestrator {
|
|
|
666
639
|
this.emitLog().info(`✅ Using preferred CLI: ${preferredCLI}`);
|
|
667
640
|
return preferredCLI;
|
|
668
641
|
}
|
|
669
|
-
// 2. Smart selection based on analysis type
|
|
642
|
+
// 2. Smart selection based on analysis type. Agy is always LAST in
|
|
643
|
+
// priority order: it's 2-4× slower per call than claude/codex
|
|
644
|
+
// (30-60s vs 5-25s) and Flash-pinned, so it's only auto-selected
|
|
645
|
+
// when the others are unavailable. Callers who explicitly pass
|
|
646
|
+
// `preferredCLI: 'agy'` get it regardless (handled at step 1).
|
|
670
647
|
const selectionRules = {
|
|
671
|
-
'code': ['claude', 'codex', '
|
|
672
|
-
'architecture': ['
|
|
673
|
-
'research': ['claude', '
|
|
674
|
-
'security': ['codex', 'claude', '
|
|
675
|
-
'data': ['
|
|
676
|
-
'product': ['claude', '
|
|
677
|
-
'infrastructure': ['
|
|
678
|
-
'idea': ['claude', '
|
|
679
|
-
'debate': ['claude', '
|
|
680
|
-
'default': ['claude', '
|
|
648
|
+
'code': ['claude', 'codex', 'agy'],
|
|
649
|
+
'architecture': ['claude', 'codex', 'agy'],
|
|
650
|
+
'research': ['claude', 'codex', 'agy'],
|
|
651
|
+
'security': ['codex', 'claude', 'agy'],
|
|
652
|
+
'data': ['claude', 'codex', 'agy'],
|
|
653
|
+
'product': ['claude', 'codex', 'agy'],
|
|
654
|
+
'infrastructure': ['codex', 'claude', 'agy'],
|
|
655
|
+
'idea': ['claude', 'codex', 'agy'],
|
|
656
|
+
'debate': ['claude', 'codex', 'agy'],
|
|
657
|
+
'default': ['claude', 'codex', 'agy']
|
|
681
658
|
};
|
|
682
659
|
const priority = selectionRules[analysisType || 'default'] || selectionRules.default;
|
|
683
660
|
// 3. Select by priority from available CLIs
|
|
@@ -704,7 +681,7 @@ export class CLIAgentOrchestrator {
|
|
|
704
681
|
// resolving a model, which is the right semantics for the response.
|
|
705
682
|
let built;
|
|
706
683
|
// Provider label for the spawn counter. Derived from cliName so the
|
|
707
|
-
// label set stays in sync with the 'claude' | 'codex' | '
|
|
684
|
+
// label set stays in sync with the 'claude' | 'codex' | 'agy' union
|
|
708
685
|
// instead of reading adapter.name.
|
|
709
686
|
const provider = cliName;
|
|
710
687
|
// Gate for the catch-branch counter emission. Per compose.py:174,
|
|
@@ -794,46 +771,29 @@ export class CLIAgentOrchestrator {
|
|
|
794
771
|
});
|
|
795
772
|
}
|
|
796
773
|
// Post-process CLI output via provider adapter. Thread the scoped
|
|
797
|
-
// logger through
|
|
774
|
+
// logger through decode so adapter warnings/errors carry
|
|
798
775
|
// module=cli-orchestrator + operation=<provider>_spawn context.
|
|
776
|
+
//
|
|
777
|
+
// Phase 2: consume the structured DecodeResult from `decode()`
|
|
778
|
+
// instead of grepping the returned string for refusal markers.
|
|
779
|
+
// Each adapter classifies refusal from its own protocol-level
|
|
780
|
+
// signals (Claude `result.subtype`, Codex error events / stderr
|
|
781
|
+
// markers). The orchestrator does not inspect assistant prose to
|
|
782
|
+
// classify outcomes.
|
|
799
783
|
let finalOutput = stdout;
|
|
800
784
|
const providerAdapter = getProvider(cliName);
|
|
801
785
|
const decodeLog = this.log?.forOperation(`${cliName}_spawn`);
|
|
802
|
-
const
|
|
803
|
-
if (
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
// (e.g., Gemini CLI returns exit code 0 on quota exhaustion,
|
|
814
|
-
// Codex CLI may return usage limit errors in output)
|
|
815
|
-
const combinedOutput = `${finalOutput}\n${stderr}`;
|
|
816
|
-
const quotaPatterns = [
|
|
817
|
-
/TerminalQuotaError/i,
|
|
818
|
-
/exhausted your capacity/i,
|
|
819
|
-
/quota will reset/i,
|
|
820
|
-
/rateLimitExceeded/i,
|
|
821
|
-
/rate limit/i,
|
|
822
|
-
/usage limit/i,
|
|
823
|
-
/Too Many Requests/i,
|
|
824
|
-
/\b429\b/,
|
|
825
|
-
/token limit exceeded/i,
|
|
826
|
-
/billing.*limit/i,
|
|
827
|
-
/spending.*limit/i,
|
|
828
|
-
/plan.*limit/i,
|
|
829
|
-
];
|
|
830
|
-
const quotaMatch = quotaPatterns.find(p => p.test(combinedOutput));
|
|
831
|
-
if (quotaMatch) {
|
|
832
|
-
// Extract reset time if present
|
|
833
|
-
const resetMatch = combinedOutput.match(/reset(?:s)? (?:in|after) (\d+h\s*\d+m(?:\s*\d+s)?)/i);
|
|
834
|
-
const resetInfo = resetMatch ? ` (resets in ${resetMatch[1]})` : '';
|
|
835
|
-
const errorMsg = `${cliName.toUpperCase()} quota exhausted${resetInfo}. The CLI exited 0 but returned a quota error instead of analysis output.`;
|
|
836
|
-
this.emitLog().warn(`⏱️ ${errorMsg}`);
|
|
786
|
+
const decoded = providerAdapter.decode(stdout, stderr, args, decodeLog);
|
|
787
|
+
if (decoded.kind === 'refused') {
|
|
788
|
+
// Structured refusal — the adapter saw the CLI's own
|
|
789
|
+
// protocol-level signal that this run hit a wall (quota / auth /
|
|
790
|
+
// policy). No prose matching.
|
|
791
|
+
const errorMsg = `${cliName.toUpperCase()} ${decoded.reason} refused. The CLI exited 0 but its own protocol returned a refusal instead of analysis output.`;
|
|
792
|
+
this.emitLog().warn(`⏱️ ${errorMsg}`, {
|
|
793
|
+
reason: decoded.reason,
|
|
794
|
+
detail: decoded.detail,
|
|
795
|
+
stderrLength: stderr.length,
|
|
796
|
+
});
|
|
837
797
|
if (options.onStreamingEvent) {
|
|
838
798
|
options.onStreamingEvent({
|
|
839
799
|
type: 'agent_error',
|
|
@@ -843,19 +803,12 @@ export class CLIAgentOrchestrator {
|
|
|
843
803
|
sessionId: options.sessionId
|
|
844
804
|
});
|
|
845
805
|
}
|
|
846
|
-
|
|
847
|
-
// with a quota error in stdout/stderr). Labels annotated against
|
|
848
|
-
// CLI_SPAWN_LABELS so a future label-set change fails at compile
|
|
849
|
-
// time. Wrapped in `safeMetric` so a label-validation throw or
|
|
850
|
-
// other metric-layer exception cannot propagate into the outer
|
|
851
|
-
// spawn try/catch and be misclassified as a spawn failure
|
|
852
|
-
// (Cycle 3 Task CLI-B' — parity with debate's safeMetric).
|
|
853
|
-
const quotaLabels = {
|
|
806
|
+
const refusedLabels = {
|
|
854
807
|
provider,
|
|
855
808
|
outcome: 'refused',
|
|
856
809
|
};
|
|
857
|
-
safeMetric(this.emitLog(),
|
|
858
|
-
this.metrics?.cliSpawnTotal.inc(
|
|
810
|
+
safeMetric(this.emitLog(), `cliSpawnTotal.inc(refused:${decoded.reason})`, () => {
|
|
811
|
+
this.metrics?.cliSpawnTotal.inc(refusedLabels, 1);
|
|
859
812
|
});
|
|
860
813
|
return {
|
|
861
814
|
agent: cliName,
|
|
@@ -863,18 +816,26 @@ export class CLIAgentOrchestrator {
|
|
|
863
816
|
output: '',
|
|
864
817
|
error: errorMsg,
|
|
865
818
|
executionTime: Date.now() - startTime,
|
|
866
|
-
// Cycle 4 Task T18 (F9): match the failure-path redaction
|
|
867
|
-
// parity — `command` is a diagnostic display field; the
|
|
868
|
-
// static placeholder preserves the response shape without
|
|
869
|
-
// leaking raw command + args (which may include Codex TOML
|
|
870
|
-
// MCP overrides, Claude temp config paths, or prompt
|
|
871
|
-
// fragments that crossed the trust boundary).
|
|
872
819
|
command: `(redacted command for ${cliName})`,
|
|
873
820
|
workingDirectory: workingDir,
|
|
874
821
|
exitCode: 0,
|
|
875
822
|
model: built?.model
|
|
876
823
|
};
|
|
877
824
|
}
|
|
825
|
+
if (decoded.kind === 'ok') {
|
|
826
|
+
finalOutput = decoded.text;
|
|
827
|
+
}
|
|
828
|
+
// For `kind: 'error'` (empty/malformed/unknown) we fall through
|
|
829
|
+
// and keep finalOutput as the raw stdout — preserving the legacy
|
|
830
|
+
// "if decode returned nothing useful, pass raw stdout through"
|
|
831
|
+
// behavior. The success path below then surfaces the raw output
|
|
832
|
+
// and the caller can see what the CLI emitted.
|
|
833
|
+
// Fallback: If stdout is empty but stderr has content and exit was successful,
|
|
834
|
+
// Claude might have written to stderr (common in non-TTY environments)
|
|
835
|
+
if (!finalOutput.trim() && stderr && stderr.trim()) {
|
|
836
|
+
this.emitLog().info(`📝 Using stderr as output for ${cliName} (stdout was empty)`);
|
|
837
|
+
finalOutput = stderr;
|
|
838
|
+
}
|
|
878
839
|
// Spawn counter: outcome=success (normal completion path). Labels
|
|
879
840
|
// annotated against CLI_SPAWN_LABELS so a future label-set change
|
|
880
841
|
// fails at compile time. Wrapped in `safeMetric` so a metric-layer
|
|
@@ -910,14 +871,22 @@ export class CLIAgentOrchestrator {
|
|
|
910
871
|
catch (error) {
|
|
911
872
|
const execError = error;
|
|
912
873
|
const exitCode = execError.code || -1;
|
|
913
|
-
// Detect rate limiting / usage limit errors across all CLIs
|
|
874
|
+
// Detect rate limiting / usage limit errors across all CLIs.
|
|
875
|
+
//
|
|
876
|
+
// Scoped to `message + stderr`. The previous scope of
|
|
877
|
+
// `message + stdout + stderr` ran these substrings against the
|
|
878
|
+
// child's captured stdout — which on a partial/aborted run is
|
|
879
|
+
// assistant prose that crossed the same trust boundary as the
|
|
880
|
+
// success path. `message` is the spawn-layer error string from
|
|
881
|
+
// Node (e.g., "Command failed with exit code 1"), not user
|
|
882
|
+
// content; safe to keep.
|
|
914
883
|
const rateLimitPatterns = [
|
|
915
884
|
'429', 'rate limit', 'rate_limit', 'rateLimitExceeded',
|
|
916
885
|
'Too Many Requests', 'usage limit', 'usage_limit',
|
|
917
886
|
'quota', 'exhausted', 'billing', 'spending limit',
|
|
918
887
|
'token limit', 'plan limit',
|
|
919
888
|
];
|
|
920
|
-
const errorText = `${execError.message || ''} ${execError.
|
|
889
|
+
const errorText = `${execError.message || ''} ${execError.stderr || ''}`.toLowerCase();
|
|
921
890
|
const isRateLimit = rateLimitPatterns.some(p => errorText.includes(p.toLowerCase()));
|
|
922
891
|
const unsupportedCodexModel = cliName === 'codex'
|
|
923
892
|
&& isCodexUnsupportedChatGPTModelError(execError, options.models?.codex);
|
|
@@ -1024,33 +993,12 @@ export class CLIAgentOrchestrator {
|
|
|
1024
993
|
async executeCodex(userPrompt, systemPromptSpec, options = {}) {
|
|
1025
994
|
return this._executeCLI('codex', userPrompt, systemPromptSpec, options, (user, sys, opts) => this.buildCLICommand('codex', user, sys, opts));
|
|
1026
995
|
}
|
|
1027
|
-
async executeGemini(userPrompt, systemPromptSpec, options = {}) {
|
|
1028
|
-
return this._executeCLI('gemini', userPrompt, systemPromptSpec, options, (user, sys, opts) => this.buildCLICommand('gemini', user, sys, opts));
|
|
1029
|
-
}
|
|
1030
996
|
async executeSingleCLI(cli, userPrompt, systemPromptSpec, options = {}) {
|
|
1031
997
|
// Wait for available slot to prevent resource exhaustion
|
|
1032
998
|
await this.waitForAvailableSlot();
|
|
1033
999
|
this.runningCLIs++;
|
|
1034
1000
|
this.emitLog().info(`\u{1F3AF} Executing ${cli} (${this.runningCLIs}/${this.MAX_CONCURRENT_CLIS} slots used)`);
|
|
1035
1001
|
try {
|
|
1036
|
-
// Gemini frontier rotation: when using the default frontier chain
|
|
1037
|
-
// (no caller-specified model, no env-var override), rotate through
|
|
1038
|
-
// GEMINI_FRONTIER_CHAIN on saturation OR access-denied failures.
|
|
1039
|
-
// The chain (see src/cli-adapters/gemini-adapter.ts) is two pro
|
|
1040
|
-
// previews followed by `gemini-3-flash-preview` as the floor. The
|
|
1041
|
-
// 2.5-pro fallback was removed because 3-flash ships with
|
|
1042
|
-
// pro-grade reasoning and is universally available; falling to it
|
|
1043
|
-
// beats dropping a generation back. Access-denied rotation is the
|
|
1044
|
-
// typical user path: pro preview tiers aren't granted to every
|
|
1045
|
-
// account, so the chain falls through to 3-flash. Rotation is
|
|
1046
|
-
// disabled when the caller or operator has explicitly chosen a
|
|
1047
|
-
// model (BRUTALIST_GEMINI_MODEL=... or models.gemini=...).
|
|
1048
|
-
const geminiRotationActive = cli === 'gemini'
|
|
1049
|
-
&& !options.models?.gemini
|
|
1050
|
-
&& !process.env.BRUTALIST_GEMINI_MODEL;
|
|
1051
|
-
if (geminiRotationActive) {
|
|
1052
|
-
return await this._executeGeminiWithRotation(userPrompt, systemPromptSpec, options);
|
|
1053
|
-
}
|
|
1054
1002
|
// Dispatch to adapter via buildCLICommand (which delegates to provider)
|
|
1055
1003
|
const response = await this._executeCLI(cli, userPrompt, systemPromptSpec, options, (user, sys, opts) => this.buildCLICommand(cli, user, sys, opts));
|
|
1056
1004
|
const requestedCodexModel = options.models?.codex;
|
|
@@ -1081,60 +1029,6 @@ export class CLIAgentOrchestrator {
|
|
|
1081
1029
|
this.emitLog().info(`\u2705 Released CLI slot (${this.runningCLIs}/${this.MAX_CONCURRENT_CLIS} slots used)`);
|
|
1082
1030
|
}
|
|
1083
1031
|
}
|
|
1084
|
-
/**
|
|
1085
|
-
* Gemini frontier rotation - iterate through GEMINI_FRONTIER_CHAIN on
|
|
1086
|
-
* rotatable failures (capacity saturation OR tier access denial).
|
|
1087
|
-
*
|
|
1088
|
-
* Only active when neither caller nor operator has chosen a model. Each
|
|
1089
|
-
* attempt injects the model via options.models.gemini. Per-attempt
|
|
1090
|
-
* failures are classified by isGeminiRotatableError(): capacity errors
|
|
1091
|
-
* (quota/429) AND access errors (ModelNotFoundError / permission denied)
|
|
1092
|
-
* both trigger rotation. On unrelated failures (auth, prompt rejection,
|
|
1093
|
-
* subprocess crashes) rotation stops immediately — a different model
|
|
1094
|
-
* will not fix those. On chain exhaustion, the last failing response
|
|
1095
|
-
* is returned.
|
|
1096
|
-
*
|
|
1097
|
-
* In practice the typical non-preview user trajectory is:
|
|
1098
|
-
* gemini-3.1-pro-preview -> access denied (rotate)
|
|
1099
|
-
* gemini-3-pro-preview -> access denied (rotate)
|
|
1100
|
-
* gemini-3-flash-preview -> success (3-series flash, pro-grade
|
|
1101
|
-
* reasoning, universally available as
|
|
1102
|
-
* of the model launch)
|
|
1103
|
-
*/
|
|
1104
|
-
async _executeGeminiWithRotation(userPrompt, systemPromptSpec, options) {
|
|
1105
|
-
const chain = GEMINI_FRONTIER_CHAIN;
|
|
1106
|
-
let lastResponse = null;
|
|
1107
|
-
for (let i = 0; i < chain.length; i++) {
|
|
1108
|
-
const model = chain[i];
|
|
1109
|
-
const attemptOptions = {
|
|
1110
|
-
...options,
|
|
1111
|
-
models: { ...(options.models || {}), gemini: model },
|
|
1112
|
-
};
|
|
1113
|
-
if (i > 0) {
|
|
1114
|
-
this.emitLog().info(`Gemini rotation: attempting tier ${i + 1}/${chain.length} (${model})`);
|
|
1115
|
-
}
|
|
1116
|
-
const response = await this._executeCLI('gemini', userPrompt, systemPromptSpec, attemptOptions, (user, sys, opts) => this.buildCLICommand('gemini', user, sys, opts));
|
|
1117
|
-
if (response.success) {
|
|
1118
|
-
if (i > 0) {
|
|
1119
|
-
this.emitLog().warn(`Gemini served by ${model} after ${i} rotation${i === 1 ? '' : 's'} (tier ${i + 1}/${chain.length})`);
|
|
1120
|
-
}
|
|
1121
|
-
else {
|
|
1122
|
-
this.emitLog().debug(`Gemini served by frontier ${model}`);
|
|
1123
|
-
}
|
|
1124
|
-
return response;
|
|
1125
|
-
}
|
|
1126
|
-
if (!isGeminiRotatableError(response.error)) {
|
|
1127
|
-
this.emitLog().debug(`Gemini ${model} failed with non-rotatable error; aborting rotation`, {
|
|
1128
|
-
errorPreview: response.error?.slice(0, 120),
|
|
1129
|
-
});
|
|
1130
|
-
return response;
|
|
1131
|
-
}
|
|
1132
|
-
this.emitLog().warn(`Gemini ${model} unavailable (capacity or access); rotating to next frontier tier`);
|
|
1133
|
-
lastResponse = response;
|
|
1134
|
-
}
|
|
1135
|
-
this.emitLog().error(`Gemini frontier chain exhausted (${chain.length} tiers); no tier available to this account`);
|
|
1136
|
-
return lastResponse;
|
|
1137
|
-
}
|
|
1138
1032
|
async waitForAvailableSlot() {
|
|
1139
1033
|
let waitTime = 100; // Start with 100ms wait time
|
|
1140
1034
|
while (this.runningCLIs >= this.MAX_CONCURRENT_CLIS) {
|
|
@@ -1144,8 +1038,7 @@ export class CLIAgentOrchestrator {
|
|
|
1144
1038
|
}
|
|
1145
1039
|
}
|
|
1146
1040
|
async executeCLIAgents(cliAgents, systemPrompt, userPrompt, options = {}) {
|
|
1147
|
-
|
|
1148
|
-
const validAgents = cliAgents.filter(agent => ['claude', 'codex', 'gemini'].includes(agent));
|
|
1041
|
+
const validAgents = cliAgents.filter(agent => ['claude', 'codex', 'agy'].includes(agent));
|
|
1149
1042
|
if (validAgents.length === 0) {
|
|
1150
1043
|
return [];
|
|
1151
1044
|
}
|
|
@@ -1173,7 +1066,7 @@ export class CLIAgentOrchestrator {
|
|
|
1173
1066
|
.map(result => result.value);
|
|
1174
1067
|
}
|
|
1175
1068
|
async executeCLIAgent(agent, systemPrompt, userPrompt, options = {}) {
|
|
1176
|
-
if (!['claude', 'codex', '
|
|
1069
|
+
if (!['claude', 'codex', 'agy'].includes(agent)) {
|
|
1177
1070
|
throw new Error(`Unsupported CLI agent: ${agent}`);
|
|
1178
1071
|
}
|
|
1179
1072
|
return await this.executeSingleCLI(agent, userPrompt, systemPrompt, options);
|
package/dist/cli-agents.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-agents.js","sourceRoot":"","sources":["../src/cli-agents.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-agents.js","sourceRoot":"","sources":["../src/cli-agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAoB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAElE,SAAS,2BAA2B,CAAC,KAAc;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,iBAAiB,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAC5D,OAAO,SAAS,IAAI,iBAAiB,CAAC;AACxC,CAAC;AAED,SAAS,mCAAmC,CAAC,KAAwB,EAAE,cAAuB;IAC5F,IAAI,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,KAAK,KAAK,CAAC,MAAM,IAAI,EAAE,KAAK,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;IACxF,OAAO,mFAAmF,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5G,CAAC;AAED,SAAS,+BAA+B,CAAC,QAA0B,EAAE,cAAuB;IAC1F,IAAI,QAAQ,CAAC,KAAK,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACzF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,2BAA2B,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;AAClH,CAAC;AA0BD,mCAAmC;AACnC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB;AACvG,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,2BAA2B;AACtH,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,MAAM,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe;AACnH,MAAM,mBAAmB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB;AAE3G,+BAA+B;AAC/B,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,+BAA+B;AAC/G,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,sDAAsD;AAC3I,MAAM,qBAAqB,GAAG,IAAI,CAAC,CAAC,qCAAqC;AAEzE,2CAA2C;AAC3C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAuD,CAAC;AAEvF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAEnE,uCAAuC;AACvC,MAAM,cAAc,GAAG,EAAE,CAAC,CAAC,oCAAoC;AAE/D,sCAAsC;AACtC,kFAAkF;AAClF,8EAA8E;AAC9E,8EAA8E;AAC9E,2FAA2F;AAC3F,SAAS,iBAAiB,CAAC,IAAc;IACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,2DAA2D;QAC3D,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,0FAA0F;AAC1F,EAAE;AACF,+EAA+E;AAC/E,sDAAsD;AACtD,iFAAiF;AACjF,oFAAoF;AACpF,EAAE;AACF,wDAAwD;AACxD,+CAA+C;AAC/C,gEAAgE;AAChE,EAAE;AACF,sDAAsD;AACtD,0EAA0E;AAC1E,sEAAsE;AACtE,4EAA4E;AAC5E,wBAAwB;AACxB,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,+DAA+D;IAC/D,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,0CAA0C;IAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wEAAwE;IACxE,IAAI,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,+BAA+B;IAC/B,4FAA4F;IAC5F,6BAA6B;IAC7B,4EAA4E;IAC5E,IAAI,OAAO,GAAG,GAAG;SACd,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;SAC7B,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE7B,sEAAsE;IACtE,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,IAAI,MAAM,GAAG,IAAI,OAAO,GAAG,CAAC;IAC5B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+DAA+D;AAC/D,SAAS,YAAY,CAAC,IAAY,EAAE,IAAY;IAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,kBAAkB,CAAC,CAAC;IAC7C,CAAC;IAED,uBAAuB;IACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qBAAqB,CAAC,CAAC;IAChD,CAAC;IAED,8CAA8C;IAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnG,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qCAAqC,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,oDAAoD;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACzC,IAAI,KAAK,GAAG,cAAc,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,2BAA2B,KAAK,MAAM,cAAc,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,8EAA8E;IAC9E,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED,0DAA0D;AAC1D,KAAK,UAAU,iBAAiB,CAAC,IAAY,EAAE,IAAY;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,kBAAkB,CAAC,CAAC;IAC7C,CAAC;IAED,uBAAuB;IACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qBAAqB,CAAC,CAAC;IAChD,CAAC;IAED,8CAA8C;IAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnG,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qCAAqC,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,oDAAoD;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACzC,IAAI,KAAK,GAAG,cAAc,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,2BAA2B,KAAK,MAAM,cAAc,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,8EAA8E;IAC9E,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED,8CAA8C;AAC9C,SAAS,uBAAuB;IAC9B,gEAAgE;IAChE,mEAAmE;IACnE,oEAAoE;IACpE,mEAAmE;IACnE,6DAA6D;IAC7D,qEAAqE;IACrE,gEAAgE;IAChE,MAAM,aAAa,GAAG;QACpB,MAAM;QACN,MAAM;QACN,MAAM;QACN,OAAO;QACP,MAAM;QACN,MAAM;QACN,QAAQ;QACR,IAAI;QACJ,UAAU;KACX,CAAC;IAEF,MAAM,SAAS,GAA2B,EAAE,CAAC;IAE7C,uCAAuC;IACvC,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,4BAA4B;IACrD,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,uBAAuB;IACjD,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,uCAAuC;IAE9D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,yCAAyC;AACzC,KAAK,UAAU,kBAAkB,CAAC,GAAW;IAC3C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAElC,2CAA2C;QAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAE7C,IAAI,KAAK,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,GAAW;IAC9C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAElC,uCAAuC;QACvC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,iCAAiC,GAAG,6BAA6B,CAAC,CAAC;QACtG,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAEnD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,KAAK,UAAU,UAAU,CACvB,OAAe,EACf,IAAc,EACd,UAeI,EAAE;IAEN,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,2CAA2C;QAC3C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC;YACH,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAE3D,mEAAmE;QACnE,4EAA4E;QAC5E,sEAAsE;QACtE,EAAE;QACF,yEAAyE;QACzE,uEAAuE;QACvE,iEAAiE;QACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;QAE9C,IAAI,YAAoB,CAAC;QACzB,IAAI,SAAmB,CAAC;QACxB,IAAI,QAAQ,EAAE,CAAC;YACb,YAAY,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClE,SAAS,GAAG,EAAE,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,OAAO,CAAC;YACvB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,iEAAiE;QACjE,8DAA8D;QAC9D,oEAAoE;QACpE,mDAAmD;QACnD,mEAAmE;QACnE,8DAA8D;QAC9D,IAAI,CAAC;YACH,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;YACjE,qCAAqC;QACvC,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE;YAC3C,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,KAAK,EAAE,oDAAoD;YACrE,GAAG,EAAE,SAAS;YACd,oEAAoE;YACpE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClB,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;gBAClD,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;aACnD,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,wCAAwC;QACxC,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,YAAY,EAAE,CAAC;aAChB,CAAC,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,IAAI,WAAuC,CAAC;QAC5C,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,WAAW,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBACnC,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,KAAK,CAAC,GAAI,CAAC;oBACvB,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC7C,IAAI,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC;wBAC3B,IAAI,WAAW;4BAAE,aAAa,CAAC,WAAW,CAAC,CAAC;wBAC5C,OAAO;oBACT,CAAC;oBAED,WAAW,CAAC,YAAY,EAAE,CAAC;oBAE3B,sCAAsC;oBACtC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;wBACxC,CAAC,CAAC,MAAM,qBAAqB,CAAC,GAAG,CAAC;wBAClC,CAAC,CAAC,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBAElC,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,GAAG,aAAa,EAAE,CAAC;wBAC5C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,QAAQ,QAAQ,aAAa,IAAI,CAAC,CAAC,CAAC;wBAC7F,OAAO;oBACT,CAAC;oBAED,uBAAuB;oBACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC;oBACrD,IAAI,SAAS,GAAG,gBAAgB,GAAG,IAAI,EAAE,CAAC;wBACxC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,oCAAoC,SAAS,QAAQ,gBAAgB,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;wBACpG,OAAO;oBACT,CAAC;gBAEH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,uDAAuD;oBACvD,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAC5B,CAAC;QAED,yCAAyC;QACzC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,IAAI,eAAe,CAAC;QACrD,IAAI,SAAqC,CAAC;QAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,QAAQ,GAAG,IAAI,CAAC;YAChB,oBAAoB;YACpB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,wDAAwD;YACxD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,IAAI,CAAC;wBACH,mEAAmE;wBACnE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACxB,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,kCAAkC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,SAAS,OAAO,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,iBAAiB;QACjB,oGAAoG;QACpG,4FAA4F;QAC5F,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC;YAEhB,qCAAqC;YACrC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtC,CAAC;YAED,IAAI,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC;YAEhB,qCAAqC;YACrC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtC,CAAC;YAED,mDAAmD;YACnD,IAAI,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,GAAG,IAAI,CAAC;YACd,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,SAAS;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,WAAW;gBAAE,aAAa,CAAC,WAAW,CAAC,CAAC;YAE5C,4BAA4B;YAC5B,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACd,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,iCAAiC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC9F,KAA2B,CAAC,IAAI,GAAG,IAAI,IAAI,SAAS,CAAC;oBACrD,KAA2B,CAAC,MAAM,GAAG,MAAM,CAAC;oBAC5C,KAA2B,CAAC,MAAM,GAAG,MAAM,CAAC;oBAC7C,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,SAAS;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,WAAW;gBAAE,aAAa,CAAC,WAAW,CAAC,CAAC;YAE5C,4BAA4B;YAC5B,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACd,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,2CAA2C;QAC3C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,oFAAoF;YACpF,2EAA2E;YAC3E,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;YACrB,CAAC;YACD,wCAAwC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAwDD,MAAM,OAAO,oBAAoB;IACvB,cAAc,GAAG,OAAO,CAAC,CAAC,2CAA2C;IACrE,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,UAAU,GAAe,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IAC/C,gBAAgB,GAAG,KAAK,CAAC;IACzB,mBAAmB,GAAG,CAAC,CAAC;IACf,aAAa,GAAG,MAAM,CAAC,CAAC,kBAAkB;IACnD,WAAW,GAAG,CAAC,CAAC,CAAC,kCAAkC;IAC1C,mBAAmB,GAAG,mBAAmB,CAAC,CAAC,iCAAiC;IAE7F,0BAA0B;IACV,aAAa,CAAgB;IAE7C,oEAAoE;IACpE,kEAAkE;IAClE,wEAAwE;IACxE,4EAA4E;IAC3D,OAAO,CAAmB;IAC1B,GAAG,CAAoB;IAExC,gCAAgC;IACxB,gBAAgB,GAAG,IAAI,GAAG,EAAmD,CAAC;IACrE,wBAAwB,GAAG,GAAG,CAAC,CAAC,QAAQ;IACxC,cAAc,GAAG,IAAI,CAAC,CAAC,gBAAgB;IACvC,kBAAkB,GAAG,IAAI,CAAC,CAAC,iCAAiC;IACrE,aAAa,GAAG,CAAC,CAAC;IAE1B;;;;OAIG;IACH,YAAY,IAA+C;QACzD,MAAM,GAAG,GACP,IAAI,YAAY,aAAa;YAC3B,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE;YACzB,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,IAAI,IAAI,aAAa,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QAEnB,wEAAwE;QACxE,oCAAoC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,wBAAwB,eAAe,IAAI,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,0BAA0B,iBAAiB,IAAI,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,wBAAwB,eAAe,QAAQ,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,4BAA4B,mBAAmB,EAAE,CAAC,CAAC;QAEhE,oDAAoD;QACpD,OAAO,CAAC,GAAG,CAAC;YACV,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;SAChC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACf,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,OAAO;QACb,OAAO,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;OAUG;IACK,cAAc,CAAC,GAAY;QACjC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAClD,MAAM,CAAC,GAAG,GAA8D,CAAC;QACzE,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACvF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oEAAoE;IACpE,uDAAuD;IACvD,6CAA6C;IAErC,WAAW,CAAC,KAAa;QAC/B,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEO,sBAAsB,CAAC,YAAoB;QACjD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC;IACjF,CAAC;IAEO,wBAAwB,CAAC,UAAkB;QACjD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAEO,2BAA2B,CACjC,KAAiC,EACjC,IAAsC,EACtC,OAAe,EACf,gBAAkD,EAClD,OAAyB;QAEzB,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAE9B,4EAA4E;QAC5E,iFAAiF;QACjF,4DAA4D;QAC5D,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,uEAAuE;QACvE,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC;QAClD,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,0CAA0C;QAC1C,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc;YAC3D,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,gBAAgB;YAC9D,CAAC,CAAC,OAAO,CAAC;QAEZ,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAErC,8EAA8E;QAC9E,qFAAqF;QACrF,IAAI,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,UAAU,IAAI,IAAI,KAAK,gBAAgB;YAC1E,GAAG,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxD,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACtH,CAAC;QAED,6DAA6D;QAC7D,IAAI,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,wBAAwB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACxF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEjD,gBAAgB,CAAC;gBACf,IAAI;gBACJ,KAAK;gBACL,OAAO,EAAE,eAAe;gBACxB,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,OAAO,EAAE,SAAS;aAC9B,CAAC,CAAC;YAEH,eAAe;YACf,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;YACnB,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;QACzB,CAAC;IACH,CAAC;IAED,6DAA6D;IACrD,KAAK,CAAC,eAAe,CAC3B,GAAY,EACZ,UAAkB,EAClB,YAAoB,EACpB,OAAwB;QAExB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAE5C,gFAAgF;QAChF,+EAA+E;QAC/E,4EAA4E;QAC5E,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,GAAG,GAAG,QAAiB,CAAC;QACzC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,cAAc,GAClB,UAAU,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAEtF,OAAO,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACxG,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,uCAAuC;QACvC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACxF,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QAED,MAAM,aAAa,GAAmC,EAAE,CAAC;QAEzD,qEAAqE;QACrE,kEAAkE;QAClE,mEAAmE;QACnE,uEAAuE;QACvE,MAAM,SAAS,GAAG;YAChB,EAAE,IAAI,EAAE,QAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAE;YACxD,EAAE,IAAI,EAAE,OAAgB,EAAE,OAAO,EAAE,iBAAiB,EAAE;YACtD,EAAE,IAAI,EAAE,KAAc,EAAE,OAAO,EAAE,GAAG,UAAU,YAAY,EAAE;SAC7D,CAAC;QAEF,wEAAwE;QACxE,6DAA6D;QAC7D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAChE,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAC1E,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,kBAAkB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrD,OAAO,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,sBAAsB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;QAEJ,MAAM,YAAY,GAAG,OAAO;aACzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;aACxE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAE,MAAmE,CAAC,KAAK,CAAC,CAAC;QAC7F,aAAa,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAEpC,IAAI,CAAC,UAAU,GAAG,EAAE,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEtC,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,eAAe,CACb,YAAyC,EACzC,YAAkC;QAElC,4CAA4C;QAC5C,IAAI,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;YAC9D,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,mEAAmE;QACnE,8DAA8D;QAC9D,iEAAiE;QACjE,+DAA+D;QAC/D,+DAA+D;QAC/D,MAAM,cAAc,GAAmD;YACrE,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;YAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;YAC1C,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;YACtC,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;YACtC,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;YAClC,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;YACrC,gBAAgB,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;YAC5C,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;YAClC,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;YACpC,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;SACtC,CAAC;QAEF,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,IAAI,SAAS,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC;QAErF,4CAA4C;QAC5C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,oBAAoB,GAAG,QAAQ,YAAY,IAAI,SAAS,WAAW,CAAC,CAAC;gBACzF,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAAmC,EACnC,UAAkB,EAClB,gBAAwB,EACxB,UAA2B,EAAE,EAC7B,cAAkO;QAElO,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,CAAC;QACtE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC;QACvD,IAAI,iBAAqC,CAAC;QAC1C,mEAAmE;QACnE,iEAAiE;QACjE,oEAAoE;QACpE,IAAI,KAA6D,CAAC;QAElE,oEAAoE;QACpE,oEAAoE;QACpE,mCAAmC;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC;QAEzB,kEAAkE;QAClE,gEAAgE;QAChE,wDAAwD;QACxD,mEAAmE;QACnE,gEAAgE;QAChE,oEAAoE;QACpE,iEAAiE;QACjE,kEAAkE;QAClE,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAE7F,yBAAyB;YACzB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,OAAO,CAAC,gBAAgB,CAAC;oBACvB,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,YAAY,OAAO,CAAC,WAAW,EAAE,cAAc;oBACxD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC7B,CAAC,CAAC;YACL,CAAC;YAGD,KAAK,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACpE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;YAC5C,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;YAE5C,6DAA6D;YAC7D,4DAA4D;YAC5D,qDAAqD;YACrD,6DAA6D;YAC7D,6DAA6D;YAC7D,4DAA4D;YAC5D,qDAAqD;YACrD,6DAA6D;YAC7D,6BAA6B;YAC7B,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACzC,OAAO;gBACP,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,YAAY;aACb,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,eAAe,OAAO,IAAI,CAAC,CAAC;YAChD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,8BAA8B,KAAK,CAAC,MAAM,cAAc,CAAC,CAAC;YAChF,CAAC;YAED,gEAAgE;YAChE,yDAAyD;YACzD,kEAAkE;YAClE,8DAA8D;YAC9D,qDAAqD;YACrD,yBAAyB;YACzB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE;gBACzD,GAAG,EAAE,UAAU;gBACf,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,eAAe,EAAE,wCAAwC;gBACpE,GAAG,EAAE,GAAG;gBACR,KAAK,EAAE,KAAK;gBACZ,aAAa,EAAE,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;gBACxC,UAAU,EAAE,CAAC,KAAa,EAAE,IAAyB,EAAE,EAAE;oBACvD,wDAAwD;oBACxD,kEAAkE;oBAClE,iEAAiE;oBACjE,iEAAiE;oBACjE,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;wBACtC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,wBAAwB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;wBAEhG,uDAAuD;wBACvD,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;oBAC/G,CAAC;yBAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC7C,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,wBAAwB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;wBAEhG,uCAAuC;wBACvC,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;oBAC5G,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;YAE1F,wBAAwB;YACxB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,OAAO,CAAC,gBAAgB,CAAC;oBACvB,IAAI,EAAE,gBAAgB;oBACtB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,wBAAwB,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,KAAK;oBACpF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,kEAAkE;YAClE,yDAAyD;YACzD,gEAAgE;YAChE,EAAE;YACF,+DAA+D;YAC/D,+DAA+D;YAC/D,8DAA8D;YAC9D,gEAAgE;YAChE,iEAAiE;YACjE,qBAAqB;YACrB,IAAI,WAAW,GAAG,MAAM,CAAC;YACzB,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,OAAO,QAAQ,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAExE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,qDAAqD;gBACrD,iEAAiE;gBACjE,8BAA8B;gBAC9B,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,MAAM,gGAAgG,CAAC;gBAC5J,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,QAAQ,EAAE,EAAE;oBACpC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,YAAY,EAAE,MAAM,CAAC,MAAM;iBAC5B,CAAC,CAAC;gBAEH,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBAC7B,OAAO,CAAC,gBAAgB,CAAC;wBACvB,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,OAAO;wBACd,OAAO,EAAE,QAAQ;wBACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,aAAa,GAAsD;oBACvE,QAAQ;oBACR,OAAO,EAAE,SAAS;iBACnB,CAAC;gBACF,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,6BAA6B,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE;oBAC9E,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;gBAEH,OAAO;oBACL,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,QAAQ;oBACf,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACrC,OAAO,EAAE,yBAAyB,OAAO,GAAG;oBAC5C,gBAAgB,EAAE,UAAU;oBAC5B,QAAQ,EAAE,CAAC;oBACX,KAAK,EAAE,KAAK,EAAE,KAAK;iBACpB,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC1B,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAC7B,CAAC;YACD,gEAAgE;YAChE,iEAAiE;YACjE,+DAA+D;YAC/D,gEAAgE;YAChE,+CAA+C;YAE/C,+EAA+E;YAC/E,uEAAuE;YACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnD,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,iCAAiC,OAAO,qBAAqB,CAAC,CAAC;gBACnF,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;YAED,kEAAkE;YAClE,kEAAkE;YAClE,mEAAmE;YACnE,gEAAgE;YAChE,0DAA0D;YAC1D,MAAM,aAAa,GAAsD;gBACvE,QAAQ;gBACR,OAAO,EAAE,SAAS;aACnB,CAAC;YACF,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,4BAA4B,EAAE,GAAG,EAAE;gBAC5D,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,MAAM,IAAI,SAAS;gBAC1B,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACrC,sDAAsD;gBACtD,0DAA0D;gBAC1D,uDAAuD;gBACvD,wDAAwD;gBACxD,wDAAwD;gBACxD,2DAA2D;gBAC3D,qDAAqD;gBACrD,8BAA8B;gBAC9B,OAAO,EAAE,yBAAyB,OAAO,GAAG;gBAC5C,gBAAgB,EAAE,UAAU;gBAC5B,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAsB,KAA0B,CAAC;YAChE,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YAEtC,6DAA6D;YAC7D,EAAE;YACF,sDAAsD;YACtD,+DAA+D;YAC/D,8DAA8D;YAC9D,8DAA8D;YAC9D,+DAA+D;YAC/D,2DAA2D;YAC3D,yBAAyB;YACzB,MAAM,iBAAiB,GAAG;gBACxB,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB;gBACtD,mBAAmB,EAAE,aAAa,EAAE,aAAa;gBACjD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB;gBACjD,aAAa,EAAE,YAAY;aAC5B,CAAC;YACF,MAAM,SAAS,GAAG,GAAG,SAAS,CAAC,OAAO,IAAI,EAAE,IAAI,SAAS,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;YACvF,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACrF,MAAM,qBAAqB,GAAG,OAAO,KAAK,OAAO;mBAC5C,mCAAmC,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAE3E,yEAAyE;YACzE,mEAAmE;YACnE,iEAAiE;YACjE,kEAAkE;YAClE,iDAAiD;YACjD,IAAI,OAA0C,CAAC;YAC/C,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;iBAAM,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1C,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,6DAA6D;gBAC7D,4DAA4D;gBAC5D,8DAA8D;gBAC9D,+DAA+D;gBAC/D,yBAAyB;gBACzB,MAAM,aAAa,GAAsD;oBACvE,QAAQ;oBACR,OAAO;iBACR,CAAC;gBACF,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,qBAAqB,OAAO,GAAG,EAAE,GAAG,EAAE;oBAC/D,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,8BAA8B,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;YAC5G,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,sBAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,KAAK,EAAE;oBAChG,KAAK,EAAE,qDAAqD;oBAC5D,QAAQ;oBACR,MAAM,EAAE,qDAAqD;iBAC9D,CAAC,CAAC;YACL,CAAC;YAED,mEAAmE;YACnE,mEAAmE;YACnE,0DAA0D;YAC1D,gEAAgE;YAChE,kEAAkE;YAClE,mEAAmE;YACnE,gEAAgE;YAChE,gEAAgE;YAChE,2DAA2D;YAC3D,gEAAgE;YAChE,8DAA8D;YAC9D,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,WAAW;gBAC1B,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,kEAAkE;gBAC5F,CAAC,CAAC,qBAAqB;oBACrB,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,WAAW,2BAA2B,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,2CAA2C;oBAClI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;wBAC9B,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,8BAA8B,OAAO,oCAAoC;wBACnG,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,mDAAmD,CAAC;YAEpF,0DAA0D;YAC1D,4DAA4D;YAC5D,2DAA2D;YAC3D,qCAAqC;YACrC,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,OAAO,CAAC,gBAAgB,CAAC;oBACvB,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,YAAY,QAAQ,EAAE;oBACvD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,QAAQ;gBACf,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACrC,OAAO,EAAE,yBAAyB,OAAO,GAAG;gBAC5C,gBAAgB,EAAE,UAAU;gBAC5B,QAAQ;gBACR,KAAK,EAAE,KAAK,EAAE,KAAK;aACpB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,4DAA4D;YAC5D,sEAAsE;YACtE,kEAAkE;YAClE,8DAA8D;YAC9D,6DAA6D;YAC7D,2BAA2B;YAC3B,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,mEAAmE;IACnE,KAAK,CAAC,iBAAiB,CACrB,UAAkB,EAClB,gBAAwB,EACxB,UAA2B,EAAE;QAE7B,OAAO,IAAI,CAAC,WAAW,CACrB,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CACrE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,gBAAwB,EACxB,UAA2B,EAAE;QAE7B,OAAO,IAAI,CAAC,WAAW,CACrB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CACpE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,GAA+B,EAC/B,UAAkB,EAClB,gBAAwB,EACxB,UAA2B,EAAE;QAE7B,yDAAyD;QACzD,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAElC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,uBAAuB,GAAG,KAAK,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,mBAAmB,cAAc,CAAC,CAAC;QAE/G,IAAI,CAAC;YACH,wEAAwE;YACxE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,GAAG,EACH,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAChE,CAAC;YAEF,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;YAClD,IAAI,GAAG,KAAK,OAAO,IAAI,+BAA+B,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBACtF,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,qEAAqE,EAAE;oBACzF,cAAc,EAAE,2BAA2B,CAAC,mBAAmB,CAAC;iBACjE,CAAC,CAAC;gBAEH,MAAM,cAAc,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;gBACrD,OAAO,cAAc,CAAC,KAAK,CAAC;gBAC5B,MAAM,eAAe,GAAoB;oBACvC,GAAG,OAAO;oBACV,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;iBAC5E,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,GAAG,EACH,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAChE,CAAC;gBAEF,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACrB,MAAM,IAAI,GAAG,gBAAgB,2BAA2B,CAAC,mBAAmB,CAAC,0EAA0E,CAAC;oBACxJ,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7E,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,KAAK,GAAG,GAAG,QAAQ,CAAC,KAAK,2DAA2D,QAAQ,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;gBACnI,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,mBAAmB,cAAc,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,IAAI,QAAQ,GAAG,GAAG,CAAC,CAAC,6BAA6B;QACjD,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,qCAAqC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,mBAAmB,2BAA2B,QAAQ,OAAO,CAAC,CAAC;YACjJ,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC5D,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,qCAAqC;QAChF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,SAAmB,EACnB,YAAoB,EACpB,UAAkB,EAClB,UAA2B,EAAE;QAE7B,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC3C,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACT,CAAC;QAEpC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,uDAAuD;QACvD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/C,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAC9E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,KAAK;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,aAAa,EAAE,CAAC;oBAChB,OAAO,EAAE,GAAG,KAAK,mBAAmB;oBACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE;oBAC3D,QAAQ,EAAE,CAAC,CAAC;iBACO,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,MAAM,EAAsD,EAAE,CACrE,MAAM,CAAC,MAAM,KAAK,WAAW,CAC9B;aACA,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,KAAa,EACb,YAAoB,EACpB,UAAkB,EAClB,UAA2B,EAAE;QAE7B,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAmC,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7G,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,YAAiC,EACjC,cAAsB,EACtB,gBAAwB,EACxB,OAAgB,EAChB,UAA2B,EAAE;QAE7B,sFAAsF;QACtF,0DAA0D;QAC1D,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QAEpG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,mCAAmC,YAAY,uBAAuB,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAErI,IAAI,CAAC;YACH,IAAI,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,cAAc,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC7F,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,qBAAqB,cAAc,GAAG,CAAC,CAAC;gBAC7D,MAAM,iBAAiB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3G,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,MAAM,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3G,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAEnF,8BAA8B;QAC9B,IAAI,SAAyC,CAAC;QAE9C,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,gEAAgE;YAChE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,iCAAiC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBAC3D,cAAc,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzD,CAAC;YACJ,CAAC;YACD,cAAc;YACd,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,iCAAiC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,kCAAkC;YAClC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,gCAAgC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;QAC1E,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,MAAM,YAAY,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,eAAe,GAAG,CAAC,CAAC;QAE7G,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;gBACzF,OAAO;oBACL,GAAG,QAAQ;oBACX,eAAe;oBACf,YAAY;iBACO,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,oBAAoB,EAAE,KAAK,CAAC,CAAC;gBAC1D,OAAO;oBACL,KAAK,EAAE,GAAG;oBACV,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,aAAa,EAAE,CAAC;oBAChB,eAAe;oBACf,YAAY;iBACO,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,uDAAuD;QACvD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,SAAS,GAAuB,OAAO;aAC1C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC;aAC/C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAE,MAAmD,CAAC,KAAK,CAAC,CAAC;QAE7E,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,4BAA4B,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,aAAa,CAAC,CAAC;QAE1H,OAAO,SAAS,CAAC;IACnB,CAAC;IAGD,2BAA2B,CAAC,SAA6B,EAAE,YAAoB;QAC7E,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE1D,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,sEAAsE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/J,CAAC;QAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,IAAI,SAAS,GAAG,GAAG,mBAAmB,CAAC,MAAM,OAAO,IAAI,gDAAgD,CAAC;QAEzG,+DAA+D;QAC/D,oEAAoE;QACpE,iEAAiE;QACjE,kEAAkE;QAClE,gEAAgE;QAChE,sEAAsE;QACtE,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YACnC,SAAS,IAAI,iCAAiC,QAAQ,CAAC,KAAK,YAAY,KAAK,cAAc,QAAQ,CAAC,aAAa,wBAAwB,CAAC;YAC1I,SAAS,IAAI,YAAY,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,SAAS,MAAM,QAAQ,CAAC,aAAa,UAAU,CAAC;YACpH,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC;YAC7B,SAAS,IAAI,mCAAmC,QAAQ,CAAC,KAAK,WAAW,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,SAAS,IAAI,qBAAqB,CAAC;YACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,SAAS,IAAI,GAAG,eAAe,CAAC,MAAM,IAAI,QAAQ,0CAA0C,CAAC;YAC7F,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC5B,SAAS,IAAI,iCAAiC,CAAC,CAAC,KAAK,YAAY,KAAK,cAAc,CAAC,CAAC,aAAa,yBAAyB,CAAC;gBAC7H,SAAS,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC;gBAC5D,SAAS,IAAI,+BAA+B,CAAC,CAAC,KAAK,SAAS,CAAC;YAC/D,CAAC,CAAC,CAAC;YACH,SAAS,IAAI,IAAI,CAAC;QACpB,CAAC;QAED,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAEO,mBAAmB,CACzB,YAAoB,EACpB,cAAsB,EACtB,OAAgB;QAEhB,+CAA+C;QAC/C,MAAM,gBAAgB,GAAG,cAAc,CAAC;QACxC,MAAM,gBAAgB,GAAG,OAAO,IAAI,gCAAgC,CAAC;QAErE,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,2BAA2B,gBAAgB,yBAAyB,gBAAgB,EAAE;YAC5F,QAAQ,EAAE,qCAAqC,gBAAgB,2FAA2F,gBAAgB,EAAE;YAC5K,YAAY,EAAE,4BAA4B,gBAAgB,kDAAkD;YAC5G,IAAI,EAAE,sBAAsB,gBAAgB,mDAAmD;YAC/F,QAAQ,EAAE,yBAAyB,gBAAgB,6DAA6D;YAChH,IAAI,EAAE,4BAA4B,gBAAgB,gEAAgE;YAClH,QAAQ,EAAE,sBAAsB,gBAAgB,+CAA+C;YAC/F,OAAO,EAAE,mBAAmB,gBAAgB,gDAAgD;YAC5F,cAAc,EAAE,0BAA0B,gBAAgB,uCAAuC;YACjG,MAAM,EAAE,iBAAiB,gBAAgB,0DAA0D;YACnG,aAAa,EAAE,sCAAsC,gBAAgB,sDAAsD;YAC3H,YAAY,EAAE,2BAA2B,gBAAgB,wDAAwD;YACjH,UAAU,EAAE,0BAA0B,gBAAgB,gDAAgD;YACtG,YAAY,EAAE,4BAA4B,gBAAgB,yCAAyC;SACpG,CAAC;QAEF,MAAM,cAAc,GAAG,OAAO,CAAC,YAAoC,CAAC,IAAI,WAAW,gBAAgB,QAAQ,YAAY,UAAU,CAAC;QAElI,OAAO,GAAG,cAAc,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9E,CAAC;CACF"}
|