@huyooo/ai-chat-frontend-react 0.1.6 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +368 -0
- package/dist/index.css +2575 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.ts +378 -135
- package/dist/index.js +3956 -1042
- package/dist/index.js.map +1 -1
- package/dist/style.css +48 -987
- package/package.json +7 -4
- package/src/adapter.ts +10 -70
- package/src/components/ChatPanel.tsx +373 -117
- package/src/components/common/ConfirmDialog.css +136 -0
- package/src/components/common/ConfirmDialog.tsx +91 -0
- package/src/components/common/CopyButton.css +22 -0
- package/src/components/common/CopyButton.tsx +46 -0
- package/src/components/common/IndexingSettings.css +207 -0
- package/src/components/common/IndexingSettings.tsx +398 -0
- package/src/components/common/SettingsPanel.css +256 -0
- package/src/components/common/SettingsPanel.tsx +120 -0
- package/src/components/common/Toast.css +50 -0
- package/src/components/common/Toast.tsx +38 -0
- package/src/components/common/ToggleSwitch.css +52 -0
- package/src/components/common/ToggleSwitch.tsx +20 -0
- package/src/components/header/ChatHeader.css +285 -0
- package/src/components/header/ChatHeader.tsx +376 -0
- package/src/components/input/AtFilePicker.css +147 -0
- package/src/components/input/AtFilePicker.tsx +519 -0
- package/src/components/input/ChatInput.css +204 -0
- package/src/components/input/ChatInput.tsx +506 -0
- package/src/components/input/DropdownSelector.css +159 -0
- package/src/components/input/DropdownSelector.tsx +195 -0
- package/src/components/input/ImagePreviewModal.css +124 -0
- package/src/components/input/ImagePreviewModal.tsx +118 -0
- package/src/components/input/at-views/AtBranchView.tsx +34 -0
- package/src/components/input/at-views/AtBrowserView.tsx +34 -0
- package/src/components/input/at-views/AtChatsView.tsx +34 -0
- package/src/components/input/at-views/AtDocsView.tsx +34 -0
- package/src/components/input/at-views/AtFilesView.tsx +168 -0
- package/src/components/input/at-views/AtTerminalsView.tsx +34 -0
- package/src/components/input/at-views/AtViewStyles.css +143 -0
- package/src/components/input/at-views/index.ts +9 -0
- package/src/components/message/ContentRenderer.css +9 -0
- package/src/components/message/ContentRenderer.tsx +63 -0
- package/src/components/message/MessageBubble.css +190 -0
- package/src/components/message/MessageBubble.tsx +231 -0
- package/src/components/message/PartsRenderer.css +4 -0
- package/src/components/message/PartsRenderer.tsx +114 -0
- package/src/components/message/ToolResultRenderer.tsx +21 -0
- package/src/components/message/WelcomeMessage.css +221 -0
- package/src/components/message/WelcomeMessage.tsx +93 -0
- package/src/components/message/blocks/CodeBlock.tsx +60 -0
- package/src/components/message/blocks/TextBlock.tsx +15 -0
- package/src/components/message/blocks/blocks.css +141 -0
- package/src/components/message/blocks/index.ts +6 -0
- package/src/components/message/parts/CollapsibleCard.css +78 -0
- package/src/components/message/parts/CollapsibleCard.tsx +77 -0
- package/src/components/message/parts/ErrorPart.css +9 -0
- package/src/components/message/parts/ErrorPart.tsx +40 -0
- package/src/components/message/parts/ImagePart.css +50 -0
- package/src/components/message/parts/ImagePart.tsx +54 -0
- package/src/components/message/parts/SearchPart.css +44 -0
- package/src/components/message/parts/SearchPart.tsx +63 -0
- package/src/components/message/parts/TextPart.css +10 -0
- package/src/components/message/parts/TextPart.tsx +20 -0
- package/src/components/message/parts/ThinkingPart.css +9 -0
- package/src/components/message/parts/ThinkingPart.tsx +48 -0
- package/src/components/message/parts/ToolCallPart.css +220 -0
- package/src/components/message/parts/ToolCallPart.tsx +285 -0
- package/src/components/message/parts/ToolResultPart.css +68 -0
- package/src/components/message/parts/ToolResultPart.tsx +96 -0
- package/src/components/message/parts/index.ts +11 -0
- package/src/components/message/tool-results/DefaultToolResult.tsx +26 -0
- package/src/components/message/tool-results/SearchResults.tsx +69 -0
- package/src/components/message/tool-results/WeatherCard.tsx +63 -0
- package/src/components/message/tool-results/index.ts +7 -0
- package/src/components/message/tool-results/tool-results.css +179 -0
- package/src/components/message/welcome-types.ts +46 -0
- package/src/context/AutoRunConfigContext.tsx +13 -0
- package/src/context/ChatAdapterContext.tsx +8 -0
- package/src/context/ChatInputContext.tsx +40 -0
- package/src/context/RenderersContext.tsx +41 -0
- package/src/hooks/useChat.ts +855 -237
- package/src/hooks/useImageUpload.ts +253 -0
- package/src/index.ts +96 -39
- package/src/styles.css +48 -987
- package/src/types/index.ts +172 -103
- package/src/utils/fileIcon.ts +49 -0
- package/src/components/ChatInput.tsx +0 -368
- package/src/components/chat/messages/ExecutionSteps.tsx +0 -234
- package/src/components/chat/messages/MessageBubble.tsx +0 -130
- package/src/components/chat/ui/ChatHeader.tsx +0 -301
- package/src/components/chat/ui/WelcomeMessage.tsx +0 -107
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/header/ChatHeader.css","../src/components/message/WelcomeMessage.css","../src/components/message/MessageBubble.css","../src/components/message/parts/CollapsibleCard.css","../src/components/message/parts/TextPart.css","../src/components/message/parts/ThinkingPart.css","../src/components/message/parts/SearchPart.css","../src/components/input/DropdownSelector.css","../src/components/common/CopyButton.css","../src/components/message/parts/ToolCallPart.css","../src/components/message/parts/ToolResultPart.css","../src/components/message/parts/ImagePart.css","../src/components/message/parts/ErrorPart.css","../src/components/message/PartsRenderer.css","../src/components/input/ChatInput.css","../src/components/input/at-views/AtViewStyles.css","../src/components/input/AtFilePicker.css","../src/components/input/ImagePreviewModal.css","../src/components/common/ConfirmDialog.css","../src/components/common/Toast.css","../src/components/common/IndexingSettings.css","../src/components/common/SettingsPanel.css","../src/components/message/blocks/blocks.css","../src/components/message/ContentRenderer.css","../src/components/message/tool-results/tool-results.css"],"sourcesContent":["/**\n * ChatHeader 组件样式\n */\n\n.chat-header {\n display: flex;\n align-items: center;\n height: 40px;\n padding: 0 12px;\n background: var(--chat-header-bg, #1e1e1e);\n border-bottom: 1px solid var(--chat-border, #333);\n flex-shrink: 0;\n}\n\n.tabs-container {\n display: flex;\n align-items: center;\n gap: 4px;\n flex: 1;\n overflow-x: auto;\n padding-right: 8px;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n\n.tab-item {\n position: relative;\n display: flex;\n align-items: center;\n padding: 4px 8px;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: var(--chat-text-muted, #888);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n white-space: nowrap;\n max-width: 120px;\n flex-shrink: 0;\n}\n\n.tab-item:hover {\n color: var(--chat-text, #ccc);\n}\n\n.tab-item.active {\n background: var(--chat-muted, #3c3c3c);\n color: var(--chat-text, #fff);\n}\n\n.tab-title {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.tab-close {\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n padding: 0;\n padding-left: 8px;\n background: linear-gradient(to right, transparent, var(--chat-bg, #1e1e1e) 50%);\n border: none;\n border-radius: 0 4px 4px 0;\n color: var(--chat-text-muted, #666);\n cursor: pointer;\n transition: all 0.15s;\n opacity: 0;\n}\n\n.tab-item:hover .tab-close {\n opacity: 1;\n}\n\n.tab-item.active .tab-close {\n background: linear-gradient(to right, transparent, var(--chat-muted, #3c3c3c) 50%);\n}\n\n.tab-close:hover {\n color: var(--chat-text, #fff);\n}\n\n.header-actions {\n display: flex;\n align-items: center;\n gap: 2px;\n flex-shrink: 0;\n}\n\n.header-actions .icon-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: var(--chat-text-muted, #888);\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.header-actions .icon-btn:hover,\n.header-actions .icon-btn.active {\n color: var(--chat-text, #fff);\n}\n\n.header-actions .icon-btn.small {\n width: 20px;\n height: 20px;\n}\n\n.dropdown-container {\n position: relative;\n}\n\n.dropdown-panel {\n position: absolute;\n top: 100%;\n right: 0;\n margin-top: 4px;\n background: var(--chat-dropdown-bg, #252526);\n border: 1px solid rgba(255, 255, 255, 0.1);\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);\n z-index: 100;\n overflow: hidden;\n}\n\n.history-panel {\n width: 360px;\n}\n\n.more-panel {\n width: 200px;\n padding: 4px;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n border-bottom: 1px solid var(--chat-border, #333);\n font-size: 14px;\n font-weight: 500;\n color: var(--chat-text-muted, #888);\n}\n\n.panel-content {\n max-height: 400px;\n overflow-y: auto;\n}\n\n/* 日期分组标签 */\n.history-group-label {\n padding: 8px 12px 4px;\n font-size: 14px;\n font-weight: 500;\n color: var(--chat-text-muted, #666);\n}\n\n.history-group-label:not(:first-child) {\n border-top: 1px solid var(--chat-border, #333);\n margin-top: 4px;\n padding-top: 12px;\n}\n\n.history-item {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 6px 12px;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.history-item:hover {\n background: rgba(255, 255, 255, 0.08);\n}\n\n.history-item.active {\n background: rgba(255, 255, 255, 0.1);\n}\n\n.history-title {\n flex: 1;\n font-size: 14px;\n color: var(--chat-text, #ccc);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.history-time {\n font-size: 14px;\n color: var(--chat-text-muted, #666);\n flex-shrink: 0;\n margin-right: 10px;\n}\n\n.history-actions {\n display: flex;\n align-items: center;\n gap: 2px;\n flex-shrink: 0;\n opacity: 0;\n transition: opacity 0.15s;\n}\n\n.history-item:hover .history-actions {\n opacity: 1;\n}\n\n.history-action-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n background: transparent;\n border: none;\n border-radius: 6px;\n color: var(--chat-text-muted, #666);\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.history-action-btn:hover {\n color: var(--chat-text, #fff);\n}\n\n.history-action-btn.delete:hover {\n color: var(--chat-destructive, #ef4444);\n}\n\n.empty-state {\n padding: 20px;\n text-align: center;\n font-size: 14px;\n color: var(--chat-text-muted, #666);\n}\n\n.menu-item {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 8px 10px;\n border: none;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: var(--chat-text-muted, #999);\n cursor: pointer;\n transition: all 0.15s;\n text-align: left;\n}\n\n.menu-item:hover {\n background: rgba(255, 255, 255, 0.08);\n color: var(--chat-text, #ccc);\n}\n\n.menu-divider {\n height: 1px;\n background: var(--chat-border, #333);\n margin: 4px 0;\n}\n",".welcome-message {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 28px;\n padding: 40px 24px;\n max-width: 640px;\n margin: 0 auto;\n min-height: 100%;\n}\n\n/* 标题区域 */\n.welcome-header {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n gap: 8px;\n}\n\n.welcome-title-row {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.welcome-icon {\n color: var(--chat-text-muted, #888);\n}\n\n.welcome-title {\n font-size: 24px;\n font-weight: 600;\n color: var(--chat-text, #fff);\n margin: 0;\n}\n\n.welcome-subtitle {\n font-size: 13px;\n color: var(--chat-text-muted, #888);\n margin: 0;\n}\n\n/* 区域标题 */\n.section-header {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 12px;\n padding-left: 2px;\n}\n\n.section-icon {\n color: var(--chat-text-muted, #666);\n}\n\n.section-title {\n font-size: 12px;\n font-weight: 500;\n color: var(--chat-text-muted, #888);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n/* 能力标签 */\n.features-section {\n width: 100%;\n}\n\n.features-list {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n justify-content: center;\n}\n\n.feature-tag {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: var(--chat-muted, #2a2a2a);\n border: 1px solid var(--chat-border, #3a3a3a);\n border-radius: 20px;\n font-size: 12px;\n color: var(--chat-text, #ccc);\n transition: all 0.15s;\n}\n\n.feature-tag:hover {\n background: rgba(255, 255, 255, 0.08);\n border-color: rgba(255, 255, 255, 0.15);\n}\n\n.feature-icon {\n color: var(--chat-text-muted, #888);\n}\n\n/* 快捷操作 */\n.tasks-section {\n width: 100%;\n}\n\n.tasks-grid {\n display: grid;\n gap: 10px;\n}\n\n/* 单个任务:居中显示 */\n.tasks-single {\n grid-template-columns: minmax(200px, 320px);\n justify-content: center;\n}\n\n/* 两个任务:两列 */\n.tasks-two {\n grid-template-columns: repeat(2, 1fr);\n}\n\n/* 三个任务:三列 */\n.tasks-three {\n grid-template-columns: repeat(3, 1fr);\n}\n\n/* 多个任务:两列自动换行 */\n.tasks-multi {\n grid-template-columns: repeat(2, 1fr);\n}\n\n.task-card {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 12px 14px;\n background: var(--chat-muted, #2a2a2a);\n border: 1px solid var(--chat-border, #3a3a3a);\n border-radius: 10px;\n color: var(--chat-text, #ccc);\n text-align: left;\n cursor: pointer;\n transition: all 0.2s;\n}\n\n.task-card:hover {\n background: rgba(255, 255, 255, 0.08);\n border-color: rgba(59, 130, 246, 0.5);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n}\n\n.task-icon {\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(59, 130, 246, 0.15);\n border-radius: 8px;\n color: #60a5fa;\n}\n\n.task-card:hover .task-icon {\n background: rgba(59, 130, 246, 0.25);\n}\n\n.task-content {\n flex: 1;\n min-width: 0;\n}\n\n.task-name {\n font-size: 13px;\n font-weight: 500;\n color: var(--chat-text, #fff);\n margin-bottom: 2px;\n}\n\n.task-desc {\n font-size: 11px;\n color: var(--chat-text-muted, #888);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.task-arrow {\n flex-shrink: 0;\n color: var(--chat-text-muted, #666);\n opacity: 0;\n transform: translateX(-4px);\n transition: all 0.2s;\n}\n\n.task-card:hover .task-arrow {\n opacity: 1;\n transform: translateX(0);\n}\n\n/* 响应式 */\n@media (max-width: 540px) {\n .welcome-message {\n padding: 32px 16px;\n gap: 24px;\n }\n\n .welcome-title {\n font-size: 24px;\n }\n\n .tasks-two,\n .tasks-three,\n .tasks-multi {\n grid-template-columns: 1fr;\n }\n\n .task-arrow {\n display: none;\n }\n}\n","/**\n * MessageBubble 组件样式\n * 与 Vue 版本 MessageBubble.vue 保持一致\n */\n\n.message-bubble {\n padding: 8px 0;\n animation: fadeIn 0.2s ease;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* 用户消息 */\n.message-bubble.user {\n width: 100%;\n}\n\n.user-content {\n width: 100%;\n background: var(--chat-muted, #2d2d2d);\n color: var(--chat-text, #ccc);\n padding: 12px;\n border-radius: 12px;\n border: 1px solid var(--chat-border, #444);\n}\n\n.user-text {\n font-size: 14px;\n line-height: 1.5;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.user-images {\n display: flex;\n gap: 8px;\n margin-top: 8px;\n flex-wrap: wrap;\n}\n\n.user-image {\n width: 80px;\n height: 80px;\n object-fit: cover;\n border-radius: 8px;\n cursor: pointer;\n transition: transform 0.15s;\n}\n\n.user-image:hover {\n transform: scale(1.05);\n}\n\n/* 助手消息 */\n.message-bubble.assistant {\n position: relative;\n}\n\n.assistant-content {\n max-width: 100%;\n}\n\n/* 加载提示 - 等待状态时 */\n.loading-indicator {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n padding: 10px 16px;\n background: var(--chat-muted, #2a2a2a);\n border-radius: 8px;\n overflow: hidden;\n margin: 8px 0;\n}\n\n.loading-text {\n font-size: 13px;\n color: var(--chat-text-muted, #888);\n position: relative;\n z-index: 1;\n}\n\n.loading-shimmer {\n position: absolute;\n top: 0;\n left: -100%;\n width: 100%;\n height: 100%;\n background: linear-gradient(\n 90deg,\n transparent 0%,\n rgba(255, 255, 255, 0.08) 50%,\n transparent 100%\n );\n animation: shimmer 1.5s ease-in-out infinite;\n}\n\n@keyframes shimmer {\n 0% {\n left: -100%;\n }\n 100% {\n left: 100%;\n }\n}\n\n/* 操作按钮 */\n.message-actions {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-top: 8px;\n}\n\n.message-meta {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.model-name {\n font-size: 11px;\n color: var(--chat-text-muted, #888);\n background: var(--chat-muted, #2a2a2a);\n padding: 2px 8px;\n border-radius: 10px;\n border: 1px solid var(--chat-border, #333);\n}\n\n.mode-badge {\n font-size: 10px;\n color: var(--chat-text-muted, #888);\n background: var(--chat-muted, #2a2a2a);\n padding: 2px 6px;\n border-radius: 10px;\n border: 1px solid var(--chat-border, #333);\n}\n\n.action-buttons {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.action-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: none;\n background: transparent;\n border-radius: 4px;\n color: var(--chat-text-muted, #666);\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.action-btn:hover {\n background: var(--chat-muted, #3c3c3c);\n color: var(--chat-text, #ccc);\n}\n\n.action-btn.copied {\n color: #22c55e;\n}\n\n/* 消息时间 */\n.message-time {\n font-size: 12px;\n color: var(--chat-text-muted, #666);\n}\n\n.user-time {\n text-align: right;\n margin-top: 8px;\n}\n\n.assistant-time {\n margin-right: 8px;\n}\n",".collapsible-card {\n margin: 8px 0;\n border-radius: 8px;\n background: var(--chat-muted, #2a2a2a);\n border: 1px solid var(--chat-border, #333);\n overflow: hidden;\n}\n\n.card-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n padding: 8px 12px;\n user-select: none;\n}\n\n.card-header-left {\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n cursor: pointer;\n}\n\n.card-header-right {\n display: flex;\n align-items: center;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.card-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.spinning {\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n.card-title {\n font-size: 13px;\n color: var(--chat-text-muted, #888);\n}\n\n.card-subtitle {\n font-size: 12px;\n color: var(--chat-text-muted, #666);\n}\n\n.card-chevron {\n color: var(--chat-text-muted, #666);\n transition: transform 0.2s;\n flex-shrink: 0;\n cursor: pointer;\n}\n\n.collapsible-card.expanded .card-chevron {\n transform: rotate(180deg);\n}\n\n.card-content {\n padding: 12px;\n min-width: 0;\n overflow: hidden;\n}\n","/* 导入 Markdown 渲染样式 */\n@import '@huyooo/ai-chat-shared/styles';\n\n.text-part {\n font-size: 14px;\n line-height: 1.7;\n color: var(--chat-text, #ccc);\n word-break: break-word;\n overflow-wrap: break-word;\n}\n",".thinking-content {\n font-size: 13px;\n line-height: 1.5;\n color: var(--chat-text-muted, #999);\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: break-word;\n margin: 0;\n}\n",".search-results {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.search-item {\n display: block;\n padding: 8px;\n border-radius: 6px;\n background: var(--chat-bg, #1e1e1e);\n text-decoration: none;\n transition: background 0.15s;\n}\n\n.search-item:hover {\n background: var(--chat-hover, #333);\n}\n\n.search-item-title {\n font-size: 13px;\n font-weight: 500;\n color: var(--chat-accent, #3b82f6);\n margin-bottom: 4px;\n}\n\n.search-item-snippet {\n font-size: 12px;\n color: var(--chat-text-muted, #888);\n line-height: 1.4;\n margin-bottom: 4px;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.search-item-url {\n font-size: 11px;\n color: var(--chat-text-muted, #666);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","/**\n * DropdownSelector 组件样式\n */\n\n.dropdown-selector {\n position: relative;\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 4px 8px;\n background: var(--chat-muted, #3c3c3c);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n color: var(--chat-text-muted, #888);\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.dropdown-selector:hover:not(.disabled) {\n background: var(--chat-muted-hover, #444);\n color: var(--chat-text, #ccc);\n}\n\n.dropdown-selector.disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.dropdown-selector .chevron {\n color: var(--chat-text-muted, #666);\n}\n\n/* 下拉菜单 */\n.dropdown-selector .dropdown-menu {\n position: absolute;\n left: 0;\n right: auto;\n min-width: 180px;\n max-height: 320px;\n overflow-y: auto;\n background: var(--chat-dropdown-bg, #252526);\n border: 1px solid rgba(255, 255, 255, 0.1);\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);\n z-index: 9999;\n padding: 4px 8px 4px 4px;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n/* 向上弹出 */\n.dropdown-selector .dropdown-menu.dropdown-up {\n bottom: 100%;\n top: auto;\n margin-bottom: 4px;\n}\n\n/* 向下弹出 */\n.dropdown-selector .dropdown-menu.dropdown-down {\n top: 100%;\n bottom: auto;\n margin-top: 4px;\n}\n\n/* 右对齐 */\n.dropdown-selector .dropdown-menu.dropdown-align-right {\n left: auto;\n right: 0;\n}\n\n.dropdown-selector .dropdown-item {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 8px 10px;\n border: none;\n background: transparent;\n border-radius: 4px;\n font-size: 14px;\n color: var(--chat-text-muted, #999);\n cursor: pointer;\n transition: all 0.15s;\n white-space: nowrap;\n}\n\n.dropdown-selector .dropdown-item:hover {\n background: rgba(255, 255, 255, 0.08);\n color: var(--chat-text, #ccc);\n}\n\n.dropdown-selector .dropdown-item.active {\n background: rgba(255, 255, 255, 0.1);\n color: var(--chat-text, #fff);\n}\n\n.dropdown-selector .check-icon {\n margin-left: auto;\n color: var(--chat-text, #ccc);\n flex-shrink: 0;\n}\n\n.dropdown-selector .selector-text {\n /* max-width: 150px; */\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* 空状态 */\n.dropdown-selector .dropdown-empty {\n padding: 12px 10px;\n font-size: 12px;\n color: var(--chat-text-muted, #666);\n text-align: center;\n}\n\n/* 分组标题 */\n.dropdown-selector .group-title {\n padding: 8px 10px 4px;\n margin-top: 4px;\n font-size: 11px;\n color: var(--chat-text-muted, #666);\n}\n\n.dropdown-selector .group-title:first-child {\n margin-top: 0;\n}\n\n/* 选项标签 */\n.dropdown-selector .option-label {\n flex: 1;\n text-align: left;\n}\n\n/* 右侧容器(标签和勾选图标) */\n.dropdown-selector .option-right {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-left: auto;\n}\n\n/* 提供商标记 */\n.dropdown-selector .provider-badge {\n padding: 2px 6px;\n font-size: 11px;\n font-weight: 500;\n color: var(--chat-text-muted, #999);\n background: rgba(255, 255, 255, 0.08);\n border-radius: 3px;\n white-space: nowrap;\n}\n\n.dropdown-selector .provider-badge.native {\n color: var(--chat-text-muted, #999);\n}\n",".copy-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 4px;\n background: transparent;\n border: none;\n color: var(--chat-text-muted, #888);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.2s;\n}\n\n.copy-btn:hover {\n background: rgba(255, 255, 255, 0.1);\n color: var(--chat-text, #fff);\n}\n\n.copy-btn.copied {\n color: var(--chat-success, #22c55e);\n}\n\n",".tool-call-content {\n display: flex;\n flex-direction: column;\n}\n\n.tool-call-command {\n margin-bottom: 12px;\n}\n\n.command-header,\n.result-header {\n display: block;\n margin-bottom: 8px;\n padding: 0;\n cursor: default;\n user-select: none;\n font-size: 12px;\n line-height: 1.5;\n}\n\n/* 确保没有 hover 效果 - 明确覆盖其他地方的样式 */\n.command-header:hover,\n.result-header:hover,\n.command-label:hover,\n.result-label:hover,\n.command-name:hover,\n.result-name:hover {\n background: transparent !important;\n}\n\n.command-code {\n display: block;\n padding: 10px;\n background: rgba(0, 0, 0, 0.3);\n border: 1px solid var(--chat-border, #333);\n border-radius: 6px;\n font-family: \"Monaco\", \"Menlo\", \"Courier New\", monospace;\n font-size: 13px;\n color: var(--chat-text, #ccc);\n white-space: pre-wrap;\n word-break: break-all;\n overflow-x: auto;\n}\n\n.tool-call-result {\n margin-bottom: 12px;\n}\n\n.result-label,\n.command-label {\n color: var(--chat-text-muted, #888);\n font-weight: 500;\n}\n\n.result-name,\n.command-name {\n color: var(--chat-text, #ccc);\n}\n\n.result-content {\n display: block;\n padding: 10px;\n background: rgba(0, 0, 0, 0.3);\n border: 1px solid var(--chat-border, #333);\n border-radius: 6px;\n font-family: \"Monaco\", \"Menlo\", \"Courier New\", monospace;\n font-size: 13px;\n color: var(--chat-text, #ccc);\n white-space: pre-wrap;\n word-break: break-all;\n overflow-x: auto;\n}\n\n.execution-stats {\n display: flex;\n gap: 16px;\n margin-bottom: 12px;\n padding-top: 8px;\n border-top: 1px solid var(--chat-border, #333);\n}\n\n.stat-item {\n display: flex;\n gap: 4px;\n font-size: 12px;\n}\n\n.stat-label {\n color: var(--chat-text-muted, #888);\n}\n\n.stat-value {\n color: var(--chat-text, #ccc);\n}\n\n.tool-call-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding-top: 12px;\n border-top: 1px solid var(--chat-border, #333);\n}\n\n.footer-left {\n flex-shrink: 0;\n position: relative;\n z-index: 10;\n}\n\n.footer-right {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.execution-status {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.execution-status.success {\n color: var(--chat-success, #22c55e);\n}\n\n.execution-status.error {\n color: #ef4444;\n}\n\n.execution-status.running {\n color: var(--chat-accent, #3b82f6);\n}\n\n.execution-status.pending {\n color: var(--chat-text-muted, #888);\n}\n\n.mode-display {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n}\n\n.mode-label {\n color: var(--chat-text-muted, #888);\n}\n\n.mode-value {\n color: var(--chat-text, #ccc);\n}\n\n.spinning {\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n.action-buttons {\n display: flex;\n gap: 8px;\n}\n\n.btn {\n padding: 6px 12px;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n border: none;\n display: flex;\n align-items: center;\n gap: 6px;\n transition: all 0.2s;\n}\n\n.btn-skip {\n background: var(--chat-muted, #2a2a2a);\n color: var(--chat-text, #ccc);\n border: 1px solid var(--chat-border, #333);\n}\n\n.btn-skip:hover {\n background: var(--chat-muted-hover, #333);\n}\n\n.btn-run {\n background: var(--chat-accent, #3b82f6);\n color: #fff;\n}\n\n.btn-run:hover {\n background: var(--chat-accent-hover, #2563eb);\n}\n\n.btn-cancel {\n background: transparent;\n color: var(--chat-text-muted, #888);\n border: 1px solid var(--chat-border, #333);\n}\n\n.btn-cancel:hover {\n background: rgba(239, 68, 68, 0.1);\n color: #ef4444;\n border-color: #ef4444;\n}\n\n.execution-status.cancelled {\n color: var(--chat-warning, #f59e0b);\n}\n",".tool-result-part {\n margin: 8px 0;\n}\n\n.default-result {\n border-radius: 8px;\n background: var(--chat-muted, #2a2a2a);\n border: 1px solid var(--chat-border, #333);\n overflow: hidden;\n}\n\n/* 将样式限定在 .default-result 内部,避免污染其他组件 */\n.default-result .result-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n user-select: none;\n}\n\n.default-result .result-header:hover {\n background: var(--chat-hover, #333);\n}\n\n.default-result .result-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.default-result .result-icon .success {\n color: var(--chat-success, #22c55e);\n}\n\n.default-result .result-icon .error {\n color: var(--chat-error, #ef4444);\n}\n\n.default-result .result-name {\n font-size: 13px;\n font-weight: 500;\n color: var(--chat-text, #ccc);\n}\n\n.default-result .result-chevron {\n margin-left: auto;\n color: var(--chat-text-muted, #666);\n transition: transform 0.2s;\n}\n\n.default-result.expanded .result-chevron {\n transform: rotate(180deg);\n}\n\n.default-result .result-content {\n padding: 12px;\n padding-top: 0;\n}\n\n.default-result .result-content pre {\n margin: 0;\n font-size: 12px;\n font-family: \"SF Mono\", Monaco, \"Cascadia Code\", monospace;\n color: var(--chat-text-muted, #999);\n white-space: pre-wrap;\n word-break: break-word;\n}\n",".image-part {\n position: relative;\n margin: 8px 0;\n max-width: 100%;\n display: inline-block;\n}\n\n.image-content {\n max-width: 100%;\n max-height: 400px;\n border-radius: 8px;\n cursor: pointer;\n transition: opacity 0.2s;\n}\n\n.image-content:hover {\n opacity: 0.9;\n}\n\n.image-loading,\n.image-error {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 24px;\n background: var(--chat-muted, #2a2a2a);\n border-radius: 8px;\n color: var(--chat-text-muted, #888);\n min-width: 200px;\n min-height: 150px;\n}\n\n.spinning {\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n.image-error span {\n font-size: 13px;\n}\n",".error-content {\n font-size: 13px;\n line-height: 1.5;\n color: var(--chat-text-muted, #999);\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: break-word;\n margin: 0;\n}\n",".parts-renderer {\n display: flex;\n flex-direction: column;\n}\n","/**\n * ChatInput 组件样式\n */\n\n.chat-input {\n padding: 12px;\n}\n\n.chat-input.message-variant {\n padding: 0;\n margin-bottom: 16px;\n}\n\n.input-container {\n display: flex;\n flex-direction: column;\n background: var(--chat-input-bg, #2d2d2d);\n border: 1px solid var(--chat-border, #444);\n border-radius: 12px;\n padding: 12px;\n transition: border-color 0.15s;\n}\n\n.input-container.focused {\n border-color: rgba(255, 255, 255, 0.2);\n}\n\n.input-container.drag-over {\n border-color: var(--chat-primary, #2563eb);\n background: rgba(37, 99, 235, 0.1);\n}\n\n/* 图片预览区 */\n.images-preview {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-bottom: 8px;\n}\n\n.image-preview-item {\n position: relative;\n width: 48px;\n height: 48px;\n border-radius: 6px;\n overflow: hidden;\n background: rgba(0, 0, 0, 0.2);\n}\n\n.image-thumbnail {\n width: 100%;\n height: 100%;\n object-fit: cover;\n cursor: pointer;\n transition: opacity 0.15s;\n}\n\n.image-thumbnail:hover {\n opacity: 0.8;\n}\n\n.image-remove-btn {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 16px;\n height: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(0, 0, 0, 0.5);\n border: none;\n border-radius: 50%;\n color: #fff;\n cursor: pointer;\n opacity: 0;\n transition: all 0.15s;\n}\n\n.image-preview-item:hover .image-remove-btn {\n opacity: 1;\n}\n\n.image-remove-btn:hover {\n background: rgba(239, 68, 68, 0.9);\n}\n\n/* 隐藏的文件输入 */\n.hidden-input {\n display: none;\n}\n\n/* 输入框 */\n.input-field-wrapper {\n margin-bottom: 8px;\n}\n\n.input-field {\n width: 100%;\n background: transparent;\n border: none;\n padding: 0;\n padding-right: 8px;\n color: var(--chat-text, #ccc);\n font-size: 14px;\n resize: none;\n min-height: 24px;\n max-height: 150px;\n line-height: 1.5;\n font-family: inherit;\n overflow-y: auto;\n}\n\n.input-field:focus {\n outline: none;\n}\n\n.input-field::placeholder {\n color: var(--chat-text-muted, #666);\n}\n\n/* 底部控制栏 */\n.input-controls {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n\n.input-left {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n/* 右侧按钮 */\n.input-right {\n display: flex;\n align-items: center;\n gap: 2px;\n}\n\n/* @ 选择器容器 */\n.at-picker-wrapper {\n position: relative;\n}\n\n.input-right .icon-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n background: transparent;\n border: none;\n border-radius: 6px;\n color: var(--chat-text-muted, #666);\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.input-right .icon-btn:hover {\n color: var(--chat-text, #ccc);\n}\n\n.toggle-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n background: transparent;\n border: none;\n border-radius: 6px;\n color: var(--chat-text-muted, #666);\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.toggle-btn:hover {\n color: var(--chat-text, #ccc);\n}\n\n.toggle-btn.active {\n color: var(--chat-text, #fff);\n}\n\n.send-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n background: transparent;\n border: none;\n border-radius: 6px;\n color: var(--chat-text-muted, #666);\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.send-btn:hover {\n color: var(--chat-text, #ccc);\n}\n","/* 子视图共享样式 */\n\n.at-files-view {\n display: flex;\n flex-direction: column;\n}\n\n.at-view-section-title {\n font-size: 11px;\n color: #888;\n padding: 6px 8px 4px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.at-view-pathbar {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 4px 8px 8px;\n}\n\n.at-view-pathbtn {\n width: 22px;\n height: 22px;\n border-radius: 4px;\n background: transparent;\n border: 1px solid rgba(255, 255, 255, 0.1);\n color: #999;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.at-view-pathbtn:hover {\n background: rgba(255, 255, 255, 0.06);\n color: #ccc;\n}\n\n.at-view-pathtext {\n flex: 1;\n min-width: 0;\n font-size: 11px;\n color: #777;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.at-view-list {\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n\n.at-view-item {\n display: flex;\n align-items: center;\n gap: 8px;\n text-align: left;\n padding: 7px 10px;\n border-radius: 6px;\n border: 1px solid transparent;\n background: transparent;\n cursor: pointer;\n color: #ccc;\n width: 100%;\n}\n\n.at-view-item:hover {\n background: rgba(255, 255, 255, 0.06);\n}\n\n.at-view-item.active {\n background: rgba(59, 130, 246, 0.15);\n border-color: rgba(59, 130, 246, 0.3);\n}\n\n.at-view-item-icon {\n color: #999;\n flex-shrink: 0;\n}\n\n.at-view-item-name {\n font-size: 13px;\n color: #ddd;\n flex-shrink: 0;\n max-width: 160px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.at-view-item-path {\n font-size: 11px;\n color: #555;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n}\n\n.at-view-empty {\n padding: 12px 10px;\n color: #666;\n font-size: 12px;\n text-align: center;\n}\n\n/* 占位视图样式 */\n.at-placeholder-view {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 32px 16px;\n text-align: center;\n}\n\n.at-placeholder-icon {\n color: #555;\n margin-bottom: 12px;\n}\n\n.at-placeholder-title {\n font-size: 14px;\n font-weight: 500;\n color: #888;\n margin-bottom: 8px;\n}\n\n.at-placeholder-desc {\n font-size: 13px;\n color: #666;\n margin-bottom: 4px;\n}\n\n.at-placeholder-hint {\n font-size: 11px;\n color: #555;\n}\n",".at-picker-dropdown {\n position: fixed;\n width: 332px;\n background: var(--chat-dropdown-bg, #252526);\n border: 1px solid rgba(255, 255, 255, 0.1);\n border-radius: 10px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);\n z-index: 99999;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.at-picker-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 12px;\n border-bottom: 1px solid rgba(255, 255, 255, 0.06);\n}\n\n.at-picker-back {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: #888;\n cursor: pointer;\n flex-shrink: 0;\n}\n\n.at-picker-back:hover {\n background: rgba(255, 255, 255, 0.08);\n color: #ccc;\n}\n\n.at-picker-search-icon {\n color: #666;\n flex-shrink: 0;\n}\n\n.at-picker-search {\n flex: 1;\n background: transparent;\n border: none;\n outline: none;\n color: #ddd;\n font-size: 13px;\n}\n\n.at-picker-body {\n padding: 6px;\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n}\n\n/* 滚动期间禁用鼠标悬停事件 */\n.at-picker-body.is-scrolling .at-picker-item,\n.at-picker-body.is-scrolling .at-view-item {\n pointer-events: none;\n}\n\n.at-picker-section {\n margin-bottom: 2px;\n}\n\n.at-picker-recent {\n padding-bottom: 6px;\n margin-bottom: 6px;\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n}\n\n.at-picker-list {\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n\n.at-picker-item {\n display: flex;\n align-items: center;\n gap: 8px;\n text-align: left;\n padding: 7px 10px;\n border-radius: 6px;\n border: 1px solid transparent;\n background: transparent;\n cursor: pointer;\n color: #ccc;\n width: 100%;\n}\n\n.at-picker-item:hover {\n background: rgba(255, 255, 255, 0.06);\n}\n\n.at-picker-item.active {\n background: rgba(59, 130, 246, 0.15);\n border-color: rgba(59, 130, 246, 0.3);\n}\n\n.at-picker-item-icon {\n color: #999;\n flex-shrink: 0;\n}\n\n.at-picker-item-name {\n font-size: 13px;\n color: #ddd;\n flex-shrink: 0;\n max-width: 160px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.at-picker-item-path {\n font-size: 11px;\n color: #555;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n}\n\n.at-picker-category .at-picker-item-name {\n flex: 1;\n max-width: none;\n}\n\n.at-picker-chevron {\n color: #555;\n flex-shrink: 0;\n}\n\n.at-picker-footer {\n padding: 8px 12px;\n border-top: 1px solid rgba(255, 255, 255, 0.06);\n color: #555;\n font-size: 11px;\n}\n","/* 遮罩层 */\n.image-preview-modal {\n position: fixed;\n inset: 0;\n z-index: 99999;\n display: flex;\n flex-direction: column;\n background: rgb(61 61 61 / 40%);\n backdrop-filter: blur(8px);\n animation: fadeIn 0.2s ease;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n/* 顶部栏 */\n.preview-header {\n position: relative;\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 16px 20px;\n min-height: 52px;\n}\n\n.preview-counter {\n color: rgba(255, 255, 255, 0.85);\n font-size: 14px;\n font-variant-numeric: tabular-nums;\n}\n\n.preview-close-btn {\n position: absolute;\n right: 16px;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n height: 36px;\n padding: 0 12px;\n background: rgba(255, 255, 255, 0.1);\n border: none;\n border-radius: 8px;\n color: #fff;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.preview-close-btn:hover {\n background: rgba(255, 255, 255, 0.2);\n transform: translateY(-50%) scale(1.05);\n}\n\n.preview-close-btn:active {\n transform: translateY(-50%) scale(0.95);\n}\n\n/* 导航按钮 */\n.preview-nav-btn {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 40px;\n padding: 0 12px;\n background: rgba(255, 255, 255, 0.1);\n border: none;\n border-radius: 8px;\n color: #fff;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.preview-nav-btn:hover:not(.disabled) {\n background: rgba(255, 255, 255, 0.2);\n transform: translateY(-50%) scale(1.1);\n}\n\n.preview-nav-btn:active:not(.disabled) {\n transform: translateY(-50%) scale(0.95);\n}\n\n.preview-nav-btn.disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.preview-nav-prev {\n left: 24px;\n}\n\n.preview-nav-next {\n right: 24px;\n}\n\n/* 主图片区域 */\n.preview-main {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n padding: 0 80px;\n}\n\n.preview-image {\n max-width: calc(100% - 80px);\n max-height: calc(100vh - 140px);\n object-fit: contain;\n border-radius: 8px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);\n}\n",".confirm-dialog-overlay {\n position: fixed;\n inset: 0;\n z-index: 1000;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(2px);\n animation: fadeIn 0.2s ease;\n}\n\n.confirm-dialog {\n width: 100%;\n max-width: 400px;\n margin: 16px;\n background: var(--chat-dropdown-bg, #252526);\n border: 1px solid rgba(255, 255, 255, 0.1);\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);\n overflow: hidden;\n animation: scaleIn 0.2s ease;\n}\n\n.confirm-dialog-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n border-bottom: 1px solid var(--chat-border, #333);\n}\n\n.confirm-dialog-header .icon {\n flex-shrink: 0;\n}\n\n.confirm-dialog-header .icon.warning {\n color: #f59e0b;\n}\n\n.confirm-dialog-header .icon.danger {\n color: #ef4444;\n}\n\n.confirm-dialog-header .icon.info {\n color: #3b82f6;\n}\n\n.confirm-dialog-header .title {\n font-size: 14px;\n font-weight: 600;\n color: var(--chat-text, #fff);\n}\n\n.confirm-dialog-content {\n padding: 16px;\n font-size: 13px;\n line-height: 1.6;\n color: var(--chat-text-muted, #999);\n}\n\n.confirm-dialog-footer {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n padding: 12px 16px;\n border-top: 1px solid var(--chat-border, #333);\n}\n\n.confirm-dialog-footer .btn {\n padding: 6px 12px;\n font-size: 13px;\n font-weight: 500;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.confirm-dialog-footer .btn-cancel {\n background: transparent;\n color: var(--chat-text-muted, #999);\n border: 1px solid var(--chat-border, #444);\n}\n\n.confirm-dialog-footer .btn-cancel:hover {\n background: rgba(255, 255, 255, 0.05);\n color: var(--chat-text, #fff);\n}\n\n.confirm-dialog-footer .btn-info {\n background: #3b82f6;\n color: #fff;\n}\n\n.confirm-dialog-footer .btn-info:hover {\n background: #2563eb;\n}\n\n.confirm-dialog-footer .btn-warning {\n background: #f59e0b;\n color: #000;\n}\n\n.confirm-dialog-footer .btn-warning:hover {\n background: #d97706;\n}\n\n.confirm-dialog-footer .btn-danger {\n background: #ef4444;\n color: #fff;\n}\n\n.confirm-dialog-footer .btn-danger:hover {\n background: #dc2626;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n@keyframes scaleIn {\n from {\n transform: scale(0.95);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n}\n",".toast-container {\n position: fixed;\n top: 60px;\n left: 50%;\n transform: translateX(-50%);\n z-index: 10000;\n pointer-events: none;\n animation: toast-in 0.2s ease;\n}\n\n.toast {\n padding: 8px 16px;\n border-radius: 6px;\n font-size: 13px;\n border: 1px solid;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);\n}\n\n/* 正常/成功 - 灰色 */\n.toast-info,\n.toast-success {\n background: var(--chat-bg-secondary, #2a2a2a);\n color: var(--chat-text, #fff);\n border-color: var(--chat-border, #444);\n}\n\n/* 警告 - 黄色 */\n.toast-warning {\n background: rgba(245, 158, 11, 0.15);\n color: #f59e0b;\n border-color: rgba(245, 158, 11, 0.3);\n}\n\n/* 错误 - 红色 */\n.toast-error {\n background: rgba(239, 68, 68, 0.15);\n color: #ef4444;\n border-color: rgba(239, 68, 68, 0.3);\n}\n\n@keyframes toast-in {\n from {\n opacity: 0;\n transform: translateX(-50%) translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateX(-50%) translateY(0);\n }\n}\n",".indexing-settings {\n display: flex;\n flex-direction: column;\n gap: 0;\n}\n\n/* 索引部分 - 使用标准的 setting-item 样式 */\n.indexing-section {\n align-items: flex-start;\n}\n\n\n.indexing-content {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin-top: 12px;\n width: 100%;\n min-width: 0;\n}\n\n/* 进度条 */\n.progress-container {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.progress-bar {\n width: 100%;\n height: 4px;\n background: var(--chat-border, #333);\n border-radius: 2px;\n overflow: hidden;\n}\n\n.progress-fill {\n height: 100%;\n background: var(--chat-accent, #3b82f6);\n border-radius: 2px;\n transition: width 0.3s ease;\n}\n\n.progress-text {\n font-size: 13px;\n color: var(--chat-text-muted, #888);\n}\n\n/* 统计信息 */\n.stats-info {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n padding: 8px 0;\n}\n\n.stat-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--chat-text-muted, #888);\n}\n\n/* 当前文件 */\n.current-file {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--chat-text-muted, #888);\n padding: 6px 8px;\n background: var(--chat-muted, #2a2a2a);\n border-radius: 4px;\n width: 100%;\n min-width: 0;\n}\n\n.file-path {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n\n/* 操作按钮 */\n.action-buttons {\n display: flex;\n gap: 8px;\n}\n\n.action-buttons .edit-btn {\n margin: 0;\n}\n\n.action-buttons .edit-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.action-buttons .delete-btn {\n color: #ef4444;\n}\n\n.action-buttons .delete-btn:hover:not(:disabled) {\n color: #ef4444;\n}\n\n.spinning {\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinning {\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n/* 设置项 - 复用父组件的样式,但需要覆盖一些 */\n.indexing-settings .setting-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 0;\n border-bottom: 1px solid var(--chat-border, #333);\n}\n\n.indexing-settings .setting-item:last-child {\n border-bottom: none;\n}\n\n.indexing-settings .setting-info {\n flex: 1;\n margin-right: 24px;\n min-width: 0;\n}\n\n.indexing-settings .setting-label {\n font-size: 14px;\n font-weight: 500;\n color: var(--chat-text, #fff);\n margin-bottom: 4px;\n}\n\n.indexing-settings .setting-description {\n font-size: 13px;\n color: var(--chat-text-muted, #888);\n line-height: 1.5;\n margin-bottom: 0;\n}\n\n.link-btn {\n display: inline;\n padding: 0;\n background: transparent;\n border: none;\n color: var(--chat-accent, #3b82f6);\n cursor: pointer;\n text-decoration: underline;\n font-size: inherit;\n}\n\n.link-btn:hover {\n color: var(--chat-accent-hover, #60a5fa);\n}\n\n.indexing-settings .setting-control {\n flex-shrink: 0;\n}\n\n.edit-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n font-size: 13px;\n font-weight: 500;\n border: 1px solid var(--chat-border, #333);\n border-radius: 6px;\n background: transparent;\n color: var(--chat-text, #fff);\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.edit-btn:hover {\n background: var(--chat-muted, #2a2a2a);\n border-color: var(--chat-border, #444);\n}\n\n",".settings-panel-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.7);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n}\n\n.settings-panel {\n background: var(--chat-bg, #1e1e1e);\n border: 1px solid var(--chat-border, #333);\n border-radius: 12px;\n width: 90%;\n max-width: 900px;\n height: 80vh;\n max-height: 700px;\n display: flex;\n flex-direction: row;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);\n overflow: hidden;\n}\n\n/* 左侧导航 - shadcn 风格 */\n.settings-sidebar {\n width: 240px;\n background: var(--chat-muted, #2a2a2a);\n border-right: 1px solid var(--chat-border, #333);\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n}\n\n.sidebar-header {\n display: flex;\n align-items: center;\n height: 50px;\n padding: 0 16px;\n border-bottom: 1px solid var(--chat-border, #333);\n}\n\n.sidebar-title {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: var(--chat-text, #fff);\n letter-spacing: 0.2px;\n line-height: 1;\n}\n\n.sidebar-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px;\n}\n\n.sidebar-item {\n display: flex;\n align-items: center;\n gap: 12px;\n width: 100%;\n padding: 10px 12px;\n margin-bottom: 2px;\n background: transparent;\n border: none;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 500;\n color: var(--chat-text-muted, #888);\n cursor: pointer;\n transition: all 0.15s ease;\n text-align: left;\n position: relative;\n}\n\n.sidebar-item:hover {\n background: rgba(255, 255, 255, 0.05);\n color: var(--chat-text, #ccc);\n}\n\n.sidebar-item.active {\n background: rgba(255, 255, 255, 0.1);\n color: var(--chat-text, #fff);\n}\n\n/* 右侧内容 */\n.settings-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.content-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 50px;\n padding: 0 16px;\n border-bottom: 1px solid var(--chat-border, #333);\n}\n\n.content-title {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: var(--chat-text, #fff);\n letter-spacing: 0.2px;\n line-height: 1;\n}\n\n.close-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0;\n background: transparent;\n border: none;\n border-radius: 6px;\n color: var(--chat-text-muted, #888);\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.close-btn:hover {\n background: var(--chat-muted, #2a2a2a);\n color: var(--chat-text, #fff);\n}\n\n.content-body {\n flex: 1;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n gap: 24px;\n padding: 0 16px;\n}\n\n.setting-section {\n}\n\n.section-title {\n font-size: 16px;\n font-weight: 500;\n color: var(--chat-text, #fff);\n margin-bottom: 4px;\n}\n\n.section-description {\n font-size: 13px;\n color: var(--chat-text-muted, #888);\n margin-bottom: 16px;\n}\n\n.setting-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 0;\n border-bottom: 1px solid var(--chat-border, #333);\n}\n\n.setting-item:last-child {\n border-bottom: none;\n}\n\n.setting-info {\n flex: 1;\n margin-right: 24px;\n}\n\n.setting-label {\n font-size: 14px;\n font-weight: 500;\n color: var(--chat-text, #fff);\n margin-bottom: 4px;\n}\n\n.setting-description {\n font-size: 13px;\n color: var(--chat-text-muted, #888);\n line-height: 1.5;\n}\n\n.setting-control {\n flex-shrink: 0;\n}\n\n.dropdown-wrapper {\n /* min-width: 280px; */\n}\n\n.dropdown-wrapper .dropdown-selector .selector-text {\n max-width: none;\n white-space: nowrap;\n}\n\n/* 开关样式 */\n.toggle-switch {\n position: relative;\n display: inline-block;\n width: 44px;\n height: 24px;\n cursor: pointer;\n}\n\n.toggle-switch input {\n opacity: 0;\n width: 0;\n height: 0;\n}\n\n.toggle-slider {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: var(--chat-muted, #3c3c3c);\n border-radius: 24px;\n transition: all 0.2s;\n border: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n.toggle-slider:before {\n position: absolute;\n content: \"\";\n height: 18px;\n width: 18px;\n left: 3px;\n top: 50%;\n transform: translateY(-50%);\n background-color: #fff;\n border-radius: 50%;\n transition: all 0.2s;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n\n.toggle-switch input:checked + .toggle-slider {\n background-color: rgb(153, 207, 140);\n border-color: rgba(255, 255, 255, 0.2);\n}\n\n.toggle-switch input:checked + .toggle-slider:before {\n transform: translate(20px, -50%);\n}\n\n.toggle-switch input:focus + .toggle-slider {\n box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.2);\n}\n","/**\n * 内容块共享样式\n */\n\n.text-block {\n font-size: 14px;\n line-height: 1.7;\n color: var(--chat-text, #ccc);\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.code-block {\n background: var(--chat-code-bg, #1f2937);\n border-radius: 8px;\n overflow: hidden;\n margin: 8px 0;\n}\n\n.code-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 12px;\n background: rgba(0, 0, 0, 0.2);\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n.code-language {\n font-size: 12px;\n color: var(--chat-text-muted, #888);\n font-family: \"SF Mono\", Monaco, monospace;\n}\n\n.code-actions {\n display: flex;\n gap: 4px;\n}\n\n.code-action-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n border-radius: 4px;\n color: var(--chat-text-muted, #888);\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.code-action-btn:hover {\n background: rgba(255, 255, 255, 0.1);\n color: var(--chat-text, #ccc);\n}\n\n.code-content {\n margin: 0;\n padding: 12px;\n overflow-x: auto;\n font-family: \"SF Mono\", Monaco, Consolas, monospace;\n font-size: 13px;\n line-height: 1.5;\n color: var(--chat-code-text, #e5e7eb);\n}\n\n/* 统一滚动条样式 */\n.code-content::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n}\n\n.code-content::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.code-content::-webkit-scrollbar-thumb {\n background: var(--chat-scrollbar, rgba(255, 255, 255, 0.2));\n border-radius: 3px;\n}\n\n.code-content::-webkit-scrollbar-thumb:hover {\n background: var(--chat-scrollbar-hover, rgba(255, 255, 255, 0.3));\n}\n\n.code-content code {\n font-family: inherit;\n}\n\n/* highlight.js 主题 */\n.code-content .hljs-keyword {\n color: #c678dd;\n}\n.code-content .hljs-string {\n color: #98c379;\n}\n.code-content .hljs-number {\n color: #d19a66;\n}\n.code-content .hljs-comment {\n color: #5c6370;\n font-style: italic;\n}\n.code-content .hljs-function {\n color: #61afef;\n}\n.code-content .hljs-class {\n color: #e5c07b;\n}\n.code-content .hljs-variable {\n color: #e06c75;\n}\n.code-content .hljs-operator {\n color: #56b6c2;\n}\n.code-content .hljs-punctuation {\n color: #abb2bf;\n}\n.code-content .hljs-property {\n color: #e06c75;\n}\n.code-content .hljs-attr {\n color: #d19a66;\n}\n.code-content .hljs-built_in {\n color: #e5c07b;\n}\n.code-content .hljs-title {\n color: #61afef;\n}\n.code-content .hljs-params {\n color: #abb2bf;\n}\n.code-content .hljs-literal {\n color: #56b6c2;\n}\n.code-content .hljs-type {\n color: #e5c07b;\n}\n","/**\n * ContentRenderer 样式\n */\n\n.content-renderer {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n","/**\n * 工具结果渲染器共享样式\n */\n\n/* 默认工具结果 */\n.default-tool-result {\n background: var(--chat-bg, #1e1e1e);\n border-radius: 6px;\n overflow: hidden;\n}\n\n.result-content {\n margin: 0;\n padding: 8px;\n font-size: 13px;\n line-height: 1.5;\n color: var(--chat-text-muted, #999);\n font-family: \"SF Mono\", Monaco, monospace;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-x: auto;\n}\n\n/* 天气卡片 */\n.weather-card {\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n border-radius: 12px;\n padding: 16px;\n color: #fff;\n min-width: 200px;\n}\n\n.weather-header {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 12px;\n}\n\n.weather-icon {\n opacity: 0.9;\n}\n\n.weather-location {\n font-size: 14px;\n font-weight: 500;\n}\n\n.weather-main {\n margin-bottom: 12px;\n}\n\n.weather-temp {\n font-size: 48px;\n font-weight: 300;\n line-height: 1;\n}\n\n.weather-condition {\n font-size: 14px;\n opacity: 0.9;\n margin-top: 4px;\n}\n\n.weather-details {\n display: flex;\n gap: 16px;\n padding-top: 12px;\n border-top: 1px solid rgba(255, 255, 255, 0.2);\n}\n\n.weather-detail {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 13px;\n opacity: 0.9;\n}\n\n.weather-forecast {\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px solid rgba(255, 255, 255, 0.2);\n display: flex;\n gap: 12px;\n overflow-x: auto;\n}\n\n.forecast-item {\n text-align: center;\n min-width: 60px;\n}\n\n.forecast-date {\n font-size: 12px;\n opacity: 0.8;\n margin-bottom: 4px;\n}\n\n.forecast-temp {\n font-size: 13px;\n font-weight: 500;\n}\n\n.forecast-condition {\n font-size: 11px;\n opacity: 0.8;\n margin-top: 2px;\n}\n\n/* 搜索结果卡片 */\n.search-results-card {\n background: var(--chat-muted, #2d2d2d);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.search-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 12px;\n background: rgba(0, 0, 0, 0.2);\n color: var(--chat-text-muted, #888);\n font-size: 13px;\n}\n\n.search-count {\n margin-left: auto;\n font-size: 12px;\n opacity: 0.7;\n}\n\n.search-list {\n display: flex;\n flex-direction: column;\n}\n\n.search-item {\n display: block;\n padding: 10px 12px;\n text-decoration: none;\n border-bottom: 1px solid rgba(255, 255, 255, 0.05);\n transition: background 0.15s;\n}\n\n.search-item:last-child {\n border-bottom: none;\n}\n\n.search-item:hover {\n background: rgba(255, 255, 255, 0.05);\n}\n\n.item-title {\n font-size: 14px;\n color: var(--chat-text, #ccc);\n font-weight: 500;\n margin-bottom: 4px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.item-snippet {\n font-size: 12px;\n color: var(--chat-text-muted, #888);\n line-height: 1.4;\n margin-bottom: 4px;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.item-url {\n font-size: 11px;\n color: var(--chat-text-muted, #666);\n}\n"],"mappings":";;;AAIA,CAAC;AACC,WAAS;AACT,eAAa;AACb,UAAQ;AACR,WAAS,EAAE;AACX,cAAY,IAAI,gBAAgB,EAAE;AAClC,iBAAe,IAAI,MAAM,IAAI,aAAa,EAAE;AAC5C,eAAa;AACf;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,QAAM;AACN,cAAY;AACZ,iBAAe;AACjB;AAEA,CATC,cASc;AACb,WAAS;AACX;AAEA,CAAC;AACC,YAAU;AACV,WAAS;AACT,eAAa;AACb,WAAS,IAAI;AACb,cAAY;AACZ,UAAQ;AACR,iBAAe;AACf,SAAO,IAAI,iBAAiB,EAAE;AAC9B,aAAW;AACX,eAAa;AACb,UAAQ;AACR,cAAY,IAAI;AAChB,eAAa;AACb,aAAW;AACX,eAAa;AACf;AAEA,CAlBC,QAkBQ;AACP,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAtBC,QAsBQ,CAAC;AACR,cAAY,IAAI,YAAY,EAAE;AAC9B,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAAC;AACC,YAAU;AACV,iBAAe;AACf,eAAa;AACf;AAEA,CAAC;AACC,YAAU;AACV,SAAO;AACP,OAAK;AACL,UAAQ;AACR,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,SAAO;AACP,WAAS;AACT,gBAAc;AACd;AAAA,IAAY;AAAA,MAAgB,GAAG,KAAK;AAAA,MAAE,WAAW;AAAA,MAAE,IAAI,SAAS,EAAE,SAAS;AAC3E,UAAQ;AACR,iBAAe,EAAE,IAAI,IAAI;AACzB,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ;AACR,cAAY,IAAI;AAChB,WAAS;AACX;AAEA,CArDC,QAqDQ,OAAO,CApBf;AAqBC,WAAS;AACX;AAEA,CAzDC,QAyDQ,CAnCC,OAmCO,CAxBhB;AAyBC;AAAA,IAAY;AAAA,MAAgB,GAAG,KAAK;AAAA,MAAE,WAAW;AAAA,MAAE,IAAI,YAAY,EAAE,SAAS;AAChF;AAEA,CA5BC,SA4BS;AACR,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,eAAa;AACf;AAEA,CAPC,eAOe,CAAC;AACf,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,SAAO;AACP,UAAQ;AACR,WAAS;AACT,cAAY;AACZ,UAAQ;AACR,iBAAe;AACf,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAtBC,eAsBe,CAfC,QAeQ;AACzB,CAvBC,eAuBe,CAhBC,QAgBQ,CAlEf;AAmER,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CA3BC,eA2Be,CApBC,QAoBQ,CAAC;AACxB,SAAO;AACP,UAAQ;AACV;AAEA,CAAC;AACC,YAAU;AACZ;AAEA,CAAC;AACC,YAAU;AACV,OAAK;AACL,SAAO;AACP,cAAY;AACZ,cAAY,IAAI,kBAAkB,EAAE;AACpC,UAAQ,IAAI,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AACtC,iBAAe;AACf,cAAY,EAAE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACrC,WAAS;AACT,YAAU;AACZ;AAEA,CAAC;AACC,SAAO;AACT;AAEA,CAAC;AACC,SAAO;AACP,WAAS;AACT,WAAS;AACT,kBAAgB;AAChB,OAAK;AACP;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,WAAS,KAAK;AACd,iBAAe,IAAI,MAAM,IAAI,aAAa,EAAE;AAC5C,aAAW;AACX,eAAa;AACb,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAEA,CAAC;AACC,cAAY;AACZ,cAAY;AACd;AAGA,CAAC;AACC,WAAS,IAAI,KAAK;AAClB,aAAW;AACX,eAAa;AACb,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAEA,CAPC,mBAOmB,KAAK;AACvB,cAAY,IAAI,MAAM,IAAI,aAAa,EAAE;AACzC,cAAY;AACZ,eAAa;AACf;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,WAAS,IAAI;AACb,UAAQ;AACR,cAAY,WAAW;AACzB;AAEA,CATC,YASY;AACX,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAClC;AAEA,CAbC,YAaY,CAnJH;AAoJR,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAClC;AAEA,CAAC;AACC,QAAM;AACN,aAAW;AACX,SAAO,IAAI,WAAW,EAAE;AACxB,YAAU;AACV,iBAAe;AACf,eAAa;AACf;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,eAAa;AACb,gBAAc;AAChB;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,eAAa;AACb,WAAS;AACT,cAAY,QAAQ;AACtB;AAEA,CA1CC,YA0CY,OAAO,CATnB;AAUC,WAAS;AACX;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,SAAO;AACP,UAAQ;AACR,WAAS;AACT,cAAY;AACZ,UAAQ;AACR,iBAAe;AACf,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAfC,kBAekB;AACjB,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAnBC,kBAmBkB,CAAC,MAAM;AACxB,SAAO,IAAI,kBAAkB,EAAE;AACjC;AAEA,CAAC;AACC,WAAS;AACT,cAAY;AACZ,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,SAAO;AACP,WAAS,IAAI;AACb,UAAQ;AACR,cAAY;AACZ,iBAAe;AACf,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ;AACR,cAAY,IAAI;AAChB,cAAY;AACd;AAEA,CAhBC,SAgBS;AACR,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAAC;AACC,UAAQ;AACR,cAAY,IAAI,aAAa,EAAE;AAC/B,UAAQ,IAAI;AACd;;;AC5RA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,eAAa;AACb,mBAAiB;AACjB,OAAK;AACL,WAAS,KAAK;AACd,aAAW;AACX,UAAQ,EAAE;AACV,cAAY;AACd;AAGA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,eAAa;AACb,cAAY;AACZ,OAAK;AACP;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACP;AAEA,CAAC;AACC,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAEA,CAAC;AACC,aAAW;AACX,eAAa;AACb,SAAO,IAAI,WAAW,EAAE;AACxB,UAAQ;AACV;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ;AACV;AAGA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,iBAAe;AACf,gBAAc;AAChB;AAEA,CAAC;AACC,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAEA,CAAC;AACC,aAAW;AACX,eAAa;AACb,SAAO,IAAI,iBAAiB,EAAE;AAC9B,kBAAgB;AAChB,kBAAgB;AAClB;AAGA,CAAC;AACC,SAAO;AACT;AAEA,CAAC;AACC,WAAS;AACT,aAAW;AACX,OAAK;AACL,mBAAiB;AACnB;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,WAAS,IAAI;AACb,cAAY,IAAI,YAAY,EAAE;AAC9B,UAAQ,IAAI,MAAM,IAAI,aAAa,EAAE;AACrC,iBAAe;AACf,aAAW;AACX,SAAO,IAAI,WAAW,EAAE;AACxB,cAAY,IAAI;AAClB;AAEA,CAbC,WAaW;AACV,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,gBAAc,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AACpC;AAEA,CAAC;AACC,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAGA,CAAC;AACC,SAAO;AACT;AAEA,CAAC;AACC,WAAS;AACT,OAAK;AACP;AAGA,CAAC;AACC,yBAAuB,OAAO,KAAK,EAAE;AACrC,mBAAiB;AACnB;AAGA,CAAC;AACC,yBAAuB,OAAO,CAAC,EAAE;AACnC;AAGA,CAAC;AACC,yBAAuB,OAAO,CAAC,EAAE;AACnC;AAGA,CAAC;AACC,yBAAuB,OAAO,CAAC,EAAE;AACnC;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,WAAS,KAAK;AACd,cAAY,IAAI,YAAY,EAAE;AAC9B,UAAQ,IAAI,MAAM,IAAI,aAAa,EAAE;AACrC,iBAAe;AACf,SAAO,IAAI,WAAW,EAAE;AACxB,cAAY;AACZ,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAdC,SAcS;AACR,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,gBAAc,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;AACjC,aAAW,WAAW;AACtB,cAAY,EAAE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACvC;AAEA,CAAC;AACC,eAAa;AACb,SAAO;AACP,UAAQ;AACR,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,cAAY,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;AAC/B,iBAAe;AACf,SAAO;AACT;AAEA,CAjCC,SAiCS,OAAO,CAZhB;AAaC,cAAY,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;AACjC;AAEA,CAAC;AACC,QAAM;AACN,aAAW;AACb;AAEA,CAAC;AACC,aAAW;AACX,eAAa;AACb,SAAO,IAAI,WAAW,EAAE;AACxB,iBAAe;AACjB;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,eAAa;AACb,YAAU;AACV,iBAAe;AACjB;AAEA,CAAC;AACC,eAAa;AACb,SAAO,IAAI,iBAAiB,EAAE;AAC9B,WAAS;AACT,aAAW,WAAW;AACtB,cAAY,IAAI;AAClB;AAEA,CAjEC,SAiES,OAAO,CARhB;AASC,WAAS;AACT,aAAW,WAAW;AACxB;AAGA,QAAO,WAAY;AACjB,GA1MD;AA2MG,aAAS,KAAK;AACd,SAAK;AACP;AAEA,GAhLD;AAiLG,eAAW;AACb;AAEA,GA/FD;AAAA,EAgGC,CA3FD;AAAA,EA4FC,CAvFD;AAwFG,2BAAuB;AACzB;AAEA,GA9BD;AA+BG,aAAS;AACX;AACF;;;ACvNA,CAAC;AACC,WAAS,IAAI;AACb,aAAW,OAAO,KAAK;AACzB;AAEA,WAHa;AAIX;AACE,aAAS;AACT,eAAW,WAAW;AACxB;AACA;AACE,aAAS;AACT,eAAW,WAAW;AACxB;AACF;AAGA,CAjBC,cAiBc,CAAC;AACd,SAAO;AACT;AAEA,CAAC;AACC,SAAO;AACP,cAAY,IAAI,YAAY,EAAE;AAC9B,SAAO,IAAI,WAAW,EAAE;AACxB,WAAS;AACT,iBAAe;AACf,UAAQ,IAAI,MAAM,IAAI,aAAa,EAAE;AACvC;AAEA,CAAC;AACC,aAAW;AACX,eAAa;AACb,eAAa;AACb,cAAY;AACd;AAEA,CAAC;AACC,WAAS;AACT,OAAK;AACL,cAAY;AACZ,aAAW;AACb;AAEA,CAAC;AACC,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,iBAAe;AACf,UAAQ;AACR,cAAY,UAAU;AACxB;AAEA,CATC,UASU;AACT,aAAW,MAAM;AACnB;AAGA,CA1DC,cA0Dc,CAAC;AACd,YAAU;AACZ;AAEA,CAAC;AACC,aAAW;AACb;AAGA,CAAC;AACC,YAAU;AACV,WAAS;AACT,eAAa;AACb,SAAO;AACP,WAAS,KAAK;AACd,cAAY,IAAI,YAAY,EAAE;AAC9B,iBAAe;AACf,YAAU;AACV,UAAQ,IAAI;AACd;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,YAAU;AACV,WAAS;AACX;AAEA,CAAC;AACC,YAAU;AACV,OAAK;AACL,QAAM;AACN,SAAO;AACP,UAAQ;AACR;AAAA,IAAY;AAAA,MACV,KAAK;AAAA,MACL,YAAY,EAAE;AAAA,MACd,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG;AAAA,MAC7B,YAAY;AAEd,aAAW,QAAQ,KAAK,YAAY;AACtC;AAEA,WAHa;AAIX;AACE,UAAM;AACR;AACA;AACE,UAAM;AACR;AACF;AAGA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,cAAY;AACd;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACP;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,cAAY,IAAI,YAAY,EAAE;AAC9B,WAAS,IAAI;AACb,iBAAe;AACf,UAAQ,IAAI,MAAM,IAAI,aAAa,EAAE;AACvC;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,cAAY,IAAI,YAAY,EAAE;AAC9B,WAAS,IAAI;AACb,iBAAe;AACf,UAAQ,IAAI,MAAM,IAAI,aAAa,EAAE;AACvC;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACP;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,SAAO;AACP,UAAQ;AACR,UAAQ;AACR,cAAY;AACZ,iBAAe;AACf,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAdC,UAcU;AACT,cAAY,IAAI,YAAY,EAAE;AAC9B,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAnBC,UAmBU,CAAC;AACV,SAAO;AACT;AAGA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAEA,CAAC;AACC,cAAY;AACZ,cAAY;AACd;AAEA,CAAC;AACC,gBAAc;AAChB;;;AC7LA,CAAC;AACC,UAAQ,IAAI;AACZ,iBAAe;AACf,cAAY,IAAI,YAAY,EAAE;AAC9B,UAAQ,IAAI,MAAM,IAAI,aAAa,EAAE;AACrC,YAAU;AACZ;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,OAAK;AACL,WAAS,IAAI;AACb,eAAa;AACf;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,QAAM;AACN,UAAQ;AACV;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,eAAa;AACf;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,eAAa;AACf;AAEA,CAAC;AACC,aAAW,KAAK,GAAG,OAAO;AAC5B;AAEA,WAHa;AAIX;AACE,eAAW,OAAO;AACpB;AACA;AACE,eAAW,OAAO;AACpB;AACF;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAEA,CAAC;AACC,SAAO,IAAI,iBAAiB,EAAE;AAC9B,cAAY,UAAU;AACtB,eAAa;AACb,UAAQ;AACV;AAEA,CArEC,gBAqEgB,CAAC,SAAS,CAP1B;AAQC,aAAW,OAAO;AACpB;AAEA,CAAC;AACC,WAAS;AACT,aAAW;AACX,YAAU;AACZ;;;AC1EA,CAAC;AACC,aAAW;AACX,eAAa;AACb,SAAO,IAAI,WAAW,EAAE;AACxB,cAAY;AACZ,iBAAe;AACjB;;;ACTA,CAAC;AACC,aAAW;AACX,eAAa;AACb,SAAO,IAAI,iBAAiB,EAAE;AAC9B,eAAa;AACb,cAAY;AACZ,iBAAe;AACf,UAAQ;AACV;;;ACRA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK;AACP;AAEA,CAAC;AACC,WAAS;AACT,WAAS;AACT,iBAAe;AACf,cAAY,IAAI,SAAS,EAAE;AAC3B,mBAAiB;AACjB,cAAY,WAAW;AACzB;AAEA,CATC,WASW;AACV,cAAY,IAAI,YAAY,EAAE;AAChC;AAEA,CAAC;AACC,aAAW;AACX,eAAa;AACb,SAAO,IAAI,aAAa,EAAE;AAC1B,iBAAe;AACjB;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,eAAa;AACb,iBAAe;AACf,WAAS;AACT,sBAAoB;AACpB,sBAAoB;AACpB,YAAU;AACZ;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,YAAU;AACV,iBAAe;AACf,eAAa;AACf;;;ACvCA,CAAC;AACC,YAAU;AACV,WAAS;AACT,eAAa;AACb,OAAK;AACL,WAAS,IAAI;AACb,cAAY,IAAI,YAAY,EAAE;AAC9B,UAAQ;AACR,iBAAe;AACf,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAfC,iBAeiB,MAAM,KAAK,CAAC;AAC5B,cAAY,IAAI,kBAAkB,EAAE;AACpC,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CApBC,iBAoBiB,CALY;AAM5B,WAAS;AACT,UAAQ;AACV;AAEA,CAzBC,kBAyBkB,CAAC;AAClB,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAGA,CA9BC,kBA8BkB,CAAC;AAClB,YAAU;AACV,QAAM;AACN,SAAO;AACP,aAAW;AACX,cAAY;AACZ,cAAY;AACZ,cAAY,IAAI,kBAAkB,EAAE;AACpC,UAAQ,IAAI,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AACtC,iBAAe;AACf,cAAY,EAAE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACrC,WAAS;AACT,WAAS,IAAI,IAAI,IAAI;AACrB,WAAS;AACT,kBAAgB;AAChB,OAAK;AACP;AAGA,CAjDC,kBAiDkB,CAnBC,aAmBa,CAAC;AAChC,UAAQ;AACR,OAAK;AACL,iBAAe;AACjB;AAGA,CAxDC,kBAwDkB,CA1BC,aA0Ba,CAAC;AAChC,OAAK;AACL,UAAQ;AACR,cAAY;AACd;AAGA,CA/DC,kBA+DkB,CAjCC,aAiCa,CAAC;AAChC,QAAM;AACN,SAAO;AACT;AAEA,CApEC,kBAoEkB,CAAC;AAClB,WAAS;AACT,eAAa;AACb,OAAK;AACL,SAAO;AACP,WAAS,IAAI;AACb,UAAQ;AACR,cAAY;AACZ,iBAAe;AACf,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ;AACR,cAAY,IAAI;AAChB,eAAa;AACf;AAEA,CApFC,kBAoFkB,CAhBC,aAgBa;AAC/B,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAzFC,kBAyFkB,CArBC,aAqBa,CAAC;AAChC,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CA9FC,kBA8FkB,CAAC;AAClB,eAAa;AACb,SAAO,IAAI,WAAW,EAAE;AACxB,eAAa;AACf;AAEA,CApGC,kBAoGkB,CAAC;AAElB,YAAU;AACV,iBAAe;AACf,eAAa;AACf;AAGA,CA5GC,kBA4GkB,CAAC;AAClB,WAAS,KAAK;AACd,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,cAAY;AACd;AAGA,CApHC,kBAoHkB,CAAC;AAClB,WAAS,IAAI,KAAK;AAClB,cAAY;AACZ,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAEA,CA3HC,kBA2HkB,CAPC,WAOW;AAC7B,cAAY;AACd;AAGA,CAhIC,kBAgIkB,CAAC;AAClB,QAAM;AACN,cAAY;AACd;AAGA,CAtIC,kBAsIkB,CAAC;AAClB,WAAS;AACT,eAAa;AACb,OAAK;AACL,eAAa;AACf;AAGA,CA9IC,kBA8IkB,CAAC;AAClB,WAAS,IAAI;AACb,aAAW;AACX,eAAa;AACb,SAAO,IAAI,iBAAiB,EAAE;AAC9B,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,iBAAe;AACf,eAAa;AACf;AAEA,CAxJC,kBAwJkB,CAVC,cAUc,CAAC;AACjC,SAAO,IAAI,iBAAiB,EAAE;AAChC;;;AC9JA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,WAAS;AACT,cAAY;AACZ,UAAQ;AACR,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ;AACR,iBAAe;AACf,cAAY,IAAI;AAClB;AAEA,CAbC,QAaQ;AACP,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAlBC,QAkBQ,CAAC;AACR,SAAO,IAAI,cAAc,EAAE;AAC7B;;;ACpBA,CAAC;AACC,WAAS;AACT,kBAAgB;AAClB;AAEA,CAAC;AACC,iBAAe;AACjB;AAEA,CAAC;AACD,CAAC;AACC,WAAS;AACT,iBAAe;AACf,WAAS;AACT,UAAQ;AACR,eAAa;AACb,aAAW;AACX,eAAa;AACf;AAGA,CAZC,cAYc;AACf,CAZC,aAYa;AACd,CAAC,aAAa;AACd,CAAC,YAAY;AACb,CAAC,YAAY;AACb,CAAC,WAAW;AACV,cAAY;AACd;AAEA,CAAC;AACC,WAAS;AACT,WAAS;AACT,cAAY,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC1B,UAAQ,IAAI,MAAM,IAAI,aAAa,EAAE;AACrC,iBAAe;AACf;AAAA,IAAa,QAAQ;AAAA,IAAE,OAAO;AAAA,IAAE,aAAa;AAAA,IAAE;AAC/C,aAAW;AACX,SAAO,IAAI,WAAW,EAAE;AACxB,eAAa;AACb,cAAY;AACZ,cAAY;AACd;AAEA,CAAC;AACC,iBAAe;AACjB;AAEA,CAxBC;AAyBD,CA1BC;AA2BC,SAAO,IAAI,iBAAiB,EAAE;AAC9B,eAAa;AACf;AAEA,CA5BC;AA6BD,CA9BC;AA+BC,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAAC;AACC,WAAS;AACT,WAAS;AACT,cAAY,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC1B,UAAQ,IAAI,MAAM,IAAI,aAAa,EAAE;AACrC,iBAAe;AACf;AAAA,IAAa,QAAQ;AAAA,IAAE,OAAO;AAAA,IAAE,aAAa;AAAA,IAAE;AAC/C,aAAW;AACX,SAAO,IAAI,WAAW,EAAE;AACxB,eAAa;AACb,cAAY;AACZ,cAAY;AACd;AAEA,CAAC;AACC,WAAS;AACT,OAAK;AACL,iBAAe;AACf,eAAa;AACb,cAAY,IAAI,MAAM,IAAI,aAAa,EAAE;AAC3C;AAEA,CAAC;AACC,WAAS;AACT,OAAK;AACL,aAAW;AACb;AAEA,CAAC;AACC,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAEA,CAAC;AACC,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,OAAK;AACL,eAAa;AACb,cAAY,IAAI,MAAM,IAAI,aAAa,EAAE;AAC3C;AAEA,CAAC;AACC,eAAa;AACb,YAAU;AACV,WAAS;AACX;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACP;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,aAAW;AACX,eAAa;AACf;AAEA,CARC,gBAQgB,CAAC;AAChB,SAAO,IAAI,cAAc,EAAE;AAC7B;AAEA,CAZC,gBAYgB,CAAC;AAChB,SAAO;AACT;AAEA,CAhBC,gBAgBgB,CAAC;AAChB,SAAO,IAAI,aAAa,EAAE;AAC5B;AAEA,CApBC,gBAoBgB,CAAC;AAChB,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,aAAW;AACb;AAEA,CAAC;AACC,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAEA,CAAC;AACC,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAAC;AACC,aAAW,KAAK,GAAG,OAAO;AAC5B;AAEA,WAHa;AAIX;AACE,eAAW,OAAO;AACpB;AACA;AACE,eAAW,OAAO;AACpB;AACF;AAEA,CAAC;AACC,WAAS;AACT,OAAK;AACP;AAEA,CAAC;AACC,WAAS,IAAI;AACb,iBAAe;AACf,aAAW;AACX,eAAa;AACb,UAAQ;AACR,UAAQ;AACR,WAAS;AACT,eAAa;AACb,OAAK;AACL,cAAY,IAAI;AAClB;AAEA,CAAC;AACC,cAAY,IAAI,YAAY,EAAE;AAC9B,SAAO,IAAI,WAAW,EAAE;AACxB,UAAQ,IAAI,MAAM,IAAI,aAAa,EAAE;AACvC;AAEA,CANC,QAMQ;AACP,cAAY,IAAI,kBAAkB,EAAE;AACtC;AAEA,CAAC;AACC,cAAY,IAAI,aAAa,EAAE;AAC/B,SAAO;AACT;AAEA,CALC,OAKO;AACN,cAAY,IAAI,mBAAmB,EAAE;AACvC;AAEA,CAAC;AACC,cAAY;AACZ,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ,IAAI,MAAM,IAAI,aAAa,EAAE;AACvC;AAEA,CANC,UAMU;AACT,cAAY,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE;AAC9B,SAAO;AACP,gBAAc;AAChB;AAEA,CArGC,gBAqGgB,CAAC;AAChB,SAAO,IAAI,cAAc,EAAE;AAC7B;;;AC3NA,CAAC;AACC,UAAQ,IAAI;AACd;AAEA,CAAC;AACC,iBAAe;AACf,cAAY,IAAI,YAAY,EAAE;AAC9B,UAAQ,IAAI,MAAM,IAAI,aAAa,EAAE;AACrC,YAAU;AACZ;AAGA,CARC,eAQe,CAAC;AACf,WAAS;AACT,eAAa;AACb,OAAK;AACL,WAAS,IAAI;AACb,UAAQ;AACR,eAAa;AACf;AAEA,CAjBC,eAiBe,CATC,aASa;AAC5B,cAAY,IAAI,YAAY,EAAE;AAChC;AAEA,CArBC,eAqBe,CAAC;AACf,WAAS;AACT,eAAa;AACb,mBAAiB;AACnB;AAEA,CA3BC,eA2Be,CANC,YAMY,CAAC;AAC5B,SAAO,IAAI,cAAc,EAAE;AAC7B;AAEA,CA/BC,eA+Be,CAVC,YAUY,CAAC;AAC5B,SAAO,IAAI,YAAY,EAAE;AAC3B;AAEA,CAnCC,eAmCe,CAAC;AACf,aAAW;AACX,eAAa;AACb,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAzCC,eAyCe,CAAC;AACf,eAAa;AACb,SAAO,IAAI,iBAAiB,EAAE;AAC9B,cAAY,UAAU;AACxB;AAEA,CA/CC,cA+Cc,CAAC,SAAS,CANR;AAOf,aAAW,OAAO;AACpB;AAEA,CAnDC,eAmDe,CAAC;AACf,WAAS;AACT,eAAa;AACf;AAEA,CAxDC,eAwDe,CALC,eAKe;AAC9B,UAAQ;AACR,aAAW;AACX;AAAA,IAAa,SAAS;AAAA,IAAE,MAAM;AAAA,IAAE,eAAe;AAAA,IAAE;AACjD,SAAO,IAAI,iBAAiB,EAAE;AAC9B,eAAa;AACb,cAAY;AACd;;;ACnEA,CAAC;AACC,YAAU;AACV,UAAQ,IAAI;AACZ,aAAW;AACX,WAAS;AACX;AAEA,CAAC;AACC,aAAW;AACX,cAAY;AACZ,iBAAe;AACf,UAAQ;AACR,cAAY,QAAQ;AACtB;AAEA,CARC,aAQa;AACZ,WAAS;AACX;AAEA,CAAC;AACD,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,eAAa;AACb,mBAAiB;AACjB,OAAK;AACL,WAAS;AACT,cAAY,IAAI,YAAY,EAAE;AAC9B,iBAAe;AACf,SAAO,IAAI,iBAAiB,EAAE;AAC9B,aAAW;AACX,cAAY;AACd;AAEA,CAAC;AACC,aAAW,KAAK,GAAG,OAAO;AAC5B;AAEA,WAHa;AAIX;AACE,eAAW,OAAO;AACpB;AACA;AACE,eAAW,OAAO;AACpB;AACF;AAEA,CA3BC,YA2BY;AACX,aAAW;AACb;;;ACjDA,CAAC;AACC,aAAW;AACX,eAAa;AACb,SAAO,IAAI,iBAAiB,EAAE;AAC9B,eAAa;AACb,cAAY;AACZ,iBAAe;AACf,UAAQ;AACV;;;ACRA,CAAC;AACC,WAAS;AACT,kBAAgB;AAClB;;;ACCA,CAAC;AACC,WAAS;AACX;AAEA,CAJC,UAIU,CAAC;AACV,WAAS;AACT,iBAAe;AACjB;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,cAAY,IAAI,eAAe,EAAE;AACjC,UAAQ,IAAI,MAAM,IAAI,aAAa,EAAE;AACrC,iBAAe;AACf,WAAS;AACT,cAAY,aAAa;AAC3B;AAEA,CAVC,eAUe,CAAC;AACf,gBAAc,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AACpC;AAEA,CAdC,eAce,CAAC;AACf,gBAAc,IAAI,cAAc,EAAE;AAClC,cAAY,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE;AAChC;AAGA,CAAC;AACC,WAAS;AACT,aAAW;AACX,OAAK;AACL,iBAAe;AACjB;AAEA,CAAC;AACC,YAAU;AACV,SAAO;AACP,UAAQ;AACR,iBAAe;AACf,YAAU;AACV,cAAY,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC5B;AAEA,CAAC;AACC,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,UAAQ;AACR,cAAY,QAAQ;AACtB;AAEA,CARC,eAQe;AACd,WAAS;AACX;AAEA,CAAC;AACC,YAAU;AACV,OAAK;AACL,SAAO;AACP,SAAO;AACP,UAAQ;AACR,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,cAAY,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC1B,UAAQ;AACR,iBAAe;AACf,SAAO;AACP,UAAQ;AACR,WAAS;AACT,cAAY,IAAI;AAClB;AAEA,CAvCC,kBAuCkB,OAAO,CAlBzB;AAmBC,WAAS;AACX;AAEA,CAtBC,gBAsBgB;AACf,cAAY,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE;AAChC;AAGA,CAAC;AACC,WAAS;AACX;AAGA,CAAC;AACC,iBAAe;AACjB;AAEA,CAAC;AACC,SAAO;AACP,cAAY;AACZ,UAAQ;AACR,WAAS;AACT,iBAAe;AACf,SAAO,IAAI,WAAW,EAAE;AACxB,aAAW;AACX,UAAQ;AACR,cAAY;AACZ,cAAY;AACZ,eAAa;AACb,eAAa;AACb,cAAY;AACd;AAEA,CAhBC,WAgBW;AACV,WAAS;AACX;AAEA,CApBC,WAoBW;AACV,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAGA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,OAAK;AACP;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACP;AAGA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACP;AAGA,CAAC;AACC,YAAU;AACZ;AAEA,CAXC,YAWY,CAAC;AACZ,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,UAAQ;AACR,iBAAe;AACf,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAzBC,YAyBY,CAdC,QAcQ;AACpB,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,UAAQ;AACR,iBAAe;AACf,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAdC,UAcU;AACT,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAlBC,UAkBU,CAAC;AACV,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,UAAQ;AACR,iBAAe;AACf,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAdC,QAcQ;AACP,SAAO,IAAI,WAAW,EAAE;AAC1B;;;ACzMA,CAAC;AACC,WAAS;AACT,kBAAgB;AAClB;AAEA,CAAC;AACC,aAAW;AACX,SAAO;AACP,WAAS,IAAI,IAAI;AACjB,kBAAgB;AAChB,kBAAgB;AAClB;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,WAAS,IAAI,IAAI;AACnB;AAEA,CAAC;AACC,SAAO;AACP,UAAQ;AACR,iBAAe;AACf,cAAY;AACZ,UAAQ,IAAI,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AACtC,SAAO;AACP,UAAQ;AACR,WAAS;AACT,eAAa;AACb,mBAAiB;AACnB;AAEA,CAbC,eAae;AACd,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,SAAO;AACT;AAEA,CAAC;AACC,QAAM;AACN,aAAW;AACX,aAAW;AACX,SAAO;AACP,eAAa;AACb,YAAU;AACV,iBAAe;AACjB;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK;AACP;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,cAAY;AACZ,WAAS,IAAI;AACb,iBAAe;AACf,UAAQ,IAAI,MAAM;AAClB,cAAY;AACZ,UAAQ;AACR,SAAO;AACP,SAAO;AACT;AAEA,CAdC,YAcY;AACX,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAClC;AAEA,CAlBC,YAkBY,CAAC;AACZ,cAAY,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;AAC/B,gBAAc,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;AACnC;AAEA,CAAC;AACC,SAAO;AACP,eAAa;AACf;AAEA,CAAC;AACC,aAAW;AACX,SAAO;AACP,eAAa;AACb,aAAW;AACX,YAAU;AACV,iBAAe;AACf,eAAa;AACf;AAEA,CAAC;AACC,aAAW;AACX,SAAO;AACP,aAAW;AACX,YAAU;AACV,iBAAe;AACf,eAAa;AACb,QAAM;AACR;AAEA,CAAC;AACC,WAAS,KAAK;AACd,SAAO;AACP,aAAW;AACX,cAAY;AACd;AAGA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,eAAa;AACb,mBAAiB;AACjB,WAAS,KAAK;AACd,cAAY;AACd;AAEA,CAAC;AACC,SAAO;AACP,iBAAe;AACjB;AAEA,CAAC;AACC,aAAW;AACX,eAAa;AACb,SAAO;AACP,iBAAe;AACjB;AAEA,CAAC;AACC,aAAW;AACX,SAAO;AACP,iBAAe;AACjB;AAEA,CAAC;AACC,aAAW;AACX,SAAO;AACT;;;AC9IA,CAAC;AACC,YAAU;AACV,SAAO;AACP,cAAY,IAAI,kBAAkB,EAAE;AACpC,UAAQ,IAAI,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AACtC,iBAAe;AACf,cAAY,EAAE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACrC,WAAS;AACT,WAAS;AACT,kBAAgB;AAChB,YAAU;AACZ;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,WAAS,KAAK;AACd,iBAAe,IAAI,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC/C;AAEA,CAAC;AACC,SAAO;AACP,UAAQ;AACR,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,cAAY;AACZ,UAAQ;AACR,iBAAe;AACf,SAAO;AACP,UAAQ;AACR,eAAa;AACf;AAEA,CAdC,cAcc;AACb,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,SAAO;AACT;AAEA,CAAC;AACC,SAAO;AACP,eAAa;AACf;AAEA,CAAC;AACC,QAAM;AACN,cAAY;AACZ,UAAQ;AACR,WAAS;AACT,SAAO;AACP,aAAW;AACb;AAEA,CAAC;AACC,WAAS;AACT,QAAM;AACN,cAAY;AACZ,cAAY;AACd;AAGA,CARC,cAQc,CAAC,aAAa,CAAC;AAC9B,CATC,cASc,CADC,aACa,CAAC;AAC5B,kBAAgB;AAClB;AAEA,CAAC;AACC,iBAAe;AACjB;AAEA,CAAC;AACC,kBAAgB;AAChB,iBAAe;AACf,iBAAe,IAAI,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC/C;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK;AACP;AAEA,CArB8B;AAsB5B,WAAS;AACT,eAAa;AACb,OAAK;AACL,cAAY;AACZ,WAAS,IAAI;AACb,iBAAe;AACf,UAAQ,IAAI,MAAM;AAClB,cAAY;AACZ,UAAQ;AACR,SAAO;AACP,SAAO;AACT;AAEA,CAnC8B,cAmCf;AACb,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAClC;AAEA,CAvC8B,cAuCf,CAAC;AACd,cAAY,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;AAC/B,gBAAc,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;AACnC;AAEA,CAAC;AACC,SAAO;AACP,eAAa;AACf;AAEA,CAAC;AACC,aAAW;AACX,SAAO;AACP,eAAa;AACb,aAAW;AACX,YAAU;AACV,iBAAe;AACf,eAAa;AACf;AAEA,CAAC;AACC,aAAW;AACX,SAAO;AACP,aAAW;AACX,YAAU;AACV,iBAAe;AACf,eAAa;AACb,QAAM;AACR;AAEA,CAAC,mBAAmB,CApBnB;AAqBC,QAAM;AACN,aAAW;AACb;AAEA,CAAC;AACC,SAAO;AACP,eAAa;AACf;AAEA,CAAC;AACC,WAAS,IAAI;AACb,cAAY,IAAI,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC1C,SAAO;AACP,aAAW;AACb;;;ACjJA,CAAC;AACC,YAAU;AACV,SAAO;AACP,WAAS;AACT,WAAS;AACT,kBAAgB;AAChB,cAAY,IAAI,GAAG,GAAG,GAAG,EAAE;AAC3B,mBAAiB,KAAK;AACtB,aAAW,OAAO,KAAK;AACzB;AAEA,WAHa;AAIX;AACE,aAAS;AACX;AACA;AACE,aAAS;AACX;AACF;AAGA,CAAC;AACC,YAAU;AACV,WAAS;AACT,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,OAAK;AACL,WAAS,KAAK;AACd,cAAY;AACd;AAEA,CAAC;AACC,SAAO,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC3B,aAAW;AACX,wBAAsB;AACxB;AAEA,CAAC;AACC,YAAU;AACV,SAAO;AACP,OAAK;AACL,aAAW,WAAW;AACtB,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,UAAQ;AACR,WAAS,EAAE;AACX,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,UAAQ;AACR,iBAAe;AACf,SAAO;AACP,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAlBC,iBAkBiB;AAChB,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,aAAW,WAAW,MAAM,MAAM;AACpC;AAEA,CAvBC,iBAuBiB;AAChB,aAAW,WAAW,MAAM,MAAM;AACpC;AAGA,CAAC;AACC,YAAU;AACV,OAAK;AACL,aAAW,WAAW;AACtB,WAAS;AACT,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,UAAQ;AACR,WAAS,EAAE;AACX,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,UAAQ;AACR,iBAAe;AACf,SAAO;AACP,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAlBC,eAkBe,MAAM,KAAK,CAAC;AAC1B,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,aAAW,WAAW,MAAM,MAAM;AACpC;AAEA,CAvBC,eAuBe,OAAO,KAAK,CALA;AAM1B,aAAW,WAAW,MAAM,MAAM;AACpC;AAEA,CA3BC,eA2Be,CATY;AAU1B,WAAS;AACT,UAAQ;AACV;AAEA,CAAC;AACC,QAAM;AACR;AAEA,CAAC;AACC,SAAO;AACT;AAGA,CAAC;AACC,QAAM;AACN,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,YAAU;AACV,WAAS,EAAE;AACb;AAEA,CAAC;AACC,aAAW,KAAK,KAAK,EAAE;AACvB,cAAY,KAAK,MAAM,EAAE;AACzB,cAAY;AACZ,iBAAe;AACf,cAAY,EAAE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACvC;;;AC3HA,CAAC;AACC,YAAU;AACV,SAAO;AACP,WAAS;AACT,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,cAAY,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC1B,mBAAiB,KAAK;AACtB,aAAW,OAAO,KAAK;AACzB;AAEA,CAAC;AACC,SAAO;AACP,aAAW;AACX,UAAQ;AACR,cAAY,IAAI,kBAAkB,EAAE;AACpC,UAAQ,IAAI,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AACtC,iBAAe;AACf,cAAY,EAAE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACrC,YAAU;AACV,aAAW,QAAQ,KAAK;AAC1B;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,WAAS,KAAK;AACd,iBAAe,IAAI,MAAM,IAAI,aAAa,EAAE;AAC9C;AAEA,CARC,sBAQsB,CAAC;AACtB,eAAa;AACf;AAEA,CAZC,sBAYsB,CAJC,IAII,CAAC;AAC3B,SAAO;AACT;AAEA,CAhBC,sBAgBsB,CARC,IAQI,CAAC;AAC3B,SAAO;AACT;AAEA,CApBC,sBAoBsB,CAZC,IAYI,CAAC;AAC3B,SAAO;AACT;AAEA,CAxBC,sBAwBsB,CAAC;AACtB,aAAW;AACX,eAAa;AACb,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAAC;AACC,WAAS;AACT,aAAW;AACX,eAAa;AACb,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAEA,CAAC;AACC,WAAS;AACT,mBAAiB;AACjB,OAAK;AACL,WAAS,KAAK;AACd,cAAY,IAAI,MAAM,IAAI,aAAa,EAAE;AAC3C;AAEA,CARC,sBAQsB,CAAC;AACtB,WAAS,IAAI;AACb,aAAW;AACX,eAAa;AACb,UAAQ;AACR,iBAAe;AACf,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAlBC,sBAkBsB,CAAC;AACtB,cAAY;AACZ,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ,IAAI,MAAM,IAAI,aAAa,EAAE;AACvC;AAEA,CAxBC,sBAwBsB,CANC,UAMU;AAChC,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CA7BC,sBA6BsB,CAAC;AACtB,cAAY;AACZ,SAAO;AACT;AAEA,CAlCC,sBAkCsB,CALC,QAKQ;AAC9B,cAAY;AACd;AAEA,CAtCC,sBAsCsB,CAAC;AACtB,cAAY;AACZ,SAAO;AACT;AAEA,CA3CC,sBA2CsB,CALC,WAKW;AACjC,cAAY;AACd;AAEA,CA/CC,sBA+CsB,CAAC;AACtB,cAAY;AACZ,SAAO;AACT;AAEA,CApDC,sBAoDsB,CALC,UAKU;AAChC,cAAY;AACd;AAEA,WA5Ga;AA6GX;AACE,aAAS;AACX;AACA;AACE,aAAS;AACX;AACF;AAEA,WAzGa;AA0GX;AACE,eAAW,MAAM;AACjB,aAAS;AACX;AACA;AACE,eAAW,MAAM;AACjB,aAAS;AACX;AACF;;;ACvIA,CAAC;AACC,YAAU;AACV,OAAK;AACL,QAAM;AACN,aAAW,WAAW;AACtB,WAAS;AACT,kBAAgB;AAChB,aAAW,SAAS,KAAK;AAC3B;AAEA,CAAC;AACC,WAAS,IAAI;AACb,iBAAe;AACf,aAAW;AACX,UAAQ,IAAI;AACZ,cAAY,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACtC;AAGA,CAAC;AACD,CAAC;AACC,cAAY,IAAI,mBAAmB,EAAE;AACrC,SAAO,IAAI,WAAW,EAAE;AACxB,gBAAc,IAAI,aAAa,EAAE;AACnC;AAGA,CAAC;AACC,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;AAC/B,SAAO;AACP,gBAAc,KAAK,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;AACnC;AAGA,CAAC;AACC,cAAY,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE;AAC9B,SAAO;AACP,gBAAc,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE;AAClC;AAEA,WAjCa;AAkCX;AACE,aAAS;AACT,eAAW,WAAW,MAAM,WAAW;AACzC;AACA;AACE,aAAS;AACT,eAAW,WAAW,MAAM,WAAW;AACzC;AACF;;;ACjDA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK;AACP;AAGA,CAAC;AACC,eAAa;AACf;AAGA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK;AACL,cAAY;AACZ,SAAO;AACP,aAAW;AACb;AAGA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK;AACP;AAEA,CAAC;AACC,SAAO;AACP,UAAQ;AACR,cAAY,IAAI,aAAa,EAAE;AAC/B,iBAAe;AACf,YAAU;AACZ;AAEA,CAAC;AACC,UAAQ;AACR,cAAY,IAAI,aAAa,EAAE;AAC/B,iBAAe;AACf,cAAY,MAAM,KAAK;AACzB;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAGA,CAAC;AACC,WAAS;AACT,aAAW;AACX,OAAK;AACL,WAAS,IAAI;AACf;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAGA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,WAAS,IAAI;AACb,cAAY,IAAI,YAAY,EAAE;AAC9B,iBAAe;AACf,SAAO;AACP,aAAW;AACb;AAEA,CAAC;AACC,QAAM;AACN,YAAU;AACV,iBAAe;AACf,eAAa;AACb,aAAW;AACb;AAGA,CAAC;AACC,WAAS;AACT,OAAK;AACP;AAEA,CALC,eAKe,CAAC;AACf,UAAQ;AACV;AAEA,CATC,eASe,CAJC,QAIQ;AACvB,WAAS;AACT,UAAQ;AACV;AAEA,CAdC,eAce,CAAC;AACf,SAAO;AACT;AAEA,CAlBC,eAkBe,CAJC,UAIU,MAAM,KAAK;AACpC,SAAO;AACT;AAEA,CAAC;AACC,aAAW,KAAK,GAAG,OAAO;AAC5B;AAEA,WAHa;AAIX;AACE,eAAW,OAAO;AACpB;AACA;AACE,eAAW,OAAO;AACpB;AACF;AAEA,CAbC;AAcC,aAAW,KAAK,GAAG,OAAO;AAC5B;AAEA,WAhBa;AAiBX;AACE,eAAW,OAAO;AACpB;AACA;AACE,eAAW,OAAO;AACpB;AACF;AAGA,CAxIC,kBAwIkB,CAAC;AAClB,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,WAAS,KAAK;AACd,iBAAe,IAAI,MAAM,IAAI,aAAa,EAAE;AAC9C;AAEA,CAhJC,kBAgJkB,CARC,YAQY;AAC9B,iBAAe;AACjB;AAEA,CApJC,kBAoJkB,CAAC;AAClB,QAAM;AACN,gBAAc;AACd,aAAW;AACb;AAEA,CA1JC,kBA0JkB,CAAC;AAClB,aAAW;AACX,eAAa;AACb,SAAO,IAAI,WAAW,EAAE;AACxB,iBAAe;AACjB;AAEA,CAjKC,kBAiKkB,CAAC;AAClB,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,eAAa;AACb,iBAAe;AACjB;AAEA,CAAC;AACC,WAAS;AACT,WAAS;AACT,cAAY;AACZ,UAAQ;AACR,SAAO,IAAI,aAAa,EAAE;AAC1B,UAAQ;AACR,mBAAiB;AACjB,aAAW;AACb;AAEA,CAXC,QAWQ;AACP,SAAO,IAAI,mBAAmB,EAAE;AAClC;AAEA,CAvLC,kBAuLkB,CAAC;AAClB,eAAa;AACf;AAEA,CA/FiB;AAgGf,WAAS;AACT,eAAa;AACb,OAAK;AACL,WAAS,IAAI;AACb,aAAW;AACX,eAAa;AACb,UAAQ,IAAI,MAAM,IAAI,aAAa,EAAE;AACrC,iBAAe;AACf,cAAY;AACZ,SAAO,IAAI,WAAW,EAAE;AACxB,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CA9GiB,QA8GR;AACP,cAAY,IAAI,YAAY,EAAE;AAC9B,gBAAc,IAAI,aAAa,EAAE;AACnC;;;AC7MA,CAAC;AACC,YAAU;AACV,OAAK;AACL,QAAM;AACN,SAAO;AACP,UAAQ;AACR,cAAY,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC1B,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,WAAS;AACX;AAEA,CAAC;AACC,cAAY,IAAI,SAAS,EAAE;AAC3B,UAAQ,IAAI,MAAM,IAAI,aAAa,EAAE;AACrC,iBAAe;AACf,SAAO;AACP,aAAW;AACX,UAAQ;AACR,cAAY;AACZ,WAAS;AACT,kBAAgB;AAChB,cAAY,EAAE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACrC,YAAU;AACZ;AAGA,CAAC;AACC,SAAO;AACP,cAAY,IAAI,YAAY,EAAE;AAC9B,gBAAc,IAAI,MAAM,IAAI,aAAa,EAAE;AAC3C,WAAS;AACT,kBAAgB;AAChB,eAAa;AACf;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,UAAQ;AACR,WAAS,EAAE;AACX,iBAAe,IAAI,MAAM,IAAI,aAAa,EAAE;AAC9C;AAEA,CAAC;AACC,UAAQ;AACR,aAAW;AACX,eAAa;AACb,SAAO,IAAI,WAAW,EAAE;AACxB,kBAAgB;AAChB,eAAa;AACf;AAEA,CAAC;AACC,QAAM;AACN,cAAY;AACZ,WAAS;AACX;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,SAAO;AACP,WAAS,KAAK;AACd,iBAAe;AACf,cAAY;AACZ,UAAQ;AACR,iBAAe;AACf,aAAW;AACX,eAAa;AACb,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ;AACR,cAAY,IAAI,MAAM;AACtB,cAAY;AACZ,YAAU;AACZ;AAEA,CAnBC,YAmBY;AACX,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAxBC,YAwBY,CAAC;AACZ,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,SAAO,IAAI,WAAW,EAAE;AAC1B;AAGA,CAAC;AACC,QAAM;AACN,WAAS;AACT,kBAAgB;AAChB,YAAU;AACZ;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,UAAQ;AACR,WAAS,EAAE;AACX,iBAAe,IAAI,MAAM,IAAI,aAAa,EAAE;AAC9C;AAEA,CAAC;AACC,UAAQ;AACR,aAAW;AACX,eAAa;AACb,SAAO,IAAI,WAAW,EAAE;AACxB,kBAAgB;AAChB,eAAa;AACf;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,SAAO;AACP,UAAQ;AACR,WAAS;AACT,cAAY;AACZ,UAAQ;AACR,iBAAe;AACf,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAfC,SAeS;AACR,cAAY,IAAI,YAAY,EAAE;AAC9B,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAAC;AACC,QAAM;AACN,cAAY;AACZ,WAAS;AACT,kBAAgB;AAChB,OAAK;AACL,WAAS,EAAE;AACb;AAEA,CAAC;AACD;AAEA,CAAC;AACC,aAAW;AACX,eAAa;AACb,SAAO,IAAI,WAAW,EAAE;AACxB,iBAAe;AACjB;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,iBAAe;AACjB;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,WAAS,KAAK;AACd,iBAAe,IAAI,MAAM,IAAI,aAAa,EAAE;AAC9C;AAEA,CARC,YAQY;AACX,iBAAe;AACjB;AAEA,CAAC;AACC,QAAM;AACN,gBAAc;AAChB;AAEA,CAAC;AACC,aAAW;AACX,eAAa;AACb,SAAO,IAAI,WAAW,EAAE;AACxB,iBAAe;AACjB;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,eAAa;AACf;AAEA,CAAC;AACC,eAAa;AACf;AAEA,CAAC;AAED;AAEA,CAJC,iBAIiB,CAAC,kBAAkB,CAAC;AACpC,aAAW;AACX,eAAa;AACf;AAGA,CAAC;AACC,YAAU;AACV,WAAS;AACT,SAAO;AACP,UAAQ;AACR,UAAQ;AACV;AAEA,CARC,cAQc;AACb,WAAS;AACT,SAAO;AACP,UAAQ;AACV;AAEA,CAAC;AACC,YAAU;AACV,OAAK;AACL,QAAM;AACN,SAAO;AACP,UAAQ;AACR,oBAAkB,IAAI,YAAY,EAAE;AACpC,iBAAe;AACf,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AACxC;AAEA,CAZC,aAYa;AACZ,YAAU;AACV,WAAS;AACT,UAAQ;AACR,SAAO;AACP,QAAM;AACN,OAAK;AACL,aAAW,WAAW;AACtB,oBAAkB;AAClB,iBAAe;AACf,cAAY,IAAI;AAChB,cAAY,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACtC;AAEA,CAxCC,cAwCc,KAAK,SAAS,EAAE,CA1B9B;AA2BC,oBAAkB,IAAI,GAAG,EAAE,GAAG,EAAE;AAChC,gBAAc,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AACpC;AAEA,CA7CC,cA6Cc,KAAK,SAAS,EAAE,CA/B9B,aA+B4C;AAC3C,aAAW,UAAU,IAAI,EAAE;AAC7B;AAEA,CAjDC,cAiDc,KAAK,OAAO,EAAE,CAnC5B;AAoCC,cAAY,EAAE,EAAE,EAAE,IAAI,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC5C;;;AC3PA,CAAC;AACC,aAAW;AACX,eAAa;AACb,SAAO,IAAI,WAAW,EAAE;AACxB,eAAa;AACb,cAAY;AACd;AAEA,CAAC;AACC,cAAY,IAAI,cAAc,EAAE;AAChC,iBAAe;AACf,YAAU;AACV,UAAQ,IAAI;AACd;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,WAAS,IAAI;AACb,cAAY,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC1B,iBAAe,IAAI,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC/C;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B;AAAA,IAAa,SAAS;AAAA,IAAE,MAAM;AAAA,IAAE;AAClC;AAEA,CAAC;AACC,WAAS;AACT,OAAK;AACP;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,SAAO;AACP,UAAQ;AACR,UAAQ;AACR,cAAY;AACZ,iBAAe;AACf,SAAO,IAAI,iBAAiB,EAAE;AAC9B,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAdC,eAce;AACd,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAChC,SAAO,IAAI,WAAW,EAAE;AAC1B;AAEA,CAAC;AACC,UAAQ;AACR,WAAS;AACT,cAAY;AACZ;AAAA,IAAa,SAAS;AAAA,IAAE,MAAM;AAAA,IAAE,QAAQ;AAAA,IAAE;AAC1C,aAAW;AACX,eAAa;AACb,SAAO,IAAI,gBAAgB,EAAE;AAC/B;AAGA,CAXC,YAWY;AACX,SAAO;AACP,UAAQ;AACV;AAEA,CAhBC,YAgBY;AACX,cAAY;AACd;AAEA,CApBC,YAoBY;AACX,cAAY,IAAI,gBAAgB,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AACtD,iBAAe;AACjB;AAEA,CAzBC,YAyBY,yBAAyB;AACpC,cAAY,IAAI,sBAAsB,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC9D;AAEA,CA7BC,aA6Ba;AACZ,eAAa;AACf;AAGA,CAlCC,aAkCa,CAAC;AACb,SAAO;AACT;AACA,CArCC,aAqCa,CAAC;AACb,SAAO;AACT;AACA,CAxCC,aAwCa,CAAC;AACb,SAAO;AACT;AACA,CA3CC,aA2Ca,CAAC;AACb,SAAO;AACP,cAAY;AACd;AACA,CA/CC,aA+Ca,CAAC;AACb,SAAO;AACT;AACA,CAlDC,aAkDa,CAAC;AACb,SAAO;AACT;AACA,CArDC,aAqDa,CAAC;AACb,SAAO;AACT;AACA,CAxDC,aAwDa,CAAC;AACb,SAAO;AACT;AACA,CA3DC,aA2Da,CAAC;AACb,SAAO;AACT;AACA,CA9DC,aA8Da,CAAC;AACb,SAAO;AACT;AACA,CAjEC,aAiEa,CAAC;AACb,SAAO;AACT;AACA,CApEC,aAoEa,CAAC;AACb,SAAO;AACT;AACA,CAvEC,aAuEa,CAAC;AACb,SAAO;AACT;AACA,CA1EC,aA0Ea,CAAC;AACb,SAAO;AACT;AACA,CA7EC,aA6Ea,CAAC;AACb,SAAO;AACT;AACA,CAhFC,aAgFa,CAAC;AACb,SAAO;AACT;;;ACxIA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK;AACP;;;ACHA,CAAC;AACC,cAAY,IAAI,SAAS,EAAE;AAC3B,iBAAe;AACf,YAAU;AACZ;AAEA,CAAC;AACC,UAAQ;AACR,WAAS;AACT,aAAW;AACX,eAAa;AACb,SAAO,IAAI,iBAAiB,EAAE;AAC9B;AAAA,IAAa,SAAS;AAAA,IAAE,MAAM;AAAA,IAAE;AAChC,eAAa;AACb,cAAY;AACZ,cAAY;AACd;AAGA,CAAC;AACC;AAAA,IAAY;AAAA,MAAgB,MAAhB;AAAA,MAAwB,QAAQ,EAAhC;AAAA,MAAoC,QAAQ;AACxD,iBAAe;AACf,WAAS;AACT,SAAO;AACP,aAAW;AACb;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,iBAAe;AACjB;AAEA,CAAC;AACC,WAAS;AACX;AAEA,CAAC;AACC,aAAW;AACX,eAAa;AACf;AAEA,CAAC;AACC,iBAAe;AACjB;AAEA,CAAC;AACC,aAAW;AACX,eAAa;AACb,eAAa;AACf;AAEA,CAAC;AACC,aAAW;AACX,WAAS;AACT,cAAY;AACd;AAEA,CAAC;AACC,WAAS;AACT,OAAK;AACL,eAAa;AACb,cAAY,IAAI,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC5C;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,aAAW;AACX,WAAS;AACX;AAEA,CAAC;AACC,cAAY;AACZ,eAAa;AACb,cAAY,IAAI,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC1C,WAAS;AACT,OAAK;AACL,cAAY;AACd;AAEA,CAAC;AACC,cAAY;AACZ,aAAW;AACb;AAEA,CAAC;AACC,aAAW;AACX,WAAS;AACT,iBAAe;AACjB;AAEA,CAAC;AACC,aAAW;AACX,eAAa;AACf;AAEA,CAAC;AACC,aAAW;AACX,WAAS;AACT,cAAY;AACd;AAGA,CAAC;AACC,cAAY,IAAI,YAAY,EAAE;AAC9B,iBAAe;AACf,YAAU;AACZ;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,WAAS,KAAK;AACd,cAAY,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC1B,SAAO,IAAI,iBAAiB,EAAE;AAC9B,aAAW;AACb;AAEA,CAAC;AACC,eAAa;AACb,aAAW;AACX,WAAS;AACX;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAClB;AAEA,CAAC;AACC,WAAS;AACT,WAAS,KAAK;AACd,mBAAiB;AACjB,iBAAe,IAAI,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC7C,cAAY,WAAW;AACzB;AAEA,CARC,WAQW;AACV,iBAAe;AACjB;AAEA,CAZC,WAYW;AACV,cAAY,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAClC;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,WAAW,EAAE;AACxB,eAAa;AACb,iBAAe;AACf,YAAU;AACV,iBAAe;AACf,eAAa;AACf;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAC9B,eAAa;AACb,iBAAe;AACf,WAAS;AACT,sBAAoB;AACpB,sBAAoB;AACpB,YAAU;AACZ;AAEA,CAAC;AACC,aAAW;AACX,SAAO,IAAI,iBAAiB,EAAE;AAChC;","names":[]}
|