@scotthuang/agent-knock-knock 0.11.2 → 0.11.4

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.
@@ -1,5 +1,5 @@
1
1
  import { type CodexProcessKind } from "./codex-session-provider.js";
2
- import type { TerminalAgentAdapter, TerminalCompletionEvidence, TerminalDurableCompletionRequest, TerminalScreenInspection, TerminalScreenInspectionOptions, TerminalThreadLifecycleCapabilities, TerminalThreadLifecycleObservation, TerminalThreadLifecycleObservationRequest, TerminalThreadLifecycleOperation, TerminalThreadLifecyclePlan } from "./terminal-agent-adapter.js";
2
+ import type { TerminalAgentAdapter, TerminalCompletionEvidence, TerminalDurableCompletionRequest, TerminalNativeInspectionCapabilities, TerminalNativeInspectionObservation, TerminalNativeInspectionObservationRequest, TerminalNativeInspectionOperation, TerminalNativeInspectionPlan, TerminalScreenInspection, TerminalScreenInspectionOptions, TerminalThreadLifecycleCapabilities, TerminalThreadLifecycleObservation, TerminalThreadLifecycleObservationRequest, TerminalThreadLifecycleOperation, TerminalThreadLifecyclePlan } from "./terminal-agent-adapter.js";
3
3
  export type CodexApprovalPromptDetection = {
4
4
  approvable: true;
5
5
  key: string;
@@ -16,7 +16,11 @@ export type CodexApprovalPromptDetection = {
16
16
  export interface CreateCodexTerminalAgentAdapterOptions {
17
17
  detectDurableCompletion?: NonNullable<TerminalAgentAdapter<CodexProcessKind>["detectDurableCompletion"]>;
18
18
  }
19
+ export declare const CODEX_NATIVE_INSPECTION_COMPOSER_STABLE_MS = 121;
19
20
  export declare function createCodexTerminalAgentAdapter(options?: CreateCodexTerminalAgentAdapterOptions): TerminalAgentAdapter<CodexProcessKind>;
21
+ export declare function probeCodexNativeInspection(agentVersion: string | undefined): TerminalNativeInspectionCapabilities;
22
+ export declare function planCodexNativeInspection(operation: TerminalNativeInspectionOperation, capabilities: TerminalNativeInspectionCapabilities): TerminalNativeInspectionPlan;
23
+ export declare function observeCodexNativeInspection(request: TerminalNativeInspectionObservationRequest): TerminalNativeInspectionObservation;
20
24
  export declare function probeCodexThreadLifecycle(agentVersion: string | undefined): TerminalThreadLifecycleCapabilities;
21
25
  export declare function planCodexThreadLifecycle(operation: TerminalThreadLifecycleOperation, capabilities: TerminalThreadLifecycleCapabilities): TerminalThreadLifecyclePlan;
22
26
  export declare function observeCodexThreadLifecycle(request: TerminalThreadLifecycleObservationRequest): TerminalThreadLifecycleObservation;
@@ -11,6 +11,20 @@ const CODEX_TRANSCRIPT_PROMPT_LINE = /^[›»](?:\s|$).*$/gmu;
11
11
  const CODEX_SKILLS_HINT = /^[›»]\s+Use \/skills\b/u;
12
12
  const CODEX_FOOTER_LINE = /^(?:gpt-[\w.-]+(?:\s|$)|[-\w.]+ default ·)/u;
13
13
  const CODEX_SESSION_STATUS_PATTERN = /\bSession:\s*([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\b/giu;
14
+ const CODEX_STATUS_HEADER_PATTERN = /\bOpenAI Codex \(v([0-9]+\.[0-9]+\.[0-9]+(?:[-+][^)\s]+)?)\)/u;
15
+ const CODEX_STATUS_TOP_BORDER = /^\s*╭[─-]+╮\s*$/u;
16
+ const CODEX_STATUS_BOTTOM_BORDER = /^\s*╰[─-]+╯\s*$/u;
17
+ const CODEX_STATUS_FIELD = /^\s*│\s*([^:│]{1,64}):\s+(.+?)\s*│\s*$/u;
18
+ const CODEX_STATUS_MAX_LINES = 64;
19
+ const CODEX_STATUS_MAX_REGION_LENGTH = 8_192;
20
+ const CODEX_STATUS_MAX_FIELDS = 24;
21
+ const CODEX_STATUS_MAX_FIELD_VALUE_LENGTH = 512;
22
+ const CODEX_STATUS_MAX_EXCERPT_LENGTH = 4_000;
23
+ const CODEX_STATUS_EVIDENCE_INVENTORY_MAX_ENTRIES = 32;
24
+ const CODEX_STATUS_EVIDENCE_MAX_OCCURRENCES = 64;
25
+ const CODEX_STATUS_EVIDENCE_SCAN_MAX_LINES = 512;
26
+ const CODEX_STATUS_EVIDENCE_FINGERPRINT = /^sha256:[0-9a-f]{64}$/u;
27
+ export const CODEX_NATIVE_INSPECTION_COMPOSER_STABLE_MS = 121;
14
28
  export function createCodexTerminalAgentAdapter(options = {}) {
15
29
  return {
16
30
  agent: "codex",
@@ -32,9 +46,157 @@ export function createCodexTerminalAgentAdapter(options = {}) {
32
46
  probeThreadLifecycle: probeCodexThreadLifecycle,
33
47
  planThreadLifecycle: planCodexThreadLifecycle,
34
48
  observeThreadLifecycle: observeCodexThreadLifecycle,
49
+ probeNativeInspection: probeCodexNativeInspection,
50
+ planNativeInspection: planCodexNativeInspection,
51
+ observeNativeInspection: observeCodexNativeInspection,
35
52
  detectDurableCompletion: options.detectDurableCompletion ?? (async (request) => detectCodexDurableCompletion(request))
36
53
  };
37
54
  }
55
+ export function probeCodexNativeInspection(agentVersion) {
56
+ if (!agentVersion) {
57
+ return {
58
+ status: "unknown",
59
+ statusInspection: false,
60
+ reason: "the running Codex version could not be verified"
61
+ };
62
+ }
63
+ const behaviorProfile = codexLifecycleBehaviorProfile(agentVersion);
64
+ const supported = behaviorProfile !== undefined;
65
+ return {
66
+ status: supported ? "supported" : "unsupported",
67
+ agentVersion,
68
+ behaviorProfile,
69
+ statusInspection: supported,
70
+ reason: supported
71
+ ? "Codex /status native inspection is supported by the verified version"
72
+ : "this exact Codex version has no AKK native inspection behavior profile"
73
+ };
74
+ }
75
+ export function planCodexNativeInspection(operation, capabilities) {
76
+ const behaviorProfile = codexLifecycleBehaviorProfile(capabilities.agentVersion);
77
+ if (operation.kind !== "status" ||
78
+ capabilities.status !== "supported" ||
79
+ !capabilities.statusInspection ||
80
+ !capabilities.agentVersion ||
81
+ !behaviorProfile ||
82
+ capabilities.behaviorProfile !== behaviorProfile) {
83
+ throw new Error(capabilities.reason);
84
+ }
85
+ return {
86
+ operation,
87
+ behaviorProfile,
88
+ command: "/status",
89
+ effect: "read_only",
90
+ requiresIdle: true,
91
+ composer: {
92
+ kind: "exact",
93
+ minimumStableMs: CODEX_NATIVE_INSPECTION_COMPOSER_STABLE_MS
94
+ },
95
+ expectedResult: { kind: "native_status" }
96
+ };
97
+ }
98
+ export function observeCodexNativeInspection(request) {
99
+ const screen = request.screen ?? "";
100
+ const screenFingerprint = fingerprintCodexNativeInspection(screen);
101
+ const evidenceInventory = codexStatusEvidenceInventory(screen);
102
+ if (evidenceInventory.status === "ambiguous") {
103
+ return {
104
+ status: "ambiguous",
105
+ screenFingerprint,
106
+ reason: evidenceInventory.reason
107
+ };
108
+ }
109
+ const baselineError = validateCodexStatusEvidenceInventory(request.preEnterEvidenceInventory);
110
+ if (baselineError) {
111
+ return {
112
+ status: "ambiguous",
113
+ screenFingerprint,
114
+ evidenceInventory: evidenceInventory.entries,
115
+ reason: baselineError
116
+ };
117
+ }
118
+ if (request.previousScreenFingerprint !== undefined &&
119
+ request.previousScreenFingerprint === screenFingerprint) {
120
+ return {
121
+ status: "stale",
122
+ screenFingerprint,
123
+ evidenceInventory: evidenceInventory.entries,
124
+ reason: "the Codex screen did not change after the native inspection command"
125
+ };
126
+ }
127
+ const parsed = parseNewestCodexStatusCard(screen);
128
+ if (parsed.status !== "observed") {
129
+ return {
130
+ status: parsed.status,
131
+ screenFingerprint,
132
+ evidenceInventory: evidenceInventory.entries,
133
+ reason: parsed.reason
134
+ };
135
+ }
136
+ const nativeThreadId = parsed.nativeThreadId;
137
+ const observedAgentVersion = parsed.agentVersion;
138
+ const evidenceFingerprint = fingerprintCodexNativeInspection(parsed.region);
139
+ const result = {
140
+ kind: "native_status",
141
+ nativeThreadId,
142
+ agentVersion: observedAgentVersion,
143
+ fields: parsed.fields,
144
+ excerpt: codexNativeStatusExcerpt(observedAgentVersion, parsed.fields)
145
+ };
146
+ const observed = {
147
+ status: "observed",
148
+ nativeThreadId,
149
+ observedAgentVersion,
150
+ evidence: "codex_status_card",
151
+ evidenceFingerprint,
152
+ screenFingerprint,
153
+ evidenceInventory: evidenceInventory.entries,
154
+ result
155
+ };
156
+ if (request.preEnterEvidenceInventory !== undefined) {
157
+ const priorOccurrences = request.preEnterEvidenceInventory.find((entry) => entry.evidenceFingerprint === evidenceFingerprint)?.occurrenceCount ?? 0;
158
+ const currentOccurrences = evidenceInventory.entries.find((entry) => entry.evidenceFingerprint === evidenceFingerprint)?.occurrenceCount ?? 0;
159
+ if (currentOccurrences <= priorOccurrences) {
160
+ return {
161
+ ...observed,
162
+ status: "stale",
163
+ reason: "the newest Codex /status card did not add a fresh exact evidence occurrence after Enter"
164
+ };
165
+ }
166
+ }
167
+ if (!codexLifecycleBehaviorProfile(observedAgentVersion)) {
168
+ return {
169
+ ...observed,
170
+ status: "mismatch",
171
+ reason: `Codex /status reported unsupported version ${observedAgentVersion}`
172
+ };
173
+ }
174
+ if (request.expectedAgentVersion !== undefined &&
175
+ observedAgentVersion !== request.expectedAgentVersion) {
176
+ return {
177
+ ...observed,
178
+ status: "mismatch",
179
+ reason: `Codex /status reported version ${observedAgentVersion}, not the verified running version ${request.expectedAgentVersion}`
180
+ };
181
+ }
182
+ if (request.expectedNativeThreadId !== undefined &&
183
+ !isExactNativeThreadId(request.expectedNativeThreadId)) {
184
+ return {
185
+ ...observed,
186
+ status: "mismatch",
187
+ reason: "Codex native status inspection requires a complete expected Session UUID"
188
+ };
189
+ }
190
+ if (request.expectedNativeThreadId !== undefined &&
191
+ nativeThreadId !== request.expectedNativeThreadId.toLowerCase()) {
192
+ return {
193
+ ...observed,
194
+ status: "mismatch",
195
+ reason: `Codex /status reported ${nativeThreadId}, not the expected native thread ${request.expectedNativeThreadId.toLowerCase()}`
196
+ };
197
+ }
198
+ return observed;
199
+ }
38
200
  export function probeCodexThreadLifecycle(agentVersion) {
39
201
  if (!agentVersion) {
40
202
  return {
@@ -200,6 +362,201 @@ export function observeCodexThreadLifecycle(requestOrScreen, legacyOperation) {
200
362
  reason: `Codex resumed ${nativeThreadId}, not the requested native thread ${expected}`
201
363
  };
202
364
  }
365
+ function parseNewestCodexStatusCard(screen) {
366
+ const lines = screen.split(/\r?\n/u);
367
+ let commandIndex = -1;
368
+ let command;
369
+ for (let index = lines.length - 1; index >= 0; index -= 1) {
370
+ const candidate = codexNativeCommandLine(lines[index]);
371
+ if (candidate !== undefined) {
372
+ commandIndex = index;
373
+ command = candidate;
374
+ break;
375
+ }
376
+ }
377
+ if (commandIndex < 0 || command !== "/status") {
378
+ return {
379
+ status: "missing",
380
+ reason: commandIndex < 0
381
+ ? "Codex /status command is not visible in the observed screen"
382
+ : "the newest Codex native command is not /status"
383
+ };
384
+ }
385
+ return parseCodexStatusCardAfterCommand(lines, commandIndex);
386
+ }
387
+ function parseCodexStatusCardAfterCommand(lines, commandIndex) {
388
+ let topBorderIndex = commandIndex + 1;
389
+ while (topBorderIndex < lines.length && !lines[topBorderIndex].trim()) {
390
+ topBorderIndex += 1;
391
+ }
392
+ if (topBorderIndex >= lines.length ||
393
+ !CODEX_STATUS_TOP_BORDER.test(lines[topBorderIndex])) {
394
+ return {
395
+ status: "missing",
396
+ reason: "the newest Codex /status command has no complete status-card opening border"
397
+ };
398
+ }
399
+ const lineLimit = Math.min(lines.length, topBorderIndex + CODEX_STATUS_MAX_LINES);
400
+ let bottomBorderIndex = -1;
401
+ for (let index = topBorderIndex + 1; index < lineLimit; index += 1) {
402
+ if (CODEX_STATUS_BOTTOM_BORDER.test(lines[index])) {
403
+ bottomBorderIndex = index;
404
+ break;
405
+ }
406
+ }
407
+ if (bottomBorderIndex < 0) {
408
+ return {
409
+ status: "missing",
410
+ reason: "the newest Codex /status card is incomplete or exceeds the bounded parser window"
411
+ };
412
+ }
413
+ const region = lines.slice(topBorderIndex, bottomBorderIndex + 1).join("\n");
414
+ if (region.length > CODEX_STATUS_MAX_REGION_LENGTH) {
415
+ return {
416
+ status: "ambiguous",
417
+ reason: "the newest Codex /status card exceeds the bounded inspection size"
418
+ };
419
+ }
420
+ const versionMatches = [...region.matchAll(new RegExp(CODEX_STATUS_HEADER_PATTERN, "gu"))];
421
+ if (versionMatches.length === 0) {
422
+ return {
423
+ status: "missing",
424
+ reason: "the newest Codex /status card has no exact version header"
425
+ };
426
+ }
427
+ if (versionMatches.length !== 1) {
428
+ return {
429
+ status: "ambiguous",
430
+ reason: "the newest Codex /status card contains multiple version headers"
431
+ };
432
+ }
433
+ const sessionMatches = [...region.matchAll(CODEX_SESSION_STATUS_PATTERN)];
434
+ if (sessionMatches.length === 0) {
435
+ return {
436
+ status: "missing",
437
+ reason: "the newest Codex /status card did not expose a complete Session UUID"
438
+ };
439
+ }
440
+ if (sessionMatches.length !== 1) {
441
+ return {
442
+ status: "ambiguous",
443
+ reason: "the newest Codex /status card contains multiple Session UUID fields"
444
+ };
445
+ }
446
+ const fields = [];
447
+ for (const line of lines.slice(topBorderIndex + 1, bottomBorderIndex)) {
448
+ const match = CODEX_STATUS_FIELD.exec(line);
449
+ if (!match) {
450
+ continue;
451
+ }
452
+ if (fields.length >= CODEX_STATUS_MAX_FIELDS) {
453
+ return {
454
+ status: "ambiguous",
455
+ reason: "the newest Codex /status card contains too many structured fields"
456
+ };
457
+ }
458
+ const name = redactCodexNativeStatusText(match[1].trim()).slice(0, 64);
459
+ const value = /^account$/iu.test(name)
460
+ ? "[REDACTED]"
461
+ : redactCodexNativeStatusText(match[2].trim())
462
+ .slice(0, CODEX_STATUS_MAX_FIELD_VALUE_LENGTH);
463
+ fields.push({ name, value });
464
+ }
465
+ return {
466
+ status: "observed",
467
+ region,
468
+ nativeThreadId: sessionMatches[0][1].toLowerCase(),
469
+ agentVersion: versionMatches[0][1],
470
+ fields
471
+ };
472
+ }
473
+ function codexStatusEvidenceInventory(screen) {
474
+ const allLines = screen.split(/\r?\n/u);
475
+ const lines = allLines.slice(-CODEX_STATUS_EVIDENCE_SCAN_MAX_LINES);
476
+ const counts = new Map();
477
+ for (let index = 0; index < lines.length; index += 1) {
478
+ if (codexNativeCommandLine(lines[index]) !== "/status") {
479
+ continue;
480
+ }
481
+ const parsed = parseCodexStatusCardAfterCommand(lines, index);
482
+ if (parsed.status !== "observed") {
483
+ continue;
484
+ }
485
+ const evidenceFingerprint = fingerprintCodexNativeInspection(parsed.region);
486
+ const occurrenceCount = (counts.get(evidenceFingerprint) ?? 0) + 1;
487
+ if (occurrenceCount > CODEX_STATUS_EVIDENCE_MAX_OCCURRENCES) {
488
+ return {
489
+ status: "ambiguous",
490
+ reason: "the Codex status evidence inventory exceeds its bounded occurrence count"
491
+ };
492
+ }
493
+ counts.set(evidenceFingerprint, occurrenceCount);
494
+ if (counts.size > CODEX_STATUS_EVIDENCE_INVENTORY_MAX_ENTRIES) {
495
+ return {
496
+ status: "ambiguous",
497
+ reason: "the Codex status evidence inventory exceeds its bounded distinct-card count"
498
+ };
499
+ }
500
+ }
501
+ return {
502
+ status: "ok",
503
+ entries: [...counts.entries()]
504
+ .sort(([left], [right]) => left.localeCompare(right))
505
+ .map(([evidenceFingerprint, occurrenceCount]) => ({
506
+ evidenceFingerprint,
507
+ occurrenceCount
508
+ }))
509
+ };
510
+ }
511
+ function validateCodexStatusEvidenceInventory(inventory) {
512
+ if (inventory === undefined) {
513
+ return undefined;
514
+ }
515
+ if (!Array.isArray(inventory)) {
516
+ return "the pre-Enter Codex status evidence inventory must be an array";
517
+ }
518
+ if (inventory.length > CODEX_STATUS_EVIDENCE_INVENTORY_MAX_ENTRIES) {
519
+ return "the pre-Enter Codex status evidence inventory has too many entries";
520
+ }
521
+ const fingerprints = new Set();
522
+ for (const entry of inventory) {
523
+ if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
524
+ return "the pre-Enter Codex status evidence inventory is malformed or ambiguous";
525
+ }
526
+ if (typeof entry.evidenceFingerprint !== "string" ||
527
+ !CODEX_STATUS_EVIDENCE_FINGERPRINT.test(entry.evidenceFingerprint) ||
528
+ typeof entry.occurrenceCount !== "number" ||
529
+ !Number.isSafeInteger(entry.occurrenceCount) ||
530
+ entry.occurrenceCount <= 0 ||
531
+ entry.occurrenceCount > CODEX_STATUS_EVIDENCE_MAX_OCCURRENCES ||
532
+ fingerprints.has(entry.evidenceFingerprint)) {
533
+ return "the pre-Enter Codex status evidence inventory is malformed or ambiguous";
534
+ }
535
+ fingerprints.add(entry.evidenceFingerprint);
536
+ }
537
+ return undefined;
538
+ }
539
+ function codexNativeCommandLine(line) {
540
+ const normalized = line
541
+ .trim()
542
+ .replace(/^[›»]\s*/u, "")
543
+ .trim();
544
+ return /^\/[a-z][a-z0-9_-]*(?:\s|$)/iu.test(normalized)
545
+ ? normalized
546
+ : undefined;
547
+ }
548
+ function fingerprintCodexNativeInspection(value) {
549
+ return `sha256:${createHash("sha256").update(value).digest("hex")}`;
550
+ }
551
+ function redactCodexNativeStatusText(value) {
552
+ return redactString(value).replace(/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/giu, "[REDACTED EMAIL]");
553
+ }
554
+ function codexNativeStatusExcerpt(agentVersion, fields) {
555
+ return [
556
+ `OpenAI Codex v${agentVersion}`,
557
+ ...fields.map((field) => `${field.name}: ${field.value}`)
558
+ ].join("\n").slice(0, CODEX_STATUS_MAX_EXCERPT_LENGTH);
559
+ }
203
560
  function newestCodexStatusRegion(screen) {
204
561
  const lines = screen.split(/\r?\n/u);
205
562
  for (let index = lines.length - 1; index >= 0; index -= 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"codex-terminal-agent-adapter.js","sourceRoot":"","sources":["../../src/codex-terminal-agent-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-terminal-agent-adapter.js","sourceRoot":"","sources":["../../src/codex-terminal-agent-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,oBAAoB,EAGrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAqBhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAwB7D,MAAM,6BAA6B,GACjC,uCAAuC,CAAC;AAC1C,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAClD,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AACrD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAC7C,MAAM,4BAA4B,GAAG,qBAAqB,CAAC;AAC3D,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AACpD,MAAM,iBAAiB,GACrB,6CAA6C,CAAC;AAChD,MAAM,4BAA4B,GAChC,kFAAkF,CAAC;AACrF,MAAM,2BAA2B,GAC/B,+DAA+D,CAAC;AAClE,MAAM,uBAAuB,GAAG,kBAAkB,CAAC;AACnD,MAAM,0BAA0B,GAAG,kBAAkB,CAAC;AACtD,MAAM,kBAAkB,GAAG,yCAAyC,CAAC;AACrE,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAC7C,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAChD,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAC9C,MAAM,2CAA2C,GAAG,EAAE,CAAC;AACvD,MAAM,qCAAqC,GAAG,EAAE,CAAC;AACjD,MAAM,oCAAoC,GAAG,GAAG,CAAC;AACjD,MAAM,iCAAiC,GAAG,wBAAwB,CAAC;AACnE,MAAM,CAAC,MAAM,0CAA0C,GAAG,GAAG,CAAC;AAE9D,MAAM,UAAU,+BAA+B,CAC7C,OAAO,GAA2C,EAAE;IAEpD,OAAO;QACL,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,OAAO;QACpB,YAAY,EAAE;YACZ,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,IAAI;YAClB,gBAAgB,EAAE,IAAI;YACtB,gBAAgB,EAAE,IAAI;YACtB,iBAAiB,EAAE,IAAI;YACvB,YAAY,EAAE,IAAI;SACnB;QACD,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,eAAe,CAAC,QAAQ;YACtB,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAC/C,OAAO,OAAO,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,CAAC;QACD,aAAa,EAAE,kBAAkB;QACjC,oBAAoB,EAAE,yBAAyB;QAC/C,mBAAmB,EAAE,wBAAwB;QAC7C,sBAAsB,EAAE,2BAA2B;QACnD,qBAAqB,EAAE,0BAA0B;QACjD,oBAAoB,EAAE,yBAAyB;QAC/C,uBAAuB,EAAE,4BAA4B;QACrD,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAC7E,4BAA4B,CAAC,OAAO,CAAC,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,YAAgC;IAEhC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,gBAAgB,EAAE,KAAK;YACvB,MAAM,EAAE,iDAAiD;SAC1D,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,eAAe,KAAK,SAAS,CAAC;IAChD,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa;QAC/C,YAAY;QACZ,eAAe;QACf,gBAAgB,EAAE,SAAS;QAC3B,MAAM,EAAE,SAAS;YACf,CAAC,CAAC,sEAAsE;YACxE,CAAC,CAAC,wEAAwE;KAC7E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,SAA4C,EAC5C,YAAkD;IAElD,MAAM,eAAe,GAAG,6BAA6B,CACnD,YAAY,CAAC,YAAY,CAC1B,CAAC;IACF,IACE,SAAS,CAAC,IAAI,KAAK,QAAQ;QAC3B,YAAY,CAAC,MAAM,KAAK,WAAW;QACnC,CAAC,YAAY,CAAC,gBAAgB;QAC9B,CAAC,YAAY,CAAC,YAAY;QAC1B,CAAC,eAAe;QAChB,YAAY,CAAC,eAAe,KAAK,eAAe,EAChD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,OAAO;QACL,SAAS;QACT,eAAe;QACf,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,WAAW;QACnB,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO;YACb,eAAe,EAAE,0CAA0C;SAC5D;QACD,cAAc,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;KAC1C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAAmD;IAEnD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IACpC,MAAM,iBAAiB,GAAG,gCAAgC,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,iBAAiB,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC7C,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,iBAAiB;YACjB,MAAM,EAAE,iBAAiB,CAAC,MAAM;SACjC,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,oCAAoC,CACxD,OAAO,CAAC,yBAAyB,CAClC,CAAC;IACF,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,iBAAiB;YACjB,iBAAiB,EAAE,iBAAiB,CAAC,OAAO;YAC5C,MAAM,EAAE,aAAa;SACtB,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,yBAAyB,KAAK,SAAS;QAC/C,OAAO,CAAC,yBAAyB,KAAK,iBAAiB,EACvD,CAAC;QACD,OAAO;YACL,MAAM,EAAE,OAAO;YACf,iBAAiB;YACjB,iBAAiB,EAAE,iBAAiB,CAAC,OAAO;YAC5C,MAAM,EAAE,qEAAqE;SAC9E,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,iBAAiB;YACjB,iBAAiB,EAAE,iBAAiB,CAAC,OAAO;YAC5C,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC7C,MAAM,oBAAoB,GAAG,MAAM,CAAC,YAAY,CAAC;IACjD,MAAM,mBAAmB,GAAG,gCAAgC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,eAAwB;QAC9B,cAAc;QACd,YAAY,EAAE,oBAAoB;QAClC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,wBAAwB,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC;KACvE,CAAC;IACF,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,UAAmB;QAC3B,cAAc;QACd,oBAAoB;QACpB,QAAQ,EAAE,mBAAmB;QAC7B,mBAAmB;QACnB,iBAAiB;QACjB,iBAAiB,EAAE,iBAAiB,CAAC,OAAO;QAC5C,MAAM;KACP,CAAC;IAEF,IAAI,OAAO,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,gBAAgB,GAAG,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACxE,KAAK,CAAC,mBAAmB,KAAK,mBAAmB,CAClD,EAAE,eAAe,IAAI,CAAC,CAAC;QACxB,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAClE,KAAK,CAAC,mBAAmB,KAAK,mBAAmB,CAClD,EAAE,eAAe,IAAI,CAAC,CAAC;QACxB,IAAI,kBAAkB,IAAI,gBAAgB,EAAE,CAAC;YAC3C,OAAO;gBACL,GAAG,QAAQ;gBACX,MAAM,EAAE,OAAO;gBACf,MAAM,EACJ,yFAAyF;aAC5F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,6BAA6B,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACzD,OAAO;YACL,GAAG,QAAQ;YACX,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,8CAA8C,oBAAoB,EAAE;SAC7E,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,oBAAoB,KAAK,SAAS;QAC1C,oBAAoB,KAAK,OAAO,CAAC,oBAAoB,EACrD,CAAC;QACD,OAAO;YACL,GAAG,QAAQ;YACX,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,kCAAkC,oBAAoB,sCAAsC,OAAO,CAAC,oBAAoB,EAAE;SACnI,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,sBAAsB,KAAK,SAAS;QAC5C,CAAC,qBAAqB,CAAC,OAAO,CAAC,sBAAsB,CAAC,EACtD,CAAC;QACD,OAAO;YACL,GAAG,QAAQ;YACX,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,0EAA0E;SACnF,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,sBAAsB,KAAK,SAAS;QAC5C,cAAc,KAAK,OAAO,CAAC,sBAAsB,CAAC,WAAW,EAAE,EAC/D,CAAC;QACD,OAAO;YACL,GAAG,QAAQ;YACX,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,0BAA0B,cAAc,oCAAoC,OAAO,CAAC,sBAAsB,CAAC,WAAW,EAAE,EAAE;SACnI,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,YAAgC;IAEhC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,iDAAiD;SAC1D,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,eAAe,KAAK,SAAS,CAAC;IAChD,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa;QAC/C,YAAY;QACZ,eAAe;QACf,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,SAAS;QACtB,kBAAkB,EAAE,SAAS;QAC7B,MAAM,EAAE,SAAS;YACf,CAAC,CAAC,sGAAsG;YACxG,CAAC,CAAC,8EAA8E;KACnF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,SAA2C,EAC3C,YAAiD;IAEjD,MAAM,eAAe,GAAG,6BAA6B,CACnD,YAAY,CAAC,YAAY,CAC1B,CAAC;IACF,IACE,YAAY,CAAC,MAAM,KAAK,WAAW;QACnC,CAAC,YAAY,CAAC,YAAY;QAC1B,CAAC,eAAe;QAChB,YAAY,CAAC,eAAe,KAAK,eAAe,EAChD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QACD,OAAO;YACL,SAAS;YACT,eAAe;YACf,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,uBAAuB;oBAC7B,OAAO,EAAE,SAAS;oBAClB,MAAM,EAAE,WAAW;oBACnB,YAAY,EAAE,IAAI;iBACnB;gBACD;oBACE,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,QAAQ;oBACjB,MAAM,EAAE,mBAAmB;oBAC3B,YAAY,EAAE,IAAI;iBACnB;gBACD;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,OAAO,EAAE,SAAS;oBAClB,MAAM,EAAE,WAAW;oBACnB,YAAY,EAAE,IAAI;iBACnB;aACF;YACD,OAAO,EAAE,QAAQ;YACjB,oBAAoB,EAAE,SAAS;YAC/B,cAAc,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE;SACpD,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO;QACL,SAAS;QACT,eAAe;QACf,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,WAAW,SAAS,CAAC,cAAc,EAAE;gBAC9C,MAAM,EAAE,mBAAmB;gBAC3B,YAAY,EAAE,IAAI;aACnB;YACD;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,WAAW;gBACnB,YAAY,EAAE,IAAI;aACnB;SACF;QACD,OAAO,EAAE,WAAW,SAAS,CAAC,cAAc,EAAE;QAC9C,oBAAoB,EAAE,SAAS;QAC/B,cAAc,EAAE;YACd,IAAI,EAAE,qBAAqB;YAC3B,cAAc,EAAE,SAAS,CAAC,cAAc;SACzC;KACF,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,2BAA2B,CACzC,eAAmE,EACnE,eAAkD;IAElD,MAAM,OAAO,GAAG,OAAO,eAAe,KAAK,QAAQ;QACjD,CAAC,CAAC;YACE,MAAM,EAAE,eAAe;YACvB,SAAS,EAAE,eAAe,IAAI,EAAE,IAAI,EAAE,YAAqB,EAAE;YAC7D,KAAK,EAAE,OAAgB;SACxB;QACH,CAAC,CAAC,eAAe,CAAC;IACpB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IACpC,MAAM,YAAY,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,mEAAmE;SAC5E,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,sDAAsD;SAC/D,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,iEAAiE;SAC1E,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAuC;QACnD,MAAM,EAAE,UAAU;QAClB,cAAc;QACd,QAAQ,EAAE,mBAAmB;KAC9B,CAAC;IACF,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC5C,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACzD,OAAO;gBACL,GAAG,QAAQ;gBACX,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,4DAA4D;aACrE,CAAC;QACJ,CAAC;QACD,OAAO,cAAc,KAAK,OAAO,CAAC,oBAAoB,CAAC,WAAW,EAAE;YAClE,CAAC,CAAC;gBACE,GAAG,QAAQ;gBACX,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,8CAA8C;aACvD;YACH,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,QAAQ,GAAG,CACf,OAAO,CAAC,sBAAsB,IAAI,OAAO,CAAC,SAAS,CAAC,cAAc,CACnE,CAAC,WAAW,EAAE,CAAC;IAChB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,OAAO;YACL,GAAG,QAAQ;YACX,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,0DAA0D;SACnE,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,KAAK,QAAQ;QAChC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE;QACrC,CAAC,CAAC;YACE,GAAG,QAAQ;YACX,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,iBAAiB,cAAc,qCAAqC,QAAQ,EAAE;SACzF,CAAC;AACN,CAAC;AAeD,SAAS,0BAA0B,CAAC,MAAc;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;IACtB,IAAI,OAA2B,CAAC;IAChC,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,YAAY,GAAG,KAAK,CAAC;YACrB,OAAO,GAAG,SAAS,CAAC;YACpB,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,YAAY,GAAG,CAAC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,YAAY,GAAG,CAAC;gBACtB,CAAC,CAAC,6DAA6D;gBAC/D,CAAC,CAAC,gDAAgD;SACrD,CAAC;IACJ,CAAC;IAED,OAAO,gCAAgC,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,gCAAgC,CACvC,KAAwB,EACxB,YAAoB;IAEpB,IAAI,cAAc,GAAG,YAAY,GAAG,CAAC,CAAC;IACtC,OAAO,cAAc,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACtE,cAAc,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,IACE,cAAc,IAAI,KAAK,CAAC,MAAM;QAC9B,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EACpD,CAAC;QACD,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,6EAA6E;SACtF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,KAAK,CAAC,MAAM,EACZ,cAAc,GAAG,sBAAsB,CACxC,CAAC;IACF,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,cAAc,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACnE,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAClD,iBAAiB,GAAG,KAAK,CAAC;YAC1B,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,kFAAkF;SAC3F,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAiB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,IAAI,MAAM,CAAC,MAAM,GAAG,8BAA8B,EAAE,CAAC;QACnD,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,mEAAmE;SAC5E,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3F,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,2DAA2D;SACpE,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,iEAAiE;SAC1E,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAC1E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,sEAAsE;SAC/E,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,qEAAqE;SAC9E,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAoC,EAAE,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,IAAI,uBAAuB,EAAE,CAAC;YAC7C,OAAO;gBACL,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,mEAAmE;aAC5E,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YACpC,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBAC3C,KAAK,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,MAAM;QACN,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QAClD,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM;KACP,CAAC;AACJ,CAAC;AAYD,SAAS,4BAA4B,CACnC,MAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,oCAAoC,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,IAAI,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACvD,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,gCAAgC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QACD,MAAM,mBAAmB,GAAG,gCAAgC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5E,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,eAAe,GAAG,qCAAqC,EAAE,CAAC;YAC5D,OAAO;gBACL,MAAM,EAAE,WAAW;gBACnB,MAAM,EACJ,0EAA0E;aAC7E,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,IAAI,GAAG,2CAA2C,EAAE,CAAC;YAC9D,OAAO;gBACL,MAAM,EAAE,WAAW;gBACnB,MAAM,EACJ,6EAA6E;aAChF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;aAC3B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,mBAAmB,EAAE,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC;YAChD,mBAAmB;YACnB,eAAe;SAChB,CAAC,CAAC;KACN,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC,CAC3C,SACuE;IAEvE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,gEAAgE,CAAC;IAC1E,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,2CAA2C,EAAE,CAAC;QACnE,OAAO,oEAAoE,CAAC;IAC9E,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,OAAO,yEAAyE,CAAC;QACnF,CAAC;QACD,IACE,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ;YAC7C,CAAC,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;YAClE,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ;YACzC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC;YAC5C,KAAK,CAAC,eAAe,IAAI,CAAC;YAC1B,KAAK,CAAC,eAAe,GAAG,qCAAqC;YAC7D,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAC3C,CAAC;YACD,OAAO,yEAAyE,CAAC;QACnF,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,UAAU,GAAG,IAAI;SACpB,IAAI,EAAE;SACN,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,IAAI,EAAE,CAAC;IACV,OAAO,+BAA+B,CAAC,IAAI,CAAC,UAAU,CAAC;QACrD,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAa;IACrD,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa;IAChD,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAChC,8CAA8C,EAC9C,kBAAkB,CACnB,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,YAAoB,EACpB,MAAgD;IAEhD,OAAO;QACL,iBAAiB,YAAY,EAAE;QAC/B,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;KAC1D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAc;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrC,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,OAAO,KAAK,SAAS;gBAC1B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,MAAM,UAAU,GAAG,IAAI;SACpB,IAAI,EAAE;SACN,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,IAAI,EAAE,CAAC;IACV,OAAO,qCAAqC,CAAC,IAAI,CAAC,UAAU,CAAC;QAC3D,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAGD,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,EAAE,CAAC;AAE3E,MAAM,UAAU,kBAAkB,CAAC,OAAwC;IACzE,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,4BAA4B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAA+B,gBAAgB,CAAC,UAAU;QACtE,CAAC,CAAC;YACE,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,gBAAgB,CAAC,UAAU;YACvC,OAAO,EAAE,gBAAgB,CAAC,OAAO;YACjC,MAAM,EAAE;gBACN,IAAI,EAAE,gBAAgB,CAAC,IAAI;gBAC3B,KAAK,EAAE,gBAAgB,CAAC,KAAK;aAC9B;SACF;QACH,CAAC,CAAC;YACE,OAAO;YACP,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,UAAU,EAAE,gBAAgB,CAAC,UAAU;YACvC,OAAO,EAAE,gBAAgB,CAAC,OAAO;SAClC,CAAC;IACN,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC;IAC3F,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,KAAK,MAAM;QAC1C,CAAC,CAAC,2BAA2B,CAAC;YAC1B,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;SACvD,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,aAAa;QACb,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACtD,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YAChB,OAAO;gBACL,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,gCAAgC,GAAG,SAAS;gBACpD,GAAG,2BAA2B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;aAC7D,CAAC;QACJ,CAAC;QACD,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,GAAG;YACH,IAAI,EAAE,CAAC,GAAG,CAAC;YACX,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACtB,GAAG,2BAA2B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;SAC7D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,wDAAwD;QAChE,GAAG,2BAA2B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAAc;IACzD,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAAc,EACd,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC;IAE5C,IAAI,QAAQ,CAAC,UAAU,IAAI,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,OAAO;YACL,KAAK,EAAE,mBAAmB;YAC1B,MAAM,EAAE,0CAA0C;SACnD,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,kCAAkC,WAAW,CAAC,IAAI,EAAE,EAAE;SAC/D,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,gCAAgC,QAAQ,EAAE;SACnD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,wFAAwF;KACjG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,SAAS,GAAG,IAAI;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,EAC1C,MAAM,EACN,WAAW,EACX,sBAAsB,EAKvB;IACC,MAAM,OAAO,GAAG,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,MAAM,WAAW,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAClF,MAAM,kBAAkB,GAAG,WAAW,KAAK,SAAS;QAClD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,WAAW,KAAK,SAAS;QAC9C,CAAC,CAAC,sBAAsB;YACtB,CAAC,CAAC,2BAA2B,CAAC,MAAM,CAAC;YACrC,CAAC,CAAC,SAAS;QACb,CAAC,CAAC,kBAAkB,KAAK,SAAS;YAChC,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAC/C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,4BAA4B,CAAC,cAAc,CAAC,CAAC;IAC7D,MAAM,qBAAqB,GAAG,SAAS,KAAK,SAAS,IAAI,kBAAkB,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACzH,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;QAC/C,UAAU,EAAE,aAAa;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAAyC;IAEzC,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3F,IAAI,CAAC,OAAO,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;SAC5B,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QAClB,MAAM,aAAa,GAAG,gBAAgB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC5D,OAAO,SAAS,CAAC,YAAY,KAAK,mBAAmB;YACnD,aAAa,KAAK,SAAS;YAC3B,WAAW,KAAK,SAAS;YACzB,aAAa,IAAI,SAAS;YAC1B,WAAW,IAAI,aAAa;YAC5B,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IACL,IAAI,CAAC,IAAI,EAAE,oBAAoB,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,IAAI,CAAC,oBAAoB;QAC/B,SAAS,EAAE,IAAI,CAAC,WAAW;QAC3B,EAAE,EAAE,IAAI,CAAC,MAAM;QACf,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE;YACR,KAAK,EAAE,uBAAuB;YAC9B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,OAAO,EAAE,OAAO,CAAC,MAAM;SACxB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc;IAG/C,MAAM,eAAe,GAAG;QACtB,8CAA8C;QAC9C,6CAA6C;QAC7C,4CAA4C;QAC5C,sBAAsB;KACvB,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QACrF,IAAI,MAAM,EAAE,CAAC;YACX,WAAW,GAAG,KAAK,CAAC;YACpB,aAAa,GAAG,MAAM,CAAC;YACvB,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,8DAA8D;SACvE,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,sEAAsE,SAAS,CAAC,IAAI,EAAE,EAAE;SACjG,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9B,MAAM,EAAE,aAAa;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAc,EAAE,MAAc;IACjE,MAAM,UAAU,GAAG,MAAM,KAAK,8CAA8C;QAC1E,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,MAAM,KAAK,6CAA6C;YACxD,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,MAAM,KAAK,4CAA4C;gBACvD,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,SAAS,CAAC;IAClB,OAAO;QACL,UAAU;QACV,OAAO,EAAE,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KACtF,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IACE,KAAK,GAAG,YAAY;YACpB,CACE,CAAC,IAAI,CAAC,IAAI,EAAE;gBACZ,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CACrC,EACD,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,OAAO,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,sHAAsH,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACzI,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,WAAW,CAAC,EAAE,CAAC;QAC1G,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,qDAAqD,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,yCAAyC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACrG,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAwB;IACnD,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACpC,IACE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAChC,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,eAAe,GAAG,KAAK;aAC1B,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;aAChB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;aACpC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,IACE,eAAe,CAAC,MAAM,GAAG,CAAC;YAC1B,eAAe,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EACvE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,6BAA6B,CAAC,IAAY,EAAE,QAAgB;IACnE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM;QACR,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,cAAc,IAAI,SAAS,CAAC;YAC5B,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAClE,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAClE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,UAAU,CAAC,UAAU,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY;IAC/C,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,UAAU,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,KAAK,GAAG,kBAAkB,EAAE,KAAK,KAAK,SAAS;QACjD,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,kBAAkB,CAAC,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;SAC5E,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IAClF,IAAI,UAAU,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;QACpC,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,CAAC;IACzE,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;AAC/B,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY;IAChD,MAAM,KAAK,GAAG,IAAI;SACf,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACxC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,OAAO,OAAO;YACZ,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;YAChC,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;YAC9B,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IACL,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,OAAO,OAAO,IAAI,SAAS,CAAC;AAC9B,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,KAAoC,CAAC;IACrD,OAAO,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACnD,CAAC,CAAC,OAA6B;QAC/B,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAyB;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAyB;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9D,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5E,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,SAAiB;IACnD,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC;AAClF,CAAC"}