@machina.ai/cell-cli 1.59.0-rc2 → 1.64.0-rc1
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/index.js +11 -14
- package/dist/index.js.map +1 -1
- package/dist/package.json +3 -3
- package/dist/src/acp/acpResume.test.js +50 -0
- package/dist/src/acp/acpResume.test.js.map +1 -1
- package/dist/src/acp/acpRpcDispatcher.d.ts +1 -1
- package/dist/src/acp/acpRpcDispatcher.js +2 -2
- package/dist/src/acp/acpRpcDispatcher.js.map +1 -1
- package/dist/src/acp/acpRpcDispatcher.test.js +9 -0
- package/dist/src/acp/acpRpcDispatcher.test.js.map +1 -1
- package/dist/src/acp/acpSession.d.ts +1 -1
- package/dist/src/acp/acpSession.js +90 -80
- package/dist/src/acp/acpSession.js.map +1 -1
- package/dist/src/acp/acpSession.test.js +279 -2
- package/dist/src/acp/acpSession.test.js.map +1 -1
- package/dist/src/acp/acpSessionManager.d.ts +2 -2
- package/dist/src/acp/acpSessionManager.js +165 -73
- package/dist/src/acp/acpSessionManager.js.map +1 -1
- package/dist/src/acp/acpSessionManager.test.js +204 -1
- package/dist/src/acp/acpSessionManager.test.js.map +1 -1
- package/dist/src/acp/acpUtils.js +5 -3
- package/dist/src/acp/acpUtils.js.map +1 -1
- package/dist/src/commands/extensions/validate.js +7 -3
- package/dist/src/commands/extensions/validate.js.map +1 -1
- package/dist/src/commands/extensions/validate.test.js +51 -0
- package/dist/src/commands/extensions/validate.test.js.map +1 -1
- package/dist/src/config/config.js +3 -0
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +6 -1
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/extension-manager.d.ts +25 -0
- package/dist/src/config/extension-manager.js +96 -15
- package/dist/src/config/extension-manager.js.map +1 -1
- package/dist/src/config/extension-manager.test.js +263 -1
- package/dist/src/config/extension-manager.test.js.map +1 -1
- package/dist/src/config/extension.test.js +10 -7
- package/dist/src/config/extension.test.js.map +1 -1
- package/dist/src/config/extensionRegistryClient.js +1 -1
- package/dist/src/config/extensionRegistryClient.js.map +1 -1
- package/dist/src/config/extensions/consent.js +98 -1
- package/dist/src/config/extensions/consent.js.map +1 -1
- package/dist/src/config/extensions/consent.test.js +89 -0
- package/dist/src/config/extensions/consent.test.js.map +1 -1
- package/dist/src/config/extensions/update.js +7 -2
- package/dist/src/config/extensions/update.js.map +1 -1
- package/dist/src/config/extensions/update.test.js +21 -0
- package/dist/src/config/extensions/update.test.js.map +1 -1
- package/dist/src/config/mcp/mcpServerEnablement.d.ts +5 -0
- package/dist/src/config/mcp/mcpServerEnablement.js +26 -3
- package/dist/src/config/mcp/mcpServerEnablement.js.map +1 -1
- package/dist/src/config/mcp/mcpServerEnablement.test.js +27 -0
- package/dist/src/config/mcp/mcpServerEnablement.test.js.map +1 -1
- package/dist/src/config/settings.js +20 -4
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settings.test.js +121 -0
- package/dist/src/config/settings.test.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +27 -0
- package/dist/src/config/settingsSchema.js +55 -1
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/core/auth.test.js +1 -1
- package/dist/src/core/auth.test.js.map +1 -1
- package/dist/src/gemini.js +110 -18
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini_uncaught.test.d.ts +6 -0
- package/dist/src/gemini_uncaught.test.js +91 -0
- package/dist/src/gemini_uncaught.test.js.map +1 -0
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/patches/http-proxy-agent.d.ts +4 -1
- package/dist/src/patches/http-proxy-agent.js +38 -2
- package/dist/src/patches/http-proxy-agent.js.map +1 -1
- package/dist/src/patches/https-proxy-agent.d.ts +4 -1
- package/dist/src/patches/https-proxy-agent.js +38 -2
- package/dist/src/patches/https-proxy-agent.js.map +1 -1
- package/dist/src/services/FeedbackService.integration.test.d.ts +6 -0
- package/dist/src/services/FeedbackService.integration.test.js +212 -0
- package/dist/src/services/FeedbackService.integration.test.js.map +1 -0
- package/dist/src/services/FeedbackService.js +62 -6
- package/dist/src/services/FeedbackService.js.map +1 -1
- package/dist/src/services/FeedbackService.test.d.ts +6 -0
- package/dist/src/services/FeedbackService.test.js +282 -0
- package/dist/src/services/FeedbackService.test.js.map +1 -0
- package/dist/src/services/FileCommandLoader.js +3 -5
- package/dist/src/services/FileCommandLoader.js.map +1 -1
- package/dist/src/services/FileCommandLoader.test.js +68 -6
- package/dist/src/services/FileCommandLoader.test.js.map +1 -1
- package/dist/src/test-utils/createExtension.d.ts +1 -1
- package/dist/src/test-utils/createExtension.js +15 -1
- package/dist/src/test-utils/createExtension.js.map +1 -1
- package/dist/src/ui/AppContainer.js +42 -39
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/AppContainer.test.js +30 -0
- package/dist/src/ui/AppContainer.test.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.js +11 -3
- package/dist/src/ui/auth/AuthDialog.js.map +1 -1
- package/dist/src/ui/auth/useAuth.test.js +1 -1
- package/dist/src/ui/auth/useAuth.test.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.js +3 -3
- package/dist/src/ui/commands/bugCommand.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.test.js +44 -0
- package/dist/src/ui/commands/bugCommand.test.js.map +1 -1
- package/dist/src/ui/commands/bugMemoryCommand.js +2 -2
- package/dist/src/ui/commands/bugMemoryCommand.js.map +1 -1
- package/dist/src/ui/commands/bugMemoryCommand.test.js +12 -0
- package/dist/src/ui/commands/bugMemoryCommand.test.js.map +1 -1
- package/dist/src/ui/commands/statsCommand.js +17 -2
- package/dist/src/ui/commands/statsCommand.js.map +1 -1
- package/dist/src/ui/commands/statsCommand.test.js +2 -0
- package/dist/src/ui/commands/statsCommand.test.js.map +1 -1
- package/dist/src/ui/components/AboutBox.js +1 -1
- package/dist/src/ui/components/AboutBox.js.map +1 -1
- package/dist/src/ui/components/AsciiArt.d.ts +6 -6
- package/dist/src/ui/components/AsciiArt.js +6 -6
- package/dist/src/ui/components/AskUserDialog.js +7 -2
- package/dist/src/ui/components/AskUserDialog.js.map +1 -1
- package/dist/src/ui/components/AskUserDialog.test.js +33 -0
- package/dist/src/ui/components/AskUserDialog.test.js.map +1 -1
- package/dist/src/ui/components/Composer.js +4 -4
- package/dist/src/ui/components/Composer.js.map +1 -1
- package/dist/src/ui/components/Composer.test.js +50 -2
- package/dist/src/ui/components/Composer.test.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.js +16 -10
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.test.js +103 -7
- package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.d.ts +1 -0
- package/dist/src/ui/components/LoadingIndicator.js +13 -11
- package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.test.js +29 -0
- package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/components/MainContent.js +79 -14
- package/dist/src/ui/components/MainContent.js.map +1 -1
- package/dist/src/ui/components/MainContent.test.js +218 -5
- package/dist/src/ui/components/MainContent.test.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.js +11 -13
- package/dist/src/ui/components/ModelDialog.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.test.js +28 -24
- package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.test.js +2 -2
- package/dist/src/ui/components/ProgressBar.js +4 -3
- package/dist/src/ui/components/ProgressBar.js.map +1 -1
- package/dist/src/ui/components/ProgressBar.test.js +12 -0
- package/dist/src/ui/components/ProgressBar.test.js.map +1 -1
- package/dist/src/ui/components/RewindViewer.js +2 -1
- package/dist/src/ui/components/RewindViewer.js.map +1 -1
- package/dist/src/ui/components/RewindViewer.test.js +38 -0
- package/dist/src/ui/components/RewindViewer.test.js.map +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.js +28 -2
- package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.test.js +41 -2
- package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.d.ts +2 -1
- package/dist/src/ui/components/StatsDisplay.js +66 -4
- package/dist/src/ui/components/StatsDisplay.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.test.js +120 -3
- package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/StatusRow.d.ts +2 -0
- package/dist/src/ui/components/StatusRow.js +11 -6
- package/dist/src/ui/components/StatusRow.js.map +1 -1
- package/dist/src/ui/components/StatusRow.test.js +158 -0
- package/dist/src/ui/components/StatusRow.test.js.map +1 -1
- package/dist/src/ui/components/ToolConfirmationQueue.js +4 -2
- package/dist/src/ui/components/ToolConfirmationQueue.js.map +1 -1
- package/dist/src/ui/components/ToolConfirmationQueue.test.js +30 -0
- package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +1 -1
- package/dist/src/ui/components/messages/DenseToolMessage.js +5 -5
- package/dist/src/ui/components/messages/DenseToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/DenseToolMessage.test.js +13 -0
- package/dist/src/ui/components/messages/DenseToolMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.d.ts +1 -0
- package/dist/src/ui/components/messages/DiffRenderer.js +16 -8
- package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.test.js +42 -0
- package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -1
- package/dist/src/ui/components/messages/ShellToolMessage.js +4 -3
- package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +74 -16
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +80 -7
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.js +6 -5
- package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessage.js +2 -1
- package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolResultDisplay.js +11 -8
- package/dist/src/ui/components/messages/ToolResultDisplay.js.map +1 -1
- package/dist/src/ui/components/messages/ToolShared.js +5 -4
- package/dist/src/ui/components/messages/ToolShared.js.map +1 -1
- package/dist/src/ui/components/shared/HalfLinePaddedBox.js +4 -2
- package/dist/src/ui/components/shared/HalfLinePaddedBox.js.map +1 -1
- package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js +8 -0
- package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js.map +1 -1
- package/dist/src/ui/components/shared/SearchableList.js +1 -1
- package/dist/src/ui/components/shared/SearchableList.js.map +1 -1
- package/dist/src/ui/components/shared/SearchableList.test.js +13 -0
- package/dist/src/ui/components/shared/SearchableList.test.js.map +1 -1
- package/dist/src/ui/components/shared/TextInput.js +2 -2
- package/dist/src/ui/components/shared/TextInput.js.map +1 -1
- package/dist/src/ui/components/views/ExtensionRegistryView.test.js +2 -0
- package/dist/src/ui/components/views/ExtensionRegistryView.test.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.js +20 -2
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.test.js +24 -0
- package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
- package/dist/src/ui/contexts/SessionContext.js +12 -0
- package/dist/src/ui/contexts/SessionContext.js.map +1 -1
- package/dist/src/ui/contexts/SessionContext.test.js +5 -0
- package/dist/src/ui/contexts/SessionContext.test.js.map +1 -1
- package/dist/src/ui/contexts/UIStateContext.d.ts +1 -0
- package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
- package/dist/src/ui/emergency-stop.test.d.ts +6 -0
- package/dist/src/ui/emergency-stop.test.js +116 -0
- package/dist/src/ui/emergency-stop.test.js.map +1 -0
- package/dist/src/ui/hooks/atCommandProcessor.d.ts +8 -5
- package/dist/src/ui/hooks/atCommandProcessor.js +47 -16
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.test.js +160 -0
- package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/useComposerStatus.d.ts +1 -0
- package/dist/src/ui/hooks/useComposerStatus.js +1 -0
- package/dist/src/ui/hooks/useComposerStatus.js.map +1 -1
- package/dist/src/ui/hooks/useFocus.js +1 -0
- package/dist/src/ui/hooks/useFocus.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.js +16 -16
- package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.test.js +186 -3
- package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +21 -15
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.test.js +141 -3
- package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.d.ts +1 -0
- package/dist/src/ui/hooks/useLoadingIndicator.js +1 -0
- package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.test.js +2 -0
- package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/useQuotaAndFallback.js +2 -2
- package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -1
- package/dist/src/ui/hooks/useQuotaAndFallback.test.js +3 -3
- package/dist/src/ui/hooks/useSelectionList.js +24 -1
- package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
- package/dist/src/ui/hooks/useSelectionList.test.js +63 -1
- package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
- package/dist/src/ui/types.d.ts +2 -1
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/CodeColorizer.d.ts +1 -0
- package/dist/src/ui/utils/CodeColorizer.js +13 -7
- package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
- package/dist/src/ui/utils/TableRenderer.js +3 -2
- package/dist/src/ui/utils/TableRenderer.js.map +1 -1
- package/dist/src/ui/utils/borderStyles.d.ts +1 -0
- package/dist/src/ui/utils/borderStyles.js +1 -0
- package/dist/src/ui/utils/borderStyles.js.map +1 -1
- package/dist/src/ui/utils/fileUtils.d.ts +4 -0
- package/dist/src/ui/utils/fileUtils.js +13 -0
- package/dist/src/ui/utils/fileUtils.js.map +1 -1
- package/dist/src/ui/utils/renderBorder.d.ts +27 -0
- package/dist/src/ui/utils/renderBorder.js +46 -0
- package/dist/src/ui/utils/renderBorder.js.map +1 -0
- package/dist/src/ui/utils/renderBorder.test.d.ts +6 -0
- package/dist/src/ui/utils/renderBorder.test.js +74 -0
- package/dist/src/ui/utils/renderBorder.test.js.map +1 -0
- package/dist/src/ui/utils/rewindFileOps.d.ts +9 -0
- package/dist/src/ui/utils/rewindFileOps.js +25 -1
- package/dist/src/ui/utils/rewindFileOps.js.map +1 -1
- package/dist/src/ui/utils/rewindFileOps.test.js +94 -1
- package/dist/src/ui/utils/rewindFileOps.test.js.map +1 -1
- package/dist/src/ui/utils/terminalCapabilityManager.js +7 -0
- package/dist/src/ui/utils/terminalCapabilityManager.js.map +1 -1
- package/dist/src/ui/utils/terminalCapabilityManager.stdin-flow.test.d.ts +6 -0
- package/dist/src/ui/utils/terminalCapabilityManager.stdin-flow.test.js +105 -0
- package/dist/src/ui/utils/terminalCapabilityManager.stdin-flow.test.js.map +1 -0
- package/dist/src/utils/commentJson.js +66 -5
- package/dist/src/utils/commentJson.js.map +1 -1
- package/dist/src/utils/commentJson.test.js +21 -0
- package/dist/src/utils/commentJson.test.js.map +1 -1
- package/dist/src/utils/handleAutoUpdate.test.js +2 -2
- package/dist/src/utils/persistentState.js +84 -15
- package/dist/src/utils/persistentState.js.map +1 -1
- package/dist/src/utils/persistentState.test.js +66 -9
- package/dist/src/utils/persistentState.test.js.map +1 -1
- package/dist/src/utils/persistentStateRecovery.test.d.ts +6 -0
- package/dist/src/utils/persistentStateRecovery.test.js +84 -0
- package/dist/src/utils/persistentStateRecovery.test.js.map +1 -0
- package/dist/src/utils/processUtils.d.ts +10 -1
- package/dist/src/utils/processUtils.js +55 -1
- package/dist/src/utils/processUtils.js.map +1 -1
- package/dist/src/utils/processUtils.test.js +90 -2
- package/dist/src/utils/processUtils.test.js.map +1 -1
- package/dist/src/utils/relaunch.js +7 -0
- package/dist/src/utils/relaunch.js.map +1 -1
- package/dist/src/utils/relaunch.test.js +16 -0
- package/dist/src/utils/relaunch.test.js.map +1 -1
- package/dist/src/utils/retry.d.ts +22 -0
- package/dist/src/utils/retry.js +54 -0
- package/dist/src/utils/retry.js.map +1 -0
- package/dist/src/utils/retry.test.d.ts +6 -0
- package/dist/src/utils/retry.test.js +141 -0
- package/dist/src/utils/retry.test.js.map +1 -0
- package/dist/src/utils/sandbox-macos-permissive-open.sb +36 -1
- package/dist/src/utils/sandbox-macos-permissive-proxied.sb +36 -1
- package/dist/src/utils/sandbox-macos-profiles.test.js +93 -0
- package/dist/src/utils/sandbox-macos-profiles.test.js.map +1 -1
- package/dist/src/utils/sandbox-macos-restrictive-open.sb +39 -1
- package/dist/src/utils/sandbox-macos-restrictive-proxied.sb +40 -1
- package/dist/src/utils/sandbox-macos-strict-open.sb +38 -2
- package/dist/src/utils/sandbox-macos-strict-proxied.sb +38 -2
- package/dist/src/utils/sandbox.js +149 -36
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/sandbox.test.js +410 -2
- package/dist/src/utils/sandbox.test.js.map +1 -1
- package/dist/src/utils/sandboxBuiltinProfiles.js +198 -8
- package/dist/src/utils/sandboxBuiltinProfiles.js.map +1 -1
- package/dist/src/utils/sandboxUtils.d.ts +25 -0
- package/dist/src/utils/sandboxUtils.js +225 -1
- package/dist/src/utils/sandboxUtils.js.map +1 -1
- package/dist/src/utils/sandboxUtils.test.js +341 -1
- package/dist/src/utils/sandboxUtils.test.js.map +1 -1
- package/dist/src/utils/sessionUtils.d.ts +21 -1
- package/dist/src/utils/sessionUtils.js +66 -2
- package/dist/src/utils/sessionUtils.js.map +1 -1
- package/dist/src/utils/sessionUtils.test.js +143 -0
- package/dist/src/utils/sessionUtils.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGeminiStream.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useGeminiStream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EACL,eAAe,IAAI,qBAAqB,EACxC,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,cAAc,EACd,0BAA0B,EAC1B,0BAA0B,EAC1B,aAAa,EACb,uBAAuB,EACvB,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,IAAI,EACJ,wBAAwB,EACxB,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,iCAAiC,EACjC,8BAA8B,EAC9B,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAgBjC,OAAO,EAAiC,YAAY,EAAE,MAAM,eAAe,CAAC;AAW5E,OAAO,EACL,cAAc,EACd,WAAW,EACX,4BAA4B,EAC5B,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,YAAY,IAAI,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EACL,gBAAgB,GAMjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAa/C,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE,CAC5C,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,yBAAyB,CAAC;AAExE,IAAK,sBAIJ;AAJD,WAAK,sBAAsB;IACzB,6EAAS,CAAA;IACT,qFAAa,CAAA;IACb,qEAAK,CAAA;AACP,CAAC,EAJI,sBAAsB,KAAtB,sBAAsB,QAI1B;AAED,MAAM,2BAA2B,GAC/B,2JAA2J,CAAC;AAC9J,MAAM,0BAA0B,GAC9B,yHAAyH,CAAC;AAE5H,SAAS,uBAAuB,CAC9B,QAA6D;IAE7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAiC,CAAC;IAC5D,MAAM,OAAO,GAAY,QAAQ,EAAE,IAAI,CAAC;IACxC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI;QACjD,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,iCAAiC,CACxC,QAAyB;IAEzB,OAAO,CACL,QAAQ,CAAC,MAAM,KAAK,kBAAkB,CAAC,SAAS;QAChD,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAwB;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC;IACjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAC9B,YAAqB,EACrB,SAA4B;IAE5B,IACE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,gBAAgB,CAAC,EACzE,CAAC;QACD,OAAO,cAAc,CAAC,sBAAsB,CAAC;IAC/C,CAAC;IAED,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QAC5C,4CAA4C;QAC5C,IACE,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,SAAS;YAC1C,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,SAAS;YAC1C,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,UAAU,EAC3C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,4EAA4E;QAC5E,0DAA0D;QAC1D,IACE,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,OAAO;YACxC,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,KAAK;YACtC,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,SAAS,EAC1C,CAAC;YACD,OAAO,CAAE,EAA0D;iBAChE,yBAAyB,CAAC;QAC/B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,IAAI,YAAY,IAAI,eAAe,EAAE,CAAC;QACpC,OAAO,cAAc,CAAC,UAAU,CAAC;IACnC,CAAC;IAED,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,YAA0B,EAC1B,OAAsB,EACtB,OAA2C,EAC3C,MAAc,EACd,QAAwB,EACxB,cAAyC,EACzC,kBAEiD,EACjD,eAAwB,EACxB,kBAAgD,EAChD,WAAoC,EACpC,qBAA0C,EAC1C,2BAAoC,EACpC,8BAA6E,EAC7E,cAGS,EACT,oBAA8C,EAC9C,aAAqB,EACrB,cAAsB,EACtB,cAAwB,EACxB,eAAqC,EACrC,EAAE;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAC5C,IAAI,CACL,CAAC;IACF,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,KAAK,MAAM,CAAC;IAC1E,MAAM,2BAA2B,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,+BAA+B,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,+BAA+B,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,kBAAkB,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,gBAAgB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACrD,MAAM,+BAA+B,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IAC9E,MAAM,uBAAuB,GAAG,MAAM,CACpC,MAAM,CAAC,eAAe,EAAE,CACzB,CAAC;IACF,MAAM,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,CAAC,GACpD,cAAc,CAAU,KAAK,CAAC,CAAC;IACjC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,GACrC,cAAc,CAAwB,IAAI,CAAC,CAAC;IAC9C,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,GACtE,cAAc,CAA8B,IAAI,CAAC,CAAC;IAEpD,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GACvD,QAAQ,CAAS,CAAC,CAAC,CAAC;IACtB,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,GACnE,cAAc,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,GACvE,cAAc,CAAU,IAAI,CAAC,CAAC;IAChC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,eAAe,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,kBAAkB,GAAG,CAAC,OAA4B,EAAE,EAAE;YAC1D,IAAI,gBAAgB,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;gBACzD,OAAO;YACT,CAAC;YACD,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC;QACF,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAC1D,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAC7D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,CACJ,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EACnB,GAAG,gBAAgB,CAClB,KAAK,EAAE,+BAA+B,EAAE,EAAE;QACxC,iFAAiF;QACjF,IAAI,+BAA+B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,8DAA8D;YAC9D,MAAM,WAAW,GAAG,+BAA+B,CAAC,MAAM,CACxD,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAC7D,CAAC;YACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,oBAAoB,GACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,KAAK,IAAI,CAAC;gBACjD,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACnD,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAE7D,IAAI,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC;gBAC9C,IAAI,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC;oBAC3B,4EAA4E;oBAC5E,oCAAoC;oBACpC,MAAM,gBAAgB,GAAG,aAAa,CACpC,4BAA4B,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACtD,oBAAoB,CACrB,CAAC;oBACF,MAAM,cAAc,GAAG,aAAa,CAClC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAC/C,oBAAoB,CACrB,CAAC;oBACF,IAAI,CAAC,gBAAgB,IAAI,cAAc,EAAE,CAAC;wBACxC,SAAS,GAAG,IAAI,CAAC;oBACnB,CAAC;gBACH,CAAC;gBAED,OAAO,CACL,4BAA4B,CAAC,WAAgC,EAAE;oBAC7D,SAAS;oBACT,YAAY,EAAE,IAAI;oBAClB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;oBACjC,cAAc,EAAE,KAAK;iBACtB,CAAC,CACH,CAAC;YACJ,CAAC;YAED,0EAA0E;YAC1E,sBAAsB,CAAC,EAAE,CAAC,CAAC;YAE3B,iEAAiE;YACjE,IAAI,CAAC;gBACH,MAAM,YAAY,GAChB,MAAM,CAAC,eAAe,EAAE,CAAC,uBAAuB,EAAE;oBAClD,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM;qBACH,eAAe,EAAE;qBACjB,OAAO,EAAE;qBACT,wBAAwB,CACvB,YAAY,EACZ,+BAA+B,CAChC,CAAC;gBAEJ,MAAM,0BAA0B,CAC9B,MAAM,EACN,+BAA+B,CAChC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW,CAAC,IAAI,CACd,oDAAoD,KAAK,EAAE,CAC5D,CAAC;YACJ,CAAC;YAED,kEAAkE;YAClE,MAAM,oBAAoB,CAAC,+BAA+B,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,EACD,MAAM,EACN,kBAAkB,CACnB,CAAC;IAEF,MAAM,2BAA2B,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/C,MAAM,2BAA2B,GAAG,SAAS,CAAC,IAAI,CAChD,iCAAiC,CAClC,CAAC;QACF,OAAO,2BAA2B,EAAE,GAAG,CAAC;IAC1C,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,IAAmB,EAAE,EAAE;QAC5B,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,IAAI,CAAC;QACX,eAAe,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,EACJ,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,GAChB,GAAG,qBAAqB,CACvB,OAAO,EACP,qBAAqB,EACrB,MAAM,EACN,cAAc,EACd,MAAM,EACN,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,2BAA2B,CAC5B,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CAAC,uBAAuB,CAAC,YAAY,EAAE,SAAS,CAAC,EACtD,CAAC,YAAY,EAAE,SAAS,CAAC,CAC1B,CAAC;IAEF,kDAAkD;IAClD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACxC,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CACpD,CAAC;YACF,IAAI,UAAU,EAAE,CAAC;gBACf,oBAAoB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;gBAChC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,IAAI,cAAc,KAAK,cAAc,CAAC,IAAI,EAAE,CAAC;YAClD,4CAA4C;YAC5C,oBAAoB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;YAChC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE;QACD,SAAS;QACT,oBAAoB;QACpB,oBAAoB;QACpB,qBAAqB;QACrB,cAAc;KACf,CAAC,CAAC;IAEH,iDAAiD;IACjD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAAsB,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,SAAS;YAElE,IACE,EAAE,CAAC,MAAM,KAAK,SAAS;gBACvB,EAAE,CAAC,MAAM,KAAK,OAAO;gBACrB,EAAE,CAAC,MAAM,KAAK,WAAW,EACzB,CAAC;gBACD,qFAAqF;gBACrF,sEAAsE;gBACtE,6EAA6E;gBAC7E,yEAAyE;gBACzE,8EAA8E;gBAC9E,kDAAkD;gBAClD,gEAAgE;gBAChE,wEAAwE;gBACxE,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC;gBAC7C,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,oBAAoB,GAAG,IAAI,CAAC;oBAChC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC5B,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;4BACrC,IACE,MAAM,CAAC,MAAM,KAAK,SAAS;gCAC3B,MAAM,CAAC,MAAM,KAAK,OAAO;gCACzB,MAAM,CAAC,MAAM,KAAK,WAAW,EAC7B,CAAC;gCACD,oBAAoB,GAAG,KAAK,CAAC;gCAC7B,MAAM;4BACR,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,oCAAoC;4BACpC,MAAM;wBACR,CAAC;oBACH,CAAC;oBAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;wBAC1B,2DAA2D;wBAC3D,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,oDAAoD;gBACpD,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,OAAO,CAAC;YACxD,MAAM,oBAAoB,GACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,KAAK,IAAI,CAAC;YAEjD,MAAM,MAAM,GAAwB,EAAE,CAAC;YACvC,IAAI,YAAY,GAAsB,EAAE,CAAC;YAEzC,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC7B,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAEjC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;oBACjC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBAC1B,YAAY,GAAG,EAAE,CAAC;oBACpB,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;YACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5B,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM,cAAc,GAAG,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC;gBACpD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC9C,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACxD,MAAM,aAAa,GAAG,cAAc,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBAE9D,MAAM,aAAa,GACjB,cAAc,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;oBACnC,CAAC,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;oBAC/B,CAAC,CAAC,IAAI,CAAC;gBACX,MAAM,aAAa,GACjB,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC7B,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC5C,CAAC,CAAC,IAAI,CAAC;gBAEX,MAAM,WAAW,GAAG,4BAA4B,CAAC,KAAK,EAAE;oBACtD,GAAG,4BAA4B,CAC7B,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,EACxC,gBAAgB,EAChB,CAAC,CAAC,cAAc,EAChB,EAAE,EACF,eAAe,CAChB;iBACF,CAAC,CAAC;gBAEH,qDAAqD;gBACrD,MAAM,gBAAgB,GACpB,WAAW,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBAC9B,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBAE5D,IAAI,aAAa,GAAG,KAAK,CAAC;gBAC1B,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,eAAe,GAAG,4BAA4B,CAAC,aAAa,CAAC,CAAC;oBACpE,aAAa;wBACX,eAAe,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;4BAClC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBAClE,CAAC;gBAED,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,eAAe,GAAG,4BAA4B,CAAC,aAAa,CAAC,CAAC;oBACpE,cAAc;wBACZ,eAAe,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;4BAClC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBAClE,CAAC;gBAED,WAAW,CAAC,SAAS;oBACnB,cAAc,IAAI,CAAC,CAAC,gBAAgB,IAAI,cAAc,CAAC,CAAC;gBAC1D,WAAW,CAAC,YAAY,GAAG,gBAAgB;oBACzC,CAAC,CAAC,aAAa,IAAI,CAAC,aAAa;oBACjC,CAAC,CAAC,aAAa,IAAI,aAAa,CAAC;gBAEnC,OAAO,CAAC,WAAW,CAAC,CAAC;YACvB,CAAC;YAED,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAEhC,0EAA0E;YAC1E,oFAAoF;YACpF,IACE,qBAAqB,CAAC,OAAO;gBAC7B,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EACvD,CAAC;gBACD,gBAAgB;YAClB,CAAC;iBAAM,CAAC;gBACN,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC,EAAE;QACD,SAAS;QACT,oBAAoB;QACpB,qBAAqB;QACrB,oBAAoB;QACpB,qBAAqB;QACrB,OAAO;QACP,gBAAgB;QAChB,cAAc;QACd,eAAe;QACf,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB;KACtC,CAAC,CAAC;IACH,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAA2B,EAAE;QACjE,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CACrC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAClD,CAAC;QAEF,MAAM,KAAK,GAA2B,EAAE,CAAC;QAEzC,MAAM,UAAU,GAAG,4BAA4B,CAC7C,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,EACxC,gBAAgB,EAChB,CAAC,CAAC,cAAc,EAChB,EAAE,EACF,eAAe,CAChB,CAAC;QAEF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,oEAAoE;YACpE,+EAA+E;YAC/E,IAAI,cAAc,GAAG,iBAAiB,CAAC,IAAI,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,mBAAmB,GAAG,SAAS;qBAClC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;qBACxD,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/C,IAAI,mBAAmB,EAAE,CAAC;oBACxB,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,KAAK,CAAC,IAAI,CACR,4BAA4B,CAAC,cAAc,EAAE;gBAC3C,SAAS,EAAE,cAAc;gBACzB,YAAY,EAAE,KAAK,EAAE,4CAA4C;gBACjE,GAAG,UAAU;aACd,CAAC,CACH,CAAC;QACJ,CAAC;QACD,sEAAsE;QACtE,kEAAkE;QAClE,4FAA4F;QAC5F,MAAM,WAAW,GACf,SAAS,CAAC,MAAM,GAAG,CAAC;YACpB,SAAS,CAAC,KAAK,CACb,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,MAAM,KAAK,SAAS;gBACvB,EAAE,CAAC,MAAM,KAAK,OAAO;gBACrB,EAAE,CAAC,MAAM,KAAK,WAAW,CAC5B,CAAC;QAEJ,MAAM,SAAS,GACb,SAAS,CAAC,MAAM,GAAG,CAAC;YACpB,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAEpE,MAAM,aAAa,GAAG,CAAC,EAAmB,EAAE,EAAE;YAC5C,mEAAmE;YACnE,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACzD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,sEAAsE;YACtE,6DAA6D;YAC7D,MAAM,aAAa,GAAG,4BAA4B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAC9D,IAAI,aAAa,KAAK,cAAc,CAAC,UAAU,EAAE,CAAC;gBAChD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,yEAAyE;YACzE,8DAA8D;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,KAAK,IAAI,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBACpC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC;oBACtD,CAAC,CAAC,KAAK,CAAC;gBACV,MAAM;YACR,CAAC;QACH,CAAC;QAED,IACE,SAAS,CAAC,MAAM,GAAG,CAAC;YACpB,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC;YAC3B,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;YAC7B,CAAC,oBAAoB,EACrB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,YAAqB;gBAC3B,KAAK,EAAE,EAAiC;gBACxC,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,IAAI;gBAClB,GAAG,UAAU;aACd,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,EAAE;QACD,SAAS;QACT,iBAAiB;QACjB,gBAAgB;QAChB,cAAc;QACd,eAAe;QACf,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB;KACtC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,MAAM,CAAuB,IAAI,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,wBAAwB,GAAG,MAAM,CAAS,CAAC,CAAC,CAAC;IACnD,MAAM,uBAAuB,GAAG,CAAC,CAAC;IAClC,MAAM,cAAc,GAAG,MAAM,CAO3B,IAAI,CAAC,CAAC;IACR,MAAM,CACJ,gCAAgC,EAChC,mCAAmC,EACpC,GAAG,QAAQ,CAEF,IAAI,CAAC,CAAC;IAEhB,MAAM,WAAW,GACf,gBAAgB,IAAI,2BAA2B,IAAI,SAAS,CAAC;IAE/D,MAAM,uBAAuB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAC5D,SAAS,CAAC,GAAG,EAAE;QACb,IACE,gBAAgB,CAAC,OAAO;YACxB,uBAAuB,CAAC,OAAO,KAAK,IAAI;YACxC,gBAAgB,KAAK,IAAI,EACzB,CAAC;YACD,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAChE,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,uBAAuB,CAAC,OAAO,GAAG,gBAAgB,CAAC;IACrD,CAAC,EAAE,CAAC,gBAAgB,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,IACE,MAAM,CAAC,eAAe,EAAE,KAAK,YAAY,CAAC,IAAI;YAC9C,cAAc,KAAK,cAAc,CAAC,IAAI,EACtC,CAAC;YACD,MAAM,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAChD,CAAC,IAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CACtD,CAAC;YAEF,MAAM,SAAS,GACb,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,oBAAoB,CAAC;YAE1E,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,4BAA4B,CAC1B,MAAM,EACN,IAAI,yBAAyB,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,SAAS,CAAC,CACnE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,+BAA+B,GAAG,WAAW,CACjD,CAAC,oBAA6B,EAAE,EAAE;QAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,2BAA2B,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,IAAI,+BAA+B,CAAC,OAAO,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,OAAO,CACL;YACE,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,2BAA2B;SAClC,EACD,oBAAoB,CACrB,CAAC;QACF,+BAA+B,CAAC,OAAO,GAAG,IAAI,CAAC;IACjD,CAAC,EACD,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAC/B,CAAC;IAEF,MAAM,+BAA+B,GAAG,WAAW,CACjD,CAAC,oBAA6B,EAAE,EAAE;QAChC,IAAI,CAAC,mBAAmB,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QACD,IACE,+BAA+B,CAAC,OAAO;YACvC,+BAA+B,CAAC,OAAO,EACvC,CAAC;YACD,OAAO;QACT,CAAC;QAED,OAAO,CACL;YACE,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,0BAA0B;SACjC,EACD,oBAAoB,CACrB,CAAC;QACF,+BAA+B,CAAC,OAAO,GAAG,IAAI,CAAC;IACjD,CAAC,EACD,CAAC,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,CACvC,CAAC;IAEF,MAAM,oBAAoB,GAAG,WAAW,CACtC,CAAC,cAAuB,IAAI,EAAE,EAAE;QAC9B,0CAA0C;QAC1C,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,WAAW,EAAE,CAAC;gBAChB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CACnC,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,SAAS;YAC1C,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,SAAS;YAC1C,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,UAAU,CAC9C,CAAC;QAEF,oFAAoF;QACpF,6BAA6B;QAC7B,IACE,cAAc,KAAK,cAAc,CAAC,IAAI;YACtC,CAAC,eAAe,CAAC,OAAO;YACxB,CAAC,cAAc,EACf,CAAC;YACD,0EAA0E;YAC1E,qCAAqC;YACrC,IAAI,WAAW,EAAE,CAAC;gBAChB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO;QACT,CAAC;QAED,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;QAChC,cAAc,CAAC,IAAI,CAAC,CAAC;QAErB,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,kBAAkB,GAAG,CAAC,SAAS,CAAC,IAAI,CACxC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,CAAC,MAAM,KAAK,OAAO,CACzD,CAAC;QAEF,wEAAwE;QACxE,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAChC,kBAAkB,CAAC,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QACrD,CAAC;QAED,+BAA+B;QAC/B,+DAA+D;QAC/D,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,qEAAqE;QACrE,kBAAkB,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAClC,kFAAkF;YAClF,0DAA0D;YAC1D,IACE,qBAAqB,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY;gBACnD,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CACrC,EACD,CAAC;gBACD,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC;gBAChD,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAChD,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;wBACrC,OAAO;4BACL,GAAG,IAAI;4BACP,MAAM,EAAE,kBAAkB,CAAC,SAAS;4BACpC,aAAa,EAAE,IAAI,CAAC,aAAa;yBAClC,CAAC;oBACJ,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,MAAM,YAAY,GAAyB;oBACzC,GAAG,SAAS;oBACZ,KAAK,EAAE,YAAY;iBACpB,CAAC;gBACF,OAAO,CAAC,YAAY,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAE5B,2DAA2D;QAC3D,mEAAmE;QACnE,iEAAiE;QACjE,IAAI,kBAAkB,EAAE,CAAC;YACvB,uEAAuE;YACvE,yCAAyC;YACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO,CAAC;oBACN,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,IAAI,EAAE,oBAAoB;iBAC3B,CAAC,CAAC;gBACH,eAAe,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACnC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,EACD;QACE,cAAc;QACd,OAAO;QACP,qBAAqB;QACrB,cAAc;QACd,qBAAqB;QACrB,eAAe;QACf,oBAAoB;QACpB,kBAAkB;QAClB,SAAS;QACT,gBAAgB;QAChB,eAAe;KAChB,CACF,CAAC;IAEF,WAAW,CACT,CAAC,GAAG,EAAE,EAAE;QACN,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7C,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EACD;QACE,QAAQ,EACN,cAAc,KAAK,cAAc,CAAC,UAAU;YAC5C,cAAc,KAAK,cAAc,CAAC,sBAAsB;KAC3D,CACF,CAAC;IAEF,MAAM,qBAAqB,GAAG,WAAW,CACvC,KAAK,EACH,KAAoB,EACpB,oBAA4B,EAC5B,WAAwB,EACxB,SAAiB,EAIhB,EAAE;QACH,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QACrD,CAAC;QAED,IAAI,wBAAwB,GAAyB,IAAI,CAAC;QAE1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,MAAM,EAAE,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAE/D,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,gCAAgC;gBAChC,MAAM,kBAAkB,GAAG,cAAc,CAAC,YAAY,CAAC;oBACrD,CAAC,CAAC,MAAM,kBAAkB,CAAC,YAAY,CAAC;oBACxC,CAAC,CAAC,KAAK,CAAC;gBAEV,IAAI,kBAAkB,EAAE,CAAC;oBACvB,QAAQ,kBAAkB,CAAC,IAAI,EAAE,CAAC;wBAChC,KAAK,eAAe,CAAC,CAAC,CAAC;4BACrB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAC5C,kBAAkB,CAAC;4BACrB,MAAM,eAAe,GAAwB;gCAC3C,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gCAC1E,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,QAAQ;gCACd,iBAAiB,EAAE,IAAI;gCACvB,SAAS;6BACV,CAAC;4BACF,MAAM,iBAAiB,CAAC,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;4BAExD,IAAI,gBAAgB,EAAE,CAAC;gCACrB,wBAAwB,GAAG,gBAAgB,CAAC;gCAC5C,OAAO;oCACL,WAAW,EAAE,wBAAwB;oCACrC,aAAa,EAAE,IAAI;iCACpB,CAAC;4BACJ,CAAC;4BAED,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;wBACrD,CAAC;wBACD,KAAK,eAAe,CAAC,CAAC,CAAC;4BACrB,wBAAwB,GAAG,kBAAkB,CAAC,OAAO,CAAC;4BAEtD,OAAO;gCACL,WAAW,EAAE,wBAAwB;gCACrC,aAAa,EAAE,IAAI;6BACpB,CAAC;wBACJ,CAAC;wBACD,KAAK,SAAS,CAAC,CAAC,CAAC;4BACf,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;wBACrD,CAAC;wBACD,OAAO,CAAC,CAAC,CAAC;4BACR,MAAM,WAAW,GAAU,kBAAkB,CAAC;4BAC9C,MAAM,IAAI,KAAK,CACb,wCAAwC,WAAW,EAAE,CACtD,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,eAAe,IAAI,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC;gBACrE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;YACrD,CAAC;YAED,qDAAqD;YACrD,IAAI,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9B,uEAAuE;gBACvE,OAAO,CACL,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,EAC9C,oBAAoB,CACrB,CAAC;gBAEF,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC;oBAC5C,KAAK,EAAE,YAAY;oBACnB,MAAM;oBACN,OAAO;oBACP,cAAc;oBACd,SAAS,EAAE,oBAAoB;oBAC/B,MAAM,EAAE,WAAW;oBACnB,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,qBAAqB;iBACjE,CAAC,CAAC;gBACH,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;oBAC1B,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;oBACtC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;gBACrD,CAAC;gBACD,wBAAwB,GAAG,eAAe,CAAC,cAAc,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,0BAA0B;gBAC1B,OAAO,CACL,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,EAC9C,oBAAoB,CACrB,CAAC;gBACF,wBAAwB,GAAG,YAAY,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,+DAA+D;YAC/D,wBAAwB,GAAG,KAAK,CAAC;QACnC,CAAC;QAED,IAAI,wBAAwB,KAAK,IAAI,EAAE,CAAC;YACtC,cAAc,CACZ,2DAA2D,CAC5D,CAAC;YACF,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IACxE,CAAC,EACD;QACE,MAAM;QACN,OAAO;QACP,cAAc;QACd,kBAAkB;QAClB,kBAAkB;QAClB,MAAM;QACN,eAAe;QACf,iBAAiB;QACjB,QAAQ;KACT,CACF,CAAC;IAEF,gCAAgC;IAEhC,MAAM,kBAAkB,GAAG,WAAW,CACpC,CACE,UAAiC,EACjC,0BAAkC,EAClC,oBAA4B,EACpB,EAAE;QACV,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,4DAA4D;YAC5D,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,sBAAsB,GAAG,0BAA0B,GAAG,UAAU,CAAC;QACrE,IACE,qBAAqB,CAAC,OAAO,EAAE,IAAI,KAAK,QAAQ;YAChD,qBAAqB,CAAC,OAAO,EAAE,IAAI,KAAK,gBAAgB,EACxD,CAAC;YACD,wDAAwD;YACxD,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;gBAClC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC/D,CAAC;YACD,qBAAqB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACpD,sBAAsB,GAAG,UAAU,CAAC;QACtC,CAAC;QACD,kEAAkE;QAClE,8DAA8D;QAC9D,MAAM,UAAU,GAAG,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;QAClE,IAAI,UAAU,KAAK,sBAAsB,CAAC,MAAM,EAAE,CAAC;YACjD,uDAAuD;YACvD,qBAAqB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC/B,uEAAuE;gBACvE,IAAI,EAAE,IAAI,EAAE,IAAmC;gBAC/C,IAAI,EAAE,sBAAsB;aAC7B,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,CAAC;YACN,+DAA+D;YAC/D,2EAA2E;YAC3E,0EAA0E;YAC1E,wEAAwE;YACxE,+EAA+E;YAC/E,8EAA8E;YAC9E,8EAA8E;YAC9E,0DAA0D;YAC1D,MAAM,UAAU,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAC/D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CACL;oBACE,uEAAuE;oBACvE,IAAI,EAAE,qBAAqB,CAAC,OAAO,EAAE,IAEjB;oBACpB,IAAI,EAAE,UAAU;iBACjB,EACD,oBAAoB,CACrB,CAAC;YACJ,CAAC;YACD,qBAAqB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACnE,sBAAsB,GAAG,SAAS,CAAC;QACrC,CAAC;QACD,OAAO,sBAAsB,CAAC;IAChC,CAAC,EACD,CAAC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CACxD,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,UAA0B,EAAE,qBAA6B,EAAE,EAAE;QAC5D,UAAU,CAAC,UAAU,CAAC,CAAC;QAEvB,IAAI,qBAAqB,CAAC,QAAQ,CAAC,KAAK,MAAM,EAAE,CAAC;YAC/C,OAAO,CAAC;gBACN,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,UAAU;aACG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAChC,CAAC;IAEF,MAAM,wBAAwB,GAAG,WAAW,CAC1C,CAAC,oBAA4B,EAAE,EAAE;QAC/B,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,qBAAqB,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACxD,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAC1D,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,MAAM,KAAK,kBAAkB,CAAC,UAAU;oBAC7C,IAAI,CAAC,MAAM,KAAK,kBAAkB,CAAC,SAAS;oBAC5C,IAAI,CAAC,MAAM,KAAK,kBAAkB,CAAC,gBAAgB;oBACnD,IAAI,CAAC,MAAM,KAAK,kBAAkB,CAAC,SAAS;oBAC1C,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,SAAS,EAAE;oBACnD,CAAC,CAAC,IAAI,CACX,CAAC;gBAEF,MAAM,WAAW,GAAyB;oBACxC,GAAG,qBAAqB,CAAC,OAAO;oBAChC,KAAK,EAAE,YAAY;iBACpB,CAAC;gBACF,OAAO,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC/D,CAAC;YACD,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,CACL,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,6BAA6B,EAAE,EAC/D,oBAAoB,CACrB,CAAC;QACF,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,kCAAkC;IACtD,CAAC,EACD;QACE,OAAO;QACP,qBAAqB;QACrB,qBAAqB;QACrB,UAAU;QACV,eAAe;KAChB,CACF,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,UAAiC,EAAE,oBAA4B,EAAE,EAAE;QAClE,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC7D,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,+BAA+B,CAAC,oBAAoB,CAAC,CAAC;QACtD,OAAO,CACL;YACE,IAAI,EAAE,WAAW,CAAC,KAAK;YACvB,IAAI,EAAE,sBAAsB,CAC1B,UAAU,CAAC,KAAK,EAChB,MAAM,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAC5C,SAAS,EACT,MAAM,CAAC,QAAQ,EAAE,EACjB,0BAA0B,CAC3B;SACF,EACD,oBAAoB,CACrB,CAAC;QACF,+BAA+B,CAAC,oBAAoB,CAAC,CAAC;QACtD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,sCAAsC;IAC1D,CAAC,EACD;QACE,OAAO;QACP,qBAAqB;QACrB,qBAAqB;QACrB,MAAM;QACN,UAAU;QACV,+BAA+B;QAC/B,+BAA+B;KAChC,CACF,CAAC;IAEF,MAAM,wBAAwB,GAAG,WAAW,CAC1C,CACE,UAAmD,EACnD,oBAA4B,EAC5B,EAAE;QACF,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC7D,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,+BAA+B,CAAC,oBAAoB,CAAC,CAAC;QAEtD,IAAI,IAAI,GACN,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,oCAAoC,CAAC;QACtE,IAAI,UAAU,EAAE,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAC5C,IAAI,GAAG,2BAA2B,CAAC;QACrC,CAAC;aAAM,IAAI,UAAU,EAAE,IAAI,KAAK,wBAAwB,EAAE,CAAC;YACzD,IAAI,GAAG,iCAAiC,CAAC;QAC3C,CAAC;aAAM,IAAI,UAAU,EAAE,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACtD,IAAI,GAAG,8BAA8B,CAAC;QACxC,CAAC;aAAM,IAAI,UAAU,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACjD,IAAI,GAAG,sBAAsB,CAAC;QAChC,CAAC;aAAM,IAAI,UAAU,EAAE,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACrD,IAAI,GAAG,0BAA0B,CAAC;QACpC,CAAC;aAAM,IAAI,UAAU,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;YAChD,IAAI,GAAG,qBAAqB,CAAC;QAC/B,CAAC;QAED,gEAAgE;QAChE,kBAAkB,CAAC,6BAA6B,CAC9C,YAAY,CAAC,uBAAuB,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,EAC3D,UAAU,EAAE,IAAI,IAAI,gBAAgB,CACrC,CAAC;QAEF,OAAO,CACL;YACE,IAAI,EAAE,WAAW,CAAC,KAAK;YACvB,IAAI;SACL,EACD,oBAAoB,CACrB,CAAC;QACF,+BAA+B,CAAC,oBAAoB,CAAC,CAAC;QACtD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,sCAAsC;IAC1D,CAAC,EACD;QACE,OAAO;QACP,qBAAqB;QACrB,qBAAqB;QACrB,UAAU;QACV,+BAA+B;QAC/B,+BAA+B;QAC/B,MAAM;QACN,YAAY;KACb,CACF,CAAC;IAEF,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,IAAY,EAAE,oBAA4B,EAAE,EAAE;QAC7C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC7D,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,oBAAoB,CAAC,CAAC;IAClE,CAAC,EACD,CAAC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAClE,CAAC;IAEF,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,KAAgC,EAAE,oBAA4B,EAAE,EAAE;QACjE,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,MAAM,oBAAoB,GAEtB;YACF,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,SAAS;YACnD,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS;YAC9B,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,yCAAyC;YACpE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,yCAAyC;YAChE,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,4CAA4C;YACvE,CAAC,YAAY,CAAC,QAAQ,CAAC,EACrB,+CAA+C;YACjD,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,0CAA0C;YACpE,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAC/B,6CAA6C;YAC/C,CAAC,YAAY,CAAC,IAAI,CAAC,EACjB,wEAAwE;YAC1E,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,qCAAqC;YAC3D,CAAC,YAAY,CAAC,uBAAuB,CAAC,EACpC,kDAAkD;YACpD,CAAC,YAAY,CAAC,YAAY,CAAC,EACzB,kDAAkD;YACpD,CAAC,YAAY,CAAC,oBAAoB,CAAC,EACjC,+CAA+C;YACjD,CAAC,YAAY,CAAC,wBAAwB,CAAC,EACrC,mDAAmD;YACrD,CAAC,YAAY,CAAC,QAAQ,CAAC,EACrB,kDAAkD;SACrD,CAAC;QAEF,MAAM,OAAO,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CACL;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO,OAAO,EAAE;aACvB,EACD,oBAAoB,CACrB,CAAC;QACJ,CAAC;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,0BAA0B,GAAG,WAAW,CAC5C,CACE,UAAoD,EACpD,oBAA4B,EAC5B,EAAE;QACF,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC7D,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5C,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CACnC,CAAC,CAAC,UAAU,EAAE,kBAAkB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CACtD,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAC9B,CAAC,CAAC,UAAU,EAAE,aAAa,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CACjD,CAAC;QAEF,OAAO,CACL;YACE,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,2BAA2B,kBAAkB,QAAQ,aAAa,IAAI;YAC5E,aAAa,EAAE,gCAAgC;YAC/C,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;YAC3B,YAAY,EAAE,CAAC;SACG,EACpB,oBAAoB,CACrB,CAAC;IACJ,CAAC,EACD,CAAC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAChE,CAAC;IAEF,MAAM,0BAA0B,GAAG,WAAW,CAC5C,GAAG,EAAE,CACH,OAAO,CAAC;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EACF,wDAAwD,MAAM,CAAC,kBAAkB,EAAE,IAAI;YACvF,qDAAqD;KACxD,CAAC,EACJ,CAAC,OAAO,EAAE,MAAM,CAAC,CAClB,CAAC;IAEF,MAAM,oCAAoC,GAAG,WAAW,CACtD,CAAC,0BAAkC,EAAE,mBAA2B,EAAE,EAAE;QAClE,cAAc,CAAC,IAAI,CAAC,CAAC;QAErB,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE5C,MAAM,uBAAuB,GAC3B,KAAK,GAAG,CAAC,IAAI,mBAAmB,GAAG,KAAK,GAAG,IAAI,CAAC;QAElD,IAAI,IAAI,GAAG,yBAAyB,0BAA0B,mDAAmD,mBAAmB,CAAC,cAAc,EAAE,gBAAgB,CAAC;QAEtK,IAAI,uBAAuB,EAAE,CAAC;YAC5B,IAAI;gBACF,4GAA4G,CAAC;QACjH,CAAC;QAED,OAAO,CAAC;YACN,IAAI,EAAE,MAAM;YACZ,IAAI;SACL,CAAC,CAAC;IACL,CAAC,EACD,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,CAClC,CAAC;IAEF,MAAM,oBAAoB,GAAG,WAAW,CACtC,CAAC,UAAkB,EAAE,oBAA4B,EAAE,EAAE;QACnD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC7D,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,CACL;YACE,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,UAAU;SACE,EACrB,oBAAoB,CACrB,CAAC;IACJ,CAAC,EACD,CAAC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAClE,CAAC;IAEF,MAAM,gCAAgC,GAAG,WAAW,CAClD,CACE,MAAc,EACd,oBAA4B,EAC5B,aAAsB,EACtB,cAAwB,EACxB,EAAE;QACF,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC7D,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,CACL;YACE,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,4BAA4B,aAAa,EAAE,IAAI,EAAE,IAAI,MAAM,EAAE;SACpE,EACD,oBAAoB,CACrB,CAAC;QACF,+BAA+B,CAAC,oBAAoB,CAAC,CAAC;QACtD,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CACL;gBACE,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,wCAAwC;aAC/C,EACD,oBAAoB,CACrB,CAAC;QACJ,CAAC;QACD,eAAe,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,EACD;QACE,OAAO;QACP,qBAAqB;QACrB,qBAAqB;QACrB,eAAe;QACf,+BAA+B;KAChC,CACF,CAAC;IAEF,MAAM,gCAAgC,GAAG,WAAW,CAClD,CACE,MAAc,EACd,oBAA4B,EAC5B,aAAsB,EACtB,cAAwB,EACxB,EAAE;QACF,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC7D,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,CACL;YACE,IAAI,EAAE,WAAW,CAAC,OAAO;YACzB,IAAI,EAAE,4BAA4B,aAAa,EAAE,IAAI,EAAE,IAAI,MAAM,EAAE;SACpE,EACD,oBAAoB,CACrB,CAAC;QACF,+BAA+B,CAAC,oBAAoB,CAAC,CAAC;QACtD,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CACL;gBACE,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,wCAAwC;aAC/C,EACD,oBAAoB,CACrB,CAAC;QACJ,CAAC;IACH,CAAC,EACD;QACE,OAAO;QACP,qBAAqB;QACrB,qBAAqB;QACrB,+BAA+B;KAChC,CACF,CAAC;IAEF,MAAM,yBAAyB,GAAG,WAAW,CAC3C,KAAK,EACH,MAAkC,EAClC,oBAA4B,EAC5B,MAAmB,EACnB,cAAwB,EACxB,SAAkB,EACe,EAAE;QACnC,IAAI,mBAAmB,GAAG,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAA0B,EAAE,CAAC;QACnD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IACE,KAAK,CAAC,IAAI,KAAK,qBAAqB,CAAC,OAAO;gBAC5C,UAAU,CAAC,OAAO,KAAK,IAAI,EAC3B,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,qBAAqB,CAAC,OAAO;oBAChC,yBAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBACtC,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;oBACtD,MAAM;gBACR,KAAK,qBAAqB,CAAC,OAAO;oBAChC,yBAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBACtC,mBAAmB,GAAG,kBAAkB,CACtC,KAAK,CAAC,KAAK,EACX,mBAAmB,EACnB,oBAAoB,CACrB,CAAC;oBACF,MAAM;gBACR,KAAK,qBAAqB,CAAC,eAAe;oBACxC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACnC,MAAM;gBACR,KAAK,qBAAqB,CAAC,aAAa;oBACtC,wBAAwB,CAAC,oBAAoB,CAAC,CAAC;oBAC/C,MAAM;gBACR,KAAK,qBAAqB,CAAC,KAAK;oBAC9B,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;oBACpD,MAAM;gBACR,KAAK,qBAAqB,CAAC,qBAAqB;oBAC9C,gCAAgC,CAC9B,KAAK,CAAC,KAAK,CAAC,MAAM,EAClB,oBAAoB,EACpB,KAAK,CAAC,KAAK,CAAC,aAAa,EACzB,KAAK,CAAC,KAAK,CAAC,cAAc,CAC3B,CAAC;oBACF,MAAM;gBACR,KAAK,qBAAqB,CAAC,qBAAqB;oBAC9C,gCAAgC,CAC9B,KAAK,CAAC,KAAK,CAAC,MAAM,EAClB,oBAAoB,EACpB,KAAK,CAAC,KAAK,CAAC,aAAa,EACzB,KAAK,CAAC,KAAK,CAAC,cAAc,CAC3B,CAAC;oBACF,MAAM;gBACR,KAAK,qBAAqB,CAAC,cAAc;oBACvC,0BAA0B,CAAC,KAAK,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;oBAC9D,MAAM;gBACR,KAAK,qBAAqB,CAAC,oBAAoB,CAAC;gBAChD,KAAK,qBAAqB,CAAC,gBAAgB;oBACzC,aAAa;oBACb,MAAM;gBACR,KAAK,qBAAqB,CAAC,eAAe;oBACxC,0BAA0B,EAAE,CAAC;oBAC7B,MAAM;gBACR,KAAK,qBAAqB,CAAC,yBAAyB;oBAClD,oCAAoC,CAClC,KAAK,CAAC,KAAK,CAAC,0BAA0B,EACtC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAChC,CAAC;oBACF,MAAM;gBACR,KAAK,qBAAqB,CAAC,QAAQ;oBACjC,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,qBAAqB,CAAC,QAAQ;oBACjC,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;oBACvD,MAAM;gBACR,KAAK,qBAAqB,CAAC,SAAS;oBAClC,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;oBACxD,MAAM;gBACR,KAAK,qBAAqB,CAAC,YAAY;oBACrC,kEAAkE;oBAClE,iDAAiD;oBACjD,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC/B,MAAM;gBACR,KAAK,qBAAqB,CAAC,KAAK;oBAC9B,uDAAuD;oBACvD,MAAM;gBACR,KAAK,qBAAqB,CAAC,aAAa;oBACtC,wBAAwB,CAAC,KAAK,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;oBAC5D,MAAM;gBACR,OAAO,CAAC,CAAC,CAAC;oBACR,kCAAkC;oBAClC,MAAM,WAAW,GAAU,KAAK,CAAC;oBACjC,OAAO,WAAW,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;gBAClC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBAC7D,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7D,IACE,cAAc;gBACd,CAAC,cAAc;gBACf,wBAAwB,CAAC,OAAO,GAAG,uBAAuB,EAC1D,CAAC;gBACD,wBAAwB,CAAC,OAAO,IAAI,CAAC,CAAC;gBACtC,MAAM,YAAY,GAChB,sJAAsJ,CAAC;gBAEzJ,kDAAkD;gBAClD,mEAAmE;gBACnE,cAAc,CAAC,OAAO,EAAE,CACtB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EACxB,EAAE,cAAc,EAAE,IAAI,EAAE,EACxB,SAAS,CACV,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,sBAAsB,CAAC,SAAS,CAAC;IAC1C,CAAC,EACD;QACE,kBAAkB;QAClB,kBAAkB;QAClB,UAAU;QACV,wBAAwB;QACxB,gBAAgB;QAChB,iBAAiB;QACjB,0BAA0B;QAC1B,mBAAmB;QACnB,0BAA0B;QAC1B,oCAAoC;QACpC,mBAAmB;QACnB,oBAAoB;QACpB,gCAAgC;QAChC,gCAAgC;QAChC,wBAAwB;QACxB,OAAO;QACP,qBAAqB;QACrB,qBAAqB;QACrB,UAAU;KACX,CACF,CAAC;IACF,MAAM,WAAW,GAAG,WAAW,CAC7B,KAAK,EACH,KAAoB,EACpB,OAAqC,EACrC,SAAkB,EAClB,EAAE,CACF,iBAAiB,CACf;QACE,SAAS,EAAE,OAAO,EAAE,cAAc;YAChC,CAAC,CAAC,kBAAkB,CAAC,YAAY;YACjC,CAAC,CAAC,kBAAkB,CAAC,UAAU;QACjC,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE;KACjC,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;QACnC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;QAE3B,IACE,CAAC,eAAe,CAAC,OAAO;YACtB,cAAc,KAAK,cAAc,CAAC,UAAU;YAC5C,cAAc,KAAK,cAAc,CAAC,sBAAsB,CAAC;YAC3D,CAAC,OAAO,EAAE,cAAc;YAExB,OAAO;QACT,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACjD,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAC;QAEnC,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAExC,wEAAwE;QACxE,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;YAC7B,wBAAwB,CAAC,OAAO,GAAG,CAAC,CAAC;YACrC,8BAA8B,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,CAAC,qBAAqB,CAC1B,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CACzC,CAAC;YACF,2BAA2B,CAAC,OAAO,GAAG,CAAC,CAAC;YACxC,+BAA+B,CAAC,OAAO,GAAG,KAAK,CAAC;YAChD,+BAA+B,CAAC,OAAO,GAAG,KAAK,CAAC;QAClD,CAAC;QAED,kBAAkB,CAAC,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;QACtD,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;QAEjC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,UAAU,GAAG,cAAc,EAAE,CAAC;QACpE,CAAC;QACD,OAAO,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,MAAM,qBAAqB,CAChE,KAAK,EACL,oBAAoB,EACpB,WAAW,EACX,SAAU,CACX,CAAC;YAEF,IAAI,CAAC,aAAa,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,+BAA+B,CAAC,OAAO;oBACrC,YAAY,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC;YACrC,CAAC;YAED,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;gBAC7B,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;oBACpC,wCAAwC;oBACxC,MAAM,UAAU,GAAG,WAAW,CAAC;oBAC/B,aAAa,CACX,MAAM,EACN,IAAI,eAAe,CACjB,UAAU,CAAC,MAAM,EACjB,SAAU,EACV,MAAM,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAC5C,UAAU,CACX,CACF,CAAC;gBACJ,CAAC;gBACD,cAAc,EAAE,CAAC;gBACjB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,2CAA2C;YAC/D,CAAC;YAED,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,CAAC;YAEnB,kEAAkE;YAClE,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC;YACnC,eAAe,CAAC,OAAO,GAAG,SAAU,CAAC;YAErC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAC3C,WAAW,EACX,WAAW,EACX,SAAU,EACV,SAAS,EACT,KAAK,CACN,CAAC;gBACF,MAAM,gBAAgB,GAAG,MAAM,yBAAyB,CACtD,MAAM,EACN,oBAAoB,EACpB,WAAW,EACX,OAAO,EAAE,cAAc,EACvB,SAAS,CACV,CAAC;gBAEF,IAAI,gBAAgB,KAAK,sBAAsB,CAAC,aAAa,EAAE,CAAC;oBAC9D,OAAO;gBACT,CAAC;gBAED,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;oBAClC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;oBAC7D,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;gBACD,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;oBAC5B,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;oBAChC,2EAA2E;oBAC3E,mCAAmC,CAAC;wBAClC,UAAU,EAAE,KAAK,EAAE,MAElB,EAAE,EAAE;4BACH,mCAAmC,CAAC,IAAI,CAAC,CAAC;4BAE1C,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gCACvC,MAAM;qCACH,eAAe,EAAE;qCACjB,uBAAuB,EAAE;qCACzB,iBAAiB,EAAE,CAAC;gCACvB,OAAO,CAAC;oCACN,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,wEAAwE;iCAC/E,CAAC,CAAC;gCAEH,IAAI,YAAY,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;oCACpD,MAAM,WAAW,CACf,YAAY,CAAC,OAAO,EACpB,EAAE,cAAc,EAAE,IAAI,EAAE,EACxB,eAAe,CAAC,OAAO,CACxB,CAAC;gCACJ,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,OAAO,CAAC;oCACN,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,mIAAmI;iCAC1I,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC3B,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,WAAW,CAAC,qCAAqC,CAAC,CAAC;gBACrD,CAAC;qBAAM;gBACL,4GAA4G;gBAC5G,KAAK,YAAY,uBAAuB;oBACxC,KAAK,CAAC,WAAW,EACjB,CAAC;oBACD,8DAA8D;gBAChE,CAAC;qBAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC9D,+BAA+B,CAAC,oBAAoB,CAAC,CAAC;oBACtD,OAAO,CACL;wBACE,IAAI,EAAE,WAAW,CAAC,KAAK;wBACvB,IAAI,EAAE,sBAAsB,CAC1B,eAAe,CAAC,KAAK,CAAC,IAAI,eAAe,EACzC,MAAM,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAC5C,SAAS,EACT,MAAM,CAAC,QAAQ,EAAE,EACjB,0BAA0B,CAC3B;qBACF,EACD,oBAAoB,CACrB,CAAC;oBACF,+BAA+B,CAAC,oBAAoB,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,IAAI,gBAAgB,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBACzC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CACF,EACH;QACE,cAAc;QACd,8BAA8B;QAC9B,qBAAqB;QACrB,yBAAyB;QACzB,qBAAqB;QACrB,OAAO;QACP,qBAAqB;QACrB,YAAY;QACZ,YAAY;QACZ,WAAW;QACX,MAAM;QACN,cAAc;QACd,cAAc;QACd,UAAU;QACV,+BAA+B;QAC/B,+BAA+B;QAC/B,eAAe;QACf,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe;QACxC,eAAe;KAChB,CACF,CAAC;IACF,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IAErC,MAAM,wBAAwB,GAAG,WAAW,CAC1C,KAAK,EAAE,eAA6B,EAAE,EAAE;QACtC,IACE,uBAAuB,CAAC,OAAO,KAAK,YAAY,CAAC,IAAI;YACrD,eAAe,KAAK,YAAY,CAAC,IAAI;YACrC,cAAc,KAAK,cAAc,CAAC,IAAI,EACtC,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,YAAY,CAAC,UAAU,CAAC;wBAC5B,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE;4BACL;gCACE,IAAI,EAAE,sBAAsB,CAAC,eAAe,EAAE,IAAI,CAAC;6BACpD;yBACF;qBACF,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,cAAc,CACZ,6CAA6C,eAAe,CAAC,KAAK,CAAC,EAAE,CACtE,CAAC;oBACF,OAAO,CAAC;wBACN,IAAI,EAAE,WAAW,CAAC,KAAK;wBACvB,IAAI,EAAE,4JAA4J;qBACnK,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,uBAAuB,CAAC,OAAO,GAAG,eAAe,CAAC;QAElD,wEAAwE;QACxE,IACE,eAAe,KAAK,YAAY,CAAC,IAAI;YACrC,eAAe,KAAK,YAAY,CAAC,SAAS,EAC1C,CAAC;YACD,IAAI,qBAAqB,GAAG,SAAS,CAAC,MAAM,CAC1C,CAAC,IAAI,EAAkC,EAAE,CACvC,IAAI,CAAC,MAAM,KAAK,mBAAmB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CACjE,CAAC;YAEF,oEAAoE;YACpE,2DAA2D;YAC3D,IAAI,eAAe,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;gBAC/C,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC5D,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3C,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;wBAC1C,MAAM,OAAO,GAAI,IAAI,CAAC,OAAO,CAAC,IAA6B;6BACxD,OAAO,CAAC;wBACX,OAAO,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC5C,CAAC;oBAED,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,CAAC;YACL,CAAC;YAED,6DAA6D;YAC7D,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,CAAC;gBACzC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC;4BACnC,IAAI,EAAE,cAAc,CAAC,0BAA0B;4BAC/C,aAAa,EAAE,IAAI,CAAC,aAAa;4BACjC,SAAS,EAAE,IAAI;4BACf,wBAAwB,EAAE,KAAK;4BAC/B,OAAO,EAAE,uBAAuB,CAAC,WAAW;yBAC7C,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,WAAW,CAAC,IAAI,CACd,oCAAoC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAC1D,KAAK,CACN,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,EACD,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,CAAC,CAC3E,CAAC;IAEF,MAAM,oBAAoB,GAAG,WAAW,CACtC,KAAK,EAAE,+BAAkD,EAAE,EAAE;QAC3D,MAAM,8BAA8B,GAClC,+BAA+B,CAAC,MAAM,CACpC,CACE,EAAmB,EACwC,EAAE;YAC7D,MAAM,eAAe,GACnB,EAAE,CAAC,MAAM,KAAK,SAAS;gBACvB,EAAE,CAAC,MAAM,KAAK,OAAO;gBACrB,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC;YAE5B,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,wBAAwB,GAAG,EAEL,CAAC;gBAC7B,OAAO,CACL,wBAAwB,CAAC,QAAQ,EAAE,aAAa,KAAK,SAAS,CAC/D,CAAC;YACJ,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CACF,CAAC;QAEJ,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,MAAM,WAAW,GAAG,8BAA8B,CAAC,MAAM,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CACpC,CAAC;YACF,IAAI,YAAY,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CACvC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAC9C,CAAC;gBACF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,mEAAmE;oBACnE,YAAY,CAAC,UAAU,CAAC;wBACtB,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,aAAa;qBACrB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,MAAM,wBAAwB,GAAG,SAAS,CAAC,GAAG,CAC5C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CACtC,CAAC;YACF,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,gEAAgE;QAChE,MAAM,WAAW,GAAG,8BAA8B,CAAC,MAAM,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CACnC,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAE/D,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/B,8DAA8D;oBAC9D,iEAAiE;oBACjE,6BAA6B;oBAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;wBACnD,SAAS;oBACX,CAAC;oBAED,wEAAwE;oBACxE,oEAAoE;oBACpE,kEAAkE;oBAClE,MAAM,YAAY,CAAC,UAAU,CAAC;wBAC5B,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL;gCACE,YAAY,EAAE;oCACZ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;oCACvB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;iCACxB;6BACF;yBACF;qBACF,CAAC,CAAC;oBACH,MAAM,YAAY,CAAC,UAAU,CAAC;wBAC5B,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;qBACnC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,8BAA8B,EAAE,CAAC;YACtD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,gBAAgB,EAAE,CAAC;gBACrB,sBAAsB,CACpB,gBAAgB,CAAC,GAAG,EACpB,gBAAgB,CAAC,OAAO,EACxB,gBAAgB,CAAC,aAAa,CAC/B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,8BAA8B,CAAC,MAAM,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CACpC,CAAC;QAEF,IAAI,mBAAmB,EAAE,CAAC;YACxB,sEAAsE;YACtE,2BAA2B,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,CACvD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,KAAK,CAC/C,CAAC,MAAM,CAAC;QACX,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,4DAA4D;QAC5D,MAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,CACxC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,KAAK,aAAa,CAAC,cAAc,CAC/D,CAAC;QAEF,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC1D,+BAA+B,EAAE,CAAC;YAClC,OAAO,CAAC;gBACN,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,4BAA4B,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;aAC7E,CAAC,CAAC;YACH,+BAA+B,EAAE,CAAC;YAClC,eAAe,CAAC,KAAK,CAAC,CAAC;YAEvB,MAAM,wBAAwB,GAAG,WAAW,CAAC,GAAG,CAC9C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CACtC,CAAC;YACF,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,sEAAsE;QACtE,uFAAuF;QACvF,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CACxC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CACtC,CAAC;QACF,MAAM,2BAA2B,GAC/B,eAAe,CAAC,MAAM,GAAG,CAAC;YAC1B,eAAe,CAAC,KAAK,CACnB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,SAAS,CACnD,CAAC;QACJ,MAAM,iBAAiB,GACrB,WAAW,CAAC,MAAM,GAAG,CAAC;YACtB,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAExE,IAAI,2BAA2B,IAAI,iBAAiB,EAAE,CAAC;YACrD,gEAAgE;YAChE,kFAAkF;YAClF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC9B,OAAO,CAAC;oBACN,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,IAAI,EAAE,oBAAoB;iBAC3B,CAAC,CAAC;YACL,CAAC;YACD,eAAe,CAAC,KAAK,CAAC,CAAC;YAEvB,IACE,YAAY;gBACZ,+BAA+B,CAAC,OAAO,KAAK,SAAS,EACrD,CAAC;gBACD,MAAM,YAAY,GAAG,+BAA+B,CAAC,OAAO,CAAC;gBAC7D,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;oBACpD,YAAY,CAAC,UAAU,CACrB,YAAY,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CACjD,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,wBAAwB,GAAG,WAAW,CAAC,GAAG,CAC9C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CACtC,CAAC;YACF,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAW,WAAW,CAAC,OAAO,CACjD,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAC9C,CAAC;QAEF,MAAM,wBAAwB,GAAG,WAAW,CAAC,GAAG,CAC9C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CACtC,CAAC;QAEF,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;QAE/C,qEAAqE;QACrE,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,4CAA4C;QAC5C,IAAI,2BAA2B,EAAE,CAAC;YAChC,IAAI,YAAY,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,YAAY,CAAC,UAAU,CAAC;oBAC5B,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,eAAe;iBACvB,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;YACnC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACjC,eAAe,CAAC,OAAO,CAAC;oBACtB,IAAI,EAAE,2BAA2B,CAAC,QAAQ,CAAC;iBAC5C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAChC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CACzC,CAAC;QAEF,mEAAmE;QACnE,WAAW,CACT,eAAe,EACf;YACE,cAAc,EAAE,IAAI;SACrB,EACD,UAAU,CAAC,CAAC,CAAC,CACd,CAAC;IACJ,CAAC,EACD;QACE,WAAW;QACX,oBAAoB;QACpB,YAAY;QACZ,2BAA2B;QAC3B,OAAO;QACP,sBAAsB;QACtB,eAAe;QACf,mBAAmB;QACnB,+BAA+B;QAC/B,+BAA+B;QAC/B,eAAe;QACf,SAAS;KACV,CACF,CAAC;IAEF,MAAM,mBAAmB,GAAG,OAAO,CACjC,GAAG,EAAE,CACH,CAAC,kBAAkB,EAAE,GAAG,qBAAqB,CAAC,CAAC,MAAM,CACnD,CAAC,CAAC,EAA6B,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAChE,EACH,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAC5C,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,uBAAuB,GAAG,KAAK,IAAI,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAE,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAC1C,CAAC,QAAQ,EAAE,EAAE,CACX,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC1C,QAAQ,CAAC,MAAM,KAAK,kBAAkB,CAAC,gBAAgB,CAC1D,CAAC;YAEF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,cAAc,CACZ,qIAAqI,CACtI,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,MAAM,0BAA0B,CAGrE,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAC/C,UAAU,EACV,YAAY,EACZ,OAAO,CACR,CAAC;gBAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACjC,CAAC;gBAED,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBAChC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC;oBACpE,IAAI,CAAC;wBACH,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBACnD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,kBAAkB,EAAE,CAAC;4BACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;4BACpD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBACxC,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,cAAc,CACZ,oCAAoC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC7D,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,mEAAmE;QACnE,uBAAuB,EAAE,CAAC;IAC5B,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IAE3E,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,CACvB,CAAC;IAEF,OAAO;QACL,cAAc;QACd,WAAW;QACX,SAAS;QACT,mBAAmB;QACnB,OAAO;QACP,oBAAoB;QACpB,gBAAgB,EAAE,SAAS;QAC3B,wBAAwB;QACxB,WAAW;QACX,gCAAgC;QAChC,cAAc;QACd,mBAAmB;QACnB,uBAAuB;QACvB,qBAAqB;QACrB,0BAA0B;QAC1B,eAAe;QACf,qBAAqB;QACrB,WAAW;KACZ,CAAC;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"useGeminiStream.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useGeminiStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import { useGeminiStream } from './useGeminiStream.js';
|
|
|
12
12
|
import { useKeypress } from './useKeypress.js';
|
|
13
13
|
import * as atCommandProcessor from './atCommandProcessor.js';
|
|
14
14
|
import { useToolScheduler, } from './useToolScheduler.js';
|
|
15
|
-
import { CoreToolCallStatus, ApprovalMode, DEFAULT_GEMINI_FLASH_MODEL, AuthType, GeminiEventType as ServerGeminiEventType, ToolErrorType, ToolConfirmationOutcome, MessageBusType, tokenLimit, debugLogger, coreEvents, CoreEvent, SHELL_TOOL_NAME, MCPDiscoveryState, GeminiCliOperation, getPlanModeExitMessage, UPDATE_TOPIC_TOOL_NAME, TRUE_EMPTY_RESPONSE_MESSAGE, } from '@google/gemini-cli-core';
|
|
15
|
+
import { CoreToolCallStatus, ApprovalMode, DEFAULT_GEMINI_FLASH_MODEL, AuthType, GeminiEventType as ServerGeminiEventType, uiTelemetryService, ToolErrorType, ToolConfirmationOutcome, MessageBusType, tokenLimit, debugLogger, coreEvents, CoreEvent, SHELL_TOOL_NAME, MCPDiscoveryState, GeminiCliOperation, getPlanModeExitMessage, UPDATE_TOPIC_TOOL_NAME, TRUE_EMPTY_RESPONSE_MESSAGE, } from '@google/gemini-cli-core';
|
|
16
16
|
import { MessageType, StreamingState } from '../types.js';
|
|
17
17
|
import { findLastSafeSplitPoint } from '../utils/markdownUtilities.js';
|
|
18
18
|
import { theme } from '../semantic-colors.js';
|
|
@@ -36,6 +36,17 @@ const MockedGeminiClientClass = vi.hoisted(() => vi.fn().mockImplementation(func
|
|
|
36
36
|
this.setHistory = vi.fn().mockImplementation((newHistory) => {
|
|
37
37
|
mockHistory = [...newHistory];
|
|
38
38
|
});
|
|
39
|
+
this.discardTrailingUnansweredToolCallTurn = vi
|
|
40
|
+
.fn()
|
|
41
|
+
.mockImplementation(() => {
|
|
42
|
+
const last = mockHistory[mockHistory.length - 1];
|
|
43
|
+
if (last?.role !== 'model' ||
|
|
44
|
+
!last.parts?.some((part) => !!part.functionCall)) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
mockHistory = mockHistory.slice(0, -1);
|
|
48
|
+
return true;
|
|
49
|
+
});
|
|
39
50
|
this.generateContent = vi.fn().mockResolvedValue({
|
|
40
51
|
candidates: [
|
|
41
52
|
{ content: { parts: [{ text: 'Got it. Focusing on tests only.' }] } },
|
|
@@ -788,7 +799,7 @@ describe('useGeminiStream', () => {
|
|
|
788
799
|
];
|
|
789
800
|
});
|
|
790
801
|
const { result } = await renderHookWithProviders(() => useGeminiStream(client, [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, 80, 24));
|
|
791
|
-
// Call submitQuery to populate the user turn
|
|
802
|
+
// Call submitQuery to populate the user turn
|
|
792
803
|
await act(async () => {
|
|
793
804
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
794
805
|
result.current.submitQuery('User prompt');
|
|
@@ -819,6 +830,127 @@ describe('useGeminiStream', () => {
|
|
|
819
830
|
expect(mockSendMessageStream).toHaveBeenCalledTimes(1);
|
|
820
831
|
});
|
|
821
832
|
});
|
|
833
|
+
it('should keep the user prompt and completed tool rounds when a later tool batch is declined', async () => {
|
|
834
|
+
const cancelledToolCalls = [
|
|
835
|
+
{
|
|
836
|
+
request: {
|
|
837
|
+
callId: '2',
|
|
838
|
+
name: 'testTool',
|
|
839
|
+
args: {},
|
|
840
|
+
isClientInitiated: false,
|
|
841
|
+
prompt_id: 'prompt-id-4',
|
|
842
|
+
},
|
|
843
|
+
status: CoreToolCallStatus.Cancelled,
|
|
844
|
+
response: {
|
|
845
|
+
callId: '2',
|
|
846
|
+
responseParts: [{ text: CoreToolCallStatus.Cancelled }],
|
|
847
|
+
errorType: undefined,
|
|
848
|
+
},
|
|
849
|
+
responseSubmittedToGemini: false,
|
|
850
|
+
tool: {
|
|
851
|
+
displayName: 'mock tool',
|
|
852
|
+
},
|
|
853
|
+
invocation: {
|
|
854
|
+
getDescription: () => `Mock description`,
|
|
855
|
+
},
|
|
856
|
+
},
|
|
857
|
+
];
|
|
858
|
+
const client = new MockedGeminiClientClass(mockConfig);
|
|
859
|
+
const priorTurn = [
|
|
860
|
+
{ role: 'user', parts: [{ text: 'Earlier prompt' }] },
|
|
861
|
+
{ role: 'model', parts: [{ text: 'Earlier answer' }] },
|
|
862
|
+
];
|
|
863
|
+
client.setHistory(priorTurn);
|
|
864
|
+
// Model the real sendMessageStream contract: the user turn is recorded in
|
|
865
|
+
// the client history when the request is sent, not before submitQuery.
|
|
866
|
+
mockSendMessageStream.mockImplementation((query) => {
|
|
867
|
+
const parts = (Array.isArray(query) ? query : [query]).map((part) => typeof part === 'string' ? { text: part } : part);
|
|
868
|
+
client.setHistory([...client.getHistory(), { role: 'user', parts }]);
|
|
869
|
+
return (async function* () {
|
|
870
|
+
yield { type: ServerGeminiEventType.Content, value: 'Working on it' };
|
|
871
|
+
})();
|
|
872
|
+
});
|
|
873
|
+
let capturedOnComplete = null;
|
|
874
|
+
mockUseToolScheduler.mockImplementation((onComplete) => {
|
|
875
|
+
capturedOnComplete = onComplete;
|
|
876
|
+
return [
|
|
877
|
+
[],
|
|
878
|
+
mockScheduleToolCalls,
|
|
879
|
+
mockMarkToolsAsSubmitted,
|
|
880
|
+
vi.fn(),
|
|
881
|
+
mockCancelAllToolCalls,
|
|
882
|
+
0,
|
|
883
|
+
];
|
|
884
|
+
});
|
|
885
|
+
const { result } = await renderHookWithProviders(() => useGeminiStream(client, [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, 80, 24));
|
|
886
|
+
// Turn 1 starts: sendMessageStream records the user prompt.
|
|
887
|
+
await act(async () => {
|
|
888
|
+
await result.current.submitQuery('User prompt');
|
|
889
|
+
});
|
|
890
|
+
// The model answers with a first tool call, which completes and is sent
|
|
891
|
+
// back to the model as a continuation turn.
|
|
892
|
+
const firstRoundResponse = [
|
|
893
|
+
{
|
|
894
|
+
functionResponse: {
|
|
895
|
+
name: 'testTool',
|
|
896
|
+
id: '1',
|
|
897
|
+
response: { output: 'first result' },
|
|
898
|
+
},
|
|
899
|
+
},
|
|
900
|
+
];
|
|
901
|
+
client.setHistory([
|
|
902
|
+
...client.getHistory(),
|
|
903
|
+
{
|
|
904
|
+
role: 'model',
|
|
905
|
+
parts: [{ functionCall: { name: 'testTool', id: '1', args: {} } }],
|
|
906
|
+
},
|
|
907
|
+
]);
|
|
908
|
+
await act(async () => {
|
|
909
|
+
await result.current.submitQuery(firstRoundResponse, {
|
|
910
|
+
isContinuation: true,
|
|
911
|
+
});
|
|
912
|
+
});
|
|
913
|
+
// The model requests a second tool call within the same chain.
|
|
914
|
+
client.setHistory([
|
|
915
|
+
...client.getHistory(),
|
|
916
|
+
{
|
|
917
|
+
role: 'model',
|
|
918
|
+
parts: [{ functionCall: { name: 'testTool', id: '2', args: {} } }],
|
|
919
|
+
},
|
|
920
|
+
]);
|
|
921
|
+
vi.mocked(client.setHistory).mockClear();
|
|
922
|
+
// The second tool call is declined.
|
|
923
|
+
await act(async () => {
|
|
924
|
+
if (capturedOnComplete) {
|
|
925
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
926
|
+
await capturedOnComplete(cancelledToolCalls);
|
|
927
|
+
}
|
|
928
|
+
});
|
|
929
|
+
try {
|
|
930
|
+
await waitFor(() => {
|
|
931
|
+
expect(mockMarkToolsAsSubmitted).toHaveBeenCalledWith(['2']);
|
|
932
|
+
expect(client.addHistory).not.toHaveBeenCalled();
|
|
933
|
+
// Only the trailing unanswered call is removed, without re-setting
|
|
934
|
+
// the whole history (which would re-record every turn).
|
|
935
|
+
expect(client.discardTrailingUnansweredToolCallTurn).toHaveBeenCalledTimes(1);
|
|
936
|
+
expect(client.setHistory).not.toHaveBeenCalled();
|
|
937
|
+
// The previous turn, the user prompt and the completed first round
|
|
938
|
+
// are preserved.
|
|
939
|
+
expect(client.getHistory()).toEqual([
|
|
940
|
+
...priorTurn,
|
|
941
|
+
{ role: 'user', parts: [{ text: 'User prompt' }] },
|
|
942
|
+
{
|
|
943
|
+
role: 'model',
|
|
944
|
+
parts: [{ functionCall: { name: 'testTool', id: '1', args: {} } }],
|
|
945
|
+
},
|
|
946
|
+
{ role: 'user', parts: firstRoundResponse },
|
|
947
|
+
]);
|
|
948
|
+
});
|
|
949
|
+
}
|
|
950
|
+
finally {
|
|
951
|
+
mockSendMessageStream.mockImplementation(() => (async function* () { })());
|
|
952
|
+
}
|
|
953
|
+
});
|
|
822
954
|
it('should record tool responses in history when the model was switched due to a quota error', async () => {
|
|
823
955
|
// Regression test: returning early on a quota-triggered model switch
|
|
824
956
|
// without recording the responses leaves the already-recorded
|
|
@@ -1129,7 +1261,7 @@ describe('useGeminiStream', () => {
|
|
|
1129
1261
|
];
|
|
1130
1262
|
});
|
|
1131
1263
|
const { result } = await renderHookWithProviders(() => useGeminiStream(client, [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, 80, 24));
|
|
1132
|
-
// Call submitQuery to populate the user turn
|
|
1264
|
+
// Call submitQuery to populate the user turn
|
|
1133
1265
|
await act(async () => {
|
|
1134
1266
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
1135
1267
|
result.current.submitQuery('User prompt');
|
|
@@ -2188,6 +2320,7 @@ describe('useGeminiStream', () => {
|
|
|
2188
2320
|
});
|
|
2189
2321
|
it('should add informational messages when ChatCompressed event is received', async () => {
|
|
2190
2322
|
vi.mocked(tokenLimit).mockReturnValue(10000);
|
|
2323
|
+
const recordCompressionSpy = vi.spyOn(uiTelemetryService, 'recordCompression');
|
|
2191
2324
|
// Setup mock to return a stream with ChatCompressed event
|
|
2192
2325
|
mockSendMessageStream.mockReturnValue((async function* () {
|
|
2193
2326
|
yield {
|
|
@@ -2213,6 +2346,11 @@ describe('useGeminiStream', () => {
|
|
|
2213
2346
|
color: theme.status.warning,
|
|
2214
2347
|
}), expect.any(Number));
|
|
2215
2348
|
});
|
|
2349
|
+
expect(recordCompressionSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
2350
|
+
tokensBefore: 1000,
|
|
2351
|
+
tokensAfter: 500,
|
|
2352
|
+
turnIndex: 5,
|
|
2353
|
+
}));
|
|
2216
2354
|
});
|
|
2217
2355
|
it.each([
|
|
2218
2356
|
{
|