@google/gemini-cli-core 0.56.0 → 0.57.0-preview.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/dist/docs/changelogs/latest.md +224 -3
- package/dist/docs/get-started/authentication.mdx +1 -1
- package/dist/docs/reference/commands.md +7 -5
- package/dist/google-gemini-cli-core-0.57.0-preview.0.tgz +0 -0
- package/dist/src/agent/legacy-agent-session.js +14 -0
- package/dist/src/agent/legacy-agent-session.js.map +1 -1
- package/dist/src/agent/legacy-agent-session.test.js +52 -0
- package/dist/src/agent/legacy-agent-session.test.js.map +1 -1
- package/dist/src/agents/agentLoader.d.ts +18 -18
- package/dist/src/agents/cli-help-agent.js +13 -1
- package/dist/src/agents/cli-help-agent.js.map +1 -1
- package/dist/src/agents/cli-help-agent.test.js +4 -4
- package/dist/src/agents/cli-help-agent.test.js.map +1 -1
- package/dist/src/agents/registry.js +4 -1
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +8 -0
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/availability/modelAvailabilityService.d.ts +2 -1
- package/dist/src/availability/modelAvailabilityService.js +20 -5
- package/dist/src/availability/modelAvailabilityService.js.map +1 -1
- package/dist/src/availability/modelAvailabilityService.test.js +50 -1
- package/dist/src/availability/modelAvailabilityService.test.js.map +1 -1
- package/dist/src/config/config.js +5 -2
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/context/contextManager.js +5 -6
- package/dist/src/context/contextManager.js.map +1 -1
- package/dist/src/context/contextManager.test.js +17 -0
- package/dist/src/context/contextManager.test.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +16 -0
- package/dist/src/core/geminiChat.js +164 -32
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +388 -26
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/ide/ide-connection-utils.js +47 -10
- package/dist/src/ide/ide-connection-utils.js.map +1 -1
- package/dist/src/ide/ide-connection-utils.test.js +85 -0
- package/dist/src/ide/ide-connection-utils.test.js.map +1 -1
- package/dist/src/ide/process-utils.js +5 -2
- package/dist/src/ide/process-utils.js.map +1 -1
- package/dist/src/ide/process-utils.test.js +13 -1
- package/dist/src/ide/process-utils.test.js.map +1 -1
- package/dist/src/mcp/oauth-provider.js +2 -2
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-provider.test.js +70 -0
- package/dist/src/mcp/oauth-provider.test.js.map +1 -1
- package/dist/src/policy/policy-engine.d.ts +2 -0
- package/dist/src/policy/policy-engine.js +56 -0
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +79 -0
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/types.d.ts +4 -0
- package/dist/src/policy/types.js.map +1 -1
- package/dist/src/services/gitService.js +4 -3
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/gitService.test.js +16 -9
- package/dist/src/services/gitService.test.js.map +1 -1
- package/dist/src/services/shellExecutionService.d.ts +1 -1
- package/dist/src/services/shellExecutionService.js +40 -27
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +29 -9
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/services/worktreeService.js +9 -0
- package/dist/src/services/worktreeService.js.map +1 -1
- package/dist/src/services/worktreeService.test.js +8 -6
- package/dist/src/services/worktreeService.test.js.map +1 -1
- package/dist/src/skills/builtin/antigravity-support/SKILL.md +55 -18
- package/dist/src/skills/builtin/skill-creator/SKILL.md +221 -84
- package/dist/src/tools/edit.js +19 -4
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +21 -2
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/grep.js +2 -1
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/utils/gitUtils.d.ts +1 -0
- package/dist/src/utils/gitUtils.js +34 -0
- package/dist/src/utils/gitUtils.js.map +1 -1
- package/dist/src/utils/oauth-flow.d.ts +6 -0
- package/dist/src/utils/oauth-flow.js +33 -2
- package/dist/src/utils/oauth-flow.js.map +1 -1
- package/dist/src/utils/oauth-flow.test.js +81 -0
- package/dist/src/utils/oauth-flow.test.js.map +1 -1
- package/dist/src/utils/retry.js +55 -14
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +88 -0
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/trust.js +3 -0
- package/dist/src/utils/trust.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ import { toParts } from '../code_assist/converter.js';
|
|
|
13
13
|
import { retryWithBackoff, isRetryableError, getRetryErrorType, } from '../utils/retry.js';
|
|
14
14
|
import { resolveModel, supportsModernFeatures, isGemini2Model, } from '../config/models.js';
|
|
15
15
|
import { hasCycleInSchema } from '../tools/tools.js';
|
|
16
|
+
import { isAbortError } from '../utils/errors.js';
|
|
16
17
|
import { logContentRetry, logContentRetryFailure, logNetworkRetryAttempt, } from '../telemetry/loggers.js';
|
|
17
18
|
import { ChatRecordingService, } from '../services/chatRecordingService.js';
|
|
18
19
|
import { ContentRetryEvent, ContentRetryFailureEvent, NetworkRetryAttemptEvent, } from '../telemetry/types.js';
|
|
@@ -74,6 +75,10 @@ export function isValidNonThoughtTextPart(part) {
|
|
|
74
75
|
!part.fileData);
|
|
75
76
|
}
|
|
76
77
|
function isValidContent(content) {
|
|
78
|
+
if (content.role === 'model' &&
|
|
79
|
+
(content.parts === undefined || content.parts.length === 0)) {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
77
82
|
if (content.parts === undefined || content.parts.length === 0) {
|
|
78
83
|
return false;
|
|
79
84
|
}
|
|
@@ -81,7 +86,14 @@ function isValidContent(content) {
|
|
|
81
86
|
if (part === undefined || Object.keys(part).length === 0) {
|
|
82
87
|
return false;
|
|
83
88
|
}
|
|
84
|
-
if
|
|
89
|
+
// Check if the part contains any keys other than 'text', 'thought', or 'callIndex'.
|
|
90
|
+
// If it has other keys, it carries an active payload (such as tools, files, or code execution)
|
|
91
|
+
// and must be preserved even if the text itself is empty, preventing history sequence corruption.
|
|
92
|
+
const nonTextKeys = Object.keys(part).filter((key) => key !== 'text' && key !== 'thought' && key !== 'callIndex');
|
|
93
|
+
if (!part.thought &&
|
|
94
|
+
part.text !== undefined &&
|
|
95
|
+
part.text === '' &&
|
|
96
|
+
nonTextKeys.length === 0) {
|
|
85
97
|
return false;
|
|
86
98
|
}
|
|
87
99
|
}
|
|
@@ -138,6 +150,59 @@ function extractCuratedHistory(comprehensiveHistory) {
|
|
|
138
150
|
}
|
|
139
151
|
return curatedHistory;
|
|
140
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Nudge message used during retry after an empty response with thoughts.
|
|
155
|
+
*/
|
|
156
|
+
export const THINKING_ONLY_NUDGE_MESSAGE = '[System: You previously generated thoughts but failed to provide a final user-facing response. Please ensure you provide your final answer or call a tool now.]';
|
|
157
|
+
/**
|
|
158
|
+
* Nudge message used during retry after an empty response with no text or thoughts.
|
|
159
|
+
*/
|
|
160
|
+
export const NO_RESPONSE_TEXT_NUDGE_MESSAGE = '[System: You previously returned an empty response with no text or thoughts. Please ensure you provide your final answer or call a tool now.]';
|
|
161
|
+
/**
|
|
162
|
+
* Appends an on-retry nudge message to the final user turn in contents (or adds a user turn)
|
|
163
|
+
* so that the model observes it at the end of the context window without altering systemInstruction.
|
|
164
|
+
*/
|
|
165
|
+
export function applyRetryNudge(contents, nudgeMessage) {
|
|
166
|
+
if (!nudgeMessage) {
|
|
167
|
+
return contents;
|
|
168
|
+
}
|
|
169
|
+
const lastTurn = contents[contents.length - 1];
|
|
170
|
+
const hasNudge = lastTurn?.parts?.some((p) => p.text?.includes(nudgeMessage));
|
|
171
|
+
if (hasNudge) {
|
|
172
|
+
return contents;
|
|
173
|
+
}
|
|
174
|
+
const cloned = contents.map((c) => ({
|
|
175
|
+
...c,
|
|
176
|
+
parts: c.parts ? [...c.parts] : [],
|
|
177
|
+
}));
|
|
178
|
+
const clonedLastTurn = cloned[cloned.length - 1];
|
|
179
|
+
const hasFunctionResponse = clonedLastTurn?.parts?.some((p) => p.functionResponse);
|
|
180
|
+
if (clonedLastTurn?.role === 'user' && hasFunctionResponse) {
|
|
181
|
+
// Satisfy strict role alternation invariants of the Gemini API by inserting
|
|
182
|
+
// a neutral, synthetic model turn between the tool response and the nudge prompt.
|
|
183
|
+
cloned.push({
|
|
184
|
+
role: 'model',
|
|
185
|
+
parts: [{ text: '[Tool execution completed.]' }],
|
|
186
|
+
});
|
|
187
|
+
cloned.push({
|
|
188
|
+
role: 'user',
|
|
189
|
+
parts: [{ text: nudgeMessage }],
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
else if (clonedLastTurn?.role === 'user') {
|
|
193
|
+
if (!clonedLastTurn.parts) {
|
|
194
|
+
clonedLastTurn.parts = [];
|
|
195
|
+
}
|
|
196
|
+
clonedLastTurn.parts.push({ text: `\n${nudgeMessage}` });
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
cloned.push({
|
|
200
|
+
role: 'user',
|
|
201
|
+
parts: [{ text: nudgeMessage }],
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
return cloned;
|
|
205
|
+
}
|
|
141
206
|
/**
|
|
142
207
|
* Custom error to signal that a stream completed with invalid content,
|
|
143
208
|
* which should trigger a retry.
|
|
@@ -193,6 +258,9 @@ export class GeminiChat {
|
|
|
193
258
|
lastPromptTokenCount;
|
|
194
259
|
callCounter = 0;
|
|
195
260
|
agentHistory;
|
|
261
|
+
lastPromptId;
|
|
262
|
+
promptOriginalHistoryLength;
|
|
263
|
+
promptOriginalTokenCount;
|
|
196
264
|
constructor(context, systemInstruction = '', tools = [], history = [], resumedSessionData, onModelChanged) {
|
|
197
265
|
this.context = context;
|
|
198
266
|
this.systemInstruction = systemInstruction;
|
|
@@ -276,6 +344,15 @@ export class GeminiChat {
|
|
|
276
344
|
await this.sendPromise;
|
|
277
345
|
const historyLengthBefore = this.agentHistory.length;
|
|
278
346
|
const baselinePromptTokenCount = this.lastPromptTokenCount;
|
|
347
|
+
if (this.lastPromptId && this.lastPromptId !== prompt_id) {
|
|
348
|
+
this.promptOriginalHistoryLength = undefined;
|
|
349
|
+
this.promptOriginalTokenCount = undefined;
|
|
350
|
+
}
|
|
351
|
+
this.lastPromptId = prompt_id;
|
|
352
|
+
if (this.promptOriginalHistoryLength === undefined) {
|
|
353
|
+
this.promptOriginalHistoryLength = historyLengthBefore;
|
|
354
|
+
this.promptOriginalTokenCount = baselinePromptTokenCount;
|
|
355
|
+
}
|
|
279
356
|
let streamDoneResolver;
|
|
280
357
|
const streamDonePromise = new Promise((resolve) => {
|
|
281
358
|
streamDoneResolver = resolve;
|
|
@@ -390,6 +467,8 @@ export class GeminiChat {
|
|
|
390
467
|
}
|
|
391
468
|
const requestHistory = this.getHistoryTurns(true);
|
|
392
469
|
const streamWithRetries = async function* () {
|
|
470
|
+
let isSuccess = false;
|
|
471
|
+
let caughtError = undefined;
|
|
393
472
|
try {
|
|
394
473
|
const maxAttempts = this.context.config.getMaxAttempts();
|
|
395
474
|
let lastStreamError = undefined;
|
|
@@ -404,11 +483,12 @@ export class GeminiChat {
|
|
|
404
483
|
? { ...modelConfigKey, isRetry: true, lastStreamError }
|
|
405
484
|
: modelConfigKey;
|
|
406
485
|
isConnectionPhase = true;
|
|
407
|
-
const stream = await this.makeApiCallAndProcessStream(currentConfigKey, requestHistory, prompt_id, signal, role, apiHistoryOverride);
|
|
486
|
+
const stream = await this.makeApiCallAndProcessStream(currentConfigKey, requestHistory, prompt_id, signal, role, apiHistoryOverride, isOriginalFunctionResponse);
|
|
408
487
|
isConnectionPhase = false;
|
|
409
488
|
for await (const chunk of stream) {
|
|
410
489
|
yield { type: StreamEventType.CHUNK, value: chunk };
|
|
411
490
|
}
|
|
491
|
+
isSuccess = true;
|
|
412
492
|
return;
|
|
413
493
|
}
|
|
414
494
|
catch (error) {
|
|
@@ -420,6 +500,7 @@ export class GeminiChat {
|
|
|
420
500
|
type: StreamEventType.AGENT_EXECUTION_STOPPED,
|
|
421
501
|
reason: error.reason,
|
|
422
502
|
};
|
|
503
|
+
isSuccess = true;
|
|
423
504
|
return; // Stop the generator
|
|
424
505
|
}
|
|
425
506
|
if (error instanceof AgentExecutionBlockedError) {
|
|
@@ -433,6 +514,7 @@ export class GeminiChat {
|
|
|
433
514
|
value: error.syntheticResponse,
|
|
434
515
|
};
|
|
435
516
|
}
|
|
517
|
+
isSuccess = true;
|
|
436
518
|
return; // Stop the generator
|
|
437
519
|
}
|
|
438
520
|
if (isConnectionPhase) {
|
|
@@ -486,14 +568,34 @@ export class GeminiChat {
|
|
|
486
568
|
}
|
|
487
569
|
}
|
|
488
570
|
catch (error) {
|
|
489
|
-
|
|
490
|
-
this.agentHistory.rollback(historyLengthBefore);
|
|
491
|
-
this.chatRecordingService.updateMessagesFromHistory(this.agentHistory.get());
|
|
492
|
-
this.lastPromptTokenCount = baselinePromptTokenCount;
|
|
493
|
-
}
|
|
571
|
+
caughtError = error;
|
|
494
572
|
throw error;
|
|
495
573
|
}
|
|
496
574
|
finally {
|
|
575
|
+
if (!isSuccess) {
|
|
576
|
+
const isAborted = signal?.aborted ||
|
|
577
|
+
isAbortError(caughtError) ||
|
|
578
|
+
(caughtError instanceof Error &&
|
|
579
|
+
(caughtError.name === 'CanceledError' ||
|
|
580
|
+
caughtError.name === 'FatalCancellationError'));
|
|
581
|
+
const originalLength = this.promptOriginalHistoryLength;
|
|
582
|
+
const originalTokenCount = this.promptOriginalTokenCount;
|
|
583
|
+
if (isAborted && originalLength !== undefined) {
|
|
584
|
+
this.agentHistory.rollback(originalLength);
|
|
585
|
+
this.chatRecordingService.updateMessagesFromHistory(this.agentHistory.get());
|
|
586
|
+
if (originalTokenCount !== undefined) {
|
|
587
|
+
this.lastPromptTokenCount = originalTokenCount;
|
|
588
|
+
}
|
|
589
|
+
this.promptOriginalHistoryLength = undefined;
|
|
590
|
+
this.promptOriginalTokenCount = undefined;
|
|
591
|
+
this.lastPromptId = undefined;
|
|
592
|
+
}
|
|
593
|
+
else if (!isOriginalFunctionResponse) {
|
|
594
|
+
this.agentHistory.rollback(historyLengthBefore);
|
|
595
|
+
this.chatRecordingService.updateMessagesFromHistory(this.agentHistory.get());
|
|
596
|
+
this.lastPromptTokenCount = baselinePromptTokenCount;
|
|
597
|
+
}
|
|
598
|
+
}
|
|
497
599
|
streamDoneResolver();
|
|
498
600
|
}
|
|
499
601
|
};
|
|
@@ -535,7 +637,7 @@ export class GeminiChat {
|
|
|
535
637
|
}
|
|
536
638
|
return binaryParts.length > 0 ? binaryParts : undefined;
|
|
537
639
|
}
|
|
538
|
-
async makeApiCallAndProcessStream(modelConfigKey, requestHistory, prompt_id, abortSignal, role, apiHistoryOverride) {
|
|
640
|
+
async makeApiCallAndProcessStream(modelConfigKey, requestHistory, prompt_id, abortSignal, role, apiHistoryOverride, isOriginalFunctionResponse = false) {
|
|
539
641
|
// Last mile scrubbing to remove internal tracking properties (e.g. callIndex)
|
|
540
642
|
// before sending to the Gemini API. This whitelists only standard Gemini fields.
|
|
541
643
|
let scrubbedHistory = this.context.config.isContextManagementEnabled()
|
|
@@ -583,31 +685,27 @@ export class GeminiChat {
|
|
|
583
685
|
tools: this.tools,
|
|
584
686
|
abortSignal,
|
|
585
687
|
};
|
|
586
|
-
// Apply Context-Aware Retries (On-Retry Nudging) to guide the model out of silent loops
|
|
688
|
+
// Apply Context-Aware Retries (On-Retry Nudging) to guide the model out of silent loops.
|
|
689
|
+
// The nudge message is appended to the contents array (end of conversation) rather than modifying
|
|
690
|
+
// systemInstruction. This preserves the prefix cache and ensures the nudge is directly observed
|
|
691
|
+
// by the model at the end of the context window.
|
|
692
|
+
let nudgeMessage = '';
|
|
587
693
|
if (modelConfigKey.isRetry &&
|
|
588
694
|
modelConfigKey.lastStreamError instanceof InvalidStreamError) {
|
|
589
695
|
const lastError = modelConfigKey.lastStreamError;
|
|
590
|
-
let nudgeMessage = '';
|
|
591
696
|
if (lastError.type === 'THINKING_ONLY_RESPONSE') {
|
|
592
|
-
nudgeMessage =
|
|
593
|
-
'\n[System: You previously generated thoughts but failed to provide a final user-facing response. Please ensure you provide your final answer or call a tool now.]';
|
|
697
|
+
nudgeMessage = THINKING_ONLY_NUDGE_MESSAGE;
|
|
594
698
|
}
|
|
595
699
|
else if (lastError.type === 'NO_RESPONSE_TEXT') {
|
|
596
|
-
nudgeMessage =
|
|
597
|
-
'\n[System: You previously returned an empty response with no text or thoughts. Please ensure you provide your final answer or call a tool now.]';
|
|
598
|
-
}
|
|
599
|
-
if (nudgeMessage) {
|
|
600
|
-
if (typeof config.systemInstruction === 'string') {
|
|
601
|
-
config.systemInstruction += nudgeMessage;
|
|
602
|
-
}
|
|
603
|
-
else if (config.systemInstruction === undefined) {
|
|
604
|
-
config.systemInstruction = nudgeMessage;
|
|
605
|
-
}
|
|
700
|
+
nudgeMessage = NO_RESPONSE_TEXT_NUDGE_MESSAGE;
|
|
606
701
|
}
|
|
607
702
|
}
|
|
608
703
|
let contentsToUse = supportsModernFeatures(modelToUse) || isGemini2Model(modelToUse)
|
|
609
704
|
? [...contentsForPreviewModel]
|
|
610
705
|
: [...requestContents];
|
|
706
|
+
if (nudgeMessage) {
|
|
707
|
+
contentsToUse = applyRetryNudge(contentsToUse, nudgeMessage);
|
|
708
|
+
}
|
|
611
709
|
const hookSystem = this.context.config.getHookSystem();
|
|
612
710
|
if (hookSystem) {
|
|
613
711
|
const beforeModelResult = await hookSystem.fireBeforeModelEvent({
|
|
@@ -635,6 +733,9 @@ export class GeminiChat {
|
|
|
635
733
|
supportsModernFeatures(modelToUse) || isGemini2Model(modelToUse)
|
|
636
734
|
? [...contentsForPreviewModel]
|
|
637
735
|
: [...requestContents];
|
|
736
|
+
if (nudgeMessage) {
|
|
737
|
+
contentsToUse = applyRetryNudge(contentsToUse, nudgeMessage);
|
|
738
|
+
}
|
|
638
739
|
}
|
|
639
740
|
if (beforeModelResult.modifiedConfig) {
|
|
640
741
|
Object.assign(config, beforeModelResult.modifiedConfig);
|
|
@@ -643,6 +744,9 @@ export class GeminiChat {
|
|
|
643
744
|
Array.isArray(beforeModelResult.modifiedContents)) {
|
|
644
745
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
645
746
|
contentsToUse = beforeModelResult.modifiedContents;
|
|
747
|
+
if (nudgeMessage) {
|
|
748
|
+
contentsToUse = applyRetryNudge(contentsToUse, nudgeMessage);
|
|
749
|
+
}
|
|
646
750
|
}
|
|
647
751
|
const toolSelectionResult = await hookSystem.fireBeforeToolSelectionEvent({
|
|
648
752
|
model: modelToUse,
|
|
@@ -705,7 +809,7 @@ export class GeminiChat {
|
|
|
705
809
|
config: lastConfig,
|
|
706
810
|
contents: lastContentsToUse,
|
|
707
811
|
};
|
|
708
|
-
return this.processStreamResponse(lastModelToUse, streamResponse, originalRequest);
|
|
812
|
+
return this.processStreamResponse(lastModelToUse, streamResponse, originalRequest, isOriginalFunctionResponse);
|
|
709
813
|
}
|
|
710
814
|
/**
|
|
711
815
|
* Returns the chat history.
|
|
@@ -879,7 +983,7 @@ export class GeminiChat {
|
|
|
879
983
|
}
|
|
880
984
|
}
|
|
881
985
|
}
|
|
882
|
-
async *processStreamResponse(model, streamResponse, originalRequest) {
|
|
986
|
+
async *processStreamResponse(model, streamResponse, originalRequest, isOriginalFunctionResponse = false) {
|
|
883
987
|
const modelResponseParts = [];
|
|
884
988
|
let hasToolCall = false;
|
|
885
989
|
let hasThoughts = false;
|
|
@@ -1059,7 +1163,9 @@ export class GeminiChat {
|
|
|
1059
1163
|
// - Empty response text (e.g., only thoughts with no actual content)
|
|
1060
1164
|
if (!hasToolCall) {
|
|
1061
1165
|
if (!finishReason) {
|
|
1062
|
-
|
|
1166
|
+
if (!isOriginalFunctionResponse) {
|
|
1167
|
+
throw new InvalidStreamError('Model stream ended without a finish reason.', 'NO_FINISH_REASON');
|
|
1168
|
+
}
|
|
1063
1169
|
}
|
|
1064
1170
|
if (finishReason === FinishReason.MALFORMED_FUNCTION_CALL) {
|
|
1065
1171
|
throw new InvalidStreamError('Model stream ended with malformed function call.', 'MALFORMED_FUNCTION_CALL');
|
|
@@ -1083,7 +1189,9 @@ export class GeminiChat {
|
|
|
1083
1189
|
if (hasThoughts) {
|
|
1084
1190
|
throw new InvalidStreamError('Model stream ended with empty response text but contained reasoning thoughts.', 'THINKING_ONLY_RESPONSE');
|
|
1085
1191
|
}
|
|
1086
|
-
|
|
1192
|
+
if (!isOriginalFunctionResponse) {
|
|
1193
|
+
throw new InvalidStreamError('Model stream ended with empty response text.', 'NO_RESPONSE_TEXT');
|
|
1194
|
+
}
|
|
1087
1195
|
}
|
|
1088
1196
|
}
|
|
1089
1197
|
// Flush buffered thoughts from the successful attempt
|
|
@@ -1097,10 +1205,10 @@ export class GeminiChat {
|
|
|
1097
1205
|
this.lastPromptTokenCount = bufferedUsageMetadata.promptTokenCount;
|
|
1098
1206
|
}
|
|
1099
1207
|
}
|
|
1100
|
-
let id;
|
|
1101
1208
|
// Record model response text from the collected parts.
|
|
1102
1209
|
// Also flush when there are thoughts or a tool call (even with no text)
|
|
1103
1210
|
// so that BeforeTool hooks always see the latest transcript state.
|
|
1211
|
+
let id;
|
|
1104
1212
|
if (responseText || hasThoughts || hasToolCall) {
|
|
1105
1213
|
id = this.chatRecordingService.recordMessage({
|
|
1106
1214
|
model,
|
|
@@ -1185,9 +1293,9 @@ export function isInvalidArgumentError(errorMessage) {
|
|
|
1185
1293
|
return errorMessage.includes('Request contains an invalid argument');
|
|
1186
1294
|
}
|
|
1187
1295
|
export function stripToolCallIdPrefixes(contents) {
|
|
1188
|
-
return contents.map((content) =>
|
|
1189
|
-
|
|
1190
|
-
|
|
1296
|
+
return contents.map((content) => {
|
|
1297
|
+
const parts = (content.parts || [])
|
|
1298
|
+
.map((part) => {
|
|
1191
1299
|
const newPart = { ...part };
|
|
1192
1300
|
if (newPart.functionCall) {
|
|
1193
1301
|
const fc = newPart.functionCall;
|
|
@@ -1211,9 +1319,33 @@ export function stripToolCallIdPrefixes(contents) {
|
|
|
1211
1319
|
};
|
|
1212
1320
|
}
|
|
1213
1321
|
}
|
|
1322
|
+
// If there's an empty text key alongside other active properties, remove the empty text key
|
|
1323
|
+
// so it doesn't trigger "contains empty parts" validation errors on the Gemini API.
|
|
1324
|
+
const hasOtherKeys = Object.keys(newPart).some((key) => key !== 'text' &&
|
|
1325
|
+
key !== 'thought' &&
|
|
1326
|
+
key !== 'callIndex' &&
|
|
1327
|
+
newPart[key] !== undefined);
|
|
1328
|
+
if (newPart.text !== undefined && newPart.text === '' && hasOtherKeys) {
|
|
1329
|
+
delete newPart.text;
|
|
1330
|
+
}
|
|
1214
1331
|
return newPart;
|
|
1215
|
-
})
|
|
1216
|
-
|
|
1332
|
+
})
|
|
1333
|
+
.filter((part) => {
|
|
1334
|
+
// Filter out truly empty parts that have only text: '' and no payload
|
|
1335
|
+
const hasOtherKeys = Object.keys(part).some((key) => key !== 'text' &&
|
|
1336
|
+
key !== 'thought' &&
|
|
1337
|
+
key !== 'callIndex' &&
|
|
1338
|
+
part[key] !== undefined);
|
|
1339
|
+
if (part.text !== undefined && part.text === '' && !hasOtherKeys) {
|
|
1340
|
+
return false;
|
|
1341
|
+
}
|
|
1342
|
+
return true;
|
|
1343
|
+
});
|
|
1344
|
+
return {
|
|
1345
|
+
...content,
|
|
1346
|
+
parts,
|
|
1347
|
+
};
|
|
1348
|
+
});
|
|
1217
1349
|
}
|
|
1218
1350
|
export function coalesceConsecutiveRoles(history) {
|
|
1219
1351
|
const result = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geminiChat.js","sourceRoot":"","sources":["../../../src/core/geminiChat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geminiChat.js","sourceRoot":"","sources":["../../../src/core/geminiChat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,uJAAuJ;AACvJ,4GAA4G;AAE5G,OAAO,EACL,iBAAiB,EACjB,YAAY,GASb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAoB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAoB,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,GAErB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,GAEzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAEpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,iCAAiC,GAClC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,CAAN,IAAY,eAUX;AAVD,WAAY,eAAe;IACzB,4CAA4C;IAC5C,kCAAe,CAAA;IACf;oDACgD;IAChD,kCAAe,CAAA;IACf,oEAAoE;IACpE,sEAAmD,CAAA;IACnD,oEAAoE;IACpE,sEAAmD,CAAA;AACrD,CAAC,EAVW,eAAe,KAAf,eAAe,QAU1B;AAoBD,MAAM,wBAAwB,GAA0B;IACtD,WAAW,EAAE,CAAC,EAAE,wCAAwC;IACxD,cAAc,EAAE,IAAI;IACpB,qBAAqB,EAAE,IAAI;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,kCAAkC,CAAC;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAC3C,8DAA8D,CAAC;AAUjE,SAAS,aAAa,CAAC,IAAU;IAC/B,OAAO,WAAW,IAAI,IAAI,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,QAAiC;IACxD,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IAChD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAU;IAClD,OAAO,CACL,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAC7B,CAAC,IAAI,CAAC,OAAO;QACb,wEAAwE;QACxE,0DAA0D;QAC1D,CAAC,IAAI,CAAC,YAAY;QAClB,CAAC,IAAI,CAAC,gBAAgB;QACtB,CAAC,IAAI,CAAC,UAAU;QAChB,CAAC,IAAI,CAAC,QAAQ,CACf,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB;IACtC,IACE,OAAO,CAAC,IAAI,KAAK,OAAO;QACxB,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,EAC3D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,oFAAoF;QACpF,+FAA+F;QAC/F,kGAAkG;QAClG,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAC1C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,WAAW,CACpE,CAAC;QACF,IACE,CAAC,IAAI,CAAC,OAAO;YACb,IAAI,CAAC,IAAI,KAAK,SAAS;YACvB,IAAI,CAAC,IAAI,KAAK,EAAE;YAChB,WAAW,CAAC,MAAM,KAAK,CAAC,EACxB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,OAAqC;IAC5D,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAC5B,oBAA4C;IAE5C,IAAI,oBAAoB,KAAK,SAAS,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5E,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,cAAc,GAAkB,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAC3C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;QAClB,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACpD,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAkB,EAAE,CAAC;YACtC,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,OAAO,CAAC,GAAG,MAAM,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACtE,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChE,OAAO,GAAG,KAAK,CAAC;gBAClB,CAAC;gBACD,CAAC,EAAE,CAAC;YACN,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,cAAc,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACtC,iKAAiK,CAAC;AAEpK;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GACzC,+IAA+I,CAAC;AAElJ;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAmB,EACnB,YAAoB;IAEpB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9E,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAc,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,GAAG,CAAC;QACJ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;KACnC,CAAC,CAAC,CAAC;IAEJ,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,mBAAmB,GAAG,cAAc,EAAE,KAAK,EAAE,IAAI,CACrD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAC1B,CAAC;IAEF,IAAI,cAAc,EAAE,IAAI,KAAK,MAAM,IAAI,mBAAmB,EAAE,CAAC;QAC3D,4EAA4E;QAC5E,kFAAkF;QAClF,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC;SACjD,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,cAAc,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC1B,cAAc,CAAC,KAAK,GAAG,EAAE,CAAC;QAC5B,CAAC;QACD,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,YAAY,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,IAAI,CASgB;IAE7B,YACE,OAAe,EACf,IAS4B;QAE5B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAChC;IAAnB,YAAmB,MAAc;QAC/B,KAAK,CAAC,MAAM,CAAC,CAAC;QADG,WAAM,GAAN,MAAM,CAAQ;QAE/B,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAE1C;IACA;IAFT,YACS,MAAc,EACd,iBAA2C;QAElD,KAAK,CAAC,MAAM,CAAC,CAAC;QAHP,WAAM,GAAN,MAAM,CAAQ;QACd,sBAAiB,GAAjB,iBAAiB,CAA0B;QAGlD,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,UAAU;IAaV;IACD;IACA;IAGS;IAjBnB,4EAA4E;IAC5E,SAAS;IACD,WAAW,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACtC,oBAAoB,CAAuB;IACpD,oBAAoB,CAAS;IAC7B,WAAW,GAAG,CAAC,CAAC;IACxB,YAAY,CAAmB;IACvB,YAAY,CAAU;IACtB,2BAA2B,CAAU;IACrC,wBAAwB,CAAU;IAE1C,YACW,OAAyB,EAC1B,oBAA4B,EAAE,EAC9B,QAAgB,EAAE,EAC1B,UAAwC,EAAE,EAC1C,kBAAuC,EACtB,cAAqD;QAL7D,YAAO,GAAP,OAAO,CAAkB;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAa;QAC9B,UAAK,GAAL,KAAK,CAAa;QAGT,mBAAc,GAAd,cAAc,CAAuC;QAEtE,eAAe,CAAC,OAAO,CAAC,CAAC;QAEzB,IAAI,cAA6B,CAAC;QAClC,wFAAwF;QACxF,+EAA+E;QAC/E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACpC,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI;gBAC/B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CACxC,CAAC;QACJ,CAAC;aAAM,IAAI,kBAAkB,EAAE,CAAC;YAC9B,qEAAqE;YACrE,cAAc,GAAG,kBAAkB,CAAC,YAAY,CAAC,QAAQ;iBACtD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;iBACvD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACX,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,OAAO,EAAE;oBACP,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBAC1C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;wBAC7B,CAAC,CAAC,uEAAuE;4BACtE,CAAC,CAAC,OAAkB;wBACvB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;iBAClC;aACF,CAAC,CAAC,CAAC;QACR,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACzD,uEAAuE;QACvE,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAmB,CAAC,CAAC;QAC9D,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,oBAAoB,GAAG,sBAAsB,CAChD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,UAAU,CACd,kBAAuC,EACvC,OAA4B,MAAM;QAElC,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACrE,sFAAsF;QACtF,+BAA+B;QAC/B,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CACjD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CACxB,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,QAAgB;QACnC,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IACpC,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,iBAAiB,CACrB,cAA8B,EAC9B,OAAsB,EACtB,SAAiB,EACjB,MAAmB,EACnB,IAAa,EACb,cAA8B,EAC9B,kBAA8B;QAE9B,MAAM,IAAI,CAAC,WAAW,CAAC;QAEvB,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QACrD,MAAM,wBAAwB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAE3D,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACzD,IAAI,CAAC,2BAA2B,GAAG,SAAS,CAAC;YAC7C,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAE9B,IAAI,IAAI,CAAC,2BAA2B,KAAK,SAAS,EAAE,CAAC;YACnD,IAAI,CAAC,2BAA2B,GAAG,mBAAmB,CAAC;YACvD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QAC3D,CAAC;QAED,IAAI,kBAA8B,CAAC;QACnC,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACtD,kBAAkB,GAAG,OAAO,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC;QAErC,IAAI,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEnE,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,yEAAyE;QACzE,2BAA2B;QAC3B,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAChC,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACzC,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAE3E,MAAM,0BAA0B,GAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC;QAEnD,0FAA0F;QAC1F,0GAA0G;QAC1G,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAChC,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;YACjD,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;YAEnE,IAAI,mBAAmB,GAAuB,SAAS,CAAC;YACxD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,YAAY,GAAG,OAAO,CAC1B,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAClE,CAAC;gBACF,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;gBACjE,IAAI,oBAAoB,KAAK,kBAAkB,EAAE,CAAC;oBAChD,mBAAmB,GAAG,YAAY,CAAC;gBACrC,CAAC;YACH,CAAC;YAED,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAChC,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;oBACjD,KAAK;oBACL,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,gBAAgB;oBACzB,cAAc,EAAE,mBAAmB;iBACpC,CAAC,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,4EAA4E;gBAC5E,wDAAwD;gBACxD,6BAA6B;gBAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC7C,IACE,CAAC,QAAQ;oBACT,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;wBACjD,kBAAkB,EACpB,CAAC;oBACD,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;wBACjD,KAAK;wBACL,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,gBAAgB;wBACzB,cAAc,EAAE,mBAAmB;qBACpC,CAAC,CAAC;oBACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,wFAAwF;YACxF,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CACzD,MAAM,EACN,WAAW,CAAC,KAAK,IAAI,EAAE,CACxB,CAAC;YAEF,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAChC,qFAAqF;gBACrF,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACpE,IAAI,WAAW,EAAE,CAAC;oBAChB,mDAAmD;oBACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;oBAErD,yCAAyC;oBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAC9D,QAAQ,EACR;wBACE;4BACE,IAAI,EAAE,oDAAoD;4BAC1D,OAAO,EAAE,IAAI;4BACb,gBAAgB,EAAE,2BAA2B;yBAC9C;qBACF,CACF,CAAC;oBACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;wBACrB,EAAE,EAAE,OAAO;wBACX,OAAO,EAAE;4BACP,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,oDAAoD;oCAC1D,OAAO,EAAE,IAAI;oCACb,gBAAgB,EAAE,2BAA2B;iCAC9C;6BACF;yBACF;qBACF,CAAC,CAAC;oBAEH,uEAAuE;oBACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAC/D,MAAM,EACN,WAAW,CACZ,CAAC;oBACF,WAAW,GAAG;wBACZ,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,WAAW;qBACnB,CAAC;oBACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;gBACjE,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gFAAgF;gBAChF,8DAA8D;gBAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC7C,IACE,CAAC,QAAQ;oBACT,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;wBACjD,qBAAqB,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,EAChD,CAAC;oBACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAElD,MAAM,iBAAiB,GAAG,KAAK,SAAS,CAAC;YAGvC,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,WAAW,GAAY,SAAS,CAAC;YAErC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBACzD,IAAI,eAAe,GAAY,SAAS,CAAC;gBAEzC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;oBACvD,IAAI,iBAAiB,GAAG,IAAI,CAAC;oBAC7B,IAAI,CAAC;wBACH,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;4BAChB,MAAM,EAAE,IAAI,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC;wBACxC,CAAC;wBAED,2DAA2D;wBAC3D,MAAM,gBAAgB,GACpB,OAAO,GAAG,CAAC;4BACT,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE;4BACvD,CAAC,CAAC,cAAc,CAAC;wBAErB,iBAAiB,GAAG,IAAI,CAAC;wBACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,2BAA2B,CACnD,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,MAAM,EACN,IAAI,EACJ,kBAAkB,EAClB,0BAA0B,CAC3B,CAAC;wBACF,iBAAiB,GAAG,KAAK,CAAC;wBAC1B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;4BACjC,MAAM,EAAE,IAAI,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;wBACtD,CAAC;wBAED,SAAS,GAAG,IAAI,CAAC;wBACjB,OAAO;oBACT,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;4BACxC,eAAe,GAAG,KAAK,CAAC;wBAC1B,CAAC;wBAED,IAAI,KAAK,YAAY,0BAA0B,EAAE,CAAC;4BAChD,MAAM;gCACJ,IAAI,EAAE,eAAe,CAAC,uBAAuB;gCAC7C,MAAM,EAAE,KAAK,CAAC,MAAM;6BACrB,CAAC;4BACF,SAAS,GAAG,IAAI,CAAC;4BACjB,OAAO,CAAC,qBAAqB;wBAC/B,CAAC;wBAED,IAAI,KAAK,YAAY,0BAA0B,EAAE,CAAC;4BAChD,MAAM;gCACJ,IAAI,EAAE,eAAe,CAAC,uBAAuB;gCAC7C,MAAM,EAAE,KAAK,CAAC,MAAM;6BACrB,CAAC;4BACF,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;gCAC5B,MAAM;oCACJ,IAAI,EAAE,eAAe,CAAC,KAAK;oCAC3B,KAAK,EAAE,KAAK,CAAC,iBAAiB;iCAC/B,CAAC;4BACJ,CAAC;4BACD,SAAS,GAAG,IAAI,CAAC;4BACjB,OAAO,CAAC,qBAAqB;wBAC/B,CAAC;wBAED,IAAI,iBAAiB,EAAE,CAAC;4BACtB,yEAAyE;4BACzE,uDAAuD;4BACvD,MAAM,KAAK,CAAC;wBACd,CAAC;wBAED,8DAA8D;wBAC9D,uDAAuD;wBACvD,MAAM,WAAW,GAAG,gBAAgB,CAClC,KAAK,EACL,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAC1C,CAAC;wBAEF,MAAM,cAAc,GAAG,KAAK,YAAY,kBAAkB,CAAC;wBAC3D,MAAM,uBAAuB,GAAG,cAAc,CAAC;wBAC/C,MAAM,SAAS,GAAG,cAAc;4BAC9B,CAAC,CAAC,KAAK,CAAC,IAAI;4BACZ,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;wBAE7B,IAAI,uBAAuB,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;4BAChE,4FAA4F;4BAC5F,oGAAoG;4BACpG,+DAA+D;4BAC/D,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,WAAW,CAAC;4BAElE,IACE,OAAO,GAAG,WAAW,GAAG,CAAC;gCACzB,OAAO,GAAG,oBAAoB,GAAG,CAAC,EAClC,CAAC;gCACD,MAAM,OAAO,GAAG,wBAAwB,CAAC,qBAAqB;oCAC5D,CAAC,CAAC,wBAAwB,CAAC,cAAc;wCACvC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC;oCACtB,CAAC,CAAC,wBAAwB,CAAC,cAAc,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gCAE5D,IAAI,cAAc,EAAE,CAAC;oCACnB,eAAe,CACb,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,IAAI,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAC1D,CAAC;gCACJ,CAAC;qCAAM,CAAC;oCACN,sBAAsB,CACpB,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,IAAI,wBAAwB,CAC1B,OAAO,GAAG,CAAC,EACX,WAAW,EACX,SAAS,EACT,OAAO,EACP,KAAK,CACN,CACF,CAAC;gCACJ,CAAC;gCACD,UAAU,CAAC,gBAAgB,CAAC;oCAC1B,OAAO,EAAE,OAAO,GAAG,CAAC;oCACpB,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,oBAAoB,CAAC;oCACxD,OAAO;oCACP,KAAK,EAAE,SAAS;oCAChB,KAAK;iCACN,CAAC,CAAC;gCACH,MAAM,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;gCACrD,SAAS;4BACX,CAAC;wBACH,CAAC;wBAED,wDAAwD;wBACxD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;4BACnB,MAAM,KAAK,CAAC;wBACd,CAAC;wBAED,sBAAsB,CACpB,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,IAAI,wBAAwB,CAAC,OAAO,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAC5D,CAAC;wBAEF,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW,GAAG,KAAK,CAAC;gBACpB,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,SAAS,GACb,MAAM,EAAE,OAAO;wBACf,YAAY,CAAC,WAAW,CAAC;wBACzB,CAAC,WAAW,YAAY,KAAK;4BAC3B,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe;gCACnC,WAAW,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC,CAAC;oBACtD,MAAM,cAAc,GAAG,IAAI,CAAC,2BAA2B,CAAC;oBACxD,MAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CAAC;oBACzD,IAAI,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;wBAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;wBAC3C,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CACjD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CACxB,CAAC;wBACF,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;4BACrC,IAAI,CAAC,oBAAoB,GAAG,kBAAkB,CAAC;wBACjD,CAAC;wBACD,IAAI,CAAC,2BAA2B,GAAG,SAAS,CAAC;wBAC7C,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;wBAC1C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;oBAChC,CAAC;yBAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;wBACvC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;wBAChD,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CACjD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CACxB,CAAC;wBACF,IAAI,CAAC,oBAAoB,GAAG,wBAAwB,CAAC;oBACvD,CAAC;gBACH,CAAC;gBACD,kBAAmB,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACK,+BAA+B;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,IACE,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,MAAM;YAC7B,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAC5D,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,EAAE,EAAE,UAAU,EAAE;YAChB,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC;aACpD;SACF,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB,CAC7B,KAAyB;QAEzB,MAAM,WAAW,GAAW,EAAE,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC;gBACjD,IAAI,QAAQ,IAAI,oBAAoB,IAAI,QAAQ,EAAE,CAAC;oBACjD,uEAAuE;oBACvE,MAAM,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAW,CAAC;oBAC1D,OAAO,QAAQ,CAAC,oBAAoB,CAAC,CAAC;oBACtC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC5B,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACvC,cAA8B,EAC9B,cAAsC,EACtC,SAAiB,EACjB,WAAwB,EACxB,IAAa,EACb,kBAA8B,EAC9B,6BAAsC,KAAK;QAE3C,8EAA8E;QAC9E,iFAAiF;QACjF,IAAI,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE;YACpE,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;QAExB,sEAAsE;QACtE,eAAe,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAE5D,MAAM,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE/D,MAAM,eAAe,GAAG,kBAAkB;YACxC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC;YACnC,CAAC,CAAC,gBAAgB,CAAC;QAErB,MAAM,uBAAuB,GAC3B,IAAI,CAAC,oCAAoC,CAAC,eAAe,CAAC,CAAC;QAE7D,sDAAsD;QACtD,MAAM,EACJ,KAAK,EAAE,sBAAsB,EAC7B,MAAM,EAAE,qBAAqB,EAC7B,WAAW,EAAE,uBAAuB,GACrC,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE7D,IAAI,cAAc,GAAG,sBAAsB,CAAC;QAC5C,IAAI,4BAA4B,GAC9B,qBAAqB,CAAC;QACxB,IAAI,UAAU,GAA0B,4BAA4B,CAAC;QACrE,IAAI,iBAAiB,GAAc,CAAC,GAAG,eAAe,CAAC,CAAC;QAExD,MAAM,sBAAsB,GAAG,iCAAiC,CAC9D,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,GAAG,EAAE,CAAC,cAAc,CACrB,CAAC;QACF,wDAAwD;QACxD,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAEhE,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,MAAM,YAAY,GAChB,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC;YAC/D,MAAM,kBAAkB,GACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,EAAE,IAAI,IAAI,CAAC;YAC7D,mFAAmF;YACnF,IAAI,UAAU,GAAG,YAAY,CAC3B,cAAc,EACd,YAAY,EACZ,KAAK,EACL,kBAAkB,EAClB,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,IAAI,KAAK,CAC1D,CAAC;YAEF,gFAAgF;YAChF,qCAAqC;YACrC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,kBAAkB,EAAE,CAAC;gBAChE,UAAU,GAAG,YAAY,CACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,EACpC,YAAY,EACZ,KAAK,EACL,kBAAkB,EAClB,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,IAAI,KAAK,CAC1D,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;gBAClC,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,GACxC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;oBACvD,GAAG,cAAc;oBACjB,KAAK,EAAE,UAAU;iBAClB,CAAC,CAAC;gBACL,4BAA4B,GAAG,SAAS,CAAC;YAC3C,CAAC;YAED,cAAc,GAAG,UAAU,CAAC;YAC5B,MAAM,MAAM,GAA0B;gBACpC,GAAG,4BAA4B;gBAC/B,8DAA8D;gBAC9D,qBAAqB;gBACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW;aACZ,CAAC;YAEF,yFAAyF;YACzF,kGAAkG;YAClG,gGAAgG;YAChG,iDAAiD;YACjD,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IACE,cAAc,CAAC,OAAO;gBACtB,cAAc,CAAC,eAAe,YAAY,kBAAkB,EAC5D,CAAC;gBACD,MAAM,SAAS,GAAG,cAAc,CAAC,eAAe,CAAC;gBACjD,IAAI,SAAS,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;oBAChD,YAAY,GAAG,2BAA2B,CAAC;gBAC7C,CAAC;qBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBACjD,YAAY,GAAG,8BAA8B,CAAC;gBAChD,CAAC;YACH,CAAC;YAED,IAAI,aAAa,GACf,sBAAsB,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,UAAU,CAAC;gBAC9D,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC;gBAC9B,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;YAE3B,IAAI,YAAY,EAAE,CAAC;gBACjB,aAAa,GAAG,eAAe,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAC/D,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACvD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,iBAAiB,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC;oBAC9D,KAAK,EAAE,UAAU;oBACjB,MAAM;oBACN,QAAQ,EAAE,aAAa;iBACxB,CAAC,CAAC;gBAEH,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;oBAC9B,MAAM,IAAI,0BAA0B,CAClC,iBAAiB,CAAC,MAAM,IAAI,iCAAiC,CAC9D,CAAC;gBACJ,CAAC;gBAED,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;oBAC9B,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;oBAE9D,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;wBAC5D,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;4BAC5B,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC;wBAC7C,CAAC;oBACH,CAAC;oBAED,MAAM,IAAI,0BAA0B,CAClC,iBAAiB,CAAC,MAAM,IAAI,4BAA4B,EACxD,iBAAiB,CAClB,CAAC;gBACJ,CAAC;gBAED,IAAI,iBAAiB,CAAC,aAAa,EAAE,CAAC;oBACpC,UAAU,GAAG,YAAY,CACvB,iBAAiB,CAAC,aAAa,EAC/B,YAAY,EACZ,KAAK,EACL,kBAAkB,EAClB,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,IAAI,KAAK,CAC1D,CAAC;oBACF,cAAc,GAAG,UAAU,CAAC;oBAC5B,qEAAqE;oBACrE,aAAa;wBACX,sBAAsB,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,UAAU,CAAC;4BAC9D,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC;4BAC9B,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;oBAC3B,IAAI,YAAY,EAAE,CAAC;wBACjB,aAAa,GAAG,eAAe,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;oBAC/D,CAAC;gBACH,CAAC;gBACD,IAAI,iBAAiB,CAAC,cAAc,EAAE,CAAC;oBACrC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBAC1D,CAAC;gBACD,IACE,iBAAiB,CAAC,gBAAgB;oBAClC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EACjD,CAAC;oBACD,uEAAuE;oBACvE,aAAa,GAAG,iBAAiB,CAAC,gBAA6B,CAAC;oBAChE,IAAI,YAAY,EAAE,CAAC;wBACjB,aAAa,GAAG,eAAe,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;oBAC/D,CAAC;gBACH,CAAC;gBAED,MAAM,mBAAmB,GACvB,MAAM,UAAU,CAAC,4BAA4B,CAAC;oBAC5C,KAAK,EAAE,UAAU;oBACjB,MAAM;oBACN,QAAQ,EAAE,aAAa;iBACxB,CAAC,CAAC;gBAEL,IAAI,mBAAmB,CAAC,UAAU,EAAE,CAAC;oBACnC,MAAM,CAAC,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC;gBACrD,CAAC;gBACD,IACE,mBAAmB,CAAC,KAAK;oBACzB,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,EACxC,CAAC;oBACD,uEAAuE;oBACvE,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC,KAAe,CAAC;gBACrD,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACrD,CAAC;YAED,sDAAsD;YACtD,cAAc,GAAG,UAAU,CAAC;YAC5B,UAAU,GAAG,MAAM,CAAC;YACpB,iBAAiB,GAAG,aAAa,CAAC;YAElC,MAAM,aAAa,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;YAE7D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,qBAAqB,CACpE;gBACE,KAAK,EAAE,UAAU;gBACjB,QAAQ,EAAE,aAAa;gBACvB,MAAM;aACP,EACD,SAAS,EACT,IAAI,CACL,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,uBAAuB,GAAG,KAAK,EACnC,QAAiB,EACjB,KAAe,EACf,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE1E,MAAM,4BAA4B,GAAG,KAAK,EACxC,eAAwC,EACxC,EAAE;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAC3D,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;gBAClC,gEAAgE;gBAChE,MAAM,eAAe,CAAC;YACxB,CAAC;YACD,OAAO,OAAO,CACZ,eAAe,CAAC,cAAc,EAC9B,eAAe,CAAC,qBAAqB,EACrC,eAAe,CAAC,YAAY,CAC7B,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE;YACrD,eAAe,EAAE,uBAAuB;YACxC,oBAAoB,EAAE,4BAA4B;YAClD,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAE,QAAQ;YACnE,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE;YAC3D,MAAM,EAAE,WAAW;YACnB,WAAW,EACT,uBAAuB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;YACjE,sBAAsB;YACtB,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACnC,UAAU,CAAC,gBAAgB,CAAC;oBAC1B,OAAO;oBACP,WAAW,EACT,uBAAuB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;oBACjE,OAAO;oBACP,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,KAAK,EAAE,cAAc;iBACtB,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEH,kDAAkD;QAClD,MAAM,eAAe,GAA8B;YACjD,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,iBAAiB;SAC5B,CAAC;QAEF,OAAO,IAAI,CAAC,qBAAqB,CAC/B,cAAc,EACd,cAAc,EACd,eAAe,EACf,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,UAAU,CAAC,UAAmB,KAAK;QACjC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,UAAmB,KAAK;QACtC,MAAM,OAAO,GAAG,OAAO;YACrB,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YAChD,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,EAAE,CAAC;YACrD,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7C,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO,wBAAwB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAA8B;QACvC,IAAI,IAAI,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CACzD,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAC3C,OAAO,CAAC,KAAK,IAAI,EAAE,CACpB,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,uEAAuE;QACvE,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAmB,CAAC,CAAC;IAChE,CAAC;IAED,UAAU,CAAC,OAA6C;QACtD,MAAM,cAAc,GAAkB,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzD,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CACzD,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EACxC,IAAI,CAAC,KAAK,IAAI,EAAE,CACjB,CAAC;YACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,mBAAmB,CAAC,cAAc,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACtC,IAAI,CAAC,oBAAoB,GAAG,sBAAsB,CAChD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CACxD,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CACjD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CACxB,CAAC;IACJ,CAAC;IAED,wBAAwB;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChD,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC/C,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;wBACnE,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;wBAC5B,OAAQ,OAAyC,CAAC,gBAAgB,CAAC;wBACnE,OAAO,OAAO,CAAC;oBACjB,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,0EAA0E;IAC1E,uEAAuE;IACvE,kEAAkE;IAClE,oCAAoC,CAClC,eAAmC;QAEnC,yEAAyE;QACzE,yEAAyE;QACzE,4EAA4E;QAC5E,0EAA0E;QAC1E,4EAA4E;QAC5E,+CAA+C;QAC/C,IAAI,oBAAoB,GAAG,CAAC,CAAC,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACnC,IACE,OAAO,CAAC,IAAI,KAAK,MAAM;gBACvB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EACrD,CAAC;gBACD,oBAAoB,GAAG,CAAC,CAAC;gBACzB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,oBAAoB,KAAK,CAAC,CAAC,EAAE,CAAC;YAChC,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,4EAA4E;QAC5E,4DAA4D;QAC5D,yEAAyE;QACzE,yDAAyD;QACzD,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,yBAAyB;QACtE,KAAK,IAAI,CAAC,GAAG,oBAAoB,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACzB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;4BAC3B,QAAQ,CAAC,CAAC,CAAC,GAAG;gCACZ,GAAG,IAAI;gCACP,gBAAgB,EAAE,2BAA2B;6BAC9C,CAAC;4BACF,WAAW,CAAC,CAAC,CAAC,GAAG;gCACf,GAAG,OAAO;gCACV,KAAK,EAAE,QAAQ;6BAChB,CAAC;wBACJ,CAAC;wBACD,MAAM,CAAC,wCAAwC;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,KAAsB;QACzD,qEAAqE;QACrE,wEAAwE;QACxE,IACE,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC;YACjC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,EACrC,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YACtD,MAAM,iBAAiB,GAAa,EAAE,CAAC;YACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IACE,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB;oBAC/B,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBACrD,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EACpE,CAAC;oBACD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YACD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,YAAY,GAChB,4IAA4I;oBAC5I,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC/B,IAAI,CAAC;gBACP,KAAK,CAAC,OAAO,IAAI,YAAY,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,CAAC,qBAAqB,CAClC,KAAa,EACb,cAAuD,EACvD,eAA0C,EAC1C,6BAAsC,KAAK;QAE3C,MAAM,kBAAkB,GAAW,EAAE,CAAC;QAEtC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,YAAsC,CAAC;QAE3C,8EAA8E;QAC9E,MAAM,gBAAgB,GACpB,EAAE,CAAC;QACL,IAAI,qBAAqB,GAET,SAAS,CAAC;QAE1B,+EAA+E;QAC/E,8EAA8E;QAC9E,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC9D,MAAM,mBAAmB,GAAmB,EAAE,CAAC;QAE/C,uEAAuE;QACvE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAChD,IAAI,0BAA0B,GAAG,CAAC,CAAC;QAEnC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACzC,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;YAC5D,MAAM,mBAAmB,GAAG,KAAK,EAAE,UAAU,EAAE,IAAI,CACjD,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CACtC,CAAC;YACF,IAAI,mBAAmB,EAAE,CAAC;gBACxB,uEAAuE;gBACvE,YAAY,GAAG,mBAAmB,CAAC,YAA4B,CAAC;YAClE,CAAC;YAED,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,EAAE,CAAC;oBACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACpD,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;wBACtC,MAAM,WAAW,GAAG,wBAAwB,GAAG,CAAC,CAAC;wBACjD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;4BACf,IAAI,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;4BACxC,IAAI,CAAC,EAAE,EAAE,CAAC;gCACR,EAAE,GAAG,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gCAC1E,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;4BACrC,CAAC;4BACD,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;wBACjB,CAAC;wBACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,cAAc,CAAC;wBACnD,IAAI,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;4BACpD,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC;wBACtC,CAAC;wBACD,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBAC/C,CAAC;oBACD,0BAA0B,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;gBAC3D,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;wBACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,cAAc,CAAC;wBACnD,IAAI,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;4BACpD,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC;wBACtC,CAAC;oBACH,CAAC;oBACD,mBAAmB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YACD,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;gBAC/C,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;oBACnB,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC/C,kBAAkB;wBAClB,WAAW,GAAG,IAAI,CAAC;wBACnB,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;wBACxD,IAAI,OAAO,EAAE,CAAC;4BACZ,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACjC,CAAC;oBACH,CAAC;oBACD,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;wBACpD,WAAW,GAAG,IAAI,CAAC;oBACrB,CAAC;oBAED,IAAI,wBAAwB,GAAG,CAAC,CAAC;oBACjC,kBAAkB,CAAC,IAAI,CACrB,GAAG,OAAO,CAAC,KAAK;yBACb,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;yBAC/B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBACZ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,EAAE,CAAC;4BACtD,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,IAAI,SAA6B,CAAC;wBAClC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;4BACtB,SAAS;gCACP,wBAAwB,GAAG,wBAAwB,EAAE,CAAC;wBAC1D,CAAC;wBACD,OAAO;4BACL,GAAG,IAAI;4BACP,SAAS;yBACV,CAAC;oBACJ,CAAC,CAAC,CACL,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,qDAAqD;YACrD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxB,qBAAqB,GAAG,KAAK,CAAC,aAAa,CAAC;YAC9C,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACvD,IAAI,eAAe,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,mBAAmB,CACrD,eAAe,EACf,KAAK,CACN,CAAC;gBAEF,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvB,MAAM,IAAI,0BAA0B,CAClC,UAAU,CAAC,MAAM,IAAI,iCAAiC,CACvD,CAAC;gBACJ,CAAC;gBAED,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvB,MAAM,IAAI,0BAA0B,CAClC,UAAU,CAAC,MAAM,IAAI,iCAAiC,EACtD,UAAU,CAAC,QAAQ,CACpB,CAAC;gBACJ,CAAC;gBAED,MAAM,UAAU,CAAC,QAAQ,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,MAAM,iBAAiB,GAAW,EAAE,CAAC;QACrC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE;YACzE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;YAC5C,CAAC,CAAC,mBAAmB,CAAC;QAExB,IAAI,sBAAsB,GAAG,CAAC,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,EAAE,CAAC;YACrD,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;gBACtC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,MAAM,SAAS,GACb,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,sBAAsB,CAAC;oBAEhE,IAAI,SAAS,EAAE,CAAC;wBACd,sBAAsB,GAAG,SAAS,CAAC;wBACnC,iBAAiB,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,mBAAmB;oBAC1D,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACjE,IACE,QAAQ,EAAE,IAAI;wBACd,yBAAyB,CAAC,QAAQ,CAAC;wBACnC,yBAAyB,CAAC,IAAI,CAAC,EAC/B,CAAC;wBACD,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;oBAC7B,CAAC;yBAAM,CAAC;wBACN,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,6EAA6E;YAC7E,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;oBACrC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;wBAC/D,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;wBAClD,SAAS,EAAE,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iEAAiE;YACjE,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACjE,IACE,QAAQ,EAAE,IAAI;oBACd,yBAAyB,CAAC,QAAQ,CAAC;oBACnC,yBAAyB,CAAC,IAAI,CAAC,EAC/B,CAAC;oBACD,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAG,iBAAiB;aACtC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aAC3B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,wGAAwG;QACxG,IAAI,YAAY,GAAG,eAAe,CAAC,OAAO,CACxC,oCAAoC,EACpC,EAAE,CACH,CAAC;QACF,IAAI,QAAgB,CAAC;QACrB,GAAG,CAAC;YACF,QAAQ,GAAG,YAAY,CAAC;YACxB,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAC9D,CAAC,QAAQ,YAAY,KAAK,QAAQ,EAAE;QACpC,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;QAEnC,iEAAiE;QACjE,4BAA4B;QAC5B,sEAAsE;QACtE,EAAE;QACF,wDAAwD;QACxD,yBAAyB;QACzB,6CAA6C;QAC7C,qEAAqE;QACrE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBAChC,MAAM,IAAI,kBAAkB,CAC1B,6CAA6C,EAC7C,kBAAkB,CACnB,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,YAAY,KAAK,YAAY,CAAC,uBAAuB,EAAE,CAAC;gBAC1D,MAAM,IAAI,kBAAkB,CAC1B,kDAAkD,EAClD,yBAAyB,CAC1B,CAAC;YACJ,CAAC;YACD,IAAI,YAAY,KAAK,YAAY,CAAC,oBAAoB,EAAE,CAAC;gBACvD,MAAM,IAAI,kBAAkB,CAC1B,+CAA+C,EAC/C,sBAAsB,CACvB,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,IAAI,YAAY,KAAK,YAAY,CAAC,UAAU,EAAE,CAAC;oBAC7C,MAAM,IAAI,kBAAkB,CAC1B,yFAAyF,EACzF,qBAAqB,CACtB,CAAC;gBACJ,CAAC;gBACD,IAAI,YAAY,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;oBACzC,MAAM,IAAI,kBAAkB,CAC1B,8EAA8E,EAC9E,gBAAgB,CACjB,CAAC;gBACJ,CAAC;gBACD,IAAI,YAAY,KAAK,YAAY,CAAC,UAAU,EAAE,CAAC;oBAC7C,MAAM,IAAI,kBAAkB,CAC1B,sFAAsF,EACtF,oBAAoB,CACrB,CAAC;gBACJ,CAAC;gBACD,IAAI,YAAY,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;oBACxC,MAAM,IAAI,kBAAkB,CAC1B,4EAA4E,EAC5E,eAAe,CAChB,CAAC;gBACJ,CAAC;gBACD,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,IAAI,kBAAkB,CAC1B,+EAA+E,EAC/E,wBAAwB,CACzB,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBAChC,MAAM,IAAI,kBAAkB,CAC1B,8CAA8C,EAC9C,kBAAkB,CACnB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACvC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,6EAA6E;QAC7E,IAAI,qBAAqB,EAAE,CAAC;YAC1B,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;YACrE,IAAI,qBAAqB,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACzD,IAAI,CAAC,oBAAoB,GAAG,qBAAqB,CAAC,gBAAgB,CAAC;YACrE,CAAC;QACH,CAAC;QAED,uDAAuD;QACvD,wEAAwE;QACxE,mEAAmE;QACnE,IAAI,EAAU,CAAC;QACf,IAAI,YAAY,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;YAC/C,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;gBAC3C,KAAK;gBACL,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,2EAA2E;YAC3E,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CACnD,QAAQ,EACR,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,EAAE;YACF,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE;SACrD,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,wBAAwB,CACtB,KAAa,EACb,SAA8B;QAE9B,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC;YACtD,MAAM,aAAa,GACjB,OAAO,gBAAgB,KAAK,QAAQ;gBACpC,CAAC,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,IAAI,CAAC;gBACjE,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,SAAS,CAAC;YAEhB,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBACvB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;gBAC3D,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;gBAC3D,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,IAAI,IAAI;gBAC5C,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EACL,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,KAAK,QAAQ;oBAClD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC/B,CAAC,CAAC,SAAS;gBACf,aAAa;gBACb,WAAW,EACT,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS;aACvE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACK,yBAAyB,CAC/B,OAAgB;QAEhB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACrB,kEAAkE;YAClE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC;YACjC,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,oBAAoB;gBAClC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAChC,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAEjE,OAAO;gBACL,OAAO;gBACP,WAAW;aACZ,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,0BAA0B;AAC1B,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACrD,OAAO,YAAY,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,YAAoB;IACzD,OAAO,YAAY,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAmB;IACzD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;aAChC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;gBAChC,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,cAAc,CAAC;gBAC/C,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;oBAC3C,OAAO,CAAC,YAAY,GAAG;wBACrB,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;qBACrC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;gBACpC,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,cAAc,CAAC;gBAC/C,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;oBAC3C,OAAO,CAAC,gBAAgB,GAAG;wBACzB,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;wBACrB,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;qBACrC,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,4FAA4F;YAC5F,oFAAoF;YACpF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC5C,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,KAAK,MAAM;gBACd,GAAG,KAAK,SAAS;gBACjB,GAAG,KAAK,WAAW;gBAClB,OAAmC,CAAC,GAAG,CAAC,KAAK,SAAS,CAC1D,CAAC;YACF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,IAAI,YAAY,EAAE,CAAC;gBACtE,OAAO,OAAO,CAAC,IAAI,CAAC;YACtB,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACf,sEAAsE;YACtE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CACzC,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,KAAK,MAAM;gBACd,GAAG,KAAK,SAAS;gBACjB,GAAG,KAAK,WAAW;gBAClB,IAAgC,CAAC,GAAG,CAAC,KAAK,SAAS,CACvD,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjE,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEL,OAAO;YACL,GAAG,OAAO;YACV,KAAK;SACN,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAsB;IAEtB,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC1D,MAAM,CAAC,OAAO,CAAC,GAAG;gBAChB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,OAAO,EAAE;oBACP,GAAG,IAAI,CAAC,OAAO;oBACf,KAAK,EAAE,QAAQ;wBACb,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;wBAChE,CAAC,CAAC,SAAS;iBACd;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAsB;IAClD,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAE7B,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE1E,uEAAuE;QACvE,mEAAmE;QACnE,sEAAsE;QACtE,iEAAiE;QACjE,iEAAiE;QACjE,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,MAAM,UAAU,GACd,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;YAC3B,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxB,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;oBACxC,gBAAgB,GAAG,IAAI,CAAC;oBACxB,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;wBACxB,OAAO;4BACL,GAAG,CAAC;4BACJ,gBAAgB,EAAE,2BAA2B;yBAC9C,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;YACJ,CAAC,CAAC,eAAe,CAAC;QAEtB,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,OAAO;gBACf,KAAK,EAAE,UAAU;aAClB;SACF,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5E,CAAC"}
|