@ottocode/web-sdk 0.1.232 → 0.1.233

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/components/ui/Button.tsx", "../src/components/ui/Card.tsx", "../src/components/ui/Input.tsx", "../src/components/ui/Textarea.tsx", "../src/components/ui/ConfirmationDialog.tsx", "../src/stores/confirmationStore.ts", "../src/components/ui/Toaster.tsx", "../src/stores/toastStore.ts", "../src/lib/open-url.ts", "../src/components/ui/ToolApprovalDialog.tsx", "../src/stores/toolApprovalStore.ts", "../src/components/ui/ResizeHandle.tsx", "../src/stores/panelWidthStore.ts", "../src/components/chat/ChatInput.tsx", "../src/components/chat/FileMentionPopup.tsx", "../src/components/chat/CommandSuggestionsPopup.tsx", "../src/hooks/useConfig.ts", "../src/lib/api-client/sessions.ts", "../src/lib/api-client/utils.ts", "../src/lib/config.ts", "../src/lib/api-client/git.ts", "../src/lib/api-client/config.ts", "../src/lib/api-client/files.ts", "../src/lib/api-client/branches.ts", "../src/lib/api-client/approval.ts", "../src/lib/api-client/setu.ts", "../src/lib/api-client/auth.ts", "../src/lib/api-client/skills.ts", "../src/lib/api-client/index.ts", "../src/hooks/usePreferences.ts", "../src/hooks/useShareStatus.ts", "../src/lib/commands.ts", "../src/components/chat/ShortcutsModal.tsx", "../src/components/ui/Modal.tsx", "../src/components/common/ProviderLogo.tsx", "../src/assets/provider-logos.ts", "../src/hooks/useFiles.ts", "../src/hooks/useVimMode.ts", "../src/hooks/useFileMention.ts", "../src/hooks/useCommandSuggestions.ts", "../src/components/chat/ChatInputKeyHandler.ts", "../src/stores/setuStore.ts", "../src/components/chat/InputApprovalBar.tsx", "../src/components/chat/ChatInputContainer.tsx", "../src/hooks/useMessages.ts", "../src/hooks/useSessions.ts", "../src/hooks/useGit.ts", "../src/stores/gitStore.ts", "../src/stores/sessionFilesStore.ts", "../src/stores/researchStore.ts", "../src/stores/settingsStore.ts", "../src/stores/tunnelStore.ts", "../src/stores/fileBrowserStore.ts", "../src/stores/mcpStore.ts", "../src/stores/skillsStore.ts", "../src/hooks/useFileUpload.ts", "../src/stores/queueStore.ts", "../src/stores/pendingResearchStore.ts", "../src/lib/parseResearchContext.ts", "../src/components/chat/ConfigModal.tsx", "../src/components/chat/UnifiedModelSelector.tsx", "../src/components/chat/UnifiedAgentSelector.tsx", "../src/components/chat/ConfigSelector.tsx", "../src/components/chat/StopButton.tsx", "../src/components/messages/MessageThread.tsx", "../src/components/messages/AssistantMessageGroup.tsx", "../src/components/messages/MessagePartItem.tsx", "../src/components/messages/ToolApprovalCard.tsx", "../src/components/messages/renderers/DiffView.tsx", "../src/components/messages/renderers/index.tsx", "../src/components/messages/renderers/ReadRenderer.tsx", "../src/components/messages/renderers/utils.ts", "../src/components/messages/renderers/ToolErrorDisplay.tsx", "../src/components/messages/renderers/WriteRenderer.tsx", "../src/components/messages/renderers/EditRenderer.tsx", "../src/components/messages/renderers/BashRenderer.tsx", "../src/components/messages/renderers/shared/CopyButton.tsx", "../src/components/messages/renderers/shared/ToolContentBox.tsx", "../src/components/messages/renderers/shared/ImagePreview.tsx", "../src/components/messages/renderers/shared/ToolHeader.tsx", "../src/components/messages/renderers/GitStatusRenderer.tsx", "../src/components/messages/renderers/GitDiffRenderer.tsx", "../src/components/messages/renderers/GitCommitRenderer.tsx", "../src/components/messages/renderers/ApplyPatchRenderer.tsx", "../src/components/messages/renderers/ListRenderer.tsx", "../src/components/messages/renderers/TreeRenderer.tsx", "../src/components/messages/renderers/SearchRenderer.tsx", "../src/components/messages/renderers/FinishRenderer.tsx", "../src/components/messages/renderers/GenericRenderer.tsx", "../src/components/messages/renderers/DebugRenderer.tsx", "../src/components/messages/renderers/TodosRenderer.tsx", "../src/components/messages/renderers/ProgressUpdateRenderer.tsx", "../src/components/messages/renderers/WebSearchRenderer.tsx", "../src/components/messages/renderers/ErrorRenderer.tsx", "../src/components/messages/renderers/DatabaseToolRenderer.tsx", "../src/components/messages/renderers/TerminalRenderer.tsx", "../src/lib/nerd-font.ts", "../src/components/messages/renderers/McpToolRenderer.tsx", "../src/components/messages/renderers/LoadMcpToolsRenderer.tsx", "../src/components/messages/renderers/SkillRenderer.tsx", "../src/components/messages/renderers/ReasoningRenderer.tsx", "../src/components/messages/CompactActivityGroup.tsx", "../src/components/messages/compactActivity.ts", "../src/components/messages/ActionToolBox.tsx", "../src/hooks/useQueueState.ts", "../src/components/branch/BranchModal.tsx", "../src/hooks/useBranch.ts", "../src/components/messages/UserMessageGroup.tsx", "../src/components/sessions/SessionHeader.tsx", "../src/components/sessions/EditableTitle.tsx", "../src/components/sessions/LeanHeader.tsx", "../src/components/common/UsageRing.tsx", "../src/stores/usageStore.ts", "../src/components/common/UsageModal.tsx", "../src/hooks/useProviderUsage.ts", "../src/components/messages/TopupApprovalCard.tsx", "../src/stores/topupApprovalStore.ts", "../src/components/messages/MessageThreadContainer.tsx", "../src/hooks/useSessionStream.ts", "../src/lib/sse-client.ts", "../src/hooks/useToolApprovalShortcuts.ts", "../src/components/settings/SetuTopupModal.tsx", "../src/components/common/StatusIndicator.tsx", "../src/components/sessions/SessionItem.tsx", "../src/components/sessions/session-time.ts", "../src/components/sessions/SessionListContainer.tsx", "../src/stores/focusStore.ts", "../src/components/git/GitDiffViewer.tsx", "../src/components/git/GitFileList.tsx", "../src/components/git/GitFileItem.tsx", "../src/components/git/GitSidebar.tsx", "../src/components/git/GitSidebarToggle.tsx", "../src/components/git/GitDiffPanel.tsx", "../src/stores/sidebarStore.ts", "../src/hooks/useFileBrowser.ts", "../src/components/git/GitCommitModal.tsx", "../src/components/terminals/TerminalsPanel.tsx", "../src/stores/terminalStore.ts", "../src/hooks/useTerminals.ts", "../src/components/terminals/TerminalTabBar.tsx", "../src/components/terminals/TerminalViewer.tsx", "../src/components/terminals/TerminalPanelToggle.tsx", "../src/components/session-files/SessionFilesSidebar.tsx", "../src/hooks/useSessionFiles.ts", "../src/components/session-files/SessionFilesSidebarToggle.tsx", "../src/components/session-files/SessionFilesDiffPanel.tsx", "../src/components/research/ResearchSidebar.tsx", "../src/hooks/useResearch.ts", "../src/components/research/ResearchSidebarToggle.tsx", "../src/components/settings/SettingsSidebar.tsx", "../src/stores/onboardingStore.ts", "../src/hooks/useAuthStatus.ts", "../src/hooks/useSetuBalance.ts", "../src/hooks/useTopupCallback.ts", "../src/components/settings/SettingsSidebarToggle.tsx", "../src/components/tunnel/TunnelSidebar.tsx", "../src/hooks/useTunnel.ts", "../src/components/tunnel/TunnelSidebarToggle.tsx", "../src/components/mcp/MCPSidebar.tsx", "../src/hooks/useMCP.ts", "../src/components/mcp/AddMCPServerModal.tsx", "../src/components/mcp/MCPSidebarToggle.tsx", "../src/components/skills/SkillsSidebar.tsx", "../src/hooks/useSkills.ts", "../src/components/skills/SkillsSidebarToggle.tsx", "../src/components/skills/SkillViewerPanel.tsx", "../src/components/file-browser/FileBrowserSidebar.tsx", "../src/components/file-browser/FileBrowserSidebarToggle.tsx", "../src/components/file-browser/FileViewerPanel.tsx", "../src/components/file-browser/QuickFilePicker.tsx", "../src/stores/filePickerStore.ts", "../src/components/onboarding/OnboardingModal.tsx", "../src/components/onboarding/steps/ProviderSetupStep.tsx", "../src/components/onboarding/steps/DefaultsStep.tsx"],
3
+ "sources": ["../src/components/ui/Button.tsx", "../src/components/ui/Card.tsx", "../src/components/ui/Input.tsx", "../src/components/ui/Textarea.tsx", "../src/components/ui/ConfirmationDialog.tsx", "../src/stores/confirmationStore.ts", "../src/components/ui/Toaster.tsx", "../src/stores/toastStore.ts", "../src/lib/open-url.ts", "../src/components/ui/ToolApprovalDialog.tsx", "../src/stores/toolApprovalStore.ts", "../src/components/ui/ResizeHandle.tsx", "../src/stores/panelWidthStore.ts", "../src/components/chat/ChatInput.tsx", "../src/components/chat/FileMentionPopup.tsx", "../src/components/chat/CommandSuggestionsPopup.tsx", "../src/hooks/useConfig.ts", "../src/lib/api-client/sessions.ts", "../src/lib/api-client/utils.ts", "../src/lib/config.ts", "../src/lib/api-client/git.ts", "../src/lib/api-client/config.ts", "../src/lib/api-client/files.ts", "../src/lib/api-client/branches.ts", "../src/lib/api-client/approval.ts", "../src/lib/api-client/setu.ts", "../src/lib/api-client/auth.ts", "../src/lib/api-client/skills.ts", "../src/lib/api-client/index.ts", "../src/hooks/usePreferences.ts", "../src/hooks/useShareStatus.ts", "../src/lib/commands.ts", "../src/components/chat/ShortcutsModal.tsx", "../src/components/ui/Modal.tsx", "../src/components/common/ProviderLogo.tsx", "../src/assets/provider-logos.ts", "../src/hooks/useFiles.ts", "../src/hooks/useVimMode.ts", "../src/hooks/useFileMention.ts", "../src/hooks/useCommandSuggestions.ts", "../src/components/chat/ChatInputKeyHandler.ts", "../src/stores/setuStore.ts", "../src/components/chat/InputApprovalBar.tsx", "../src/components/chat/ChatInputContainer.tsx", "../src/hooks/useMessages.ts", "../src/hooks/useSessions.ts", "../src/hooks/useGit.ts", "../src/stores/gitStore.ts", "../src/stores/sessionFilesStore.ts", "../src/stores/researchStore.ts", "../src/stores/settingsStore.ts", "../src/stores/tunnelStore.ts", "../src/stores/fileBrowserStore.ts", "../src/stores/mcpStore.ts", "../src/stores/skillsStore.ts", "../src/hooks/useFileUpload.ts", "../src/stores/queueStore.ts", "../src/stores/pendingResearchStore.ts", "../src/lib/parseResearchContext.ts", "../src/components/chat/ConfigModal.tsx", "../src/components/chat/UnifiedModelSelector.tsx", "../src/components/chat/UnifiedAgentSelector.tsx", "../src/components/chat/ConfigSelector.tsx", "../src/components/chat/StopButton.tsx", "../src/components/messages/MessageThread.tsx", "../src/components/messages/AssistantMessageGroup.tsx", "../src/components/messages/MessagePartItem.tsx", "../src/components/messages/ToolApprovalCard.tsx", "../src/components/messages/renderers/DiffView.tsx", "../src/components/messages/renderers/index.tsx", "../src/components/messages/renderers/ReadRenderer.tsx", "../src/components/messages/renderers/utils.ts", "../src/components/messages/renderers/ToolErrorDisplay.tsx", "../src/components/messages/renderers/WriteRenderer.tsx", "../src/components/messages/renderers/BashRenderer.tsx", "../src/components/messages/renderers/shared/CopyButton.tsx", "../src/components/messages/renderers/shared/ToolContentBox.tsx", "../src/components/messages/renderers/shared/ImagePreview.tsx", "../src/components/messages/renderers/shared/ToolHeader.tsx", "../src/components/messages/renderers/GitStatusRenderer.tsx", "../src/components/messages/renderers/GitDiffRenderer.tsx", "../src/components/messages/renderers/GitCommitRenderer.tsx", "../src/components/messages/renderers/ApplyPatchRenderer.tsx", "../src/components/messages/renderers/ListRenderer.tsx", "../src/components/messages/renderers/TreeRenderer.tsx", "../src/components/messages/renderers/SearchRenderer.tsx", "../src/components/messages/renderers/FinishRenderer.tsx", "../src/components/messages/renderers/GenericRenderer.tsx", "../src/components/messages/renderers/DebugRenderer.tsx", "../src/components/messages/renderers/TodosRenderer.tsx", "../src/components/messages/renderers/ProgressUpdateRenderer.tsx", "../src/components/messages/renderers/WebSearchRenderer.tsx", "../src/components/messages/renderers/ErrorRenderer.tsx", "../src/components/messages/renderers/DatabaseToolRenderer.tsx", "../src/components/messages/renderers/TerminalRenderer.tsx", "../src/lib/nerd-font.ts", "../src/components/messages/renderers/McpToolRenderer.tsx", "../src/components/messages/renderers/LoadMcpToolsRenderer.tsx", "../src/components/messages/renderers/SkillRenderer.tsx", "../src/components/messages/renderers/ReasoningRenderer.tsx", "../src/components/messages/CompactActivityGroup.tsx", "../src/components/messages/compactActivity.ts", "../src/components/messages/ActionToolBox.tsx", "../src/hooks/useQueueState.ts", "../src/components/branch/BranchModal.tsx", "../src/hooks/useBranch.ts", "../src/components/messages/UserMessageGroup.tsx", "../src/components/sessions/SessionHeader.tsx", "../src/components/sessions/EditableTitle.tsx", "../src/components/sessions/LeanHeader.tsx", "../src/components/common/UsageRing.tsx", "../src/stores/usageStore.ts", "../src/components/common/UsageModal.tsx", "../src/hooks/useProviderUsage.ts", "../src/hooks/useSetuBalance.ts", "../src/components/messages/TopupApprovalCard.tsx", "../src/stores/topupApprovalStore.ts", "../src/components/messages/MessageThreadContainer.tsx", "../src/hooks/useSessionStream.ts", "../src/lib/sse-client.ts", "../src/hooks/useToolApprovalShortcuts.ts", "../src/components/settings/SetuTopupModal.tsx", "../src/components/common/StatusIndicator.tsx", "../src/components/sessions/SessionItem.tsx", "../src/components/sessions/session-time.ts", "../src/components/sessions/SessionListContainer.tsx", "../src/stores/focusStore.ts", "../src/components/git/GitDiffViewer.tsx", "../src/components/git/GitFileList.tsx", "../src/components/git/GitFileItem.tsx", "../src/components/git/GitSidebar.tsx", "../src/components/git/GitSidebarToggle.tsx", "../src/components/git/GitDiffPanel.tsx", "../src/stores/sidebarStore.ts", "../src/hooks/useFileBrowser.ts", "../src/components/git/GitCommitModal.tsx", "../src/components/terminals/TerminalsPanel.tsx", "../src/stores/terminalStore.ts", "../src/hooks/useTerminals.ts", "../src/components/terminals/TerminalTabBar.tsx", "../src/components/terminals/TerminalViewer.tsx", "../src/components/terminals/TerminalPanelToggle.tsx", "../src/components/session-files/SessionFilesSidebar.tsx", "../src/hooks/useSessionFiles.ts", "../src/components/session-files/SessionFilesSidebarToggle.tsx", "../src/components/session-files/SessionFilesDiffPanel.tsx", "../src/components/research/ResearchSidebar.tsx", "../src/hooks/useResearch.ts", "../src/components/research/ResearchSidebarToggle.tsx", "../src/components/settings/SettingsSidebar.tsx", "../src/stores/onboardingStore.ts", "../src/hooks/useAuthStatus.ts", "../src/hooks/useTopupCallback.ts", "../src/components/settings/SettingsSidebarToggle.tsx", "../src/components/tunnel/TunnelSidebar.tsx", "../src/hooks/useTunnel.ts", "../src/components/tunnel/TunnelSidebarToggle.tsx", "../src/components/mcp/MCPSidebar.tsx", "../src/hooks/useMCP.ts", "../src/components/mcp/AddMCPServerModal.tsx", "../src/components/mcp/MCPSidebarToggle.tsx", "../src/components/skills/SkillsSidebar.tsx", "../src/hooks/useSkills.ts", "../src/components/skills/SkillsSidebarToggle.tsx", "../src/components/skills/SkillViewerPanel.tsx", "../src/components/file-browser/FileBrowserSidebar.tsx", "../src/components/file-browser/FileBrowserSidebarToggle.tsx", "../src/components/file-browser/FileViewerPanel.tsx", "../src/components/file-browser/QuickFilePicker.tsx", "../src/stores/filePickerStore.ts", "../src/components/onboarding/OnboardingModal.tsx", "../src/components/onboarding/steps/ProviderSetupStep.tsx", "../src/components/onboarding/steps/DefaultsStep.tsx"],
4
4
  "sourcesContent": [
5
5
  "import { forwardRef } from 'react';\nimport type { ButtonHTMLAttributes } from 'react';\n\ninterface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n\tvariant?: 'primary' | 'secondary' | 'ghost';\n\tsize?: 'sm' | 'md' | 'lg' | 'icon';\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n\t({ className = '', variant = 'primary', size = 'md', ...props }, ref) => {\n\t\tconst baseStyles =\n\t\t\t'inline-flex items-center justify-center rounded font-medium transition-colors focus-visible:outline-none disabled:opacity-50 disabled:cursor-not-allowed';\n\n\t\tconst variants = {\n\t\t\tprimary: 'bg-primary text-primary-foreground hover:bg-primary/90',\n\t\t\tsecondary:\n\t\t\t\t'bg-muted text-foreground hover:bg-muted/80 border border-border',\n\t\t\tghost: 'text-muted-foreground hover:text-foreground hover:bg-muted/50',\n\t\t};\n\n\t\tconst sizes = {\n\t\t\tsm: 'px-3 py-1.5 text-sm',\n\t\t\tmd: 'px-4 py-2 text-sm',\n\t\t\tlg: 'px-6 py-3 text-base',\n\t\t\ticon: 'w-10 h-10 p-0',\n\t\t};\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\tref={ref}\n\t\t\t\tclassName={`${baseStyles} ${variants[variant]} ${sizes[size]} ${className}`}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\n\nButton.displayName = 'Button';\n",
6
6
  "import { forwardRef } from 'react';\nimport type { HTMLAttributes } from 'react';\n\ninterface CardProps extends HTMLAttributes<HTMLDivElement> {}\n\nexport const Card = forwardRef<HTMLDivElement, CardProps>(\n\t({ className = '', children, ...props }, ref) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={`bg-card text-card-foreground border border-border rounded-lg ${className}`}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nCard.displayName = 'Card';\n",
@@ -11,7 +11,7 @@
11
11
  "import { useEffect, useState } from 'react';\nimport {\n\tCheckCircle,\n\tXCircle,\n\tLoader2,\n\tCreditCard,\n\tExternalLink,\n} from 'lucide-react';\nimport {\n\tuseToastStore,\n\ttype Toast,\n\ttype ToastType,\n} from '../../stores/toastStore';\nimport { openUrl } from '../../lib/open-url';\n\nconst icons: Record<ToastType, React.ReactNode> = {\n\tdefault: <CreditCard className=\"h-4 w-4\" />,\n\tsuccess: <CheckCircle className=\"h-4 w-4 text-green-500\" />,\n\terror: <XCircle className=\"h-4 w-4 text-red-500\" />,\n\tloading: <Loader2 className=\"h-4 w-4 animate-spin\" />,\n};\n\nfunction ToastItem({ toast }: { toast: Toast }) {\n\tconst [isVisible, setIsVisible] = useState(false);\n\tconst removeToast = useToastStore((s) => s.removeToast);\n\n\tuseEffect(() => {\n\t\trequestAnimationFrame(() => setIsVisible(true));\n\t}, []);\n\n\tconst handleDismiss = () => {\n\t\tsetIsVisible(false);\n\t\tsetTimeout(() => removeToast(toast.id), 150);\n\t};\n\n\treturn (\n\t\t// biome-ignore lint/a11y/useKeyWithClickEvents: toast click-to-dismiss is supplementary\n\t\t<div\n\t\t\tclassName={`\n\t\t\t\tflex items-center gap-3 px-4 py-3\n\t\t\t\tbg-card border border-border rounded-lg shadow-lg\n\t\t\t\ttransition-all duration-150 ease-out cursor-pointer\n\t\t\t\thover:bg-accent/50\n\t\t\t\t${isVisible ? 'opacity-100 translate-y-0' : 'opacity-0 translate-y-2'}\n\t\t\t`}\n\t\t\tonClick={handleDismiss}\n\t\t\trole=\"alert\"\n\t\t>\n\t\t\t{icons[toast.type]}\n\t\t\t<span className=\"text-sm text-foreground\">{toast.message}</span>\n\t\t\t{toast.action && (\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\topenUrl(toast.action?.href);\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"ml-auto flex items-center gap-1 text-xs text-primary hover:underline\"\n\t\t\t\t>\n\t\t\t\t\t{toast.action.label}\n\t\t\t\t\t<ExternalLink className=\"h-3 w-3\" />\n\t\t\t\t</button>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nexport function Toaster() {\n\tconst toasts = useToastStore((s) => s.toasts);\n\n\tif (toasts.length === 0) return null;\n\n\treturn (\n\t\t<div className=\"fixed bottom-4 right-4 z-[9999] flex flex-col gap-2 max-w-sm\">\n\t\t\t{toasts.map((toast) => (\n\t\t\t\t<ToastItem key={toast.id} toast={toast} />\n\t\t\t))}\n\t\t</div>\n\t);\n}\n",
12
12
  "import { create } from 'zustand';\n\nexport type ToastType = 'default' | 'success' | 'error' | 'loading';\n\nexport interface Toast {\n\tid: string;\n\tmessage: string;\n\ttype: ToastType;\n\tduration?: number;\n\ticon?: string;\n\taction?: {\n\t\tlabel: string;\n\t\thref: string;\n\t};\n}\n\ninterface ToastState {\n\ttoasts: Toast[];\n\taddToast: (toast: Omit<Toast, 'id'>) => string;\n\tremoveToast: (id: string) => void;\n\tupdateToast: (id: string, updates: Partial<Omit<Toast, 'id'>>) => void;\n\tclearToasts: () => void;\n}\n\nlet toastId = 0;\n\nexport const useToastStore = create<ToastState>((set) => ({\n\ttoasts: [],\n\taddToast: (toast) => {\n\t\tconst id = `toast-${++toastId}`;\n\t\tset((state) => ({\n\t\t\ttoasts: [...state.toasts, { ...toast, id }],\n\t\t}));\n\t\treturn id;\n\t},\n\tremoveToast: (id) =>\n\t\tset((state) => ({\n\t\t\ttoasts: state.toasts.filter((t) => t.id !== id),\n\t\t})),\n\tupdateToast: (id, updates) =>\n\t\tset((state) => ({\n\t\t\ttoasts: state.toasts.map((t) => (t.id === id ? { ...t, ...updates } : t)),\n\t\t})),\n\tclearToasts: () => set({ toasts: [] }),\n}));\n\nexport function toast(\n\tmessage: string,\n\ttype: ToastType = 'default',\n\tduration = 4000,\n) {\n\tconst id = useToastStore.getState().addToast({ message, type, duration });\n\tif (duration > 0) {\n\t\tsetTimeout(() => {\n\t\t\tuseToastStore.getState().removeToast(id);\n\t\t}, duration);\n\t}\n\treturn id;\n}\n\ntoast.success = (message: string, duration = 4000) =>\n\ttoast(message, 'success', duration);\ntoast.error = (message: string, duration = 5000) =>\n\ttoast(message, 'error', duration);\ntoast.info = (message: string, duration = 4000) =>\n\ttoast(message, 'default', duration);\ntoast.loading = (message: string) => toast(message, 'loading', 0);\n\ntoast.successWithAction = (\n\tmessage: string,\n\taction: { label: string; href: string },\n\tduration = 6000,\n) => {\n\tconst id = useToastStore.getState().addToast({\n\t\tmessage,\n\t\ttype: 'success',\n\t\tduration,\n\t\taction,\n\t});\n\tif (duration > 0) {\n\t\tsetTimeout(() => {\n\t\t\tuseToastStore.getState().removeToast(id);\n\t\t}, duration);\n\t}\n\treturn id;\n};\n",
13
13
  "export function openUrl(url: string) {\n\tif (window.self !== window.top) {\n\t\twindow.parent.postMessage({ type: 'otto-open-url', url }, '*');\n\t} else {\n\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t}\n}\n",
14
- "import { useCallback, useState } from 'react';\nimport { useToolApprovalStore } from '../../stores/toolApprovalStore';\nimport { Shield, Check, X, Terminal, FileEdit, GitCommit } from 'lucide-react';\n\nconst TOOL_ICONS: Record<string, typeof Terminal> = {\n\tbash: Terminal,\n\twrite: FileEdit,\n\tapply_patch: FileEdit,\n\tedit: FileEdit,\n\tterminal: Terminal,\n\tgit_commit: GitCommit,\n\tgit_push: GitCommit,\n};\n\ninterface ToolApprovalDialogProps {\n\tbaseUrl: string;\n\tsessionId: string;\n}\n\nexport function ToolApprovalDialog({\n\tbaseUrl,\n\tsessionId,\n}: ToolApprovalDialogProps) {\n\tconst { pendingApprovals, removePendingApproval } = useToolApprovalStore();\n\tconst [processingId, setProcessingId] = useState<string | null>(null);\n\n\tconst handleApproval = useCallback(\n\t\tasync (callId: string, approved: boolean) => {\n\t\t\tsetProcessingId(callId);\n\t\t\ttry {\n\t\t\t\tconst response = await fetch(\n\t\t\t\t\t`${baseUrl}/v1/sessions/${sessionId}/approval`,\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t\t\t\t\tbody: JSON.stringify({ callId, approved }),\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tif (response.ok) {\n\t\t\t\t\tremovePendingApproval(callId);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Failed to send approval:', error);\n\t\t\t} finally {\n\t\t\t\tsetProcessingId(null);\n\t\t\t}\n\t\t},\n\t\t[baseUrl, sessionId, removePendingApproval],\n\t);\n\n\tif (pendingApprovals.length === 0) return null;\n\n\tconst formatArgs = (args: unknown): string => {\n\t\tif (!args) return '';\n\t\tif (typeof args === 'string') return args;\n\t\ttry {\n\t\t\tconst str = JSON.stringify(args, null, 2);\n\t\t\treturn str.length > 200 ? `${str.slice(0, 200)}...` : str;\n\t\t} catch {\n\t\t\treturn String(args);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"fixed bottom-4 right-4 z-50 flex flex-col gap-2 max-w-md\">\n\t\t\t{pendingApprovals.map((approval) => {\n\t\t\t\tconst Icon = TOOL_ICONS[approval.toolName] || Shield;\n\t\t\t\tconst isProcessing = processingId === approval.callId;\n\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={approval.callId}\n\t\t\t\t\t\tclassName=\"bg-background border border-border rounded-lg shadow-lg p-4 animate-in slide-in-from-right-2\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex items-start gap-3\">\n\t\t\t\t\t\t\t<div className=\"p-2 bg-warning/10 rounded-lg\">\n\t\t\t\t\t\t\t\t<Icon className=\"w-5 h-5 text-warning\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"flex-1 min-w-0\">\n\t\t\t\t\t\t\t\t<h3 className=\"font-semibold text-sm flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t<Shield className=\"w-4 h-4 text-warning\" />\n\t\t\t\t\t\t\t\t\tTool Approval Required\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground mt-1\">\n\t\t\t\t\t\t\t\t\t<code className=\"px-1.5 py-0.5 bg-muted rounded text-xs font-mono\">\n\t\t\t\t\t\t\t\t\t\t{approval.toolName}\n\t\t\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t{approval.args && (\n\t\t\t\t\t\t\t\t\t<pre className=\"mt-2 p-2 bg-muted rounded text-xs font-mono overflow-x-auto max-h-24 overflow-y-auto\">\n\t\t\t\t\t\t\t\t\t\t{formatArgs(approval.args)}\n\t\t\t\t\t\t\t\t\t</pre>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex items-center justify-end gap-2 mt-3\">\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={() => handleApproval(approval.callId, false)}\n\t\t\t\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-sm font-medium rounded transition-colors hover:bg-muted disabled:opacity-50\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<X className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\tReject\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={() => handleApproval(approval.callId, true)}\n\t\t\t\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-sm font-medium rounded transition-colors bg-primary text-primary-foreground hover:bg-primary/90 disabled:opacity-50\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Check className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t{isProcessing ? 'Approving...' : 'Approve'}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n",
14
+ "import { useCallback, useState } from 'react';\nimport { useToolApprovalStore } from '../../stores/toolApprovalStore';\nimport { Shield, Check, X, Terminal, FileEdit, GitCommit } from 'lucide-react';\n\nconst TOOL_ICONS: Record<string, typeof Terminal> = {\n\tbash: Terminal,\n\twrite: FileEdit,\n\tapply_patch: FileEdit,\n\tterminal: Terminal,\n\tgit_commit: GitCommit,\n\tgit_push: GitCommit,\n};\n\ninterface ToolApprovalDialogProps {\n\tbaseUrl: string;\n\tsessionId: string;\n}\n\nexport function ToolApprovalDialog({\n\tbaseUrl,\n\tsessionId,\n}: ToolApprovalDialogProps) {\n\tconst { pendingApprovals, removePendingApproval } = useToolApprovalStore();\n\tconst [processingId, setProcessingId] = useState<string | null>(null);\n\n\tconst handleApproval = useCallback(\n\t\tasync (callId: string, approved: boolean) => {\n\t\t\tsetProcessingId(callId);\n\t\t\ttry {\n\t\t\t\tconst response = await fetch(\n\t\t\t\t\t`${baseUrl}/v1/sessions/${sessionId}/approval`,\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t\t\t\t\tbody: JSON.stringify({ callId, approved }),\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tif (response.ok) {\n\t\t\t\t\tremovePendingApproval(callId);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Failed to send approval:', error);\n\t\t\t} finally {\n\t\t\t\tsetProcessingId(null);\n\t\t\t}\n\t\t},\n\t\t[baseUrl, sessionId, removePendingApproval],\n\t);\n\n\tif (pendingApprovals.length === 0) return null;\n\n\tconst formatArgs = (args: unknown): string => {\n\t\tif (!args) return '';\n\t\tif (typeof args === 'string') return args;\n\t\ttry {\n\t\t\tconst str = JSON.stringify(args, null, 2);\n\t\t\treturn str.length > 200 ? `${str.slice(0, 200)}...` : str;\n\t\t} catch {\n\t\t\treturn String(args);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"fixed bottom-4 right-4 z-50 flex flex-col gap-2 max-w-md\">\n\t\t\t{pendingApprovals.map((approval) => {\n\t\t\t\tconst Icon = TOOL_ICONS[approval.toolName] || Shield;\n\t\t\t\tconst isProcessing = processingId === approval.callId;\n\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={approval.callId}\n\t\t\t\t\t\tclassName=\"bg-background border border-border rounded-lg shadow-lg p-4 animate-in slide-in-from-right-2\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex items-start gap-3\">\n\t\t\t\t\t\t\t<div className=\"p-2 bg-warning/10 rounded-lg\">\n\t\t\t\t\t\t\t\t<Icon className=\"w-5 h-5 text-warning\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"flex-1 min-w-0\">\n\t\t\t\t\t\t\t\t<h3 className=\"font-semibold text-sm flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t<Shield className=\"w-4 h-4 text-warning\" />\n\t\t\t\t\t\t\t\t\tTool Approval Required\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground mt-1\">\n\t\t\t\t\t\t\t\t\t<code className=\"px-1.5 py-0.5 bg-muted rounded text-xs font-mono\">\n\t\t\t\t\t\t\t\t\t\t{approval.toolName}\n\t\t\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t{approval.args && (\n\t\t\t\t\t\t\t\t\t<pre className=\"mt-2 p-2 bg-muted rounded text-xs font-mono overflow-x-auto max-h-24 overflow-y-auto\">\n\t\t\t\t\t\t\t\t\t\t{formatArgs(approval.args)}\n\t\t\t\t\t\t\t\t\t</pre>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex items-center justify-end gap-2 mt-3\">\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={() => handleApproval(approval.callId, false)}\n\t\t\t\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-sm font-medium rounded transition-colors hover:bg-muted disabled:opacity-50\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<X className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\tReject\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={() => handleApproval(approval.callId, true)}\n\t\t\t\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-sm font-medium rounded transition-colors bg-primary text-primary-foreground hover:bg-primary/90 disabled:opacity-50\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Check className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t{isProcessing ? 'Approving...' : 'Approve'}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n",
15
15
  "import { create } from 'zustand';\n\nexport interface PendingToolApproval {\n\tcallId: string;\n\ttoolName: string;\n\targs: unknown;\n\tmessageId: string;\n\tcreatedAt: number;\n}\n\ninterface ToolApprovalState {\n\tpendingApprovals: PendingToolApproval[];\n\taddPendingApproval: (approval: PendingToolApproval) => void;\n\tremovePendingApproval: (callId: string) => void;\n\tupdatePendingApproval: (callId: string, args: unknown) => void;\n\tclearPendingApprovals: () => void;\n\tsetPendingApprovals: (approvals: PendingToolApproval[]) => void;\n}\n\nexport const useToolApprovalStore = create<ToolApprovalState>((set) => ({\n\tpendingApprovals: [],\n\n\taddPendingApproval: (approval) =>\n\t\tset((state) => ({\n\t\t\tpendingApprovals: [...state.pendingApprovals, approval],\n\t\t})),\n\n\tremovePendingApproval: (callId) =>\n\t\tset((state) => ({\n\t\t\tpendingApprovals: state.pendingApprovals.filter(\n\t\t\t\t(a) => a.callId !== callId,\n\t\t\t),\n\t\t})),\n\n\tupdatePendingApproval: (callId, args) =>\n\t\tset((state) => ({\n\t\t\tpendingApprovals: state.pendingApprovals.map((a) =>\n\t\t\t\ta.callId === callId ? { ...a, args } : a,\n\t\t\t),\n\t\t})),\n\n\tclearPendingApprovals: () => set({ pendingApprovals: [] }),\n\n\tsetPendingApprovals: (approvals) => set({ pendingApprovals: approvals }),\n}));\n",
16
16
  "import { memo, useCallback, useRef } from 'react';\nimport { usePanelWidthStore } from '../../stores/panelWidthStore';\n\ninterface ResizeHandleProps {\n\tpanelKey: string;\n\tside: 'left' | 'right';\n\tminWidth: number;\n\tmaxWidth: number;\n\tdefaultWidth: number;\n\tonWidthChange?: (width: number) => void;\n}\n\nexport const ResizeHandle = memo(function ResizeHandle({\n\tpanelKey,\n\tside,\n\tminWidth,\n\tmaxWidth,\n\tdefaultWidth,\n\tonWidthChange,\n}: ResizeHandleProps) {\n\tconst dragRef = useRef<{ startX: number; startWidth: number } | null>(null);\n\n\tconst handleMouseDown = useCallback(\n\t\t(e: React.MouseEvent) => {\n\t\t\te.preventDefault();\n\t\t\tconst currentWidth = usePanelWidthStore\n\t\t\t\t.getState()\n\t\t\t\t.getWidth(panelKey, defaultWidth);\n\t\t\tdragRef.current = { startX: e.clientX, startWidth: currentWidth };\n\n\t\t\tconst handleMouseMove = (ev: MouseEvent) => {\n\t\t\t\tif (!dragRef.current) return;\n\t\t\t\tconst delta = ev.clientX - dragRef.current.startX;\n\t\t\t\tconst newWidth =\n\t\t\t\t\tside === 'right'\n\t\t\t\t\t\t? dragRef.current.startWidth - delta\n\t\t\t\t\t\t: dragRef.current.startWidth + delta;\n\t\t\t\tconst clamped = Math.min(Math.max(minWidth, newWidth), maxWidth);\n\t\t\t\tusePanelWidthStore.getState().setWidth(panelKey, clamped);\n\t\t\t\tonWidthChange?.(clamped);\n\t\t\t};\n\n\t\t\tconst handleMouseUp = () => {\n\t\t\t\tdragRef.current = null;\n\t\t\t\tdocument.removeEventListener('mousemove', handleMouseMove);\n\t\t\t\tdocument.removeEventListener('mouseup', handleMouseUp);\n\t\t\t\tdocument.body.style.cursor = '';\n\t\t\t\tdocument.body.style.userSelect = '';\n\t\t\t};\n\n\t\t\tdocument.addEventListener('mousemove', handleMouseMove);\n\t\t\tdocument.addEventListener('mouseup', handleMouseUp);\n\t\t\tdocument.body.style.cursor = 'col-resize';\n\t\t\tdocument.body.style.userSelect = 'none';\n\t\t},\n\t\t[panelKey, side, minWidth, maxWidth, defaultWidth, onWidthChange],\n\t);\n\n\treturn (\n\t\t// biome-ignore lint/a11y/noStaticElementInteractions: mouse-only resize handle\n\t\t<div\n\t\t\tclassName={`w-1 h-full cursor-col-resize hover:bg-primary/30 active:bg-primary/50 transition-colors absolute top-0 bottom-0 z-10 ${\n\t\t\t\tside === 'right' ? 'left-0' : 'right-0'\n\t\t\t}`}\n\t\t\tonMouseDown={handleMouseDown}\n\t\t/>\n\t);\n});\n",
17
17
  "import { create } from 'zustand';\nimport { persist } from 'zustand/middleware';\n\ninterface PanelWidthState {\n\twidths: Record<string, number>;\n\tsetWidth: (key: string, width: number) => void;\n\tgetWidth: (key: string, defaultWidth: number) => number;\n}\n\nexport const usePanelWidthStore = create<PanelWidthState>()(\n\tpersist(\n\t\t(set, get) => ({\n\t\t\twidths: {},\n\t\t\tsetWidth: (key, width) =>\n\t\t\t\tset((state) => ({\n\t\t\t\t\twidths: { ...state.widths, [key]: width },\n\t\t\t\t})),\n\t\t\tgetWidth: (key, defaultWidth) => get().widths[key] ?? defaultWidth,\n\t\t}),\n\t\t{\n\t\t\tname: 'panel-widths',\n\t\t},\n\t),\n);\n",
@@ -27,7 +27,7 @@
27
27
  "import {\n\tlistFiles as apiListFiles,\n\tgetFileTree as apiGetFileTree,\n\treadFile as apiReadFile,\n\tgetSessionFiles as apiGetSessionFiles,\n} from '@ottocode/api';\nimport type { SessionFilesResponse } from '../../types/api';\nimport { extractErrorMessage } from './utils';\n\nexport const filesMixin = {\n\tasync listFiles() {\n\t\tconst response = await apiListFiles();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as {\n\t\t\tfiles: string[];\n\t\t\tignoredFiles?: string[];\n\t\t\tchangedFiles: Array<{ path: string; status: string }>;\n\t\t\ttruncated: boolean;\n\t\t};\n\t},\n\n\tasync getFileTree(dirPath = '.'): Promise<{\n\t\titems: Array<{\n\t\t\tname: string;\n\t\t\tpath: string;\n\t\t\ttype: 'file' | 'directory';\n\t\t\tgitignored?: boolean;\n\t\t}>;\n\t\tpath: string;\n\t}> {\n\t\tconst response = await apiGetFileTree({\n\t\t\tquery: { path: dirPath },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync readFileContent(filePath: string): Promise<{\n\t\tcontent: string;\n\t\tpath: string;\n\t\textension: string;\n\t\tlineCount: number;\n\t}> {\n\t\tconst response = await apiReadFile({\n\t\t\tquery: { path: filePath },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getSessionFiles(sessionId: string): Promise<SessionFilesResponse> {\n\t\tconst response = await apiGetSessionFiles({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SessionFilesResponse;\n\t},\n};\n",
28
28
  "import {\n\tcreateBranch as apiCreateBranch,\n\tlistBranches as apiListBranches,\n\tgetParentSession as apiGetParentSession,\n\tgetShareStatus as apiGetShareStatus,\n\tshareSession as apiShareSession,\n\tsyncShare as apiSyncShare,\n} from '@ottocode/api';\nimport type {\n\tCreateBranchRequest,\n\tBranchResult,\n\tListBranchesResponse,\n\tParentSessionResponse,\n\tShareStatus,\n\tShareSessionResponse,\n\tSyncSessionResponse,\n} from '../../types/api';\nimport { extractErrorMessage } from './utils';\n\nexport const branchesMixin = {\n\tasync createBranch(\n\t\tsessionId: string,\n\t\tdata: CreateBranchRequest,\n\t): Promise<BranchResult> {\n\t\tconst response = await apiCreateBranch({\n\t\t\tpath: { sessionId },\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: data as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as unknown as BranchResult;\n\t},\n\n\tasync listBranches(sessionId: string): Promise<ListBranchesResponse> {\n\t\tconst response = await apiListBranches({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as unknown as ListBranchesResponse;\n\t},\n\n\tasync getParentSession(sessionId: string): Promise<ParentSessionResponse> {\n\t\tconst response = await apiGetParentSession({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as ParentSessionResponse;\n\t},\n\n\tasync getShareStatus(sessionId: string): Promise<ShareStatus> {\n\t\tconst response = await apiGetShareStatus({ path: { sessionId } });\n\t\tif (response.error) return { shared: false };\n\t\treturn response.data as ShareStatus;\n\t},\n\n\tasync shareSession(sessionId: string): Promise<ShareSessionResponse> {\n\t\tconst response = await apiShareSession({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as ShareSessionResponse;\n\t},\n\n\tasync syncSession(sessionId: string): Promise<SyncSessionResponse> {\n\t\tconst response = await apiSyncShare({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SyncSessionResponse;\n\t},\n};\n",
29
29
  "import {\n\tresolveApproval as apiResolveApproval,\n\tgetPendingApprovals as apiGetPendingApprovals,\n} from '@ottocode/api';\n\nexport const approvalMixin = {\n\tasync approveToolCall(\n\t\tsessionId: string,\n\t\tcallId: string,\n\t\tapproved: boolean,\n\t): Promise<{ ok: boolean; callId: string; approved: boolean }> {\n\t\tconst response = await apiResolveApproval({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API path type mismatch\n\t\t\tpath: { id: sessionId } as any,\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { callId, approved, sessionId } as any,\n\t\t});\n\t\tif (response.error) throw new Error('Failed to send tool approval');\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getPendingApprovals(sessionId: string): Promise<{\n\t\tok: boolean;\n\t\tpending: Array<{\n\t\t\tcallId: string;\n\t\t\ttoolName: string;\n\t\t\targs: unknown;\n\t\t\tmessageId: string;\n\t\t\tcreatedAt: number;\n\t\t}>;\n\t}> {\n\t\tconst response = await apiGetPendingApprovals({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API path type mismatch\n\t\t\tpath: { id: sessionId } as any,\n\t\t});\n\t\tif (response.error) return { ok: false, pending: [] };\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n};\n",
30
- "import {\n\tgetSetuBalance as apiGetSetuBalance,\n\tgetSetuWallet as apiGetSetuWallet,\n\tgetSetuUsdcBalance as apiGetSetuUsdcBalance,\n\tcreatePolarCheckout as apiCreatePolarCheckout,\n\tgetPolarTopupEstimate as apiGetPolarTopupEstimate,\n\tgetPolarTopupStatus as apiGetPolarTopupStatus,\n\tgetRazorpayTopupEstimate as apiGetRazorpayTopupEstimate,\n\tcreateRazorpayOrder as apiCreateRazorpayOrder,\n\tverifyRazorpayPayment as apiVerifyRazorpayPayment,\n\tselectTopupMethod as apiSelectTopupMethod,\n\tcancelTopup as apiCancelTopup,\n\tgetPendingTopup as apiGetPendingTopup,\n} from '@ottocode/api';\nimport { extractErrorMessage } from './utils';\n\nexport const setuMixin = {\n\tasync getSetuBalance(): Promise<{\n\t\twalletAddress: string;\n\t\tbalance: number;\n\t\ttotalSpent: number;\n\t\ttotalTopups: number;\n\t\trequestCount: number;\n\t\tscope?: 'wallet' | 'account';\n\t\tpayg?: {\n\t\t\twalletBalanceUsd: number;\n\t\t\taccountBalanceUsd: number;\n\t\t\trawPoolUsd: number;\n\t\t\teffectiveSpendableUsd: number;\n\t\t};\n\t\tlimits?: {\n\t\t\tenabled: boolean;\n\t\t\tdailyLimitUsd: number | null;\n\t\t\tdailySpentUsd: number;\n\t\t\tdailyRemainingUsd: number | null;\n\t\t\tmonthlyLimitUsd: number | null;\n\t\t\tmonthlySpentUsd: number;\n\t\t\tmonthlyRemainingUsd: number | null;\n\t\t\tcapRemainingUsd: number | null;\n\t\t} | null;\n\t\tsubscription?: {\n\t\t\tactive: boolean;\n\t\t\ttierId?: string;\n\t\t\ttierName?: string;\n\t\t\tcreditsIncluded?: number;\n\t\t\tcreditsUsed?: number;\n\t\t\tcreditsRemaining?: number;\n\t\t\tperiodStart?: string;\n\t\t\tperiodEnd?: string;\n\t\t} | null;\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetSetuBalance();\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync getSetuWallet(): Promise<{\n\t\tconfigured: boolean;\n\t\tpublicKey?: string;\n\t\terror?: string;\n\t}> {\n\t\ttry {\n\t\t\tconst response = await apiGetSetuWallet();\n\t\t\tif (response.error) return { configured: false };\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn { configured: false };\n\t\t}\n\t},\n\n\tasync getSetuUsdcBalance(network: 'mainnet' | 'devnet' = 'mainnet'): Promise<{\n\t\twalletAddress: string;\n\t\tusdcBalance: number;\n\t\tnetwork: 'mainnet' | 'devnet';\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetSetuUsdcBalance({\n\t\t\t\tquery: { network },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync getPolarTopupEstimate(amount: number): Promise<{\n\t\tcreditAmount: number;\n\t\tchargeAmount: number;\n\t\tfeeAmount: number;\n\t\tfeeBreakdown: {\n\t\t\tbasePercent: number;\n\t\t\tinternationalPercent: number;\n\t\t\tfixedCents: number;\n\t\t};\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetPolarTopupEstimate({\n\t\t\t\tquery: { amount },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync createPolarCheckout(\n\t\tamount: number,\n\t\tsuccessUrl: string,\n\t): Promise<{\n\t\tsuccess: boolean;\n\t\tcheckoutId: string;\n\t\tcheckoutUrl: string;\n\t\tcreditAmount: number;\n\t\tchargeAmount: number;\n\t\tfeeAmount: number;\n\t}> {\n\t\tconst response = await apiCreatePolarCheckout({\n\t\t\tbody: { amount, successUrl },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync selectTopupMethod(\n\t\tsessionId: string,\n\t\tmethod: 'crypto' | 'fiat',\n\t): Promise<{ success: boolean; method: string }> {\n\t\tconst response = await apiSelectTopupMethod({\n\t\t\tbody: { sessionId, method },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync cancelTopup(\n\t\tsessionId: string,\n\t\treason?: string,\n\t): Promise<{ success: boolean }> {\n\t\tconst response = await apiCancelTopup({\n\t\t\tbody: { sessionId, reason },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getPendingTopup(sessionId: string): Promise<{\n\t\thasPending: boolean;\n\t\tsessionId?: string;\n\t\tmessageId?: string;\n\t\tamountUsd?: number;\n\t\tcurrentBalance?: number;\n\t\tcreatedAt?: number;\n\t}> {\n\t\ttry {\n\t\t\tconst response = await apiGetPendingTopup({\n\t\t\t\tquery: { sessionId },\n\t\t\t});\n\t\t\tif (response.error) return { hasPending: false };\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn { hasPending: false };\n\t\t}\n\t},\n\n\tasync getPolarTopupStatus(checkoutId: string): Promise<{\n\t\tcheckoutId: string;\n\t\tconfirmed: boolean;\n\t\tamountUsd: number | null;\n\t\tconfirmedAt: string | null;\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetPolarTopupStatus({\n\t\t\t\tquery: { checkoutId },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync getRazorpayTopupEstimate(amount: number): Promise<{\n\t\tcreditAmountUsd: number;\n\t\tchargeAmountInr: number;\n\t\tfeeAmountInr: number;\n\t\tcurrency: string;\n\t\texchangeRate: number;\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetRazorpayTopupEstimate({\n\t\t\t\tquery: { amount },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync createRazorpayOrder(amount: number): Promise<{\n\t\tsuccess: boolean;\n\t\torderId: string;\n\t\tamount: number;\n\t\tcurrency: string;\n\t\tcreditAmountUsd: number;\n\t\tkeyId: string;\n\t}> {\n\t\tconst response = await apiCreateRazorpayOrder({\n\t\t\tbody: { amount },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync verifyRazorpayPayment(params: {\n\t\trazorpay_order_id: string;\n\t\trazorpay_payment_id: string;\n\t\trazorpay_signature: string;\n\t}): Promise<{\n\t\tsuccess: boolean;\n\t\tcredited: number;\n\t\tnewBalance: number;\n\t}> {\n\t\tconst response = await apiVerifyRazorpayPayment({\n\t\t\tbody: params,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n};\n",
30
+ "import {\n\tgetSetuBalance as apiGetSetuBalance,\n\tgetSetuWallet as apiGetSetuWallet,\n\tgetSetuUsdcBalance as apiGetSetuUsdcBalance,\n\tcreatePolarCheckout as apiCreatePolarCheckout,\n\tgetPolarTopupEstimate as apiGetPolarTopupEstimate,\n\tgetPolarTopupStatus as apiGetPolarTopupStatus,\n\tgetRazorpayTopupEstimate as apiGetRazorpayTopupEstimate,\n\tcreateRazorpayOrder as apiCreateRazorpayOrder,\n\tverifyRazorpayPayment as apiVerifyRazorpayPayment,\n\tselectTopupMethod as apiSelectTopupMethod,\n\tcancelTopup as apiCancelTopup,\n\tgetPendingTopup as apiGetPendingTopup,\n} from '@ottocode/api';\nimport { extractErrorMessage } from './utils';\n\nexport const setuMixin = {\n\tasync getSetuBalance(): Promise<{\n\t\twalletAddress: string;\n\t\tbalance: number;\n\t\ttotalSpent: number;\n\t\ttotalTopups: number;\n\t\trequestCount: number;\n\t\tscope?: 'wallet' | 'account';\n\t\tpayg?: {\n\t\t\twalletBalanceUsd: number;\n\t\t\taccountBalanceUsd: number;\n\t\t\trawPoolUsd: number;\n\t\t\teffectiveSpendableUsd: number;\n\t\t};\n\t\tlimits?: {\n\t\t\tenabled: boolean;\n\t\t\tdailyLimitUsd: number | null;\n\t\t\tdailySpentUsd: number;\n\t\t\tdailyRemainingUsd: number | null;\n\t\t\tmonthlyLimitUsd: number | null;\n\t\t\tmonthlySpentUsd: number;\n\t\t\tmonthlyRemainingUsd: number | null;\n\t\t\tcapRemainingUsd: number | null;\n\t\t} | null;\n\t\tsubscription?: {\n\t\t\tactive: boolean;\n\t\t\ttierId?: string;\n\t\t\ttierName?: string;\n\t\t\tcreditsIncluded?: number;\n\t\t\tcreditsUsed?: number;\n\t\t\tcreditsRemaining?: number;\n\t\t\tcreditsWeeklyLimit?: number | null;\n\t\t\tcreditsFiveHourLimit?: number | null;\n\t\t\tusageWindows?: {\n\t\t\t\tweekly: {\n\t\t\t\t\tlimit: number | null;\n\t\t\t\t\tused: number;\n\t\t\t\t\tremaining: number | null;\n\t\t\t\t\tpercentUsed: number;\n\t\t\t\t};\n\t\t\t\tfiveHour: {\n\t\t\t\t\tlimit: number | null;\n\t\t\t\t\tused: number;\n\t\t\t\t\tremaining: number | null;\n\t\t\t\t\tpercentUsed: number;\n\t\t\t\t};\n\t\t\t};\n\t\t\tperiodStart?: string;\n\t\t\tperiodEnd?: string;\n\t\t} | null;\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetSetuBalance();\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync getSetuWallet(): Promise<{\n\t\tconfigured: boolean;\n\t\tpublicKey?: string;\n\t\terror?: string;\n\t}> {\n\t\ttry {\n\t\t\tconst response = await apiGetSetuWallet();\n\t\t\tif (response.error) return { configured: false };\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn { configured: false };\n\t\t}\n\t},\n\n\tasync getSetuUsdcBalance(network: 'mainnet' | 'devnet' = 'mainnet'): Promise<{\n\t\twalletAddress: string;\n\t\tusdcBalance: number;\n\t\tnetwork: 'mainnet' | 'devnet';\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetSetuUsdcBalance({\n\t\t\t\tquery: { network },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync getPolarTopupEstimate(amount: number): Promise<{\n\t\tcreditAmount: number;\n\t\tchargeAmount: number;\n\t\tfeeAmount: number;\n\t\tfeeBreakdown: {\n\t\t\tbasePercent: number;\n\t\t\tinternationalPercent: number;\n\t\t\tfixedCents: number;\n\t\t};\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetPolarTopupEstimate({\n\t\t\t\tquery: { amount },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync createPolarCheckout(\n\t\tamount: number,\n\t\tsuccessUrl: string,\n\t): Promise<{\n\t\tsuccess: boolean;\n\t\tcheckoutId: string;\n\t\tcheckoutUrl: string;\n\t\tcreditAmount: number;\n\t\tchargeAmount: number;\n\t\tfeeAmount: number;\n\t}> {\n\t\tconst response = await apiCreatePolarCheckout({\n\t\t\tbody: { amount, successUrl },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync selectTopupMethod(\n\t\tsessionId: string,\n\t\tmethod: 'crypto' | 'fiat',\n\t): Promise<{ success: boolean; method: string }> {\n\t\tconst response = await apiSelectTopupMethod({\n\t\t\tbody: { sessionId, method },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync cancelTopup(\n\t\tsessionId: string,\n\t\treason?: string,\n\t): Promise<{ success: boolean }> {\n\t\tconst response = await apiCancelTopup({\n\t\t\tbody: { sessionId, reason },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getPendingTopup(sessionId: string): Promise<{\n\t\thasPending: boolean;\n\t\tsessionId?: string;\n\t\tmessageId?: string;\n\t\tamountUsd?: number;\n\t\tcurrentBalance?: number;\n\t\tcreatedAt?: number;\n\t}> {\n\t\ttry {\n\t\t\tconst response = await apiGetPendingTopup({\n\t\t\t\tquery: { sessionId },\n\t\t\t});\n\t\t\tif (response.error) return { hasPending: false };\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn { hasPending: false };\n\t\t}\n\t},\n\n\tasync getPolarTopupStatus(checkoutId: string): Promise<{\n\t\tcheckoutId: string;\n\t\tconfirmed: boolean;\n\t\tamountUsd: number | null;\n\t\tconfirmedAt: string | null;\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetPolarTopupStatus({\n\t\t\t\tquery: { checkoutId },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync getRazorpayTopupEstimate(amount: number): Promise<{\n\t\tcreditAmountUsd: number;\n\t\tchargeAmountInr: number;\n\t\tfeeAmountInr: number;\n\t\tcurrency: string;\n\t\texchangeRate: number;\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetRazorpayTopupEstimate({\n\t\t\t\tquery: { amount },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync createRazorpayOrder(amount: number): Promise<{\n\t\tsuccess: boolean;\n\t\torderId: string;\n\t\tamount: number;\n\t\tcurrency: string;\n\t\tcreditAmountUsd: number;\n\t\tkeyId: string;\n\t}> {\n\t\tconst response = await apiCreateRazorpayOrder({\n\t\t\tbody: { amount },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync verifyRazorpayPayment(params: {\n\t\trazorpay_order_id: string;\n\t\trazorpay_payment_id: string;\n\t\trazorpay_signature: string;\n\t}): Promise<{\n\t\tsuccess: boolean;\n\t\tcredited: number;\n\t\tnewBalance: number;\n\t}> {\n\t\tconst response = await apiVerifyRazorpayPayment({\n\t\t\tbody: params,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n};\n",
31
31
  "import {\n\tgetAuthStatus as apiGetAuthStatus,\n\tsetupSetuWallet as apiSetupSetuWallet,\n\timportSetuWallet as apiImportSetuWallet,\n\texportSetuWallet as apiExportSetuWallet,\n\taddProviderApiKey as apiAddProviderApiKey,\n\tremoveProvider as apiRemoveProvider,\n\tcompleteOnboarding as apiCompleteOnboarding,\n\tgetOAuthUrl as apiGetOAuthUrl,\n\texchangeOAuthCode as apiExchangeOAuthCode,\n\tstartCopilotDeviceFlow as apiStartCopilotDeviceFlow,\n\tpollCopilotDeviceFlow as apiPollCopilotDeviceFlow,\n\tgetCopilotAuthMethods as apiGetCopilotAuthMethods,\n\tsaveCopilotToken as apiSaveCopilotToken,\n\timportCopilotTokenFromGh as apiImportCopilotTokenFromGh,\n\tgetCopilotDiagnostics as apiGetCopilotDiagnostics,\n\tgetProviderUsage as apiGetProviderUsage,\n} from '@ottocode/api';\nimport type { ProviderUsageResponse } from '../../types/api';\nimport { extractErrorMessage, getBaseUrl } from './utils';\n\nexport const authMixin = {\n\tasync getAuthStatus(): Promise<{\n\t\tonboardingComplete: boolean;\n\t\tsetu: { configured: boolean; publicKey?: string };\n\t\tproviders: Record<\n\t\t\tstring,\n\t\t\t{\n\t\t\t\tconfigured: boolean;\n\t\t\t\ttype?: 'api' | 'oauth' | 'wallet';\n\t\t\t\tlabel: string;\n\t\t\t\tsupportsOAuth: boolean;\n\t\t\t\tsupportsToken?: boolean;\n\t\t\t\tsupportsGhImport?: boolean;\n\t\t\t\tmodelCount: number;\n\t\t\t\tcostRange?: { min: number; max: number };\n\t\t\t}\n\t\t>;\n\t\tdefaults: {\n\t\t\tagent: string;\n\t\t\tprovider: string;\n\t\t\tmodel: string;\n\t\t\ttoolApproval?: 'auto' | 'dangerous' | 'all';\n\t\t};\n\t}> {\n\t\tconst response = await apiGetAuthStatus();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync setupSetuWallet(): Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t\tisNew: boolean;\n\t}> {\n\t\tconst response = await apiSetupSetuWallet();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync importSetuWallet(privateKey: string): Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t}> {\n\t\tconst response = await apiImportSetuWallet({\n\t\t\tbody: { privateKey },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync exportSetuWallet(): Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t\tprivateKey: string;\n\t}> {\n\t\tconst response = await apiExportSetuWallet();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync addProvider(\n\t\tprovider: string,\n\t\tapiKey: string,\n\t): Promise<{ success: boolean; provider: string }> {\n\t\tconst response = await apiAddProviderApiKey({\n\t\t\tpath: { provider },\n\t\t\tbody: { apiKey },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync removeProvider(\n\t\tprovider: string,\n\t): Promise<{ success: boolean; provider: string }> {\n\t\tconst response = await apiRemoveProvider({ path: { provider } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync completeOnboarding(): Promise<{ success: boolean }> {\n\t\tconst response = await apiCompleteOnboarding();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tgetOAuthStartUrl(provider: string, mode?: string): string {\n\t\tconst baseUrl = `${getBaseUrl()}/v1/auth/${provider}/oauth/start`;\n\t\tif (mode) return `${baseUrl}?mode=${mode}`;\n\t\treturn baseUrl;\n\t},\n\n\tasync getOAuthUrl(\n\t\tprovider: string,\n\t\tmode?: string,\n\t): Promise<{ url: string; sessionId: string; provider: string }> {\n\t\tconst response = await apiGetOAuthUrl({\n\t\t\tpath: { provider },\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { mode } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync exchangeOAuthCode(\n\t\tprovider: string,\n\t\tcode: string,\n\t\tsessionId: string,\n\t): Promise<{ success: boolean; provider: string }> {\n\t\tconst response = await apiExchangeOAuthCode({\n\t\t\tpath: { provider },\n\t\t\tbody: { code, sessionId },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync startCopilotDeviceFlow(): Promise<{\n\t\tsessionId: string;\n\t\tuserCode: string;\n\t\tverificationUri: string;\n\t\tinterval: number;\n\t}> {\n\t\tconst response = await apiStartCopilotDeviceFlow();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync pollCopilotDeviceFlow(\n\t\tsessionId: string,\n\t): Promise<{ status: 'complete' | 'pending' | 'error'; error?: string }> {\n\t\tconst response = await apiPollCopilotDeviceFlow({\n\t\t\tbody: { sessionId },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getCopilotAuthMethods(): Promise<{\n\t\toauth: boolean;\n\t\ttoken: boolean;\n\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t}> {\n\t\tconst response = await apiGetCopilotAuthMethods();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync saveCopilotToken(token: string): Promise<{\n\t\tsuccess: boolean;\n\t\tprovider: string;\n\t\tsource: 'token';\n\t\tmodelCount: number;\n\t\thasGpt52Codex: boolean;\n\t\tsampleModels: string[];\n\t}> {\n\t\tconst response = await apiSaveCopilotToken({ body: { token } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync importCopilotTokenFromGh(): Promise<{\n\t\tsuccess: boolean;\n\t\tprovider: string;\n\t\tsource: 'gh';\n\t\tmodelCount: number;\n\t\thasGpt52Codex: boolean;\n\t\tsampleModels: string[];\n\t}> {\n\t\tconst response = await apiImportCopilotTokenFromGh();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getCopilotDiagnostics(): Promise<{\n\t\ttokenSources: Array<{\n\t\t\tsource: 'env' | 'stored';\n\t\t\tconfigured: boolean;\n\t\t\tmodelCount?: number;\n\t\t\thasGpt52Codex?: boolean;\n\t\t\tsampleModels?: string[];\n\t\t\trestrictedByOrgPolicy?: boolean;\n\t\t\trestrictedOrg?: string;\n\t\t\trestrictionMessage?: string;\n\t\t\terror?: string;\n\t\t}>;\n\t\tmethods: {\n\t\t\toauth: boolean;\n\t\t\ttoken: boolean;\n\t\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t\t};\n\t}> {\n\t\tconst response = await apiGetCopilotDiagnostics();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getProviderUsage(provider: string): Promise<ProviderUsageResponse> {\n\t\tconst response = await apiGetProviderUsage({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API path type mismatch\n\t\t\tpath: { provider } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as ProviderUsageResponse;\n\t},\n};\n",
32
32
  "import {\n\tlistSkills as apiListSkills,\n\tgetSkill as apiGetSkill,\n\tlistSkillFiles as apiListSkillFiles,\n\tgetSkillFile as apiGetSkillFile,\n} from '@ottocode/api';\nimport { extractErrorMessage } from './utils';\n\nexport interface SkillSummary {\n\tname: string;\n\tdescription: string;\n\tscope: string;\n\tpath: string;\n}\n\nexport interface SkillDetail {\n\tname: string;\n\tdescription: string;\n\tlicense?: string | null;\n\tcompatibility?: string | null;\n\tmetadata?: unknown;\n\tallowedTools?: string[] | null;\n\tpath: string;\n\tscope: string;\n\tcontent: string;\n}\n\nexport interface SkillFileInfo {\n\trelativePath: string;\n\tsize: number;\n}\n\nexport const skillsMixin = {\n\tasync listSkills(): Promise<{ skills: SkillSummary[] }> {\n\t\tconst response = await apiListSkills();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { skills: SkillSummary[] };\n\t},\n\n\tasync getSkill(name: string): Promise<SkillDetail> {\n\t\tconst response = await apiGetSkill({ path: { name } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SkillDetail;\n\t},\n\n\tasync getSkillFiles(name: string): Promise<{ files: SkillFileInfo[] }> {\n\t\tconst response = await apiListSkillFiles({ path: { name } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { files: SkillFileInfo[] };\n\t},\n\n\tasync getSkillFileContent(\n\t\tname: string,\n\t\tfilePath: string,\n\t): Promise<{ content: string; path: string }> {\n\t\tconst response = await apiGetSkillFile({\n\t\t\tpath: { name, filePath },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { content: string; path: string };\n\t},\n};\n",
33
33
  "import { sessionsMixin } from './sessions';\nimport { gitMixin } from './git';\nimport { configMixin } from './config';\nimport { filesMixin } from './files';\nimport { branchesMixin } from './branches';\nimport { approvalMixin } from './approval';\nimport { setuMixin } from './setu';\nimport { authMixin } from './auth';\nimport { skillsMixin } from './skills';\n\nexport { configureApiClient } from './utils';\n\nclass ApiClient {\n\tgetSessions = sessionsMixin.getSessions;\n\tgetSessionsPage = sessionsMixin.getSessionsPage;\n\tcreateSession = sessionsMixin.createSession;\n\tupdateSession = sessionsMixin.updateSession;\n\tdeleteSession = sessionsMixin.deleteSession;\n\tabortSession = sessionsMixin.abortSession;\n\tabortMessage = sessionsMixin.abortMessage;\n\tgetQueueState = sessionsMixin.getQueueState;\n\tremoveFromQueue = sessionsMixin.removeFromQueue;\n\tgetMessages = sessionsMixin.getMessages;\n\tsendMessage = sessionsMixin.sendMessage;\n\tgetStreamUrl = sessionsMixin.getStreamUrl;\n\tretryMessage = sessionsMixin.retryMessage;\n\n\tinitGitRepo = gitMixin.initGitRepo;\n\tgetGitStatus = gitMixin.getGitStatus;\n\tgetGitDiff = gitMixin.getGitDiff;\n\tgetGitDiffFullFile = gitMixin.getGitDiffFullFile;\n\tgenerateCommitMessage = gitMixin.generateCommitMessage;\n\tstageFiles = gitMixin.stageFiles;\n\tunstageFiles = gitMixin.unstageFiles;\n\trestoreFiles = gitMixin.restoreFiles;\n\tdeleteFiles = gitMixin.deleteFiles;\n\tcommitChanges = gitMixin.commitChanges;\n\tgetGitBranch = gitMixin.getGitBranch;\n\tpushCommits = gitMixin.pushCommits;\n\tpullChanges = gitMixin.pullChanges;\n\tgetRemotes = gitMixin.getRemotes;\n\taddRemote = gitMixin.addRemote;\n\tremoveRemote = gitMixin.removeRemote;\n\n\tgetConfig = configMixin.getConfig;\n\tgetModels = configMixin.getModels;\n\tgetAllModels = configMixin.getAllModels;\n\tupdateDefaults = configMixin.updateDefaults;\n\n\tlistFiles = filesMixin.listFiles;\n\tgetFileTree = filesMixin.getFileTree;\n\treadFileContent = filesMixin.readFileContent;\n\tgetSessionFiles = filesMixin.getSessionFiles;\n\n\tcreateBranch = branchesMixin.createBranch;\n\tlistBranches = branchesMixin.listBranches;\n\tgetParentSession = branchesMixin.getParentSession;\n\tgetShareStatus = branchesMixin.getShareStatus;\n\tshareSession = branchesMixin.shareSession;\n\tsyncSession = branchesMixin.syncSession;\n\n\tapproveToolCall = approvalMixin.approveToolCall;\n\tgetPendingApprovals = approvalMixin.getPendingApprovals;\n\n\tgetSetuBalance = setuMixin.getSetuBalance;\n\tgetSetuWallet = setuMixin.getSetuWallet;\n\tgetSetuUsdcBalance = setuMixin.getSetuUsdcBalance;\n\tgetPolarTopupEstimate = setuMixin.getPolarTopupEstimate;\n\tcreatePolarCheckout = setuMixin.createPolarCheckout;\n\tselectTopupMethod = setuMixin.selectTopupMethod;\n\tcancelTopup = setuMixin.cancelTopup;\n\tgetPendingTopup = setuMixin.getPendingTopup;\n\tgetPolarTopupStatus = setuMixin.getPolarTopupStatus;\n\tgetRazorpayTopupEstimate = setuMixin.getRazorpayTopupEstimate;\n\tcreateRazorpayOrder = setuMixin.createRazorpayOrder;\n\tverifyRazorpayPayment = setuMixin.verifyRazorpayPayment;\n\n\tgetAuthStatus = authMixin.getAuthStatus;\n\tsetupSetuWallet = authMixin.setupSetuWallet;\n\timportSetuWallet = authMixin.importSetuWallet;\n\texportSetuWallet = authMixin.exportSetuWallet;\n\taddProvider = authMixin.addProvider;\n\tremoveProvider = authMixin.removeProvider;\n\tcompleteOnboarding = authMixin.completeOnboarding;\n\tgetOAuthStartUrl = authMixin.getOAuthStartUrl;\n\tgetOAuthUrl = authMixin.getOAuthUrl;\n\texchangeOAuthCode = authMixin.exchangeOAuthCode;\n\tstartCopilotDeviceFlow = authMixin.startCopilotDeviceFlow;\n\tpollCopilotDeviceFlow = authMixin.pollCopilotDeviceFlow;\n\tgetCopilotAuthMethods = authMixin.getCopilotAuthMethods;\n\tsaveCopilotToken = authMixin.saveCopilotToken;\n\timportCopilotTokenFromGh = authMixin.importCopilotTokenFromGh;\n\tgetCopilotDiagnostics = authMixin.getCopilotDiagnostics;\n\tgetProviderUsage = authMixin.getProviderUsage;\n\n\tlistSkills = skillsMixin.listSkills;\n\tgetSkill = skillsMixin.getSkill;\n\tgetSkillFiles = skillsMixin.getSkillFiles;\n\tgetSkillFileContent = skillsMixin.getSkillFileContent;\n}\n\nexport const apiClient = new ApiClient();\n",
@@ -43,7 +43,7 @@
43
43
  "import { useState, useCallback } from 'react';\n\ninterface UseFileMentionReturn {\n\tshowFileMention: boolean;\n\tmentionQuery: string;\n\tmentionSelectedIndex: number;\n\tcurrentFileToSelect: string | undefined;\n\tsetShowFileMention: (show: boolean) => void;\n\tsetMentionQuery: (query: string) => void;\n\tsetMentionSelectedIndex: (index: number) => void;\n\tsetCurrentFileToSelect: (file: string | undefined) => void;\n\thandleFileSelect: (\n\t\tfilePath: string,\n\t\ttextareaRef: React.RefObject<HTMLTextAreaElement>,\n\t\tsetMessage: (msg: string) => void,\n\t) => void;\n\thandleEnterSelect: (file: string | undefined) => void;\n\tcheckForMention: (value: string, cursorPos: number) => void;\n}\n\nexport function useFileMention(): UseFileMentionReturn {\n\tconst [showFileMention, setShowFileMention] = useState(false);\n\tconst [mentionQuery, setMentionQuery] = useState('');\n\tconst [mentionSelectedIndex, setMentionSelectedIndex] = useState(0);\n\tconst [currentFileToSelect, setCurrentFileToSelect] = useState<\n\t\tstring | undefined\n\t>();\n\n\tconst handleFileSelect = useCallback(\n\t\t(\n\t\t\tfilePath: string,\n\t\t\ttextareaRef: React.RefObject<HTMLTextAreaElement>,\n\t\t\tsetMessage: (msg: string) => void,\n\t\t) => {\n\t\t\tconst textarea = textareaRef.current;\n\t\t\tif (!textarea) return;\n\n\t\t\tconst value = textarea.value;\n\t\t\tconst cursorPos = textarea.selectionStart;\n\t\t\tconst textBeforeCursor = value.slice(0, cursorPos);\n\n\t\t\tconst match = textBeforeCursor.match(/(^|[\\s])@(\\S*)$/);\n\t\t\tif (!match) return;\n\n\t\t\tconst atPos = cursorPos - match[0].length + match[1].length;\n\t\t\tconst newValue = `${value.slice(0, atPos)}@${filePath} ${value.slice(cursorPos)}`;\n\n\t\t\tsetMessage(newValue);\n\t\t\tsetShowFileMention(false);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst newCursorPos = atPos + filePath.length + 2;\n\t\t\t\ttextarea.setSelectionRange(newCursorPos, newCursorPos);\n\t\t\t\ttextarea.focus();\n\t\t\t}, 0);\n\t\t},\n\t\t[],\n\t);\n\n\tconst handleEnterSelect = useCallback((file: string | undefined) => {\n\t\tsetCurrentFileToSelect(file);\n\t}, []);\n\n\tconst checkForMention = useCallback((value: string, cursorPos: number) => {\n\t\tconst textBeforeCursor = value.slice(0, cursorPos);\n\t\tconst match = textBeforeCursor.match(/(^|[\\s])@(\\S*)$/);\n\n\t\tif (match) {\n\t\t\tsetShowFileMention(true);\n\t\t\tsetMentionQuery(match[2]);\n\t\t\tsetMentionSelectedIndex(0);\n\t\t} else {\n\t\t\tsetShowFileMention(false);\n\t\t}\n\t}, []);\n\n\treturn {\n\t\tshowFileMention,\n\t\tmentionQuery,\n\t\tmentionSelectedIndex,\n\t\tcurrentFileToSelect,\n\t\tsetShowFileMention,\n\t\tsetMentionQuery,\n\t\tsetMentionSelectedIndex,\n\t\tsetCurrentFileToSelect,\n\t\thandleFileSelect,\n\t\thandleEnterSelect,\n\t\tcheckForMention,\n\t};\n}\n",
44
44
  "import { useState, useCallback } from 'react';\nimport { apiClient } from '../lib/api-client';\n\ninterface UseCommandSuggestionsOptions {\n\tonCommand?: (commandId: string) => void;\n\tupdatePreferences: (prefs: { vimMode?: boolean }) => void;\n\tupdateReasoningText: (enabled: boolean) => void;\n\tvimModeEnabled: boolean;\n\treasoningEnabled: boolean;\n\ttextareaRef: React.RefObject<HTMLTextAreaElement>;\n\tsetMessage: (msg: string) => void;\n\tsetShowShortcutsModal: (show: boolean) => void;\n\tsessionId?: string;\n}\n\ninterface UseCommandSuggestionsReturn {\n\tshowCommandSuggestions: boolean;\n\tcommandQuery: string;\n\tcommandSelectedIndex: number;\n\tcurrentCommandToSelect: string | undefined;\n\tsetShowCommandSuggestions: (show: boolean) => void;\n\tsetCommandQuery: (query: string) => void;\n\tsetCommandSelectedIndex: (index: number) => void;\n\tsetCurrentCommandToSelect: (commandId: string | undefined) => void;\n\thandleCommandSelect: (commandId: string) => void;\n\thandleCommandEnterSelect: (commandId: string | undefined) => void;\n\tcheckForCommand: (value: string) => void;\n}\n\nexport function useCommandSuggestions({\n\tonCommand,\n\tupdatePreferences,\n\tupdateReasoningText,\n\tvimModeEnabled,\n\treasoningEnabled,\n\ttextareaRef,\n\tsetMessage,\n\tsetShowShortcutsModal,\n\tsessionId,\n}: UseCommandSuggestionsOptions): UseCommandSuggestionsReturn {\n\tconst [showCommandSuggestions, setShowCommandSuggestions] = useState(false);\n\tconst [commandQuery, setCommandQuery] = useState('');\n\tconst [commandSelectedIndex, setCommandSelectedIndex] = useState(0);\n\tconst [currentCommandToSelect, setCurrentCommandToSelect] = useState<\n\t\tstring | undefined\n\t>();\n\n\tconst handleCommandSelect = useCallback(\n\t\tasync (commandId: string) => {\n\t\t\tconst resetInput = () => {\n\t\t\t\tsetMessage('');\n\t\t\t\tsetShowCommandSuggestions(false);\n\t\t\t\tif (textareaRef.current) {\n\t\t\t\t\ttextareaRef.current.style.height = 'auto';\n\t\t\t\t}\n\t\t\t\ttextareaRef.current?.focus();\n\t\t\t};\n\n\t\t\tif (commandId === 'help') {\n\t\t\t\tsetShowShortcutsModal(true);\n\t\t\t\tresetInput();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (commandId === 'vim') {\n\t\t\t\tupdatePreferences({ vimMode: !vimModeEnabled });\n\t\t\t\tresetInput();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (commandId === 'reasoning') {\n\t\t\t\tupdateReasoningText(!reasoningEnabled);\n\t\t\t\tresetInput();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (commandId === 'stop') {\n\t\t\t\tif (sessionId) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait apiClient.abortSession(sessionId);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to stop generation:', error);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tresetInput();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (onCommand) {\n\t\t\t\tonCommand(commandId);\n\t\t\t}\n\t\t\tresetInput();\n\t\t},\n\t\t[\n\t\t\tonCommand,\n\t\t\tvimModeEnabled,\n\t\t\treasoningEnabled,\n\t\t\tupdatePreferences,\n\t\t\tupdateReasoningText,\n\t\t\ttextareaRef,\n\t\t\tsetMessage,\n\t\t\tsetShowShortcutsModal,\n\t\t\tsessionId,\n\t\t],\n\t);\n\n\tconst handleCommandEnterSelect = useCallback(\n\t\t(commandId: string | undefined) => {\n\t\t\tsetCurrentCommandToSelect(commandId);\n\t\t},\n\t\t[],\n\t);\n\n\tconst checkForCommand = useCallback((value: string) => {\n\t\tif (value.startsWith('/') && !value.includes(' ')) {\n\t\t\tsetShowCommandSuggestions(true);\n\t\t\tsetCommandQuery(value.slice(1));\n\t\t\tsetCommandSelectedIndex(0);\n\t\t} else {\n\t\t\tsetShowCommandSuggestions(false);\n\t\t}\n\t}, []);\n\n\treturn {\n\t\tshowCommandSuggestions,\n\t\tcommandQuery,\n\t\tcommandSelectedIndex,\n\t\tcurrentCommandToSelect,\n\t\tsetShowCommandSuggestions,\n\t\tsetCommandQuery,\n\t\tsetCommandSelectedIndex,\n\t\tsetCurrentCommandToSelect,\n\t\thandleCommandSelect,\n\t\thandleCommandEnterSelect,\n\t\tcheckForCommand,\n\t};\n}\n",
45
45
  "import type { KeyboardEvent } from 'react';\nimport type { VimMode } from '../../hooks/useVimMode';\nimport { COMMANDS } from '../../lib/commands';\n\ninterface ChatInputKeyHandlerOptions {\n\tshowFileMention: boolean;\n\tshowCommandSuggestions: boolean;\n\tmentionSelectedIndex: number;\n\tcommandSelectedIndex: number;\n\tcurrentFileToSelect: string | undefined;\n\tcurrentCommandToSelect: string | undefined;\n\tisPlanMode: boolean;\n\tvimModeEnabled: boolean;\n\tvimMode: VimMode;\n\tsetMentionSelectedIndex: (index: number) => void;\n\tsetCommandSelectedIndex: (index: number) => void;\n\tsetShowFileMention: (show: boolean) => void;\n\tsetShowCommandSuggestions: (show: boolean) => void;\n\tsetIsPlanMode: (mode: boolean) => void;\n\tsetVimMode: (mode: VimMode) => void;\n\thandleFileSelect: (file: string) => void;\n\thandleCommandSelect: (commandId: string) => void;\n\thandleSend: () => void;\n\thandleVimNormalMode: (e: KeyboardEvent<HTMLTextAreaElement>) => boolean;\n\tonPlanModeToggle?: (isPlanMode: boolean) => void;\n}\n\nexport function createChatInputKeyHandler(options: ChatInputKeyHandlerOptions) {\n\treturn (e: KeyboardEvent<HTMLTextAreaElement>) => {\n\t\tconst {\n\t\t\tshowFileMention,\n\t\t\tshowCommandSuggestions,\n\t\t\tmentionSelectedIndex,\n\t\t\tcommandSelectedIndex,\n\t\t\tcurrentFileToSelect,\n\t\t\tcurrentCommandToSelect,\n\t\t\tisPlanMode,\n\t\t\tvimModeEnabled,\n\t\t\tvimMode,\n\t\t\tsetMentionSelectedIndex,\n\t\t\tsetCommandSelectedIndex,\n\t\t\tsetShowFileMention,\n\t\t\tsetShowCommandSuggestions,\n\t\t\tsetIsPlanMode,\n\t\t\tsetVimMode,\n\t\t\thandleFileSelect,\n\t\t\thandleCommandSelect,\n\t\t\thandleSend,\n\t\t\thandleVimNormalMode,\n\t\t\tonPlanModeToggle,\n\t\t} = options;\n\n\t\tif (showCommandSuggestions) {\n\t\t\tconst count = COMMANDS.length;\n\t\t\tif (e.key === 'ArrowDown' || (e.ctrlKey && e.key === 'j')) {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetCommandSelectedIndex((commandSelectedIndex + 1) % count);\n\t\t\t} else if (e.key === 'ArrowUp' || (e.ctrlKey && e.key === 'k')) {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetCommandSelectedIndex((commandSelectedIndex - 1 + count) % count);\n\t\t\t} else if (e.key === 'Enter') {\n\t\t\t\te.preventDefault();\n\t\t\t\tif (currentCommandToSelect) {\n\t\t\t\t\thandleCommandSelect(currentCommandToSelect);\n\t\t\t\t}\n\t\t\t} else if (e.key === 'Escape') {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetShowCommandSuggestions(false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (showFileMention) {\n\t\t\tif (e.key === 'ArrowDown' || (e.ctrlKey && e.key === 'j')) {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetMentionSelectedIndex((mentionSelectedIndex + 1) % 20);\n\t\t\t} else if (e.key === 'ArrowUp' || (e.ctrlKey && e.key === 'k')) {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetMentionSelectedIndex((mentionSelectedIndex - 1 + 20) % 20);\n\t\t\t} else if (e.key === 'Enter') {\n\t\t\t\te.preventDefault();\n\t\t\t\tif (currentFileToSelect) {\n\t\t\t\t\thandleFileSelect(currentFileToSelect);\n\t\t\t\t}\n\t\t\t} else if (e.key === 'Escape') {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetShowFileMention(false);\n\t\t\t\tif (vimModeEnabled) {\n\t\t\t\t\tsetVimMode('normal');\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (vimModeEnabled && vimMode === 'normal') {\n\t\t\tconst handled = handleVimNormalMode(e);\n\t\t\tif (handled) return;\n\t\t}\n\n\t\tif (vimModeEnabled && vimMode === 'insert' && e.key === 'Escape') {\n\t\t\te.preventDefault();\n\t\t\tsetVimMode('normal');\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.key === 'Tab') {\n\t\t\te.preventDefault();\n\t\t\tconst newPlanMode = !isPlanMode;\n\t\t\tsetIsPlanMode(newPlanMode);\n\t\t\tonPlanModeToggle?.(newPlanMode);\n\t\t} else if (\n\t\t\te.key === 'Enter' &&\n\t\t\t!e.shiftKey &&\n\t\t\t(!vimModeEnabled || vimMode === 'normal')\n\t\t) {\n\t\t\te.preventDefault();\n\t\t\thandleSend();\n\t\t}\n\t};\n}\n",
46
- "import { create } from 'zustand';\n\ninterface SetuSubscription {\n\tactive: boolean;\n\ttierId?: string;\n\ttierName?: string;\n\tcreditsIncluded?: number;\n\tcreditsUsed?: number;\n\tcreditsRemaining?: number;\n\tperiodStart?: string;\n\tperiodEnd?: string;\n}\n\ninterface SetuPayg {\n\twalletBalanceUsd: number;\n\taccountBalanceUsd: number;\n\trawPoolUsd: number;\n\teffectiveSpendableUsd: number;\n}\n\ninterface SetuLimits {\n\tenabled: boolean;\n\tdailyLimitUsd: number | null;\n\tdailySpentUsd: number;\n\tdailyRemainingUsd: number | null;\n\tmonthlyLimitUsd: number | null;\n\tmonthlySpentUsd: number;\n\tmonthlyRemainingUsd: number | null;\n\tcapRemainingUsd: number | null;\n}\n\ninterface SetuState {\n\tbalance: number | null;\n\tusdcBalance: number | null;\n\tnetwork: 'mainnet' | 'devnet';\n\tisPaymentPending: boolean;\n\tlastPaymentAmount: number | null;\n\twalletAddress: string | null;\n\tisLoading: boolean;\n\tisTopupModalOpen: boolean;\n\tscope: 'wallet' | 'account' | null;\n\tpayg: SetuPayg | null;\n\tsubscription: SetuSubscription | null;\n\tlimits: SetuLimits | null;\n\tsetBalance: (balance: number | null) => void;\n\tsetUsdcBalance: (usdcBalance: number | null) => void;\n\tsetNetwork: (network: 'mainnet' | 'devnet') => void;\n\tsetPaymentPending: (pending: boolean) => void;\n\tsetLastPaymentAmount: (amount: number | null) => void;\n\tsetWalletAddress: (address: string | null) => void;\n\tsetLoading: (loading: boolean) => void;\n\topenTopupModal: () => void;\n\tcloseTopupModal: () => void;\n\tsetScope: (scope: 'wallet' | 'account' | null) => void;\n\tsetPayg: (payg: SetuPayg | null) => void;\n\tsetSubscription: (subscription: SetuSubscription | null) => void;\n\tsetLimits: (limits: SetuLimits | null) => void;\n}\n\nexport const useSetuStore = create<SetuState>((set) => ({\n\tbalance: null,\n\tusdcBalance: null,\n\tnetwork: 'mainnet',\n\tisPaymentPending: false,\n\tlastPaymentAmount: null,\n\twalletAddress: null,\n\tisLoading: false,\n\tisTopupModalOpen: false,\n\tscope: null,\n\tpayg: null,\n\tsubscription: null,\n\tlimits: null,\n\tsetBalance: (balance) => set({ balance }),\n\tsetUsdcBalance: (usdcBalance) => set({ usdcBalance }),\n\tsetNetwork: (network) => set({ network }),\n\tsetPaymentPending: (isPaymentPending) => set({ isPaymentPending }),\n\tsetLastPaymentAmount: (lastPaymentAmount) => set({ lastPaymentAmount }),\n\tsetWalletAddress: (walletAddress) => set({ walletAddress }),\n\tsetLoading: (isLoading) => set({ isLoading }),\n\topenTopupModal: () => set({ isTopupModalOpen: true }),\n\tcloseTopupModal: () => set({ isTopupModalOpen: false }),\n\tsetScope: (scope) => set({ scope }),\n\tsetPayg: (payg) => set({ payg }),\n\tsetSubscription: (subscription) => set({ subscription }),\n\tsetLimits: (limits) => set({ limits }),\n}));\n",
46
+ "import { create } from 'zustand';\n\ninterface SetuUsageWindow {\n\tlimit: number | null;\n\tused: number;\n\tremaining: number | null;\n\tpercentUsed: number;\n}\n\ninterface SetuSubscription {\n\tactive: boolean;\n\ttierId?: string;\n\ttierName?: string;\n\tcreditsIncluded?: number;\n\tcreditsUsed?: number;\n\tcreditsRemaining?: number;\n\tcreditsWeeklyLimit?: number | null;\n\tcreditsFiveHourLimit?: number | null;\n\tusageWindows?: {\n\t\tweekly: SetuUsageWindow;\n\t\tfiveHour: SetuUsageWindow;\n\t};\n\tperiodStart?: string;\n\tperiodEnd?: string;\n}\n\ninterface SetuPayg {\n\twalletBalanceUsd: number;\n\taccountBalanceUsd: number;\n\trawPoolUsd: number;\n\teffectiveSpendableUsd: number;\n}\n\ninterface SetuLimits {\n\tenabled: boolean;\n\tdailyLimitUsd: number | null;\n\tdailySpentUsd: number;\n\tdailyRemainingUsd: number | null;\n\tmonthlyLimitUsd: number | null;\n\tmonthlySpentUsd: number;\n\tmonthlyRemainingUsd: number | null;\n\tcapRemainingUsd: number | null;\n}\n\ninterface SetuState {\n\tbalance: number | null;\n\tusdcBalance: number | null;\n\tnetwork: 'mainnet' | 'devnet';\n\tisPaymentPending: boolean;\n\tlastPaymentAmount: number | null;\n\twalletAddress: string | null;\n\tisLoading: boolean;\n\tisTopupModalOpen: boolean;\n\tscope: 'wallet' | 'account' | null;\n\tpayg: SetuPayg | null;\n\tsubscription: SetuSubscription | null;\n\tlimits: SetuLimits | null;\n\tsetBalance: (balance: number | null) => void;\n\tsetUsdcBalance: (usdcBalance: number | null) => void;\n\tsetNetwork: (network: 'mainnet' | 'devnet') => void;\n\tsetPaymentPending: (pending: boolean) => void;\n\tsetLastPaymentAmount: (amount: number | null) => void;\n\tsetWalletAddress: (address: string | null) => void;\n\tsetLoading: (loading: boolean) => void;\n\topenTopupModal: () => void;\n\tcloseTopupModal: () => void;\n\tsetScope: (scope: 'wallet' | 'account' | null) => void;\n\tsetPayg: (payg: SetuPayg | null) => void;\n\tsetSubscription: (subscription: SetuSubscription | null) => void;\n\tsetLimits: (limits: SetuLimits | null) => void;\n}\n\nexport const useSetuStore = create<SetuState>((set) => ({\n\tbalance: null,\n\tusdcBalance: null,\n\tnetwork: 'mainnet',\n\tisPaymentPending: false,\n\tlastPaymentAmount: null,\n\twalletAddress: null,\n\tisLoading: false,\n\tisTopupModalOpen: false,\n\tscope: null,\n\tpayg: null,\n\tsubscription: null,\n\tlimits: null,\n\tsetBalance: (balance) => set({ balance }),\n\tsetUsdcBalance: (usdcBalance) => set({ usdcBalance }),\n\tsetNetwork: (network) => set({ network }),\n\tsetPaymentPending: (isPaymentPending) => set({ isPaymentPending }),\n\tsetLastPaymentAmount: (lastPaymentAmount) => set({ lastPaymentAmount }),\n\tsetWalletAddress: (walletAddress) => set({ walletAddress }),\n\tsetLoading: (isLoading) => set({ isLoading }),\n\topenTopupModal: () => set({ isTopupModalOpen: true }),\n\tcloseTopupModal: () => set({ isTopupModalOpen: false }),\n\tsetScope: (scope) => set({ scope }),\n\tsetPayg: (payg) => set({ payg }),\n\tsetSubscription: (subscription) => set({ subscription }),\n\tsetLimits: (limits) => set({ limits }),\n}));\n",
47
47
  "import { memo, useCallback, useState } from 'react';\nimport { Shield, Check, X, CheckCheck } from 'lucide-react';\nimport type { PendingToolApproval } from '../../stores/toolApprovalStore';\nimport { useToolApprovalStore } from '../../stores/toolApprovalStore';\nimport { apiClient } from '../../lib/api-client';\n\ninterface InputApprovalBarProps {\n\tsessionId: string;\n}\n\nfunction formatArgs(args: unknown): string {\n\tif (!args) return '';\n\tif (typeof args === 'string') return args;\n\ttry {\n\t\tconst obj = args as Record<string, unknown>;\n\t\tconst cmd = obj.cmd ?? obj.command;\n\t\tif (typeof cmd === 'string') return cmd;\n\t\tconst path = obj.path ?? obj.pattern ?? obj.query;\n\t\tif (typeof path === 'string') return path;\n\t\tconst str = JSON.stringify(args, null, 2);\n\t\treturn str.length > 120 ? `${str.slice(0, 120)}...` : str;\n\t} catch {\n\t\treturn String(args);\n\t}\n}\n\nfunction ApprovalItem({\n\tapproval,\n\tsessionId,\n\tisProcessing,\n\tonProcess,\n}: {\n\tapproval: PendingToolApproval;\n\tsessionId: string;\n\tisProcessing: boolean;\n\tonProcess: (callId: string) => void;\n}) {\n\tconst { removePendingApproval } = useToolApprovalStore();\n\tconst toolLabel = approval.toolName.replace(/_/g, ' ');\n\tconst target = formatArgs(approval.args);\n\n\tconst handleApprove = useCallback(async () => {\n\t\tonProcess(approval.callId);\n\t\ttry {\n\t\t\tawait apiClient.approveToolCall(sessionId, approval.callId, true);\n\t\t\tremovePendingApproval(approval.callId);\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to approve:', error);\n\t\t}\n\t}, [sessionId, approval.callId, removePendingApproval, onProcess]);\n\n\tconst handleReject = useCallback(async () => {\n\t\tonProcess(approval.callId);\n\t\ttry {\n\t\t\tawait apiClient.approveToolCall(sessionId, approval.callId, false);\n\t\t\tremovePendingApproval(approval.callId);\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to reject:', error);\n\t\t}\n\t}, [sessionId, approval.callId, removePendingApproval, onProcess]);\n\n\treturn (\n\t\t<div className=\"flex items-center gap-2 px-3 py-2 min-w-0\">\n\t\t\t<Shield className=\"h-3.5 w-3.5 text-amber-500 flex-shrink-0\" />\n\t\t\t<span className=\"text-xs font-medium text-foreground truncate\">\n\t\t\t\t{toolLabel}\n\t\t\t</span>\n\t\t\t{target && (\n\t\t\t\t<code className=\"text-[11px] font-mono text-muted-foreground bg-muted/50 px-1.5 py-0.5 rounded truncate max-w-[200px]\">\n\t\t\t\t\t{target}\n\t\t\t\t</code>\n\t\t\t)}\n\t\t\t<div className=\"flex items-center gap-1.5 ml-auto flex-shrink-0\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={handleReject}\n\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\ttitle=\"Reject (N)\"\n\t\t\t\t\tclassName=\"flex items-center gap-1 px-2 py-1 text-[11px] font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t<X className=\"w-3 h-3\" />\n\t\t\t\t\t<span className=\"hidden sm:inline\">Reject</span>\n\t\t\t\t\t<kbd className=\"ml-0.5 text-[9px] text-muted-foreground opacity-70\">\n\t\t\t\t\t\tN\n\t\t\t\t\t</kbd>\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={handleApprove}\n\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\ttitle=\"Approve (Y)\"\n\t\t\t\t\tclassName=\"flex items-center gap-1 px-2 py-1 text-[11px] font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t<Check className=\"w-3 h-3\" />\n\t\t\t\t\t{isProcessing ? '...' : 'Approve'}\n\t\t\t\t\t{!isProcessing && (\n\t\t\t\t\t\t<kbd className=\"ml-0.5 text-[9px] opacity-70\">Y</kbd>\n\t\t\t\t\t)}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport const InputApprovalBar = memo(function InputApprovalBar({\n\tsessionId,\n}: InputApprovalBarProps) {\n\tconst { pendingApprovals, removePendingApproval } = useToolApprovalStore();\n\tconst [processingId, setProcessingId] = useState<string | null>(null);\n\n\tconst handleApproveAll = useCallback(async () => {\n\t\ttry {\n\t\t\tawait Promise.all(\n\t\t\t\tpendingApprovals.map((a) =>\n\t\t\t\t\tapiClient.approveToolCall(sessionId, a.callId, true),\n\t\t\t\t),\n\t\t\t);\n\t\t\tfor (const a of pendingApprovals) {\n\t\t\t\tremovePendingApproval(a.callId);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to approve all:', error);\n\t\t}\n\t}, [sessionId, pendingApprovals, removePendingApproval]);\n\n\tconst hasApprovals = pendingApprovals.length > 0;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"grid transition-[grid-template-rows,opacity] duration-200 ease-out\"\n\t\t\tstyle={{\n\t\t\t\tgridTemplateRows: hasApprovals ? '1fr' : '0fr',\n\t\t\t\topacity: hasApprovals ? 1 : 0,\n\t\t\t}}\n\t\t>\n\t\t\t<div className=\"overflow-hidden\">\n\t\t\t\t<div className=\"border border-amber-200 dark:border-amber-800 border-b-0 bg-amber-50/80 dark:bg-amber-950/30 rounded-t-xl overflow-hidden -mb-1 pb-2\">\n\t\t\t\t\t<div className=\"divide-y divide-amber-200/50 dark:divide-amber-800/50\">\n\t\t\t\t\t\t{pendingApprovals.map((approval) => (\n\t\t\t\t\t\t\t<ApprovalItem\n\t\t\t\t\t\t\t\tkey={approval.callId}\n\t\t\t\t\t\t\t\tapproval={approval}\n\t\t\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\t\t\tisProcessing={processingId === approval.callId}\n\t\t\t\t\t\t\t\tonProcess={setProcessingId}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t\t{pendingApprovals.length > 1 && (\n\t\t\t\t\t\t<div className=\"flex items-center justify-between gap-2 px-3 py-1.5 border-t border-amber-200 dark:border-amber-800 bg-amber-100/50 dark:bg-amber-900/20\">\n\t\t\t\t\t\t\t<span className=\"text-[11px] text-amber-800 dark:text-amber-200\">\n\t\t\t\t\t\t\t\t{pendingApprovals.length} tools waiting\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={handleApproveAll}\n\t\t\t\t\t\t\t\ttitle=\"Approve All (A)\"\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1 px-2.5 py-1 text-[11px] font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<CheckCheck className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\tApprove All\n\t\t\t\t\t\t\t\t<kbd className=\"ml-0.5 text-[9px] opacity-70\">A</kbd>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n",
48
48
  "import {\n\tmemo,\n\tuseState,\n\tuseCallback,\n\tuseEffect,\n\tuseRef,\n\tforwardRef,\n\tuseImperativeHandle,\n\tuseMemo,\n} from 'react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { useSendMessage } from '../../hooks/useMessages';\nimport {\n\tuseSession,\n\tuseUpdateSession,\n\tuseDeleteSession,\n} from '../../hooks/useSessions';\nimport { useAllModels, useConfig } from '../../hooks/useConfig';\nimport { useGitStatus, useStageFiles } from '../../hooks/useGit';\nimport { useGitStore } from '../../stores/gitStore';\nimport { useFileUpload } from '../../hooks/useFileUpload';\nimport { useQueueStore } from '../../stores/queueStore';\nimport { usePendingResearchStore } from '../../stores/pendingResearchStore';\nimport { formatResearchContextForMessage } from '../../lib/parseResearchContext';\nimport { toast } from '../../stores/toastStore';\nimport { useToastStore } from '../../stores/toastStore';\nimport { apiClient } from '../../lib/api-client';\nimport { ChatInput } from './ChatInput';\nimport { ConfigModal } from './ConfigModal';\nimport { InputApprovalBar } from './InputApprovalBar';\n\ninterface ChatInputContainerProps {\n\tsessionId: string;\n\tuserContext?: string;\n\tonNewSession?: () => void;\n\tonDeleteSession?: () => void;\n}\n\nexport interface ChatInputContainerRef {\n\tfocus: () => void;\n}\n\nexport const ChatInputContainer = memo(\n\tforwardRef<ChatInputContainerRef, ChatInputContainerProps>(\n\t\tfunction ChatInputContainer(\n\t\t\t{ sessionId, userContext, onNewSession, onDeleteSession },\n\t\t\tref,\n\t\t) {\n\t\t\tconst session = useSession(sessionId);\n\t\t\tconst [agent, setAgent] = useState('');\n\t\t\tconst [provider, setProvider] = useState('');\n\t\t\tconst [model, setModel] = useState('');\n\t\t\tconst [isConfigOpen, setIsConfigOpen] = useState(false);\n\t\t\tconst [configFocusTarget, setConfigFocusTarget] = useState<\n\t\t\t\t'agent' | 'model' | null\n\t\t\t>(null);\n\t\t\tconst [inputKey, setInputKey] = useState(0);\n\n\t\t\tconst chatInputRef = useRef<{\n\t\t\t\tfocus: () => void;\n\t\t\t\tsetValue: (value: string) => void;\n\t\t\t}>(null);\n\n\t\t\tconst sendMessage = useSendMessage(sessionId);\n\t\t\tconst updateSession = useUpdateSession(sessionId);\n\t\t\tconst deleteSession = useDeleteSession();\n\t\t\tconst { data: allModels } = useAllModels();\n\t\t\tconst { data: config } = useConfig();\n\t\t\tconst { data: gitStatus } = useGitStatus();\n\t\t\tconst stageFiles = useStageFiles();\n\t\t\tconst openCommitModalForSession = useGitStore(\n\t\t\t\t(state) => state.openCommitModalForSession,\n\t\t\t);\n\t\t\tconst setActiveSessionId = useGitStore(\n\t\t\t\t(state) => state.setActiveSessionId,\n\t\t\t);\n\t\t\tconst queryClient = useQueryClient();\n\n\t\t\tconst modelSupportsReasoning = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.reasoningText;\n\n\t\t\tconst modelSupportsVision = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.vision;\n\n\t\t\tconst modelSupportsAttachment = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.attachment;\n\n\t\t\tconst modelIsFree = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.free;\n\n\t\t\tconst {\n\t\t\t\timages,\n\t\t\t\tdocuments,\n\t\t\t\tisDragging,\n\t\t\t\tremoveFile,\n\t\t\t\tclearFiles,\n\t\t\t\thandlePaste,\n\t\t\t} = useFileUpload({\n\t\t\t\tsupportsImages: !!modelSupportsVision,\n\t\t\t\tsupportsFileAttachments: !!modelSupportsAttachment,\n\t\t\t\tonError: toast.error,\n\t\t\t});\n\n\t\t\tconst pendingContextsMap = usePendingResearchStore(\n\t\t\t\t(state) => state.pendingContexts,\n\t\t\t);\n\t\t\tconst removeResearchContext = usePendingResearchStore(\n\t\t\t\t(state) => state.removeContext,\n\t\t\t);\n\t\t\tconst consumeResearchContexts = usePendingResearchStore(\n\t\t\t\t(state) => state.consumeContexts,\n\t\t\t);\n\n\t\t\tconst pendingResearchContexts = pendingContextsMap.get(sessionId) || [];\n\n\t\t\tconst researchContexts = useMemo(\n\t\t\t\t() =>\n\t\t\t\t\tpendingResearchContexts.map((ctx) => ({\n\t\t\t\t\t\tid: ctx.id,\n\t\t\t\t\t\tlabel: ctx.label,\n\t\t\t\t\t})),\n\t\t\t\t[pendingResearchContexts],\n\t\t\t);\n\n\t\t\tconst handleResearchContextRemove = useCallback(\n\t\t\t\t(contextId: string) => {\n\t\t\t\t\tremoveResearchContext(sessionId, contextId);\n\t\t\t\t},\n\t\t\t\t[sessionId, removeResearchContext],\n\t\t\t);\n\n\t\t\tconst providerAuthType = allModels?.[provider]?.authType;\n\n\t\t\tuseEffect(() => {\n\t\t\t\tif (session) {\n\t\t\t\t\tsetAgent(session.agent);\n\t\t\t\t\tsetProvider(session.provider);\n\t\t\t\t\tsetModel(session.model);\n\t\t\t\t}\n\t\t\t}, [session]);\n\n\t\t\tuseEffect(() => {\n\t\t\t\tsetActiveSessionId(sessionId);\n\t\t\t\treturn () => setActiveSessionId(null);\n\t\t\t}, [sessionId, setActiveSessionId]);\n\n\t\t\tuseEffect(() => {\n\t\t\t\tsetInputKey((prev) => prev + 1);\n\t\t\t}, []);\n\n\t\t\tconst pendingRestoreText = useQueueStore(\n\t\t\t\t(state) => state.pendingRestoreText,\n\t\t\t);\n\t\t\tconst consumeRestoreText = useQueueStore(\n\t\t\t\t(state) => state.consumeRestoreText,\n\t\t\t);\n\n\t\t\tuseEffect(() => {\n\t\t\t\tif (pendingRestoreText) {\n\t\t\t\t\tconst text = consumeRestoreText();\n\t\t\t\t\tif (text) {\n\t\t\t\t\t\tchatInputRef.current?.setValue(text);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, [pendingRestoreText, consumeRestoreText]);\n\n\t\t\tuseImperativeHandle(ref, () => ({\n\t\t\t\tfocus: () => {\n\t\t\t\t\tchatInputRef.current?.focus();\n\t\t\t\t},\n\t\t\t}));\n\n\t\t\tconst handleSendMessage = useCallback(\n\t\t\t\tasync (content: string) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst researchCtxs = consumeResearchContexts(sessionId);\n\t\t\t\t\t\tconst researchPrefix =\n\t\t\t\t\t\t\tformatResearchContextForMessage(researchCtxs);\n\t\t\t\t\t\tconst finalContent = researchPrefix\n\t\t\t\t\t\t\t? `${researchPrefix}\\n\\n${content}`\n\t\t\t\t\t\t\t: content;\n\n\t\t\t\t\t\tconst imageData =\n\t\t\t\t\t\t\timages.length > 0\n\t\t\t\t\t\t\t\t? images.map((img) => ({\n\t\t\t\t\t\t\t\t\t\tdata: img.data,\n\t\t\t\t\t\t\t\t\t\tmediaType: img.mediaType,\n\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\tconst fileData =\n\t\t\t\t\t\t\tdocuments.length > 0\n\t\t\t\t\t\t\t\t? documents.map((f) => ({\n\t\t\t\t\t\t\t\t\t\ttype: f.type,\n\t\t\t\t\t\t\t\t\t\tname: f.name,\n\t\t\t\t\t\t\t\t\t\tdata: f.data,\n\t\t\t\t\t\t\t\t\t\tmediaType: f.mediaType,\n\t\t\t\t\t\t\t\t\t\ttextContent: f.textContent,\n\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\tawait sendMessage.mutateAsync({\n\t\t\t\t\t\t\tcontent: finalContent,\n\t\t\t\t\t\t\timages: imageData,\n\t\t\t\t\t\t\tfiles: fileData,\n\t\t\t\t\t\t\tagent: agent || undefined,\n\t\t\t\t\t\t\tprovider: provider || undefined,\n\t\t\t\t\t\t\tmodel: model || undefined,\n\t\t\t\t\t\t\tuserContext: userContext || undefined,\n\t\t\t\t\t\t\treasoningText:\n\t\t\t\t\t\t\t\tmodelSupportsReasoning &&\n\t\t\t\t\t\t\t\t(config?.defaults?.reasoningText ?? true),\n\t\t\t\t\t\t\treasoningLevel: config?.defaults?.reasoningLevel ?? 'high',\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tclearFiles();\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to send message:', error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[\n\t\t\t\t\tsendMessage,\n\t\t\t\t\tdocuments,\n\t\t\t\t\timages,\n\t\t\t\t\tclearFiles,\n\t\t\t\t\tagent,\n\t\t\t\t\tprovider,\n\t\t\t\t\tmodel,\n\t\t\t\t\tuserContext,\n\t\t\t\t\tsessionId,\n\t\t\t\t\tconsumeResearchContexts,\n\t\t\t\t\tconfig?.defaults?.reasoningLevel,\n\t\t\t\t\tconfig?.defaults?.reasoningText,\n\t\t\t\t\tmodelSupportsReasoning,\n\t\t\t\t],\n\t\t\t);\n\n\t\t\tconst handleToggleConfig = useCallback(() => {\n\t\t\t\tsetIsConfigOpen((prev) => !prev);\n\t\t\t}, []);\n\n\t\t\tconst handleCloseConfig = useCallback(() => {\n\t\t\t\tsetIsConfigOpen(false);\n\t\t\t\tsetConfigFocusTarget(null);\n\t\t\t}, []);\n\n\t\t\tconst handleCommand = useCallback(\n\t\t\t\tasync (commandId: string) => {\n\t\t\t\t\tif (commandId === 'models') {\n\t\t\t\t\t\tsetConfigFocusTarget('model');\n\t\t\t\t\t\tsetIsConfigOpen(true);\n\t\t\t\t\t} else if (commandId === 'agents') {\n\t\t\t\t\t\tsetConfigFocusTarget('agent');\n\t\t\t\t\t\tsetIsConfigOpen(true);\n\t\t\t\t\t} else if (commandId === 'new') {\n\t\t\t\t\t\tonNewSession?.();\n\t\t\t\t\t} else if (commandId === 'stage') {\n\t\t\t\t\t\tconst unstagedPaths = gitStatus?.unstaged?.map((f) => f.path) ?? [];\n\t\t\t\t\t\tconst untrackedPaths =\n\t\t\t\t\t\t\tgitStatus?.untracked?.map((f) => f.path) ?? [];\n\t\t\t\t\t\tconst allUnstaged = [...unstagedPaths, ...untrackedPaths];\n\t\t\t\t\t\tif (allUnstaged.length > 0) {\n\t\t\t\t\t\t\tstageFiles.mutate(allUnstaged);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (commandId === 'commit') {\n\t\t\t\t\t\topenCommitModalForSession(sessionId);\n\t\t\t\t\t} else if (commandId === 'compact') {\n\t\t\t\t\t\thandleSendMessage('/compact');\n\t\t\t\t\t} else if (commandId === 'delete') {\n\t\t\t\t\t\tdeleteSession.mutate(sessionId, {\n\t\t\t\t\t\t\tonSuccess: () => {\n\t\t\t\t\t\t\t\tonDeleteSession?.();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (commandId === 'share') {\n\t\t\t\t\t\tconst toastId = toast.loading('Sharing session...');\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst result = await apiClient.shareSession(sessionId);\n\t\t\t\t\t\t\tif (result.shared) {\n\t\t\t\t\t\t\t\ttoast.successWithAction(\n\t\t\t\t\t\t\t\t\tresult.message === 'Already shared'\n\t\t\t\t\t\t\t\t\t\t? 'Already shared'\n\t\t\t\t\t\t\t\t\t\t: 'Session shared!',\n\t\t\t\t\t\t\t\t\t{ label: 'Open', href: result.url },\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\t\t\t\t\tqueryKey: ['share-status', sessionId],\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\ttoast.error(\n\t\t\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to share',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tuseToastStore.getState().removeToast(toastId);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (commandId === 'sync') {\n\t\t\t\t\t\tconst toastId = toast.loading('Syncing session...');\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst result = await apiClient.syncSession(sessionId);\n\t\t\t\t\t\t\tif (result.synced) {\n\t\t\t\t\t\t\t\tconst msg =\n\t\t\t\t\t\t\t\t\tresult.newMessages > 0\n\t\t\t\t\t\t\t\t\t\t? `Synced ${result.newMessages} new messages`\n\t\t\t\t\t\t\t\t\t\t: 'Already synced';\n\t\t\t\t\t\t\t\ttoast.successWithAction(msg, {\n\t\t\t\t\t\t\t\t\tlabel: 'Open',\n\t\t\t\t\t\t\t\t\thref: result.url,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\t\t\t\t\tqueryKey: ['share-status', sessionId],\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\ttoast.error(\n\t\t\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to sync',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tuseToastStore.getState().removeToast(toastId);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[\n\t\t\t\t\tonNewSession,\n\t\t\t\t\tgitStatus,\n\t\t\t\t\tstageFiles,\n\t\t\t\t\topenCommitModalForSession,\n\t\t\t\t\thandleSendMessage,\n\t\t\t\t\tdeleteSession,\n\t\t\t\t\tsessionId,\n\t\t\t\t\tonDeleteSession,\n\t\t\t\t\tqueryClient,\n\t\t\t\t],\n\t\t\t);\n\n\t\t\tconst handleAgentChange = useCallback(\n\t\t\t\tasync (value: string) => {\n\t\t\t\t\tsetAgent(value);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait updateSession.mutateAsync({ agent: value });\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to update agent:', error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[updateSession],\n\t\t\t);\n\n\t\t\tconst handleModelSelectorChange = useCallback(\n\t\t\t\tasync (newProvider: string, newModel: string) => {\n\t\t\t\t\tsetProvider(newProvider);\n\t\t\t\t\tsetModel(newModel);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait updateSession.mutateAsync({\n\t\t\t\t\t\t\tprovider: newProvider,\n\t\t\t\t\t\t\tmodel: newModel,\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to update model:', error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[updateSession],\n\t\t\t);\n\n\t\t\tconst handleProviderChange = useCallback(\n\t\t\t\tasync (newProvider: string) => {\n\t\t\t\t\tsetProvider(newProvider);\n\t\t\t\t\tif (model) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait updateSession.mutateAsync({\n\t\t\t\t\t\t\t\tprovider: newProvider,\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tconsole.error('Failed to update provider:', error);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[model, updateSession],\n\t\t\t);\n\n\t\t\tconst handleModelChange = useCallback(\n\t\t\t\tasync (newModel: string) => {\n\t\t\t\t\tsetModel(newModel);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait updateSession.mutateAsync({ provider, model: newModel });\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to update model:', error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[provider, updateSession],\n\t\t\t);\n\n\t\t\tconst handlePlanModeToggle = useCallback(\n\t\t\t\tasync (isPlanMode: boolean) => {\n\t\t\t\t\tconst newAgent = isPlanMode ? 'plan' : 'build';\n\t\t\t\t\tsetAgent(newAgent);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait updateSession.mutateAsync({ agent: newAgent });\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to switch agent:', error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[updateSession],\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<ConfigModal\n\t\t\t\t\t\tisOpen={isConfigOpen}\n\t\t\t\t\t\tonClose={handleCloseConfig}\n\t\t\t\t\t\tinitialFocus={configFocusTarget}\n\t\t\t\t\t\tchatInputRef={chatInputRef}\n\t\t\t\t\t\tagent={agent}\n\t\t\t\t\t\tprovider={provider}\n\t\t\t\t\t\tmodel={model}\n\t\t\t\t\t\tmodelSupportsReasoning={modelSupportsReasoning}\n\t\t\t\t\t\tonAgentChange={handleAgentChange}\n\t\t\t\t\t\tonProviderChange={handleProviderChange}\n\t\t\t\t\t\tonModelChange={handleModelChange}\n\t\t\t\t\t\tonModelSelectorChange={handleModelSelectorChange}\n\t\t\t\t\t/>\n\t\t\t\t\t<ChatInput\n\t\t\t\t\t\tref={chatInputRef}\n\t\t\t\t\t\tkey={inputKey}\n\t\t\t\t\t\tonSend={handleSendMessage}\n\t\t\t\t\t\tonCommand={handleCommand}\n\t\t\t\t\t\tdisabled={sendMessage.isPending}\n\t\t\t\t\t\tonConfigClick={handleToggleConfig}\n\t\t\t\t\t\tonPlanModeToggle={handlePlanModeToggle}\n\t\t\t\t\t\tisPlanMode={agent === 'plan'}\n\t\t\t\t\t\treasoningEnabled={\n\t\t\t\t\t\t\tmodelSupportsReasoning &&\n\t\t\t\t\t\t\t(config?.defaults?.reasoningText ?? true)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\timages={images}\n\t\t\t\t\t\tdocuments={documents}\n\t\t\t\t\t\tonFileRemove={removeFile}\n\t\t\t\t\t\tisDragging={isDragging}\n\t\t\t\t\t\tonPaste={handlePaste}\n\t\t\t\t\t\tvisionEnabled={modelSupportsVision}\n\t\t\t\t\t\tattachmentEnabled={modelSupportsAttachment}\n\t\t\t\t\t\tmodelName={model}\n\t\t\t\t\t\tproviderName={provider}\n\t\t\t\t\t\tauthType={providerAuthType}\n\t\t\t\t\t\tisFreeModel={modelIsFree}\n\t\t\t\t\t\tresearchContexts={researchContexts}\n\t\t\t\t\t\tonResearchContextRemove={handleResearchContextRemove}\n\t\t\t\t\t\tonModelInfoClick={() => {\n\t\t\t\t\t\t\tsetConfigFocusTarget('model');\n\t\t\t\t\t\t\tsetIsConfigOpen(true);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tagent={agent}\n\t\t\t\t\t\tagents={config?.agents}\n\t\t\t\t\t\tonAgentChange={handleAgentChange}\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t},\n\t),\n);\n",
49
49
  "import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\nimport type { SendMessageRequest } from '../types/api';\nimport { sessionsQueryKey } from './useSessions';\n\ninterface UseMessagesOptions {\n\tenabled?: boolean;\n\tstaleTime?: number;\n}\n\nexport function useMessages(\n\tsessionId: string | undefined,\n\toptions: UseMessagesOptions = {},\n) {\n\tconst { enabled = true, staleTime = 15_000 } = options;\n\n\treturn useQuery({\n\t\tqueryKey: ['messages', sessionId],\n\t\tqueryFn: () => {\n\t\t\tif (!sessionId) {\n\t\t\t\tthrow new Error('Session ID is required');\n\t\t\t}\n\t\t\treturn apiClient.getMessages(sessionId);\n\t\t},\n\t\tenabled: !!sessionId && enabled,\n\t\tstaleTime,\n\t\trefetchOnWindowFocus: false,\n\t});\n}\n\nexport function useSendMessage(sessionId: string) {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (data: SendMessageRequest) =>\n\t\t\tapiClient.sendMessage(sessionId, data),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['messages', sessionId] });\n\t\t\tqueryClient.invalidateQueries({ queryKey: sessionsQueryKey });\n\t\t},\n\t});\n}\n",
@@ -67,16 +67,15 @@
67
67
  "import { useEffect } from 'react';\nimport { Settings } from 'lucide-react';\nimport { useConfig, useModels } from '../../hooks/useConfig';\nimport { usePreferences } from '../../hooks/usePreferences';\n\ninterface ConfigSelectorProps {\n\tagent: string;\n\tprovider: string;\n\tmodel: string;\n\tonAgentChange: (agent: string) => void;\n\tonProviderChange: (provider: string) => void;\n\tonModelChange: (model: string) => void;\n}\n\nexport function ConfigSelector({\n\tagent,\n\tprovider,\n\tmodel,\n\tonAgentChange,\n\tonProviderChange,\n\tonModelChange,\n}: ConfigSelectorProps) {\n\tconst { data: config, isLoading: configLoading } = useConfig();\n\tconst { data: modelsData, isLoading: modelsLoading } = useModels(provider);\n\tconst { preferences } = usePreferences();\n\n\tconsole.log('ConfigSelector rendered', {\n\t\tconfig,\n\t\tconfigLoading,\n\t\tagent,\n\t\tprovider,\n\t\tmodel,\n\t});\n\n\t// Set defaults when config loads\n\tuseEffect(() => {\n\t\tif (config && !agent && !provider && !model) {\n\t\t\tonAgentChange(config.defaults.agent);\n\t\t\tonProviderChange(config.defaults.provider);\n\t\t\tonModelChange(config.defaults.model);\n\t\t}\n\t}, [\n\t\tconfig,\n\t\tagent,\n\t\tprovider,\n\t\tmodel,\n\t\tonAgentChange,\n\t\tonProviderChange,\n\t\tonModelChange,\n\t]);\n\n\t// Update model when provider changes\n\tuseEffect(() => {\n\t\tif (modelsData && modelsData.models.length > 0) {\n\t\t\tconst currentModelExists = modelsData.models.some((m) => m.id === model);\n\t\t\tif (!currentModelExists) {\n\t\t\t\tonModelChange(modelsData.default || modelsData.models[0].id);\n\t\t\t}\n\t\t}\n\t}, [modelsData, model, onModelChange]);\n\n\tif (configLoading) {\n\t\treturn (\n\t\t\t<div className=\"flex items-center gap-2 px-4 py-2 border-t border-border bg-background/50\">\n\t\t\t\t<Settings className=\"h-4 w-4 text-muted-foreground animate-spin\" />\n\t\t\t\t<span className=\"text-xs text-muted-foreground\">Loading config...</span>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (!config) return null;\n\n\tconst selectorWidthClass = preferences.fullWidthContent\n\t\t? 'w-full pointer-events-auto'\n\t\t: 'max-w-3xl mx-auto pointer-events-auto';\n\n\treturn (\n\t\t<div className=\"absolute bottom-24 left-0 right-0 pb-2 px-4 pointer-events-none z-40\">\n\t\t\t<div className={selectorWidthClass}>\n\t\t\t\t<div className=\"flex items-center gap-2 px-4 py-2 border border-border bg-background/95 backdrop-blur-sm rounded-lg\">\n\t\t\t\t\t<Settings className=\"h-4 w-4 text-muted-foreground\" />\n\n\t\t\t\t\t<select\n\t\t\t\t\t\tvalue={agent}\n\t\t\t\t\t\tonChange={(e) => onAgentChange(e.target.value)}\n\t\t\t\t\t\tclassName=\"text-xs bg-background border border-border rounded px-2 py-1 outline-none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{config.agents.map((a) => (\n\t\t\t\t\t\t\t<option key={a} value={a}>\n\t\t\t\t\t\t\t\t{a}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</select>\n\n\t\t\t\t\t<select\n\t\t\t\t\t\tvalue={provider}\n\t\t\t\t\t\tonChange={(e) => onProviderChange(e.target.value)}\n\t\t\t\t\t\tclassName=\"text-xs bg-background border border-border rounded px-2 py-1 outline-none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{config.providers.map((p) => (\n\t\t\t\t\t\t\t<option key={p} value={p}>\n\t\t\t\t\t\t\t\t{p}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</select>\n\n\t\t\t\t\t<select\n\t\t\t\t\t\tvalue={model}\n\t\t\t\t\t\tonChange={(e) => onModelChange(e.target.value)}\n\t\t\t\t\t\tdisabled={modelsLoading || !modelsData}\n\t\t\t\t\t\tclassName=\"text-xs bg-background border border-border rounded px-2 py-1 outline-none disabled:opacity-50\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{modelsData?.models.map((m) => (\n\t\t\t\t\t\t\t<option key={m.id} value={m.id}>\n\t\t\t\t\t\t\t\t{m.label}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</select>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n",
68
68
  "import { StopCircle } from 'lucide-react';\nimport { useState } from 'react';\nimport { apiClient } from '../../lib/api-client';\n\ninterface StopButtonProps {\n\tsessionId: string;\n\tonStop?: () => void;\n\tdisabled?: boolean;\n}\n\nexport function StopButton({ sessionId, onStop, disabled }: StopButtonProps) {\n\tconst [isAborting, setIsAborting] = useState(false);\n\n\tconst handleStop = async () => {\n\t\tif (isAborting) return;\n\t\tsetIsAborting(true);\n\n\t\ttry {\n\t\t\tawait apiClient.abortSession(sessionId);\n\t\t\tonStop?.();\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to abort stream:', error);\n\t\t} finally {\n\t\t\t// Keep button disabled for a bit to prevent double-clicks\n\t\t\tsetTimeout(() => setIsAborting(false), 1000);\n\t\t}\n\t};\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={handleStop}\n\t\t\tdisabled={disabled || isAborting}\n\t\t\tclassName=\"flex items-center gap-1.5 text-sm text-destructive hover:text-destructive/80 disabled:opacity-50 disabled:cursor-not-allowed transition-colors\"\n\t\t\ttitle=\"Stop generation\"\n\t\t>\n\t\t\t<StopCircle className=\"w-4 h-4\" />\n\t\t\t<span className=\"font-medium\">{isAborting ? 'Stopping...' : 'Stop'}</span>\n\t\t</button>\n\t);\n}\n",
69
69
  "import { useEffect, useRef, useState, useMemo, memo, useCallback } from 'react';\nimport { ArrowDown } from 'lucide-react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport type { Message, Session } from '../../types/api';\nimport { AssistantMessageGroup } from './AssistantMessageGroup';\nimport { UserMessageGroup } from './UserMessageGroup';\nimport { SessionHeader } from '../sessions/SessionHeader';\nimport { LeanHeader } from '../sessions/LeanHeader';\nimport { TopupApprovalCard } from './TopupApprovalCard';\nimport { usePreferences } from '../../hooks/usePreferences';\nimport { useTopupApprovalStore } from '../../stores/topupApprovalStore';\nimport { apiClient } from '../../lib/api-client';\nimport { toast } from '../../stores/toastStore';\n\ninterface MessageThreadProps {\n\tmessages: Message[];\n\tsession?: Session;\n\tsessionId?: string;\n\tisGenerating?: boolean;\n\tcompact?: boolean;\n\tdisableAutoScroll?: boolean;\n\tonSelectSession?: (sessionId: string) => void;\n}\n\nexport const MessageThread = memo(function MessageThread({\n\tmessages,\n\tsession,\n\tsessionId,\n\tisGenerating,\n\tcompact = false,\n\tdisableAutoScroll = false,\n\tonSelectSession,\n}: MessageThreadProps) {\n\tconst queryClient = useQueryClient();\n\tconst { preferences } = usePreferences();\n\tconst bottomRef = useRef<HTMLDivElement>(null);\n\tconst scrollContainerRef = useRef<HTMLDivElement>(null);\n\tconst sessionHeaderRef = useRef<HTMLDivElement>(null);\n\tconst [autoScroll, setAutoScroll] = useState(true);\n\tconst autoScrollRef = useRef(true);\n\tconst [showLeanHeader, setShowLeanHeader] = useState(false);\n\tconst userScrollingRef = useRef(false);\n\tconst userScrollTimeoutRef = useRef<\n\t\tReturnType<typeof setTimeout> | undefined\n\t>(undefined);\n\tconst targetScrollRef = useRef(0);\n\tconst animationFrameRef = useRef<number | undefined>(undefined);\n\tconst initialScrollDoneRef = useRef(false);\n\tconst lastSessionIdRef = useRef<string | undefined>(session?.id);\n\tconst prevMessagesLengthRef = useRef(messages.length);\n\tconst prevIsGeneratingRef = useRef(isGenerating);\n\tconst lastScrollHeightRef = useRef(0);\n\tconst lastScrollTopRef = useRef(0);\n\n\tconst pendingTopup = useTopupApprovalStore((s) => s.pendingTopup);\n\tconst clearPendingTopup = useTopupApprovalStore((s) => s.clearPendingTopup);\n\n\tconst showTopupApproval =\n\t\tpendingTopup && pendingTopup.sessionId === sessionId;\n\n\tconst handleScroll = useCallback(() => {\n\t\tconst container = scrollContainerRef.current;\n\t\tif (!container) return;\n\n\t\tconst { scrollTop, scrollHeight, clientHeight } = container;\n\t\tconst distanceFromBottom = scrollHeight - scrollTop - clientHeight;\n\n\t\tconst scrollHeightIncreased = scrollHeight > lastScrollHeightRef.current;\n\t\tconst userScrolledUp = scrollTop < lastScrollTopRef.current - 5;\n\n\t\tlastScrollHeightRef.current = scrollHeight;\n\t\tlastScrollTopRef.current = scrollTop;\n\n\t\tif (distanceFromBottom < 100) {\n\t\t\tautoScrollRef.current = true;\n\t\t\tsetAutoScroll(true);\n\t\t} else if (userScrolledUp) {\n\t\t\tautoScrollRef.current = false;\n\t\t\tsetAutoScroll(false);\n\t\t\tuserScrollingRef.current = true;\n\t\t} else if (!scrollHeightIncreased && autoScrollRef.current) {\n\t\t\tautoScrollRef.current = false;\n\t\t\tsetAutoScroll(false);\n\t\t}\n\t\tif (\n\t\t\tuserScrolledUp ||\n\t\t\t(!autoScrollRef.current && distanceFromBottom >= 100)\n\t\t) {\n\t\t\tif (userScrollTimeoutRef.current) {\n\t\t\t\tclearTimeout(userScrollTimeoutRef.current);\n\t\t\t}\n\t\t\tuserScrollTimeoutRef.current = setTimeout(() => {\n\t\t\t\tuserScrollingRef.current = false;\n\t\t\t}, 150);\n\t\t}\n\n\t\tconst headerElement = sessionHeaderRef.current;\n\t\tif (headerElement) {\n\t\t\tconst headerRect = headerElement.getBoundingClientRect();\n\t\t\tconst containerRect = container.getBoundingClientRect();\n\t\t\tsetShowLeanHeader(headerRect.bottom < containerRect.top);\n\t\t}\n\t}, []);\n\n\t// Immediate scroll to bottom on initial load or session change\n\tuseEffect(() => {\n\t\tif (disableAutoScroll) return;\n\n\t\tconst sessionChanged = session?.id !== lastSessionIdRef.current;\n\t\tlastSessionIdRef.current = session?.id;\n\n\t\tif (sessionChanged) {\n\t\t\tinitialScrollDoneRef.current = false;\n\t\t}\n\n\t\tif (!initialScrollDoneRef.current && messages.length > 0) {\n\t\t\tinitialScrollDoneRef.current = true;\n\t\t\tconst container = scrollContainerRef.current;\n\t\t\tif (container) {\n\t\t\t\tcontainer.scrollTop = container.scrollHeight;\n\t\t\t}\n\t\t}\n\t}, [messages.length, session?.id, disableAutoScroll]);\n\n\tuseEffect(() => {\n\t\tif (disableAutoScroll) return;\n\n\t\tconst justStartedGenerating = isGenerating && !prevIsGeneratingRef.current;\n\t\tconst messagesAdded = messages.length > prevMessagesLengthRef.current;\n\n\t\tprevIsGeneratingRef.current = isGenerating;\n\t\tprevMessagesLengthRef.current = messages.length;\n\n\t\t// Scroll to bottom when generation starts (user just sent a message)\n\t\tif (justStartedGenerating) {\n\t\t\tuserScrollingRef.current = false;\n\t\t\tautoScrollRef.current = true;\n\t\t\tsetAutoScroll(true);\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tconst container = scrollContainerRef.current;\n\t\t\t\t\tif (container) {\n\t\t\t\t\t\tcontainer.scrollTop = container.scrollHeight;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t} else if (messagesAdded && !userScrollingRef.current && !isGenerating) {\n\t\t\tautoScrollRef.current = true;\n\t\t\tsetAutoScroll(true);\n\t\t}\n\t}, [messages.length, isGenerating, disableAutoScroll]);\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: messages dep needed for streaming content updates\n\tuseEffect(() => {\n\t\tif (disableAutoScroll) return;\n\n\t\tconst container = scrollContainerRef.current;\n\t\tif (!container || !autoScroll || userScrollingRef.current) return;\n\n\t\ttargetScrollRef.current = container.scrollHeight - container.clientHeight;\n\n\t\tconst animate = () => {\n\t\t\tconst el = scrollContainerRef.current;\n\t\t\tif (!el || userScrollingRef.current) return;\n\n\t\t\tconst current = el.scrollTop;\n\t\t\tconst target = el.scrollHeight - el.clientHeight;\n\t\t\tconst diff = target - current;\n\n\t\t\tif (Math.abs(diff) < 1) {\n\t\t\t\tel.scrollTop = el.scrollHeight - el.clientHeight;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If very close, just snap to bottom\n\t\t\tif (Math.abs(diff) < 10) {\n\t\t\t\tel.scrollTop = el.scrollHeight - el.clientHeight;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tel.scrollTop = current + diff * 0.15;\n\t\t\tanimationFrameRef.current = requestAnimationFrame(animate);\n\t\t};\n\n\t\tif (animationFrameRef.current) {\n\t\t\tcancelAnimationFrame(animationFrameRef.current);\n\t\t}\n\t\tanimationFrameRef.current = requestAnimationFrame(animate);\n\t}, [messages, autoScroll]);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (userScrollTimeoutRef.current) {\n\t\t\t\tclearTimeout(userScrollTimeoutRef.current);\n\t\t\t}\n\t\t\tif (animationFrameRef.current) {\n\t\t\t\tcancelAnimationFrame(animationFrameRef.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\tconst scrollToBottom = () => {\n\t\tuserScrollingRef.current = false;\n\t\tautoScrollRef.current = true;\n\t\tsetAutoScroll(true);\n\t\tconst container = scrollContainerRef.current;\n\t\tif (container) {\n\t\t\tcontainer.scrollTop = container.scrollHeight;\n\t\t}\n\t};\n\n\tconst filteredMessages = useMemo(() => {\n\t\treturn messages.filter((message) => message.role !== 'system');\n\t}, [messages]);\n\n\tconst contentWidthClass = preferences.fullWidthContent\n\t\t? compact\n\t\t\t? 'w-full space-y-4'\n\t\t\t: 'w-full space-y-6'\n\t\t: compact\n\t\t\t? 'max-w-3xl mx-auto space-y-4'\n\t\t\t: 'max-w-3xl mx-auto space-y-6';\n\n\t// Create a retry handler for error messages\n\tconst createRetryHandler = useCallback(\n\t\t(messageId: string) => {\n\t\t\treturn async () => {\n\t\t\t\tif (!sessionId) return;\n\t\t\t\tif (!messageId) return;\n\n\t\t\t\tqueryClient.setQueryData<Message[]>(\n\t\t\t\t\t['messages', sessionId],\n\t\t\t\t\t(oldMessages) => {\n\t\t\t\t\t\tif (!oldMessages) return oldMessages;\n\t\t\t\t\t\treturn oldMessages.map((msg) => {\n\t\t\t\t\t\t\tif (msg.id !== messageId) return msg;\n\t\t\t\t\t\t\tconst partsToKeep =\n\t\t\t\t\t\t\t\tmsg.parts?.filter(\n\t\t\t\t\t\t\t\t\t(part: { type: string; toolName?: string }) => {\n\t\t\t\t\t\t\t\t\t\tif (part.type === 'error') return false;\n\t\t\t\t\t\t\t\t\t\tif (part.type === 'tool_call' && part.toolName === 'finish')\n\t\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t) ?? [];\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...msg,\n\t\t\t\t\t\t\t\tstatus: 'pending',\n\t\t\t\t\t\t\t\tparts: partsToKeep,\n\t\t\t\t\t\t\t\terror: null,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\ttry {\n\t\t\t\t\tawait apiClient.retryMessage(sessionId, messageId);\n\t\t\t\t} catch (error) {\n\t\t\t\t\ttoast.error(\n\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to retry',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\t[sessionId, queryClient],\n\t);\n\n\tconst handleCompact = useCallback(async () => {\n\t\tif (!sessionId) return;\n\t\ttry {\n\t\t\tawait apiClient.sendMessage(sessionId, { content: '/compact' });\n\t\t} catch (error) {\n\t\t\ttoast.error(error instanceof Error ? error.message : 'Failed to compact');\n\t\t}\n\t}, [sessionId]);\n\n\tif (messages.length === 0) {\n\t\treturn (\n\t\t\t<div className=\"flex-1 flex items-center justify-center text-muted-foreground text-sm\">\n\t\t\t\tNo messages yet. Start a conversation below.\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"absolute inset-0 flex flex-col\">\n\t\t\t{/* Lean Header - shows when session header scrolls off - positioned within thread */}\n\t\t\t{session && (\n\t\t\t\t<LeanHeader\n\t\t\t\t\tsession={session}\n\t\t\t\t\tisVisible={showLeanHeader}\n\t\t\t\t\tisGenerating={isGenerating}\n\t\t\t\t\tonNavigateToSession={onSelectSession}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<div\n\t\t\t\tref={scrollContainerRef}\n\t\t\t\tclassName=\"flex-1 overflow-y-auto\"\n\t\t\t\tonScroll={handleScroll}\n\t\t\t>\n\t\t\t\t{/* Session Header - scrolls with content */}\n\t\t\t\t<div ref={sessionHeaderRef}>\n\t\t\t\t\t{session && (\n\t\t\t\t\t\t<SessionHeader\n\t\t\t\t\t\t\tsession={session}\n\t\t\t\t\t\t\tonNavigateToSession={onSelectSession}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t{/* Messages */}\n\t\t\t\t<div className={compact ? 'p-4 pb-56' : 'p-6 pb-64'}>\n\t\t\t\t\t<div className={contentWidthClass}>\n\t\t\t\t\t\t{filteredMessages.map((message, idx) => {\n\t\t\t\t\t\t\tconst prevMessage = filteredMessages[idx - 1];\n\t\t\t\t\t\t\tconst nextMessage = filteredMessages[idx + 1];\n\t\t\t\t\t\t\tconst isLastMessage = idx === filteredMessages.length - 1;\n\n\t\t\t\t\t\t\tif (message.role === 'user') {\n\t\t\t\t\t\t\t\tconst nextAssistantMessage =\n\t\t\t\t\t\t\t\t\tnextMessage && nextMessage.role === 'assistant'\n\t\t\t\t\t\t\t\t\t\t? nextMessage\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<UserMessageGroup\n\t\t\t\t\t\t\t\t\t\tkey={message.id}\n\t\t\t\t\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\t\t\t\t\tmessage={message}\n\t\t\t\t\t\t\t\t\t\tisFirst={idx === 0}\n\t\t\t\t\t\t\t\t\t\tnextAssistantMessageId={nextAssistantMessage?.id}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (message.role === 'assistant') {\n\t\t\t\t\t\t\t\tconst showHeader =\n\t\t\t\t\t\t\t\t\t!prevMessage || prevMessage.role !== 'assistant';\n\t\t\t\t\t\t\t\tconst nextIsAssistant =\n\t\t\t\t\t\t\t\t\tnextMessage && nextMessage.role === 'assistant';\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<AssistantMessageGroup\n\t\t\t\t\t\t\t\t\t\tkey={message.id}\n\t\t\t\t\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\t\t\t\t\tmessage={message}\n\t\t\t\t\t\t\t\t\t\tshowHeader={showHeader}\n\t\t\t\t\t\t\t\t\t\thasNextAssistantMessage={nextIsAssistant}\n\t\t\t\t\t\t\t\t\t\tisLastMessage={isLastMessage}\n\t\t\t\t\t\t\t\t\t\tonBranchCreated={onSelectSession}\n\t\t\t\t\t\t\t\t\t\tonRetry={\n\t\t\t\t\t\t\t\t\t\t\tisLastMessage ? createRetryHandler(message.id) : undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcompact={compact}\n\t\t\t\t\t\t\t\t\t\tonCompact={isLastMessage ? handleCompact : undefined}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t{/* Topup Approval Card - shown when payment required */}\n\t\t\t\t\t\t{showTopupApproval && pendingTopup && (\n\t\t\t\t\t\t\t<div className=\"py-4\">\n\t\t\t\t\t\t\t\t<TopupApprovalCard\n\t\t\t\t\t\t\t\t\tpendingTopup={pendingTopup}\n\t\t\t\t\t\t\t\t\tonMethodSelected={() => clearPendingTopup()}\n\t\t\t\t\t\t\t\t\tonCancel={() => clearPendingTopup()}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<div ref={bottomRef} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{/* Scroll to bottom button - only shown when user has scrolled up */}\n\t\t\t{!autoScroll && (\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={scrollToBottom}\n\t\t\t\t\tclassName=\"absolute bottom-36 left-1/2 -translate-x-1/2 flex items-center gap-2 px-4 py-2 bg-background border border-border rounded-full shadow-lg hover:bg-muted/50 transition-all text-sm text-foreground z-10\"\n\t\t\t\t>\n\t\t\t\t\t<ArrowDown className=\"w-4 h-4\" />\n\t\t\t\t\t<span>Scroll to bottom</span>\n\t\t\t\t</button>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n",
70
- "import { memo, useState, useCallback, useMemo } from 'react';\nimport {\n\tSparkles,\n\tGitBranch,\n\tCopy,\n\tCheck,\n\tShield,\n\tCheckCheck,\n} from 'lucide-react';\nimport type { Message, MessagePart } from '../../types/api';\nimport { MessagePartItem } from './MessagePartItem';\nimport { CompactActivityGroup } from './CompactActivityGroup';\nimport { ActionToolBox } from './ActionToolBox';\nimport { useMessageQueuePosition } from '../../hooks/useQueueState';\nimport { BranchModal } from '../branch/BranchModal';\nimport { ProviderLogo } from '../common/ProviderLogo';\nimport { useToolApprovalStore } from '../../stores/toolApprovalStore';\nimport { apiClient } from '../../lib/api-client';\nimport {\n\ttype CompactActivityEntry,\n\tbuildCompactActivityEntries,\n\tisCompactActivityPart,\n} from './compactActivity';\n\ninterface AssistantMessageGroupProps {\n\tsessionId?: string;\n\tmessage: Message;\n\tshowHeader: boolean;\n\thasNextAssistantMessage: boolean;\n\tisLastMessage: boolean;\n\tonBranchCreated?: (newSessionId: string) => void;\n\tcompact?: boolean;\n\tshowBranchButton?: boolean;\n\tonNavigateToSession?: (sessionId: string) => void;\n\tonRetry?: () => void;\n\tonCompact?: () => void;\n}\n\nconst loadingMessages = [\n\t'Generating...',\n\t'Cooking up something...',\n\t'Thinking...',\n\t'Processing...',\n\t'Working on it...',\n\t'Crafting response...',\n\t'Brewing magic...',\n\t'Computing...',\n];\n\nfunction getLoadingMessage(messageId: string) {\n\tconst hash = messageId\n\t\t.split('')\n\t\t.reduce((acc, char) => acc + char.charCodeAt(0), 0);\n\treturn loadingMessages[hash % loadingMessages.length];\n}\n\ntype AssistantRenderItem =\n\t| {\n\t\t\tkind: 'part';\n\t\t\tindex: number;\n\t\t\tpart: MessagePart;\n\t }\n\t| {\n\t\t\tkind: 'group';\n\t\t\tid: string;\n\t\t\tentries: CompactActivityEntry[];\n\t\t\ttitleOverride?: string;\n\t };\n\nexport const AssistantMessageGroup = memo(\n\tfunction AssistantMessageGroup({\n\t\tsessionId,\n\t\tmessage,\n\t\tshowHeader,\n\t\thasNextAssistantMessage,\n\t\tonBranchCreated,\n\t\tcompact,\n\t\tshowBranchButton = true,\n\t\tonNavigateToSession,\n\t\tonRetry,\n\t\tonCompact,\n\t}: AssistantMessageGroupProps) {\n\t\tconst { isQueued } = useMessageQueuePosition(sessionId, message.id);\n\t\tconst [isHovered, setIsHovered] = useState(false);\n\t\tconst [showBranchModal, setShowBranchModal] = useState(false);\n\t\tconst [copied, setCopied] = useState(false);\n\n\t\t// Tool approval handling\n\t\tconst { pendingApprovals, removePendingApproval } = useToolApprovalStore();\n\n\t\tconst handleApprove = useCallback(\n\t\t\tasync (callId: string) => {\n\t\t\t\tif (!sessionId) return;\n\t\t\t\ttry {\n\t\t\t\t\tawait apiClient.approveToolCall(sessionId, callId, true);\n\t\t\t\t\tremovePendingApproval(callId);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error('Failed to approve tool call:', error);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[sessionId, removePendingApproval],\n\t\t);\n\n\t\tconst handleReject = useCallback(\n\t\t\tasync (callId: string) => {\n\t\t\t\tif (!sessionId) return;\n\t\t\t\ttry {\n\t\t\t\t\tawait apiClient.approveToolCall(sessionId, callId, false);\n\t\t\t\t\tremovePendingApproval(callId);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error('Failed to reject tool call:', error);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[sessionId, removePendingApproval],\n\t\t);\n\n\t\t// Handle approving all pending approvals for this message\n\t\tconst messagePendingApprovals = useMemo(() => {\n\t\t\treturn pendingApprovals.filter((a) => a.messageId === message.id);\n\t\t}, [pendingApprovals, message.id]);\n\n\t\tconst handleApproveAll = useCallback(async () => {\n\t\t\tif (!sessionId) return;\n\t\t\ttry {\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tmessagePendingApprovals.map((a) =>\n\t\t\t\t\t\tapiClient.approveToolCall(sessionId, a.callId, true),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tfor (const a of messagePendingApprovals) {\n\t\t\t\t\tremovePendingApproval(a.callId);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Failed to approve all tool calls:', error);\n\t\t\t}\n\t\t}, [sessionId, messagePendingApprovals, removePendingApproval]);\n\n\t\t// Sort parts by index to maintain correct order when tool results come in\n\t\tconst parts = useMemo(() => {\n\t\t\tconst rawParts = message.parts || [];\n\t\t\treturn [...rawParts].sort((a, b) => {\n\t\t\t\tconst indexDiff = (a.index ?? 0) - (b.index ?? 0);\n\t\t\t\tif (indexDiff !== 0) return indexDiff;\n\t\t\t\tconst stepDiff = (a.stepIndex ?? 0) - (b.stepIndex ?? 0);\n\t\t\t\tif (stepDiff !== 0) return stepDiff;\n\t\t\t\t// Secondary sort by startedAt for parts with same index\n\t\t\t\treturn (a.startedAt ?? 0) - (b.startedAt ?? 0);\n\t\t\t});\n\t\t}, [message.parts]);\n\n\t\tconst hasFinish = parts.some((part) => part.toolName === 'finish');\n\t\tconst latestProgressUpdateIndex = parts.reduce(\n\t\t\t(lastIndex, part, index) =>\n\t\t\t\tpart.type === 'tool_result' && part.toolName === 'progress_update'\n\t\t\t\t\t? index\n\t\t\t\t\t: lastIndex,\n\t\t\t-1,\n\t\t);\n\t\tconst latestProgressUpdatePart =\n\t\t\tlatestProgressUpdateIndex >= 0 ? parts[latestProgressUpdateIndex] : null;\n\t\tconst liveActionToolCallIds = new Set(\n\t\t\tparts\n\t\t\t\t.filter(\n\t\t\t\t\t(part) =>\n\t\t\t\t\t\tpart.ephemeral &&\n\t\t\t\t\t\t['bash', 'write', 'edit', 'apply_patch', 'terminal'].includes(\n\t\t\t\t\t\t\tpart.toolName || '',\n\t\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.map((part) => part.toolCallId)\n\t\t\t\t.filter((callId): callId is string => Boolean(callId)),\n\t\t);\n\t\tconst renderItems = useMemo(() => {\n\t\t\tconst items: AssistantRenderItem[] = [];\n\t\t\tlet compactBuffer: MessagePart[] = [];\n\t\t\tlet bufferStartIndex = -1;\n\t\t\tlet pendingTitle: string | undefined;\n\n\t\t\tconst flushCompactBuffer = (nextTitle?: string) => {\n\t\t\t\tif (compactBuffer.length === 0) {\n\t\t\t\t\tif (nextTitle) {\n\t\t\t\t\t\tpendingTitle = nextTitle;\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst entries = buildCompactActivityEntries(compactBuffer);\n\t\t\t\tif (entries.length > 0) {\n\t\t\t\t\titems.push({\n\t\t\t\t\t\tkind: 'group',\n\t\t\t\t\t\tid: `compact-${compactBuffer[0].id}`,\n\t\t\t\t\t\tentries,\n\t\t\t\t\t\ttitleOverride: pendingTitle,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tfor (const [offset, part] of compactBuffer.entries()) {\n\t\t\t\t\t\titems.push({\n\t\t\t\t\t\t\tkind: 'part',\n\t\t\t\t\t\t\tindex: bufferStartIndex + offset,\n\t\t\t\t\t\t\tpart,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcompactBuffer = [];\n\t\t\t\tbufferStartIndex = -1;\n\t\t\t\tpendingTitle = nextTitle;\n\t\t\t};\n\n\t\t\tfor (const [index, part] of parts.entries()) {\n\t\t\t\tconst isProgressUpdate =\n\t\t\t\t\t(part.type === 'tool_result' || part.type === 'tool_call') &&\n\t\t\t\t\tpart.toolName === 'progress_update';\n\n\t\t\t\tif (isProgressUpdate) {\n\t\t\t\t\tlet msg: string | undefined;\n\t\t\t\t\tconst payload =\n\t\t\t\t\t\tpart.contentJson && typeof part.contentJson === 'object'\n\t\t\t\t\t\t\t? part.contentJson\n\t\t\t\t\t\t\t: null;\n\t\t\t\t\tif (payload) {\n\t\t\t\t\t\tconst bucket =\n\t\t\t\t\t\t\t(payload as Record<string, unknown>).args ??\n\t\t\t\t\t\t\t(payload as Record<string, unknown>).result;\n\t\t\t\t\t\tif (bucket && typeof bucket === 'object') {\n\t\t\t\t\t\t\tconst m = (bucket as Record<string, unknown>).message;\n\t\t\t\t\t\t\tif (typeof m === 'string' && m.trim()) {\n\t\t\t\t\t\t\t\tmsg = m.trim();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (msg) {\n\t\t\t\t\t\tflushCompactBuffer(msg);\n\t\t\t\t\t}\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (compact && isCompactActivityPart(part)) {\n\t\t\t\t\tif (compactBuffer.length === 0) {\n\t\t\t\t\t\tbufferStartIndex = index;\n\t\t\t\t\t}\n\t\t\t\t\tcompactBuffer.push(part);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tflushCompactBuffer();\n\t\t\t\titems.push({ kind: 'part', index, part });\n\t\t\t}\n\n\t\t\tflushCompactBuffer();\n\t\t\treturn items;\n\t\t}, [parts, compact]);\n\t\tconst hasVisibleNonProgressParts = renderItems.length > 0;\n\t\tconst firstVisiblePartIndex = parts.findIndex(\n\t\t\t(part) =>\n\t\t\t\t!(part.type === 'tool_result' && part.toolName === 'progress_update'),\n\t\t);\n\t\tconst shouldShowProgressUpdate =\n\t\t\tmessage.status === 'pending' &&\n\t\t\t!hasFinish &&\n\t\t\tBoolean(latestProgressUpdatePart);\n\t\tconst shouldShowLoadingFallback =\n\t\t\tmessage.status === 'pending' &&\n\t\t\t!hasFinish &&\n\t\t\t!latestProgressUpdatePart &&\n\t\t\t!isQueued;\n\t\tconst formatTime = (ts?: number) => {\n\t\t\tif (!ts) return '';\n\t\t\tconst date = new Date(ts);\n\t\t\treturn date.toLocaleTimeString([], {\n\t\t\t\thour: '2-digit',\n\t\t\t\tminute: '2-digit',\n\t\t\t});\n\t\t};\n\n\t\tconst isComplete = message.status === 'complete';\n\n\t\tconst handleCopy = useCallback(() => {\n\t\t\tconst textParts = parts\n\t\t\t\t.filter((p) => p.type === 'text')\n\t\t\t\t.map((p) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst parsed = JSON.parse(p.content || '{}');\n\t\t\t\t\t\treturn parsed?.text || '';\n\t\t\t\t\t} catch {\n\t\t\t\t\t\treturn p.content || '';\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.join('\\n');\n\n\t\t\tnavigator.clipboard.writeText(textParts);\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 2000);\n\t\t}, [parts]);\n\n\t\tconst handleBranchClick = useCallback(() => {\n\t\t\tsetShowBranchModal(true);\n\t\t}, []);\n\n\t\tif (isQueued) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t// biome-ignore lint/a11y/noStaticElementInteractions: hover state for showing actions\n\t\t\t<div\n\t\t\t\tclassName=\"relative group\"\n\t\t\t\tonMouseEnter={() => setIsHovered(true)}\n\t\t\t\tonMouseLeave={() => setIsHovered(false)}\n\t\t\t>\n\t\t\t\t{showHeader && (\n\t\t\t\t\t<div className=\"pb-2 flex items-center justify-between\">\n\t\t\t\t\t\t<div className=\"inline-flex items-center bg-violet-500/10 border border-violet-500/30 dark:bg-violet-500/5 dark:border-violet-500/20 rounded-full pr-3 md:pr-4 flex-shrink min-w-0\">\n\t\t\t\t\t\t\t<div className=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-violet-500/50 bg-violet-500/20 dark:bg-violet-500/10\">\n\t\t\t\t\t\t\t\t<Sparkles className=\"h-3.5 w-3.5 text-violet-700 dark:text-violet-300\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-x-1.5 md:gap-x-2 text-xs md:text-sm text-muted-foreground pl-2 md:pl-3 min-w-0\">\n\t\t\t\t\t\t\t\t{message.agent && (\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName=\"font-medium text-violet-700 dark:text-violet-300 whitespace-nowrap\"\n\t\t\t\t\t\t\t\t\t\ttitle={message.agent}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{message.agent}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{message.provider && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{message.agent && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/50\">·</span>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<ProviderLogo\n\t\t\t\t\t\t\t\t\t\t\tprovider={message.provider}\n\t\t\t\t\t\t\t\t\t\t\tsize={14}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"opacity-70\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{message.model && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<span className=\"hidden md:inline text-muted-foreground/50\">\n\t\t\t\t\t\t\t\t\t\t\t·\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"hidden md:inline text-muted-foreground whitespace-nowrap\"\n\t\t\t\t\t\t\t\t\t\t\ttitle={message.model}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{message.model}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{message.createdAt && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/50\">·</span>\n\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground whitespace-nowrap\">\n\t\t\t\t\t\t\t\t\t\t\t{formatTime(message.createdAt)}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{isHovered && isComplete && sessionId && showBranchButton && (\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={handleBranchClick}\n\t\t\t\t\t\t\t\tclassName=\"ml-4 p-1.5 text-muted-foreground hover:text-primary transition-colors flex-shrink-0\"\n\t\t\t\t\t\t\t\ttitle=\"Branch from this message\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<GitBranch className=\"h-4 w-4\" />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t<div className=\"relative ml-1\">\n\t\t\t\t\t{renderItems.map((item, renderIndex) => {\n\t\t\t\t\t\tconst hasFollowingContent =\n\t\t\t\t\t\t\trenderIndex < renderItems.length - 1 ||\n\t\t\t\t\t\t\thasNextAssistantMessage ||\n\t\t\t\t\t\t\tshouldShowProgressUpdate;\n\n\t\t\t\t\t\tif (item.kind === 'group') {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<CompactActivityGroup\n\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\tentries={item.entries}\n\t\t\t\t\t\t\t\t\ttitleOverride={item.titleOverride}\n\t\t\t\t\t\t\t\t\tshowLine={hasFollowingContent}\n\t\t\t\t\t\t\t\t\tcollapsed={\n\t\t\t\t\t\t\t\t\t\tmessage.status !== 'pending' ||\n\t\t\t\t\t\t\t\t\t\trenderIndex < renderItems.length - 1\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst { part, index } = item;\n\t\t\t\t\t\tconst isLastPart = index === parts.length - 1;\n\t\t\t\t\t\tconst isActionTool =\n\t\t\t\t\t\t\tpart.ephemeral &&\n\t\t\t\t\t\t\t(part.type === 'tool_call' || part.type === 'tool_result') &&\n\t\t\t\t\t\t\t['bash', 'write', 'edit', 'apply_patch', 'terminal'].includes(\n\t\t\t\t\t\t\t\tpart.toolName || '',\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (isActionTool) {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ActionToolBox\n\t\t\t\t\t\t\t\t\tkey={part.id}\n\t\t\t\t\t\t\t\t\tpart={part}\n\t\t\t\t\t\t\t\t\tshowLine={hasFollowingContent}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst pendingApproval =\n\t\t\t\t\t\t\tpart.type === 'tool_call' && part.toolCallId\n\t\t\t\t\t\t\t\t? (pendingApprovals.find((a) => a.callId === part.toolCallId) ??\n\t\t\t\t\t\t\t\t\tnull)\n\t\t\t\t\t\t\t\t: null;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tpart.type === 'tool_result' &&\n\t\t\t\t\t\t\tpart.toolCallId &&\n\t\t\t\t\t\t\tliveActionToolCallIds.has(part.toolCallId)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst isFinishTool =\n\t\t\t\t\t\t\tpart.type === 'tool_result' && part.toolName === 'finish';\n\t\t\t\t\t\tconst showLine = hasFollowingContent && !isFinishTool;\n\t\t\t\t\t\tconst isLastToolCall = part.type === 'tool_call' && isLastPart;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<MessagePartItem\n\t\t\t\t\t\t\t\tkey={part.id}\n\t\t\t\t\t\t\t\tpart={part}\n\t\t\t\t\t\t\t\tshowLine={showLine}\n\t\t\t\t\t\t\t\tisFirstPart={index === firstVisiblePartIndex && !showHeader}\n\t\t\t\t\t\t\t\tisLastToolCall={isLastToolCall}\n\t\t\t\t\t\t\t\tonNavigateToSession={onNavigateToSession}\n\t\t\t\t\t\t\t\tcompact={compact}\n\t\t\t\t\t\t\t\tpendingApproval={pendingApproval}\n\t\t\t\t\t\t\t\tonApprove={handleApprove}\n\t\t\t\t\t\t\t\tonReject={handleReject}\n\t\t\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\t\t\tonRetry={onRetry}\n\t\t\t\t\t\t\t\tonCompact={onCompact}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\n\t\t\t\t\t{/* Approve All banner when multiple approvals pending */}\n\t\t\t\t\t{messagePendingApprovals.length > 1 && (\n\t\t\t\t\t\t<div className=\"flex items-center gap-3 py-2 px-3 my-2 bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 rounded-lg\">\n\t\t\t\t\t\t\t<Shield className=\"h-4 w-4 text-amber-600 dark:text-amber-400 flex-shrink-0\" />\n\t\t\t\t\t\t\t<span className=\"text-sm text-amber-800 dark:text-amber-200 flex-1\">\n\t\t\t\t\t\t\t\t{messagePendingApprovals.length} tools waiting for approval\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={handleApproveAll}\n\t\t\t\t\t\t\t\ttitle=\"Approve All (A)\"\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<CheckCheck className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t\t\t\tApprove All\n\t\t\t\t\t\t\t\t<kbd className=\"ml-1 text-[10px] opacity-70\">A</kbd>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{shouldShowProgressUpdate && latestProgressUpdatePart && (\n\t\t\t\t\t\t<MessagePartItem\n\t\t\t\t\t\t\tkey={latestProgressUpdatePart.id}\n\t\t\t\t\t\t\tpart={latestProgressUpdatePart}\n\t\t\t\t\t\t\tshowLine={hasNextAssistantMessage}\n\t\t\t\t\t\t\tisFirstPart={!hasVisibleNonProgressParts && !showHeader}\n\t\t\t\t\t\t\tisLastProgressUpdate\n\t\t\t\t\t\t\tcompact={compact}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{shouldShowLoadingFallback && (\n\t\t\t\t\t\t<div className=\"flex gap-3 pb-2 relative\">\n\t\t\t\t\t\t\t<div className=\"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5\">\n\t\t\t\t\t\t\t\t<div className=\"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-card text-violet-700 dark:bg-background dark:text-violet-300\">\n\t\t\t\t\t\t\t\t\t<Sparkles className=\"h-4 w-4\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"flex-1 pt-0.5\">\n\t\t\t\t\t\t\t\t<div className=\"text-base text-foreground animate-pulse\">\n\t\t\t\t\t\t\t\t\t{getLoadingMessage(message.id)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t{isComplete && sessionId && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"grid ml-7 transition-[grid-template-rows] duration-200 ease-out\"\n\t\t\t\t\t\tstyle={{ gridTemplateRows: isHovered ? '1fr' : '0fr' }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"overflow-hidden\">\n\t\t\t\t\t\t\t<div className=\"flex gap-2 mt-2\">\n\t\t\t\t\t\t\t\t{showBranchButton && (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleBranchClick}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-2 py-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded transition-colors\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<GitBranch className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t\t\tBranch\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={handleCopy}\n\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-2 py-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded transition-colors\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{copied ? (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<Check className=\"h-3 w-3 text-green-500\" />\n\t\t\t\t\t\t\t\t\t\t\tCopied\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<Copy className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t\t\t\tCopy\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{showBranchModal && sessionId && (\n\t\t\t\t\t<BranchModal\n\t\t\t\t\t\tisOpen={showBranchModal}\n\t\t\t\t\t\tonClose={() => setShowBranchModal(false)}\n\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\tmessage={message}\n\t\t\t\t\t\tonBranchCreated={onBranchCreated}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t},\n\t(prevProps, nextProps) => {\n\t\tconst prevParts = prevProps.message.parts || [];\n\t\tconst nextParts = nextProps.message.parts || [];\n\n\t\tif (prevParts.length !== nextParts.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (let i = 0; i < prevParts.length; i++) {\n\t\t\tconst prevPart = prevParts[i];\n\t\t\tconst nextPart = nextParts[i];\n\t\t\tif (\n\t\t\t\tprevPart.id !== nextPart.id ||\n\t\t\t\tprevPart.index !== nextPart.index ||\n\t\t\t\tprevPart.stepIndex !== nextPart.stepIndex ||\n\t\t\t\tprevPart.type !== nextPart.type ||\n\t\t\t\tprevPart.content !== nextPart.content ||\n\t\t\t\tprevPart.contentJson !== nextPart.contentJson ||\n\t\t\t\tprevPart.toolName !== nextPart.toolName ||\n\t\t\t\tprevPart.toolCallId !== nextPart.toolCallId ||\n\t\t\t\tprevPart.ephemeral !== nextPart.ephemeral ||\n\t\t\t\tprevPart.completedAt !== nextPart.completedAt ||\n\t\t\t\tprevPart.startedAt !== nextPart.startedAt\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\tprevProps.message.id === nextProps.message.id &&\n\t\t\tprevProps.message.status === nextProps.message.status &&\n\t\t\tprevProps.message.completedAt === nextProps.message.completedAt &&\n\t\t\tprevProps.showHeader === nextProps.showHeader &&\n\t\t\tprevProps.hasNextAssistantMessage === nextProps.hasNextAssistantMessage &&\n\t\t\tprevProps.isLastMessage === nextProps.isLastMessage &&\n\t\t\tprevProps.sessionId === nextProps.sessionId &&\n\t\t\tprevProps.compact === nextProps.compact &&\n\t\t\tprevProps.onNavigateToSession === nextProps.onNavigateToSession\n\t\t);\n\t},\n);\n",
71
- "import {\n\tSparkles,\n\tLoader2,\n\tGitBranch,\n\tDiff,\n\tGitCommit,\n\tCheck,\n\tTerminal,\n\tFileText,\n\tFileEdit,\n\tSearch,\n\tFolderTree,\n\tList,\n\tAlertCircle,\n\tXOctagon,\n\tBrain,\n\tDatabase,\n\tPlug,\n\tBookOpen,\n} from 'lucide-react';\nimport {\n\tFragment,\n\tmemo,\n\ttype ReactNode,\n\ttype ComponentPropsWithoutRef,\n} from 'react';\nimport type { PendingToolApproval } from '../../stores/toolApprovalStore';\nimport ReactMarkdown from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\nimport { ToolApprovalCard } from './ToolApprovalCard';\nimport type { MessagePart } from '../../types/api';\nimport {\n\tToolResultRenderer,\n\tReasoningRenderer,\n\ttype ContentJson,\n} from './renderers';\nimport { CopyButton } from './renderers/shared';\n\nfunction getToolCallPayload(part: MessagePart): Record<string, unknown> | null {\n\tconst fromJson = part.contentJson;\n\tif (fromJson && typeof fromJson === 'object') {\n\t\treturn fromJson;\n\t}\n\ttry {\n\t\tif (part.content) {\n\t\t\tconst parsed = JSON.parse(part.content);\n\t\t\tif (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {\n\t\t\t\treturn parsed as Record<string, unknown>;\n\t\t\t}\n\t\t}\n\t} catch {}\n\treturn null;\n}\n\nfunction getToolCallArgs(\n\tpart: MessagePart,\n): Record<string, unknown> | undefined {\n\tconst payload = getToolCallPayload(part);\n\tif (!payload) return undefined;\n\n\tconst args = (payload as { args?: unknown }).args;\n\tif (args && typeof args === 'object' && !Array.isArray(args)) {\n\t\treturn args as Record<string, unknown>;\n\t}\n\n\treturn undefined;\n}\n\nfunction getPrimaryCommand(\n\targs: Record<string, unknown> | undefined,\n): string | null {\n\tif (!args) return null;\n\tconst candidates = ['cmd', 'command', 'script', 'input'];\n\tfor (const key of candidates) {\n\t\tconst value = args[key];\n\t\tif (typeof value === 'string' && value.trim().length > 0) {\n\t\t\treturn value.trim();\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction getPatchedFileFromPatch(patch: string): string | null {\n\tconst match = patch.match(\n\t\t/^\\*\\*\\*\\s+(?:Update|Add|Delete|Replace in):\\s+(.+)$/m,\n\t);\n\treturn match?.[1]?.trim() || null;\n}\n\nfunction normalizeToolTarget(\n\ttoolName: string,\n\targs: Record<string, unknown> | undefined,\n): { key: string; value: string } | null {\n\tif (!args) return null;\n\tconst candidates = [\n\t\t{ key: 'path', match: true },\n\t\t{ key: 'file', match: true },\n\t\t{ key: 'target', match: true },\n\t\t{ key: 'cwd', match: true },\n\t\t{ key: 'query', match: true },\n\t\t{ key: 'pattern', match: true },\n\t\t{ key: 'glob', match: true },\n\t\t{ key: 'dir', match: true },\n\t];\n\tfor (const { key } of candidates) {\n\t\tconst value = args[key];\n\t\tif (typeof value === 'string' && value.trim().length > 0) {\n\t\t\treturn { key, value: value.trim() };\n\t\t}\n\t}\n\tif (toolName === 'bash') {\n\t\tconst command = args.command;\n\t\tif (typeof command === 'string' && command.trim().length > 0) {\n\t\t\treturn { key: 'command', value: command.trim() };\n\t\t}\n\t}\n\tif (toolName === 'apply_patch') {\n\t\tconst patch = args.patch;\n\t\tif (typeof patch === 'string' && patch.trim().length > 0) {\n\t\t\tconst target = getPatchedFileFromPatch(patch);\n\t\t\tif (target) {\n\t\t\t\treturn { key: 'patch', value: target };\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction formatArgsPreview(\n\targs: Record<string, unknown> | undefined,\n\tskipKey?: string,\n): string | null {\n\tif (!args) return null;\n\tconst pieces: string[] = [];\n\tfor (const [key, value] of Object.entries(args)) {\n\t\tif (skipKey && key === skipKey) continue;\n\t\tif (typeof value === 'string' || typeof value === 'number') {\n\t\t\tconst rendered = `${key}=${String(value)}`;\n\t\t\tpieces.push(rendered);\n\t\t}\n\t\tif (pieces.length >= 3) break;\n\t}\n\tif (!pieces.length) return null;\n\tconst joined = pieces.join(' ');\n\treturn joined.length > 120 ? `${joined.slice(0, 117)}…` : joined;\n}\n\ninterface MessagePartItemProps {\n\tpart: MessagePart;\n\tshowLine: boolean;\n\tisFirstPart: boolean;\n\tisLastToolCall?: boolean;\n\tisLastProgressUpdate?: boolean;\n\tonNavigateToSession?: (sessionId: string) => void;\n\tcompact?: boolean;\n\tpendingApproval?: PendingToolApproval | null;\n\tonApprove?: (callId: string) => void;\n\tonReject?: (callId: string) => void;\n\tsessionId?: string;\n\tonRetry?: () => void;\n\tonCompact?: () => void;\n}\n\nexport const MessagePartItem = memo(\n\tfunction MessagePartItem({\n\t\tpart,\n\t\tshowLine,\n\t\tisLastToolCall,\n\t\tisLastProgressUpdate,\n\t\tonNavigateToSession,\n\t\tcompact,\n\t\tpendingApproval,\n\t\tonApprove,\n\t\tonReject,\n\t\tsessionId,\n\t\tonRetry,\n\t\tonCompact,\n\t}: MessagePartItemProps) {\n\t\t// Show tool_call if it's the last one OR if it has a pending approval\n\t\t// Never show loading indicator for progress_update calls\n\t\tif (part.type === 'tool_call') {\n\t\t\tconst toolName = part.toolName || '';\n\t\t\tif (toolName === 'progress_update') return null;\n\t\t\tif (!isLastToolCall && !pendingApproval) return null;\n\t\t}\n\n\t\tif (\n\t\t\tpart.type === 'tool_result' &&\n\t\t\tpart.toolName === 'progress_update' &&\n\t\t\t!isLastProgressUpdate\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (part.type === 'text') {\n\t\t\tconst data = part.contentJson || part.content;\n\t\t\tlet content = '';\n\t\t\tif (data && typeof data === 'object' && 'text' in data) {\n\t\t\t\tcontent = String(data.text);\n\t\t\t} else if (typeof data === 'string') {\n\t\t\t\tcontent = data;\n\t\t\t}\n\t\t\tif (!content || !content.trim()) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\tif (part.type === 'reasoning') {\n\t\t\tconst data = part.contentJson || part.content;\n\t\t\tlet content = '';\n\t\t\tif (data && typeof data === 'object' && 'text' in data) {\n\t\t\t\tcontent = String(data.text);\n\t\t\t} else if (typeof data === 'string') {\n\t\t\t\tcontent = data;\n\t\t\t}\n\t\t\tif (!content || !content.trim()) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\tconst isToolMessage =\n\t\t\tpart.type === 'tool_call' || part.type === 'tool_result';\n\n\t\tconst contentClasses = ['flex-1', 'min-w-0', 'max-w-full'];\n\n\t\tif (isToolMessage || part.type === 'reasoning') {\n\t\t\tcontentClasses.push(compact ? 'pt-0.5' : 'pt-1');\n\t\t} else if (part.type === 'error') {\n\t\t\tcontentClasses.push('pt-0.5');\n\t\t} else if (part.type === 'text') {\n\t\t\tcontentClasses.push('pt-0');\n\t\t\tcontentClasses.push('-mt-0.5');\n\t\t} else {\n\t\t\tcontentClasses.push('pt-0');\n\t\t}\n\n\t\tconst contentClassName = contentClasses.join(' ');\n\n\t\tconst renderIcon = () => {\n\t\t\tif (part.type === 'reasoning') {\n\t\t\t\treturn (\n\t\t\t\t\t<Brain className=\"h-4 w-4 text-indigo-600 dark:text-indigo-300\" />\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'tool_call') {\n\t\t\t\treturn (\n\t\t\t\t\t<Loader2 className=\"h-4 w-4 text-amber-600 dark:text-amber-300 animate-spin\" />\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'error') {\n\t\t\t\tconst payload = getToolCallPayload(part);\n\t\t\t\tconst isAborted = payload?.isAborted === true;\n\t\t\t\treturn isAborted ? (\n\t\t\t\t\t<XOctagon className=\"h-4 w-4 text-amber-600 dark:text-amber-400\" />\n\t\t\t\t) : (\n\t\t\t\t\t<AlertCircle className=\"h-4 w-4 text-red-600 dark:text-red-400\" />\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'tool_result') {\n\t\t\t\tconst toolName = part.toolName || '';\n\t\t\t\tif (toolName === 'read')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<FileText className=\"h-4 w-4 text-blue-600 dark:text-blue-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'write')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<FileEdit className=\"h-4 w-4 text-emerald-600 dark:text-emerald-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'edit')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<FileEdit className=\"h-4 w-4 text-purple-600 dark:text-purple-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'ls')\n\t\t\t\t\treturn <List className=\"h-4 w-4 text-cyan-600 dark:text-cyan-300\" />;\n\t\t\t\tif (toolName === 'tree')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<FolderTree className=\"h-4 w-4 text-cyan-600 dark:text-cyan-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'bash')\n\t\t\t\t\treturn <Terminal className=\"h-4 w-4 text-muted-foreground\" />;\n\t\t\t\tif (\n\t\t\t\t\ttoolName === 'ripgrep' ||\n\t\t\t\t\ttoolName === 'grep' ||\n\t\t\t\t\ttoolName === 'glob'\n\t\t\t\t)\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Search className=\"h-4 w-4 text-amber-600 dark:text-amber-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'apply_patch')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Diff className=\"h-4 w-4 text-purple-600 dark:text-purple-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'git_status')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<GitBranch className=\"h-4 w-4 text-blue-600 dark:text-blue-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'git_diff')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Diff className=\"h-4 w-4 text-purple-600 dark:text-purple-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'git_commit')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<GitCommit className=\"h-4 w-4 text-emerald-600 dark:text-emerald-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'finish')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Check className=\"h-4 w-4 text-emerald-600 dark:text-emerald-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\ttoolName === 'query_sessions' ||\n\t\t\t\t\ttoolName === 'query_messages' ||\n\t\t\t\t\ttoolName === 'search_history' ||\n\t\t\t\t\ttoolName === 'get_session_context' ||\n\t\t\t\t\ttoolName === 'get_parent_session'\n\t\t\t\t)\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Database className=\"h-4 w-4 text-teal-600 dark:text-teal-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'terminal')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Terminal className=\"h-4 w-4 text-amber-600 dark:text-amber-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'skill')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<BookOpen className=\"h-4 w-4 text-violet-600 dark:text-violet-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName.includes('__'))\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Plug className=\"h-4 w-4 text-purple-600 dark:text-purple-300\" />\n\t\t\t\t\t);\n\t\t\t\treturn <Terminal className=\"h-4 w-4 text-muted-foreground\" />;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<Sparkles className=\"h-4 w-4 text-violet-600 dark:text-violet-300\" />\n\t\t\t);\n\t\t};\n\n\t\tconst renderToolResult = () => {\n\t\t\tconst toolName = part.toolName || '';\n\n\t\t\tlet contentJson: ContentJson;\n\t\t\ttry {\n\t\t\t\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\t\t\t\tcontentJson = part.contentJson as ContentJson;\n\t\t\t\t} else if (typeof part.content === 'string') {\n\t\t\t\t\tcontentJson = JSON.parse(part.content);\n\t\t\t\t} else {\n\t\t\t\t\tcontentJson = {};\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tcontentJson = { result: part.content } as ContentJson;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<ToolResultRenderer\n\t\t\t\t\ttoolName={toolName}\n\t\t\t\t\tcontentJson={contentJson}\n\t\t\t\t\ttoolDurationMs={part.toolDurationMs}\n\t\t\t\t\tdebug={false}\n\t\t\t\t\tonNavigateToSession={onNavigateToSession}\n\t\t\t\t\tcompact={compact}\n\t\t\t\t/>\n\t\t\t);\n\t\t};\n\n\t\tconst renderContent = () => {\n\t\t\tif (part.type === 'reasoning') {\n\t\t\t\treturn <ReasoningRenderer part={part} />;\n\t\t\t}\n\n\t\t\tif (part.type === 'text') {\n\t\t\t\tlet content = '';\n\t\t\t\tconst data = part.contentJson || part.content;\n\t\t\t\tif (data && typeof data === 'object' && 'text' in data) {\n\t\t\t\t\tcontent = String(data.text);\n\t\t\t\t} else if (typeof data === 'string') {\n\t\t\t\t\tcontent = data;\n\t\t\t\t} else if (data) {\n\t\t\t\t\tcontent = JSON.stringify(data, null, 2);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"relative group\">\n\t\t\t\t\t\t<div className=\"absolute -top-1 right-0 opacity-0 group-hover:opacity-100 transition-opacity z-10\">\n\t\t\t\t\t\t\t<CopyButton\n\t\t\t\t\t\t\t\ttext={content}\n\t\t\t\t\t\t\t\tclassName=\"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"text-base text-foreground leading-relaxed markdown-content max-w-full overflow-x-auto\">\n\t\t\t\t\t\t\t<ReactMarkdown\n\t\t\t\t\t\t\t\tremarkPlugins={[remarkGfm]}\n\t\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\t\ta: ({\n\t\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t\t\t\t\t...props\n\t\t\t\t\t\t\t\t\t}: ComponentPropsWithoutRef<'a'>) => (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={href}\n\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (window.self !== window.top && href) {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\twindow.parent.postMessage(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'otto-open-url',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\turl: href,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'*',\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpre: ({\n\t\t\t\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t\t\t\t\t...props\n\t\t\t\t\t\t\t\t\t}: ComponentPropsWithoutRef<'pre'>) => {\n\t\t\t\t\t\t\t\t\t\tconst codeContent = (() => {\n\t\t\t\t\t\t\t\t\t\t\tif (!children) return '';\n\t\t\t\t\t\t\t\t\t\t\tconst child = Array.isArray(children)\n\t\t\t\t\t\t\t\t\t\t\t\t? children[0]\n\t\t\t\t\t\t\t\t\t\t\t\t: children;\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tchild &&\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof child === 'object' &&\n\t\t\t\t\t\t\t\t\t\t\t\t'props' in child\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tconst codeProps = child.props as { children?: unknown };\n\t\t\t\t\t\t\t\t\t\t\t\tif (typeof codeProps.children === 'string') {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn codeProps.children;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn '';\n\t\t\t\t\t\t\t\t\t\t})();\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"relative group/code my-3\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"absolute top-2 right-2 opacity-0 group-hover/code:opacity-100 transition-opacity z-10\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CopyButton\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttext={codeContent}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<pre {...props} className=\"overflow-x-auto\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t\t\t</pre>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttable: ({\n\t\t\t\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t\t\t\t\t...props\n\t\t\t\t\t\t\t\t\t}: ComponentPropsWithoutRef<'table'>) => (\n\t\t\t\t\t\t\t\t\t\t<div className=\"overflow-x-auto max-w-full min-w-0 my-3\">\n\t\t\t\t\t\t\t\t\t\t\t<table {...props}>{children}</table>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{content}\n\t\t\t\t\t\t\t</ReactMarkdown>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{content.length > 500 && (\n\t\t\t\t\t\t\t<div className=\"absolute -bottom-1 right-0 opacity-0 group-hover:opacity-100 transition-opacity z-10\">\n\t\t\t\t\t\t\t\t<CopyButton\n\t\t\t\t\t\t\t\t\ttext={content}\n\t\t\t\t\t\t\t\t\tclassName=\"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'error') {\n\t\t\t\tlet contentJson: ContentJson;\n\t\t\t\ttry {\n\t\t\t\t\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\t\t\t\t\tcontentJson = part.contentJson as ContentJson;\n\t\t\t\t\t} else if (typeof part.content === 'string') {\n\t\t\t\t\t\tcontentJson = JSON.parse(part.content);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontentJson = {};\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\tcontentJson = {\n\t\t\t\t\t\tmessage: part.content || 'Unknown error',\n\t\t\t\t\t} as ContentJson;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolResultRenderer\n\t\t\t\t\t\ttoolName=\"error\"\n\t\t\t\t\t\tcontentJson={contentJson}\n\t\t\t\t\t\ttoolDurationMs={part.toolDurationMs}\n\t\t\t\t\t\tdebug={false}\n\t\t\t\t\t\tcompact={compact}\n\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\tonRetry={onRetry}\n\t\t\t\t\t\tonCompact={onCompact}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'tool_call') {\n\t\t\t\tconst payload = getToolCallPayload(part);\n\t\t\t\tconst rawToolName =\n\t\t\t\t\tpart.toolName ||\n\t\t\t\t\t(typeof (payload as { name?: unknown })?.name === 'string'\n\t\t\t\t\t\t? ((payload as { name?: unknown }).name as string)\n\t\t\t\t\t\t: 'tool');\n\t\t\t\tconst toolLabel = rawToolName.includes('__')\n\t\t\t\t\t? rawToolName.replace('__', ' › ')\n\t\t\t\t\t: rawToolName.replace(/_/g, ' ');\n\t\t\t\t// Use args from pending approval if available (for early approval display)\n\t\t\t\t// Fall back to part args for normal tool calls\n\t\t\t\tconst partArgs = getToolCallArgs(part);\n\t\t\t\tconst approvalArgs = pendingApproval?.args as\n\t\t\t\t\t| Record<string, unknown>\n\t\t\t\t\t| undefined;\n\t\t\t\tconst args = partArgs || approvalArgs;\n\t\t\t\tconst primary = normalizeToolTarget(rawToolName, args);\n\t\t\t\tconst argsPreview = formatArgsPreview(args, primary?.key);\n\t\t\t\tconst command = rawToolName === 'bash' ? getPrimaryCommand(args) : null;\n\t\t\t\tconst segments: Array<{ key: string; node: ReactNode }> = [];\n\t\t\t\tif (command) {\n\t\t\t\t\tsegments.push({\n\t\t\t\t\t\tkey: 'cmd',\n\t\t\t\t\t\tnode: (\n\t\t\t\t\t\t\t<code className=\"font-mono text-foreground/90 truncate max-w-xs\">\n\t\t\t\t\t\t\t\t{command}\n\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t} else if (primary) {\n\t\t\t\t\tsegments.push({\n\t\t\t\t\t\tkey: 'primary',\n\t\t\t\t\t\tnode: (\n\t\t\t\t\t\t\t<code className=\"font-mono text-foreground/85 truncate max-w-xs\">\n\t\t\t\t\t\t\t\t{primary.value}\n\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (argsPreview) {\n\t\t\t\t\tsegments.push({\n\t\t\t\t\t\tkey: 'args',\n\t\t\t\t\t\tnode: (\n\t\t\t\t\t\t\t<span className=\"text-muted-foreground/80 truncate max-w-xs\">\n\t\t\t\t\t\t\t\t{argsPreview}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Check if this tool call has a pending approval\n\t\t\t\tconst hasPendingApproval =\n\t\t\t\t\tpendingApproval && pendingApproval.callId === part.toolCallId;\n\n\t\t\t\tif (hasPendingApproval && onApprove && onReject) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToolApprovalCard\n\t\t\t\t\t\t\ttoolName={rawToolName}\n\t\t\t\t\t\t\targs={args}\n\t\t\t\t\t\t\tpendingApproval={pendingApproval}\n\t\t\t\t\t\t\tonApprove={onApprove}\n\t\t\t\t\t\t\tonReject={onReject}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} else if (segments.length === 0) {\n\t\t\t\t\tsegments.push({\n\t\t\t\t\t\tkey: 'running',\n\t\t\t\t\t\tnode: <span className=\"text-muted-foreground/75\">running…</span>,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst containerClasses = [\n\t\t\t\t\t'flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-foreground/80 max-w-full',\n\t\t\t\t];\n\t\t\t\tif (part.ephemeral) containerClasses.push('animate-pulse');\n\t\t\t\treturn (\n\t\t\t\t\t<div className={containerClasses.join(' ')}>\n\t\t\t\t\t\t<span className=\"font-medium text-foreground\">{toolLabel}</span>\n\t\t\t\t\t\t{segments.map((segment) => (\n\t\t\t\t\t\t\t<Fragment key={segment.key}>\n\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/65\">·</span>\n\t\t\t\t\t\t\t\t{segment.node}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'tool_result') {\n\t\t\t\treturn renderToolResult();\n\t\t\t}\n\n\t\t\treturn null;\n\t\t};\n\n\t\treturn (\n\t\t\t<div className=\"flex gap-3 pb-2 relative max-w-full overflow-hidden\">\n\t\t\t\t<div className=\"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5\">\n\t\t\t\t\t<div className=\"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background\">\n\t\t\t\t\t\t{renderIcon()}\n\t\t\t\t\t</div>\n\t\t\t\t\t{showLine && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0\"\n\t\t\t\t\t\t\tstyle={{ top: '1.25rem', bottom: '-0.5rem' }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div className={contentClassName}>{renderContent()}</div>\n\t\t\t</div>\n\t\t);\n\t},\n\t(prevProps, nextProps) => {\n\t\treturn (\n\t\t\tprevProps.part.id === nextProps.part.id &&\n\t\t\tprevProps.part.content === nextProps.part.content &&\n\t\t\tprevProps.part.contentJson === nextProps.part.contentJson &&\n\t\t\tprevProps.part.ephemeral === nextProps.part.ephemeral &&\n\t\t\tprevProps.part.completedAt === nextProps.part.completedAt &&\n\t\t\tprevProps.showLine === nextProps.showLine &&\n\t\t\tprevProps.isLastToolCall === nextProps.isLastToolCall &&\n\t\t\tprevProps.isLastProgressUpdate === nextProps.isLastProgressUpdate &&\n\t\t\tprevProps.compact === nextProps.compact &&\n\t\t\tprevProps.onNavigateToSession === nextProps.onNavigateToSession &&\n\t\t\tprevProps.pendingApproval?.callId === nextProps.pendingApproval?.callId &&\n\t\t\tprevProps.onApprove === nextProps.onApprove &&\n\t\t\tprevProps.onReject === nextProps.onReject\n\t\t);\n\t},\n);\n",
72
- "import { memo, useState } from 'react';\nimport { Shield, Check, X } from 'lucide-react';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport {\n\tprism,\n\tvscDarkPlus,\n} from 'react-syntax-highlighter/dist/esm/styles/prism';\nimport type { PendingToolApproval } from '../../stores/toolApprovalStore';\nimport { DiffView } from './renderers/DiffView';\n\ninterface ToolApprovalCardProps {\n\ttoolName: string;\n\targs: Record<string, unknown> | undefined;\n\tpendingApproval: PendingToolApproval;\n\tonApprove: (callId: string) => void | Promise<void>;\n\tonReject: (callId: string) => void | Promise<void>;\n}\n\nfunction getLanguageFromPath(path: string): string {\n\tconst ext = path.split('.').pop()?.toLowerCase();\n\tconst langMap: Record<string, string> = {\n\t\tjs: 'javascript',\n\t\tjsx: 'jsx',\n\t\tts: 'typescript',\n\t\ttsx: 'tsx',\n\t\tpy: 'python',\n\t\trb: 'ruby',\n\t\tgo: 'go',\n\t\trs: 'rust',\n\t\tjava: 'java',\n\t\tc: 'c',\n\t\tcpp: 'cpp',\n\t\th: 'c',\n\t\thpp: 'cpp',\n\t\tcs: 'csharp',\n\t\tphp: 'php',\n\t\tsh: 'bash',\n\t\tbash: 'bash',\n\t\tzsh: 'bash',\n\t\tsql: 'sql',\n\t\tjson: 'json',\n\t\tyaml: 'yaml',\n\t\tyml: 'yaml',\n\t\txml: 'xml',\n\t\thtml: 'html',\n\t\tcss: 'css',\n\t\tscss: 'scss',\n\t\tmd: 'markdown',\n\t\ttxt: 'text',\n\t\tsvelte: 'svelte',\n\t};\n\treturn langMap[ext || ''] || 'javascript';\n}\n\nfunction normalizeToolTarget(\n\ttoolName: string,\n\targs: Record<string, unknown> | undefined,\n): { key: string; value: string } | null {\n\tif (!args) return null;\n\tconst keyMap: Record<string, string[]> = {\n\t\tread: ['path'],\n\t\twrite: ['path'],\n\t\tedit: ['path'],\n\t\tapply_patch: ['path'],\n\t\tglob: ['pattern'],\n\t\tgrep: ['query', 'pattern'],\n\t\tripgrep: ['query', 'pattern'],\n\t\tbash: ['cmd', 'command'],\n\t\tterminal: ['command'],\n\t\tgit_commit: ['message'],\n\t\tgit_diff: ['file'],\n\t\ttree: ['path'],\n\t\tls: ['path'],\n\t\tweb_search: ['query', 'url'],\n\t\tskill: ['name'],\n\t};\n\tconst keys = keyMap[toolName];\n\tif (!keys) {\n\t\tfor (const [key, value] of Object.entries(args)) {\n\t\t\tif (typeof value === 'string' && value.length > 0 && value.length < 200) {\n\t\t\t\treturn { key, value };\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\tfor (const key of keys) {\n\t\tconst value = args[key];\n\t\tif (typeof value === 'string' && value.length > 0) {\n\t\t\treturn { key, value };\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction getPrimaryCommand(\n\targs: Record<string, unknown> | undefined,\n): string | null {\n\tif (!args) return null;\n\tconst cmd = args.cmd ?? args.command;\n\tif (typeof cmd === 'string' && cmd.length > 0) {\n\t\treturn cmd;\n\t}\n\treturn null;\n}\n\nexport const ToolApprovalCard = memo(function ToolApprovalCard({\n\ttoolName,\n\targs,\n\tpendingApproval,\n\tonApprove,\n\tonReject,\n}: ToolApprovalCardProps) {\n\tconst [isProcessing, setIsProcessing] = useState(false);\n\n\tconst toolLabel = toolName.replace(/_/g, ' ');\n\tconst primary = normalizeToolTarget(toolName, args);\n\tconst command = toolName === 'bash' ? getPrimaryCommand(args) : null;\n\tconst approvalTarget = command || primary?.value;\n\n\tconst filePath = typeof args?.path === 'string' ? args.path : '';\n\tconst language = getLanguageFromPath(filePath);\n\tconst syntaxTheme = document?.documentElement.classList.contains('dark')\n\t\t? vscDarkPlus\n\t\t: prism;\n\n\tconst handleApprove = () => {\n\t\tsetIsProcessing(true);\n\t\tPromise.resolve(onApprove(pendingApproval.callId)).catch(() => {\n\t\t\tsetIsProcessing(false);\n\t\t});\n\t};\n\n\tconst handleReject = () => {\n\t\tsetIsProcessing(true);\n\t\tPromise.resolve(onReject(pendingApproval.callId)).catch(() => {\n\t\t\tsetIsProcessing(false);\n\t\t});\n\t};\n\n\tconst renderContent = () => {\n\t\tif (toolName === 'apply_patch' && args?.patch) {\n\t\t\treturn (\n\t\t\t\t<div className=\"ml-6 max-w-full overflow-hidden\">\n\t\t\t\t\t<DiffView patch={String(args.patch)} />\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (toolName === 'write' && args?.content) {\n\t\t\tconst content = String(args.content);\n\t\t\treturn (\n\t\t\t\t<div className=\"ml-6 max-w-full overflow-hidden\">\n\t\t\t\t\t<div className=\"bg-emerald-500/10 border border-emerald-500/30 rounded-lg overflow-hidden max-h-96\">\n\t\t\t\t\t\t<div className=\"overflow-x-auto overflow-y-auto max-h-96 text-xs\">\n\t\t\t\t\t\t\t<SyntaxHighlighter\n\t\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\t\tstyle={syntaxTheme}\n\t\t\t\t\t\t\t\tcustomStyle={{\n\t\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\t\tpadding: '0.75rem',\n\t\t\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t\t\t\tfontSize: 'inherit',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tshowLineNumbers\n\t\t\t\t\t\t\t\tlineNumberStyle={{\n\t\t\t\t\t\t\t\t\tminWidth: '2.5em',\n\t\t\t\t\t\t\t\t\tpaddingRight: '1em',\n\t\t\t\t\t\t\t\t\tcolor: 'var(--muted-foreground)',\n\t\t\t\t\t\t\t\t\topacity: 0.4,\n\t\t\t\t\t\t\t\t\tuserSelect: 'none',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{content}\n\t\t\t\t\t\t\t</SyntaxHighlighter>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (toolName === 'bash' && args?.cmd) {\n\t\t\tconst cmd = String(args.cmd);\n\t\t\treturn (\n\t\t\t\t<div className=\"ml-6 max-w-full overflow-hidden\">\n\t\t\t\t\t<div className=\"bg-card/60 border border-border rounded-lg overflow-hidden\">\n\t\t\t\t\t\t<div className=\"overflow-x-auto text-xs\">\n\t\t\t\t\t\t\t<SyntaxHighlighter\n\t\t\t\t\t\t\t\tlanguage=\"bash\"\n\t\t\t\t\t\t\t\tstyle={syntaxTheme}\n\t\t\t\t\t\t\t\tcustomStyle={{\n\t\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\t\tpadding: '0.75rem',\n\t\t\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t\t\t\tfontSize: 'inherit',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{cmd}\n\t\t\t\t\t\t\t</SyntaxHighlighter>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t};\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-2 py-1\">\n\t\t\t<div className=\"flex items-center gap-2 flex-wrap\">\n\t\t\t\t<Shield className=\"h-4 w-4 text-amber-500 flex-shrink-0\" />\n\t\t\t\t<span className=\"font-medium text-foreground text-sm\">{toolLabel}</span>\n\t\t\t\t{approvalTarget && toolName !== 'bash' && (\n\t\t\t\t\t<code className=\"text-xs font-mono text-foreground/80 bg-muted/50 px-1.5 py-0.5 rounded truncate max-w-xs\">\n\t\t\t\t\t\t{approvalTarget}\n\t\t\t\t\t</code>\n\t\t\t\t)}\n\t\t\t\t<span className=\"text-amber-600 dark:text-amber-400 font-medium text-sm\">\n\t\t\t\t\trequires approval\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t{renderContent()}\n\t\t\t<div className=\"flex items-center gap-2 ml-6\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={handleReject}\n\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\ttitle=\"Reject (N or Esc)\"\n\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t<X className=\"w-3 h-3\" />\n\t\t\t\t\tReject\n\t\t\t\t\t<kbd className=\"ml-1 text-[10px] text-muted-foreground opacity-70\">\n\t\t\t\t\t\tN\n\t\t\t\t\t</kbd>\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={handleApprove}\n\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\ttitle=\"Approve (Y)\"\n\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t<Check className=\"w-3 h-3\" />\n\t\t\t\t\t{isProcessing ? 'Approving...' : 'Approve'}\n\t\t\t\t\t{!isProcessing && (\n\t\t\t\t\t\t<kbd className=\"ml-1 text-[10px] opacity-70\">Y</kbd>\n\t\t\t\t\t)}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n",
70
+ "import { memo, useState, useCallback, useMemo } from 'react';\nimport {\n\tSparkles,\n\tGitBranch,\n\tCopy,\n\tCheck,\n\tShield,\n\tCheckCheck,\n} from 'lucide-react';\nimport type { Message, MessagePart } from '../../types/api';\nimport { MessagePartItem } from './MessagePartItem';\nimport { CompactActivityGroup } from './CompactActivityGroup';\nimport { ActionToolBox } from './ActionToolBox';\nimport { useMessageQueuePosition } from '../../hooks/useQueueState';\nimport { BranchModal } from '../branch/BranchModal';\nimport { ProviderLogo } from '../common/ProviderLogo';\nimport { useToolApprovalStore } from '../../stores/toolApprovalStore';\nimport { apiClient } from '../../lib/api-client';\nimport {\n\ttype CompactActivityEntry,\n\tbuildCompactActivityEntries,\n\tisCompactActivityPart,\n} from './compactActivity';\n\ninterface AssistantMessageGroupProps {\n\tsessionId?: string;\n\tmessage: Message;\n\tshowHeader: boolean;\n\thasNextAssistantMessage: boolean;\n\tisLastMessage: boolean;\n\tonBranchCreated?: (newSessionId: string) => void;\n\tcompact?: boolean;\n\tshowBranchButton?: boolean;\n\tonNavigateToSession?: (sessionId: string) => void;\n\tonRetry?: () => void;\n\tonCompact?: () => void;\n}\n\nconst loadingMessages = [\n\t'Generating...',\n\t'Cooking up something...',\n\t'Thinking...',\n\t'Processing...',\n\t'Working on it...',\n\t'Crafting response...',\n\t'Brewing magic...',\n\t'Computing...',\n];\n\nfunction getLoadingMessage(messageId: string) {\n\tconst hash = messageId\n\t\t.split('')\n\t\t.reduce((acc, char) => acc + char.charCodeAt(0), 0);\n\treturn loadingMessages[hash % loadingMessages.length];\n}\n\ntype AssistantRenderItem =\n\t| {\n\t\t\tkind: 'part';\n\t\t\tindex: number;\n\t\t\tpart: MessagePart;\n\t }\n\t| {\n\t\t\tkind: 'group';\n\t\t\tid: string;\n\t\t\tentries: CompactActivityEntry[];\n\t\t\ttitleOverride?: string;\n\t };\n\nexport const AssistantMessageGroup = memo(\n\tfunction AssistantMessageGroup({\n\t\tsessionId,\n\t\tmessage,\n\t\tshowHeader,\n\t\thasNextAssistantMessage,\n\t\tonBranchCreated,\n\t\tcompact,\n\t\tshowBranchButton = true,\n\t\tonNavigateToSession,\n\t\tonRetry,\n\t\tonCompact,\n\t}: AssistantMessageGroupProps) {\n\t\tconst { isQueued } = useMessageQueuePosition(sessionId, message.id);\n\t\tconst [isHovered, setIsHovered] = useState(false);\n\t\tconst [showBranchModal, setShowBranchModal] = useState(false);\n\t\tconst [copied, setCopied] = useState(false);\n\n\t\t// Tool approval handling\n\t\tconst { pendingApprovals, removePendingApproval } = useToolApprovalStore();\n\n\t\tconst handleApprove = useCallback(\n\t\t\tasync (callId: string) => {\n\t\t\t\tif (!sessionId) return;\n\t\t\t\ttry {\n\t\t\t\t\tawait apiClient.approveToolCall(sessionId, callId, true);\n\t\t\t\t\tremovePendingApproval(callId);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error('Failed to approve tool call:', error);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[sessionId, removePendingApproval],\n\t\t);\n\n\t\tconst handleReject = useCallback(\n\t\t\tasync (callId: string) => {\n\t\t\t\tif (!sessionId) return;\n\t\t\t\ttry {\n\t\t\t\t\tawait apiClient.approveToolCall(sessionId, callId, false);\n\t\t\t\t\tremovePendingApproval(callId);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error('Failed to reject tool call:', error);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[sessionId, removePendingApproval],\n\t\t);\n\n\t\t// Handle approving all pending approvals for this message\n\t\tconst messagePendingApprovals = useMemo(() => {\n\t\t\treturn pendingApprovals.filter((a) => a.messageId === message.id);\n\t\t}, [pendingApprovals, message.id]);\n\n\t\tconst handleApproveAll = useCallback(async () => {\n\t\t\tif (!sessionId) return;\n\t\t\ttry {\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tmessagePendingApprovals.map((a) =>\n\t\t\t\t\t\tapiClient.approveToolCall(sessionId, a.callId, true),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tfor (const a of messagePendingApprovals) {\n\t\t\t\t\tremovePendingApproval(a.callId);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Failed to approve all tool calls:', error);\n\t\t\t}\n\t\t}, [sessionId, messagePendingApprovals, removePendingApproval]);\n\n\t\t// Sort parts by index to maintain correct order when tool results come in\n\t\tconst parts = useMemo(() => {\n\t\t\tconst rawParts = message.parts || [];\n\t\t\treturn [...rawParts].sort((a, b) => {\n\t\t\t\tconst indexDiff = (a.index ?? 0) - (b.index ?? 0);\n\t\t\t\tif (indexDiff !== 0) return indexDiff;\n\t\t\t\tconst stepDiff = (a.stepIndex ?? 0) - (b.stepIndex ?? 0);\n\t\t\t\tif (stepDiff !== 0) return stepDiff;\n\t\t\t\t// Secondary sort by startedAt for parts with same index\n\t\t\t\treturn (a.startedAt ?? 0) - (b.startedAt ?? 0);\n\t\t\t});\n\t\t}, [message.parts]);\n\n\t\tconst hasFinish = parts.some((part) => part.toolName === 'finish');\n\t\tconst latestProgressUpdateIndex = parts.reduce(\n\t\t\t(lastIndex, part, index) =>\n\t\t\t\tpart.type === 'tool_result' && part.toolName === 'progress_update'\n\t\t\t\t\t? index\n\t\t\t\t\t: lastIndex,\n\t\t\t-1,\n\t\t);\n\t\tconst latestProgressUpdatePart =\n\t\t\tlatestProgressUpdateIndex >= 0 ? parts[latestProgressUpdateIndex] : null;\n\t\tconst liveActionToolCallIds = new Set(\n\t\t\tparts\n\t\t\t\t.filter(\n\t\t\t\t\t(part) =>\n\t\t\t\t\t\tpart.ephemeral &&\n\t\t\t\t\t\t['bash', 'write', 'apply_patch', 'terminal'].includes(\n\t\t\t\t\t\t\tpart.toolName || '',\n\t\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.map((part) => part.toolCallId)\n\t\t\t\t.filter((callId): callId is string => Boolean(callId)),\n\t\t);\n\t\tconst renderItems = useMemo(() => {\n\t\t\tconst items: AssistantRenderItem[] = [];\n\t\t\tlet compactBuffer: MessagePart[] = [];\n\t\t\tlet bufferStartIndex = -1;\n\t\t\tlet pendingTitle: string | undefined;\n\n\t\t\tconst flushCompactBuffer = (nextTitle?: string) => {\n\t\t\t\tif (compactBuffer.length === 0) {\n\t\t\t\t\tif (nextTitle) {\n\t\t\t\t\t\tpendingTitle = nextTitle;\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst entries = buildCompactActivityEntries(compactBuffer);\n\t\t\t\tif (entries.length > 0) {\n\t\t\t\t\titems.push({\n\t\t\t\t\t\tkind: 'group',\n\t\t\t\t\t\tid: `compact-${compactBuffer[0].id}`,\n\t\t\t\t\t\tentries,\n\t\t\t\t\t\ttitleOverride: pendingTitle,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tfor (const [offset, part] of compactBuffer.entries()) {\n\t\t\t\t\t\titems.push({\n\t\t\t\t\t\t\tkind: 'part',\n\t\t\t\t\t\t\tindex: bufferStartIndex + offset,\n\t\t\t\t\t\t\tpart,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcompactBuffer = [];\n\t\t\t\tbufferStartIndex = -1;\n\t\t\t\tpendingTitle = nextTitle;\n\t\t\t};\n\n\t\t\tfor (const [index, part] of parts.entries()) {\n\t\t\t\tconst isProgressUpdate =\n\t\t\t\t\t(part.type === 'tool_result' || part.type === 'tool_call') &&\n\t\t\t\t\tpart.toolName === 'progress_update';\n\n\t\t\t\tif (isProgressUpdate) {\n\t\t\t\t\tlet msg: string | undefined;\n\t\t\t\t\tconst payload =\n\t\t\t\t\t\tpart.contentJson && typeof part.contentJson === 'object'\n\t\t\t\t\t\t\t? part.contentJson\n\t\t\t\t\t\t\t: null;\n\t\t\t\t\tif (payload) {\n\t\t\t\t\t\tconst bucket =\n\t\t\t\t\t\t\t(payload as Record<string, unknown>).args ??\n\t\t\t\t\t\t\t(payload as Record<string, unknown>).result;\n\t\t\t\t\t\tif (bucket && typeof bucket === 'object') {\n\t\t\t\t\t\t\tconst m = (bucket as Record<string, unknown>).message;\n\t\t\t\t\t\t\tif (typeof m === 'string' && m.trim()) {\n\t\t\t\t\t\t\t\tmsg = m.trim();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (msg) {\n\t\t\t\t\t\tflushCompactBuffer(msg);\n\t\t\t\t\t}\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (compact && isCompactActivityPart(part)) {\n\t\t\t\t\tif (compactBuffer.length === 0) {\n\t\t\t\t\t\tbufferStartIndex = index;\n\t\t\t\t\t}\n\t\t\t\t\tcompactBuffer.push(part);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tflushCompactBuffer();\n\t\t\t\titems.push({ kind: 'part', index, part });\n\t\t\t}\n\n\t\t\tflushCompactBuffer();\n\t\t\treturn items;\n\t\t}, [parts, compact]);\n\t\tconst hasVisibleNonProgressParts = renderItems.length > 0;\n\t\tconst firstVisiblePartIndex = parts.findIndex(\n\t\t\t(part) =>\n\t\t\t\t!(part.type === 'tool_result' && part.toolName === 'progress_update'),\n\t\t);\n\t\tconst shouldShowProgressUpdate =\n\t\t\tmessage.status === 'pending' &&\n\t\t\t!hasFinish &&\n\t\t\tBoolean(latestProgressUpdatePart);\n\t\tconst shouldShowLoadingFallback =\n\t\t\tmessage.status === 'pending' &&\n\t\t\t!hasFinish &&\n\t\t\t!latestProgressUpdatePart &&\n\t\t\t!isQueued;\n\t\tconst formatTime = (ts?: number) => {\n\t\t\tif (!ts) return '';\n\t\t\tconst date = new Date(ts);\n\t\t\treturn date.toLocaleTimeString([], {\n\t\t\t\thour: '2-digit',\n\t\t\t\tminute: '2-digit',\n\t\t\t});\n\t\t};\n\n\t\tconst isComplete = message.status === 'complete';\n\n\t\tconst handleCopy = useCallback(() => {\n\t\t\tconst textParts = parts\n\t\t\t\t.filter((p) => p.type === 'text')\n\t\t\t\t.map((p) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst parsed = JSON.parse(p.content || '{}');\n\t\t\t\t\t\treturn parsed?.text || '';\n\t\t\t\t\t} catch {\n\t\t\t\t\t\treturn p.content || '';\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.join('\\n');\n\n\t\t\tnavigator.clipboard.writeText(textParts);\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 2000);\n\t\t}, [parts]);\n\n\t\tconst handleBranchClick = useCallback(() => {\n\t\t\tsetShowBranchModal(true);\n\t\t}, []);\n\n\t\tif (isQueued) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t// biome-ignore lint/a11y/noStaticElementInteractions: hover state for showing actions\n\t\t\t<div\n\t\t\t\tclassName=\"relative group\"\n\t\t\t\tonMouseEnter={() => setIsHovered(true)}\n\t\t\t\tonMouseLeave={() => setIsHovered(false)}\n\t\t\t>\n\t\t\t\t{showHeader && (\n\t\t\t\t\t<div className=\"pb-2 flex items-center justify-between\">\n\t\t\t\t\t\t<div className=\"inline-flex items-center bg-violet-500/10 border border-violet-500/30 dark:bg-violet-500/5 dark:border-violet-500/20 rounded-full pr-3 md:pr-4 flex-shrink min-w-0\">\n\t\t\t\t\t\t\t<div className=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-violet-500/50 bg-violet-500/20 dark:bg-violet-500/10\">\n\t\t\t\t\t\t\t\t<Sparkles className=\"h-3.5 w-3.5 text-violet-700 dark:text-violet-300\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-x-1.5 md:gap-x-2 text-xs md:text-sm text-muted-foreground pl-2 md:pl-3 min-w-0\">\n\t\t\t\t\t\t\t\t{message.agent && (\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName=\"font-medium text-violet-700 dark:text-violet-300 whitespace-nowrap\"\n\t\t\t\t\t\t\t\t\t\ttitle={message.agent}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{message.agent}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{message.provider && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{message.agent && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/50\">·</span>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<ProviderLogo\n\t\t\t\t\t\t\t\t\t\t\tprovider={message.provider}\n\t\t\t\t\t\t\t\t\t\t\tsize={14}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"opacity-70\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{message.model && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<span className=\"hidden md:inline text-muted-foreground/50\">\n\t\t\t\t\t\t\t\t\t\t\t·\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"hidden md:inline text-muted-foreground whitespace-nowrap\"\n\t\t\t\t\t\t\t\t\t\t\ttitle={message.model}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{message.model}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{message.createdAt && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/50\">·</span>\n\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground whitespace-nowrap\">\n\t\t\t\t\t\t\t\t\t\t\t{formatTime(message.createdAt)}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{isHovered && isComplete && sessionId && showBranchButton && (\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={handleBranchClick}\n\t\t\t\t\t\t\t\tclassName=\"ml-4 p-1.5 text-muted-foreground hover:text-primary transition-colors flex-shrink-0\"\n\t\t\t\t\t\t\t\ttitle=\"Branch from this message\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<GitBranch className=\"h-4 w-4\" />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t<div className=\"relative ml-1\">\n\t\t\t\t\t{renderItems.map((item, renderIndex) => {\n\t\t\t\t\t\tconst hasFollowingContent =\n\t\t\t\t\t\t\trenderIndex < renderItems.length - 1 ||\n\t\t\t\t\t\t\thasNextAssistantMessage ||\n\t\t\t\t\t\t\tshouldShowProgressUpdate;\n\n\t\t\t\t\t\tif (item.kind === 'group') {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<CompactActivityGroup\n\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\tentries={item.entries}\n\t\t\t\t\t\t\t\t\ttitleOverride={item.titleOverride}\n\t\t\t\t\t\t\t\t\tshowLine={hasFollowingContent}\n\t\t\t\t\t\t\t\t\tcollapsed={\n\t\t\t\t\t\t\t\t\t\tmessage.status !== 'pending' ||\n\t\t\t\t\t\t\t\t\t\trenderIndex < renderItems.length - 1\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst { part, index } = item;\n\t\t\t\t\t\tconst isLastPart = index === parts.length - 1;\n\t\t\t\t\t\tconst isActionTool =\n\t\t\t\t\t\t\tpart.ephemeral &&\n\t\t\t\t\t\t\t(part.type === 'tool_call' || part.type === 'tool_result') &&\n\t\t\t\t\t\t\t['bash', 'write', 'apply_patch', 'terminal'].includes(\n\t\t\t\t\t\t\t\tpart.toolName || '',\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (isActionTool) {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ActionToolBox\n\t\t\t\t\t\t\t\t\tkey={part.id}\n\t\t\t\t\t\t\t\t\tpart={part}\n\t\t\t\t\t\t\t\t\tshowLine={hasFollowingContent}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst pendingApproval =\n\t\t\t\t\t\t\tpart.type === 'tool_call' && part.toolCallId\n\t\t\t\t\t\t\t\t? (pendingApprovals.find((a) => a.callId === part.toolCallId) ??\n\t\t\t\t\t\t\t\t\tnull)\n\t\t\t\t\t\t\t\t: null;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tpart.type === 'tool_result' &&\n\t\t\t\t\t\t\tpart.toolCallId &&\n\t\t\t\t\t\t\tliveActionToolCallIds.has(part.toolCallId)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst isFinishTool =\n\t\t\t\t\t\t\tpart.type === 'tool_result' && part.toolName === 'finish';\n\t\t\t\t\t\tconst showLine = hasFollowingContent && !isFinishTool;\n\t\t\t\t\t\tconst isLastToolCall = part.type === 'tool_call' && isLastPart;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<MessagePartItem\n\t\t\t\t\t\t\t\tkey={part.id}\n\t\t\t\t\t\t\t\tpart={part}\n\t\t\t\t\t\t\t\tshowLine={showLine}\n\t\t\t\t\t\t\t\tisFirstPart={index === firstVisiblePartIndex && !showHeader}\n\t\t\t\t\t\t\t\tisLastToolCall={isLastToolCall}\n\t\t\t\t\t\t\t\tonNavigateToSession={onNavigateToSession}\n\t\t\t\t\t\t\t\tcompact={compact}\n\t\t\t\t\t\t\t\tpendingApproval={pendingApproval}\n\t\t\t\t\t\t\t\tonApprove={handleApprove}\n\t\t\t\t\t\t\t\tonReject={handleReject}\n\t\t\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\t\t\tonRetry={onRetry}\n\t\t\t\t\t\t\t\tonCompact={onCompact}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\n\t\t\t\t\t{/* Approve All banner when multiple approvals pending */}\n\t\t\t\t\t{messagePendingApprovals.length > 1 && (\n\t\t\t\t\t\t<div className=\"flex items-center gap-3 py-2 px-3 my-2 bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 rounded-lg\">\n\t\t\t\t\t\t\t<Shield className=\"h-4 w-4 text-amber-600 dark:text-amber-400 flex-shrink-0\" />\n\t\t\t\t\t\t\t<span className=\"text-sm text-amber-800 dark:text-amber-200 flex-1\">\n\t\t\t\t\t\t\t\t{messagePendingApprovals.length} tools waiting for approval\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={handleApproveAll}\n\t\t\t\t\t\t\t\ttitle=\"Approve All (A)\"\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<CheckCheck className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t\t\t\tApprove All\n\t\t\t\t\t\t\t\t<kbd className=\"ml-1 text-[10px] opacity-70\">A</kbd>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{shouldShowProgressUpdate && latestProgressUpdatePart && (\n\t\t\t\t\t\t<MessagePartItem\n\t\t\t\t\t\t\tkey={latestProgressUpdatePart.id}\n\t\t\t\t\t\t\tpart={latestProgressUpdatePart}\n\t\t\t\t\t\t\tshowLine={hasNextAssistantMessage}\n\t\t\t\t\t\t\tisFirstPart={!hasVisibleNonProgressParts && !showHeader}\n\t\t\t\t\t\t\tisLastProgressUpdate\n\t\t\t\t\t\t\tcompact={compact}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{shouldShowLoadingFallback && (\n\t\t\t\t\t\t<div className=\"flex gap-3 pb-2 relative\">\n\t\t\t\t\t\t\t<div className=\"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5\">\n\t\t\t\t\t\t\t\t<div className=\"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-card text-violet-700 dark:bg-background dark:text-violet-300\">\n\t\t\t\t\t\t\t\t\t<Sparkles className=\"h-4 w-4\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"flex-1 pt-0.5\">\n\t\t\t\t\t\t\t\t<div className=\"text-base text-foreground animate-pulse\">\n\t\t\t\t\t\t\t\t\t{getLoadingMessage(message.id)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t{isComplete && sessionId && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"grid ml-7 transition-[grid-template-rows] duration-200 ease-out\"\n\t\t\t\t\t\tstyle={{ gridTemplateRows: isHovered ? '1fr' : '0fr' }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"overflow-hidden\">\n\t\t\t\t\t\t\t<div className=\"flex gap-2 mt-2\">\n\t\t\t\t\t\t\t\t{showBranchButton && (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleBranchClick}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-2 py-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded transition-colors\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<GitBranch className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t\t\tBranch\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={handleCopy}\n\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-2 py-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded transition-colors\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{copied ? (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<Check className=\"h-3 w-3 text-green-500\" />\n\t\t\t\t\t\t\t\t\t\t\tCopied\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<Copy className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t\t\t\tCopy\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{showBranchModal && sessionId && (\n\t\t\t\t\t<BranchModal\n\t\t\t\t\t\tisOpen={showBranchModal}\n\t\t\t\t\t\tonClose={() => setShowBranchModal(false)}\n\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\tmessage={message}\n\t\t\t\t\t\tonBranchCreated={onBranchCreated}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t},\n\t(prevProps, nextProps) => {\n\t\tconst prevParts = prevProps.message.parts || [];\n\t\tconst nextParts = nextProps.message.parts || [];\n\n\t\tif (prevParts.length !== nextParts.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (let i = 0; i < prevParts.length; i++) {\n\t\t\tconst prevPart = prevParts[i];\n\t\t\tconst nextPart = nextParts[i];\n\t\t\tif (\n\t\t\t\tprevPart.id !== nextPart.id ||\n\t\t\t\tprevPart.index !== nextPart.index ||\n\t\t\t\tprevPart.stepIndex !== nextPart.stepIndex ||\n\t\t\t\tprevPart.type !== nextPart.type ||\n\t\t\t\tprevPart.content !== nextPart.content ||\n\t\t\t\tprevPart.contentJson !== nextPart.contentJson ||\n\t\t\t\tprevPart.toolName !== nextPart.toolName ||\n\t\t\t\tprevPart.toolCallId !== nextPart.toolCallId ||\n\t\t\t\tprevPart.ephemeral !== nextPart.ephemeral ||\n\t\t\t\tprevPart.completedAt !== nextPart.completedAt ||\n\t\t\t\tprevPart.startedAt !== nextPart.startedAt\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\tprevProps.message.id === nextProps.message.id &&\n\t\t\tprevProps.message.status === nextProps.message.status &&\n\t\t\tprevProps.message.completedAt === nextProps.message.completedAt &&\n\t\t\tprevProps.showHeader === nextProps.showHeader &&\n\t\t\tprevProps.hasNextAssistantMessage === nextProps.hasNextAssistantMessage &&\n\t\t\tprevProps.isLastMessage === nextProps.isLastMessage &&\n\t\t\tprevProps.sessionId === nextProps.sessionId &&\n\t\t\tprevProps.compact === nextProps.compact &&\n\t\t\tprevProps.onNavigateToSession === nextProps.onNavigateToSession\n\t\t);\n\t},\n);\n",
71
+ "import {\n\tSparkles,\n\tLoader2,\n\tGitBranch,\n\tDiff,\n\tGitCommit,\n\tCheck,\n\tTerminal,\n\tFileText,\n\tFileEdit,\n\tSearch,\n\tFolderTree,\n\tList,\n\tAlertCircle,\n\tXOctagon,\n\tBrain,\n\tDatabase,\n\tPlug,\n\tBookOpen,\n} from 'lucide-react';\nimport {\n\tFragment,\n\tmemo,\n\ttype ReactNode,\n\ttype ComponentPropsWithoutRef,\n} from 'react';\nimport type { PendingToolApproval } from '../../stores/toolApprovalStore';\nimport ReactMarkdown from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\nimport { ToolApprovalCard } from './ToolApprovalCard';\nimport type { MessagePart } from '../../types/api';\nimport {\n\tToolResultRenderer,\n\tReasoningRenderer,\n\ttype ContentJson,\n} from './renderers';\nimport { CopyButton } from './renderers/shared';\n\nfunction getToolCallPayload(part: MessagePart): Record<string, unknown> | null {\n\tconst fromJson = part.contentJson;\n\tif (fromJson && typeof fromJson === 'object') {\n\t\treturn fromJson;\n\t}\n\ttry {\n\t\tif (part.content) {\n\t\t\tconst parsed = JSON.parse(part.content);\n\t\t\tif (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {\n\t\t\t\treturn parsed as Record<string, unknown>;\n\t\t\t}\n\t\t}\n\t} catch {}\n\treturn null;\n}\n\nfunction getToolCallArgs(\n\tpart: MessagePart,\n): Record<string, unknown> | undefined {\n\tconst payload = getToolCallPayload(part);\n\tif (!payload) return undefined;\n\n\tconst args = (payload as { args?: unknown }).args;\n\tif (args && typeof args === 'object' && !Array.isArray(args)) {\n\t\treturn args as Record<string, unknown>;\n\t}\n\n\treturn undefined;\n}\n\nfunction getPrimaryCommand(\n\targs: Record<string, unknown> | undefined,\n): string | null {\n\tif (!args) return null;\n\tconst candidates = ['cmd', 'command', 'script', 'input'];\n\tfor (const key of candidates) {\n\t\tconst value = args[key];\n\t\tif (typeof value === 'string' && value.trim().length > 0) {\n\t\t\treturn value.trim();\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction getPatchedFileFromPatch(patch: string): string | null {\n\tconst match = patch.match(\n\t\t/^\\*\\*\\*\\s+(?:Update|Add|Delete|Replace in):\\s+(.+)$/m,\n\t);\n\treturn match?.[1]?.trim() || null;\n}\n\nfunction normalizeToolTarget(\n\ttoolName: string,\n\targs: Record<string, unknown> | undefined,\n): { key: string; value: string } | null {\n\tif (!args) return null;\n\tconst candidates = [\n\t\t{ key: 'path', match: true },\n\t\t{ key: 'file', match: true },\n\t\t{ key: 'target', match: true },\n\t\t{ key: 'cwd', match: true },\n\t\t{ key: 'query', match: true },\n\t\t{ key: 'pattern', match: true },\n\t\t{ key: 'glob', match: true },\n\t\t{ key: 'dir', match: true },\n\t];\n\tfor (const { key } of candidates) {\n\t\tconst value = args[key];\n\t\tif (typeof value === 'string' && value.trim().length > 0) {\n\t\t\treturn { key, value: value.trim() };\n\t\t}\n\t}\n\tif (toolName === 'bash') {\n\t\tconst command = args.command;\n\t\tif (typeof command === 'string' && command.trim().length > 0) {\n\t\t\treturn { key: 'command', value: command.trim() };\n\t\t}\n\t}\n\tif (toolName === 'apply_patch') {\n\t\tconst patch = args.patch;\n\t\tif (typeof patch === 'string' && patch.trim().length > 0) {\n\t\t\tconst target = getPatchedFileFromPatch(patch);\n\t\t\tif (target) {\n\t\t\t\treturn { key: 'patch', value: target };\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction formatArgsPreview(\n\targs: Record<string, unknown> | undefined,\n\tskipKey?: string,\n): string | null {\n\tif (!args) return null;\n\tconst pieces: string[] = [];\n\tfor (const [key, value] of Object.entries(args)) {\n\t\tif (skipKey && key === skipKey) continue;\n\t\tif (typeof value === 'string' || typeof value === 'number') {\n\t\t\tconst rendered = `${key}=${String(value)}`;\n\t\t\tpieces.push(rendered);\n\t\t}\n\t\tif (pieces.length >= 3) break;\n\t}\n\tif (!pieces.length) return null;\n\tconst joined = pieces.join(' ');\n\treturn joined.length > 120 ? `${joined.slice(0, 117)}…` : joined;\n}\n\ninterface MessagePartItemProps {\n\tpart: MessagePart;\n\tshowLine: boolean;\n\tisFirstPart: boolean;\n\tisLastToolCall?: boolean;\n\tisLastProgressUpdate?: boolean;\n\tonNavigateToSession?: (sessionId: string) => void;\n\tcompact?: boolean;\n\tpendingApproval?: PendingToolApproval | null;\n\tonApprove?: (callId: string) => void;\n\tonReject?: (callId: string) => void;\n\tsessionId?: string;\n\tonRetry?: () => void;\n\tonCompact?: () => void;\n}\n\nexport const MessagePartItem = memo(\n\tfunction MessagePartItem({\n\t\tpart,\n\t\tshowLine,\n\t\tisLastToolCall,\n\t\tisLastProgressUpdate,\n\t\tonNavigateToSession,\n\t\tcompact,\n\t\tpendingApproval,\n\t\tonApprove,\n\t\tonReject,\n\t\tsessionId,\n\t\tonRetry,\n\t\tonCompact,\n\t}: MessagePartItemProps) {\n\t\t// Show tool_call if it's the last one OR if it has a pending approval\n\t\t// Never show loading indicator for progress_update calls\n\t\tif (part.type === 'tool_call') {\n\t\t\tconst toolName = part.toolName || '';\n\t\t\tif (toolName === 'progress_update') return null;\n\t\t\tif (!isLastToolCall && !pendingApproval) return null;\n\t\t}\n\n\t\tif (\n\t\t\tpart.type === 'tool_result' &&\n\t\t\tpart.toolName === 'progress_update' &&\n\t\t\t!isLastProgressUpdate\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (part.type === 'text') {\n\t\t\tconst data = part.contentJson || part.content;\n\t\t\tlet content = '';\n\t\t\tif (data && typeof data === 'object' && 'text' in data) {\n\t\t\t\tcontent = String(data.text);\n\t\t\t} else if (typeof data === 'string') {\n\t\t\t\tcontent = data;\n\t\t\t}\n\t\t\tif (!content || !content.trim()) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\tif (part.type === 'reasoning') {\n\t\t\tconst data = part.contentJson || part.content;\n\t\t\tlet content = '';\n\t\t\tif (data && typeof data === 'object' && 'text' in data) {\n\t\t\t\tcontent = String(data.text);\n\t\t\t} else if (typeof data === 'string') {\n\t\t\t\tcontent = data;\n\t\t\t}\n\t\t\tif (!content || !content.trim()) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\tconst isToolMessage =\n\t\t\tpart.type === 'tool_call' || part.type === 'tool_result';\n\n\t\tconst contentClasses = ['flex-1', 'min-w-0', 'max-w-full'];\n\n\t\tif (isToolMessage || part.type === 'reasoning') {\n\t\t\tcontentClasses.push(compact ? 'pt-0.5' : 'pt-1');\n\t\t} else if (part.type === 'error') {\n\t\t\tcontentClasses.push('pt-0.5');\n\t\t} else if (part.type === 'text') {\n\t\t\tcontentClasses.push('pt-0');\n\t\t\tcontentClasses.push('-mt-0.5');\n\t\t} else {\n\t\t\tcontentClasses.push('pt-0');\n\t\t}\n\n\t\tconst contentClassName = contentClasses.join(' ');\n\n\t\tconst renderIcon = () => {\n\t\t\tif (part.type === 'reasoning') {\n\t\t\t\treturn (\n\t\t\t\t\t<Brain className=\"h-4 w-4 text-indigo-600 dark:text-indigo-300\" />\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'tool_call') {\n\t\t\t\treturn (\n\t\t\t\t\t<Loader2 className=\"h-4 w-4 text-amber-600 dark:text-amber-300 animate-spin\" />\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'error') {\n\t\t\t\tconst payload = getToolCallPayload(part);\n\t\t\t\tconst isAborted = payload?.isAborted === true;\n\t\t\t\treturn isAborted ? (\n\t\t\t\t\t<XOctagon className=\"h-4 w-4 text-amber-600 dark:text-amber-400\" />\n\t\t\t\t) : (\n\t\t\t\t\t<AlertCircle className=\"h-4 w-4 text-red-600 dark:text-red-400\" />\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'tool_result') {\n\t\t\t\tconst toolName = part.toolName || '';\n\t\t\t\tif (toolName === 'read')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<FileText className=\"h-4 w-4 text-blue-600 dark:text-blue-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'write')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<FileEdit className=\"h-4 w-4 text-emerald-600 dark:text-emerald-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'ls')\n\t\t\t\t\treturn <List className=\"h-4 w-4 text-cyan-600 dark:text-cyan-300\" />;\n\t\t\t\tif (toolName === 'tree')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<FolderTree className=\"h-4 w-4 text-cyan-600 dark:text-cyan-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'bash')\n\t\t\t\t\treturn <Terminal className=\"h-4 w-4 text-muted-foreground\" />;\n\t\t\t\tif (\n\t\t\t\t\ttoolName === 'ripgrep' ||\n\t\t\t\t\ttoolName === 'grep' ||\n\t\t\t\t\ttoolName === 'glob'\n\t\t\t\t)\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Search className=\"h-4 w-4 text-amber-600 dark:text-amber-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'apply_patch')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Diff className=\"h-4 w-4 text-purple-600 dark:text-purple-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'git_status')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<GitBranch className=\"h-4 w-4 text-blue-600 dark:text-blue-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'git_diff')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Diff className=\"h-4 w-4 text-purple-600 dark:text-purple-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'git_commit')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<GitCommit className=\"h-4 w-4 text-emerald-600 dark:text-emerald-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'finish')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Check className=\"h-4 w-4 text-emerald-600 dark:text-emerald-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\ttoolName === 'query_sessions' ||\n\t\t\t\t\ttoolName === 'query_messages' ||\n\t\t\t\t\ttoolName === 'search_history' ||\n\t\t\t\t\ttoolName === 'get_session_context' ||\n\t\t\t\t\ttoolName === 'get_parent_session'\n\t\t\t\t)\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Database className=\"h-4 w-4 text-teal-600 dark:text-teal-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'terminal')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Terminal className=\"h-4 w-4 text-amber-600 dark:text-amber-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'skill')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<BookOpen className=\"h-4 w-4 text-violet-600 dark:text-violet-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName.includes('__'))\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Plug className=\"h-4 w-4 text-purple-600 dark:text-purple-300\" />\n\t\t\t\t\t);\n\t\t\t\treturn <Terminal className=\"h-4 w-4 text-muted-foreground\" />;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<Sparkles className=\"h-4 w-4 text-violet-600 dark:text-violet-300\" />\n\t\t\t);\n\t\t};\n\n\t\tconst renderToolResult = () => {\n\t\t\tconst toolName = part.toolName || '';\n\n\t\t\tlet contentJson: ContentJson;\n\t\t\ttry {\n\t\t\t\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\t\t\t\tcontentJson = part.contentJson as ContentJson;\n\t\t\t\t} else if (typeof part.content === 'string') {\n\t\t\t\t\tcontentJson = JSON.parse(part.content);\n\t\t\t\t} else {\n\t\t\t\t\tcontentJson = {};\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tcontentJson = { result: part.content } as ContentJson;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<ToolResultRenderer\n\t\t\t\t\ttoolName={toolName}\n\t\t\t\t\tcontentJson={contentJson}\n\t\t\t\t\ttoolDurationMs={part.toolDurationMs}\n\t\t\t\t\tdebug={false}\n\t\t\t\t\tonNavigateToSession={onNavigateToSession}\n\t\t\t\t\tcompact={compact}\n\t\t\t\t/>\n\t\t\t);\n\t\t};\n\n\t\tconst renderContent = () => {\n\t\t\tif (part.type === 'reasoning') {\n\t\t\t\treturn <ReasoningRenderer part={part} />;\n\t\t\t}\n\n\t\t\tif (part.type === 'text') {\n\t\t\t\tlet content = '';\n\t\t\t\tconst data = part.contentJson || part.content;\n\t\t\t\tif (data && typeof data === 'object' && 'text' in data) {\n\t\t\t\t\tcontent = String(data.text);\n\t\t\t\t} else if (typeof data === 'string') {\n\t\t\t\t\tcontent = data;\n\t\t\t\t} else if (data) {\n\t\t\t\t\tcontent = JSON.stringify(data, null, 2);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"relative group\">\n\t\t\t\t\t\t<div className=\"absolute -top-1 right-0 opacity-0 group-hover:opacity-100 transition-opacity z-10\">\n\t\t\t\t\t\t\t<CopyButton\n\t\t\t\t\t\t\t\ttext={content}\n\t\t\t\t\t\t\t\tclassName=\"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"text-base text-foreground leading-relaxed markdown-content max-w-full overflow-x-auto\">\n\t\t\t\t\t\t\t<ReactMarkdown\n\t\t\t\t\t\t\t\tremarkPlugins={[remarkGfm]}\n\t\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\t\ta: ({\n\t\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t\t\t\t\t...props\n\t\t\t\t\t\t\t\t\t}: ComponentPropsWithoutRef<'a'>) => (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={href}\n\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (window.self !== window.top && href) {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\twindow.parent.postMessage(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'otto-open-url',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\turl: href,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'*',\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tpre: ({\n\t\t\t\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t\t\t\t\t...props\n\t\t\t\t\t\t\t\t\t}: ComponentPropsWithoutRef<'pre'>) => {\n\t\t\t\t\t\t\t\t\t\tconst codeContent = (() => {\n\t\t\t\t\t\t\t\t\t\t\tif (!children) return '';\n\t\t\t\t\t\t\t\t\t\t\tconst child = Array.isArray(children)\n\t\t\t\t\t\t\t\t\t\t\t\t? children[0]\n\t\t\t\t\t\t\t\t\t\t\t\t: children;\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tchild &&\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof child === 'object' &&\n\t\t\t\t\t\t\t\t\t\t\t\t'props' in child\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tconst codeProps = child.props as { children?: unknown };\n\t\t\t\t\t\t\t\t\t\t\t\tif (typeof codeProps.children === 'string') {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn codeProps.children;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn '';\n\t\t\t\t\t\t\t\t\t\t})();\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"relative group/code my-3\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"absolute top-2 right-2 opacity-0 group-hover/code:opacity-100 transition-opacity z-10\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CopyButton\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttext={codeContent}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<pre {...props} className=\"overflow-x-auto\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t\t\t</pre>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttable: ({\n\t\t\t\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t\t\t\t\t...props\n\t\t\t\t\t\t\t\t\t}: ComponentPropsWithoutRef<'table'>) => (\n\t\t\t\t\t\t\t\t\t\t<div className=\"overflow-x-auto max-w-full min-w-0 my-3\">\n\t\t\t\t\t\t\t\t\t\t\t<table {...props}>{children}</table>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{content}\n\t\t\t\t\t\t\t</ReactMarkdown>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{content.length > 500 && (\n\t\t\t\t\t\t\t<div className=\"absolute -bottom-1 right-0 opacity-0 group-hover:opacity-100 transition-opacity z-10\">\n\t\t\t\t\t\t\t\t<CopyButton\n\t\t\t\t\t\t\t\t\ttext={content}\n\t\t\t\t\t\t\t\t\tclassName=\"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'error') {\n\t\t\t\tlet contentJson: ContentJson;\n\t\t\t\ttry {\n\t\t\t\t\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\t\t\t\t\tcontentJson = part.contentJson as ContentJson;\n\t\t\t\t\t} else if (typeof part.content === 'string') {\n\t\t\t\t\t\tcontentJson = JSON.parse(part.content);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontentJson = {};\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\tcontentJson = {\n\t\t\t\t\t\tmessage: part.content || 'Unknown error',\n\t\t\t\t\t} as ContentJson;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolResultRenderer\n\t\t\t\t\t\ttoolName=\"error\"\n\t\t\t\t\t\tcontentJson={contentJson}\n\t\t\t\t\t\ttoolDurationMs={part.toolDurationMs}\n\t\t\t\t\t\tdebug={false}\n\t\t\t\t\t\tcompact={compact}\n\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\tonRetry={onRetry}\n\t\t\t\t\t\tonCompact={onCompact}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'tool_call') {\n\t\t\t\tconst payload = getToolCallPayload(part);\n\t\t\t\tconst rawToolName =\n\t\t\t\t\tpart.toolName ||\n\t\t\t\t\t(typeof (payload as { name?: unknown })?.name === 'string'\n\t\t\t\t\t\t? ((payload as { name?: unknown }).name as string)\n\t\t\t\t\t\t: 'tool');\n\t\t\t\tconst toolLabel = rawToolName.includes('__')\n\t\t\t\t\t? rawToolName.replace('__', ' › ')\n\t\t\t\t\t: rawToolName.replace(/_/g, ' ');\n\t\t\t\t// Use args from pending approval if available (for early approval display)\n\t\t\t\t// Fall back to part args for normal tool calls\n\t\t\t\tconst partArgs = getToolCallArgs(part);\n\t\t\t\tconst approvalArgs = pendingApproval?.args as\n\t\t\t\t\t| Record<string, unknown>\n\t\t\t\t\t| undefined;\n\t\t\t\tconst args = partArgs || approvalArgs;\n\t\t\t\tconst primary = normalizeToolTarget(rawToolName, args);\n\t\t\t\tconst argsPreview = formatArgsPreview(args, primary?.key);\n\t\t\t\tconst command = rawToolName === 'bash' ? getPrimaryCommand(args) : null;\n\t\t\t\tconst segments: Array<{ key: string; node: ReactNode }> = [];\n\t\t\t\tif (command) {\n\t\t\t\t\tsegments.push({\n\t\t\t\t\t\tkey: 'cmd',\n\t\t\t\t\t\tnode: (\n\t\t\t\t\t\t\t<code className=\"font-mono text-foreground/90 truncate max-w-xs\">\n\t\t\t\t\t\t\t\t{command}\n\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t} else if (primary) {\n\t\t\t\t\tsegments.push({\n\t\t\t\t\t\tkey: 'primary',\n\t\t\t\t\t\tnode: (\n\t\t\t\t\t\t\t<code className=\"font-mono text-foreground/85 truncate max-w-xs\">\n\t\t\t\t\t\t\t\t{primary.value}\n\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (argsPreview) {\n\t\t\t\t\tsegments.push({\n\t\t\t\t\t\tkey: 'args',\n\t\t\t\t\t\tnode: (\n\t\t\t\t\t\t\t<span className=\"text-muted-foreground/80 truncate max-w-xs\">\n\t\t\t\t\t\t\t\t{argsPreview}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Check if this tool call has a pending approval\n\t\t\t\tconst hasPendingApproval =\n\t\t\t\t\tpendingApproval && pendingApproval.callId === part.toolCallId;\n\n\t\t\t\tif (hasPendingApproval && onApprove && onReject) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToolApprovalCard\n\t\t\t\t\t\t\ttoolName={rawToolName}\n\t\t\t\t\t\t\targs={args}\n\t\t\t\t\t\t\tpendingApproval={pendingApproval}\n\t\t\t\t\t\t\tonApprove={onApprove}\n\t\t\t\t\t\t\tonReject={onReject}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} else if (segments.length === 0) {\n\t\t\t\t\tsegments.push({\n\t\t\t\t\t\tkey: 'running',\n\t\t\t\t\t\tnode: <span className=\"text-muted-foreground/75\">running…</span>,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst containerClasses = [\n\t\t\t\t\t'flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-foreground/80 max-w-full',\n\t\t\t\t];\n\t\t\t\tif (part.ephemeral) containerClasses.push('animate-pulse');\n\t\t\t\treturn (\n\t\t\t\t\t<div className={containerClasses.join(' ')}>\n\t\t\t\t\t\t<span className=\"font-medium text-foreground\">{toolLabel}</span>\n\t\t\t\t\t\t{segments.map((segment) => (\n\t\t\t\t\t\t\t<Fragment key={segment.key}>\n\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/65\">·</span>\n\t\t\t\t\t\t\t\t{segment.node}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'tool_result') {\n\t\t\t\treturn renderToolResult();\n\t\t\t}\n\n\t\t\treturn null;\n\t\t};\n\n\t\treturn (\n\t\t\t<div className=\"flex gap-3 pb-2 relative max-w-full overflow-hidden\">\n\t\t\t\t<div className=\"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5\">\n\t\t\t\t\t<div className=\"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background\">\n\t\t\t\t\t\t{renderIcon()}\n\t\t\t\t\t</div>\n\t\t\t\t\t{showLine && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0\"\n\t\t\t\t\t\t\tstyle={{ top: '1.25rem', bottom: '-0.5rem' }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div className={contentClassName}>{renderContent()}</div>\n\t\t\t</div>\n\t\t);\n\t},\n\t(prevProps, nextProps) => {\n\t\treturn (\n\t\t\tprevProps.part.id === nextProps.part.id &&\n\t\t\tprevProps.part.content === nextProps.part.content &&\n\t\t\tprevProps.part.contentJson === nextProps.part.contentJson &&\n\t\t\tprevProps.part.ephemeral === nextProps.part.ephemeral &&\n\t\t\tprevProps.part.completedAt === nextProps.part.completedAt &&\n\t\t\tprevProps.showLine === nextProps.showLine &&\n\t\t\tprevProps.isLastToolCall === nextProps.isLastToolCall &&\n\t\t\tprevProps.isLastProgressUpdate === nextProps.isLastProgressUpdate &&\n\t\t\tprevProps.compact === nextProps.compact &&\n\t\t\tprevProps.onNavigateToSession === nextProps.onNavigateToSession &&\n\t\t\tprevProps.pendingApproval?.callId === nextProps.pendingApproval?.callId &&\n\t\t\tprevProps.onApprove === nextProps.onApprove &&\n\t\t\tprevProps.onReject === nextProps.onReject\n\t\t);\n\t},\n);\n",
72
+ "import { memo, useState } from 'react';\nimport { Shield, Check, X } from 'lucide-react';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport {\n\tprism,\n\tvscDarkPlus,\n} from 'react-syntax-highlighter/dist/esm/styles/prism';\nimport type { PendingToolApproval } from '../../stores/toolApprovalStore';\nimport { DiffView } from './renderers/DiffView';\n\ninterface ToolApprovalCardProps {\n\ttoolName: string;\n\targs: Record<string, unknown> | undefined;\n\tpendingApproval: PendingToolApproval;\n\tonApprove: (callId: string) => void | Promise<void>;\n\tonReject: (callId: string) => void | Promise<void>;\n}\n\nfunction getLanguageFromPath(path: string): string {\n\tconst ext = path.split('.').pop()?.toLowerCase();\n\tconst langMap: Record<string, string> = {\n\t\tjs: 'javascript',\n\t\tjsx: 'jsx',\n\t\tts: 'typescript',\n\t\ttsx: 'tsx',\n\t\tpy: 'python',\n\t\trb: 'ruby',\n\t\tgo: 'go',\n\t\trs: 'rust',\n\t\tjava: 'java',\n\t\tc: 'c',\n\t\tcpp: 'cpp',\n\t\th: 'c',\n\t\thpp: 'cpp',\n\t\tcs: 'csharp',\n\t\tphp: 'php',\n\t\tsh: 'bash',\n\t\tbash: 'bash',\n\t\tzsh: 'bash',\n\t\tsql: 'sql',\n\t\tjson: 'json',\n\t\tyaml: 'yaml',\n\t\tyml: 'yaml',\n\t\txml: 'xml',\n\t\thtml: 'html',\n\t\tcss: 'css',\n\t\tscss: 'scss',\n\t\tmd: 'markdown',\n\t\ttxt: 'text',\n\t\tsvelte: 'svelte',\n\t};\n\treturn langMap[ext || ''] || 'javascript';\n}\n\nfunction normalizeToolTarget(\n\ttoolName: string,\n\targs: Record<string, unknown> | undefined,\n): { key: string; value: string } | null {\n\tif (!args) return null;\n\tconst keyMap: Record<string, string[]> = {\n\t\tread: ['path'],\n\t\twrite: ['path'],\n\t\tapply_patch: ['path'],\n\t\tglob: ['pattern'],\n\t\tgrep: ['query', 'pattern'],\n\t\tripgrep: ['query', 'pattern'],\n\t\tbash: ['cmd', 'command'],\n\t\tterminal: ['command'],\n\t\tgit_commit: ['message'],\n\t\tgit_diff: ['file'],\n\t\ttree: ['path'],\n\t\tls: ['path'],\n\t\tweb_search: ['query', 'url'],\n\t\tskill: ['name'],\n\t};\n\tconst keys = keyMap[toolName];\n\tif (!keys) {\n\t\tfor (const [key, value] of Object.entries(args)) {\n\t\t\tif (typeof value === 'string' && value.length > 0 && value.length < 200) {\n\t\t\t\treturn { key, value };\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\tfor (const key of keys) {\n\t\tconst value = args[key];\n\t\tif (typeof value === 'string' && value.length > 0) {\n\t\t\treturn { key, value };\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction getPrimaryCommand(\n\targs: Record<string, unknown> | undefined,\n): string | null {\n\tif (!args) return null;\n\tconst cmd = args.cmd ?? args.command;\n\tif (typeof cmd === 'string' && cmd.length > 0) {\n\t\treturn cmd;\n\t}\n\treturn null;\n}\n\nexport const ToolApprovalCard = memo(function ToolApprovalCard({\n\ttoolName,\n\targs,\n\tpendingApproval,\n\tonApprove,\n\tonReject,\n}: ToolApprovalCardProps) {\n\tconst [isProcessing, setIsProcessing] = useState(false);\n\n\tconst toolLabel = toolName.replace(/_/g, ' ');\n\tconst primary = normalizeToolTarget(toolName, args);\n\tconst command = toolName === 'bash' ? getPrimaryCommand(args) : null;\n\tconst approvalTarget = command || primary?.value;\n\n\tconst filePath = typeof args?.path === 'string' ? args.path : '';\n\tconst language = getLanguageFromPath(filePath);\n\tconst syntaxTheme = document?.documentElement.classList.contains('dark')\n\t\t? vscDarkPlus\n\t\t: prism;\n\n\tconst handleApprove = () => {\n\t\tsetIsProcessing(true);\n\t\tPromise.resolve(onApprove(pendingApproval.callId)).catch(() => {\n\t\t\tsetIsProcessing(false);\n\t\t});\n\t};\n\n\tconst handleReject = () => {\n\t\tsetIsProcessing(true);\n\t\tPromise.resolve(onReject(pendingApproval.callId)).catch(() => {\n\t\t\tsetIsProcessing(false);\n\t\t});\n\t};\n\n\tconst renderContent = () => {\n\t\tif (toolName === 'apply_patch' && args?.patch) {\n\t\t\treturn (\n\t\t\t\t<div className=\"ml-6 max-w-full overflow-hidden\">\n\t\t\t\t\t<DiffView patch={String(args.patch)} />\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (toolName === 'write' && args?.content) {\n\t\t\tconst content = String(args.content);\n\t\t\treturn (\n\t\t\t\t<div className=\"ml-6 max-w-full overflow-hidden\">\n\t\t\t\t\t<div className=\"bg-emerald-500/10 border border-emerald-500/30 rounded-lg overflow-hidden max-h-96\">\n\t\t\t\t\t\t<div className=\"overflow-x-auto overflow-y-auto max-h-96 text-xs\">\n\t\t\t\t\t\t\t<SyntaxHighlighter\n\t\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\t\tstyle={syntaxTheme}\n\t\t\t\t\t\t\t\tcustomStyle={{\n\t\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\t\tpadding: '0.75rem',\n\t\t\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t\t\t\tfontSize: 'inherit',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tshowLineNumbers\n\t\t\t\t\t\t\t\tlineNumberStyle={{\n\t\t\t\t\t\t\t\t\tminWidth: '2.5em',\n\t\t\t\t\t\t\t\t\tpaddingRight: '1em',\n\t\t\t\t\t\t\t\t\tcolor: 'var(--muted-foreground)',\n\t\t\t\t\t\t\t\t\topacity: 0.4,\n\t\t\t\t\t\t\t\t\tuserSelect: 'none',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{content}\n\t\t\t\t\t\t\t</SyntaxHighlighter>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (toolName === 'bash' && args?.cmd) {\n\t\t\tconst cmd = String(args.cmd);\n\t\t\treturn (\n\t\t\t\t<div className=\"ml-6 max-w-full overflow-hidden\">\n\t\t\t\t\t<div className=\"bg-card/60 border border-border rounded-lg overflow-hidden\">\n\t\t\t\t\t\t<div className=\"overflow-x-auto text-xs\">\n\t\t\t\t\t\t\t<SyntaxHighlighter\n\t\t\t\t\t\t\t\tlanguage=\"bash\"\n\t\t\t\t\t\t\t\tstyle={syntaxTheme}\n\t\t\t\t\t\t\t\tcustomStyle={{\n\t\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\t\tpadding: '0.75rem',\n\t\t\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t\t\t\tfontSize: 'inherit',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{cmd}\n\t\t\t\t\t\t\t</SyntaxHighlighter>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t};\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-2 py-1\">\n\t\t\t<div className=\"flex items-center gap-2 flex-wrap\">\n\t\t\t\t<Shield className=\"h-4 w-4 text-amber-500 flex-shrink-0\" />\n\t\t\t\t<span className=\"font-medium text-foreground text-sm\">{toolLabel}</span>\n\t\t\t\t{approvalTarget && toolName !== 'bash' && (\n\t\t\t\t\t<code className=\"text-xs font-mono text-foreground/80 bg-muted/50 px-1.5 py-0.5 rounded truncate max-w-xs\">\n\t\t\t\t\t\t{approvalTarget}\n\t\t\t\t\t</code>\n\t\t\t\t)}\n\t\t\t\t<span className=\"text-amber-600 dark:text-amber-400 font-medium text-sm\">\n\t\t\t\t\trequires approval\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t{renderContent()}\n\t\t\t<div className=\"flex items-center gap-2 ml-6\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={handleReject}\n\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\ttitle=\"Reject (N or Esc)\"\n\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t<X className=\"w-3 h-3\" />\n\t\t\t\t\tReject\n\t\t\t\t\t<kbd className=\"ml-1 text-[10px] text-muted-foreground opacity-70\">\n\t\t\t\t\t\tN\n\t\t\t\t\t</kbd>\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={handleApprove}\n\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\ttitle=\"Approve (Y)\"\n\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t<Check className=\"w-3 h-3\" />\n\t\t\t\t\t{isProcessing ? 'Approving...' : 'Approve'}\n\t\t\t\t\t{!isProcessing && (\n\t\t\t\t\t\t<kbd className=\"ml-1 text-[10px] opacity-70\">Y</kbd>\n\t\t\t\t\t)}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n",
73
73
  "import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport {\n\tprism,\n\tvscDarkPlus,\n} from 'react-syntax-highlighter/dist/esm/styles/prism';\n\ninterface DiffViewProps {\n\tpatch: string;\n}\n\ninterface DiffLine {\n\tcontent: string;\n\tcodeContent: string; // Content without +/- prefix\n\ttype: 'add' | 'remove' | 'context' | 'meta' | 'header';\n\toldLineNum?: number;\n\tnewLineNum?: number;\n}\n\nfunction getLanguageFromPath(path: string): string {\n\tconst ext = path.split('.').pop()?.toLowerCase();\n\tconst langMap: Record<string, string> = {\n\t\tjs: 'javascript',\n\t\tjsx: 'jsx',\n\t\tts: 'typescript',\n\t\ttsx: 'tsx',\n\t\tpy: 'python',\n\t\trb: 'ruby',\n\t\tgo: 'go',\n\t\trs: 'rust',\n\t\tjava: 'java',\n\t\tc: 'c',\n\t\tcpp: 'cpp',\n\t\th: 'c',\n\t\thpp: 'cpp',\n\t\tcs: 'csharp',\n\t\tphp: 'php',\n\t\tsh: 'bash',\n\t\tbash: 'bash',\n\t\tzsh: 'bash',\n\t\tsql: 'sql',\n\t\tjson: 'json',\n\t\tyaml: 'yaml',\n\t\tyml: 'yaml',\n\t\txml: 'xml',\n\t\thtml: 'html',\n\t\tcss: 'css',\n\t\tscss: 'scss',\n\t\tmd: 'markdown',\n\t\ttxt: 'text',\n\t\tsvelte: 'svelte',\n\t};\n\treturn langMap[ext || ''] || 'javascript';\n}\n\nfunction parseDiff(patch: string): { lines: DiffLine[]; filePath: string } {\n\tconst lines = patch.split('\\n');\n\tconst result: DiffLine[] = [];\n\tlet oldLineNum = 0;\n\tlet newLineNum = 0;\n\tlet inHunk = false;\n\tlet filePath = '';\n\n\tfor (const line of lines) {\n\t\t// Extract file path from diff headers\n\t\t// Also enter hunk mode for enveloped format\n\t\tif (\n\t\t\tline.startsWith('*** Update File:') ||\n\t\t\tline.startsWith('*** Add File:')\n\t\t) {\n\t\t\tconst match = line.match(/\\*\\*\\* (?:Update|Add) File: (.+)/);\n\t\t\tif (match) filePath = match[1];\n\t\t\tinHunk = true;\n\t\t\tnewLineNum = 1;\n\t\t\toldLineNum = 1;\n\t\t}\n\t\tif (line.startsWith('+++') || line.startsWith('*** Update File:')) {\n\t\t\tconst match =\n\t\t\t\tline.match(/\\+\\+\\+ b\\/(.+)/) || line.match(/\\*\\*\\* Update File: (.+)/);\n\t\t\tif (match) filePath = match[1];\n\t\t}\n\n\t\t// Parse hunk header to get starting line numbers\n\t\t// Format: @@ -oldStart,oldCount +newStart,newCount @@\n\t\tconst hunkMatch = line.match(/^@@ -(\\d+)(?:,\\d+)? \\+(\\d+)(?:,\\d+)? @@/);\n\t\tif (hunkMatch) {\n\t\t\toldLineNum = Number.parseInt(hunkMatch[1], 10);\n\t\t\tnewLineNum = Number.parseInt(hunkMatch[2], 10);\n\t\t\tinHunk = true;\n\t\t\tresult.push({\n\t\t\t\tcontent: line,\n\t\t\t\tcodeContent: line,\n\t\t\t\ttype: 'header',\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Handle enveloped format @@ comment lines (not standard hunk headers)\n\t\tif (line.startsWith('@@') && !line.match(/^@@ -\\d+/)) {\n\t\t\tinHunk = true;\n\t\t\tresult.push({\n\t\t\t\tcontent: line,\n\t\t\t\tcodeContent: line,\n\t\t\t\ttype: 'header',\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Check if it's a diff metadata line\n\t\tif (\n\t\t\tline.startsWith('***') ||\n\t\t\tline.startsWith('diff ') ||\n\t\t\tline.startsWith('index ') ||\n\t\t\tline.startsWith('---') ||\n\t\t\tline.startsWith('+++')\n\t\t) {\n\t\t\tresult.push({\n\t\t\t\tcontent: line,\n\t\t\t\tcodeContent: line,\n\t\t\t\ttype: 'meta',\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Process actual diff lines\n\t\tif (inHunk) {\n\t\t\tif (line.startsWith('+')) {\n\t\t\t\tresult.push({\n\t\t\t\t\tcontent: line,\n\t\t\t\t\tcodeContent: line.slice(1),\n\t\t\t\t\ttype: 'add',\n\t\t\t\t\tnewLineNum: newLineNum++,\n\t\t\t\t});\n\t\t\t} else if (line.startsWith('-')) {\n\t\t\t\tresult.push({\n\t\t\t\t\tcontent: line,\n\t\t\t\t\tcodeContent: line.slice(1),\n\t\t\t\t\ttype: 'remove',\n\t\t\t\t\toldLineNum: oldLineNum++,\n\t\t\t\t});\n\t\t\t} else if (line.startsWith(' ') || line === '') {\n\t\t\t\tresult.push({\n\t\t\t\t\tcontent: line,\n\t\t\t\t\tcodeContent: line.startsWith(' ') ? line.slice(1) : line,\n\t\t\t\t\ttype: 'context',\n\t\t\t\t\toldLineNum: oldLineNum++,\n\t\t\t\t\tnewLineNum: newLineNum++,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// Handle lines that don't start with +, -, or space (edge case)\n\t\t\t\tresult.push({\n\t\t\t\t\tcontent: line,\n\t\t\t\t\tcodeContent: line,\n\t\t\t\t\ttype: 'context',\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\t// Lines before any hunk\n\t\t\tresult.push({\n\t\t\t\tcontent: line,\n\t\t\t\tcodeContent: line,\n\t\t\t\ttype: 'meta',\n\t\t\t});\n\t\t}\n\t}\n\n\treturn { lines: result, filePath };\n}\n\nexport function DiffView({ patch }: DiffViewProps) {\n\tconst { lines: diffLines, filePath } = parseDiff(patch);\n\tconst language = getLanguageFromPath(filePath);\n\tconst syntaxTheme = document?.documentElement.classList.contains('dark')\n\t\t? vscDarkPlus\n\t\t: prism;\n\n\treturn (\n\t\t<div className=\"bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 max-w-full\">\n\t\t\t<div className=\"overflow-x-auto overflow-y-auto max-h-96 text-xs font-mono\">\n\t\t\t\t{diffLines.map((line, i) => {\n\t\t\t\t\tconst key = `line-${i}-${line.content.slice(0, 20)}`;\n\n\t\t\t\t\t// For meta and header lines, span the full width without line numbers\n\t\t\t\t\tif (line.type === 'meta' || line.type === 'header') {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t\tclassName={`px-3 py-0.5 whitespace-pre-wrap break-all ${\n\t\t\t\t\t\t\t\t\tline.type === 'header'\n\t\t\t\t\t\t\t\t\t\t? 'text-muted-foreground/80 bg-muted/20'\n\t\t\t\t\t\t\t\t\t\t: 'text-muted-foreground/80'\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{line.content}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// For diff lines, show line numbers in gutter\n\t\t\t\t\tlet lineClass = '';\n\t\t\t\t\tlet bgClass = '';\n\t\t\t\t\tswitch (line.type) {\n\t\t\t\t\t\tcase 'add':\n\t\t\t\t\t\t\tlineClass = 'text-emerald-700 dark:text-emerald-300';\n\t\t\t\t\t\t\tbgClass = 'bg-emerald-500/10';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'remove':\n\t\t\t\t\t\t\tlineClass = 'text-red-600 dark:text-red-300';\n\t\t\t\t\t\t\tbgClass = 'bg-red-500/10';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tlineClass = 'text-foreground/80';\n\t\t\t\t\t}\n\n\t\t\t\t\t// Apply syntax highlighting to code content\n\t\t\t\t\tlet renderedContent: React.ReactNode = line.content;\n\t\t\t\t\tif (line.codeContent.trim() && language !== 'text') {\n\t\t\t\t\t\trenderedContent = (\n\t\t\t\t\t\t\t<SyntaxHighlighter\n\t\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\t\tstyle={syntaxTheme}\n\t\t\t\t\t\t\t\tcustomStyle={{\n\t\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t\t\t\tdisplay: 'inline',\n\t\t\t\t\t\t\t\t\tfontSize: 'inherit',\n\t\t\t\t\t\t\t\t\tlineHeight: 'inherit',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tcodeTagProps={{\n\t\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t\tfontFamily: 'inherit',\n\t\t\t\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tPreTag=\"span\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{line.codeContent}\n\t\t\t\t\t\t\t</SyntaxHighlighter>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Add back the +/- prefix\n\t\t\t\t\t\tif (line.type === 'add') {\n\t\t\t\t\t\t\trenderedContent = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span className=\"select-none\">+</span>\n\t\t\t\t\t\t\t\t\t{renderedContent}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (line.type === 'remove') {\n\t\t\t\t\t\t\trenderedContent = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span className=\"select-none\">-</span>\n\t\t\t\t\t\t\t\t\t{renderedContent}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (line.type === 'context') {\n\t\t\t\t\t\t\trenderedContent = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span className=\"select-none\"> </span>\n\t\t\t\t\t\t\t\t\t{renderedContent}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div key={key} className={`flex ${bgClass}`}>\n\t\t\t\t\t\t\t{/* Old line number */}\n\t\t\t\t\t\t\t<div className=\"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0\">\n\t\t\t\t\t\t\t\t{line.oldLineNum || ''}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{/* New line number */}\n\t\t\t\t\t\t\t<div className=\"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0 border-r border-border/50\">\n\t\t\t\t\t\t\t\t{line.newLineNum || ''}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{/* Line content */}\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={`px-3 py-0.5 flex-1 min-w-0 whitespace-pre-wrap break-all ${lineClass}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{renderedContent}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n",
74
- "import { useState } from 'react';\nimport type { ContentJson } from './types';\nimport { ReadRenderer } from './ReadRenderer';\nimport { WriteRenderer } from './WriteRenderer';\nimport { EditRenderer } from './EditRenderer';\nimport { BashRenderer } from './BashRenderer';\nimport { GitStatusRenderer } from './GitStatusRenderer';\nimport { GitDiffRenderer } from './GitDiffRenderer';\nimport { GitCommitRenderer } from './GitCommitRenderer';\nimport { ApplyPatchRenderer } from './ApplyPatchRenderer';\nimport { ListRenderer } from './ListRenderer';\nimport { TreeRenderer } from './TreeRenderer';\nimport { SearchRenderer } from './SearchRenderer';\nimport { FinishRenderer } from './FinishRenderer';\nimport { GenericRenderer } from './GenericRenderer';\nimport { DebugRenderer } from './DebugRenderer';\nimport { TodosRenderer } from './TodosRenderer';\nimport { ProgressUpdateRenderer } from './ProgressUpdateRenderer';\nimport { WebSearchRenderer } from './WebSearchRenderer';\nimport { ErrorRenderer } from './ErrorRenderer';\nimport { DatabaseToolRenderer } from './DatabaseToolRenderer';\nimport { TerminalRenderer } from './TerminalRenderer';\nimport { McpToolRenderer, isMcpTool } from './McpToolRenderer';\nimport { LoadMcpToolsRenderer } from './LoadMcpToolsRenderer';\nimport { SkillRenderer } from './SkillRenderer';\n\ninterface ToolResultRendererProps {\n\ttoolName: string;\n\tcontentJson: ContentJson;\n\ttoolDurationMs?: number | null;\n\tdebug?: boolean;\n\tonNavigateToSession?: (sessionId: string) => void;\n\tcompact?: boolean;\n\tsessionId?: string;\n\tonRetry?: () => void;\n\tonCompact?: () => void;\n}\n\n/**\n * Normalize tool names to canonical form for rendering.\n * Handles both snake_case (canonical) and PascalCase (OAuth) names.\n */\nconst TOOL_NAME_ALIASES: Record<string, string> = {\n\tRead: 'read',\n\tWrite: 'write',\n\tEdit: 'edit',\n\tLs: 'ls',\n\tTree: 'tree',\n\tCd: 'cd',\n\tPwd: 'pwd',\n\n\tGlob: 'glob',\n\tGrep: 'ripgrep',\n\n\tBash: 'bash',\n\tTerminal: 'terminal',\n\n\tGitStatus: 'git_status',\n\tGitDiff: 'git_diff',\n\tGitCommit: 'git_commit',\n\n\tApplyPatch: 'apply_patch',\n\n\tUpdateTodos: 'update_todos',\n\tUpdatePlan: 'update_todos',\n\tProgressUpdate: 'progress_update',\n\tFinish: 'finish',\n\n\tWebSearch: 'websearch',\n\n\tLoadMcpTools: 'load_mcp_tools',\n\n\tSkill: 'skill',\n};\n\nfunction normalizeToolName(name: string): string {\n\treturn TOOL_NAME_ALIASES[name] ?? name;\n}\n\nconst COMPACT_DETAIL_TOOL_NAMES = new Set([\n\t'bash',\n\t'write',\n\t'edit',\n\t'apply_patch',\n\t'terminal',\n]);\n\nexport function ToolResultRenderer({\n\ttoolName,\n\tcontentJson,\n\ttoolDurationMs,\n\tdebug,\n\tonNavigateToSession,\n\tcompact,\n\tsessionId,\n\tonRetry,\n\tonCompact,\n}: ToolResultRendererProps) {\n\tconst [isExpanded, setIsExpanded] = useState(false);\n\tconst normalizedName = normalizeToolName(toolName);\n\tconst rendererCompact =\n\t\tcompact && !COMPACT_DETAIL_TOOL_NAMES.has(normalizedName);\n\n\tconst handleToggle = () => setIsExpanded(!isExpanded);\n\n\tconst props = {\n\t\tcontentJson,\n\t\ttoolDurationMs: toolDurationMs ?? undefined,\n\t\tisExpanded,\n\t\tonToggle: handleToggle,\n\t\tcompact: rendererCompact,\n\t};\n\n\tif (debug) {\n\t\treturn <DebugRenderer {...props} toolName={toolName} />;\n\t}\n\n\tswitch (normalizedName) {\n\t\tcase 'read':\n\t\t\treturn <ReadRenderer {...props} />;\n\t\tcase 'write':\n\t\t\treturn <WriteRenderer {...props} />;\n\t\tcase 'edit':\n\t\t\treturn <EditRenderer {...props} />;\n\t\tcase 'bash':\n\t\t\treturn <BashRenderer {...props} />;\n\t\tcase 'git_status':\n\t\t\treturn <GitStatusRenderer {...props} />;\n\t\tcase 'git_diff':\n\t\t\treturn <GitDiffRenderer {...props} />;\n\t\tcase 'git_commit':\n\t\t\treturn <GitCommitRenderer {...props} />;\n\t\tcase 'apply_patch':\n\t\t\treturn <ApplyPatchRenderer {...props} />;\n\t\tcase 'terminal':\n\t\t\treturn <TerminalRenderer {...props} />;\n\t\tcase 'ls':\n\t\t\treturn <ListRenderer {...props} />;\n\t\tcase 'tree':\n\t\t\treturn <TreeRenderer {...props} />;\n\t\tcase 'ripgrep':\n\t\tcase 'grep':\n\t\tcase 'glob':\n\t\t\treturn <SearchRenderer {...props} />;\n\t\tcase 'websearch':\n\t\t\treturn <WebSearchRenderer {...props} />;\n\t\tcase 'finish':\n\t\t\treturn <FinishRenderer {...props} />;\n\t\tcase 'update_todos':\n\t\tcase 'update_plan':\n\t\t\treturn <TodosRenderer {...props} />;\n\t\tcase 'progress_update':\n\t\t\treturn <ProgressUpdateRenderer {...props} />;\n\t\tcase 'load_mcp_tools':\n\t\t\treturn <LoadMcpToolsRenderer {...props} toolName={toolName} />;\n\t\tcase 'skill':\n\t\t\treturn <SkillRenderer {...props} />;\n\t\tcase 'error':\n\t\t\treturn (\n\t\t\t\t<ErrorRenderer\n\t\t\t\t\t{...props}\n\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\tonRetry={onRetry}\n\t\t\t\t\tonCompact={onCompact}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase 'query_sessions':\n\t\tcase 'query_messages':\n\t\tcase 'search_history':\n\t\tcase 'get_session_context':\n\t\tcase 'get_parent_session':\n\t\tcase 'present_action':\n\t\t\treturn (\n\t\t\t\t<DatabaseToolRenderer\n\t\t\t\t\ttoolName={toolName}\n\t\t\t\t\t{...props}\n\t\t\t\t\tonNavigateToSession={onNavigateToSession}\n\t\t\t\t/>\n\t\t\t);\n\t\tdefault:\n\t\t\tif (isMcpTool(normalizedName)) {\n\t\t\t\treturn <McpToolRenderer {...props} toolName={toolName} />;\n\t\t\t}\n\t\t\treturn <GenericRenderer {...props} toolName={toolName} />;\n\t}\n}\n\nexport * from './types';\nexport { ReasoningRenderer } from './ReasoningRenderer';\n",
74
+ "import { useState } from 'react';\nimport type { ContentJson } from './types';\nimport { ReadRenderer } from './ReadRenderer';\nimport { WriteRenderer } from './WriteRenderer';\nimport { BashRenderer } from './BashRenderer';\nimport { GitStatusRenderer } from './GitStatusRenderer';\nimport { GitDiffRenderer } from './GitDiffRenderer';\nimport { GitCommitRenderer } from './GitCommitRenderer';\nimport { ApplyPatchRenderer } from './ApplyPatchRenderer';\nimport { ListRenderer } from './ListRenderer';\nimport { TreeRenderer } from './TreeRenderer';\nimport { SearchRenderer } from './SearchRenderer';\nimport { FinishRenderer } from './FinishRenderer';\nimport { GenericRenderer } from './GenericRenderer';\nimport { DebugRenderer } from './DebugRenderer';\nimport { TodosRenderer } from './TodosRenderer';\nimport { ProgressUpdateRenderer } from './ProgressUpdateRenderer';\nimport { WebSearchRenderer } from './WebSearchRenderer';\nimport { ErrorRenderer } from './ErrorRenderer';\nimport { DatabaseToolRenderer } from './DatabaseToolRenderer';\nimport { TerminalRenderer } from './TerminalRenderer';\nimport { McpToolRenderer, isMcpTool } from './McpToolRenderer';\nimport { LoadMcpToolsRenderer } from './LoadMcpToolsRenderer';\nimport { SkillRenderer } from './SkillRenderer';\n\ninterface ToolResultRendererProps {\n\ttoolName: string;\n\tcontentJson: ContentJson;\n\ttoolDurationMs?: number | null;\n\tdebug?: boolean;\n\tonNavigateToSession?: (sessionId: string) => void;\n\tcompact?: boolean;\n\tsessionId?: string;\n\tonRetry?: () => void;\n\tonCompact?: () => void;\n}\n\n/**\n * Normalize tool names to canonical form for rendering.\n * Handles both snake_case (canonical) and PascalCase (OAuth) names.\n */\nconst TOOL_NAME_ALIASES: Record<string, string> = {\n\tRead: 'read',\n\tWrite: 'write',\n\tLs: 'ls',\n\tTree: 'tree',\n\tCd: 'cd',\n\tPwd: 'pwd',\n\n\tGlob: 'glob',\n\tGrep: 'ripgrep',\n\n\tBash: 'bash',\n\tTerminal: 'terminal',\n\n\tGitStatus: 'git_status',\n\tGitDiff: 'git_diff',\n\tGitCommit: 'git_commit',\n\n\tApplyPatch: 'apply_patch',\n\n\tUpdateTodos: 'update_todos',\n\tUpdatePlan: 'update_todos',\n\tProgressUpdate: 'progress_update',\n\tFinish: 'finish',\n\n\tWebSearch: 'websearch',\n\n\tLoadMcpTools: 'load_mcp_tools',\n\n\tSkill: 'skill',\n};\n\nfunction normalizeToolName(name: string): string {\n\treturn TOOL_NAME_ALIASES[name] ?? name;\n}\n\nconst COMPACT_DETAIL_TOOL_NAMES = new Set([\n\t'bash',\n\t'write',\n\t'apply_patch',\n\t'terminal',\n]);\n\nexport function ToolResultRenderer({\n\ttoolName,\n\tcontentJson,\n\ttoolDurationMs,\n\tdebug,\n\tonNavigateToSession,\n\tcompact,\n\tsessionId,\n\tonRetry,\n\tonCompact,\n}: ToolResultRendererProps) {\n\tconst [isExpanded, setIsExpanded] = useState(false);\n\tconst normalizedName = normalizeToolName(toolName);\n\tconst rendererCompact =\n\t\tcompact && !COMPACT_DETAIL_TOOL_NAMES.has(normalizedName);\n\n\tconst handleToggle = () => setIsExpanded(!isExpanded);\n\n\tconst props = {\n\t\tcontentJson,\n\t\ttoolDurationMs: toolDurationMs ?? undefined,\n\t\tisExpanded,\n\t\tonToggle: handleToggle,\n\t\tcompact: rendererCompact,\n\t};\n\n\tif (debug) {\n\t\treturn <DebugRenderer {...props} toolName={toolName} />;\n\t}\n\n\tswitch (normalizedName) {\n\t\tcase 'read':\n\t\t\treturn <ReadRenderer {...props} />;\n\t\tcase 'write':\n\t\t\treturn <WriteRenderer {...props} />;\n\t\tcase 'bash':\n\t\t\treturn <BashRenderer {...props} />;\n\t\tcase 'git_status':\n\t\t\treturn <GitStatusRenderer {...props} />;\n\t\tcase 'git_diff':\n\t\t\treturn <GitDiffRenderer {...props} />;\n\t\tcase 'git_commit':\n\t\t\treturn <GitCommitRenderer {...props} />;\n\t\tcase 'apply_patch':\n\t\t\treturn <ApplyPatchRenderer {...props} />;\n\t\tcase 'terminal':\n\t\t\treturn <TerminalRenderer {...props} />;\n\t\tcase 'ls':\n\t\t\treturn <ListRenderer {...props} />;\n\t\tcase 'tree':\n\t\t\treturn <TreeRenderer {...props} />;\n\t\tcase 'ripgrep':\n\t\tcase 'grep':\n\t\tcase 'glob':\n\t\t\treturn <SearchRenderer {...props} />;\n\t\tcase 'websearch':\n\t\t\treturn <WebSearchRenderer {...props} />;\n\t\tcase 'finish':\n\t\t\treturn <FinishRenderer {...props} />;\n\t\tcase 'update_todos':\n\t\tcase 'update_plan':\n\t\t\treturn <TodosRenderer {...props} />;\n\t\tcase 'progress_update':\n\t\t\treturn <ProgressUpdateRenderer {...props} />;\n\t\tcase 'load_mcp_tools':\n\t\t\treturn <LoadMcpToolsRenderer {...props} toolName={toolName} />;\n\t\tcase 'skill':\n\t\t\treturn <SkillRenderer {...props} />;\n\t\tcase 'error':\n\t\t\treturn (\n\t\t\t\t<ErrorRenderer\n\t\t\t\t\t{...props}\n\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\tonRetry={onRetry}\n\t\t\t\t\tonCompact={onCompact}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase 'query_sessions':\n\t\tcase 'query_messages':\n\t\tcase 'search_history':\n\t\tcase 'get_session_context':\n\t\tcase 'get_parent_session':\n\t\tcase 'present_action':\n\t\t\treturn (\n\t\t\t\t<DatabaseToolRenderer\n\t\t\t\t\ttoolName={toolName}\n\t\t\t\t\t{...props}\n\t\t\t\t\tonNavigateToSession={onNavigateToSession}\n\t\t\t\t/>\n\t\t\t);\n\t\tdefault:\n\t\t\tif (isMcpTool(normalizedName)) {\n\t\t\t\treturn <McpToolRenderer {...props} toolName={toolName} />;\n\t\t\t}\n\t\t\treturn <GenericRenderer {...props} toolName={toolName} />;\n\t}\n}\n\nexport * from './types';\nexport { ReasoningRenderer } from './ReasoningRenderer';\n",
75
75
  "import { ChevronRight, AlertCircle } from 'lucide-react';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport {\n\tprism,\n\tvscDarkPlus,\n} from 'react-syntax-highlighter/dist/esm/styles/prism';\nimport type { RendererProps } from './types';\nimport { formatDuration } from './utils';\nimport { ToolErrorDisplay } from './ToolErrorDisplay';\n\nfunction getLanguageFromPath(path: string): string {\n\tconst ext = path.split('.').pop()?.toLowerCase();\n\tconst langMap: Record<string, string> = {\n\t\tjs: 'javascript',\n\t\tjsx: 'jsx',\n\t\tts: 'typescript',\n\t\ttsx: 'tsx',\n\t\tpy: 'python',\n\t\trb: 'ruby',\n\t\tgo: 'go',\n\t\trs: 'rust',\n\t\tjava: 'java',\n\t\tc: 'c',\n\t\tcpp: 'cpp',\n\t\th: 'c',\n\t\thpp: 'cpp',\n\t\tcs: 'csharp',\n\t\tphp: 'php',\n\t\tsh: 'bash',\n\t\tbash: 'bash',\n\t\tzsh: 'bash',\n\t\tsql: 'sql',\n\t\tjson: 'json',\n\t\tyaml: 'yaml',\n\t\tyml: 'yaml',\n\t\txml: 'xml',\n\t\thtml: 'html',\n\t\tcss: 'css',\n\t\tscss: 'scss',\n\t\tmd: 'markdown',\n\t\ttxt: 'text',\n\t};\n\treturn langMap[ext || ''] || 'text';\n}\n\nfunction parseLineRange(lineRange: string | undefined): number | undefined {\n\tif (!lineRange) return undefined;\n\tconst match = lineRange.match(/@(\\d+)-(\\d+)/);\n\tif (match) {\n\t\treturn Number.parseInt(match[1], 10);\n\t}\n\treturn undefined;\n}\n\nexport function ReadRenderer({\n\tcontentJson,\n\ttoolDurationMs,\n\tisExpanded,\n\tonToggle,\n\tcompact,\n}: RendererProps) {\n\tconst result = contentJson.result || {};\n\tconst args = contentJson.args || {};\n\n\tconst hasToolError =\n\t\ttypeof result === 'object' && 'ok' in result && result.ok === false;\n\tconst errorMessage =\n\t\thasToolError && 'error' in result && typeof result.error === 'string'\n\t\t\t? result.error\n\t\t\t: null;\n\tconst errorStack =\n\t\thasToolError && 'stack' in result && typeof result.stack === 'string'\n\t\t\t? result.stack\n\t\t\t: undefined;\n\n\tconst path = String(result.path || args.path || '');\n\tconst content = String(result.content || '');\n\tconst lineRange = result.lineRange as string | undefined;\n\tconst lines = content.split('\\n');\n\tconst timeStr = formatDuration(toolDurationMs);\n\tconst language = getLanguageFromPath(path);\n\tconst syntaxTheme = document?.documentElement.classList.contains('dark')\n\t\t? vscDarkPlus\n\t\t: prism;\n\n\tconst startingLineNumber = parseLineRange(lineRange);\n\n\tconst displayText = lineRange\n\t\t? `${path}:${lineRange.replace('@', '')}`\n\t\t: path;\n\n\tconst canExpand = content.length > 0 || hasToolError;\n\n\treturn (\n\t\t<div className=\"text-xs\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={() => canExpand && onToggle()}\n\t\t\t\tclassName={`flex items-center gap-2 transition-colors w-full min-w-0 ${\n\t\t\t\t\thasToolError\n\t\t\t\t\t\t? 'text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200'\n\t\t\t\t\t\t: canExpand\n\t\t\t\t\t\t\t? 'text-blue-700 dark:text-blue-300 hover:text-blue-600 dark:hover:text-blue-200'\n\t\t\t\t\t\t\t: 'text-blue-700 dark:text-blue-300'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{canExpand ? (\n\t\t\t\t\tisExpanded ? (\n\t\t\t\t\t\t<ChevronRight className=\"h-3 w-3 flex-shrink-0 rotate-90 transition-transform\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ChevronRight className=\"h-3 w-3 flex-shrink-0 transition-transform\" />\n\t\t\t\t\t)\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"w-3 flex-shrink-0\" />\n\t\t\t\t)}\n\t\t\t\t{hasToolError && (\n\t\t\t\t\t<AlertCircle className=\"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400\" />\n\t\t\t\t)}\n\t\t\t\t<span className=\"font-medium flex-shrink-0\">\n\t\t\t\t\tread{hasToolError ? ' error' : ''}\n\t\t\t\t</span>\n\t\t\t\t{!compact && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<span className=\"text-muted-foreground/70 flex-shrink-0\">·</span>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap\"\n\t\t\t\t\t\t\tdir=\"rtl\"\n\t\t\t\t\t\t\ttitle={displayText}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{`\\u2066${displayText}\\u2069`}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{!hasToolError && lines.length > 0 && !compact && (\n\t\t\t\t\t<span className=\"text-muted-foreground/80 flex-shrink-0 whitespace-nowrap\">\n\t\t\t\t\t\t· {lines.length} lines · {timeStr}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t\t{hasToolError && !compact && (\n\t\t\t\t\t<span className=\"text-muted-foreground/80 flex-shrink-0\">\n\t\t\t\t\t\t· {timeStr}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</button>\n\t\t\t{isExpanded && hasToolError && errorMessage && (\n\t\t\t\t<ToolErrorDisplay error={errorMessage} stack={errorStack} showStack />\n\t\t\t)}\n\t\t\t{isExpanded && !hasToolError && content && (\n\t\t\t\t<div className=\"mt-2 ml-5 bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto max-w-full\">\n\t\t\t\t\t<div className=\"overflow-x-auto max-w-full\">\n\t\t\t\t\t\t<SyntaxHighlighter\n\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\tstyle={syntaxTheme}\n\t\t\t\t\t\t\tcustomStyle={{\n\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\tpadding: '0.75rem',\n\t\t\t\t\t\t\t\tfontSize: '0.75rem',\n\t\t\t\t\t\t\t\tlineHeight: '1.5',\n\t\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t\t\tmaxWidth: '100%',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tshowLineNumbers\n\t\t\t\t\t\t\tstartingLineNumber={startingLineNumber}\n\t\t\t\t\t\t\twrapLines\n\t\t\t\t\t\t\twrapLongLines\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{content}\n\t\t\t\t\t\t</SyntaxHighlighter>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n",
76
76
  "/**\n * Format a duration in milliseconds to a human-readable string.\n * Shows seconds (with 1 decimal) if >= 1000ms, otherwise shows ms.\n *\n * @example\n * formatDuration(450) // \"450ms\"\n * formatDuration(1234) // \"1.2s\"\n * formatDuration(5678) // \"5.7s\"\n */\nexport function formatDuration(ms: number | undefined): string {\n\tif (!ms) return '';\n\tif (ms >= 1000) {\n\t\treturn `${(ms / 1000).toFixed(1)}s`;\n\t}\n\treturn `${ms}ms`;\n}\n\n/**\n * Check if a tool result is an error response.\n * Handles both the new ok: false pattern and legacy error patterns.\n */\nexport function isToolError(result: unknown): boolean {\n\tif (!result || typeof result !== 'object') return false;\n\tconst obj = result as Record<string, unknown>;\n\treturn obj.ok === false || 'error' in obj || obj.success === false;\n}\n\n/**\n * Extract the error message from a tool result.\n * Checks multiple common fields: error, stderr, message, detail, details, reason.\n */\nexport function getErrorMessage(result: unknown): string | null {\n\tif (!result || typeof result !== 'object') return null;\n\n\tconst obj = result as Record<string, unknown>;\n\tconst keys = ['error', 'stderr', 'message', 'detail', 'details', 'reason'];\n\tfor (const key of keys) {\n\t\tconst value = obj[key];\n\t\tif (typeof value === 'string') {\n\t\t\tconst trimmed = value.trim();\n\t\t\tif (trimmed.length) return trimmed;\n\t\t}\n\t}\n\treturn null;\n}\n\n/**\n * Extract error details from a tool result.\n * Returns the details object if present and valid.\n */\nexport function getErrorDetails(\n\tresult: unknown,\n): Record<string, unknown> | null {\n\tif (!result || typeof result !== 'object') return null;\n\tconst obj = result as Record<string, unknown>;\n\tif (obj.details && typeof obj.details === 'object') {\n\t\treturn obj.details as Record<string, unknown>;\n\t}\n\treturn null;\n}\n",
77
77
  "import { AlertCircle } from 'lucide-react';\n\ninterface ToolErrorDisplayProps {\n\terror: string;\n\tstack?: string;\n\tshowStack?: boolean;\n}\n\n/**\n * Shared error display component for tool results with ok: false\n * Matches the structure and colors of ErrorRenderer\n */\nexport function ToolErrorDisplay({\n\terror,\n\tstack,\n\tshowStack = false,\n}: ToolErrorDisplayProps) {\n\treturn (\n\t\t<div className=\"mt-2 ml-5 p-3 bg-red-50 dark:bg-red-950/20 border border-red-200 dark:border-red-800 rounded text-sm\">\n\t\t\t<div className=\"flex items-start gap-2\">\n\t\t\t\t<AlertCircle className=\"h-4 w-4 flex-shrink-0 text-red-600 dark:text-red-400 mt-0.5\" />\n\t\t\t\t<div className=\"flex-1 space-y-2\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className=\"font-medium text-red-600 dark:text-red-400\">\n\t\t\t\t\t\t\tTool Error:\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"mt-1 text-red-900 dark:text-red-200 whitespace-pre-wrap\">\n\t\t\t\t\t\t\t{error}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{showStack && stack && (\n\t\t\t\t\t\t<details className=\"mt-2\">\n\t\t\t\t\t\t\t<summary className=\"cursor-pointer text-xs text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200\">\n\t\t\t\t\t\t\t\tView stack trace\n\t\t\t\t\t\t\t</summary>\n\t\t\t\t\t\t\t<pre className=\"mt-2 p-2 bg-red-100/50 dark:bg-red-900/20 rounded text-xs overflow-x-auto text-red-800 dark:text-red-300\">\n\t\t\t\t\t\t\t\t{stack}\n\t\t\t\t\t\t\t</pre>\n\t\t\t\t\t\t</details>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n",
78
78
  "import { ChevronRight, AlertCircle } from 'lucide-react';\nimport type { RendererProps } from './types';\nimport { DiffView } from './DiffView';\nimport { formatDuration } from './utils';\nimport { ToolErrorDisplay } from './ToolErrorDisplay';\n\nexport function WriteRenderer({\n\tcontentJson,\n\ttoolDurationMs,\n\tisExpanded,\n\tonToggle,\n\tcompact,\n}: RendererProps) {\n\tconst result = contentJson.result || {};\n\tconst args = contentJson.args || {};\n\tconst artifact = contentJson.artifact;\n\n\tconst hasToolError =\n\t\ttypeof result === 'object' && 'ok' in result && result.ok === false;\n\tconst errorMessage =\n\t\thasToolError && 'error' in result && typeof result.error === 'string'\n\t\t\t? result.error\n\t\t\t: null;\n\tconst errorStack =\n\t\thasToolError && 'stack' in result && typeof result.stack === 'string'\n\t\t\t? result.stack\n\t\t\t: undefined;\n\n\tconst path = String(result.path || args.path || '');\n\tconst bytes = Number(result.bytes || 0);\n\tconst patch = artifact?.patch ? String(artifact.patch) : '';\n\tconst timeStr = formatDuration(toolDurationMs);\n\n\tconst canExpand = patch.length > 0 || hasToolError;\n\n\treturn (\n\t\t<div className=\"text-xs\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={() => canExpand && onToggle()}\n\t\t\t\tclassName={`flex items-center gap-2 transition-colors min-w-0 w-full ${\n\t\t\t\t\thasToolError\n\t\t\t\t\t\t? 'text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200'\n\t\t\t\t\t\t: canExpand\n\t\t\t\t\t\t\t? 'text-emerald-700 dark:text-emerald-300 hover:text-emerald-600 dark:hover:text-emerald-200'\n\t\t\t\t\t\t\t: 'text-emerald-700 dark:text-emerald-300'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{canExpand ? (\n\t\t\t\t\tisExpanded ? (\n\t\t\t\t\t\t<ChevronRight className=\"h-3 w-3 flex-shrink-0 rotate-90 transition-transform\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ChevronRight className=\"h-3 w-3 flex-shrink-0 transition-transform\" />\n\t\t\t\t\t)\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"w-3 flex-shrink-0\" />\n\t\t\t\t)}\n\t\t\t\t{hasToolError && (\n\t\t\t\t\t<AlertCircle className=\"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400\" />\n\t\t\t\t)}\n\t\t\t\t<span className=\"font-medium flex-shrink-0\">\n\t\t\t\t\twrite{hasToolError ? ' error' : ''}\n\t\t\t\t</span>\n\t\t\t\t{!compact && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<span className=\"text-muted-foreground/70 flex-shrink-0\">·</span>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap\"\n\t\t\t\t\t\t\tdir=\"rtl\"\n\t\t\t\t\t\t\ttitle={path}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{`\\u2066${path}\\u2069`}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{!hasToolError && bytes > 0 && !compact && (\n\t\t\t\t\t<span className=\"text-muted-foreground/80 whitespace-nowrap flex-shrink-0\">\n\t\t\t\t\t\t· {bytes} bytes · {timeStr}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t\t{hasToolError && !compact && (\n\t\t\t\t\t<span className=\"text-muted-foreground/80 flex-shrink-0\">\n\t\t\t\t\t\t· {timeStr}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</button>\n\t\t\t{isExpanded && hasToolError && errorMessage && (\n\t\t\t\t<ToolErrorDisplay error={errorMessage} stack={errorStack} showStack />\n\t\t\t)}\n\t\t\t{isExpanded && !hasToolError && patch && (\n\t\t\t\t<div className=\"mt-2 ml-5\">\n\t\t\t\t\t<DiffView patch={patch} />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n",
79
- "import { ChevronRight, AlertCircle } from 'lucide-react';\nimport type { RendererProps } from './types';\nimport { DiffView } from './DiffView';\nimport { formatDuration } from './utils';\nimport { ToolErrorDisplay } from './ToolErrorDisplay';\n\nexport function EditRenderer({\n\tcontentJson,\n\ttoolDurationMs,\n\tisExpanded,\n\tonToggle,\n}: RendererProps) {\n\tconst args = (contentJson.args || {}) as Record<string, unknown>;\n\tconst result = (contentJson.result || {}) as Record<string, unknown>;\n\tconst artifact = contentJson.artifact;\n\tconst hasToolError =\n\t\ttypeof result === 'object' && 'ok' in result && result.ok === false;\n\tconst errorMessage =\n\t\thasToolError && 'error' in result && typeof result.error === 'string'\n\t\t\t? result.error\n\t\t\t: null;\n\tconst errorStack =\n\t\thasToolError && 'stack' in result && typeof result.stack === 'string'\n\t\t\t? result.stack\n\t\t\t: undefined;\n\n\tconst path = String(result.path || args.path || '');\n\tconst opsApplied = Number(result.opsApplied || 0);\n\tconst patch = artifact?.patch ? String(artifact.patch) : '';\n\tconst timeStr = formatDuration(toolDurationMs);\n\n\tconst canExpand = patch.length > 0 || hasToolError;\n\n\treturn (\n\t\t<div className=\"text-xs\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={() => canExpand && onToggle()}\n\t\t\t\tclassName={`flex items-center gap-2 transition-colors min-w-0 w-full ${\n\t\t\t\t\thasToolError\n\t\t\t\t\t\t? 'text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200'\n\t\t\t\t\t\t: canExpand\n\t\t\t\t\t\t\t? 'text-purple-700 dark:text-purple-300 hover:text-purple-600 dark:hover:text-purple-200'\n\t\t\t\t\t\t\t: 'text-purple-700 dark:text-purple-300'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{canExpand ? (\n\t\t\t\t\tisExpanded ? (\n\t\t\t\t\t\t<ChevronRight className=\"h-3 w-3 flex-shrink-0 rotate-90 transition-transform\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ChevronRight className=\"h-3 w-3 flex-shrink-0 transition-transform\" />\n\t\t\t\t\t)\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"w-3 flex-shrink-0\" />\n\t\t\t\t)}\n\t\t\t\t{hasToolError && (\n\t\t\t\t\t<AlertCircle className=\"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400\" />\n\t\t\t\t)}\n\t\t\t\t<span className=\"font-medium flex-shrink-0\">\n\t\t\t\t\tedit{hasToolError ? ' error' : ''}\n\t\t\t\t</span>\n\t\t\t\t<span className=\"text-muted-foreground/70 flex-shrink-0\">·</span>\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap\"\n\t\t\t\t\tdir=\"rtl\"\n\t\t\t\t\ttitle={path}\n\t\t\t\t>\n\t\t\t\t\t{`\\u2066${path}\\u2069`}\n\t\t\t\t</span>\n\t\t\t\t{!hasToolError && opsApplied > 0 && (\n\t\t\t\t\t<span className=\"text-muted-foreground/80 whitespace-nowrap flex-shrink-0\">\n\t\t\t\t\t\t· {opsApplied} ops · {timeStr}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t\t{hasToolError && (\n\t\t\t\t\t<span className=\"text-muted-foreground/80 flex-shrink-0\">\n\t\t\t\t\t\t· {timeStr}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</button>\n\t\t\t{isExpanded && hasToolError && errorMessage && (\n\t\t\t\t<ToolErrorDisplay error={errorMessage} stack={errorStack} showStack />\n\t\t\t)}\n\t\t\t{isExpanded && !hasToolError && patch && (\n\t\t\t\t<div className=\"mt-2 ml-5\">\n\t\t\t\t\t<DiffView patch={patch} />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n",
80
79
  "import { Terminal } from 'lucide-react';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport {\n\tprism,\n\tvscDarkPlus,\n} from 'react-syntax-highlighter/dist/esm/styles/prism';\nimport type { RendererProps } from './types';\nimport { formatDuration } from './utils';\nimport { ToolErrorDisplay } from './ToolErrorDisplay';\nimport {\n\tToolHeader,\n\tToolHeaderSeparator,\n\tToolHeaderMeta,\n\tToolHeaderSuccess,\n\tToolHeaderError,\n\tToolContentBox,\n} from './shared';\n\nexport function BashRenderer({\n\tcontentJson,\n\ttoolDurationMs,\n\tisExpanded,\n\tonToggle,\n\tcompact,\n}: RendererProps) {\n\tconst result = contentJson.result || {};\n\tconst args = contentJson.args || {};\n\n\tconst hasToolError =\n\t\ttypeof result === 'object' && 'ok' in result && result.ok === false;\n\tconst errorMessage =\n\t\thasToolError && 'error' in result && typeof result.error === 'string'\n\t\t\t? result.error\n\t\t\t: null;\n\tconst errorStack =\n\t\thasToolError && 'stack' in result && typeof result.stack === 'string'\n\t\t\t? result.stack\n\t\t\t: undefined;\n\n\tconst stdout = String(result.stdout || '');\n\tconst stderr = String(result.stderr || '');\n\tconst exitCode = Number(result.exitCode ?? 0);\n\tconst cmd = String(args.cmd || '');\n\tconst cwd = args.cwd ? String(args.cwd) : undefined;\n\tconst timeStr = formatDuration(toolDurationMs);\n\tconst syntaxTheme = document?.documentElement.classList.contains('dark')\n\t\t? vscDarkPlus\n\t\t: prism;\n\n\tconst hasOutput = stdout.length > 0 || stderr.length > 0;\n\tconst isError = hasToolError || exitCode !== 0;\n\tconst hasStderr = stderr.length > 0;\n\tconst combinedOutput = stdout + (stdout && stderr ? '\\n' : '') + stderr;\n\n\treturn (\n\t\t<div className=\"text-xs\">\n\t\t\t<ToolHeader\n\t\t\t\ttoolName=\"bash\"\n\t\t\t\tisExpanded={isExpanded}\n\t\t\t\tonToggle={onToggle}\n\t\t\t\tisError={isError}\n\t\t\t\tcolorVariant=\"default\"\n\t\t\t\tcanExpand={true}\n\t\t\t>\n\t\t\t\t{!compact && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ToolHeaderSeparator />\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"text-foreground/70 min-w-0 truncate font-mono text-[11px]\"\n\t\t\t\t\t\t\ttitle={cmd}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{cmd}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{!hasToolError && !compact && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ToolHeaderSeparator />\n\t\t\t\t\t\t{exitCode === 0 ? (\n\t\t\t\t\t\t\t<ToolHeaderSuccess>exit {exitCode}</ToolHeaderSuccess>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ToolHeaderError>exit {exitCode}</ToolHeaderError>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<ToolHeaderSeparator />\n\t\t\t\t\t\t<ToolHeaderMeta>{timeStr}</ToolHeaderMeta>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{hasToolError && !compact && (\n\t\t\t\t\t<ToolHeaderMeta>· {timeStr}</ToolHeaderMeta>\n\t\t\t\t)}\n\t\t\t</ToolHeader>\n\n\t\t\t{isExpanded && hasToolError && errorMessage && (\n\t\t\t\t<ToolErrorDisplay error={errorMessage} stack={errorStack} showStack />\n\t\t\t)}\n\n\t\t\t{isExpanded && !hasToolError && (\n\t\t\t\t<div className=\"mt-2 ml-5 flex flex-col gap-2 max-w-full\">\n\t\t\t\t\t<ToolContentBox\n\t\t\t\t\t\ttitle=\"command\"\n\t\t\t\t\t\ticon={<Terminal className=\"h-3 w-3\" />}\n\t\t\t\t\t\tsubtitle={cwd && cwd !== '.' ? `in ${cwd}` : undefined}\n\t\t\t\t\t\tcopyText={cmd}\n\t\t\t\t\t\tmaxHeight=\"\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"px-3 py-2 font-mono text-xs bg-muted/10 break-all\">\n\t\t\t\t\t\t\t{cmd}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ToolContentBox>\n\n\t\t\t\t\t{hasOutput &&\n\t\t\t\t\t\t(exitCode === 0 ? (\n\t\t\t\t\t\t\t<ToolContentBox\n\t\t\t\t\t\t\t\ttitle=\"output\"\n\t\t\t\t\t\t\t\tcopyText={combinedOutput}\n\t\t\t\t\t\t\t\tmaxHeight=\"max-h-[30rem]\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<SyntaxHighlighter\n\t\t\t\t\t\t\t\t\tlanguage=\"bash\"\n\t\t\t\t\t\t\t\t\tstyle={syntaxTheme}\n\t\t\t\t\t\t\t\t\tcustomStyle={{\n\t\t\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\t\t\tpadding: '0.75rem',\n\t\t\t\t\t\t\t\t\t\tfontSize: '0.75rem',\n\t\t\t\t\t\t\t\t\t\tlineHeight: '1.5',\n\t\t\t\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t\t\t\t\tmaxWidth: '100%',\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\twrapLines\n\t\t\t\t\t\t\t\t\twrapLongLines\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{combinedOutput}\n\t\t\t\t\t\t\t\t</SyntaxHighlighter>\n\t\t\t\t\t\t\t</ToolContentBox>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{stdout && (\n\t\t\t\t\t\t\t\t\t<ToolContentBox\n\t\t\t\t\t\t\t\t\t\ttitle=\"stdout\"\n\t\t\t\t\t\t\t\t\t\tcopyText={stdout}\n\t\t\t\t\t\t\t\t\t\tmaxHeight=\"max-h-60\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<SyntaxHighlighter\n\t\t\t\t\t\t\t\t\t\t\tlanguage=\"bash\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={syntaxTheme}\n\t\t\t\t\t\t\t\t\t\t\tcustomStyle={{\n\t\t\t\t\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\t\t\t\t\tpadding: '0.75rem',\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: '0.75rem',\n\t\t\t\t\t\t\t\t\t\t\t\tlineHeight: '1.5',\n\t\t\t\t\t\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t\t\t\t\t\t\tmaxWidth: '100%',\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\twrapLines\n\t\t\t\t\t\t\t\t\t\t\twrapLongLines\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{stdout}\n\t\t\t\t\t\t\t\t\t\t</SyntaxHighlighter>\n\t\t\t\t\t\t\t\t\t</ToolContentBox>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{hasStderr && (\n\t\t\t\t\t\t\t\t\t<ToolContentBox\n\t\t\t\t\t\t\t\t\t\ttitle=\"stderr\"\n\t\t\t\t\t\t\t\t\t\tcopyText={stderr}\n\t\t\t\t\t\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\t\t\t\t\t\tmaxHeight=\"max-h-60\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<SyntaxHighlighter\n\t\t\t\t\t\t\t\t\t\t\tlanguage=\"bash\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={syntaxTheme}\n\t\t\t\t\t\t\t\t\t\t\tcustomStyle={{\n\t\t\t\t\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\t\t\t\t\tpadding: '0.75rem',\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: '0.75rem',\n\t\t\t\t\t\t\t\t\t\t\t\tlineHeight: '1.5',\n\t\t\t\t\t\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t\t\t\t\t\t\tmaxWidth: '100%',\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\twrapLines\n\t\t\t\t\t\t\t\t\t\t\twrapLongLines\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{stderr}\n\t\t\t\t\t\t\t\t\t\t</SyntaxHighlighter>\n\t\t\t\t\t\t\t\t\t</ToolContentBox>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n",
81
80
  "import { useState } from 'react';\nimport { Copy, Check } from 'lucide-react';\n\ninterface CopyButtonProps {\n\ttext: string;\n\tclassName?: string;\n\tsize?: 'sm' | 'md' | 'lg';\n}\n\nconst sizeClasses = {\n\tsm: 'h-3 w-3',\n\tmd: 'h-4 w-4',\n\tlg: 'h-5 w-5',\n};\n\nconst paddingClasses = {\n\tsm: 'p-1',\n\tmd: 'p-1.5',\n\tlg: 'p-2',\n};\n\nexport function CopyButton({\n\ttext,\n\tclassName = '',\n\tsize = 'sm',\n}: CopyButtonProps) {\n\tconst [copied, setCopied] = useState(false);\n\n\tconst handleCopy = async (e: React.MouseEvent) => {\n\t\te.stopPropagation();\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(text);\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 2000);\n\t\t} catch {}\n\t};\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={handleCopy}\n\t\t\tclassName={`${paddingClasses[size]} rounded hover:bg-muted/50 text-muted-foreground hover:text-foreground transition-colors ${className}`}\n\t\t\ttitle=\"Copy\"\n\t\t>\n\t\t\t{copied ? (\n\t\t\t\t<Check className={`${sizeClasses[size]} text-emerald-500`} />\n\t\t\t) : (\n\t\t\t\t<Copy className={sizeClasses[size]} />\n\t\t\t)}\n\t\t</button>\n\t);\n}\n",
82
81
  "import type { ReactNode } from 'react';\nimport { CopyButton } from './CopyButton';\n\ninterface ToolContentBoxProps {\n\ttitle: string;\n\ticon?: ReactNode;\n\tsubtitle?: string;\n\tcopyText?: string;\n\tvariant?: 'default' | 'error';\n\tmaxHeight?: string;\n\tchildren: ReactNode;\n}\n\nexport function ToolContentBox({\n\ttitle,\n\ticon,\n\tsubtitle,\n\tcopyText,\n\tvariant = 'default',\n\tmaxHeight = 'max-h-80',\n\tchildren,\n}: ToolContentBoxProps) {\n\tconst isError = variant === 'error';\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`bg-card/60 border rounded-lg overflow-hidden flex flex-col ${maxHeight} ${\n\t\t\t\tisError ? 'border-red-500/50' : 'border-border'\n\t\t\t}`}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={`flex items-center justify-between gap-2 text-xs px-3 py-1.5 border-b border-border sticky top-0 ${\n\t\t\t\t\tisError\n\t\t\t\t\t\t? 'text-red-600 dark:text-red-400 bg-red-500/10'\n\t\t\t\t\t\t: 'text-muted-foreground bg-muted/30'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t{icon}\n\t\t\t\t\t<span>{title}</span>\n\t\t\t\t\t{subtitle && (\n\t\t\t\t\t\t<span className=\"text-muted-foreground/60\">{subtitle}</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{copyText && <CopyButton text={copyText} />}\n\t\t\t</div>\n\t\t\t<div className=\"overflow-auto flex-1\">{children}</div>\n\t\t</div>\n\t);\n}\n",
@@ -105,18 +104,19 @@
105
104
  "import { useState, useRef, useEffect } from 'react';\nimport { ChevronDown, ChevronRight } from 'lucide-react';\nimport type { MessagePart } from '../../../types/api';\n\ninterface ReasoningRendererProps {\n\tpart: MessagePart;\n}\n\nexport function ReasoningRenderer({ part }: ReasoningRendererProps) {\n\tconst [isExpanded, setIsExpanded] = useState(true);\n\tconst scrollRef = useRef<HTMLDivElement>(null);\n\tconst isHoveredRef = useRef(false);\n\tlet content = '';\n\tconst data = part.contentJson || part.content;\n\tif (data && typeof data === 'object' && 'text' in data) {\n\t\tcontent = String(data.text);\n\t} else if (typeof data === 'string') {\n\t\tcontent = data;\n\t}\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: content dependency is intentional - triggers auto-scroll when new reasoning text streams in\n\tuseEffect(() => {\n\t\tif (\n\t\t\tscrollRef.current &&\n\t\t\tisExpanded &&\n\t\t\t!part.completedAt &&\n\t\t\t!isHoveredRef.current\n\t\t) {\n\t\t\tscrollRef.current.scrollTop = scrollRef.current.scrollHeight;\n\t\t}\n\t}, [content, isExpanded, part.completedAt]);\n\n\tif (!content || !content.trim()) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"w-full\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={() => setIsExpanded(!isExpanded)}\n\t\t\t\tclassName=\"flex items-center gap-2 text-xs text-muted-foreground hover:text-foreground transition-colors w-full\"\n\t\t\t>\n\t\t\t\t{isExpanded ? (\n\t\t\t\t\t<ChevronDown className=\"h-3 w-3 flex-shrink-0\" />\n\t\t\t\t) : (\n\t\t\t\t\t<ChevronRight className=\"h-3 w-3 flex-shrink-0\" />\n\t\t\t\t)}\n\t\t\t\t<span className=\"font-medium\">Reasoning</span>\n\t\t\t\t{!part.completedAt && (\n\t\t\t\t\t<span className=\"text-muted-foreground/60 animate-pulse\">\n\t\t\t\t\t\tthinking...\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</button>\n\t\t\t{isExpanded && (\n\t\t\t\t<div\n\t\t\t\t\tref={scrollRef}\n\t\t\t\t\tclassName=\"mt-2 p-3 bg-muted/30 rounded-md border border-border max-h-48 overflow-y-auto\"\n\t\t\t\t\trole=\"log\"\n\t\t\t\t\tonMouseEnter={() => {\n\t\t\t\t\t\tisHoveredRef.current = true;\n\t\t\t\t\t}}\n\t\t\t\t\tonMouseLeave={() => {\n\t\t\t\t\t\tisHoveredRef.current = false;\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"text-sm text-muted-foreground whitespace-pre-wrap font-mono\">\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n",
106
105
  "import { useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Brain, Search } from 'lucide-react';\nimport {\n\ttype CompactActivityEntry,\n\tsummarizeCompactActivities,\n} from './compactActivity';\n\nconst ANIM_MS = 320;\nconst EASING = 'cubic-bezier(0.25, 1, 0.5, 1)';\nconst MAX_SCROLL_H = 140;\n\ninterface CompactActivityGroupProps {\n\tentries: CompactActivityEntry[];\n\ttitleOverride?: string;\n\tshowLine: boolean;\n\tcollapsed: boolean;\n}\n\nexport function CompactActivityGroup({\n\tentries,\n\ttitleOverride,\n\tshowLine,\n\tcollapsed,\n}: CompactActivityGroupProps) {\n\tconst mountedCollapsed = collapsed && entries.length > 0;\n\tconst [showSummary, setShowSummary] = useState(mountedCollapsed);\n\tconst [latched, setLatched] = useState(mountedCollapsed);\n\tconst contentMeasureRef = useRef<HTMLDivElement>(null);\n\tconst scrollRef = useRef<HTMLDivElement>(null);\n\tconst scrollAnimationRef = useRef<number | null>(null);\n\tconst hoveredRef = useRef(false);\n\tconst prevCountRef = useRef(entries.length);\n\tconst [contentHeight, setContentHeight] = useState(0);\n\n\tconst summary = useMemo(() => summarizeCompactActivities(entries), [entries]);\n\tconst summaryTitle = titleOverride || summary.title;\n\tconst summaryText = [summaryTitle, ...summary.details].join('\\u00A0· ');\n\tconst hasReasoning = entries.some((e) => e.toolName === 'reasoning');\n\n\tconst lastEntry = entries.length > 0 ? entries[entries.length - 1] : null;\n\n\tuseEffect(() => {\n\t\tif (!collapsed && !latched) {\n\t\t\tsetShowSummary(false);\n\t\t\treturn;\n\t\t}\n\t\tif (!latched && collapsed) {\n\t\t\tsetLatched(true);\n\t\t}\n\t\tif (showSummary) return;\n\t\tif (entries.length === 0) return;\n\t\tconst t = window.setTimeout(() => setShowSummary(true), 500);\n\t\treturn () => window.clearTimeout(t);\n\t}, [collapsed, showSummary, latched, entries.length]);\n\n\tuseLayoutEffect(() => {\n\t\tif (showSummary) return;\n\t\tconst el = contentMeasureRef.current;\n\t\tif (!el) return;\n\t\tconst updateHeight = () => {\n\t\t\tconst nextHeight = Math.min(el.scrollHeight, MAX_SCROLL_H);\n\t\t\tsetContentHeight((prev) => (prev === nextHeight ? prev : nextHeight));\n\t\t};\n\t\tupdateHeight();\n\t\tconst observer = new ResizeObserver(() => updateHeight());\n\t\tobserver.observe(el);\n\t\treturn () => observer.disconnect();\n\t}, [showSummary]);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (scrollAnimationRef.current !== null) {\n\t\t\t\twindow.cancelAnimationFrame(scrollAnimationRef.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: auto-scroll on new entries or streaming text\n\tuseEffect(() => {\n\t\tif (showSummary || hoveredRef.current) return;\n\t\tconst el = scrollRef.current;\n\t\tif (!el) return;\n\t\tconst naturalHeight = contentMeasureRef.current?.scrollHeight ?? 0;\n\t\tconst isOverflowing = naturalHeight > contentHeight + 1;\n\t\tconst targetTop = isOverflowing\n\t\t\t? Math.max(0, naturalHeight - contentHeight)\n\t\t\t: 0;\n\n\t\tif (scrollAnimationRef.current !== null) {\n\t\t\twindow.cancelAnimationFrame(scrollAnimationRef.current);\n\t\t\tscrollAnimationRef.current = null;\n\t\t}\n\n\t\tif (!isOverflowing) {\n\t\t\tel.scrollTop = 0;\n\t\t\treturn;\n\t\t}\n\n\t\tconst startTop = el.scrollTop;\n\t\tconst distance = targetTop - startTop;\n\t\tif (distance <= 1) {\n\t\t\tel.scrollTop = targetTop;\n\t\t\treturn;\n\t\t}\n\n\t\tconst startTime = performance.now();\n\t\tconst duration = Math.min(360, Math.max(180, distance * 0.9));\n\t\tconst tick = (now: number) => {\n\t\t\tconst progress = Math.min(1, (now - startTime) / duration);\n\t\t\tconst eased = 1 - (1 - progress) ** 3;\n\t\t\tel.scrollTop = startTop + distance * eased;\n\t\t\tif (progress < 1 && !hoveredRef.current) {\n\t\t\t\tscrollAnimationRef.current = window.requestAnimationFrame(tick);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tscrollAnimationRef.current = null;\n\t\t};\n\n\t\tscrollAnimationRef.current = window.requestAnimationFrame(tick);\n\t}, [entries.length, lastEntry?.fullText, showSummary, contentHeight]);\n\n\tuseEffect(() => {\n\t\tprevCountRef.current = entries.length;\n\t}, [entries.length]);\n\n\tconst isLive = !showSummary;\n\n\treturn (\n\t\t<div className=\"flex gap-3 pb-2 relative max-w-full overflow-hidden\">\n\t\t\t<div className=\"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5\">\n\t\t\t\t<div className=\"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background\">\n\t\t\t\t\t{hasReasoning ? (\n\t\t\t\t\t\t<Brain className=\"h-4 w-4 text-indigo-600 dark:text-indigo-300\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Search className=\"h-4 w-4 text-amber-600 dark:text-amber-300\" />\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{showLine && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0\"\n\t\t\t\t\t\tstyle={{ top: '1.25rem', bottom: '-0.5rem' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<div className=\"flex-1 min-w-0 pt-0.5\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"relative rounded-lg overflow-hidden\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tborder: isLive\n\t\t\t\t\t\t\t? '1px solid hsl(var(--border) / 0.6)'\n\t\t\t\t\t\t\t: '1px solid transparent',\n\t\t\t\t\t\tbackground: isLive ? 'hsl(var(--muted) / 0.2)' : 'transparent',\n\t\t\t\t\t\tpadding: isLive ? '8px 12px' : '0px 0px',\n\t\t\t\t\t\ttransition: `border ${ANIM_MS}ms ${EASING}, background ${ANIM_MS}ms ${EASING}, padding ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\topacity: isLive ? 1 : 0,\n\t\t\t\t\t\t\tmaxHeight: isLive ? `${MAX_SCROLL_H + 28}px` : '0px',\n\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, max-height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"text-[11px] font-medium uppercase tracking-[0.18em] text-muted-foreground/70 mb-1\">\n\t\t\t\t\t\t\tExploring\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={scrollRef}\n\t\t\t\t\t\t\tclassName=\"overflow-y-auto\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\theight: `${contentHeight}px`,\n\t\t\t\t\t\t\t\ttransition: `height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t\t\tmaskImage:\n\t\t\t\t\t\t\t\t\t'linear-gradient(to bottom, transparent 0px, black 20px)',\n\t\t\t\t\t\t\t\tWebkitMaskImage:\n\t\t\t\t\t\t\t\t\t'linear-gradient(to bottom, transparent 0px, black 20px)',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\trole=\"log\"\n\t\t\t\t\t\t\tonMouseEnter={() => {\n\t\t\t\t\t\t\t\thoveredRef.current = true;\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonMouseLeave={() => {\n\t\t\t\t\t\t\t\thoveredRef.current = false;\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div ref={contentMeasureRef} className=\"pt-2.5\">\n\t\t\t\t\t\t\t\t{entries.map((entry, i) => {\n\t\t\t\t\t\t\t\t\tconst isLast = i === entries.length - 1;\n\t\t\t\t\t\t\t\t\tconst isNewAppend = i >= prevCountRef.current;\n\t\t\t\t\t\t\t\t\tconst isReasoning = entry.toolName === 'reasoning';\n\t\t\t\t\t\t\t\t\tconst showFullText =\n\t\t\t\t\t\t\t\t\t\tisReasoning && entry.fullText && entry.fullText.trim();\n\n\t\t\t\t\t\t\t\t\tif (showFullText) {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tkey={entry.id}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"px-1 py-0.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tanimation: isNewAppend\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `ottoEntryIn ${ANIM_MS}ms ${EASING} both`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<p\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`text-[11px] leading-relaxed font-mono whitespace-pre-wrap ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLast\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'text-foreground/80'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'text-muted-foreground/60'\n\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{entry.fullText}\n\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={entry.id}\n\t\t\t\t\t\t\t\t\t\t\tclassName={`flex items-center px-1 text-xs leading-5 h-7 ${\n\t\t\t\t\t\t\t\t\t\t\t\tisLast ? 'text-foreground' : 'text-muted-foreground/70'\n\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\tanimation: isNewAppend\n\t\t\t\t\t\t\t\t\t\t\t\t\t? `ottoEntryIn ${ANIM_MS}ms ${EASING} both`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"block min-w-0 truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t{entry.label}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex items-center text-xs\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\topacity: showSummary ? 1 : 0,\n\t\t\t\t\t\t\theight: showSummary ? '20px' : '0px',\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"block min-w-0 truncate leading-5 text-foreground\"\n\t\t\t\t\t\t\ttitle={summaryText}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{summaryText}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<style>{`@keyframes ottoEntryIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }`}</style>\n\t\t</div>\n\t);\n}\n",
107
106
  "import type { MessagePart } from '../../types/api';\n\nconst EXPLORATION_TOOL_NAMES = new Set([\n\t'read',\n\t'ls',\n\t'tree',\n\t'ripgrep',\n\t'grep',\n\t'glob',\n\t'websearch',\n\t'skill',\n\t'query_sessions',\n\t'query_messages',\n\t'search_history',\n\t'get_session_context',\n\t'get_parent_session',\n]);\n\ninterface CompactActivityEntry {\n\tid: string;\n\tlabel: string;\n\ttoolName?: string;\n\tpath?: string;\n\tquery?: string;\n\turl?: string;\n\tfullText?: string;\n\tstartedAt?: number | null;\n\tcompletedAt?: number | null;\n}\n\ninterface CompactActivitySummary {\n\ttitle: string;\n\tdetails: string[];\n}\n\nfunction getPartPayload(part: MessagePart): Record<string, unknown> | null {\n\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\treturn part.contentJson;\n\t}\n\n\ttry {\n\t\tif (part.content) {\n\t\t\tconst parsed = JSON.parse(part.content);\n\t\t\tif (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {\n\t\t\t\treturn parsed as Record<string, unknown>;\n\t\t\t}\n\t\t}\n\t} catch {}\n\n\treturn null;\n}\n\nfunction getToolArgs(part: MessagePart): Record<string, unknown> {\n\tconst payload = getPartPayload(part);\n\tconst args = payload?.args;\n\tif (args && typeof args === 'object' && !Array.isArray(args)) {\n\t\treturn args as Record<string, unknown>;\n\t}\n\treturn {};\n}\n\nfunction getToolResult(part: MessagePart): Record<string, unknown> {\n\tconst payload = getPartPayload(part);\n\tconst result = payload?.result;\n\tif (result && typeof result === 'object' && !Array.isArray(result)) {\n\t\treturn result as Record<string, unknown>;\n\t}\n\treturn {};\n}\n\nfunction truncate(value: string, max = 56): string {\n\treturn value.length > max ? `${value.slice(0, max - 1)}…` : value;\n}\n\nfunction getReasoningText(part: MessagePart): string {\n\tconst payload = getPartPayload(part);\n\tconst text = payload?.text;\n\tif (typeof text === 'string' && text.trim()) {\n\t\treturn text.trim();\n\t}\n\tif (typeof part.content === 'string') {\n\t\treturn part.content.trim();\n\t}\n\treturn '';\n}\n\nfunction firstMeaningfulLine(value: string): string {\n\tconst line = value\n\t\t.split('\\n')\n\t\t.map((item) => item.trim())\n\t\t.find(Boolean);\n\treturn line || value.trim();\n}\n\nfunction stripInlineMarkdown(value: string): string {\n\treturn value\n\t\t.replace(/^Reasoning:\\s*/i, '')\n\t\t.replace(/^[-*+]\\s+/, '')\n\t\t.replace(/\\[(.*?)\\]\\((.*?)\\)/g, '$1')\n\t\t.replace(/[*_`#>~]+/g, '')\n\t\t.replace(/\\s+/g, ' ')\n\t\t.trim();\n}\n\nfunction getStringField(\n\trecord: Record<string, unknown>,\n\t...keys: string[]\n): string | undefined {\n\tfor (const key of keys) {\n\t\tconst value = record[key];\n\t\tif (typeof value === 'string' && value.trim()) {\n\t\t\treturn value.trim();\n\t\t}\n\t}\n\treturn undefined;\n}\n\n/**\n * Returns true when a message part represents exploratory activity that should\n * be grouped in the compact thread renderer.\n */\nexport function isCompactActivityPart(part: MessagePart): boolean {\n\tif (part.type === 'reasoning') {\n\t\treturn true;\n\t}\n\n\tif (part.type !== 'tool_call' && part.type !== 'tool_result') {\n\t\treturn false;\n\t}\n\n\treturn Boolean(part.toolName && EXPLORATION_TOOL_NAMES.has(part.toolName));\n}\n\n/**\n * Converts a part into a compact activity entry suitable for the rolling log.\n */\nexport function getCompactActivityEntry(\n\tpart: MessagePart,\n): CompactActivityEntry | null {\n\tif (part.type === 'reasoning') {\n\t\tconst rawText = getReasoningText(part);\n\t\tconst reasoning = stripInlineMarkdown(firstMeaningfulLine(rawText));\n\t\treturn {\n\t\t\tid: part.id,\n\t\t\tlabel: reasoning ? truncate(reasoning) : 'Thinking through the approach',\n\t\t\ttoolName: 'reasoning',\n\t\t\tfullText: rawText || undefined,\n\t\t\tstartedAt: part.startedAt,\n\t\t\tcompletedAt: part.completedAt,\n\t\t};\n\t}\n\n\tif (!part.toolName || !EXPLORATION_TOOL_NAMES.has(part.toolName)) {\n\t\treturn null;\n\t}\n\n\tconst args = getToolArgs(part);\n\tconst result = getToolResult(part);\n\n\tif (part.toolName === 'read') {\n\t\tconst path = getStringField(result, 'path') || getStringField(args, 'path');\n\t\treturn {\n\t\t\tid: part.id,\n\t\t\ttoolName: part.toolName,\n\t\t\tpath,\n\t\t\tlabel: path ? `Reading ${truncate(path)}` : 'Reading file contents',\n\t\t\tstartedAt: part.startedAt,\n\t\t\tcompletedAt: part.completedAt,\n\t\t};\n\t}\n\n\tif (part.toolName === 'ls' || part.toolName === 'tree') {\n\t\tconst path = getStringField(args, 'path') || getStringField(result, 'path');\n\t\treturn {\n\t\t\tid: part.id,\n\t\t\ttoolName: part.toolName,\n\t\t\tpath,\n\t\t\tlabel: path ? `Scanning ${truncate(path)}` : 'Scanning the project',\n\t\t\tstartedAt: part.startedAt,\n\t\t\tcompletedAt: part.completedAt,\n\t\t};\n\t}\n\n\tif (\n\t\tpart.toolName === 'ripgrep' ||\n\t\tpart.toolName === 'grep' ||\n\t\tpart.toolName === 'glob'\n\t) {\n\t\tconst query =\n\t\t\tgetStringField(args, 'query', 'pattern', 'filePattern') ||\n\t\t\tgetStringField(result, 'query', 'pattern');\n\t\treturn {\n\t\t\tid: part.id,\n\t\t\ttoolName: part.toolName,\n\t\t\tquery,\n\t\t\tlabel: query ? `Searching for ${truncate(query, 42)}` : 'Searching code',\n\t\t\tstartedAt: part.startedAt,\n\t\t\tcompletedAt: part.completedAt,\n\t\t};\n\t}\n\n\tif (part.toolName === 'websearch') {\n\t\tconst query = getStringField(args, 'query');\n\t\tconst url = getStringField(args, 'url') || getStringField(result, 'url');\n\t\treturn {\n\t\t\tid: part.id,\n\t\t\ttoolName: part.toolName,\n\t\t\tquery,\n\t\t\turl,\n\t\t\tlabel: query\n\t\t\t\t? `Researching ${truncate(query, 42)}`\n\t\t\t\t: url\n\t\t\t\t\t? `Reviewing ${truncate(url, 42)}`\n\t\t\t\t\t: 'Researching references',\n\t\t\tstartedAt: part.startedAt,\n\t\t\tcompletedAt: part.completedAt,\n\t\t};\n\t}\n\n\tif (part.toolName === 'skill') {\n\t\tconst skillName = getStringField(args, 'name');\n\t\treturn {\n\t\t\tid: part.id,\n\t\t\ttoolName: part.toolName,\n\t\t\tlabel: skillName\n\t\t\t\t? `Loading skill ${truncate(skillName, 36)}`\n\t\t\t\t: 'Loading a skill',\n\t\t\tstartedAt: part.startedAt,\n\t\t\tcompletedAt: part.completedAt,\n\t\t};\n\t}\n\n\treturn {\n\t\tid: part.id,\n\t\ttoolName: part.toolName,\n\t\tlabel: 'Reviewing prior context',\n\t\tstartedAt: part.startedAt,\n\t\tcompletedAt: part.completedAt,\n\t};\n}\n\n/**\n * Builds compact activity entries while de-duplicating completed tool calls.\n */\nexport function buildCompactActivityEntries(\n\tparts: MessagePart[],\n): CompactActivityEntry[] {\n\tconst latestToolResults = new Map<string, MessagePart>();\n\n\tfor (const part of parts) {\n\t\tif (part.type === 'tool_result' && part.toolCallId) {\n\t\t\tlatestToolResults.set(part.toolCallId, part);\n\t\t}\n\t}\n\n\tconst entries: CompactActivityEntry[] = [];\n\n\tfor (const part of parts) {\n\t\tif (\n\t\t\tpart.type === 'tool_call' &&\n\t\t\tpart.toolCallId &&\n\t\t\tlatestToolResults.has(part.toolCallId)\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst entry = getCompactActivityEntry(part);\n\t\tif (entry) {\n\t\t\tentries.push(entry);\n\t\t}\n\t}\n\n\treturn entries;\n}\n\nfunction collectReferencedFiles(entries: CompactActivityEntry[]): Set<string> {\n\tconst files = new Set<string>();\n\n\tfor (const entry of entries) {\n\t\tif (entry.path) {\n\t\t\tfiles.add(entry.path);\n\t\t}\n\t}\n\n\treturn files;\n}\n\nfunction computeElapsedMs(entries: CompactActivityEntry[]): number | null {\n\tlet earliest: number | null = null;\n\tlet latest: number | null = null;\n\n\tfor (const entry of entries) {\n\t\tconst start = entry.startedAt ?? null;\n\t\tconst end = entry.completedAt ?? entry.startedAt ?? null;\n\t\tif (start !== null && (earliest === null || start < earliest)) {\n\t\t\tearliest = start;\n\t\t}\n\t\tif (end !== null && (latest === null || end > latest)) {\n\t\t\tlatest = end;\n\t\t}\n\t}\n\n\tif (earliest !== null && latest !== null && latest > earliest) {\n\t\treturn latest - earliest;\n\t}\n\treturn null;\n}\n\nfunction formatDuration(ms: number): string {\n\tconst secs = Math.round(ms / 1000);\n\tif (secs < 60) return `${secs}s`;\n\tconst mins = Math.floor(secs / 60);\n\tconst rem = secs % 60;\n\treturn rem > 0 ? `${mins}m ${rem}s` : `${mins}m`;\n}\n\n/**\n * Summarizes a rolling sequence of exploratory activity for the compact UI.\n */\nexport function summarizeCompactActivities(\n\tentries: CompactActivityEntry[],\n): CompactActivitySummary {\n\tconst files = collectReferencedFiles(entries);\n\tlet searches = 0;\n\tlet scans = 0;\n\tlet webLookups = 0;\n\tlet reasoning = 0;\n\tlet historyLookups = 0;\n\n\tfor (const entry of entries) {\n\t\tswitch (entry.toolName) {\n\t\t\tcase 'reasoning':\n\t\t\t\treasoning += 1;\n\t\t\t\tbreak;\n\t\t\tcase 'read':\n\t\t\t\tbreak;\n\t\t\tcase 'ls':\n\t\t\tcase 'tree':\n\t\t\t\tscans += 1;\n\t\t\t\tbreak;\n\t\t\tcase 'ripgrep':\n\t\t\tcase 'grep':\n\t\t\tcase 'glob':\n\t\t\t\tsearches += 1;\n\t\t\t\tbreak;\n\t\t\tcase 'websearch':\n\t\t\t\twebLookups += 1;\n\t\t\t\tbreak;\n\t\t\tcase 'skill':\n\t\t\tcase 'query_sessions':\n\t\t\tcase 'query_messages':\n\t\t\tcase 'search_history':\n\t\t\tcase 'get_session_context':\n\t\t\tcase 'get_parent_session':\n\t\t\t\thistoryLookups += 1;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tconst hasProjectReview = files.size > 0 || scans > 0;\n\tconst elapsedMs = computeElapsedMs(entries);\n\tconst durationStr = elapsedMs !== null ? formatDuration(elapsedMs) : null;\n\n\tconst isReasoningOnly =\n\t\treasoning > 0 &&\n\t\tfiles.size === 0 &&\n\t\tsearches === 0 &&\n\t\tscans === 0 &&\n\t\twebLookups === 0 &&\n\t\thistoryLookups === 0;\n\n\tconst title = isReasoningOnly\n\t\t? durationStr\n\t\t\t? `Thought for ${durationStr}`\n\t\t\t: 'Thought through the approach'\n\t\t: webLookups > 0\n\t\t\t? hasProjectReview || searches > 0\n\t\t\t\t? 'Researched and reviewed the project'\n\t\t\t\t: 'Researched references'\n\t\t\t: historyLookups > 0 && searches > 0\n\t\t\t\t? 'Reviewed context and searched code'\n\t\t\t\t: hasProjectReview && searches > 0\n\t\t\t\t\t? 'Reviewed files and searched code'\n\t\t\t\t\t: scans > 0\n\t\t\t\t\t\t? 'Explored project structure'\n\t\t\t\t\t\t: files.size > 0\n\t\t\t\t\t\t\t? 'Reviewed project files'\n\t\t\t\t\t\t\t: historyLookups > 0\n\t\t\t\t\t\t\t\t? 'Reviewed prior context'\n\t\t\t\t\t\t\t\t: 'Thought through the approach';\n\n\tconst details: string[] = [];\n\tif (!isReasoningOnly && durationStr) {\n\t\tdetails.push(durationStr);\n\t}\n\tif (files.size > 0) {\n\t\tdetails.push(`${files.size} ${files.size === 1 ? 'file' : 'files'}`);\n\t}\n\tif (searches > 0) {\n\t\tdetails.push(`${searches} ${searches === 1 ? 'search' : 'searches'}`);\n\t}\n\tif (scans > 0 && files.size === 0) {\n\t\tdetails.push(`${scans} ${scans === 1 ? 'scan' : 'scans'}`);\n\t}\n\tif (webLookups > 0) {\n\t\tdetails.push(\n\t\t\t`${webLookups} ${webLookups === 1 ? 'web lookup' : 'web lookups'}`,\n\t\t);\n\t}\n\tif (historyLookups > 0 && title !== 'Reviewed prior context') {\n\t\tdetails.push('prior context');\n\t}\n\tif (reasoning > 0 && !isReasoningOnly) {\n\t\tdetails.push('reasoning');\n\t}\n\tif (details.length === 0 && reasoning === 0) {\n\t\tdetails.push(\n\t\t\t`${entries.length} ${entries.length === 1 ? 'step' : 'steps'}`,\n\t\t);\n\t}\n\n\treturn { title, details };\n}\n\nexport type { CompactActivityEntry, CompactActivitySummary };\n",
108
- "import { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport {\n\tTerminal,\n\tFileEdit,\n\tDiff,\n\tLoader2,\n\ttype LucideIcon,\n} from 'lucide-react';\nimport type { MessagePart } from '../../types/api';\nimport { ToolResultRenderer, type ContentJson } from './renderers';\n\nconst ANIM_MS = 320;\nconst EASING = 'cubic-bezier(0.25, 1, 0.5, 1)';\nconst MAX_SCROLL_H = 140;\n\nfunction getPayload(part: MessagePart): Record<string, unknown> {\n\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\treturn part.contentJson as Record<string, unknown>;\n\t}\n\ttry {\n\t\tif (part.content) {\n\t\t\tconst parsed = JSON.parse(part.content);\n\t\t\tif (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {\n\t\t\t\treturn parsed as Record<string, unknown>;\n\t\t\t}\n\t\t}\n\t} catch {}\n\treturn {};\n}\n\nfunction getStreamedInput(part: MessagePart): string {\n\tconst payload = getPayload(part);\n\treturn typeof payload._streamedInput === 'string'\n\t\t? payload._streamedInput\n\t\t: '';\n}\n\nfunction getStreamedOutput(part: MessagePart): string {\n\tconst payload = getPayload(part);\n\treturn typeof payload._streamedOutput === 'string'\n\t\t? payload._streamedOutput\n\t\t: '';\n}\n\nfunction getArgs(part: MessagePart): Record<string, unknown> | undefined {\n\tconst payload = getPayload(part);\n\tconst args = payload?.args;\n\tif (args && typeof args === 'object' && !Array.isArray(args)) {\n\t\treturn args as Record<string, unknown>;\n\t}\n\treturn undefined;\n}\n\nfunction getPatchTarget(patch: string): string | null {\n\tconst match = patch.match(\n\t\t/^\\*\\*\\*\\s+(?:Update|Add|Delete|Replace in):\\s+(.+)$/m,\n\t);\n\treturn match?.[1]?.trim() || null;\n}\n\nconst TOOL_CONFIG: Record<\n\tstring,\n\t{ Icon: LucideIcon; color: string; label: string }\n> = {\n\tbash: { Icon: Terminal, color: 'text-muted-foreground', label: 'Running' },\n\twrite: {\n\t\tIcon: FileEdit,\n\t\tcolor: 'text-emerald-600 dark:text-emerald-300',\n\t\tlabel: 'Writing',\n\t},\n\tapply_patch: {\n\t\tIcon: Diff,\n\t\tcolor: 'text-purple-600 dark:text-purple-300',\n\t\tlabel: 'Patching',\n\t},\n\tedit: {\n\t\tIcon: FileEdit,\n\t\tcolor: 'text-purple-600 dark:text-purple-300',\n\t\tlabel: 'Editing',\n\t},\n\tterminal: {\n\t\tIcon: Terminal,\n\t\tcolor: 'text-amber-600 dark:text-amber-300',\n\t\tlabel: 'Terminal',\n\t},\n};\n\nfunction getTargetFromArgs(\n\ttoolName: string,\n\targs: Record<string, unknown> | undefined,\n): string {\n\tif (!args) return '';\n\tif (toolName === 'bash') {\n\t\tconst cmd = String(args.cmd || '');\n\t\treturn cmd.length > 80 ? `${cmd.slice(0, 77)}…` : cmd;\n\t}\n\tif (toolName === 'write') return String(args.path || '');\n\tif (toolName === 'edit') return String(args.filePath || args.file || '');\n\tif (toolName === 'apply_patch') {\n\t\tconst patch = String(args.patch || '');\n\t\treturn getPatchTarget(patch) || '';\n\t}\n\treturn '';\n}\n\nfunction getTargetFromStream(toolName: string, raw: string): string {\n\tif (toolName === 'bash') {\n\t\tconst cmd = extractJsonStringField(raw, 'cmd');\n\t\tif (cmd) {\n\t\t\treturn cmd.length > 80 ? `${cmd.slice(0, 77)}…` : cmd;\n\t\t}\n\t}\n\tif (toolName === 'write' || toolName === 'edit') {\n\t\treturn (\n\t\t\textractJsonStringField(raw, 'path') ||\n\t\t\textractJsonStringField(raw, 'filePath')\n\t\t);\n\t}\n\tif (toolName === 'apply_patch') {\n\t\tconst m = raw.match(\n\t\t\t/\\*\\*\\*\\s+(?:Update|Add|Delete|Replace in):\\s+(.+?)(?:\\\\n|\")/,\n\t\t);\n\t\treturn m ? m[1].trim() : '';\n\t}\n\treturn '';\n}\n\nfunction getResultContentJson(part: MessagePart): ContentJson {\n\ttry {\n\t\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\t\treturn part.contentJson as ContentJson;\n\t\t}\n\t\tif (typeof part.content === 'string') {\n\t\t\treturn JSON.parse(part.content);\n\t\t}\n\t} catch {}\n\treturn {};\n}\n\ninterface ActionToolBoxProps {\n\tpart: MessagePart;\n\tshowLine: boolean;\n}\n\nexport function ActionToolBox({ part, showLine }: ActionToolBoxProps) {\n\tconst contentMeasureRef = useRef<HTMLPreElement>(null);\n\tconst scrollRef = useRef<HTMLDivElement>(null);\n\tconst scrollAnimationRef = useRef<number | null>(null);\n\tconst hoveredRef = useRef(false);\n\tconst previousContentLengthRef = useRef(0);\n\tconst [contentHeight, setContentHeight] = useState(0);\n\tconst toolName = part.toolName || '';\n\tconst isComplete = part.type === 'tool_result';\n\tconst config = TOOL_CONFIG[toolName] || {\n\t\tIcon: Terminal,\n\t\tcolor: 'text-muted-foreground',\n\t\tlabel: toolName.replace(/_/g, ' '),\n\t};\n\n\tconst [showSummary, setShowSummary] = useState(() => isComplete);\n\tconst [latched, setLatched] = useState(() => isComplete);\n\n\tconst args = getArgs(part);\n\tconst streamedInput = getStreamedInput(part);\n\tconst streamedOutput = getStreamedOutput(part);\n\tconst target =\n\t\tgetTargetFromArgs(toolName, args) ||\n\t\tgetTargetFromStream(toolName, streamedInput);\n\tconst streamedContent = getContentFromStream(toolName, streamedInput);\n\tconst displayContent =\n\t\ttoolName === 'bash'\n\t\t\t? streamedOutput ||\n\t\t\t\tstreamedContent ||\n\t\t\t\t(args ? getContentFromArgs(toolName, args) : '')\n\t\t\t: args\n\t\t\t\t? getContentFromArgs(toolName, args)\n\t\t\t\t: streamedContent;\n\tconst hasDisplayContent = displayContent.trim().length > 0;\n\n\tuseEffect(() => {\n\t\tif (!isComplete && !latched) {\n\t\t\tsetShowSummary(false);\n\t\t\treturn;\n\t\t}\n\t\tif (!latched && isComplete) {\n\t\t\tsetLatched(true);\n\t\t}\n\t\tif (showSummary) return;\n\t\tif (!isComplete) return;\n\t\tconst t = window.setTimeout(() => setShowSummary(true), 500);\n\t\treturn () => window.clearTimeout(t);\n\t}, [isComplete, showSummary, latched]);\n\n\tuseLayoutEffect(() => {\n\t\tif (!hasDisplayContent) {\n\t\t\tsetContentHeight(0);\n\t\t\treturn;\n\t\t}\n\t\tconst el = contentMeasureRef.current;\n\t\tif (!el) return;\n\t\tconst nextHeight = Math.min(el.scrollHeight, MAX_SCROLL_H - 12);\n\t\tsetContentHeight((prev) => (prev === nextHeight ? prev : nextHeight));\n\t}, [displayContent, hasDisplayContent]);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (scrollAnimationRef.current !== null) {\n\t\t\t\twindow.cancelAnimationFrame(scrollAnimationRef.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: auto-scroll on content change\n\tuseEffect(() => {\n\t\tconst el = scrollRef.current;\n\t\tif (!el || hoveredRef.current) return;\n\t\tconst nextLength = displayContent.length;\n\t\tconst naturalHeight = contentMeasureRef.current?.scrollHeight ?? 0;\n\t\tconst isOverflowing = naturalHeight > contentHeight + 1;\n\t\tconst targetTop = isOverflowing\n\t\t\t? Math.max(0, naturalHeight - contentHeight)\n\t\t\t: 0;\n\n\t\tif (scrollAnimationRef.current !== null) {\n\t\t\twindow.cancelAnimationFrame(scrollAnimationRef.current);\n\t\t\tscrollAnimationRef.current = null;\n\t\t}\n\n\t\tif (!isOverflowing) {\n\t\t\tel.scrollTop = 0;\n\t\t\tpreviousContentLengthRef.current = nextLength;\n\t\t\treturn;\n\t\t}\n\n\t\tif (nextLength <= previousContentLengthRef.current) {\n\t\t\tel.scrollTop = targetTop;\n\t\t\tpreviousContentLengthRef.current = nextLength;\n\t\t\treturn;\n\t\t}\n\n\t\tconst startTop = el.scrollTop;\n\t\tconst distance = targetTop - startTop;\n\t\tif (distance <= 1) {\n\t\t\tel.scrollTop = targetTop;\n\t\t\tpreviousContentLengthRef.current = nextLength;\n\t\t\treturn;\n\t\t}\n\n\t\tconst startTime = performance.now();\n\t\tconst duration = Math.min(360, Math.max(180, distance * 0.9));\n\t\tconst tick = (now: number) => {\n\t\t\tconst progress = Math.min(1, (now - startTime) / duration);\n\t\t\tconst eased = 1 - (1 - progress) ** 3;\n\t\t\tel.scrollTop = startTop + distance * eased;\n\t\t\tif (progress < 1 && !hoveredRef.current) {\n\t\t\t\tscrollAnimationRef.current = window.requestAnimationFrame(tick);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tscrollAnimationRef.current = null;\n\t\t};\n\n\t\tscrollAnimationRef.current = window.requestAnimationFrame(tick);\n\t\tpreviousContentLengthRef.current = nextLength;\n\t}, [displayContent, contentHeight]);\n\n\tconst isLive = !showSummary;\n\n\tconst resultContentJson = isComplete ? getResultContentJson(part) : null;\n\n\treturn (\n\t\t<div className=\"flex gap-3 pb-2 relative max-w-full overflow-hidden\">\n\t\t\t<div className=\"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5\">\n\t\t\t\t<div className=\"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background\">\n\t\t\t\t\t<config.Icon className={`h-4 w-4 ${config.color}`} />\n\t\t\t\t</div>\n\t\t\t\t{showLine && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0\"\n\t\t\t\t\t\tstyle={{ top: '1.25rem', bottom: '-0.5rem' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<div className=\"flex-1 min-w-0 pt-0.5\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"relative rounded-lg overflow-hidden\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tborder: isLive\n\t\t\t\t\t\t\t? '1px solid hsl(var(--border) / 0.6)'\n\t\t\t\t\t\t\t: '1px solid transparent',\n\t\t\t\t\t\tbackground: isLive ? 'hsl(var(--muted) / 0.2)' : 'transparent',\n\t\t\t\t\t\tpadding: isLive ? '8px 12px' : '0px 0px',\n\t\t\t\t\t\ttransition: `border ${ANIM_MS}ms ${EASING}, background ${ANIM_MS}ms ${EASING}, padding ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\topacity: isLive ? 1 : 0,\n\t\t\t\t\t\t\tmaxHeight: isLive ? `${MAX_SCROLL_H + 28}px` : '0px',\n\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, max-height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex items-center gap-2 text-[11px] font-medium uppercase tracking-[0.18em] text-muted-foreground/70\">\n\t\t\t\t\t\t\t<Loader2 className=\"h-3 w-3 animate-spin flex-shrink-0\" />\n\t\t\t\t\t\t\t<span className=\"flex-shrink-0\">{config.label}</span>\n\t\t\t\t\t\t\t{target && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/40 flex-shrink-0\">\n\t\t\t\t\t\t\t\t\t\t·\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"truncate text-foreground/60 lowercase tracking-normal font-normal font-mono\">\n\t\t\t\t\t\t\t\t\t\t{target}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!args && !streamedContent && !streamedOutput && (\n\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/50 animate-pulse lowercase tracking-normal font-normal\">\n\t\t\t\t\t\t\t\t\tgenerating…\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\topacity: hasDisplayContent ? 1 : 0,\n\t\t\t\t\t\t\t\theight: hasDisplayContent ? `${contentHeight + 6}px` : '0px',\n\t\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{displayContent && (\n\t\t\t\t\t\t\t\t<div className=\"pt-1.5\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tref={scrollRef}\n\t\t\t\t\t\t\t\t\t\tclassName=\"overflow-y-auto\"\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\theight: `${contentHeight}px`,\n\t\t\t\t\t\t\t\t\t\t\tmaskImage:\n\t\t\t\t\t\t\t\t\t\t\t\t'linear-gradient(to bottom, transparent 0px, black 20px)',\n\t\t\t\t\t\t\t\t\t\t\tWebkitMaskImage:\n\t\t\t\t\t\t\t\t\t\t\t\t'linear-gradient(to bottom, transparent 0px, black 20px)',\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={() => {\n\t\t\t\t\t\t\t\t\t\t\thoveredRef.current = true;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseLeave={() => {\n\t\t\t\t\t\t\t\t\t\t\thoveredRef.current = false;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<pre\n\t\t\t\t\t\t\t\t\t\t\tref={contentMeasureRef}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"px-1 pt-2.5 pb-1 text-[11px] leading-relaxed text-foreground/60 font-mono whitespace-pre-wrap break-all\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{displayContent}\n\t\t\t\t\t\t\t\t\t\t</pre>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"min-w-0 text-xs\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\topacity: showSummary ? 1 : 0,\n\t\t\t\t\t\t\tmaxHeight: showSummary ? '1200px' : '0px',\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, max-height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{resultContentJson ? (\n\t\t\t\t\t\t\t<div className=\"min-w-0\">\n\t\t\t\t\t\t\t\t<ToolResultRenderer\n\t\t\t\t\t\t\t\t\ttoolName={toolName}\n\t\t\t\t\t\t\t\t\tcontentJson={resultContentJson}\n\t\t\t\t\t\t\t\t\ttoolDurationMs={part.toolDurationMs ?? undefined}\n\t\t\t\t\t\t\t\t\tdebug={false}\n\t\t\t\t\t\t\t\t\tcompact={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className=\"flex min-w-0 items-center\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"block min-w-0 truncate leading-5 text-foreground\"\n\t\t\t\t\t\t\t\t\ttitle={target || config.label}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{target ? `${config.label}\\u00A0· ${target}` : config.label}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction getContentFromArgs(\n\ttoolName: string,\n\targs: Record<string, unknown>,\n): string {\n\tif (toolName === 'bash') return String(args.cmd || '');\n\tif (toolName === 'write') return String(args.content || '');\n\tif (toolName === 'apply_patch') return String(args.patch || '');\n\tif (toolName === 'edit') {\n\t\tconst oldStr = String(args.oldString || '');\n\t\tconst newStr = String(args.newString || '');\n\t\treturn oldStr && newStr ? `- ${oldStr}\\n+ ${newStr}` : newStr || '';\n\t}\n\treturn '';\n}\n\nfunction extractJsonStringField(raw: string, field: string): string {\n\tconst pattern = new RegExp(`\"${field}\"\\\\s*:\\\\s*\"`);\n\tconst m = pattern.exec(raw);\n\tif (!m) return '';\n\tconst start = m.index + m[0].length;\n\tlet result = '';\n\tlet i = start;\n\twhile (i < raw.length) {\n\t\tif (raw[i] === '\\\\' && i + 1 < raw.length) {\n\t\t\tconst next = raw[i + 1];\n\t\t\tif (next === 'n') result += '\\n';\n\t\t\telse if (next === 't') result += '\\t';\n\t\t\telse if (next === '\"') result += '\"';\n\t\t\telse if (next === '\\\\') result += '\\\\';\n\t\t\telse result += next;\n\t\t\ti += 2;\n\t\t} else if (raw[i] === '\"') {\n\t\t\tbreak;\n\t\t} else {\n\t\t\tresult += raw[i];\n\t\t\ti += 1;\n\t\t}\n\t}\n\treturn result;\n}\n\nfunction getContentFromStream(toolName: string, raw: string): string {\n\tif (!raw) return '';\n\tif (toolName === 'bash') return extractJsonStringField(raw, 'cmd');\n\tif (toolName === 'write') return extractJsonStringField(raw, 'content');\n\tif (toolName === 'apply_patch') return extractJsonStringField(raw, 'patch');\n\tif (toolName === 'edit') {\n\t\tconst newStr = extractJsonStringField(raw, 'newString');\n\t\treturn newStr || extractJsonStringField(raw, 'oldString');\n\t}\n\treturn '';\n}\n",
107
+ "import { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport {\n\tTerminal,\n\tFileEdit,\n\tDiff,\n\tLoader2,\n\ttype LucideIcon,\n} from 'lucide-react';\nimport type { MessagePart } from '../../types/api';\nimport { ToolResultRenderer, type ContentJson } from './renderers';\n\nconst ANIM_MS = 320;\nconst EASING = 'cubic-bezier(0.25, 1, 0.5, 1)';\nconst MAX_SCROLL_H = 140;\n\nfunction getPayload(part: MessagePart): Record<string, unknown> {\n\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\treturn part.contentJson as Record<string, unknown>;\n\t}\n\ttry {\n\t\tif (part.content) {\n\t\t\tconst parsed = JSON.parse(part.content);\n\t\t\tif (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {\n\t\t\t\treturn parsed as Record<string, unknown>;\n\t\t\t}\n\t\t}\n\t} catch {}\n\treturn {};\n}\n\nfunction getStreamedInput(part: MessagePart): string {\n\tconst payload = getPayload(part);\n\treturn typeof payload._streamedInput === 'string'\n\t\t? payload._streamedInput\n\t\t: '';\n}\n\nfunction getStreamedOutput(part: MessagePart): string {\n\tconst payload = getPayload(part);\n\treturn typeof payload._streamedOutput === 'string'\n\t\t? payload._streamedOutput\n\t\t: '';\n}\n\nfunction getArgs(part: MessagePart): Record<string, unknown> | undefined {\n\tconst payload = getPayload(part);\n\tconst args = payload?.args;\n\tif (args && typeof args === 'object' && !Array.isArray(args)) {\n\t\treturn args as Record<string, unknown>;\n\t}\n\treturn undefined;\n}\n\nfunction getPatchTarget(patch: string): string | null {\n\tconst match = patch.match(\n\t\t/^\\*\\*\\*\\s+(?:Update|Add|Delete|Replace in):\\s+(.+)$/m,\n\t);\n\treturn match?.[1]?.trim() || null;\n}\n\nconst TOOL_CONFIG: Record<\n\tstring,\n\t{ Icon: LucideIcon; color: string; label: string }\n> = {\n\tbash: { Icon: Terminal, color: 'text-muted-foreground', label: 'Running' },\n\twrite: {\n\t\tIcon: FileEdit,\n\t\tcolor: 'text-emerald-600 dark:text-emerald-300',\n\t\tlabel: 'Writing',\n\t},\n\tapply_patch: {\n\t\tIcon: Diff,\n\t\tcolor: 'text-purple-600 dark:text-purple-300',\n\t\tlabel: 'Patching',\n\t},\n\tterminal: {\n\t\tIcon: Terminal,\n\t\tcolor: 'text-amber-600 dark:text-amber-300',\n\t\tlabel: 'Terminal',\n\t},\n};\n\nfunction getTargetFromArgs(\n\ttoolName: string,\n\targs: Record<string, unknown> | undefined,\n): string {\n\tif (!args) return '';\n\tif (toolName === 'bash') {\n\t\tconst cmd = String(args.cmd || '');\n\t\treturn cmd.length > 80 ? `${cmd.slice(0, 77)}…` : cmd;\n\t}\n\tif (toolName === 'write') return String(args.path || '');\n\tif (toolName === 'apply_patch') {\n\t\tconst patch = String(args.patch || '');\n\t\treturn getPatchTarget(patch) || '';\n\t}\n\treturn '';\n}\n\nfunction getTargetFromStream(toolName: string, raw: string): string {\n\tif (toolName === 'bash') {\n\t\tconst cmd = extractJsonStringField(raw, 'cmd');\n\t\tif (cmd) {\n\t\t\treturn cmd.length > 80 ? `${cmd.slice(0, 77)}…` : cmd;\n\t\t}\n\t}\n\tif (toolName === 'write') {\n\t\treturn (\n\t\t\textractJsonStringField(raw, 'path') ||\n\t\t\textractJsonStringField(raw, 'filePath')\n\t\t);\n\t}\n\tif (toolName === 'apply_patch') {\n\t\tconst m = raw.match(\n\t\t\t/\\*\\*\\*\\s+(?:Update|Add|Delete|Replace in):\\s+(.+?)(?:\\\\n|\")/,\n\t\t);\n\t\treturn m ? m[1].trim() : '';\n\t}\n\treturn '';\n}\n\nfunction getResultContentJson(part: MessagePart): ContentJson {\n\ttry {\n\t\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\t\treturn part.contentJson as ContentJson;\n\t\t}\n\t\tif (typeof part.content === 'string') {\n\t\t\treturn JSON.parse(part.content);\n\t\t}\n\t} catch {}\n\treturn {};\n}\n\ninterface ActionToolBoxProps {\n\tpart: MessagePart;\n\tshowLine: boolean;\n}\n\nexport function ActionToolBox({ part, showLine }: ActionToolBoxProps) {\n\tconst contentMeasureRef = useRef<HTMLPreElement>(null);\n\tconst scrollRef = useRef<HTMLDivElement>(null);\n\tconst scrollAnimationRef = useRef<number | null>(null);\n\tconst hoveredRef = useRef(false);\n\tconst previousContentLengthRef = useRef(0);\n\tconst [contentHeight, setContentHeight] = useState(0);\n\tconst toolName = part.toolName || '';\n\tconst isComplete = part.type === 'tool_result';\n\tconst config = TOOL_CONFIG[toolName] || {\n\t\tIcon: Terminal,\n\t\tcolor: 'text-muted-foreground',\n\t\tlabel: toolName.replace(/_/g, ' '),\n\t};\n\n\tconst [showSummary, setShowSummary] = useState(() => isComplete);\n\tconst [latched, setLatched] = useState(() => isComplete);\n\n\tconst args = getArgs(part);\n\tconst streamedInput = getStreamedInput(part);\n\tconst streamedOutput = getStreamedOutput(part);\n\tconst target =\n\t\tgetTargetFromArgs(toolName, args) ||\n\t\tgetTargetFromStream(toolName, streamedInput);\n\tconst streamedContent = getContentFromStream(toolName, streamedInput);\n\tconst displayContent =\n\t\ttoolName === 'bash'\n\t\t\t? streamedOutput ||\n\t\t\t\tstreamedContent ||\n\t\t\t\t(args ? getContentFromArgs(toolName, args) : '')\n\t\t\t: args\n\t\t\t\t? getContentFromArgs(toolName, args)\n\t\t\t\t: streamedContent;\n\tconst hasDisplayContent = displayContent.trim().length > 0;\n\n\tuseEffect(() => {\n\t\tif (!isComplete && !latched) {\n\t\t\tsetShowSummary(false);\n\t\t\treturn;\n\t\t}\n\t\tif (!latched && isComplete) {\n\t\t\tsetLatched(true);\n\t\t}\n\t\tif (showSummary) return;\n\t\tif (!isComplete) return;\n\t\tconst t = window.setTimeout(() => setShowSummary(true), 500);\n\t\treturn () => window.clearTimeout(t);\n\t}, [isComplete, showSummary, latched]);\n\n\tuseLayoutEffect(() => {\n\t\tif (!hasDisplayContent) {\n\t\t\tsetContentHeight(0);\n\t\t\treturn;\n\t\t}\n\t\tconst el = contentMeasureRef.current;\n\t\tif (!el) return;\n\t\tconst nextHeight = Math.min(el.scrollHeight, MAX_SCROLL_H - 12);\n\t\tsetContentHeight((prev) => (prev === nextHeight ? prev : nextHeight));\n\t}, [displayContent, hasDisplayContent]);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (scrollAnimationRef.current !== null) {\n\t\t\t\twindow.cancelAnimationFrame(scrollAnimationRef.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: auto-scroll on content change\n\tuseEffect(() => {\n\t\tconst el = scrollRef.current;\n\t\tif (!el || hoveredRef.current) return;\n\t\tconst nextLength = displayContent.length;\n\t\tconst naturalHeight = contentMeasureRef.current?.scrollHeight ?? 0;\n\t\tconst isOverflowing = naturalHeight > contentHeight + 1;\n\t\tconst targetTop = isOverflowing\n\t\t\t? Math.max(0, naturalHeight - contentHeight)\n\t\t\t: 0;\n\n\t\tif (scrollAnimationRef.current !== null) {\n\t\t\twindow.cancelAnimationFrame(scrollAnimationRef.current);\n\t\t\tscrollAnimationRef.current = null;\n\t\t}\n\n\t\tif (!isOverflowing) {\n\t\t\tel.scrollTop = 0;\n\t\t\tpreviousContentLengthRef.current = nextLength;\n\t\t\treturn;\n\t\t}\n\n\t\tif (nextLength <= previousContentLengthRef.current) {\n\t\t\tel.scrollTop = targetTop;\n\t\t\tpreviousContentLengthRef.current = nextLength;\n\t\t\treturn;\n\t\t}\n\n\t\tconst startTop = el.scrollTop;\n\t\tconst distance = targetTop - startTop;\n\t\tif (distance <= 1) {\n\t\t\tel.scrollTop = targetTop;\n\t\t\tpreviousContentLengthRef.current = nextLength;\n\t\t\treturn;\n\t\t}\n\n\t\tconst startTime = performance.now();\n\t\tconst duration = Math.min(360, Math.max(180, distance * 0.9));\n\t\tconst tick = (now: number) => {\n\t\t\tconst progress = Math.min(1, (now - startTime) / duration);\n\t\t\tconst eased = 1 - (1 - progress) ** 3;\n\t\t\tel.scrollTop = startTop + distance * eased;\n\t\t\tif (progress < 1 && !hoveredRef.current) {\n\t\t\t\tscrollAnimationRef.current = window.requestAnimationFrame(tick);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tscrollAnimationRef.current = null;\n\t\t};\n\n\t\tscrollAnimationRef.current = window.requestAnimationFrame(tick);\n\t\tpreviousContentLengthRef.current = nextLength;\n\t}, [displayContent, contentHeight]);\n\n\tconst isLive = !showSummary;\n\n\tconst resultContentJson = isComplete ? getResultContentJson(part) : null;\n\n\treturn (\n\t\t<div className=\"flex gap-3 pb-2 relative max-w-full overflow-hidden\">\n\t\t\t<div className=\"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5\">\n\t\t\t\t<div className=\"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background\">\n\t\t\t\t\t<config.Icon className={`h-4 w-4 ${config.color}`} />\n\t\t\t\t</div>\n\t\t\t\t{showLine && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0\"\n\t\t\t\t\t\tstyle={{ top: '1.25rem', bottom: '-0.5rem' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<div className=\"flex-1 min-w-0 pt-0.5\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"relative rounded-lg overflow-hidden\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tborder: isLive\n\t\t\t\t\t\t\t? '1px solid hsl(var(--border) / 0.6)'\n\t\t\t\t\t\t\t: '1px solid transparent',\n\t\t\t\t\t\tbackground: isLive ? 'hsl(var(--muted) / 0.2)' : 'transparent',\n\t\t\t\t\t\tpadding: isLive ? '8px 12px' : '0px 0px',\n\t\t\t\t\t\ttransition: `border ${ANIM_MS}ms ${EASING}, background ${ANIM_MS}ms ${EASING}, padding ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\topacity: isLive ? 1 : 0,\n\t\t\t\t\t\t\tmaxHeight: isLive ? `${MAX_SCROLL_H + 28}px` : '0px',\n\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, max-height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex items-center gap-2 text-[11px] font-medium uppercase tracking-[0.18em] text-muted-foreground/70\">\n\t\t\t\t\t\t\t<Loader2 className=\"h-3 w-3 animate-spin flex-shrink-0\" />\n\t\t\t\t\t\t\t<span className=\"flex-shrink-0\">{config.label}</span>\n\t\t\t\t\t\t\t{target && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/40 flex-shrink-0\">\n\t\t\t\t\t\t\t\t\t\t·\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"truncate text-foreground/60 lowercase tracking-normal font-normal font-mono\">\n\t\t\t\t\t\t\t\t\t\t{target}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!args && !streamedContent && !streamedOutput && (\n\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/50 animate-pulse lowercase tracking-normal font-normal\">\n\t\t\t\t\t\t\t\t\tgenerating…\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\topacity: hasDisplayContent ? 1 : 0,\n\t\t\t\t\t\t\t\theight: hasDisplayContent ? `${contentHeight + 6}px` : '0px',\n\t\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{displayContent && (\n\t\t\t\t\t\t\t\t<div className=\"pt-1.5\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tref={scrollRef}\n\t\t\t\t\t\t\t\t\t\tclassName=\"overflow-y-auto\"\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\theight: `${contentHeight}px`,\n\t\t\t\t\t\t\t\t\t\t\tmaskImage:\n\t\t\t\t\t\t\t\t\t\t\t\t'linear-gradient(to bottom, transparent 0px, black 20px)',\n\t\t\t\t\t\t\t\t\t\t\tWebkitMaskImage:\n\t\t\t\t\t\t\t\t\t\t\t\t'linear-gradient(to bottom, transparent 0px, black 20px)',\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={() => {\n\t\t\t\t\t\t\t\t\t\t\thoveredRef.current = true;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseLeave={() => {\n\t\t\t\t\t\t\t\t\t\t\thoveredRef.current = false;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<pre\n\t\t\t\t\t\t\t\t\t\t\tref={contentMeasureRef}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"px-1 pt-2.5 pb-1 text-[11px] leading-relaxed text-foreground/60 font-mono whitespace-pre-wrap break-all\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{displayContent}\n\t\t\t\t\t\t\t\t\t\t</pre>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"min-w-0 text-xs\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\topacity: showSummary ? 1 : 0,\n\t\t\t\t\t\t\tmaxHeight: showSummary ? '1200px' : '0px',\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, max-height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{resultContentJson ? (\n\t\t\t\t\t\t\t<div className=\"min-w-0\">\n\t\t\t\t\t\t\t\t<ToolResultRenderer\n\t\t\t\t\t\t\t\t\ttoolName={toolName}\n\t\t\t\t\t\t\t\t\tcontentJson={resultContentJson}\n\t\t\t\t\t\t\t\t\ttoolDurationMs={part.toolDurationMs ?? undefined}\n\t\t\t\t\t\t\t\t\tdebug={false}\n\t\t\t\t\t\t\t\t\tcompact={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className=\"flex min-w-0 items-center\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"block min-w-0 truncate leading-5 text-foreground\"\n\t\t\t\t\t\t\t\t\ttitle={target || config.label}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{target ? `${config.label}\\u00A0· ${target}` : config.label}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction getContentFromArgs(\n\ttoolName: string,\n\targs: Record<string, unknown>,\n): string {\n\tif (toolName === 'bash') return String(args.cmd || '');\n\tif (toolName === 'write') return String(args.content || '');\n\tif (toolName === 'apply_patch') return String(args.patch || '');\n\treturn '';\n}\n\nfunction extractJsonStringField(raw: string, field: string): string {\n\tconst pattern = new RegExp(`\"${field}\"\\\\s*:\\\\s*\"`);\n\tconst m = pattern.exec(raw);\n\tif (!m) return '';\n\tconst start = m.index + m[0].length;\n\tlet result = '';\n\tlet i = start;\n\twhile (i < raw.length) {\n\t\tif (raw[i] === '\\\\' && i + 1 < raw.length) {\n\t\t\tconst next = raw[i + 1];\n\t\t\tif (next === 'n') result += '\\n';\n\t\t\telse if (next === 't') result += '\\t';\n\t\t\telse if (next === '\"') result += '\"';\n\t\t\telse if (next === '\\\\') result += '\\\\';\n\t\t\telse result += next;\n\t\t\ti += 2;\n\t\t} else if (raw[i] === '\"') {\n\t\t\tbreak;\n\t\t} else {\n\t\t\tresult += raw[i];\n\t\t\ti += 1;\n\t\t}\n\t}\n\treturn result;\n}\n\nfunction getContentFromStream(toolName: string, raw: string): string {\n\tif (!raw) return '';\n\tif (toolName === 'bash') return extractJsonStringField(raw, 'cmd');\n\tif (toolName === 'write') return extractJsonStringField(raw, 'content');\n\tif (toolName === 'apply_patch') return extractJsonStringField(raw, 'patch');\n\treturn '';\n}\n",
109
108
  "import { useQuery } from '@tanstack/react-query';\n\nexport type QueueState = {\n\tcurrentMessageId: string | null;\n\tqueuedMessages: Array<{ messageId: string; position: number }>;\n\tqueueLength: number;\n};\n\nconst defaultQueueState: QueueState = {\n\tcurrentMessageId: null,\n\tqueuedMessages: [],\n\tqueueLength: 0,\n};\n\nexport function useQueueState(sessionId: string | undefined): QueueState {\n\tconst { data } = useQuery<QueueState>({\n\t\tqueryKey: ['queueState', sessionId],\n\t\tqueryFn: () => defaultQueueState,\n\t\tenabled: !!sessionId,\n\t\tinitialData: defaultQueueState,\n\t\tstaleTime: Infinity,\n\t});\n\n\treturn data ?? defaultQueueState;\n}\n\nexport function useMessageQueuePosition(\n\tsessionId: string | undefined,\n\tmessageId: string,\n): { isQueued: boolean; isRunning: boolean; position: number | null } {\n\tconst queueState = useQueueState(sessionId);\n\n\tif (!sessionId || !queueState) {\n\t\treturn { isQueued: false, isRunning: false, position: null };\n\t}\n\n\tif (queueState.currentMessageId === messageId) {\n\t\treturn { isQueued: false, isRunning: true, position: null };\n\t}\n\n\tconst queuedItem = queueState.queuedMessages.find(\n\t\t(item) => item.messageId === messageId,\n\t);\n\n\tif (queuedItem) {\n\t\treturn { isQueued: true, isRunning: false, position: queuedItem.position };\n\t}\n\n\treturn { isQueued: false, isRunning: false, position: null };\n}\n",
110
109
  "import { useState, useId } from 'react';\nimport { GitBranch, Loader2 } from 'lucide-react';\nimport { Modal } from '../ui/Modal';\nimport { useCreateBranch } from '../../hooks/useBranch';\nimport { useSession } from '../../hooks/useSessions';\nimport type { Message } from '../../types/api';\n\ninterface BranchModalProps {\n\tisOpen: boolean;\n\tonClose: () => void;\n\tsessionId: string;\n\tmessage: Message;\n\tonBranchCreated?: (newSessionId: string) => void;\n}\n\nexport function BranchModal({\n\tisOpen,\n\tonClose,\n\tsessionId,\n\tmessage,\n\tonBranchCreated,\n}: BranchModalProps) {\n\tconst session = useSession(sessionId);\n\tconst createBranch = useCreateBranch(sessionId);\n\n\tconst [title, setTitle] = useState('');\n\tconst [useCurrentConfig, setUseCurrentConfig] = useState(true);\n\tconst titleId = useId();\n\tconst configId = useId();\n\n\tconst messagePreview =\n\t\tmessage.parts?.find((p) => p.type === 'text')?.content || '';\n\tconst parsedPreview = (() => {\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(messagePreview);\n\t\t\treturn parsed?.text?.slice(0, 100) || '';\n\t\t} catch {\n\t\t\treturn messagePreview.slice(0, 100);\n\t\t}\n\t})();\n\n\tconst handleSubmit = async (e: React.FormEvent) => {\n\t\te.preventDefault();\n\n\t\ttry {\n\t\t\tconst result = await createBranch.mutateAsync({\n\t\t\t\tfromMessageId: message.id,\n\t\t\t\ttitle: title.trim() || undefined,\n\t\t\t\tprovider: useCurrentConfig ? session?.provider : undefined,\n\t\t\t\tmodel: useCurrentConfig ? session?.model : undefined,\n\t\t\t\tagent: useCurrentConfig ? session?.agent : undefined,\n\t\t\t});\n\n\t\t\tonClose();\n\t\t\tif (onBranchCreated && result.session) {\n\t\t\t\tonBranchCreated(result.session.id);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to create branch:', error);\n\t\t}\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\tisOpen={isOpen}\n\t\t\tonClose={onClose}\n\t\t\ttitle={\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<GitBranch className=\"h-5 w-5 text-primary\" />\n\t\t\t\t\t<span>Branch Session</span>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\tmaxWidth=\"md\"\n\t\t>\n\t\t\t<form onSubmit={handleSubmit} className=\"space-y-4\">\n\t\t\t\t<div className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t<p>Creating branch from message:</p>\n\t\t\t\t\t<p className=\"mt-1 p-2 bg-muted/50 rounded text-foreground italic truncate\">\n\t\t\t\t\t\t\"{parsedPreview}...\"\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t<label\n\t\t\t\t\t\thtmlFor={titleId}\n\t\t\t\t\t\tclassName=\"block text-sm font-medium text-foreground\"\n\t\t\t\t\t>\n\t\t\t\t\t\tBranch Title (optional)\n\t\t\t\t\t</label>\n\t\t\t\t\t<input\n\t\t\t\t\t\tid={titleId}\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tvalue={title}\n\t\t\t\t\t\tonChange={(e) => setTitle(e.target.value)}\n\t\t\t\t\t\tplaceholder={`Branch of ${session?.title || 'Untitled'}`}\n\t\t\t\t\t\tclassName=\"w-full px-3 py-2 bg-background border border-border rounded-md text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/50\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tid={configId}\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\tchecked={useCurrentConfig}\n\t\t\t\t\t\tonChange={(e) => setUseCurrentConfig(e.target.checked)}\n\t\t\t\t\t\tclassName=\"h-4 w-4 rounded border-border text-primary focus:ring-primary/50\"\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor={configId} className=\"text-sm text-foreground\">\n\t\t\t\t\t\tUse same provider/model/agent as parent\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\n\t\t\t\t{session && (\n\t\t\t\t\t<div className=\"text-xs text-muted-foreground bg-muted/30 rounded p-2\">\n\t\t\t\t\t\t<div className=\"flex gap-4\">\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<strong>Provider:</strong> {session.provider}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<strong>Model:</strong> {session.model}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<strong>Agent:</strong> {session.agent}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t<div className=\"flex justify-end gap-2 pt-2\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={onClose}\n\t\t\t\t\t\tclassName=\"px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t>\n\t\t\t\t\t\tCancel\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tdisabled={createBranch.isPending}\n\t\t\t\t\t\tclassName=\"px-4 py-2 text-sm bg-primary text-primary-foreground rounded-md hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{createBranch.isPending ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Loader2 className=\"h-4 w-4 animate-spin\" />\n\t\t\t\t\t\t\t\tCreating...\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<GitBranch className=\"h-4 w-4\" />\n\t\t\t\t\t\t\t\tCreate Branch\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\n\t\t\t\t{createBranch.isError && (\n\t\t\t\t\t<p className=\"text-sm text-red-500\">\n\t\t\t\t\t\t{createBranch.error?.message || 'Failed to create branch'}\n\t\t\t\t\t</p>\n\t\t\t\t)}\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n",
111
110
  "import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\nimport type { CreateBranchRequest } from '../types/api';\nimport { sessionsQueryKey } from './useSessions';\n\nexport function useCreateBranch(sessionId: string | undefined) {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (data: CreateBranchRequest) => {\n\t\t\tif (!sessionId) throw new Error('No session ID');\n\t\t\treturn apiClient.createBranch(sessionId, data);\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: sessionsQueryKey });\n\t\t\tif (sessionId) {\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: ['branches', sessionId],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n}\n\nexport function useBranches(sessionId: string | undefined) {\n\treturn useQuery({\n\t\tqueryKey: ['branches', sessionId],\n\t\tqueryFn: () => {\n\t\t\tif (!sessionId) throw new Error('No session ID');\n\t\t\treturn apiClient.listBranches(sessionId);\n\t\t},\n\t\tenabled: Boolean(sessionId),\n\t});\n}\n\nexport function useParentSession(sessionId: string | undefined) {\n\treturn useQuery({\n\t\tqueryKey: ['parentSession', sessionId],\n\t\tqueryFn: () => {\n\t\t\tif (!sessionId) throw new Error('No session ID');\n\t\t\treturn apiClient.getParentSession(sessionId);\n\t\t},\n\t\tenabled: Boolean(sessionId),\n\t});\n}\n",
112
111
  "import { memo, useState, type ComponentPropsWithoutRef } from 'react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport {\n\tUser,\n\tX,\n\tFileText,\n\tFileIcon,\n\tClock,\n\tTrash2,\n\tRotateCcw,\n\tFlaskConical,\n} from 'lucide-react';\nimport ReactMarkdown from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\nimport type { Message } from '../../types/api';\nimport { useMessageQueuePosition } from '../../hooks/useQueueState';\nimport { useQueueStore } from '../../stores/queueStore';\nimport { apiClient } from '../../lib/api-client';\nimport { parseResearchContext } from '../../lib/parseResearchContext';\n\ninterface UserMessageGroupProps {\n\tsessionId?: string;\n\tmessage: Message;\n\tisFirst: boolean;\n\tnextAssistantMessageId?: string;\n}\n\ninterface ImageData {\n\tdata: string;\n\tmediaType: string;\n}\n\ninterface FileData {\n\ttype: 'image' | 'pdf' | 'text';\n\tname: string;\n\tdata: string;\n\tmediaType: string;\n\ttextContent?: string;\n}\n\nexport const UserMessageGroup = memo(\n\tfunction UserMessageGroup({\n\t\tsessionId,\n\t\tmessage,\n\t\tnextAssistantMessageId,\n\t}: UserMessageGroupProps) {\n\t\tconst [expandedImage, setExpandedImage] = useState<string | null>(null);\n\t\tconst parts = message.parts || [];\n\t\tconst queryClient = useQueryClient();\n\n\t\tconst { isQueued, position } = useMessageQueuePosition(\n\t\t\tsessionId,\n\t\t\tnextAssistantMessageId ?? '',\n\t\t);\n\t\tconst setPendingRestoreText = useQueueStore(\n\t\t\t(state) => state.setPendingRestoreText,\n\t\t);\n\n\t\tconst textParts = parts.filter((p) => p.type === 'text');\n\t\tconst imageParts = parts.filter((p) => p.type === 'image');\n\t\tconst fileParts = parts.filter((p) => p.type === 'file');\n\n\t\tconst firstTextPart = textParts[0];\n\t\tlet rawContent = '';\n\n\t\tif (firstTextPart) {\n\t\t\tconst data = firstTextPart.contentJson || firstTextPart.content;\n\t\t\tif (data && typeof data === 'object' && 'text' in data) {\n\t\t\t\trawContent = String(data.text);\n\t\t\t} else if (typeof data === 'string') {\n\t\t\t\trawContent = data;\n\t\t\t} else if (data) {\n\t\t\t\trawContent = JSON.stringify(data, null, 2);\n\t\t\t}\n\t\t}\n\n\t\tconst { researchContexts: parsedResearchContexts, cleanContent: content } =\n\t\t\tparseResearchContext(rawContent);\n\n\t\tconst images: Array<{ id: string; src: string }> = [];\n\t\tfor (const part of imageParts) {\n\t\t\ttry {\n\t\t\t\tconst data = part.contentJson || JSON.parse(part.content || '{}');\n\t\t\t\tif (data && typeof data === 'object' && 'data' in data) {\n\t\t\t\t\tconst imgData = data as ImageData;\n\t\t\t\t\tconst src = `data:${imgData.mediaType};base64,${imgData.data}`;\n\t\t\t\t\timages.push({ id: part.id, src });\n\t\t\t\t}\n\t\t\t} catch {}\n\t\t}\n\n\t\tconst files: Array<{ id: string; type: string; name: string }> = [];\n\t\tfor (const part of fileParts) {\n\t\t\ttry {\n\t\t\t\tconst data = part.contentJson || JSON.parse(part.content || '{}');\n\t\t\t\tif (data && typeof data === 'object' && 'type' in data) {\n\t\t\t\t\tconst fileData = data as FileData;\n\t\t\t\t\tif (fileData.type === 'image' && fileData.data) {\n\t\t\t\t\t\tconst src = `data:${fileData.mediaType};base64,${fileData.data}`;\n\t\t\t\t\t\timages.push({ id: part.id, src });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfiles.push({\n\t\t\t\t\t\t\tid: part.id,\n\t\t\t\t\t\t\ttype: fileData.type,\n\t\t\t\t\t\t\tname: fileData.name,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch {}\n\t\t}\n\n\t\tconst formatTime = (ts?: number) => {\n\t\t\tif (!ts) return '';\n\t\t\tconst date = new Date(ts);\n\t\t\treturn date.toLocaleTimeString([], {\n\t\t\t\thour: '2-digit',\n\t\t\t\tminute: '2-digit',\n\t\t\t});\n\t\t};\n\n\t\tconst hasContent = content.trim().length > 0;\n\t\tconst hasImages = images.length > 0;\n\t\tconst hasFiles = files.length > 0;\n\t\tconst hasResearchContexts = parsedResearchContexts.length > 0;\n\n\t\tif (!hasContent && !hasImages && !hasFiles && !hasResearchContexts)\n\t\t\treturn null;\n\n\t\tconst handleCancel = async () => {\n\t\t\tif (!sessionId || !nextAssistantMessageId) return;\n\t\t\tsetPendingRestoreText(content);\n\t\t\ttry {\n\t\t\t\tawait apiClient.removeFromQueue(sessionId, nextAssistantMessageId);\n\t\t\t\t// Invalidate messages to refresh UI\n\t\t\t\tqueryClient.invalidateQueries({ queryKey: ['messages', sessionId] });\n\t\t\t} catch (err) {\n\t\t\t\tconsole.error('Failed to cancel queued message:', err);\n\t\t\t}\n\t\t};\n\n\t\tconst handleDelete = async () => {\n\t\t\tif (!sessionId || !nextAssistantMessageId) return;\n\t\t\ttry {\n\t\t\t\tawait apiClient.removeFromQueue(sessionId, nextAssistantMessageId);\n\t\t\t\t// Invalidate messages to refresh UI\n\t\t\t\tqueryClient.invalidateQueries({ queryKey: ['messages', sessionId] });\n\t\t\t} catch (err) {\n\t\t\t\tconsole.error('Failed to delete queued message:', err);\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div className=\"relative pb-8 pt-6\">\n\t\t\t\t\t<div className=\"flex gap-3 md:gap-4 justify-end\">\n\t\t\t\t\t\t<div className=\"flex flex-col items-end min-w-0 flex-1 max-w-[calc(100%-3rem)] md:max-w-2xl\">\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 text-xs text-muted-foreground pb-2 justify-end\">\n\t\t\t\t\t\t\t\t<span className=\"font-medium text-emerald-700 dark:text-emerald-300\">\n\t\t\t\t\t\t\t\t\tYou\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t{message.createdAt && <span>·</span>}\n\t\t\t\t\t\t\t\t{message.createdAt && (\n\t\t\t\t\t\t\t\t\t<span>{formatTime(message.createdAt)}</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{isQueued && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<span>·</span>\n\t\t\t\t\t\t\t\t\t\t<span className=\"inline-flex items-center gap-1 text-amber-600 dark:text-amber-400\">\n\t\t\t\t\t\t\t\t\t\t\t<Clock className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t\t\t\tQueued\n\t\t\t\t\t\t\t\t\t\t\t{position !== null && position > 0\n\t\t\t\t\t\t\t\t\t\t\t\t? ` #${position + 1}`\n\t\t\t\t\t\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"inline-block max-w-full text-sm text-foreground leading-relaxed bg-emerald-500/5 border border-emerald-500/20 rounded-xl px-4 py-3 [word-break:break-word] overflow-hidden\">\n\t\t\t\t\t\t\t\t{hasImages && (\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2 mb-2\">\n\t\t\t\t\t\t\t\t\t\t{images.map((img) => (\n\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\tkey={img.id}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => setExpandedImage(img.src)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-16 h-16 rounded-lg overflow-hidden bg-muted hover:ring-2 hover:ring-primary/50 transition-all\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={img.src}\n\t\t\t\t\t\t\t\t\t\t\t\t\talt=\"Attachment\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-full object-cover\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{hasFiles && (\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2 mb-2\">\n\t\t\t\t\t\t\t\t\t\t{files.map((file) => (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tkey={file.id}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-2 px-3 py-2 rounded-lg bg-muted/50 border border-border\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{file.type === 'pdf' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FileIcon className=\"w-4 h-4 text-red-500 flex-shrink-0\" />\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FileText className=\"w-4 h-4 text-blue-500 flex-shrink-0\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs truncate max-w-[150px]\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{file.name}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{hasResearchContexts && (\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2 mb-2\">\n\t\t\t\t\t\t\t\t\t\t{parsedResearchContexts.map((ctx) => (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ctx.id}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-2 px-3 py-2 rounded-lg bg-teal-500/10 border border-teal-500/30\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<FlaskConical className=\"w-4 h-4 text-teal-500 flex-shrink-0\" />\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs text-teal-600 dark:text-teal-400\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ctx.label}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{hasContent && (\n\t\t\t\t\t\t\t\t\t<div className=\"prose prose-invert prose-sm [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 [&_*]:[word-break:break-word] [&_*]:overflow-wrap-anywhere whitespace-pre-wrap\">\n\t\t\t\t\t\t\t\t\t\t<ReactMarkdown\n\t\t\t\t\t\t\t\t\t\t\tremarkPlugins={[remarkGfm]}\n\t\t\t\t\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\t\t\t\t\ta: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t\t\t\t\t\t\t\t...props\n\t\t\t\t\t\t\t\t\t\t\t\t}: ComponentPropsWithoutRef<'a'>) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thref={href}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (window.self !== window.top && href) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twindow.parent.postMessage(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'otto-open-url',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\turl: href,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'*',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{content.replace(/\\n/g, ' \\n')}\n\t\t\t\t\t\t\t\t\t\t</ReactMarkdown>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{isQueued && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 mt-2\">\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleCancel}\n\t\t\t\t\t\t\t\t\t\tclassName=\"inline-flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t\t\t\t\t\ttitle=\"Cancel and restore to input\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<RotateCcw className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleDelete}\n\t\t\t\t\t\t\t\t\t\tclassName=\"inline-flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md bg-destructive/10 hover:bg-destructive/20 text-destructive transition-colors\"\n\t\t\t\t\t\t\t\t\t\ttitle=\"Delete from queue\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Trash2 className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t\t\tDelete\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-shrink-0 w-8 flex items-start justify-center\">\n\t\t\t\t\t\t\t<div className=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-full border-2 border-emerald-500/50 bg-emerald-500/20 dark:bg-emerald-500/10 relative bg-background\">\n\t\t\t\t\t\t\t\t<User className=\"h-4 w-4 text-emerald-700 dark:text-emerald-300\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{expandedImage && (\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\tclassName=\"fixed inset-0 z-50 flex items-center justify-center bg-black/80 p-4\"\n\t\t\t\t\t\tonClick={() => setExpandedImage(null)}\n\t\t\t\t\t\tonKeyDown={(e) => e.key === 'Escape' && setExpandedImage(null)}\n\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => setExpandedImage(null)}\n\t\t\t\t\t\t\tclassName=\"absolute top-4 right-4 p-2 rounded-full bg-white/10 hover:bg-white/20 transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<X className=\"w-6 h-6 text-white\" />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={expandedImage}\n\t\t\t\t\t\t\talt=\"Expanded attachment\"\n\t\t\t\t\t\t\tclassName=\"max-w-full max-h-full object-contain rounded-lg\"\n\t\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t\t\t\tonKeyDown={(e) => e.key === 'Enter' && e.stopPropagation()}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</>\n\t\t);\n\t},\n\t(prevProps, nextProps) => {\n\t\tconst prevFirstPart = prevProps.message.parts?.[0];\n\t\tconst nextFirstPart = nextProps.message.parts?.[0];\n\n\t\treturn (\n\t\t\tprevProps.message.id === nextProps.message.id &&\n\t\t\tprevFirstPart?.content === nextFirstPart?.content &&\n\t\t\tprevFirstPart?.contentJson === nextFirstPart?.contentJson &&\n\t\t\tprevProps.message.createdAt === nextProps.message.createdAt &&\n\t\t\tprevProps.message.parts?.length === nextProps.message.parts?.length &&\n\t\t\tprevProps.sessionId === nextProps.sessionId &&\n\t\t\tprevProps.nextAssistantMessageId === nextProps.nextAssistantMessageId\n\t\t);\n\t},\n);\n",
113
112
  "import { useMemo } from 'react';\nimport {\n\testimateModelCostUsd,\n\ttype ProviderId,\n\tgetModelInfo,\n} from '@ottocode/sdk/browser';\nimport type { Session } from '../../types/api';\nimport {\n\tClock,\n\tDollarSign,\n\tGitBranch,\n\tArrowUpRight,\n\tShare2,\n\tExternalLink,\n\tRefreshCw,\n} from 'lucide-react';\nimport { useParentSession } from '../../hooks/useBranch';\nimport { usePreferences } from '../../hooks/usePreferences';\nimport { useShareStatus } from '../../hooks/useShareStatus';\nimport { ProviderLogo } from '../common/ProviderLogo';\nimport { openUrl } from '../../lib/open-url';\nimport { EditableTitle } from './EditableTitle';\n\ninterface SessionHeaderProps {\n\tsession: Session;\n\tonNavigateToSession?: (sessionId: string) => void;\n}\n\nexport function SessionHeader({\n\tsession,\n\tonNavigateToSession,\n}: SessionHeaderProps) {\n\tconst { data: parentData } = useParentSession(\n\t\tsession.sessionType === 'branch' ? session.id : undefined,\n\t);\n\tconst { preferences } = usePreferences();\n\tconst { data: shareStatus } = useShareStatus(session.id);\n\n\tconst estimatedCost = useMemo(() => {\n\t\tconst inputTokens = session.totalInputTokens || 0;\n\t\tconst outputTokens = session.totalOutputTokens || 0;\n\t\tconst cachedInputTokens = session.totalCachedTokens || 0;\n\t\tconst cacheCreationInputTokens = session.totalCacheCreationTokens || 0;\n\t\treturn (\n\t\t\testimateModelCostUsd(session.provider as ProviderId, session.model, {\n\t\t\t\tinputTokens,\n\t\t\t\toutputTokens,\n\t\t\t\tcachedInputTokens,\n\t\t\t\tcacheCreationInputTokens,\n\t\t\t}) ?? 0\n\t\t);\n\t}, [\n\t\tsession.provider,\n\t\tsession.model,\n\t\tsession.totalInputTokens,\n\t\tsession.totalOutputTokens,\n\t\tsession.totalCachedTokens,\n\t\tsession.totalCacheCreationTokens,\n\t]);\n\n\tconst formatDuration = (ms: number | null) => {\n\t\tif (!ms) return '0s';\n\t\tconst seconds = Math.floor(ms / 1000);\n\t\tconst minutes = Math.floor(seconds / 60);\n\t\tconst hours = Math.floor(minutes / 60);\n\t\tif (hours > 0) return `${hours}h ${minutes % 60}m`;\n\t\tif (minutes > 0) return `${minutes}m ${seconds % 60}s`;\n\t\treturn `${seconds}s`;\n\t};\n\n\tconst formatNumber = (num: number) => num.toLocaleString('en-US');\n\n\tconst formatCompactNumber = (num: number) => {\n\t\tif (num >= 1000000) return `${(num / 1000000).toFixed(1)}M`;\n\t\tif (num >= 1000) return `${(num / 1000).toFixed(1)}K`;\n\t\treturn num.toString();\n\t};\n\n\tconst contextTokens = session.currentContextTokens || 0;\n\tconst outputTokens = session.totalOutputTokens || 0;\n\n\tconst isBranch = session.sessionType === 'branch';\n\tconst parentSession = parentData?.parent;\n\n\t// Calculate context usage for color indication\n\tconst contextLimit = useMemo(() => {\n\t\tconst info = getModelInfo(session.provider as ProviderId, session.model);\n\t\treturn info?.limit?.context;\n\t}, [session.provider, session.model]);\n\n\tconst contextUsagePercent = contextLimit\n\t\t? (contextTokens / contextLimit) * 100\n\t\t: 0;\n\n\tconst getContextColorClass = () => {\n\t\tif (contextUsagePercent >= 90) return 'text-red-600 dark:text-red-400';\n\t\tif (contextUsagePercent >= 70) return 'text-amber-600 dark:text-amber-400';\n\t\treturn 'text-foreground';\n\t};\n\n\tconst headerWidthClass = preferences.fullWidthContent\n\t\t? 'w-full px-6 py-6'\n\t\t: 'max-w-3xl mx-auto px-6 py-6';\n\n\treturn (\n\t\t<div className=\"border-b border-border bg-background/95 backdrop-blur-sm\">\n\t\t\t<div className={headerWidthClass}>\n\t\t\t\t{isBranch && (\n\t\t\t\t\t<div className=\"flex items-center gap-2 mb-3 text-sm\">\n\t\t\t\t\t\t<GitBranch className=\"h-4 w-4 text-violet-500\" />\n\t\t\t\t\t\t<span className=\"text-violet-600 dark:text-violet-400 font-medium\">\n\t\t\t\t\t\t\tBranch\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{parentSession && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">from</span>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={() => onNavigateToSession?.(parentSession.id)}\n\t\t\t\t\t\t\t\t\tclassName=\"text-primary hover:underline flex items-center gap-1\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{parentSession.title ||\n\t\t\t\t\t\t\t\t\t\t`Session ${parentSession.id.slice(0, 8)}`}\n\t\t\t\t\t\t\t\t\t<ArrowUpRight className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!parentSession && session.parentSessionId && (\n\t\t\t\t\t\t\t<span className=\"text-muted-foreground italic text-xs\">\n\t\t\t\t\t\t\t\t(parent deleted)\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<EditableTitle\n\t\t\t\t\t\tsessionId={session.id}\n\t\t\t\t\t\ttitle={session.title}\n\t\t\t\t\t\tclassName=\"text-2xl font-semibold text-foreground leading-tight\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t{shareStatus?.shared && (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => openUrl(shareStatus.url)}\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-2 py-1 rounded-md bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 hover:bg-emerald-500/20 transition-colors text-xs font-medium flex-shrink-0\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Share2 className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t<span>Shared</span>\n\t\t\t\t\t\t\t{shareStatus.pendingMessages &&\n\t\t\t\t\t\t\tshareStatus.pendingMessages > 0 ? (\n\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-0.5 text-amber-600 dark:text-amber-400\">\n\t\t\t\t\t\t\t\t\t<RefreshCw className=\"h-2.5 w-2.5\" />\n\t\t\t\t\t\t\t\t\t{shareStatus.pendingMessages}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ExternalLink className=\"h-2.5 w-2.5 opacity-60\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex flex-wrap items-center gap-x-5 gap-y-2 mt-4 text-sm text-muted-foreground\">\n\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5\"\n\t\t\t\t\t\t\ttitle={`Current context window: ${formatNumber(contextTokens)} tokens`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"text-xs opacity-70\">ctx</span>\n\t\t\t\t\t\t\t<span className={`font-medium ${getContextColorClass()}`}>\n\t\t\t\t\t\t\t\t{formatCompactNumber(contextTokens)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5\"\n\t\t\t\t\t\t\ttitle={`Total output: ${formatNumber(outputTokens)} tokens`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"text-xs opacity-70\">out</span>\n\t\t\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t\t\t{formatCompactNumber(outputTokens)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<Clock className=\"w-4 h-4\" />\n\t\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t\t{formatDuration(session.totalToolTimeMs)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{estimatedCost > 0 && (\n\t\t\t\t\t\t<div className=\"flex items-center gap-1.5\">\n\t\t\t\t\t\t\t<DollarSign className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t\t\t{estimatedCost.toFixed(4)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div className=\"flex items-center gap-2 ml-auto\">\n\t\t\t\t\t\t<ProviderLogo provider={session.provider} size={18} />\n\t\t\t\t\t\t<span className=\"font-medium text-foreground\">{session.model}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n",
114
113
  "import { useState, useRef, useEffect, useCallback } from 'react';\nimport { Pencil } from 'lucide-react';\nimport { useUpdateSession } from '../../hooks/useSessions';\n\ninterface EditableTitleProps {\n\tsessionId: string;\n\ttitle: string | null;\n\tclassName?: string;\n}\n\nexport function EditableTitle({\n\tsessionId,\n\ttitle,\n\tclassName = '',\n}: EditableTitleProps) {\n\tconst [isEditing, setIsEditing] = useState(false);\n\tconst [draft, setDraft] = useState(title || '');\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst { mutate: updateSession } = useUpdateSession(sessionId);\n\n\tuseEffect(() => {\n\t\tif (isEditing && inputRef.current) {\n\t\t\tinputRef.current.focus();\n\t\t\tinputRef.current.select();\n\t\t}\n\t}, [isEditing]);\n\n\tuseEffect(() => {\n\t\tsetDraft(title || '');\n\t}, [title]);\n\n\tconst save = useCallback(() => {\n\t\tconst trimmed = draft.trim();\n\t\tif (trimmed && trimmed !== (title || '')) {\n\t\t\tupdateSession({ title: trimmed });\n\t\t}\n\t\tsetIsEditing(false);\n\t}, [draft, title, updateSession]);\n\n\tconst cancel = useCallback(() => {\n\t\tsetDraft(title || '');\n\t\tsetIsEditing(false);\n\t}, [title]);\n\n\tif (isEditing) {\n\t\treturn (\n\t\t\t<input\n\t\t\t\tref={inputRef}\n\t\t\t\ttype=\"text\"\n\t\t\t\tvalue={draft}\n\t\t\t\tonChange={(e) => setDraft(e.target.value)}\n\t\t\t\tonBlur={save}\n\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\tif (e.key === 'Enter') save();\n\t\t\t\t\tif (e.key === 'Escape') cancel();\n\t\t\t\t}}\n\t\t\t\tclassName={`w-full bg-muted/30 text-foreground rounded px-2 py-1 outline-none ring-1 ring-primary/50 focus:ring-primary ${className}`}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={() => setIsEditing(true)}\n\t\t\tclassName={`group flex items-center gap-2 hover:opacity-80 transition-opacity truncate text-left ${className}`}\n\t\t\ttitle=\"Click to edit title\"\n\t\t>\n\t\t\t<span className=\"truncate\">{title || 'Untitled Session'}</span>\n\t\t\t<Pencil className=\"h-3.5 w-3.5 opacity-0 group-hover:opacity-50 flex-shrink-0 transition-opacity\" />\n\t\t</button>\n\t);\n}\n",
115
- "import { useMemo } from 'react';\nimport {\n\testimateModelCostUsd,\n\ttype ProviderId,\n\tgetModelInfo,\n} from '@ottocode/sdk/browser';\nimport type { Session } from '../../types/api';\nimport {\n\tDollarSign,\n\tMessageSquare,\n\tGitBranch,\n\tArrowUpRight,\n\tShare2,\n\tExternalLink,\n\tRefreshCw,\n} from 'lucide-react';\nimport { StopButton } from '../chat/StopButton';\nimport { useParentSession } from '../../hooks/useBranch';\nimport { useShareStatus } from '../../hooks/useShareStatus';\nimport { ProviderLogo } from '../common/ProviderLogo';\nimport { openUrl } from '../../lib/open-url';\nimport { UsageRing } from '../common/UsageRing';\nimport { UsageModal } from '../common/UsageModal';\nimport { useProviderUsage } from '../../hooks/useProviderUsage';\nimport { useAllModels } from '../../hooks/useConfig';\nimport { EditableTitle } from './EditableTitle';\n\ninterface LeanHeaderProps {\n\tsession: Session;\n\tisVisible: boolean;\n\tisGenerating?: boolean;\n\tonNavigateToSession?: (sessionId: string) => void;\n}\n\nexport function LeanHeader({\n\tsession,\n\tisVisible,\n\tisGenerating,\n\tonNavigateToSession,\n}: LeanHeaderProps) {\n\tconst { data: parentData } = useParentSession(\n\t\tsession.sessionType === 'branch' ? session.id : undefined,\n\t);\n\tconst { data: shareStatus } = useShareStatus(session.id);\n\n\tconst estimatedCost = useMemo(() => {\n\t\tconst inputTokens = session.totalInputTokens || 0;\n\t\tconst outputTokens = session.totalOutputTokens || 0;\n\t\tconst cachedInputTokens = session.totalCachedTokens || 0;\n\t\tconst cacheCreationInputTokens = session.totalCacheCreationTokens || 0;\n\t\treturn (\n\t\t\testimateModelCostUsd(session.provider as ProviderId, session.model, {\n\t\t\t\tinputTokens,\n\t\t\t\toutputTokens,\n\t\t\t\tcachedInputTokens,\n\t\t\t\tcacheCreationInputTokens,\n\t\t\t}) ?? 0\n\t\t);\n\t}, [\n\t\tsession.provider,\n\t\tsession.model,\n\t\tsession.totalInputTokens,\n\t\tsession.totalOutputTokens,\n\t\tsession.totalCachedTokens,\n\t\tsession.totalCacheCreationTokens,\n\t]);\n\n\tconst formatCompactNumber = (num: number) => {\n\t\tif (num >= 1000000) return `${(num / 1000000).toFixed(1)}M`;\n\t\tif (num >= 1000) return `${(num / 1000).toFixed(1)}K`;\n\t\treturn num.toString();\n\t};\n\n\tconst contextTokens = session.currentContextTokens || 0;\n\n\tconst isBranch = session.sessionType === 'branch';\n\tconst parentSession = parentData?.parent;\n\n\t// Calculate context usage for color indication\n\tconst contextLimit = useMemo(() => {\n\t\tconst info = getModelInfo(session.provider as ProviderId, session.model);\n\t\treturn info?.limit?.context;\n\t}, [session.provider, session.model]);\n\n\tconst contextUsagePercent = contextLimit\n\t\t? (contextTokens / contextLimit) * 100\n\t\t: 0;\n\n\tconst getContextColorClass = () => {\n\t\tif (contextUsagePercent >= 90) return 'text-red-600 dark:text-red-400';\n\t\tif (contextUsagePercent >= 70) return 'text-amber-600 dark:text-amber-400';\n\t\treturn 'text-foreground';\n\t};\n\n\tconst { data: allModels } = useAllModels();\n\tconst providerAuthType = allModels?.[session.provider]?.authType;\n\tconst { usage, isOAuthProvider } = useProviderUsage(\n\t\tsession.provider,\n\t\tproviderAuthType,\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={`absolute top-0 left-0 right-0 h-14 border-b border-border bg-background/40 backdrop-blur-xl supports-[backdrop-filter]:bg-background/20 z-10 transition-transform duration-200 ${\n\t\t\t\t\tisVisible ? 'translate-y-0' : '-translate-y-full'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t<div className=\"h-full px-6 flex items-center justify-between gap-4 text-sm\">\n\t\t\t\t\t<div className=\"flex-1 min-w-0 flex items-center gap-2 text-muted-foreground\">\n\t\t\t\t\t\t{isBranch ? (\n\t\t\t\t\t\t\t<GitBranch className=\"w-4 h-4 flex-shrink-0 text-violet-500\" />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<MessageSquare className=\"w-4 h-4 flex-shrink-0\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<EditableTitle\n\t\t\t\t\t\t\tsessionId={session.id}\n\t\t\t\t\t\t\ttitle={session.title}\n\t\t\t\t\t\t\tclassName=\"text-foreground font-medium text-sm\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{shareStatus?.shared && (\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={() => openUrl(shareStatus.url)}\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1 px-1.5 py-0.5 rounded bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 hover:bg-emerald-500/20 transition-colors text-xs font-medium flex-shrink-0\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Share2 className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t{shareStatus.pendingMessages &&\n\t\t\t\t\t\t\t\tshareStatus.pendingMessages > 0 ? (\n\t\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-0.5 text-amber-600 dark:text-amber-400\">\n\t\t\t\t\t\t\t\t\t\t<RefreshCw className=\"h-2.5 w-2.5\" />\n\t\t\t\t\t\t\t\t\t\t{shareStatus.pendingMessages}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<ExternalLink className=\"h-2.5 w-2.5 opacity-60\" />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{isBranch && parentSession && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground hidden sm:inline\">\n\t\t\t\t\t\t\t\t\tfrom\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={() => onNavigateToSession?.(parentSession.id)}\n\t\t\t\t\t\t\t\t\tclassName=\"text-primary hover:underline flex items-center gap-0.5 truncate max-w-32\"\n\t\t\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\t\t\tparentSession.title ||\n\t\t\t\t\t\t\t\t\t\t`Session ${parentSession.id.slice(0, 8)}`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t{parentSession.title ||\n\t\t\t\t\t\t\t\t\t\t\t`Session ${parentSession.id.slice(0, 8)}`}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<ArrowUpRight className=\"h-3 w-3 flex-shrink-0\" />\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"flex-shrink-0 flex items-center gap-5 text-muted-foreground\">\n\t\t\t\t\t\t{isGenerating && <StopButton sessionId={session.id} />}\n\n\t\t\t\t\t\t{isOAuthProvider && usage && (\n\t\t\t\t\t\t\t<UsageRing usage={usage} provider={session.provider} />\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1\"\n\t\t\t\t\t\t\t\ttitle={`Current context window: ${contextTokens.toLocaleString()} tokens`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"text-xs opacity-70\">ctx</span>\n\t\t\t\t\t\t\t\t<span className={`font-medium ${getContextColorClass()}`}>\n\t\t\t\t\t\t\t\t\t{formatCompactNumber(contextTokens)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{estimatedCost > 0 && (\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-1.5\">\n\t\t\t\t\t\t\t\t<DollarSign className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t<span className=\"text-foreground font-medium\">\n\t\t\t\t\t\t\t\t\t{estimatedCost.toFixed(4)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<div className=\"hidden sm:flex items-center gap-2\">\n\t\t\t\t\t\t\t<ProviderLogo provider={session.provider} size={16} />\n\t\t\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t\t\t{session.model}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<UsageModal />\n\t\t</>\n\t);\n}\n",
114
+ "import { useMemo } from 'react';\nimport {\n\testimateModelCostUsd,\n\ttype ProviderId,\n\tgetModelInfo,\n} from '@ottocode/sdk/browser';\nimport type { Session } from '../../types/api';\nimport {\n\tDollarSign,\n\tMessageSquare,\n\tGitBranch,\n\tArrowUpRight,\n\tShare2,\n\tExternalLink,\n\tRefreshCw,\n} from 'lucide-react';\nimport { StopButton } from '../chat/StopButton';\nimport { useParentSession } from '../../hooks/useBranch';\nimport { useShareStatus } from '../../hooks/useShareStatus';\nimport { ProviderLogo } from '../common/ProviderLogo';\nimport { openUrl } from '../../lib/open-url';\nimport { UsageRing } from '../common/UsageRing';\nimport { UsageModal } from '../common/UsageModal';\nimport { useProviderUsage } from '../../hooks/useProviderUsage';\nimport { useAllModels } from '../../hooks/useConfig';\nimport { useSetuBalance } from '../../hooks/useSetuBalance';\nimport { useUsageStore } from '../../stores/usageStore';\nimport { EditableTitle } from './EditableTitle';\n\ninterface LeanHeaderProps {\n\tsession: Session;\n\tisVisible: boolean;\n\tisGenerating?: boolean;\n\tonNavigateToSession?: (sessionId: string) => void;\n}\n\nexport function LeanHeader({\n\tsession,\n\tisVisible,\n\tisGenerating,\n\tonNavigateToSession,\n}: LeanHeaderProps) {\n\tconst { data: parentData } = useParentSession(\n\t\tsession.sessionType === 'branch' ? session.id : undefined,\n\t);\n\tconst { data: shareStatus } = useShareStatus(session.id);\n\n\tconst estimatedCost = useMemo(() => {\n\t\tconst inputTokens = session.totalInputTokens || 0;\n\t\tconst outputTokens = session.totalOutputTokens || 0;\n\t\tconst cachedInputTokens = session.totalCachedTokens || 0;\n\t\tconst cacheCreationInputTokens = session.totalCacheCreationTokens || 0;\n\t\treturn (\n\t\t\testimateModelCostUsd(session.provider as ProviderId, session.model, {\n\t\t\t\tinputTokens,\n\t\t\t\toutputTokens,\n\t\t\t\tcachedInputTokens,\n\t\t\t\tcacheCreationInputTokens,\n\t\t\t}) ?? 0\n\t\t);\n\t}, [\n\t\tsession.provider,\n\t\tsession.model,\n\t\tsession.totalInputTokens,\n\t\tsession.totalOutputTokens,\n\t\tsession.totalCachedTokens,\n\t\tsession.totalCacheCreationTokens,\n\t]);\n\n\tconst formatCompactNumber = (num: number) => {\n\t\tif (num >= 1000000) return `${(num / 1000000).toFixed(1)}M`;\n\t\tif (num >= 1000) return `${(num / 1000).toFixed(1)}K`;\n\t\treturn num.toString();\n\t};\n\n\tconst contextTokens = session.currentContextTokens || 0;\n\n\tconst isBranch = session.sessionType === 'branch';\n\tconst parentSession = parentData?.parent;\n\n\t// Calculate context usage for color indication\n\tconst contextLimit = useMemo(() => {\n\t\tconst info = getModelInfo(session.provider as ProviderId, session.model);\n\t\treturn info?.limit?.context;\n\t}, [session.provider, session.model]);\n\n\tconst contextUsagePercent = contextLimit\n\t\t? (contextTokens / contextLimit) * 100\n\t\t: 0;\n\n\tconst getContextColorClass = () => {\n\t\tif (contextUsagePercent >= 90) return 'text-red-600 dark:text-red-400';\n\t\tif (contextUsagePercent >= 70) return 'text-amber-600 dark:text-amber-400';\n\t\treturn 'text-foreground';\n\t};\n\n\tconst { data: allModels } = useAllModels();\n\tconst providerAuthType = allModels?.[session.provider]?.authType;\n\tconst { usage, isOAuthProvider } = useProviderUsage(\n\t\tsession.provider,\n\t\tproviderAuthType,\n\t);\n\tconst isSetu = session.provider === 'setu';\n\tuseSetuBalance(isSetu ? 'setu' : undefined);\n\tconst setuUsage = useUsageStore((s) => s.usage['setu']);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={`absolute top-0 left-0 right-0 h-14 border-b border-border bg-background/40 backdrop-blur-xl supports-[backdrop-filter]:bg-background/20 z-10 transition-transform duration-200 ${\n\t\t\t\t\tisVisible ? 'translate-y-0' : '-translate-y-full'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t<div className=\"h-full px-6 flex items-center justify-between gap-4 text-sm\">\n\t\t\t\t\t<div className=\"flex-1 min-w-0 flex items-center gap-2 text-muted-foreground\">\n\t\t\t\t\t\t{isBranch ? (\n\t\t\t\t\t\t\t<GitBranch className=\"w-4 h-4 flex-shrink-0 text-violet-500\" />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<MessageSquare className=\"w-4 h-4 flex-shrink-0\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<EditableTitle\n\t\t\t\t\t\t\tsessionId={session.id}\n\t\t\t\t\t\t\ttitle={session.title}\n\t\t\t\t\t\t\tclassName=\"text-foreground font-medium text-sm\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{shareStatus?.shared && (\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={() => openUrl(shareStatus.url)}\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1 px-1.5 py-0.5 rounded bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 hover:bg-emerald-500/20 transition-colors text-xs font-medium flex-shrink-0\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Share2 className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t{shareStatus.pendingMessages &&\n\t\t\t\t\t\t\t\tshareStatus.pendingMessages > 0 ? (\n\t\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-0.5 text-amber-600 dark:text-amber-400\">\n\t\t\t\t\t\t\t\t\t\t<RefreshCw className=\"h-2.5 w-2.5\" />\n\t\t\t\t\t\t\t\t\t\t{shareStatus.pendingMessages}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<ExternalLink className=\"h-2.5 w-2.5 opacity-60\" />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{isBranch && parentSession && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground hidden sm:inline\">\n\t\t\t\t\t\t\t\t\tfrom\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={() => onNavigateToSession?.(parentSession.id)}\n\t\t\t\t\t\t\t\t\tclassName=\"text-primary hover:underline flex items-center gap-0.5 truncate max-w-32\"\n\t\t\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\t\t\tparentSession.title ||\n\t\t\t\t\t\t\t\t\t\t`Session ${parentSession.id.slice(0, 8)}`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t{parentSession.title ||\n\t\t\t\t\t\t\t\t\t\t\t`Session ${parentSession.id.slice(0, 8)}`}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<ArrowUpRight className=\"h-3 w-3 flex-shrink-0\" />\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"flex-shrink-0 flex items-center gap-5 text-muted-foreground\">\n\t\t\t\t\t\t{isGenerating && <StopButton sessionId={session.id} />}\n\n\t\t\t\t\t\t{isOAuthProvider && usage && (\n\t\t\t\t\t\t\t<UsageRing usage={usage} provider={session.provider} />\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{isSetu && setuUsage && (\n\t\t\t\t\t\t\t<UsageRing usage={setuUsage} provider=\"setu\" />\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1\"\n\t\t\t\t\t\t\t\ttitle={`Current context window: ${contextTokens.toLocaleString()} tokens`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"text-xs opacity-70\">ctx</span>\n\t\t\t\t\t\t\t\t<span className={`font-medium ${getContextColorClass()}`}>\n\t\t\t\t\t\t\t\t\t{formatCompactNumber(contextTokens)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{estimatedCost > 0 && (\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-1.5\">\n\t\t\t\t\t\t\t\t<DollarSign className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t<span className=\"text-foreground font-medium\">\n\t\t\t\t\t\t\t\t\t{estimatedCost.toFixed(4)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<div className=\"hidden sm:flex items-center gap-2\">\n\t\t\t\t\t\t\t<ProviderLogo provider={session.provider} size={16} />\n\t\t\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t\t\t{session.model}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<UsageModal />\n\t\t</>\n\t);\n}\n",
116
115
  "import { memo } from 'react';\nimport type { ProviderUsageResponse } from '../../types/api';\nimport { useUsageStore } from '../../stores/usageStore';\n\ninterface UsageRingProps {\n\tusage: ProviderUsageResponse;\n\tprovider: string;\n}\n\nconst SIZE = 22;\nconst STROKE = 2.5;\nconst RADIUS = (SIZE - STROKE) / 2;\nconst CIRCUMFERENCE = 2 * Math.PI * RADIUS;\n\nfunction getColor(percent: number): string {\n\tif (percent >= 90) return '#ef4444';\n\tif (percent >= 70) return '#f59e0b';\n\treturn '#3b82f6';\n}\n\nexport const UsageRing = memo(function UsageRing({\n\tusage,\n\tprovider,\n}: UsageRingProps) {\n\tconst openModal = useUsageStore((s) => s.openModal);\n\tconst percent = usage.primaryWindow?.usedPercent ?? 0;\n\tconst dashOffset = CIRCUMFERENCE - (percent / 100) * CIRCUMFERENCE;\n\tconst color = getColor(percent);\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={() => openModal(provider)}\n\t\t\tclassName=\"relative flex items-center hover:opacity-80 transition-opacity cursor-pointer\"\n\t\t\ttitle={`Usage: ${Math.round(percent)}% (5h window) — Click for details`}\n\t\t>\n\t\t\t<svg\n\t\t\t\twidth={SIZE}\n\t\t\t\theight={SIZE}\n\t\t\t\tclassName=\"-rotate-90\"\n\t\t\t\trole=\"img\"\n\t\t\t\taria-label=\"Usage ring\"\n\t\t\t>\n\t\t\t\t<circle\n\t\t\t\t\tcx={SIZE / 2}\n\t\t\t\t\tcy={SIZE / 2}\n\t\t\t\t\tr={RADIUS}\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"hsl(var(--muted))\"\n\t\t\t\t\tstrokeWidth={STROKE}\n\t\t\t\t/>\n\t\t\t\t<circle\n\t\t\t\t\tcx={SIZE / 2}\n\t\t\t\t\tcy={SIZE / 2}\n\t\t\t\t\tr={RADIUS}\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke={color}\n\t\t\t\t\tstrokeWidth={STROKE}\n\t\t\t\t\tstrokeDasharray={CIRCUMFERENCE}\n\t\t\t\t\tstrokeDashoffset={dashOffset}\n\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\tclassName=\"transition-all duration-500\"\n\t\t\t\t/>\n\t\t\t</svg>\n\t\t\t<span\n\t\t\t\tclassName=\"absolute inset-0 flex items-center justify-center rotate-0 font-medium text-muted-foreground\"\n\t\t\t\tstyle={{ fontSize: 7 }}\n\t\t\t>\n\t\t\t\t5h\n\t\t\t</span>\n\t\t</button>\n\t);\n});\n",
117
116
  "import { create } from 'zustand';\nimport type { ProviderUsageResponse } from '../types/api';\n\ninterface UsageState {\n\tusage: Record<string, ProviderUsageResponse>;\n\tisLoading: Record<string, boolean>;\n\tlastFetched: Record<string, number>;\n\tisModalOpen: boolean;\n\tmodalProvider: string | null;\n\tsetUsage: (provider: string, data: ProviderUsageResponse) => void;\n\tsetLoading: (provider: string, loading: boolean) => void;\n\tsetLastFetched: (provider: string, time: number) => void;\n\topenModal: (provider: string) => void;\n\tcloseModal: () => void;\n}\n\nexport const useUsageStore = create<UsageState>((set) => ({\n\tusage: {},\n\tisLoading: {},\n\tlastFetched: {},\n\tisModalOpen: false,\n\tmodalProvider: null,\n\tsetUsage: (provider, data) =>\n\t\tset((s) => ({ usage: { ...s.usage, [provider]: data } })),\n\tsetLoading: (provider, loading) =>\n\t\tset((s) => ({ isLoading: { ...s.isLoading, [provider]: loading } })),\n\tsetLastFetched: (provider, time) =>\n\t\tset((s) => ({ lastFetched: { ...s.lastFetched, [provider]: time } })),\n\topenModal: (provider) => set({ isModalOpen: true, modalProvider: provider }),\n\tcloseModal: () => set({ isModalOpen: false, modalProvider: null }),\n}));\n",
118
117
  "import { memo, useMemo } from 'react';\nimport { Modal } from '../ui/Modal';\nimport { useUsageStore } from '../../stores/usageStore';\nimport { ProviderLogo } from './ProviderLogo';\nimport type { UsageWindow } from '../../types/api';\n\nfunction formatTimeRemaining(resetsAt: string | null): string {\n\tif (!resetsAt) return 'Unknown';\n\tconst now = Date.now();\n\tconst reset = new Date(resetsAt).getTime();\n\tconst diff = reset - now;\n\tif (diff <= 0) return 'Now';\n\tconst days = Math.floor(diff / 86_400_000);\n\tconst hours = Math.floor((diff % 86_400_000) / 3_600_000);\n\tconst minutes = Math.floor((diff % 3_600_000) / 60_000);\n\tif (days > 0) return `${days}d ${hours}h`;\n\tif (hours > 0) return `${hours}h ${minutes}m`;\n\treturn `${minutes}m`;\n}\n\nfunction windowLabel(seconds: number): string {\n\tif (seconds <= 18000) return '5 Hour';\n\tif (seconds <= 86400) return '24 Hour';\n\treturn '7 Day';\n}\n\nfunction UsageBar({\n\tlabel,\n\twindow: w,\n}: {\n\tlabel: string;\n\twindow: UsageWindow;\n}) {\n\tconst percent = Math.min(w.usedPercent, 100);\n\tconst barColor =\n\t\tpercent >= 90\n\t\t\t? 'bg-red-500'\n\t\t\t: percent >= 70\n\t\t\t\t? 'bg-amber-500'\n\t\t\t\t: 'bg-blue-500';\n\n\treturn (\n\t\t<div className=\"space-y-1.5\">\n\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t<span className=\"text-muted-foreground\">{label}</span>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t{Math.round(percent)}%\n\t\t\t\t\t</span>\n\t\t\t\t\t{w.resetsAt && (\n\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\tresets in {formatTimeRemaining(w.resetsAt)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className=\"h-2 rounded-full bg-muted overflow-hidden\">\n\t\t\t\t<div\n\t\t\t\t\tclassName={`h-full rounded-full transition-all duration-500 ${barColor}`}\n\t\t\t\t\tstyle={{ width: `${percent}%` }}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport const UsageModal = memo(function UsageModal() {\n\tconst isOpen = useUsageStore((s) => s.isModalOpen);\n\tconst provider = useUsageStore((s) => s.modalProvider);\n\tconst closeModal = useUsageStore((s) => s.closeModal);\n\tconst usage = useUsageStore((s) =>\n\t\tprovider ? s.usage[provider] : undefined,\n\t);\n\n\tconst title = useMemo(\n\t\t() => (\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t{provider && <ProviderLogo provider={provider} size={20} />}\n\t\t\t\t<span>Usage & Limits</span>\n\t\t\t</div>\n\t\t),\n\t\t[provider],\n\t);\n\n\tif (!usage) return null;\n\n\treturn (\n\t\t<Modal isOpen={isOpen} onClose={closeModal} title={title} maxWidth=\"sm\">\n\t\t\t<div className=\"space-y-5\">\n\t\t\t\t{usage.limitReached && (\n\t\t\t\t\t<div className=\"flex items-center gap-2 px-3 py-2 rounded-md bg-red-500/10 border border-red-500/20\">\n\t\t\t\t\t\t<span className=\"w-2 h-2 rounded-full bg-red-500 flex-shrink-0\" />\n\t\t\t\t\t\t<span className=\"text-sm text-red-600 dark:text-red-400 font-medium\">\n\t\t\t\t\t\t\tRate limit reached\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{usage.primaryWindow && (\n\t\t\t\t\t<UsageBar\n\t\t\t\t\t\tlabel={`${windowLabel(usage.primaryWindow.windowSeconds)} Window`}\n\t\t\t\t\t\twindow={usage.primaryWindow}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{usage.secondaryWindow && (\n\t\t\t\t\t<UsageBar\n\t\t\t\t\t\tlabel={`${windowLabel(usage.secondaryWindow.windowSeconds)} Window`}\n\t\t\t\t\t\twindow={usage.secondaryWindow}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{usage.sonnetWindow && usage.sonnetWindow.usedPercent > 0 && (\n\t\t\t\t\t<UsageBar\n\t\t\t\t\t\tlabel=\"Sonnet (7 Day)\"\n\t\t\t\t\t\twindow={{\n\t\t\t\t\t\t\tusedPercent: usage.sonnetWindow.usedPercent,\n\t\t\t\t\t\t\twindowSeconds: 604800,\n\t\t\t\t\t\t\tresetsAt: usage.sonnetWindow.resetsAt,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{usage.extraUsage?.is_enabled && (\n\t\t\t\t\t<div className=\"pt-2 border-t border-border space-y-1\">\n\t\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">Extra Credits</span>\n\t\t\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t\t\t${usage.extraUsage.used_credits.toFixed(2)} / $\n\t\t\t\t\t\t\t\t{usage.extraUsage.monthly_limit}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{usage.credits?.has_credits && (\n\t\t\t\t\t<div className=\"pt-2 border-t border-border space-y-1\">\n\t\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">Credits</span>\n\t\t\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t\t\t{usage.credits.balance !== null\n\t\t\t\t\t\t\t\t\t? `$${usage.credits.balance.toFixed(2)}`\n\t\t\t\t\t\t\t\t\t: 'Available'}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{usage.planType && (\n\t\t\t\t\t<div className=\"pt-2 border-t border-border\">\n\t\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">Plan</span>\n\t\t\t\t\t\t\t<span className=\"font-medium text-foreground capitalize\">\n\t\t\t\t\t\t\t\t{usage.planType}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</Modal>\n\t);\n});\n",
119
118
  "import { useEffect, useCallback, useRef } from 'react';\nimport { apiClient } from '../lib/api-client';\nimport { useUsageStore } from '../stores/usageStore';\n\nconst POLL_INTERVAL = 60_000;\nconst STALE_THRESHOLD = 30_000;\n\nconst inflight = new Set<string>();\n\nexport function useProviderUsage(\n\tprovider: string | undefined,\n\tauthType: string | undefined,\n) {\n\tconst setUsage = useUsageStore((s) => s.setUsage);\n\tconst setLoading = useUsageStore((s) => s.setLoading);\n\tconst setLastFetched = useUsageStore((s) => s.setLastFetched);\n\tconst usage = useUsageStore((s) =>\n\t\tprovider ? s.usage[provider] : undefined,\n\t);\n\n\tconst isOAuthProvider =\n\t\tauthType === 'oauth' && (provider === 'anthropic' || provider === 'openai');\n\n\tconst fetchUsage = useCallback(async () => {\n\t\tif (!provider || !isOAuthProvider) return;\n\t\tif (inflight.has(provider)) return;\n\n\t\tconst last = useUsageStore.getState().lastFetched[provider] ?? 0;\n\t\tif (last && Date.now() - last < STALE_THRESHOLD) return;\n\n\t\tinflight.add(provider);\n\t\tsetLoading(provider, true);\n\t\ttry {\n\t\t\tconst data = await apiClient.getProviderUsage(provider);\n\t\t\tsetUsage(provider, data);\n\t\t\tsetLastFetched(provider, Date.now());\n\t\t} catch {\n\t\t} finally {\n\t\t\tsetLoading(provider, false);\n\t\t\tinflight.delete(provider);\n\t\t}\n\t}, [provider, isOAuthProvider, setUsage, setLoading, setLastFetched]);\n\n\tconst fetchRef = useRef(fetchUsage);\n\tfetchRef.current = fetchUsage;\n\n\tuseEffect(() => {\n\t\tif (!isOAuthProvider) return;\n\n\t\tfetchRef.current();\n\n\t\tconst interval = setInterval(() => fetchRef.current(), POLL_INTERVAL);\n\t\treturn () => clearInterval(interval);\n\t}, [isOAuthProvider, provider]);\n\n\treturn {\n\t\tusage,\n\t\tfetchUsage,\n\t\tisOAuthProvider,\n\t};\n}\n",
119
+ "import { useEffect, useCallback } from 'react';\nimport { apiClient } from '../lib/api-client';\nimport { useSetuStore } from '../stores/setuStore';\nimport { useUsageStore } from '../stores/usageStore';\n\nexport function useSetuBalance(providerName: string | undefined) {\n\tconst setBalance = useSetuStore((s) => s.setBalance);\n\tconst setUsdcBalance = useSetuStore((s) => s.setUsdcBalance);\n\tconst setWalletAddress = useSetuStore((s) => s.setWalletAddress);\n\tconst setLoading = useSetuStore((s) => s.setLoading);\n\tconst setScope = useSetuStore((s) => s.setScope);\n\tconst setPayg = useSetuStore((s) => s.setPayg);\n\tconst setSubscription = useSetuStore((s) => s.setSubscription);\n\tconst setLimits = useSetuStore((s) => s.setLimits);\n\tconst setUsage = useUsageStore((s) => s.setUsage);\n\tconst balance = useSetuStore((s) => s.balance);\n\tconst usdcBalance = useSetuStore((s) => s.usdcBalance);\n\tconst subscription = useSetuStore((s) => s.subscription);\n\tconst network = useSetuStore((s) => s.network);\n\n\tconst fetchBalance = useCallback(async () => {\n\t\tif (providerName !== 'setu') {\n\t\t\treturn;\n\t\t}\n\n\t\tsetLoading(true);\n\t\ttry {\n\t\t\tconst [setuData, usdcData, walletData] = await Promise.all([\n\t\t\t\tapiClient.getSetuBalance(),\n\t\t\t\tapiClient.getSetuUsdcBalance(network),\n\t\t\t\tapiClient.getSetuWallet(),\n\t\t\t]);\n\n\t\t\tif (setuData) {\n\t\t\t\tsetBalance(setuData.balance);\n\t\t\t\tsetWalletAddress(setuData.walletAddress);\n\t\t\t\tsetScope(setuData.scope ?? null);\n\t\t\t\tsetPayg(setuData.payg ?? null);\n\t\t\t\tsetSubscription(setuData.subscription ?? null);\n\t\t\t\tsetLimits(setuData.limits ?? null);\n\n\t\t\t\tconst sub = setuData.subscription;\n\t\t\t\tif (sub?.active && sub.usageWindows) {\n\t\t\t\t\tsetUsage('setu', {\n\t\t\t\t\t\tprovider: 'setu',\n\t\t\t\t\t\tprimaryWindow: {\n\t\t\t\t\t\t\tusedPercent: sub.usageWindows.fiveHour.percentUsed,\n\t\t\t\t\t\t\twindowSeconds: 18000,\n\t\t\t\t\t\t\tresetsAt: null,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsecondaryWindow: {\n\t\t\t\t\t\t\tusedPercent: sub.usageWindows.weekly.percentUsed,\n\t\t\t\t\t\t\twindowSeconds: 604800,\n\t\t\t\t\t\t\tresetsAt: null,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlimitReached: false,\n\t\t\t\t\t\tplanType: sub.tierName ?? 'GO',\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else if (walletData?.configured && walletData.publicKey) {\n\t\t\t\tsetWalletAddress(walletData.publicKey);\n\t\t\t}\n\n\t\t\tif (usdcData) {\n\t\t\t\tsetUsdcBalance(usdcData.usdcBalance);\n\t\t\t\tif (!setuData && usdcData.walletAddress) {\n\t\t\t\t\tsetWalletAddress(usdcData.walletAddress);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch {\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [\n\t\tproviderName,\n\t\tnetwork,\n\t\tsetBalance,\n\t\tsetUsdcBalance,\n\t\tsetWalletAddress,\n\t\tsetLoading,\n\t\tsetScope,\n\t\tsetPayg,\n\t\tsetSubscription,\n\t\tsetLimits,\n\t\tsetUsage,\n\t]);\n\n\tconst needsUsageWindows = subscription?.active && !subscription.usageWindows;\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tproviderName === 'setu' &&\n\t\t\t(balance === null || usdcBalance === null || needsUsageWindows)\n\t\t) {\n\t\t\tfetchBalance();\n\t\t}\n\t}, [providerName, balance, usdcBalance, needsUsageWindows, fetchBalance]);\n\n\treturn {\n\t\tfetchBalance,\n\t};\n}\n",
120
120
  "import { memo, useState } from 'react';\nimport { Wallet, CreditCard, AlertCircle, Loader2, X } from 'lucide-react';\nimport type { PendingTopupApproval } from '../../stores/topupApprovalStore';\nimport { apiClient } from '../../lib/api-client';\nimport { toast } from '../../stores/toastStore';\nimport { useSetuStore } from '../../stores/setuStore';\n\ninterface TopupApprovalCardProps {\n\tpendingTopup: PendingTopupApproval;\n\tonMethodSelected: (method: 'crypto' | 'fiat') => void;\n\tonCancel: () => void;\n}\n\nexport const TopupApprovalCard = memo(function TopupApprovalCard({\n\tpendingTopup,\n\tonMethodSelected,\n\tonCancel,\n}: TopupApprovalCardProps) {\n\tconst [isProcessing, setIsProcessing] = useState(false);\n\tconst [selectedMethod, setSelectedMethod] = useState<\n\t\t'crypto' | 'fiat' | null\n\t>(null);\n\tconst openTopupModal = useSetuStore((s) => s.openTopupModal);\n\tconst hasGoPlan = useSetuStore((s) => !!s.subscription?.active);\n\n\tconst handleSelectCrypto = async () => {\n\t\tsetSelectedMethod('crypto');\n\t\tsetIsProcessing(true);\n\t\ttry {\n\t\t\tawait apiClient.selectTopupMethod(pendingTopup.sessionId, 'crypto');\n\t\t\tonMethodSelected('crypto');\n\t\t} catch (error) {\n\t\t\ttoast.error(\n\t\t\t\terror instanceof Error ? error.message : 'Failed to process payment',\n\t\t\t);\n\t\t\tsetIsProcessing(false);\n\t\t\tsetSelectedMethod(null);\n\t\t}\n\t};\n\n\tconst handleSelectFiat = async () => {\n\t\tsetSelectedMethod('fiat');\n\t\t// Open modal immediately - don't wait for API\n\t\topenTopupModal();\n\t\t// Tell server fiat was selected (this will gracefully pause the request)\n\t\tapiClient.selectTopupMethod(pendingTopup.sessionId, 'fiat').catch(() => {\n\t\t\t// Ignore errors - the server handles fiat selection gracefully\n\t\t});\n\t\tonMethodSelected('fiat');\n\t};\n\n\tconst handleCancel = async () => {\n\t\tsetIsProcessing(true);\n\t\ttry {\n\t\t\tawait apiClient.cancelTopup(pendingTopup.sessionId);\n\t\t\tonCancel();\n\t\t} catch (error) {\n\t\t\ttoast.error(error instanceof Error ? error.message : 'Failed to cancel');\n\t\t\tsetIsProcessing(false);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-3 py-2\">\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<AlertCircle className=\"h-4 w-4 text-amber-500 flex-shrink-0\" />\n\t\t\t\t<span className=\"font-medium text-foreground text-sm\">\n\t\t\t\t\tInsufficient Balance\n\t\t\t\t</span>\n\t\t\t\t<span className=\"text-amber-600 dark:text-amber-400 font-medium text-sm\">\n\t\t\t\t\tpayment required\n\t\t\t\t</span>\n\t\t\t</div>\n\n\t\t\t{hasGoPlan && (\n\t\t\t\t<p className=\"ml-6 text-xs text-muted-foreground\">\n\t\t\t\t\tGO credits may not apply to this request. Add balance to continue.\n\t\t\t\t</p>\n\t\t\t)}\n\n\t\t\t<div className=\"ml-6 bg-muted/30 rounded-lg p-3 space-y-2 text-sm\">\n\t\t\t\t<div className=\"flex justify-between\">\n\t\t\t\t\t<span className=\"text-muted-foreground\">Request cost</span>\n\t\t\t\t\t<span className=\"font-mono\">\n\t\t\t\t\t\t~${pendingTopup.amountUsd.toFixed(4)}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex justify-between\">\n\t\t\t\t\t<span className=\"text-muted-foreground\">Current balance</span>\n\t\t\t\t\t<span className=\"font-mono\">\n\t\t\t\t\t\t${pendingTopup.currentBalance.toFixed(4)}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"ml-6 flex flex-wrap items-center gap-2\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={handleCancel}\n\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\ttitle=\"Cancel request\"\n\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t<X className=\"w-3 h-3\" />\n\t\t\t\t\tCancel\n\t\t\t\t</button>\n\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={handleSelectCrypto}\n\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\ttitle=\"Pay with USDC from your wallet\"\n\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-violet-600 text-white hover:bg-violet-700 transition-colors disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t{selectedMethod === 'crypto' && isProcessing ? (\n\t\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Wallet className=\"w-3 h-3\" />\n\t\t\t\t\t)}\n\t\t\t\t\tPay with USDC\n\t\t\t\t</button>\n\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={handleSelectFiat}\n\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\ttitle=\"Top up with card (min $5)\"\n\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-violet-500 text-violet-600 dark:text-violet-400 hover:bg-violet-500/10 transition-colors disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t{selectedMethod === 'fiat' && isProcessing ? (\n\t\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<CreditCard className=\"w-3 h-3\" />\n\t\t\t\t\t)}\n\t\t\t\t\tTop up with Card\n\t\t\t\t\t<span className=\"text-[10px] opacity-70\">(min $5)</span>\n\t\t\t\t</button>\n\t\t\t</div>\n\n\t\t\t<p className=\"ml-6 text-xs text-muted-foreground\">\n\t\t\t\t{selectedMethod === 'crypto'\n\t\t\t\t\t? 'Processing USDC payment from your wallet...'\n\t\t\t\t\t: selectedMethod === 'fiat'\n\t\t\t\t\t\t? 'Opening checkout...'\n\t\t\t\t\t\t: 'Select a payment method to continue your request.'}\n\t\t\t</p>\n\t\t</div>\n\t);\n});\n",
121
121
  "import { create } from 'zustand';\n\nexport interface PendingTopupApproval {\n\tsessionId: string;\n\tmessageId: string;\n\tamountUsd: number;\n\tcurrentBalance: number;\n\tminTopupUsd: number;\n\tsuggestedTopupUsd: number;\n}\n\ninterface TopupApprovalState {\n\tpendingTopup: PendingTopupApproval | null;\n\tisProcessing: boolean;\n\tselectedMethod: 'crypto' | 'fiat' | null;\n\tsetPendingTopup: (topup: PendingTopupApproval | null) => void;\n\tsetProcessing: (processing: boolean) => void;\n\tsetSelectedMethod: (method: 'crypto' | 'fiat' | null) => void;\n\tclearPendingTopup: () => void;\n}\n\nexport const useTopupApprovalStore = create<TopupApprovalState>((set) => ({\n\tpendingTopup: null,\n\tisProcessing: false,\n\tselectedMethod: null,\n\tsetPendingTopup: (pendingTopup) =>\n\t\tset({ pendingTopup, isProcessing: false, selectedMethod: null }),\n\tsetProcessing: (isProcessing) => set({ isProcessing }),\n\tsetSelectedMethod: (selectedMethod) => set({ selectedMethod }),\n\tclearPendingTopup: () =>\n\t\tset({ pendingTopup: null, isProcessing: false, selectedMethod: null }),\n}));\n",
122
122
  "import { memo, useMemo } from 'react';\nimport { useMessages } from '../../hooks/useMessages';\nimport { useSessionStream } from '../../hooks/useSessionStream';\nimport { useSessions } from '../../hooks/useSessions';\nimport { usePreferences } from '../../hooks/usePreferences';\nimport { MessageThread } from './MessageThread';\nimport { useToolApprovalShortcuts } from '../../hooks/useToolApprovalShortcuts';\nimport { SetuTopupModal } from '../settings/SetuTopupModal';\n\ninterface MessageThreadContainerProps {\n\tsessionId: string;\n\tonSelectSession?: (sessionId: string) => void;\n}\n\nexport const MessageThreadContainer = memo(function MessageThreadContainer({\n\tsessionId,\n\tonSelectSession,\n}: MessageThreadContainerProps) {\n\tconst { data: messages = [], isLoading } = useMessages(sessionId);\n\tconst { data: sessions = [] } = useSessions();\n\tconst { preferences } = usePreferences();\n\n\tuseSessionStream(sessionId);\n\n\t// Enable keyboard shortcuts (Y/N/A) for tool approval in this session\n\tuseToolApprovalShortcuts(sessionId);\n\n\tconst session = useMemo(\n\t\t() => sessions.find((s) => s.id === sessionId),\n\t\t[sessions, sessionId],\n\t);\n\n\tconst isGenerating = useMemo(\n\t\t() =>\n\t\t\tmessages.some((m) => m.role === 'assistant' && m.status === 'pending'),\n\t\t[messages],\n\t);\n\n\tif (isLoading) {\n\t\treturn (\n\t\t\t<div className=\"flex-1 flex items-center justify-center text-muted-foreground\">\n\t\t\t\tLoading messages...\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MessageThread\n\t\t\t\tmessages={messages}\n\t\t\t\tsessionId={sessionId}\n\t\t\t\tsession={session}\n\t\t\t\tisGenerating={isGenerating}\n\t\t\t\tcompact={preferences.compactThread}\n\t\t\t\tonSelectSession={onSelectSession}\n\t\t\t/>\n\t\t\t<SetuTopupModal />\n\t\t</>\n\t);\n});\n",
@@ -144,17 +144,16 @@
144
144
  "import { memo } from 'react';\nimport { Plus, X, Bot, User } from 'lucide-react';\nimport { useTerminalStore } from '../../stores/terminalStore';\nimport type { Terminal } from '../../hooks/useTerminals';\n\ninterface TerminalTabBarProps {\n\tterminals: Terminal[];\n\tonNewTerminal: () => void;\n\tonKillTerminal: (id: string) => void;\n\tisCreating?: boolean;\n}\n\nexport const TerminalTabBar = memo(function TerminalTabBar({\n\tterminals,\n\tonNewTerminal,\n\tonKillTerminal,\n\tisCreating,\n}: TerminalTabBarProps) {\n\tconst activeTabId = useTerminalStore((s) => s.activeTabId);\n\tconst selectTab = useTerminalStore((s) => s.selectTab);\n\n\treturn (\n\t\t<div className=\"flex items-center gap-0 overflow-x-auto scrollbar-none\">\n\t\t\t{terminals.map((t) => {\n\t\t\t\tconst isActive = t.id === activeTabId;\n\t\t\t\tconst isRunning = t.status === 'running';\n\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={t.id}\n\t\t\t\t\t\tclassName={`group flex items-center gap-1.5 px-3 h-9 border-r border-border cursor-pointer select-none shrink-0 transition-colors ${\n\t\t\t\t\t\t\tisActive\n\t\t\t\t\t\t\t\t? 'bg-background text-foreground'\n\t\t\t\t\t\t\t\t: 'bg-muted/30 text-muted-foreground hover:bg-muted/60'\n\t\t\t\t\t\t}`}\n\t\t\t\t\t\tonClick={() => selectTab(t.id)}\n\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\tif (e.key === 'Enter') selectTab(t.id);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\taria-selected={isActive}\n\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"shrink-0\">\n\t\t\t\t\t\t\t{t.createdBy === 'llm' ? (\n\t\t\t\t\t\t\t\t<Bot className=\"w-3 h-3 text-blue-500\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<User className=\"w-3 h-3 text-green-500\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"text-xs font-medium truncate max-w-[120px]\">\n\t\t\t\t\t\t\t{t.title || t.purpose}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{!isRunning && (\n\t\t\t\t\t\t\t<span className=\"w-1.5 h-1.5 rounded-full bg-orange-500 shrink-0\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tclassName=\"shrink-0 p-0.5 rounded opacity-0 group-hover:opacity-100 hover:bg-muted transition-opacity\"\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\tonKillTerminal(t.id);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttitle=\"Close terminal\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<X className=\"w-3 h-3\" />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName=\"flex items-center justify-center w-8 h-9 shrink-0 text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors\"\n\t\t\t\tonClick={onNewTerminal}\n\t\t\t\tdisabled={isCreating}\n\t\t\t\ttitle=\"New terminal\"\n\t\t\t>\n\t\t\t\t<Plus className=\"w-3.5 h-3.5\" />\n\t\t\t</button>\n\t\t</div>\n\t);\n});\n",
145
145
  "import { useEffect, useRef, useState, useCallback } from 'react';\nimport { init, Terminal, FitAddon } from 'ghostty-web';\nimport { getRuntimeApiBaseUrl } from '../../lib/config';\nimport { client } from '@ottocode/api';\n\nconst FONT_FAMILY = '\"JetBrainsMono NFM\", monospace';\nconst SSE_RECONNECT_DELAY = 1500;\nconst SSE_MAX_RETRIES = 5;\nconst CURSOR_BLINK_RESUME_DELAY = 600;\n\nfunction resolveBackgroundColor(): string {\n\tif (typeof document === 'undefined') return '#121216';\n\tconst el = document.createElement('div');\n\tel.style.display = 'none';\n\tel.className = 'bg-background';\n\tdocument.body.appendChild(el);\n\tconst computed = getComputedStyle(el).backgroundColor;\n\tdocument.body.removeChild(el);\n\tconst match = computed.match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)/);\n\tif (match) {\n\t\tconst r = Number(match[1]);\n\t\tconst g = Number(match[2]);\n\t\tconst b = Number(match[3]);\n\t\treturn `#${((1 << 24) | (r << 16) | (g << 8) | b).toString(16).slice(1)}`;\n\t}\n\treturn '#121216';\n}\n\nlet fontsLoaded = false;\n\nasync function loadEmbeddedFont(): Promise<void> {\n\tif (fontsLoaded) return;\n\tif (typeof document === 'undefined' || !('FontFace' in window)) return;\n\n\tconst variants = [\n\t\t{\n\t\t\tfile: 'JetBrainsMonoNerdFontMono-Regular.woff2',\n\t\t\tweight: '400',\n\t\t\tstyle: 'normal',\n\t\t},\n\t\t{\n\t\t\tfile: 'JetBrainsMonoNerdFontMono-Bold.woff2',\n\t\t\tweight: '700',\n\t\t\tstyle: 'normal',\n\t\t},\n\t\t{\n\t\t\tfile: 'JetBrainsMonoNerdFontMono-Italic.woff2',\n\t\t\tweight: '400',\n\t\t\tstyle: 'italic',\n\t\t},\n\t\t{\n\t\t\tfile: 'JetBrainsMonoNerdFontMono-BoldItalic.woff2',\n\t\t\tweight: '700',\n\t\t\tstyle: 'italic',\n\t\t},\n\t];\n\n\tconst loads = variants.map(async (v) => {\n\t\ttry {\n\t\t\tconst url = new URL(`../../assets/fonts/${v.file}`, import.meta.url).href;\n\t\t\tconst face = new FontFace(\n\t\t\t\t'JetBrainsMono NFM',\n\t\t\t\t`url(\"${url}\") format(\"woff2\")`,\n\t\t\t\t{\n\t\t\t\t\tweight: v.weight,\n\t\t\t\t\tstyle: v.style,\n\t\t\t\t},\n\t\t\t);\n\t\t\tconst loaded = await face.load();\n\t\t\tdocument.fonts.add(loaded);\n\t\t} catch {\n\t\t\t// variant not available\n\t\t}\n\t});\n\n\tawait Promise.allSettled(loads);\n\tfontsLoaded = true;\n}\n\nfunction resolveApiBaseUrl(): string {\n\tconst config = client.getConfig?.();\n\tif (\n\t\tconfig &&\n\t\ttypeof config.baseURL === 'string' &&\n\t\tconfig.baseURL.length > 0\n\t) {\n\t\treturn config.baseURL;\n\t}\n\treturn getRuntimeApiBaseUrl();\n}\n\ninterface TerminalViewerProps {\n\tterminalId: string;\n\tisActive: boolean;\n\tonExit?: (terminalId: string) => void;\n}\n\nexport function TerminalViewer({\n\tterminalId,\n\tisActive,\n\tonExit,\n}: TerminalViewerProps) {\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\tconst termRef = useRef<Terminal | null>(null);\n\tconst fitAddonRef = useRef<FitAddon | null>(null);\n\tconst sseAbortRef = useRef<AbortController | null>(null);\n\tconst retryCountRef = useRef(0);\n\tconst retryTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\tconst hasReceivedDataRef = useRef(false);\n\tconst [ready, setReady] = useState(false);\n\tconst onExitRef = useRef(onExit);\n\tonExitRef.current = onExit;\n\tconst blinkTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\tconst userScrolledRef = useRef(false);\n\tconst bgColorRef = useRef('#121216');\n\tconst focusHandlersRef = useRef<{\n\t\tfocusin: () => void;\n\t\tfocusout: () => void;\n\t} | null>(null);\n\n\tconst fitTerminal = useCallback(() => {\n\t\tif (fitAddonRef.current) {\n\t\t\ttry {\n\t\t\t\tfitAddonRef.current.fit();\n\t\t\t} catch {\n\t\t\t\t// container might not be visible yet\n\t\t\t}\n\t\t}\n\t}, []);\n\n\tconst connectSSE = useCallback(\n\t\t(term: Terminal, baseUrl: string, skipHistory: boolean) => {\n\t\t\tif (sseAbortRef.current) {\n\t\t\t\tsseAbortRef.current.abort();\n\t\t\t\tsseAbortRef.current = null;\n\t\t\t}\n\n\t\t\tconst url = `${baseUrl}/v1/terminals/${terminalId}/output${skipHistory ? '?skipHistory=true' : ''}`;\n\t\t\tconst isTunnel =\n\t\t\t\t!baseUrl.includes('localhost') && !baseUrl.includes('127.0.0.1');\n\t\t\tconst controller = new AbortController();\n\t\t\tsseAbortRef.current = controller;\n\n\t\t\tlet gotFirstData = false;\n\n\t\t\tconst handleMessage = (raw: string) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst data = JSON.parse(raw);\n\t\t\t\t\tif (data.type === 'data') {\n\t\t\t\t\t\tconst savedY = userScrolledRef.current ? term.getViewportY() : 0;\n\t\t\t\t\t\tterm.write(data.line);\n\t\t\t\t\t\tif (userScrolledRef.current && savedY > 0) {\n\t\t\t\t\t\t\tterm.scrollToLine(savedY);\n\t\t\t\t\t\t}\n\t\t\t\t\t\thasReceivedDataRef.current = true;\n\t\t\t\t\t\tif (!gotFirstData) {\n\t\t\t\t\t\t\tgotFirstData = true;\n\t\t\t\t\t\t\tsetTimeout(() => setReady(true), 200);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (data.type === 'exit') {\n\t\t\t\t\t\tterm.write(\n\t\t\t\t\t\t\t`\\r\\n\\x1b[33m[Process exited with code ${data.exitCode}]\\x1b[0m\\r\\n`,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (onExitRef.current) {\n\t\t\t\t\t\t\tonExitRef.current(terminalId);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch {}\n\t\t\t};\n\n\t\t\tconst run = async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst response = await fetch(url, {\n\t\t\t\t\t\tmethod: isTunnel ? 'POST' : 'GET',\n\t\t\t\t\t\theaders: { Accept: 'text/event-stream' },\n\t\t\t\t\t\tsignal: controller.signal,\n\t\t\t\t\t});\n\t\t\t\t\tif (!response.ok || !response.body) return;\n\t\t\t\t\tretryCountRef.current = 0;\n\t\t\t\t\tconst reader = response.body.getReader();\n\t\t\t\t\tconst decoder = new TextDecoder();\n\t\t\t\t\tlet buffer = '';\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tconst { done, value } = await reader.read();\n\t\t\t\t\t\tif (done) break;\n\t\t\t\t\t\tbuffer += decoder.decode(value, { stream: true });\n\t\t\t\t\t\tlet idx = buffer.indexOf('\\n\\n');\n\t\t\t\t\t\twhile (idx !== -1) {\n\t\t\t\t\t\t\tconst raw = buffer.slice(0, idx);\n\t\t\t\t\t\t\tbuffer = buffer.slice(idx + 2);\n\t\t\t\t\t\t\tfor (const line of raw.split('\\n')) {\n\t\t\t\t\t\t\t\tif (line.startsWith('data: ')) {\n\t\t\t\t\t\t\t\t\thandleMessage(line.slice(6));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tidx = buffer.indexOf('\\n\\n');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error instanceof Error && error.name === 'AbortError') return;\n\t\t\t\t}\n\t\t\t\tif (sseAbortRef.current === controller) {\n\t\t\t\t\tsseAbortRef.current = null;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t!controller.signal.aborted &&\n\t\t\t\t\tretryCountRef.current < SSE_MAX_RETRIES\n\t\t\t\t) {\n\t\t\t\t\tretryCountRef.current++;\n\t\t\t\t\tretryTimerRef.current = setTimeout(() => {\n\t\t\t\t\t\tif (termRef.current) {\n\t\t\t\t\t\t\tconnectSSE(termRef.current, baseUrl, true);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, SSE_RECONNECT_DELAY);\n\t\t\t\t}\n\t\t\t};\n\t\t\tvoid run();\n\t\t},\n\t\t[terminalId],\n\t);\n\n\tuseEffect(() => {\n\t\tif (!containerRef.current || !terminalId) return;\n\n\t\tlet disposed = false;\n\t\tlet term: Terminal | null = null;\n\t\tlet fitAddon: FitAddon | null = null;\n\t\tlet resizeObserver: ResizeObserver | null = null;\n\n\t\tsetReady(false);\n\t\tretryCountRef.current = 0;\n\t\thasReceivedDataRef.current = false;\n\n\t\tif (sseAbortRef.current) {\n\t\t\tsseAbortRef.current.abort();\n\t\t\tsseAbortRef.current = null;\n\t\t}\n\t\tif (retryTimerRef.current) {\n\t\t\tclearTimeout(retryTimerRef.current);\n\t\t\tretryTimerRef.current = null;\n\t\t}\n\n\t\tconst setup = async () => {\n\t\t\tawait init();\n\t\t\tif (disposed || !containerRef.current) return;\n\n\t\t\tawait loadEmbeddedFont();\n\t\t\tawait document.fonts.ready;\n\n\t\t\tconst bg = resolveBackgroundColor();\n\n\t\t\tterm = new Terminal({\n\t\t\t\ttheme: {\n\t\t\t\t\tbackground: bg,\n\t\t\t\t\tforeground: '#d4d4d4',\n\t\t\t\t\tcursor: '#ffffff',\n\t\t\t\t\tcursorAccent: '#000000',\n\t\t\t\t\tselectionBackground: '#264f78',\n\t\t\t\t\tblack: '#000000',\n\t\t\t\t\tred: '#cd3131',\n\t\t\t\t\tgreen: '#0dbc79',\n\t\t\t\t\tyellow: '#e5e510',\n\t\t\t\t\tblue: '#2472c8',\n\t\t\t\t\tmagenta: '#bc3fbc',\n\t\t\t\t\tcyan: '#11a8cd',\n\t\t\t\t\twhite: '#e5e5e5',\n\t\t\t\t\tbrightBlack: '#666666',\n\t\t\t\t\tbrightRed: '#f14c4c',\n\t\t\t\t\tbrightGreen: '#23d18b',\n\t\t\t\t\tbrightYellow: '#f5f543',\n\t\t\t\t\tbrightBlue: '#3b8eea',\n\t\t\t\t\tbrightMagenta: '#d670d6',\n\t\t\t\t\tbrightCyan: '#29b8db',\n\t\t\t\t\tbrightWhite: '#e5e5e5',\n\t\t\t\t},\n\t\t\t\tfontSize: 13,\n\t\t\t\tfontFamily: FONT_FAMILY,\n\t\t\t\tcursorBlink: true,\n\t\t\t\tconvertEol: true,\n\t\t\t\tscrollback: 5000,\n\t\t\t});\n\n\t\t\tfitAddon = new FitAddon();\n\t\t\tterm.loadAddon(fitAddon);\n\t\t\tterm.open(containerRef.current);\n\n\t\t\tterm.onData(() => {\n\t\t\t\tif (!termRef.current?.renderer) return;\n\t\t\t\ttermRef.current.renderer.setCursorBlink(false);\n\t\t\t\tif (blinkTimerRef.current) clearTimeout(blinkTimerRef.current);\n\t\t\t\tblinkTimerRef.current = setTimeout(() => {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttermRef.current?.renderer &&\n\t\t\t\t\t\tdocument.activeElement &&\n\t\t\t\t\t\tcontainerRef.current?.contains(document.activeElement)\n\t\t\t\t\t) {\n\t\t\t\t\t\ttermRef.current.renderer.setCursorBlink(true);\n\t\t\t\t\t}\n\t\t\t\t}, CURSOR_BLINK_RESUME_DELAY);\n\t\t\t});\n\n\t\t\tbgColorRef.current = bg;\n\n\t\t\tconst handleFocusIn = () => {\n\t\t\t\tif (!termRef.current?.renderer) return;\n\t\t\t\ttermRef.current.renderer.setCursorBlink(true);\n\t\t\t\ttermRef.current.renderer.setTheme({\n\t\t\t\t\tcursor: '#ffffff',\n\t\t\t\t\tcursorAccent: '#000000',\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst handleFocusOut = () => {\n\t\t\t\tif (!termRef.current?.renderer) return;\n\t\t\t\ttermRef.current.renderer.setCursorBlink(false);\n\t\t\t\ttermRef.current.renderer.setTheme({\n\t\t\t\t\tcursor: bgColorRef.current,\n\t\t\t\t\tcursorAccent: bgColorRef.current,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tcontainerRef.current.addEventListener('focusin', handleFocusIn);\n\t\t\tcontainerRef.current.addEventListener('focusout', handleFocusOut);\n\t\t\tfocusHandlersRef.current = {\n\t\t\t\tfocusin: handleFocusIn,\n\t\t\t\tfocusout: handleFocusOut,\n\t\t\t};\n\n\t\t\tawait new Promise<void>((resolve) => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tfitAddon?.fit();\n\t\t\t\t\t} catch {\n\t\t\t\t\t\t// container might not be visible\n\t\t\t\t\t}\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tif (disposed) return;\n\n\t\t\tconst baseUrl = resolveApiBaseUrl();\n\n\t\t\tconst sendResize = (cols: number, rows: number) => {\n\t\t\t\tfetch(`${baseUrl}/v1/terminals/${terminalId}/resize`, {\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t\t\t\tbody: JSON.stringify({ cols, rows }),\n\t\t\t\t}).catch(() => {});\n\t\t\t};\n\n\t\t\tif (term) {\n\t\t\t\tsendResize(term.cols, term.rows);\n\t\t\t}\n\n\t\t\tconnectSSE(term, baseUrl, false);\n\n\t\t\tterm.onData((data) => {\n\t\t\t\tfetch(`${baseUrl}/v1/terminals/${terminalId}/input`, {\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t\t\t\tbody: JSON.stringify({ input: data }),\n\t\t\t\t}).catch(() => {});\n\t\t\t});\n\n\t\t\tterm.onResize(({ cols, rows }) => {\n\t\t\t\tsendResize(cols, rows);\n\t\t\t});\n\n\t\t\tterm.onScroll(() => {\n\t\t\t\tuserScrolledRef.current = term.getViewportY() > 0;\n\t\t\t});\n\n\t\t\ttermRef.current = term;\n\t\t\tfitAddonRef.current = fitAddon;\n\n\t\t\tresizeObserver = new ResizeObserver(() => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tif (fitAddonRef.current && !disposed) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tfitAddonRef.current.fit();\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t// ignore\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tresizeObserver.observe(containerRef.current);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (!disposed) setReady(true);\n\t\t\t}, 2000);\n\t\t};\n\n\t\tsetup().catch((error) => {\n\t\t\tconsole.error('[TerminalViewer] Failed to initialize:', error);\n\t\t});\n\n\t\treturn () => {\n\t\t\tdisposed = true;\n\t\t\tif (containerRef.current && focusHandlersRef.current) {\n\t\t\t\tcontainerRef.current.removeEventListener(\n\t\t\t\t\t'focusin',\n\t\t\t\t\tfocusHandlersRef.current.focusin,\n\t\t\t\t);\n\t\t\t\tcontainerRef.current.removeEventListener(\n\t\t\t\t\t'focusout',\n\t\t\t\t\tfocusHandlersRef.current.focusout,\n\t\t\t\t);\n\t\t\t\tfocusHandlersRef.current = null;\n\t\t\t}\n\t\t\tif (blinkTimerRef.current) {\n\t\t\t\tclearTimeout(blinkTimerRef.current);\n\t\t\t\tblinkTimerRef.current = null;\n\t\t\t}\n\t\t\tif (retryTimerRef.current) {\n\t\t\t\tclearTimeout(retryTimerRef.current);\n\t\t\t\tretryTimerRef.current = null;\n\t\t\t}\n\t\t\tif (sseAbortRef.current) {\n\t\t\t\tsseAbortRef.current.abort();\n\t\t\t\tsseAbortRef.current = null;\n\t\t\t}\n\t\t\tif (resizeObserver) {\n\t\t\t\tresizeObserver.disconnect();\n\t\t\t}\n\t\t\tif (term) {\n\t\t\t\tterm.dispose();\n\t\t\t}\n\t\t\ttermRef.current = null;\n\t\t\tfitAddonRef.current = null;\n\t\t};\n\t}, [terminalId, connectSSE]);\n\n\tuseEffect(() => {\n\t\tconst term = termRef.current;\n\t\tif (!term) return;\n\t\tif (isActive) {\n\t\t\tfitTerminal();\n\t\t\tterm.focus();\n\t\t} else {\n\t\t\tterm.blur();\n\t\t\tif (term.renderer) {\n\t\t\t\tterm.renderer.setCursorBlink(false);\n\t\t\t\tterm.renderer.setTheme({\n\t\t\t\t\tcursor: bgColorRef.current,\n\t\t\t\t\tcursorAccent: bgColorRef.current,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, [isActive, fitTerminal]);\n\n\tuseEffect(() => {\n\t\tfitTerminal();\n\t}, [fitTerminal]);\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"flex h-full flex-col overflow-hidden bg-background absolute inset-0\"\n\t\t\tstyle={{ visibility: isActive ? 'visible' : 'hidden' }}\n\t\t\tdata-terminal-viewer\n\t\t>\n\t\t\t<div className=\"relative flex-1 min-h-0 overflow-hidden\">\n\t\t\t\t<div ref={containerRef} className=\"absolute inset-0 bg-background\" />\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"absolute inset-0 bg-background flex items-center justify-center pointer-events-none transition-opacity duration-300\"\n\t\t\t\t\tstyle={{ opacity: ready ? 0 : 1 }}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"flex items-center gap-2 text-muted-foreground\">\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tclassName=\"animate-spin h-4 w-4\"\n\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<circle\n\t\t\t\t\t\t\t\tclassName=\"opacity-25\"\n\t\t\t\t\t\t\t\tcx=\"12\"\n\t\t\t\t\t\t\t\tcy=\"12\"\n\t\t\t\t\t\t\t\tr=\"10\"\n\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\tstrokeWidth=\"4\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\tclassName=\"opacity-75\"\n\t\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t\t\td=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t<span className=\"text-xs\">Loading terminal…</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n",
146
146
  "import { memo } from 'react';\nimport { Terminal } from 'lucide-react';\nimport { useTerminalStore } from '../../stores/terminalStore';\nimport { useTerminals } from '../../hooks/useTerminals';\n\nexport const TerminalPanelToggle = memo(function TerminalPanelToggle() {\n\tconst isOpen = useTerminalStore((s) => s.isOpen);\n\tconst togglePanel = useTerminalStore((s) => s.togglePanel);\n\tconst { data } = useTerminals();\n\n\tconst count = data?.count ?? 0;\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={togglePanel}\n\t\t\tclassName={`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center ${\n\t\t\t\tisOpen ? 'bg-muted border-r-2 border-primary' : 'hover:bg-muted/50'\n\t\t\t}`}\n\t\t\ttitle=\"Terminals\"\n\t\t>\n\t\t\t<Terminal className=\"w-5 h-5 text-muted-foreground mx-auto\" />\n\t\t\t{count > 0 && (\n\t\t\t\t<span className=\"absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold\">\n\t\t\t\t\t{count > 9 ? '9+' : count}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</button>\n\t);\n});\n",
147
- "import { memo, useMemo } from 'react';\nimport {\n\tChevronRight,\n\tFilePen,\n\tFileCode,\n\tFilePlus,\n\tFileEdit,\n\tRefreshCw,\n} from 'lucide-react';\nimport { useSessionFilesStore } from '../../stores/sessionFilesStore';\nimport { usePanelWidthStore } from '../../stores/panelWidthStore';\nimport { useSessionFiles } from '../../hooks/useSessionFiles';\nimport { Button } from '../ui/Button';\nimport { ResizeHandle } from '../ui/ResizeHandle';\nimport type { SessionFile, SessionFileOperation } from '../../types/api';\n\nconst PANEL_KEY = 'session-files';\nconst DEFAULT_WIDTH = 320;\nconst MIN_WIDTH = 320;\nconst MAX_WIDTH = 600;\n\ninterface SessionFilesSidebarProps {\n\tsessionId?: string;\n}\n\nfunction getOperationIcon(operation: string) {\n\tswitch (operation) {\n\t\tcase 'write':\n\t\t\treturn <FilePlus className=\"w-3 h-3 text-green-500\" />;\n\t\tcase 'patch':\n\t\t\treturn <FileEdit className=\"w-3 h-3 text-blue-500\" />;\n\t\tcase 'edit':\n\t\t\treturn <FileCode className=\"w-3 h-3 text-yellow-500\" />;\n\t\tdefault:\n\t\t\treturn <FilePen className=\"w-3 h-3 text-muted-foreground\" />;\n\t}\n}\n\nfunction getFileName(path: string): string {\n\treturn path.split('/').pop() || path;\n}\n\nfunction countLinesFromPatch(op: SessionFileOperation): {\n\tadditions: number;\n\tdeletions: number;\n} {\n\tif (op.artifact?.summary) {\n\t\treturn {\n\t\t\tadditions: op.artifact.summary.additions,\n\t\t\tdeletions: op.artifact.summary.deletions,\n\t\t};\n\t}\n\n\tconst patch = op.artifact?.patch || op.patch;\n\tif (patch) {\n\t\tlet additions = 0;\n\t\tlet deletions = 0;\n\t\tconst lines = patch.split('\\n');\n\t\tfor (const line of lines) {\n\t\t\tif (line.startsWith('+') && !line.startsWith('+++')) {\n\t\t\t\tadditions++;\n\t\t\t} else if (line.startsWith('-') && !line.startsWith('---')) {\n\t\t\t\tdeletions++;\n\t\t\t}\n\t\t}\n\t\treturn { additions, deletions };\n\t}\n\n\tif (op.content) {\n\t\tconst lineCount = op.content.split('\\n').length;\n\t\treturn { additions: lineCount, deletions: 0 };\n\t}\n\n\treturn { additions: 0, deletions: 0 };\n}\n\nfunction SessionFileItem({ file }: { file: SessionFile }) {\n\tconst openDiff = useSessionFilesStore((state) => state.openDiff);\n\tconst selectedFile = useSessionFilesStore((state) => state.selectedFile);\n\tconst isSelected = selectedFile === file.path;\n\n\tconst lastOp = file.operations[file.operations.length - 1];\n\n\tconst { totalAdditions, totalDeletions } = useMemo(() => {\n\t\tlet additions = 0;\n\t\tlet deletions = 0;\n\t\tfor (const op of file.operations) {\n\t\t\tconst stats = countLinesFromPatch(op);\n\t\t\tadditions += stats.additions;\n\t\t\tdeletions += stats.deletions;\n\t\t}\n\t\treturn { totalAdditions: additions, totalDeletions: deletions };\n\t}, [file.operations]);\n\n\tconst handleClick = () => {\n\t\tif (file.operations.length > 0) {\n\t\t\topenDiff(file.path, file.operations);\n\t\t}\n\t};\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={handleClick}\n\t\t\tclassName={`w-full text-left px-3 py-2 hover:bg-muted/50 transition-colors ${\n\t\t\t\tisSelected ? 'bg-muted' : ''\n\t\t\t}`}\n\t\t>\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t{getOperationIcon(lastOp?.operation || 'write')}\n\t\t\t\t<div className=\"flex-1 min-w-0\">\n\t\t\t\t\t<div className=\"text-sm font-medium truncate\">\n\t\t\t\t\t\t{getFileName(file.path)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-1 text-xs shrink-0\">\n\t\t\t\t\t{file.operationCount > 1 && (\n\t\t\t\t\t\t<span className=\"bg-muted text-muted-foreground px-1 rounded mr-1\">\n\t\t\t\t\t\t\t{file.operationCount}x\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t\t<span className=\"text-green-500\">+{totalAdditions}</span>\n\t\t\t\t\t<span className=\"text-red-500\">-{totalDeletions}</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</button>\n\t);\n}\n\nexport const SessionFilesSidebar = memo(function SessionFilesSidebar({\n\tsessionId,\n}: SessionFilesSidebarProps) {\n\tconst isExpanded = useSessionFilesStore((state) => state.isExpanded);\n\tconst collapseSidebar = useSessionFilesStore(\n\t\t(state) => state.collapseSidebar,\n\t);\n\tconst panelWidth = usePanelWidthStore(\n\t\t(s) => s.widths[PANEL_KEY] ?? DEFAULT_WIDTH,\n\t);\n\tconst { data, isLoading, error, refetch } = useSessionFiles(\n\t\tsessionId,\n\t\tisExpanded,\n\t);\n\n\tif (!isExpanded) return null;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"border-l border-sidebar-border sidebar-fade-in flex h-full relative\"\n\t\t\tstyle={{ width: panelWidth }}\n\t\t>\n\t\t\t<ResizeHandle\n\t\t\t\tpanelKey={PANEL_KEY}\n\t\t\t\tside=\"right\"\n\t\t\t\tminWidth={MIN_WIDTH}\n\t\t\t\tmaxWidth={MAX_WIDTH}\n\t\t\t\tdefaultWidth={DEFAULT_WIDTH}\n\t\t\t/>\n\t\t\t<div className=\"flex-1 flex flex-col h-full min-w-0\">\n\t\t\t\t<div className=\"h-14 border-b border-border px-3 flex items-center justify-between shrink-0\">\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<FilePen className=\"w-4 h-4 text-muted-foreground\" />\n\t\t\t\t\t\t<span className=\"font-medium\">Session Files</span>\n\t\t\t\t\t\t{data && data.totalFiles > 0 && (\n\t\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t({data.totalFiles})\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<Button variant=\"ghost\" size=\"icon\" onClick={collapseSidebar}>\n\t\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex-1 overflow-y-auto\">\n\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\tLoading session files...\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : error ? (\n\t\t\t\t\t\t<div className=\"p-4 text-sm text-orange-500\">\n\t\t\t\t\t\t\t{error instanceof Error ? error.message : 'Failed to load files'}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : !data || data.totalFiles === 0 ? (\n\t\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\tNo files modified in this session\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"divide-y divide-border\">\n\t\t\t\t\t\t\t{data.files.map((file) => (\n\t\t\t\t\t\t\t\t<SessionFileItem key={file.path} file={file} />\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2\">\n\t\t\t\t\t<div className=\"flex items-center gap-2 min-w-0 flex-1\">\n\t\t\t\t\t\t<FilePen className=\"w-3 h-3 flex-shrink-0\" />\n\t\t\t\t\t\t{data && data.totalOperations > 0 ? (\n\t\t\t\t\t\t\t<span className=\"truncate\">\n\t\t\t\t\t\t\t\t{data.totalFiles} file{data.totalFiles !== 1 ? 's' : ''} •{' '}\n\t\t\t\t\t\t\t\t{data.totalOperations} op{data.totalOperations !== 1 ? 's' : ''}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span className=\"truncate\">No changes</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center gap-1 flex-shrink-0\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\tonClick={() => refetch()}\n\t\t\t\t\t\t\ttitle=\"Refresh session files\"\n\t\t\t\t\t\t\tclassName=\"h-6 w-6 transition-transform duration-200 hover:scale-110\"\n\t\t\t\t\t\t\tdisabled={isLoading}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RefreshCw\n\t\t\t\t\t\t\t\tclassName={`w-3 h-3 ${isLoading ? 'animate-spin' : ''}`}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n",
147
+ "import { memo, useMemo } from 'react';\nimport {\n\tChevronRight,\n\tFilePen,\n\tFilePlus,\n\tFileEdit,\n\tRefreshCw,\n} from 'lucide-react';\nimport { useSessionFilesStore } from '../../stores/sessionFilesStore';\nimport { usePanelWidthStore } from '../../stores/panelWidthStore';\nimport { useSessionFiles } from '../../hooks/useSessionFiles';\nimport { Button } from '../ui/Button';\nimport { ResizeHandle } from '../ui/ResizeHandle';\nimport type { SessionFile, SessionFileOperation } from '../../types/api';\n\nconst PANEL_KEY = 'session-files';\nconst DEFAULT_WIDTH = 320;\nconst MIN_WIDTH = 320;\nconst MAX_WIDTH = 600;\n\ninterface SessionFilesSidebarProps {\n\tsessionId?: string;\n}\n\nfunction getOperationIcon(operation: string) {\n\tswitch (operation) {\n\t\tcase 'write':\n\t\t\treturn <FilePlus className=\"w-3 h-3 text-green-500\" />;\n\t\tcase 'patch':\n\t\t\treturn <FileEdit className=\"w-3 h-3 text-blue-500\" />;\n\t\tdefault:\n\t\t\treturn <FilePen className=\"w-3 h-3 text-muted-foreground\" />;\n\t}\n}\n\nfunction getFileName(path: string): string {\n\treturn path.split('/').pop() || path;\n}\n\nfunction countLinesFromPatch(op: SessionFileOperation): {\n\tadditions: number;\n\tdeletions: number;\n} {\n\tif (op.artifact?.summary) {\n\t\treturn {\n\t\t\tadditions: op.artifact.summary.additions,\n\t\t\tdeletions: op.artifact.summary.deletions,\n\t\t};\n\t}\n\n\tconst patch = op.artifact?.patch || op.patch;\n\tif (patch) {\n\t\tlet additions = 0;\n\t\tlet deletions = 0;\n\t\tconst lines = patch.split('\\n');\n\t\tfor (const line of lines) {\n\t\t\tif (line.startsWith('+') && !line.startsWith('+++')) {\n\t\t\t\tadditions++;\n\t\t\t} else if (line.startsWith('-') && !line.startsWith('---')) {\n\t\t\t\tdeletions++;\n\t\t\t}\n\t\t}\n\t\treturn { additions, deletions };\n\t}\n\n\tif (op.content) {\n\t\tconst lineCount = op.content.split('\\n').length;\n\t\treturn { additions: lineCount, deletions: 0 };\n\t}\n\n\treturn { additions: 0, deletions: 0 };\n}\n\nfunction SessionFileItem({ file }: { file: SessionFile }) {\n\tconst openDiff = useSessionFilesStore((state) => state.openDiff);\n\tconst selectedFile = useSessionFilesStore((state) => state.selectedFile);\n\tconst isSelected = selectedFile === file.path;\n\n\tconst lastOp = file.operations[file.operations.length - 1];\n\n\tconst { totalAdditions, totalDeletions } = useMemo(() => {\n\t\tlet additions = 0;\n\t\tlet deletions = 0;\n\t\tfor (const op of file.operations) {\n\t\t\tconst stats = countLinesFromPatch(op);\n\t\t\tadditions += stats.additions;\n\t\t\tdeletions += stats.deletions;\n\t\t}\n\t\treturn { totalAdditions: additions, totalDeletions: deletions };\n\t}, [file.operations]);\n\n\tconst handleClick = () => {\n\t\tif (file.operations.length > 0) {\n\t\t\topenDiff(file.path, file.operations);\n\t\t}\n\t};\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={handleClick}\n\t\t\tclassName={`w-full text-left px-3 py-2 hover:bg-muted/50 transition-colors ${\n\t\t\t\tisSelected ? 'bg-muted' : ''\n\t\t\t}`}\n\t\t>\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t{getOperationIcon(lastOp?.operation || 'write')}\n\t\t\t\t<div className=\"flex-1 min-w-0\">\n\t\t\t\t\t<div className=\"text-sm font-medium truncate\">\n\t\t\t\t\t\t{getFileName(file.path)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-1 text-xs shrink-0\">\n\t\t\t\t\t{file.operationCount > 1 && (\n\t\t\t\t\t\t<span className=\"bg-muted text-muted-foreground px-1 rounded mr-1\">\n\t\t\t\t\t\t\t{file.operationCount}x\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t\t<span className=\"text-green-500\">+{totalAdditions}</span>\n\t\t\t\t\t<span className=\"text-red-500\">-{totalDeletions}</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</button>\n\t);\n}\n\nexport const SessionFilesSidebar = memo(function SessionFilesSidebar({\n\tsessionId,\n}: SessionFilesSidebarProps) {\n\tconst isExpanded = useSessionFilesStore((state) => state.isExpanded);\n\tconst collapseSidebar = useSessionFilesStore(\n\t\t(state) => state.collapseSidebar,\n\t);\n\tconst panelWidth = usePanelWidthStore(\n\t\t(s) => s.widths[PANEL_KEY] ?? DEFAULT_WIDTH,\n\t);\n\tconst { data, isLoading, error, refetch } = useSessionFiles(\n\t\tsessionId,\n\t\tisExpanded,\n\t);\n\n\tif (!isExpanded) return null;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"border-l border-sidebar-border sidebar-fade-in flex h-full relative\"\n\t\t\tstyle={{ width: panelWidth }}\n\t\t>\n\t\t\t<ResizeHandle\n\t\t\t\tpanelKey={PANEL_KEY}\n\t\t\t\tside=\"right\"\n\t\t\t\tminWidth={MIN_WIDTH}\n\t\t\t\tmaxWidth={MAX_WIDTH}\n\t\t\t\tdefaultWidth={DEFAULT_WIDTH}\n\t\t\t/>\n\t\t\t<div className=\"flex-1 flex flex-col h-full min-w-0\">\n\t\t\t\t<div className=\"h-14 border-b border-border px-3 flex items-center justify-between shrink-0\">\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<FilePen className=\"w-4 h-4 text-muted-foreground\" />\n\t\t\t\t\t\t<span className=\"font-medium\">Session Files</span>\n\t\t\t\t\t\t{data && data.totalFiles > 0 && (\n\t\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t({data.totalFiles})\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<Button variant=\"ghost\" size=\"icon\" onClick={collapseSidebar}>\n\t\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex-1 overflow-y-auto\">\n\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\tLoading session files...\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : error ? (\n\t\t\t\t\t\t<div className=\"p-4 text-sm text-orange-500\">\n\t\t\t\t\t\t\t{error instanceof Error ? error.message : 'Failed to load files'}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : !data || data.totalFiles === 0 ? (\n\t\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\tNo files modified in this session\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"divide-y divide-border\">\n\t\t\t\t\t\t\t{data.files.map((file) => (\n\t\t\t\t\t\t\t\t<SessionFileItem key={file.path} file={file} />\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2\">\n\t\t\t\t\t<div className=\"flex items-center gap-2 min-w-0 flex-1\">\n\t\t\t\t\t\t<FilePen className=\"w-3 h-3 flex-shrink-0\" />\n\t\t\t\t\t\t{data && data.totalOperations > 0 ? (\n\t\t\t\t\t\t\t<span className=\"truncate\">\n\t\t\t\t\t\t\t\t{data.totalFiles} file{data.totalFiles !== 1 ? 's' : ''} •{' '}\n\t\t\t\t\t\t\t\t{data.totalOperations} op{data.totalOperations !== 1 ? 's' : ''}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span className=\"truncate\">No changes</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center gap-1 flex-shrink-0\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\tonClick={() => refetch()}\n\t\t\t\t\t\t\ttitle=\"Refresh session files\"\n\t\t\t\t\t\t\tclassName=\"h-6 w-6 transition-transform duration-200 hover:scale-110\"\n\t\t\t\t\t\t\tdisabled={isLoading}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RefreshCw\n\t\t\t\t\t\t\t\tclassName={`w-3 h-3 ${isLoading ? 'animate-spin' : ''}`}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n",
148
148
  "import { useQuery } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\nimport { useSessionFilesStore } from '../stores/sessionFilesStore';\n\nexport function useSessionFiles(sessionId: string | undefined, enabled = true) {\n\tconst isExpanded = useSessionFilesStore((state) => state.isExpanded);\n\n\treturn useQuery({\n\t\tqueryKey: ['session', sessionId, 'files'],\n\t\tqueryFn: () => (sessionId ? apiClient.getSessionFiles(sessionId) : null),\n\t\tenabled: !!sessionId && enabled,\n\t\trefetchInterval: isExpanded && enabled ? 5000 : false,\n\t\tretry: 1,\n\t\tstaleTime: 3000,\n\t});\n}\n",
149
149
  "import { memo } from 'react';\nimport { FilePen } from 'lucide-react';\nimport { useSessionFilesStore } from '../../stores/sessionFilesStore';\nimport { useSessionFiles } from '../../hooks/useSessionFiles';\n\ninterface SessionFilesSidebarToggleProps {\n\tsessionId?: string;\n}\n\nexport const SessionFilesSidebarToggle = memo(\n\tfunction SessionFilesSidebarToggle({\n\t\tsessionId,\n\t}: SessionFilesSidebarToggleProps) {\n\t\tconst isExpanded = useSessionFilesStore((state) => state.isExpanded);\n\t\tconst toggleSidebar = useSessionFilesStore((state) => state.toggleSidebar);\n\t\tconst { data } = useSessionFiles(sessionId, isExpanded);\n\n\t\tconst fileCount = data?.totalFiles ?? 0;\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={toggleSidebar}\n\t\t\t\tclassName={`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${\n\t\t\t\t\tisExpanded\n\t\t\t\t\t\t? 'bg-muted border-primary'\n\t\t\t\t\t\t: 'border-transparent hover:bg-muted/50'\n\t\t\t\t}`}\n\t\t\t\ttitle=\"Session Files\"\n\t\t\t>\n\t\t\t\t<FilePen className=\"w-5 h-5 text-muted-foreground mx-auto\" />\n\t\t\t\t{fileCount > 0 && (\n\t\t\t\t\t<span className=\"absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold\">\n\t\t\t\t\t\t{fileCount > 9 ? '9+' : fileCount}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</button>\n\t\t);\n\t},\n);\n",
150
150
  "import { useEffect, useMemo, memo, useRef } from 'react';\nimport { X, ChevronLeft, ChevronRight } from 'lucide-react';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport {\n\tprism,\n\tvscDarkPlus,\n} from 'react-syntax-highlighter/dist/esm/styles/prism';\nimport { useSessionFilesStore } from '../../stores/sessionFilesStore';\nimport { useSidebarStore } from '../../stores/sidebarStore';\nimport { Button } from '../ui/Button';\n\nfunction transformToUnifiedDiff(patch: string): string {\n\tconst lines = patch.split('\\n');\n\tconst result: string[] = [];\n\tlet addCount = 0;\n\tlet removeCount = 0;\n\tconst diffLines: string[] = [];\n\n\tfor (const line of lines) {\n\t\tif (\n\t\t\tline.startsWith('*** Begin Patch') ||\n\t\t\tline.startsWith('*** End Patch') ||\n\t\t\tline.startsWith('*** Update File:') ||\n\t\t\tline.startsWith('*** Add File:') ||\n\t\t\tline.startsWith('*** Delete File:')\n\t\t) {\n\t\t\tif (diffLines.length > 0) {\n\t\t\t\tresult.push(`@@ -1,${removeCount} +1,${addCount} @@`);\n\t\t\t\tresult.push(...diffLines);\n\t\t\t\tdiffLines.length = 0;\n\t\t\t\taddCount = 0;\n\t\t\t\tremoveCount = 0;\n\t\t\t}\n\t\t\tresult.push(line);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (line.match(/^@@ -\\d+(?:,\\d+)? \\+\\d+(?:,\\d+)? @@/)) {\n\t\t\tif (diffLines.length > 0) {\n\t\t\t\tresult.push(`@@ -1,${removeCount} +1,${addCount} @@`);\n\t\t\t\tresult.push(...diffLines);\n\t\t\t\tdiffLines.length = 0;\n\t\t\t\taddCount = 0;\n\t\t\t\tremoveCount = 0;\n\t\t\t}\n\t\t\tresult.push(line);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (line.startsWith('@@')) {\n\t\t\tresult.push(line);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (line.startsWith('+')) {\n\t\t\taddCount++;\n\t\t\tdiffLines.push(line);\n\t\t} else if (line.startsWith('-')) {\n\t\t\tremoveCount++;\n\t\t\tdiffLines.push(line);\n\t\t} else if (line.startsWith(' ') || line.startsWith('\\t')) {\n\t\t\taddCount++;\n\t\t\tremoveCount++;\n\t\t\tdiffLines.push(line.startsWith('\\t') ? ` ${line}` : line);\n\t\t} else if (line.trim() === '') {\n\t\t\tdiffLines.push(' ');\n\t\t\taddCount++;\n\t\t\tremoveCount++;\n\t\t} else {\n\t\t\taddCount++;\n\t\t\tremoveCount++;\n\t\t\tdiffLines.push(` ${line}`);\n\t\t}\n\t}\n\n\tif (diffLines.length > 0) {\n\t\tresult.push(`@@ -1,${removeCount} +1,${addCount} @@`);\n\t\tresult.push(...diffLines);\n\t}\n\n\treturn result.join('\\n');\n}\n\nfunction getLanguageFromPath(path: string): string {\n\tconst ext = path.split('.').pop()?.toLowerCase();\n\tconst langMap: Record<string, string> = {\n\t\tjs: 'javascript',\n\t\tjsx: 'jsx',\n\t\tts: 'typescript',\n\t\ttsx: 'tsx',\n\t\tpy: 'python',\n\t\trb: 'ruby',\n\t\tgo: 'go',\n\t\trs: 'rust',\n\t\tjava: 'java',\n\t\tc: 'c',\n\t\tcpp: 'cpp',\n\t\th: 'c',\n\t\thpp: 'cpp',\n\t\tcs: 'csharp',\n\t\tphp: 'php',\n\t\tsh: 'bash',\n\t\tbash: 'bash',\n\t\tzsh: 'bash',\n\t\tsql: 'sql',\n\t\tjson: 'json',\n\t\tyaml: 'yaml',\n\t\tyml: 'yaml',\n\t\txml: 'xml',\n\t\thtml: 'html',\n\t\tcss: 'css',\n\t\tscss: 'scss',\n\t\tmd: 'markdown',\n\t\ttxt: 'text',\n\t\tsvelte: 'svelte',\n\t};\n\treturn langMap[ext || ''] || 'javascript';\n}\n\ninterface DiffLine {\n\tcontent: string;\n\tcodeContent: string;\n\ttype: 'add' | 'remove' | 'context' | 'meta' | 'header';\n\toldLineNum?: number;\n\tnewLineNum?: number;\n}\n\nfunction parseDiff(patch: string): { lines: DiffLine[]; filePath: string } {\n\tconst lines = patch.split('\\n');\n\tconst result: DiffLine[] = [];\n\tlet oldLineNum = 0;\n\tlet newLineNum = 0;\n\tlet inHunk = false;\n\tlet filePath = '';\n\n\tfor (const line of lines) {\n\t\tif (line.startsWith('+++') || line.startsWith('*** Update File:')) {\n\t\t\tconst match =\n\t\t\t\tline.match(/\\+\\+\\+ b\\/(.+)/) || line.match(/\\*\\*\\* Update File: (.+)/);\n\t\t\tif (match) filePath = match[1];\n\t\t}\n\n\t\tif (line.startsWith('*** Add File:')) {\n\t\t\tconst match = line.match(/\\*\\*\\* Add File: (.+)/);\n\t\t\tif (match) filePath = match[1];\n\t\t}\n\n\t\tconst hunkMatch = line.match(/^@@ -(\\d+)(?:,\\d+)? \\+(\\d+)(?:,\\d+)? @@/);\n\t\tif (hunkMatch) {\n\t\t\toldLineNum = Number.parseInt(hunkMatch[1], 10);\n\t\t\tnewLineNum = Number.parseInt(hunkMatch[2], 10);\n\t\t\tinHunk = true;\n\t\t\tresult.push({\n\t\t\t\tcontent: line,\n\t\t\t\tcodeContent: line,\n\t\t\t\ttype: 'header',\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (\n\t\t\tline.startsWith('***') ||\n\t\t\tline.startsWith('diff ') ||\n\t\t\tline.startsWith('index ') ||\n\t\t\tline.startsWith('---') ||\n\t\t\tline.startsWith('+++') ||\n\t\t\t(line.startsWith('@@') && !inHunk)\n\t\t) {\n\t\t\tresult.push({\n\t\t\t\tcontent: line,\n\t\t\t\tcodeContent: line,\n\t\t\t\ttype: 'meta',\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (inHunk) {\n\t\t\tif (line.startsWith('+')) {\n\t\t\t\tresult.push({\n\t\t\t\t\tcontent: line,\n\t\t\t\t\tcodeContent: line.slice(1),\n\t\t\t\t\ttype: 'add',\n\t\t\t\t\tnewLineNum: newLineNum++,\n\t\t\t\t});\n\t\t\t} else if (line.startsWith('-')) {\n\t\t\t\tresult.push({\n\t\t\t\t\tcontent: line,\n\t\t\t\t\tcodeContent: line.slice(1),\n\t\t\t\t\ttype: 'remove',\n\t\t\t\t\toldLineNum: oldLineNum++,\n\t\t\t\t});\n\t\t\t} else if (line.startsWith(' ') || line === '') {\n\t\t\t\tresult.push({\n\t\t\t\t\tcontent: line,\n\t\t\t\t\tcodeContent: line.startsWith(' ') ? line.slice(1) : line,\n\t\t\t\t\ttype: 'context',\n\t\t\t\t\toldLineNum: oldLineNum++,\n\t\t\t\t\tnewLineNum: newLineNum++,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tresult.push({\n\t\t\t\t\tcontent: line,\n\t\t\t\t\tcodeContent: line,\n\t\t\t\t\ttype: 'context',\n\t\t\t\t\toldLineNum: oldLineNum++,\n\t\t\t\t\tnewLineNum: newLineNum++,\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tresult.push({\n\t\t\t\tcontent: line,\n\t\t\t\tcodeContent: line,\n\t\t\t\ttype: 'meta',\n\t\t\t});\n\t\t}\n\t}\n\n\treturn { lines: result, filePath };\n}\n\nfunction FullHeightDiffView({ patch }: { patch: string }) {\n\tconst { lines: diffLines, filePath } = parseDiff(patch);\n\tconst language = getLanguageFromPath(filePath);\n\tconst syntaxTheme = document?.documentElement.classList.contains('dark')\n\t\t? vscDarkPlus\n\t\t: prism;\n\n\treturn (\n\t\t<div className=\"bg-card/60 border border-border rounded-lg overflow-hidden h-full\">\n\t\t\t<div className=\"overflow-x-auto overflow-y-auto h-full text-xs font-mono\">\n\t\t\t\t{diffLines.map((line, i) => {\n\t\t\t\t\tconst key = `line-${i}-${line.content.slice(0, 20)}`;\n\n\t\t\t\t\tif (line.type === 'meta' || line.type === 'header') {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t\tclassName={`px-3 py-0.5 whitespace-pre-wrap break-all ${\n\t\t\t\t\t\t\t\t\tline.type === 'header'\n\t\t\t\t\t\t\t\t\t\t? 'text-muted-foreground/80 bg-muted/20'\n\t\t\t\t\t\t\t\t\t\t: 'text-muted-foreground/80'\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{line.content}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet lineClass = '';\n\t\t\t\t\tlet bgClass = '';\n\t\t\t\t\tswitch (line.type) {\n\t\t\t\t\t\tcase 'add':\n\t\t\t\t\t\t\tlineClass = 'text-emerald-700 dark:text-emerald-300';\n\t\t\t\t\t\t\tbgClass = 'bg-emerald-500/10';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'remove':\n\t\t\t\t\t\t\tlineClass = 'text-red-600 dark:text-red-300';\n\t\t\t\t\t\t\tbgClass = 'bg-red-500/10';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tlineClass = 'text-foreground/80';\n\t\t\t\t\t}\n\n\t\t\t\t\tlet renderedContent: React.ReactNode = line.content;\n\t\t\t\t\tif (line.codeContent.trim() && language !== 'text') {\n\t\t\t\t\t\trenderedContent = (\n\t\t\t\t\t\t\t<SyntaxHighlighter\n\t\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\t\tstyle={syntaxTheme}\n\t\t\t\t\t\t\t\tcustomStyle={{\n\t\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t\t\t\tdisplay: 'inline',\n\t\t\t\t\t\t\t\t\tfontSize: 'inherit',\n\t\t\t\t\t\t\t\t\tlineHeight: 'inherit',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tcodeTagProps={{\n\t\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t\tfontFamily: 'inherit',\n\t\t\t\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tPreTag=\"span\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{line.codeContent}\n\t\t\t\t\t\t\t</SyntaxHighlighter>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (line.type === 'add') {\n\t\t\t\t\t\t\trenderedContent = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span className=\"select-none\">+</span>\n\t\t\t\t\t\t\t\t\t{renderedContent}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (line.type === 'remove') {\n\t\t\t\t\t\t\trenderedContent = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span className=\"select-none\">-</span>\n\t\t\t\t\t\t\t\t\t{renderedContent}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (line.type === 'context') {\n\t\t\t\t\t\t\trenderedContent = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span className=\"select-none\"> </span>\n\t\t\t\t\t\t\t\t\t{renderedContent}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div key={key} className={`flex ${bgClass}`}>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0\"\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\tstyle={{ pointerEvents: 'none' }}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{line.oldLineNum || ''}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0 border-r border-border/50\"\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\tstyle={{ pointerEvents: 'none' }}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{line.newLineNum || ''}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={`px-3 py-0.5 flex-1 min-w-0 whitespace-pre-wrap break-all ${lineClass}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{renderedContent}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction formatTimestamp(timestamp: number): string {\n\tconst date = new Date(timestamp);\n\treturn date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });\n}\n\nexport const SessionFilesDiffPanel = memo(function SessionFilesDiffPanel() {\n\tconst isDiffOpen = useSessionFilesStore((state) => state.isDiffOpen);\n\tconst selectedFile = useSessionFilesStore((state) => state.selectedFile);\n\tconst allOperations = useSessionFilesStore((state) => state.allOperations);\n\tconst selectedOperationIndex = useSessionFilesStore(\n\t\t(state) => state.selectedOperationIndex,\n\t);\n\tconst selectOperation = useSessionFilesStore(\n\t\t(state) => state.selectOperation,\n\t);\n\tconst closeDiff = useSessionFilesStore((state) => state.closeDiff);\n\n\tconst setCollapsed = useSidebarStore((state) => state.setCollapsed);\n\tconst wasCollapsedRef = useRef<boolean | null>(null);\n\tconst prevDiffOpenRef = useRef(false);\n\n\tconst selectedOperation = allOperations[selectedOperationIndex];\n\n\tconst patchContent = useMemo(() => {\n\t\tif (!selectedOperation || !selectedFile) return null;\n\n\t\tlet rawPatch: string | null = null;\n\n\t\tif (selectedOperation.artifact?.patch) {\n\t\t\trawPatch = selectedOperation.artifact.patch;\n\t\t} else if (selectedOperation.patch) {\n\t\t\trawPatch = selectedOperation.patch;\n\t\t} else if (selectedOperation.content) {\n\t\t\tconst contentLines = selectedOperation.content.split('\\n');\n\t\t\trawPatch = `*** Add File: ${selectedFile}\\n${contentLines.map((line) => `+${line}`).join('\\n')}`;\n\t\t}\n\n\t\tif (!rawPatch) return null;\n\n\t\tconst hasProperHunkHeader = /@@ -\\d+(?:,\\d+)? \\+\\d+(?:,\\d+)? @@/.test(\n\t\t\trawPatch,\n\t\t);\n\t\tif (!hasProperHunkHeader) {\n\t\t\treturn transformToUnifiedDiff(rawPatch);\n\t\t}\n\n\t\treturn rawPatch;\n\t}, [selectedOperation, selectedFile]);\n\n\tuseEffect(() => {\n\t\t// Only act on transitions\n\t\tif (isDiffOpen && !prevDiffOpenRef.current) {\n\t\t\t// Diff just opened - save current state and collapse\n\t\t\tconst { isCollapsed } = useSidebarStore.getState();\n\t\t\twasCollapsedRef.current = isCollapsed;\n\t\t\tsetCollapsed(true);\n\t\t} else if (!isDiffOpen && prevDiffOpenRef.current) {\n\t\t\t// Diff just closed - restore previous state\n\t\t\tif (wasCollapsedRef.current !== null) {\n\t\t\t\tsetCollapsed(wasCollapsedRef.current);\n\t\t\t\twasCollapsedRef.current = null;\n\t\t\t}\n\t\t}\n\t\tprevDiffOpenRef.current = isDiffOpen;\n\t}, [isDiffOpen, setCollapsed]);\n\n\tuseEffect(() => {\n\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\tconst target = e.target as HTMLElement;\n\t\t\tconst isInInput =\n\t\t\t\ttarget.tagName === 'INPUT' ||\n\t\t\t\ttarget.tagName === 'TEXTAREA' ||\n\t\t\t\ttarget.isContentEditable;\n\n\t\t\tif ((e.key === 'Escape' || (e.key === 'q' && !isInInput)) && isDiffOpen) {\n\t\t\t\tcloseDiff();\n\t\t\t}\n\n\t\t\tif (!isInInput && isDiffOpen && allOperations.length > 1) {\n\t\t\t\tif (e.key === 'ArrowLeft' || e.key === '[') {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tselectOperation(Math.max(0, selectedOperationIndex - 1));\n\t\t\t\t} else if (e.key === 'ArrowRight' || e.key === ']') {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tselectOperation(\n\t\t\t\t\t\tMath.min(allOperations.length - 1, selectedOperationIndex + 1),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tdocument.addEventListener('keydown', handleKeyDown);\n\t\treturn () => document.removeEventListener('keydown', handleKeyDown);\n\t}, [\n\t\tisDiffOpen,\n\t\tcloseDiff,\n\t\tallOperations.length,\n\t\tselectedOperationIndex,\n\t\tselectOperation,\n\t]);\n\n\tif (!isDiffOpen || !selectedFile || !selectedOperation) return null;\n\n\tconst hasMultipleOps = allOperations.length > 1;\n\n\treturn (\n\t\t<div className=\"absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300\">\n\t\t\t<div className=\"h-14 border-b border-border px-4 flex items-center gap-3 shrink-0\">\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\tonClick={closeDiff}\n\t\t\t\t\ttitle=\"Close diff viewer (ESC)\"\n\t\t\t\t>\n\t\t\t\t\t<X className=\"w-4 h-4\" />\n\t\t\t\t</Button>\n\t\t\t\t<div className=\"flex-1 flex items-center gap-2 min-w-0\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"text-sm font-medium text-foreground font-mono truncate\"\n\t\t\t\t\t\ttitle={selectedFile}\n\t\t\t\t\t>\n\t\t\t\t\t\t{selectedFile}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"text-xs px-2 py-0.5 rounded bg-primary/10 text-primary flex-shrink-0 capitalize\">\n\t\t\t\t\t\t{selectedOperation.operation}\n\t\t\t\t\t</span>\n\t\t\t\t\t{selectedOperation.artifact?.summary && (\n\t\t\t\t\t\t<div className=\"flex items-center gap-1 text-xs flex-shrink-0\">\n\t\t\t\t\t\t\t<span className=\"text-green-500\">\n\t\t\t\t\t\t\t\t+{selectedOperation.artifact.summary.additions}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span className=\"text-red-500\">\n\t\t\t\t\t\t\t\t-{selectedOperation.artifact.summary.deletions}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t{hasMultipleOps && (\n\t\t\t\t\t<div className=\"flex items-center gap-2 shrink-0\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\tselectOperation(Math.max(0, selectedOperationIndex - 1))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={selectedOperationIndex === 0}\n\t\t\t\t\t\t\ttitle=\"Previous operation (←)\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronLeft className=\"w-4 h-4\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground min-w-[60px] text-center\">\n\t\t\t\t\t\t\t{selectedOperationIndex + 1} / {allOperations.length}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\tselectOperation(\n\t\t\t\t\t\t\t\t\tMath.min(\n\t\t\t\t\t\t\t\t\t\tallOperations.length - 1,\n\t\t\t\t\t\t\t\t\t\tselectedOperationIndex + 1,\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={selectedOperationIndex === allOperations.length - 1}\n\t\t\t\t\t\t\ttitle=\"Next operation (→)\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{hasMultipleOps && (\n\t\t\t\t<div className=\"border-b border-border px-4 py-2 flex gap-2 overflow-x-auto shrink-0\">\n\t\t\t\t\t{allOperations.map((op, idx) => (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tkey={op.toolCallId}\n\t\t\t\t\t\t\tonClick={() => selectOperation(idx)}\n\t\t\t\t\t\t\tclassName={`px-3 py-1.5 text-xs rounded-md flex items-center gap-2 shrink-0 transition-colors ${\n\t\t\t\t\t\t\t\tidx === selectedOperationIndex\n\t\t\t\t\t\t\t\t\t? 'bg-primary text-primary-foreground'\n\t\t\t\t\t\t\t\t\t: 'bg-muted hover:bg-muted/80 text-muted-foreground'\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"capitalize\">{op.operation}</span>\n\t\t\t\t\t\t\t<span className=\"opacity-70\">\n\t\t\t\t\t\t\t\t{formatTimestamp(op.timestamp)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{op.artifact?.summary && (\n\t\t\t\t\t\t\t\t<span className=\"opacity-70\">\n\t\t\t\t\t\t\t\t\t+{op.artifact.summary.additions}/-\n\t\t\t\t\t\t\t\t\t{op.artifact.summary.deletions}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<div className=\"flex-1 overflow-hidden p-4\">\n\t\t\t\t{patchContent ? (\n\t\t\t\t\t<FullHeightDiffView patch={patchContent} />\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"h-full flex items-center justify-center text-muted-foreground\">\n\t\t\t\t\t\tNo diff content available\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n",
151
151
  "import { memo, useState, useEffect, useCallback, useRef, useMemo } from 'react';\nimport {\n\tChevronRight,\n\tFlaskConical,\n\tPlus,\n\tHistory,\n\tLoader2,\n\tArrowUp,\n\tArrowDownToLine,\n\tExternalLink,\n\tChevronDown,\n\tCheck,\n\tX,\n} from 'lucide-react';\nimport { useResearchStore } from '../../stores/researchStore';\nimport { usePanelWidthStore } from '../../stores/panelWidthStore';\nimport {\n\tuseResearchSessions,\n\tuseCreateResearchSession,\n\tuseInjectContext,\n\tuseExportToSession,\n\ttype ResearchSession,\n} from '../../hooks/useResearch';\nimport { useSession, useUpdateSession } from '../../hooks/useSessions';\nimport { useAllModels } from '../../hooks/useConfig';\nimport { useMessages } from '../../hooks/useMessages';\nimport { useSessionStream } from '../../hooks/useSessionStream';\nimport { useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiClient } from '../../lib/api-client';\nimport { Button } from '../ui/Button';\nimport { Textarea } from '../ui/Textarea';\nimport { Modal } from '../ui/Modal';\nimport { UnifiedModelSelector } from '../chat/UnifiedModelSelector';\nimport { AssistantMessageGroup } from '../messages/AssistantMessageGroup';\nimport { UserMessageGroup } from '../messages/UserMessageGroup';\nimport { ResizeHandle } from '../ui/ResizeHandle';\n\nconst PANEL_KEY = 'research';\nconst DEFAULT_WIDTH = 384;\nconst MIN_WIDTH = 384;\nconst MAX_WIDTH = 640;\n\ninterface ResearchSidebarProps {\n\tparentSessionId: string | null;\n\tonNavigateToSession?: (sessionId: string) => void;\n}\n\nexport const ResearchSidebar = memo(function ResearchSidebar({\n\tparentSessionId,\n\tonNavigateToSession,\n}: ResearchSidebarProps) {\n\tconst isExpanded = useResearchStore((state) => state.isExpanded);\n\tconst collapseSidebar = useResearchStore((state) => state.collapseSidebar);\n\tconst panelWidth = usePanelWidthStore(\n\t\t(s) => s.widths[PANEL_KEY] ?? DEFAULT_WIDTH,\n\t);\n\tconst activeResearchSessionId = useResearchStore(\n\t\t(state) => state.activeResearchSessionId,\n\t);\n\tconst selectResearchSession = useResearchStore(\n\t\t(state) => state.selectResearchSession,\n\t);\n\n\tconst [showHistory, setShowHistory] = useState(false);\n\tconst [inputValue, setInputValue] = useState('');\n\tconst [showModelSelector, setShowModelSelector] = useState(false);\n\tconst [injectionStatus, setInjectionStatus] = useState<\n\t\t'idle' | 'success' | 'error'\n\t>('idle');\n\tconst textareaRef = useRef<HTMLTextAreaElement>(null);\n\tconst messagesEndRef = useRef<HTMLDivElement>(null);\n\n\tconst {\n\t\tdata: researchData,\n\t\tisLoading,\n\t\trefetch,\n\t} = useResearchSessions(parentSessionId, isExpanded);\n\tconst createMutation = useCreateResearchSession();\n\tconst injectMutation = useInjectContext();\n\tconst exportMutation = useExportToSession();\n\tconst { data: allModels } = useAllModels();\n\n\tconst { data: messagesData } = useMessages(\n\t\tactiveResearchSessionId ?? undefined,\n\t\t{ enabled: isExpanded },\n\t);\n\n\tconst { data: parentMessagesData } = useMessages(\n\t\tparentSessionId ?? undefined,\n\t\t{ enabled: isExpanded },\n\t);\n\n\t// Enable streaming for the active research session\n\tuseSessionStream(activeResearchSessionId ?? undefined, isExpanded);\n\n\tconst updateSession = useUpdateSession(activeResearchSessionId ?? '');\n\n\tconst queryClient = useQueryClient();\n\tconst sendMessage = useMutation({\n\t\tmutationFn: async ({\n\t\t\tsessionId,\n\t\t\tcontent,\n\t\t}: {\n\t\t\tsessionId: string;\n\t\t\tcontent: string;\n\t\t}) => apiClient.sendMessage(sessionId, { content }),\n\t\tonSuccess: (_, { sessionId }) => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['messages', sessionId] });\n\t\t},\n\t});\n\n\tuseEffect(() => {\n\t\tif (parentSessionId) {\n\t\t\tuseResearchStore.getState().setParentSessionId(parentSessionId);\n\t\t}\n\t}, [parentSessionId]);\n\n\tuseEffect(() => {\n\t\tif (researchData?.sessions?.length) {\n\t\t\tconst currentIsValid = researchData.sessions.some(\n\t\t\t\t(s) => s.id === activeResearchSessionId,\n\t\t\t);\n\t\t\tif (!currentIsValid) {\n\t\t\t\tselectResearchSession(researchData.sessions[0].id);\n\t\t\t}\n\t\t} else if (researchData?.sessions?.length === 0) {\n\t\t\tselectResearchSession(null);\n\t\t}\n\t}, [researchData, activeResearchSessionId, selectResearchSession]);\n\n\tuseEffect(() => {\n\t\tmessagesEndRef.current?.scrollIntoView({ behavior: 'smooth' });\n\t}, []);\n\n\tconst adjustTextareaHeight = useCallback(() => {\n\t\tconst textarea = textareaRef.current;\n\t\tif (!textarea) return;\n\t\ttextarea.style.height = 'auto';\n\t\ttextarea.style.height = `${Math.min(textarea.scrollHeight, 120)}px`;\n\t}, []);\n\n\tuseEffect(() => {\n\t\tadjustTextareaHeight();\n\t}, [adjustTextareaHeight]);\n\n\tconst handleCreateNew = useCallback(async () => {\n\t\tif (!parentSessionId) return;\n\t\ttry {\n\t\t\tconst result = await createMutation.mutateAsync({\n\t\t\t\tparentSessionId,\n\t\t\t\tdata: {},\n\t\t\t});\n\t\t\t// Wait for query to refetch before selecting\n\t\t\tawait refetch();\n\t\t\tselectResearchSession(result.session.id);\n\t\t\tsetShowHistory(false);\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to create research session:', err);\n\t\t}\n\t}, [parentSessionId, createMutation, selectResearchSession, refetch]);\n\n\tconst handleSelectSession = useCallback(\n\t\t(session: ResearchSession) => {\n\t\t\tselectResearchSession(session.id);\n\t\t\tsetShowHistory(false);\n\t\t},\n\t\t[selectResearchSession],\n\t);\n\n\tconst handleInject = useCallback(async () => {\n\t\tif (!parentSessionId || !activeResearchSessionId) return;\n\n\t\t// Check if already injected\n\t\tconst alreadyInjected = parentMessagesData?.some(\n\t\t\t(m) =>\n\t\t\t\tm.role === 'system' &&\n\t\t\t\tm.parts?.some(\n\t\t\t\t\t(p) =>\n\t\t\t\t\t\ttypeof p.content === 'string' &&\n\t\t\t\t\t\tp.content.includes(`from=\"${activeResearchSessionId}\"`),\n\t\t\t\t),\n\t\t);\n\t\tif (alreadyInjected) {\n\t\t\tsetInjectionStatus('error');\n\t\t\tsetTimeout(() => setInjectionStatus('idle'), 3000);\n\t\t\treturn;\n\t\t}\n\n\t\t// Generate a descriptive label with timestamp\n\t\tconst now = new Date();\n\t\tconst timeStr = now.toLocaleTimeString([], {\n\t\t\thour: '2-digit',\n\t\t\tminute: '2-digit',\n\t\t});\n\t\tconst label = `Research ${timeStr}`;\n\n\t\ttry {\n\t\t\tawait injectMutation.mutateAsync({\n\t\t\t\tparentSessionId,\n\t\t\t\tresearchSessionId: activeResearchSessionId,\n\t\t\t\tlabel,\n\t\t\t});\n\t\t\tsetInjectionStatus('success');\n\t\t\tsetTimeout(() => setInjectionStatus('idle'), 5000);\n\t\t\t// Invalidate parent messages to update the UI\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: ['messages', parentSessionId],\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to inject context:', err);\n\t\t\tsetInjectionStatus('error');\n\t\t\tsetTimeout(() => setInjectionStatus('idle'), 3000);\n\t\t}\n\t}, [\n\t\tparentSessionId,\n\t\tactiveResearchSessionId,\n\t\tinjectMutation,\n\t\tparentMessagesData,\n\t\tqueryClient,\n\t]);\n\n\tconst handleExport = useCallback(async () => {\n\t\tif (!activeResearchSessionId) return;\n\t\ttry {\n\t\t\tconst result = await exportMutation.mutateAsync({\n\t\t\t\tresearchId: activeResearchSessionId,\n\t\t\t});\n\t\t\tif (onNavigateToSession && result.newSession?.id) {\n\t\t\t\tonNavigateToSession(result.newSession.id);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to export to session:', err);\n\t\t}\n\t}, [activeResearchSessionId, exportMutation, onNavigateToSession]);\n\n\tconst handleSendMessage = useCallback(async () => {\n\t\tif (!inputValue.trim() || !parentSessionId) return;\n\t\ttry {\n\t\t\tlet sessionId = activeResearchSessionId;\n\n\t\t\tif (!sessionId) {\n\t\t\t\tconst result = await createMutation.mutateAsync({\n\t\t\t\t\tparentSessionId,\n\t\t\t\t\tdata: {},\n\t\t\t\t});\n\t\t\t\tsessionId = result.session.id;\n\t\t\t\tselectResearchSession(sessionId);\n\t\t\t}\n\n\t\t\tawait sendMessage.mutateAsync({\n\t\t\t\tsessionId,\n\t\t\t\tcontent: inputValue,\n\t\t\t});\n\t\t\tsetInputValue('');\n\t\t\tif (textareaRef.current) {\n\t\t\t\ttextareaRef.current.style.height = 'auto';\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to send message:', err);\n\t\t}\n\t}, [\n\t\tinputValue,\n\t\tparentSessionId,\n\t\tactiveResearchSessionId,\n\t\tcreateMutation,\n\t\tselectResearchSession,\n\t\tsendMessage,\n\t]);\n\n\tconst handleKeyDown = useCallback(\n\t\t(e: React.KeyboardEvent) => {\n\t\t\tif (e.key === 'Enter' && !e.shiftKey) {\n\t\t\t\te.preventDefault();\n\t\t\t\thandleSendMessage();\n\t\t\t}\n\t\t},\n\t\t[handleSendMessage],\n\t);\n\n\tconst isGenerating = useMemo(\n\t\t() =>\n\t\t\tmessagesData?.some(\n\t\t\t\t(m) => m.role === 'assistant' && m.status === 'pending',\n\t\t\t) ?? false,\n\t\t[messagesData],\n\t);\n\n\tconst isAlreadyInjected = useMemo(() => {\n\t\tif (!activeResearchSessionId || !parentMessagesData) return false;\n\t\treturn parentMessagesData.some(\n\t\t\t(m) =>\n\t\t\t\tm.role === 'system' &&\n\t\t\t\tm.parts?.some(\n\t\t\t\t\t(p) =>\n\t\t\t\t\t\ttypeof p.content === 'string' &&\n\t\t\t\t\t\tp.content.includes(`from=\"${activeResearchSessionId}\"`),\n\t\t\t\t),\n\t\t);\n\t}, [activeResearchSessionId, parentMessagesData]);\n\n\tconst handleModelChange = useCallback(\n\t\tasync (newProvider: string, newModel: string) => {\n\t\t\tif (!activeResearchSessionId) {\n\t\t\t\tsetShowModelSelector(false);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tawait updateSession.mutateAsync({\n\t\t\t\t\tprovider: newProvider,\n\t\t\t\t\tmodel: newModel,\n\t\t\t\t});\n\t\t\t\tawait queryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: ['research', 'sessions', parentSessionId],\n\t\t\t\t});\n\t\t\t\tsetShowModelSelector(false);\n\t\t\t} catch (err) {\n\t\t\t\tconsole.error('Failed to update research session model:', err);\n\t\t\t}\n\t\t},\n\t\t[activeResearchSessionId, updateSession, queryClient, parentSessionId],\n\t);\n\n\tconst parentSession = useSession(parentSessionId ?? '');\n\n\tif (!isExpanded) return null;\n\n\tconst sessions = researchData?.sessions ?? [];\n\tconst activeSession = sessions.find((s) => s.id === activeResearchSessionId);\n\tconst messages = messagesData ?? [];\n\n\tconst effectiveProvider =\n\t\tactiveSession?.provider ?? parentSession?.provider ?? '';\n\tconst effectiveModel = activeSession?.model ?? parentSession?.model ?? '';\n\n\tconst currentProviderLabel =\n\t\tallModels?.[effectiveProvider]?.label ?? effectiveProvider;\n\tconst currentModelLabel =\n\t\tallModels?.[effectiveProvider]?.models.find((m) => m.id === effectiveModel)\n\t\t\t?.label ?? effectiveModel;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"border-l border-sidebar-border sidebar-fade-in flex h-full relative\"\n\t\t\tstyle={{ width: panelWidth }}\n\t\t>\n\t\t\t<ResizeHandle\n\t\t\t\tpanelKey={PANEL_KEY}\n\t\t\t\tside=\"right\"\n\t\t\t\tminWidth={MIN_WIDTH}\n\t\t\t\tmaxWidth={MAX_WIDTH}\n\t\t\t\tdefaultWidth={DEFAULT_WIDTH}\n\t\t\t/>\n\t\t\t<div className=\"flex-1 flex flex-col h-full min-w-0\">\n\t\t\t\t{/* Header */}\n\t\t\t\t<div className=\"h-14 border-b border-border px-3 flex items-center justify-between\">\n\t\t\t\t\t<div className=\"flex items-center gap-2 flex-1\">\n\t\t\t\t\t\t<FlaskConical className=\"w-4 h-4 text-teal-500\" />\n\t\t\t\t\t\t<span className=\"font-medium text-foreground text-sm\">\n\t\t\t\t\t\t\tResearch\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center gap-0.5\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\tonClick={() => setShowHistory(!showHistory)}\n\t\t\t\t\t\t\ttitle=\"Research history\"\n\t\t\t\t\t\t\tclassName=\"h-8 w-8\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<History className=\"w-4 h-4\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\tonClick={handleCreateNew}\n\t\t\t\t\t\t\tdisabled={!parentSessionId || createMutation.isPending}\n\t\t\t\t\t\t\ttitle=\"New research session\"\n\t\t\t\t\t\t\tclassName=\"h-8 w-8\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{createMutation.isPending ? (\n\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Plus className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\tonClick={collapseSidebar}\n\t\t\t\t\t\t\ttitle=\"Close sidebar\"\n\t\t\t\t\t\t\tclassName=\"h-8 w-8\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{showHistory ? (\n\t\t\t\t\t<div className=\"flex-1 overflow-y-auto\">\n\t\t\t\t\t\t<div className=\"p-2 border-b border-border\">\n\t\t\t\t\t\t\t<div className=\"text-xs font-medium text-muted-foreground px-2 py-1\">\n\t\t\t\t\t\t\t\tResearch Sessions\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\tLoading...\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : sessions.length === 0 ? (\n\t\t\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\tNo research sessions yet\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className=\"p-2 space-y-1\">\n\t\t\t\t\t\t\t\t{sessions.map((session) => (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tkey={session.id}\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleSelectSession(session)}\n\t\t\t\t\t\t\t\t\t\tclassName={`w-full text-left p-2 rounded-md text-sm transition-colors ${\n\t\t\t\t\t\t\t\t\t\t\tsession.id === activeResearchSessionId\n\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-teal-500/10 border border-teal-500/30 text-foreground'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'hover:bg-muted'\n\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div className=\"font-medium truncate\">\n\t\t\t\t\t\t\t\t\t\t\t{session.title || 'Untitled'}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t{session.messageCount} messages •{' '}\n\t\t\t\t\t\t\t\t\t\t\t{formatRelativeTime(\n\t\t\t\t\t\t\t\t\t\t\t\tsession.lastActiveAt ?? session.createdAt,\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{/* Messages area - using the same components as main chat, but smaller */}\n\t\t\t\t\t\t<div className=\"flex-1 overflow-y-auto px-3 py-3 research-messages text-[13px]\">\n\t\t\t\t\t\t\t{!activeResearchSessionId ? (\n\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground text-center py-8\">\n\t\t\t\t\t\t\t\t\t<FlaskConical className=\"w-8 h-8 mx-auto mb-2 text-muted-foreground/50\" />\n\t\t\t\t\t\t\t\t\t<p>Start researching by asking a question below.</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : messages.length === 0 ? (\n\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground text-center py-8\">\n\t\t\t\t\t\t\t\t\t<p>Ask a question to start researching.</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div className=\"space-y-1.5\">\n\t\t\t\t\t\t\t\t\t{messages.map((msg, index) => {\n\t\t\t\t\t\t\t\t\t\tif (msg.role === 'user') {\n\t\t\t\t\t\t\t\t\t\t\tconst nextMsg = messages[index + 1];\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<UserMessageGroup\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={msg.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsessionId={activeResearchSessionId}\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage={msg}\n\t\t\t\t\t\t\t\t\t\t\t\t\tisFirst={index === 0}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnextAssistantMessageId={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnextMsg?.role === 'assistant'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? nextMsg.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (msg.role === 'assistant') {\n\t\t\t\t\t\t\t\t\t\t\tconst prevMsg = index > 0 ? messages[index - 1] : null;\n\t\t\t\t\t\t\t\t\t\t\tconst nextMsg = messages[index + 1];\n\t\t\t\t\t\t\t\t\t\t\tconst showHeader = prevMsg?.role !== 'assistant';\n\t\t\t\t\t\t\t\t\t\t\tconst hasNextAssistant = nextMsg?.role === 'assistant';\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<AssistantMessageGroup\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={msg.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsessionId={activeResearchSessionId}\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage={msg}\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowHeader={showHeader}\n\t\t\t\t\t\t\t\t\t\t\t\t\thasNextAssistantMessage={hasNextAssistant}\n\t\t\t\t\t\t\t\t\t\t\t\t\tisLastMessage={index === messages.length - 1}\n\t\t\t\t\t\t\t\t\t\t\t\t\tcompact\n\t\t\t\t\t\t\t\t\t\t\t\t\tonNavigateToSession={onNavigateToSession}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t<div ref={messagesEndRef} />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Input area */}\n\t\t\t\t\t\t<div className=\"p-3 border-t border-border\">\n\t\t\t\t\t\t\t<div className=\"relative flex flex-col rounded-3xl bg-card border border-border focus-within:border-teal-500/60 focus-within:ring-1 focus-within:ring-teal-500/40 p-1\">\n\t\t\t\t\t\t\t\t<div className=\"flex items-end gap-1\">\n\t\t\t\t\t\t\t\t\t<Textarea\n\t\t\t\t\t\t\t\t\t\tref={textareaRef}\n\t\t\t\t\t\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => setInputValue(e.target.value)}\n\t\t\t\t\t\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Ask anything...\"\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\t!parentSessionId ||\n\t\t\t\t\t\t\t\t\t\t\tsendMessage.isPending ||\n\t\t\t\t\t\t\t\t\t\t\tcreateMutation.isPending\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\trows={1}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 border-0 bg-transparent pl-2 pr-1 py-2 max-h-[120px] overflow-y-auto leading-normal resize-none scrollbar-hide text-sm focus:ring-0 focus:outline-none\"\n\t\t\t\t\t\t\t\t\t\tstyle={{ height: '2.25rem' }}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleSendMessage}\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\t!inputValue.trim() ||\n\t\t\t\t\t\t\t\t\t\t\t!parentSessionId ||\n\t\t\t\t\t\t\t\t\t\t\tsendMessage.isPending ||\n\t\t\t\t\t\t\t\t\t\t\tcreateMutation.isPending ||\n\t\t\t\t\t\t\t\t\t\t\tisGenerating\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tclassName={`flex items-center justify-center w-9 h-9 rounded-full transition-colors flex-shrink-0 ${\n\t\t\t\t\t\t\t\t\t\t\tinputValue.trim() && parentSessionId && !isGenerating\n\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-teal-500 hover:bg-teal-600 text-white'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'bg-transparent text-muted-foreground'\n\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{sendMessage.isPending || createMutation.isPending ? (\n\t\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<ArrowUp className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{/* Injection status banner */}\n\t\t\t\t\t\t\t{injectionStatus === 'success' && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 mt-2 px-2 py-1.5 text-xs rounded-lg bg-teal-500/10 border border-teal-500/30 text-teal-600 dark:text-teal-400\">\n\t\t\t\t\t\t\t\t\t<Check className=\"w-3 h-3 flex-shrink-0\" />\n\t\t\t\t\t\t\t\t\t<span className=\"flex-1\">\n\t\t\t\t\t\t\t\t\t\tContext injected — will be used on next request\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => setInjectionStatus('idle')}\n\t\t\t\t\t\t\t\t\t\tclassName=\"hover:text-teal-500\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<X className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{injectionStatus === 'error' && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 mt-2 px-2 py-1.5 text-xs rounded-lg bg-red-500/10 border border-red-500/30 text-red-600 dark:text-red-400\">\n\t\t\t\t\t\t\t\t\t<X className=\"w-3 h-3 flex-shrink-0\" />\n\t\t\t\t\t\t\t\t\t<span className=\"flex-1\">Failed to inject context</span>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => setInjectionStatus('idle')}\n\t\t\t\t\t\t\t\t\t\tclassName=\"hover:text-red-500\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<X className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{/* Action buttons */}\n\t\t\t\t\t\t\t<div className=\"flex gap-2 mt-2\">\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={handleInject}\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t!activeResearchSessionId ||\n\t\t\t\t\t\t\t\t\t\tinjectMutation.isPending ||\n\t\t\t\t\t\t\t\t\t\tisGenerating ||\n\t\t\t\t\t\t\t\t\t\tisAlreadyInjected\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName={`flex-1 flex items-center justify-center gap-1.5 px-2 py-1.5 text-xs rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed ${\n\t\t\t\t\t\t\t\t\t\tisAlreadyInjected\n\t\t\t\t\t\t\t\t\t\t\t? 'bg-teal-500/10 text-teal-600 dark:text-teal-400 border border-teal-500/30'\n\t\t\t\t\t\t\t\t\t\t\t: 'bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground'\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\t\t\tisAlreadyInjected\n\t\t\t\t\t\t\t\t\t\t\t? 'Already injected into main session'\n\t\t\t\t\t\t\t\t\t\t\t: 'Inject findings into main session'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{injectMutation.isPending ? (\n\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin\" />\n\t\t\t\t\t\t\t\t\t) : isAlreadyInjected ? (\n\t\t\t\t\t\t\t\t\t\t<Check className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ArrowDownToLine className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{isAlreadyInjected ? 'Injected' : 'Inject'}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={handleExport}\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t!activeResearchSessionId ||\n\t\t\t\t\t\t\t\t\t\texportMutation.isPending ||\n\t\t\t\t\t\t\t\t\t\tisGenerating\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1 flex items-center justify-center gap-1.5 px-2 py-1.5 text-xs rounded-lg bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50 disabled:cursor-not-allowed\"\n\t\t\t\t\t\t\t\t\ttitle=\"Export to new main session\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{exportMutation.isPending ? (\n\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin\" />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ExternalLink className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tExport\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\n\t\t\t\t{/* Footer */}\n\t\t\t\t<div className=\"h-12 px-3 border-t border-border text-xs text-muted-foreground flex items-center justify-between\">\n\t\t\t\t\t<span className=\"text-[10px]\">\n\t\t\t\t\t\t{sessions.length} research session{sessions.length !== 1 ? 's' : ''}\n\t\t\t\t\t</span>\n\t\t\t\t\t{(currentProviderLabel || currentModelLabel) && (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => setShowModelSelector(true)}\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-1 text-[10px] hover:text-foreground transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"opacity-60\">{currentProviderLabel}</span>\n\t\t\t\t\t\t\t<span className=\"opacity-40\">/</span>\n\t\t\t\t\t\t\t<span>{currentModelLabel}</span>\n\t\t\t\t\t\t\t<ChevronDown className=\"w-3 h-3 opacity-40\" />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t{/* Model Selector Modal */}\n\t\t\t\t<Modal\n\t\t\t\t\tisOpen={showModelSelector}\n\t\t\t\t\tonClose={() => setShowModelSelector(false)}\n\t\t\t\t\ttitle=\"Select Model for Research\"\n\t\t\t\t\tmaxWidth=\"md\"\n\t\t\t\t>\n\t\t\t\t\t{(effectiveProvider || effectiveModel) && (\n\t\t\t\t\t\t<UnifiedModelSelector\n\t\t\t\t\t\t\tprovider={effectiveProvider}\n\t\t\t\t\t\t\tmodel={effectiveModel}\n\t\t\t\t\t\t\tonChange={handleModelChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Modal>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nfunction formatRelativeTime(timestamp: number): string {\n\tconst diff = Date.now() - timestamp;\n\tconst minutes = Math.floor(diff / 60000);\n\tif (minutes < 1) return 'just now';\n\tif (minutes < 60) return `${minutes}m ago`;\n\tconst hours = Math.floor(minutes / 60);\n\tif (hours < 24) return `${hours}h ago`;\n\tconst days = Math.floor(hours / 24);\n\treturn `${days}d ago`;\n}\n",
152
152
  "import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { API_BASE_URL } from '../lib/config';\nimport { usePendingResearchStore } from '../stores/pendingResearchStore';\nimport { sessionsQueryKey } from './useSessions';\n\nexport interface ResearchSession {\n\tid: string;\n\ttitle: string | null;\n\tcreatedAt: number;\n\tlastActiveAt: number | null;\n\tprovider: string;\n\tmodel: string;\n\tmessageCount: number;\n}\n\nexport interface ResearchSessionsResponse {\n\tsessions: ResearchSession[];\n}\n\nexport interface CreateResearchResponse {\n\tsession: ResearchSession;\n\tparentSessionId: string;\n}\n\nexport interface InjectContextResponse {\n\tcontent: string;\n\tlabel: string;\n\tsessionId: string;\n\tparentSessionId: string;\n\ttokenEstimate: number;\n}\n\nexport interface ExportToSessionResponse {\n\tnewSession: {\n\t\tid: string;\n\t\ttitle: string | null;\n\t\tagent: string;\n\t\tprovider: string;\n\t\tmodel: string;\n\t};\n\tinjectedContext: string;\n}\n\nclass ResearchApiClient {\n\tprivate get baseUrl(): string {\n\t\t// Check for runtime injected URL first\n\t\tconst win = window as Window & { OTTO_SERVER_URL?: string };\n\t\tif (win.OTTO_SERVER_URL) {\n\t\t\treturn win.OTTO_SERVER_URL;\n\t\t}\n\t\t// Check for Vite env var\n\t\tif (import.meta.env?.VITE_API_BASE_URL) {\n\t\t\treturn import.meta.env.VITE_API_BASE_URL;\n\t\t}\n\t\treturn API_BASE_URL;\n\t}\n\n\tasync listResearchSessions(\n\t\tparentSessionId: string,\n\t): Promise<ResearchSessionsResponse> {\n\t\tconst response = await fetch(\n\t\t\t`${this.baseUrl}/v1/sessions/${parentSessionId}/research`,\n\t\t\t{\n\t\t\t\tmethod: 'GET',\n\t\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t\t},\n\t\t);\n\n\t\tif (!response.ok) {\n\t\t\tconst error = await response\n\t\t\t\t.json()\n\t\t\t\t.catch(() => ({ error: 'Failed to fetch research sessions' }));\n\t\t\tthrow new Error(error.error || 'Failed to fetch research sessions');\n\t\t}\n\n\t\treturn response.json();\n\t}\n\n\tasync createResearchSession(\n\t\tparentSessionId: string,\n\t\tdata: { provider?: string; model?: string; title?: string },\n\t): Promise<CreateResearchResponse> {\n\t\tconst response = await fetch(\n\t\t\t`${this.baseUrl}/v1/sessions/${parentSessionId}/research`,\n\t\t\t{\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t\t\tbody: JSON.stringify(data),\n\t\t\t},\n\t\t);\n\n\t\tif (!response.ok) {\n\t\t\tconst error = await response\n\t\t\t\t.json()\n\t\t\t\t.catch(() => ({ error: 'Failed to create research session' }));\n\t\t\tthrow new Error(error.error || 'Failed to create research session');\n\t\t}\n\n\t\treturn response.json();\n\t}\n\n\tasync deleteResearchSession(\n\t\tresearchId: string,\n\t): Promise<{ success: boolean }> {\n\t\tconst response = await fetch(`${this.baseUrl}/v1/research/${researchId}`, {\n\t\t\tmethod: 'DELETE',\n\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t});\n\n\t\tif (!response.ok) {\n\t\t\tconst error = await response\n\t\t\t\t.json()\n\t\t\t\t.catch(() => ({ error: 'Failed to delete research session' }));\n\t\t\tthrow new Error(error.error || 'Failed to delete research session');\n\t\t}\n\n\t\treturn response.json();\n\t}\n\n\tasync injectContext(\n\t\tparentSessionId: string,\n\t\tresearchSessionId: string,\n\t\tlabel?: string,\n\t): Promise<InjectContextResponse> {\n\t\tconst response = await fetch(\n\t\t\t`${this.baseUrl}/v1/sessions/${parentSessionId}/inject`,\n\t\t\t{\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t\t\tbody: JSON.stringify({ researchSessionId, label }),\n\t\t\t},\n\t\t);\n\n\t\tif (!response.ok) {\n\t\t\tconst error = await response\n\t\t\t\t.json()\n\t\t\t\t.catch(() => ({ error: 'Failed to inject context' }));\n\t\t\tthrow new Error(error.error || 'Failed to inject context');\n\t\t}\n\n\t\treturn response.json();\n\t}\n\n\tasync exportToNewSession(\n\t\tresearchId: string,\n\t\tdata?: { provider?: string; model?: string; agent?: string },\n\t): Promise<ExportToSessionResponse> {\n\t\tconst response = await fetch(\n\t\t\t`${this.baseUrl}/v1/research/${researchId}/export`,\n\t\t\t{\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t\t\tbody: JSON.stringify(data ?? {}),\n\t\t\t},\n\t\t);\n\n\t\tif (!response.ok) {\n\t\t\tconst error = await response\n\t\t\t\t.json()\n\t\t\t\t.catch(() => ({ error: 'Failed to export to session' }));\n\t\t\tthrow new Error(error.error || 'Failed to export to session');\n\t\t}\n\n\t\treturn response.json();\n\t}\n}\n\nconst researchApi = new ResearchApiClient();\n\nexport function useResearchSessions(\n\tparentSessionId: string | null,\n\tenabled = true,\n) {\n\treturn useQuery({\n\t\tqueryKey: ['research', 'sessions', parentSessionId],\n\t\tqueryFn: () => researchApi.listResearchSessions(parentSessionId as string),\n\t\tenabled: !!parentSessionId && enabled,\n\t\tstaleTime: 30000,\n\t});\n}\n\nexport function useCreateResearchSession() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: ({\n\t\t\tparentSessionId,\n\t\t\tdata,\n\t\t}: {\n\t\t\tparentSessionId: string;\n\t\t\tdata?: { provider?: string; model?: string; title?: string };\n\t\t}) => researchApi.createResearchSession(parentSessionId, data ?? {}),\n\t\tonSuccess: (_, { parentSessionId }) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: ['research', 'sessions', parentSessionId],\n\t\t\t});\n\t\t},\n\t});\n}\n\nexport function useDeleteResearchSession() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (researchId: string) =>\n\t\t\tresearchApi.deleteResearchSession(researchId),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['research', 'sessions'] });\n\t\t},\n\t});\n}\n\nexport function useInjectContext() {\n\tconst addContext = usePendingResearchStore((state) => state.addContext);\n\n\treturn useMutation({\n\t\tmutationFn: ({\n\t\t\tparentSessionId,\n\t\t\tresearchSessionId,\n\t\t\tlabel,\n\t\t}: {\n\t\t\tparentSessionId: string;\n\t\t\tresearchSessionId: string;\n\t\t\tlabel?: string;\n\t\t}) => researchApi.injectContext(parentSessionId, researchSessionId, label),\n\t\tonSuccess: (data, { parentSessionId }) => {\n\t\t\taddContext(parentSessionId, {\n\t\t\t\tid: data.sessionId,\n\t\t\t\tsessionId: data.sessionId,\n\t\t\t\tlabel: data.label,\n\t\t\t\tcontent: data.content,\n\t\t\t});\n\t\t},\n\t});\n}\n\nexport function useExportToSession() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: ({\n\t\t\tresearchId,\n\t\t\tdata,\n\t\t}: {\n\t\t\tresearchId: string;\n\t\t\tdata?: { provider?: string; model?: string; agent?: string };\n\t\t}) => researchApi.exportToNewSession(researchId, data),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: sessionsQueryKey });\n\t\t},\n\t});\n}\n",
153
153
  "import { memo } from 'react';\nimport { FlaskConical } from 'lucide-react';\nimport { useResearchStore } from '../../stores/researchStore';\nimport { useResearchSessions } from '../../hooks/useResearch';\n\ninterface ResearchSidebarToggleProps {\n\tparentSessionId?: string;\n}\n\nexport const ResearchSidebarToggle = memo(function ResearchSidebarToggle({\n\tparentSessionId,\n}: ResearchSidebarToggleProps) {\n\tconst isExpanded = useResearchStore((state) => state.isExpanded);\n\tconst toggleSidebar = useResearchStore((state) => state.toggleSidebar);\n\tconst { data } = useResearchSessions(parentSessionId ?? null);\n\n\tconst sessionCount = data?.sessions?.length ?? 0;\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={toggleSidebar}\n\t\t\tclassName={`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${\n\t\t\t\tisExpanded\n\t\t\t\t\t? 'bg-muted border-primary'\n\t\t\t\t\t: 'border-transparent hover:bg-muted/50'\n\t\t\t}`}\n\t\t\ttitle=\"Research (⌘⇧R)\"\n\t\t>\n\t\t\t<FlaskConical className=\"w-5 h-5 text-muted-foreground mx-auto\" />\n\t\t\t{sessionCount > 0 && (\n\t\t\t\t<span className=\"absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold\">\n\t\t\t\t\t{sessionCount > 9 ? '9+' : sessionCount}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</button>\n\t);\n});\n",
154
- "import { memo, useState, useMemo, useCallback } from 'react';\nimport {\n\tSettings,\n\tChevronRight,\n\tWallet,\n\tCpu,\n\tZap,\n\tUser,\n\tChevronDown,\n\tRefreshCw,\n\tPlus,\n\tPencil,\n\tCopy,\n\tCheck,\n\tKey,\n\tLoader2,\n} from 'lucide-react';\nimport { QRCodeSVG } from 'qrcode.react';\nimport { Button } from '../ui/Button';\nimport { useSettingsStore } from '../../stores/settingsStore';\nimport { useOnboardingStore } from '../../stores/onboardingStore';\nimport { useAuthStatus } from '../../hooks/useAuthStatus';\nimport {\n\tuseConfig,\n\tuseAllModels,\n\tuseUpdateDefaults,\n} from '../../hooks/useConfig';\nimport { usePreferences } from '../../hooks/usePreferences';\nimport { useSetuStore } from '../../stores/setuStore';\nimport { SetuTopupModal } from './SetuTopupModal';\nimport { useSetuBalance } from '../../hooks/useSetuBalance';\nimport { useTopupCallback } from '../../hooks/useTopupCallback';\nimport { usePanelWidthStore } from '../../stores/panelWidthStore';\nimport { ResizeHandle } from '../ui/ResizeHandle';\nimport { apiClient } from '../../lib/api-client';\n\nconst SETTINGS_PANEL_KEY = 'settings';\nconst SETTINGS_DEFAULT_WIDTH = 320;\nconst SETTINGS_MIN_WIDTH = 320;\nconst SETTINGS_MAX_WIDTH = 500;\n\ninterface SettingsSectionProps {\n\ttitle: string;\n\ticon: React.ReactNode;\n\tchildren: React.ReactNode;\n\taction?: React.ReactNode;\n}\n\nconst SettingsSection = memo(function SettingsSection({\n\ttitle,\n\ticon,\n\tchildren,\n\taction,\n}: SettingsSectionProps) {\n\treturn (\n\t\t<div className=\"border-b border-border\">\n\t\t\t<div className=\"px-4 py-3 flex items-center gap-2 bg-muted/30\">\n\t\t\t\t{icon}\n\t\t\t\t<span className=\"text-sm font-medium flex-1\">{title}</span>\n\t\t\t\t{action}\n\t\t\t</div>\n\t\t\t<div className=\"px-4 py-3 space-y-3\">{children}</div>\n\t\t</div>\n\t);\n});\n\ninterface SettingRowProps {\n\tlabel: string;\n\tvalue: React.ReactNode;\n}\n\nconst SettingRow = memo(function SettingRow({ label, value }: SettingRowProps) {\n\treturn (\n\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t<span className=\"text-muted-foreground\">{label}</span>\n\t\t\t<span className=\"font-mono text-foreground\">{value}</span>\n\t\t</div>\n\t);\n});\n\ninterface ToggleRowProps {\n\tlabel: string;\n\tchecked: boolean;\n\tonChange: (checked: boolean) => void;\n}\n\nconst ToggleRow = memo(function ToggleRow({\n\tlabel,\n\tchecked,\n\tonChange,\n}: ToggleRowProps) {\n\treturn (\n\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t<span className=\"text-muted-foreground\">{label}</span>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"switch\"\n\t\t\t\taria-checked={checked}\n\t\t\t\tonClick={() => onChange(!checked)}\n\t\t\t\tclassName={`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${\n\t\t\t\t\tchecked ? 'bg-primary' : 'bg-muted'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\tclassName={`inline-block h-4 w-4 transform rounded-full transition-transform ${\n\t\t\t\t\t\tchecked ? 'translate-x-6' : 'translate-x-1'\n\t\t\t\t\t} ${checked ? 'bg-primary-foreground' : 'bg-foreground'}`}\n\t\t\t\t/>\n\t\t\t</button>\n\t\t</div>\n\t);\n});\n\ninterface SelectRowProps {\n\tlabel: string;\n\tvalue: string;\n\toptions: Array<{ id: string; label: string }>;\n\tonChange: (value: string) => void;\n\tdisabled?: boolean;\n}\n\nconst SelectRow = memo(function SelectRow({\n\tlabel,\n\tvalue,\n\toptions,\n\tonChange,\n\tdisabled,\n}: SelectRowProps) {\n\tconst [isOpen, setIsOpen] = useState(false);\n\tconst selectedOption = options.find((o) => o.id === value);\n\n\treturn (\n\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t<span className=\"text-muted-foreground\">{label}</span>\n\t\t\t<div className=\"relative\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={() => !disabled && setIsOpen(!isOpen)}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tclassName=\"flex items-center gap-1 px-2 py-1 text-xs font-mono bg-muted hover:bg-muted/80 rounded border border-border disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"max-w-[120px] truncate\">\n\t\t\t\t\t\t{selectedOption?.label || value || 'Select...'}\n\t\t\t\t\t</span>\n\t\t\t\t\t<ChevronDown className=\"w-3 h-3\" />\n\t\t\t\t</button>\n\t\t\t\t{isOpen && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{/* biome-ignore lint/a11y/noStaticElementInteractions: click-away backdrop pattern */}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"fixed inset-0 z-40\"\n\t\t\t\t\t\t\tonClick={() => setIsOpen(false)}\n\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"absolute right-0 top-full mt-1 z-50 min-w-[160px] max-h-[200px] overflow-y-auto bg-popover border border-border rounded-md shadow-lg\">\n\t\t\t\t\t\t\t{options.map((option) => (\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tkey={option.id}\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tonChange(option.id);\n\t\t\t\t\t\t\t\t\t\tsetIsOpen(false);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName={`w-full px-3 py-2 text-left text-xs font-mono hover:bg-muted truncate ${\n\t\t\t\t\t\t\t\t\t\toption.id === value ? 'bg-muted/50' : ''\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nexport const SettingsSidebar = memo(function SettingsSidebar() {\n\tconst isExpanded = useSettingsStore((state) => state.isExpanded);\n\tconst collapseSidebar = useSettingsStore((state) => state.collapseSidebar);\n\tconst panelWidth = usePanelWidthStore(\n\t\t(s) => s.widths[SETTINGS_PANEL_KEY] ?? SETTINGS_DEFAULT_WIDTH,\n\t);\n\n\tconst { data: config } = useConfig();\n\tconst { data: allModels } = useAllModels();\n\tconst { preferences, updatePreferences } = usePreferences();\n\tconst updateDefaults = useUpdateDefaults();\n\tconst setuBalance = useSetuStore((s) => s.balance);\n\tconst setuWallet = useSetuStore((s) => s.walletAddress);\n\tconst setuUsdcBalance = useSetuStore((s) => s.usdcBalance);\n\tconst setuLoading = useSetuStore((s) => s.isLoading);\n\tconst openTopupModal = useSetuStore((s) => s.openTopupModal);\n\n\t// Handle topup success callback from Polar checkout redirect\n\tuseTopupCallback();\n\n\tconst hasSetu = config?.providers?.includes('setu');\n\tconst { fetchBalance: refreshSetuBalance } = useSetuBalance(\n\t\thasSetu ? 'setu' : undefined,\n\t);\n\n\tconst setOnboardingOpen = useOnboardingStore((s) => s.setOpen);\n\tconst setStep = useOnboardingStore((s) => s.setStep);\n\tconst setManageMode = useOnboardingStore((s) => s.setManageMode);\n\tconst { fetchAuthStatus } = useAuthStatus();\n\n\tconst exportSetuPrivateKey = useCallback(async () => {\n\t\treturn await apiClient.exportSetuWallet();\n\t}, []);\n\n\tconst providerOptions = useMemo(() => {\n\t\tif (!config?.providers || !allModels) return [];\n\t\treturn config.providers\n\t\t\t.filter((p) => allModels[p])\n\t\t\t.map((p) => ({\n\t\t\t\tid: p,\n\t\t\t\tlabel: allModels[p]?.label || p,\n\t\t\t}));\n\t}, [config?.providers, allModels]);\n\n\tconst modelOptions = useMemo(() => {\n\t\tconst provider = config?.defaults?.provider;\n\t\tif (!provider || !allModels?.[provider]) return [];\n\t\treturn allModels[provider].models.map((m) => ({\n\t\t\tid: m.id,\n\t\t\tlabel: m.label,\n\t\t}));\n\t}, [config?.defaults?.provider, allModels]);\n\n\tconst agentOptions = useMemo(() => {\n\t\tif (!config?.agents) return [];\n\t\treturn config.agents.map((a) => ({ id: a, label: a }));\n\t}, [config?.agents]);\n\n\tif (!isExpanded) return null;\n\n\tconst handleProviderChange = (provider: string) => {\n\t\tconst firstModel = allModels?.[provider]?.models?.[0]?.id;\n\t\tupdateDefaults.mutate({\n\t\t\tprovider,\n\t\t\tmodel: firstModel || config?.defaults?.model,\n\t\t\tscope: 'global',\n\t\t});\n\t};\n\n\tconst handleModelChange = (model: string) => {\n\t\tupdateDefaults.mutate({ model, scope: 'global' });\n\t};\n\n\tconst handleAgentChange = (agent: string) => {\n\t\tupdateDefaults.mutate({ agent, scope: 'global' });\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"border-l border-sidebar-border sidebar-fade-in flex h-full relative\"\n\t\t\tstyle={{ width: panelWidth }}\n\t\t>\n\t\t\t<ResizeHandle\n\t\t\t\tpanelKey={SETTINGS_PANEL_KEY}\n\t\t\t\tside=\"right\"\n\t\t\t\tminWidth={SETTINGS_MIN_WIDTH}\n\t\t\t\tmaxWidth={SETTINGS_MAX_WIDTH}\n\t\t\t\tdefaultWidth={SETTINGS_DEFAULT_WIDTH}\n\t\t\t/>\n\t\t\t<div className=\"flex-1 flex flex-col h-full min-w-0\">\n\t\t\t\t<div className=\"h-14 border-b border-border px-3 flex items-center justify-between shrink-0\">\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<Settings className=\"w-4 h-4\" />\n\t\t\t\t\t\t<span className=\"font-medium\">Settings</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Button variant=\"ghost\" size=\"icon\" onClick={collapseSidebar}>\n\t\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex-1 overflow-y-auto\">\n\t\t\t\t\t<SettingsSection\n\t\t\t\t\t\ttitle=\"Default Model\"\n\t\t\t\t\t\ticon={<Cpu className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Provider\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.provider ?? ''}\n\t\t\t\t\t\t\toptions={providerOptions}\n\t\t\t\t\t\t\tonChange={handleProviderChange}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Model\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.model ?? ''}\n\t\t\t\t\t\t\toptions={modelOptions}\n\t\t\t\t\t\t\tonChange={handleModelChange}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Agent\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.agent ?? ''}\n\t\t\t\t\t\t\toptions={agentOptions}\n\t\t\t\t\t\t\tonChange={handleAgentChange}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SettingsSection>\n\n\t\t\t\t\t<SettingsSection\n\t\t\t\t\t\ttitle=\"Preferences\"\n\t\t\t\t\t\ticon={<User className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\t\tlabel=\"Vim Mode\"\n\t\t\t\t\t\t\tchecked={preferences.vimMode}\n\t\t\t\t\t\t\tonChange={(checked) => updatePreferences({ vimMode: checked })}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\t\tlabel=\"Compact Thread\"\n\t\t\t\t\t\t\tchecked={preferences.compactThread}\n\t\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\t\tupdatePreferences({ compactThread: checked })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\t\tlabel=\"Full Width Content\"\n\t\t\t\t\t\t\tchecked={preferences.fullWidthContent}\n\t\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\t\tupdatePreferences({ fullWidthContent: checked })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\t\tlabel=\"Show Reasoning\"\n\t\t\t\t\t\t\tchecked={config?.defaults?.reasoningText ?? true}\n\t\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\treasoningText: checked,\n\t\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Reasoning Level\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.reasoningLevel ?? 'high'}\n\t\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t\t{ id: 'minimal', label: 'Minimal' },\n\t\t\t\t\t\t\t\t{ id: 'low', label: 'Low' },\n\t\t\t\t\t\t\t\t{ id: 'medium', label: 'Medium' },\n\t\t\t\t\t\t\t\t{ id: 'high', label: 'High' },\n\t\t\t\t\t\t\t\t{ id: 'max', label: 'Max' },\n\t\t\t\t\t\t\t\t{ id: 'xhigh', label: 'Extra High' },\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\tonChange={(value) =>\n\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\treasoningLevel: value as\n\t\t\t\t\t\t\t\t\t\t| 'minimal'\n\t\t\t\t\t\t\t\t\t\t| 'low'\n\t\t\t\t\t\t\t\t\t\t| 'medium'\n\t\t\t\t\t\t\t\t\t\t| 'high'\n\t\t\t\t\t\t\t\t\t\t| 'max'\n\t\t\t\t\t\t\t\t\t\t| 'xhigh',\n\t\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Tool Approval\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.toolApproval ?? 'dangerous'}\n\t\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t\t{ id: 'auto', label: 'Auto (no approval)' },\n\t\t\t\t\t\t\t\t{ id: 'dangerous', label: 'Dangerous only' },\n\t\t\t\t\t\t\t\t{ id: 'all', label: 'All tools' },\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\tonChange={(value) =>\n\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\ttoolApproval: value as 'auto' | 'dangerous' | 'all',\n\t\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\t\tlabel=\"Guided Mode\"\n\t\t\t\t\t\t\tchecked={config?.defaults?.guidedMode ?? false}\n\t\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\tguidedMode: checked,\n\t\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SettingsSection>\n\n\t\t\t\t\t<SettingsSection\n\t\t\t\t\t\ttitle=\"Providers\"\n\t\t\t\t\t\ticon={<Zap className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t\t\taction={\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tfetchAuthStatus().then(() => {\n\t\t\t\t\t\t\t\t\t\tsetStep('wallet');\n\t\t\t\t\t\t\t\t\t\tsetManageMode(true);\n\t\t\t\t\t\t\t\t\t\tsetOnboardingOpen(true);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tclassName=\"p-1 hover:bg-muted rounded transition-colors\"\n\t\t\t\t\t\t\t\ttitle=\"Manage providers\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Pencil className=\"w-3.5 h-3.5 text-muted-foreground\" />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t\t{config?.providers?.map((provider) => (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tkey={provider}\n\t\t\t\t\t\t\t\t\tclassName=\"px-2 py-1 text-xs bg-muted rounded-md font-mono\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{provider}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)) ?? <span className=\"text-muted-foreground text-sm\">None</span>}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</SettingsSection>\n\n\t\t\t\t\t{config?.providers?.includes('setu') && (\n\t\t\t\t\t\t<SetuWalletSection\n\t\t\t\t\t\t\tsetuWallet={setuWallet}\n\t\t\t\t\t\t\tsetuBalance={setuBalance}\n\t\t\t\t\t\t\tsetuUsdcBalance={setuUsdcBalance}\n\t\t\t\t\t\t\tsetuLoading={setuLoading}\n\t\t\t\t\t\t\trefreshSetuBalance={refreshSetuBalance}\n\t\t\t\t\t\t\topenTopupModal={openTopupModal}\n\t\t\t\t\t\t\tonExportPrivateKey={exportSetuPrivateKey}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<SetuTopupModal />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nfunction SetuSubscriptionInfo() {\n\tconst subscription = useSetuStore((s) => s.subscription);\n\tconst payg = useSetuStore((s) => s.payg);\n\n\tif (!subscription?.active) return null;\n\n\tconst formatCredits = (value: number) => {\n\t\tif (value >= 10) return Math.floor(value).toString();\n\t\tif (value >= 1) return value.toFixed(1);\n\t\treturn value.toFixed(2);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<SettingRow label=\"Plan\" value={subscription.tierName ?? 'GO'} />\n\t\t\t{subscription.creditsIncluded !== undefined &&\n\t\t\t\tsubscription.creditsUsed !== undefined && (\n\t\t\t\t\t<div className=\"space-y-1\">\n\t\t\t\t\t\t<SettingRow\n\t\t\t\t\t\t\tlabel=\"Used\"\n\t\t\t\t\t\t\tvalue={`${formatCredits(subscription.creditsUsed)} / ${formatCredits(subscription.creditsIncluded)}`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"w-full bg-muted rounded-full h-1.5\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"bg-emerald-500 h-1.5 rounded-full transition-all\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\twidth: `${Math.min(100, (subscription.creditsUsed / subscription.creditsIncluded) * 100)}%`,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t{payg && payg.effectiveSpendableUsd > 0 && (\n\t\t\t\t<SettingRow\n\t\t\t\t\tlabel=\"PAYG Balance\"\n\t\t\t\t\tvalue={`$${payg.effectiveSpendableUsd.toFixed(2)}`}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{subscription.periodEnd && (\n\t\t\t\t<SettingRow\n\t\t\t\t\tlabel=\"Renews\"\n\t\t\t\t\tvalue={new Date(subscription.periodEnd)\n\t\t\t\t\t\t.toLocaleDateString('en-US', {\n\t\t\t\t\t\t\tmonth: 'short',\n\t\t\t\t\t\t\tday: 'numeric',\n\t\t\t\t\t\t\tyear: 'numeric',\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.replace(',', '')}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\ninterface SetuWalletSectionProps {\n\tsetuWallet: string | null;\n\tsetuBalance: number | null;\n\tsetuUsdcBalance: number | null;\n\tsetuLoading: boolean;\n\trefreshSetuBalance: () => void;\n\topenTopupModal: () => void;\n\tonExportPrivateKey: () => Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t\tprivateKey: string;\n\t}>;\n}\n\nconst SetuWalletSection = memo(function SetuWalletSection({\n\tsetuWallet,\n\tsetuBalance,\n\tsetuUsdcBalance,\n\tsetuLoading,\n\trefreshSetuBalance,\n\topenTopupModal,\n\tonExportPrivateKey,\n}: SetuWalletSectionProps) {\n\tconst hasActiveSubscription = useSetuStore((s) => !!s.subscription?.active);\n\tconst [copied, setCopied] = useState(false);\n\tconst [isExportModalOpen, setIsExportModalOpen] = useState(false);\n\tconst [exportPrivateKey, setExportPrivateKey] = useState<string | null>(null);\n\tconst [isExportingPrivateKey, setIsExportingPrivateKey] = useState(false);\n\tconst [exportPrivateKeyError, setExportPrivateKeyError] = useState<\n\t\tstring | null\n\t>(null);\n\tconst [privateKeyCopied, setPrivateKeyCopied] = useState(false);\n\n\tconst handleCopy = useCallback(async () => {\n\t\tif (!setuWallet) return;\n\t\tawait navigator.clipboard.writeText(setuWallet);\n\t\tsetCopied(true);\n\t\tsetTimeout(() => setCopied(false), 2000);\n\t}, [setuWallet]);\n\n\tconst handleOpenExportPrivateKey = async () => {\n\t\tsetIsExportModalOpen(true);\n\t\tsetPrivateKeyCopied(false);\n\t\tsetExportPrivateKey(null);\n\t\tsetExportPrivateKeyError(null);\n\t\tsetIsExportingPrivateKey(true);\n\t\ttry {\n\t\t\tconst result = await onExportPrivateKey();\n\t\t\tsetExportPrivateKey(result.privateKey);\n\t\t} catch (err) {\n\t\t\tsetExportPrivateKeyError(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to export private key',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetIsExportingPrivateKey(false);\n\t\t}\n\t};\n\n\tconst handleCloseExportPrivateKey = () => {\n\t\tif (isExportingPrivateKey) return;\n\t\tsetIsExportModalOpen(false);\n\t\tsetPrivateKeyCopied(false);\n\t\tsetExportPrivateKey(null);\n\t\tsetExportPrivateKeyError(null);\n\t};\n\n\tconst handleCopyPrivateKey = async () => {\n\t\tif (!exportPrivateKey) return;\n\t\tawait navigator.clipboard.writeText(exportPrivateKey);\n\t\tsetPrivateKeyCopied(true);\n\t\tsetTimeout(() => setPrivateKeyCopied(false), 2000);\n\t};\n\n\tconst truncateWallet = (address: string | null) => {\n\t\tif (!address) return 'Not configured';\n\t\treturn `${address.slice(0, 4)}...${address.slice(-4)}`;\n\t};\n\n\tconst formatBalance = (balance: number | null) => {\n\t\tif (balance === null) return '—';\n\t\treturn `$${balance.toFixed(4)}`;\n\t};\n\n\tconst formatUsdcBalance = (balance: number | null) => {\n\t\tif (balance === null) return '—';\n\t\treturn `${balance.toFixed(2)} USDC`;\n\t};\n\n\tconst isLoaded = setuWallet !== null;\n\n\treturn (\n\t\t<SettingsSection\n\t\t\ttitle=\"Setu Credits\"\n\t\t\ticon={<Wallet className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\taction={\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={refreshSetuBalance}\n\t\t\t\t\tdisabled={setuLoading}\n\t\t\t\t\tclassName=\"p-1 hover:bg-muted rounded transition-colors disabled:opacity-50\"\n\t\t\t\t\ttitle=\"Refresh balances\"\n\t\t\t\t>\n\t\t\t\t\t<RefreshCw\n\t\t\t\t\t\tclassName={`w-3.5 h-3.5 text-muted-foreground ${setuLoading ? 'animate-spin' : ''}`}\n\t\t\t\t\t/>\n\t\t\t\t</button>\n\t\t\t}\n\t\t>\n\t\t\t{isLoaded ? (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"flex justify-center pb-3\">\n\t\t\t\t\t\t<div className=\"p-2 bg-white rounded-lg\">\n\t\t\t\t\t\t\t<QRCodeSVG\n\t\t\t\t\t\t\t\tvalue={setuWallet}\n\t\t\t\t\t\t\t\tsize={120}\n\t\t\t\t\t\t\t\tlevel=\"M\"\n\t\t\t\t\t\t\t\tincludeMargin={false}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">Address</span>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleCopy}\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 font-mono text-foreground hover:text-muted-foreground transition-colors\"\n\t\t\t\t\t\t\ttitle=\"Copy address\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{truncateWallet(setuWallet)}\n\t\t\t\t\t\t\t{copied ? (\n\t\t\t\t\t\t\t\t<Check className=\"w-3 h-3 text-green-500\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Copy className=\"w-3 h-3 text-muted-foreground\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<SetuSubscriptionInfo />\n\t\t\t\t\t{!hasActiveSubscription && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<SettingRow label=\"Balance\" value={formatBalance(setuBalance)} />\n\t\t\t\t\t\t\t<SettingRow\n\t\t\t\t\t\t\t\tlabel=\"USDC\"\n\t\t\t\t\t\t\t\tvalue={formatUsdcBalance(setuUsdcBalance)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"flex justify-center pb-3\">\n\t\t\t\t\t\t<div className=\"w-[136px] h-[136px] bg-muted rounded-lg animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">Address</span>\n\t\t\t\t\t\t<div className=\"w-24 h-4 bg-muted rounded animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">Balance</span>\n\t\t\t\t\t\t<div className=\"w-16 h-4 bg-muted rounded animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">USDC</span>\n\t\t\t\t\t\t<div className=\"w-20 h-4 bg-muted rounded animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t\t<Button\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tonClick={openTopupModal}\n\t\t\t\tclassName=\"w-full mt-2 gap-2\"\n\t\t\t>\n\t\t\t\t<Plus className=\"w-4 h-4\" />\n\t\t\t\tTop Up Balance\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tonClick={handleOpenExportPrivateKey}\n\t\t\t\tclassName=\"w-full gap-2\"\n\t\t\t>\n\t\t\t\t<Key className=\"w-4 h-4\" />\n\t\t\t\tExport Private Key\n\t\t\t</Button>\n\n\t\t\t{isExportModalOpen && (\n\t\t\t\t<div className=\"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm\">\n\t\t\t\t\t<div className=\"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-3 p-6 border-b border-border\">\n\t\t\t\t\t\t\t<Key className=\"w-5 h-5 text-muted-foreground\" />\n\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold\">Export Setu Private Key</h3>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"p-6\">\n\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground mb-4\">\n\t\t\t\t\t\t\t\tKeep this private key secret. Anyone with this key can spend\n\t\t\t\t\t\t\t\tfunds from your Setu wallet.\n\t\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t\t{isExportingPrivateKey && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t\t\tExporting private key...\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!isExportingPrivateKey && exportPrivateKey && (\n\t\t\t\t\t\t\t\t<div className=\"space-y-3\">\n\t\t\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\t\t\t\tvalue={exportPrivateKey}\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full min-h-[110px] px-4 py-3 bg-muted/50 border border-border rounded-lg text-foreground outline-none font-mono text-xs resize-y\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleCopyPrivateKey}\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{privateKeyCopied ? (\n\t\t\t\t\t\t\t\t\t\t\t<Check className=\"w-4 h-4 text-green-500\" />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<Copy className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{privateKeyCopied ? 'Copied' : 'Copy Private Key'}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!isExportingPrivateKey && exportPrivateKeyError && (\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-red-500 mt-3\">\n\t\t\t\t\t\t\t\t\t{exportPrivateKeyError}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<div className=\"flex gap-3 mt-5\">\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={handleCloseExportPrivateKey}\n\t\t\t\t\t\t\t\t\tdisabled={isExportingPrivateKey}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors disabled:opacity-50\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tClose\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</SettingsSection>\n\t);\n});\n",
154
+ "import { memo, useState, useMemo, useCallback } from 'react';\nimport {\n\tSettings,\n\tChevronRight,\n\tWallet,\n\tCpu,\n\tZap,\n\tUser,\n\tChevronDown,\n\tRefreshCw,\n\tPlus,\n\tPencil,\n\tCopy,\n\tCheck,\n\tKey,\n\tLoader2,\n} from 'lucide-react';\nimport { QRCodeSVG } from 'qrcode.react';\nimport { Button } from '../ui/Button';\nimport { useSettingsStore } from '../../stores/settingsStore';\nimport { useOnboardingStore } from '../../stores/onboardingStore';\nimport { useAuthStatus } from '../../hooks/useAuthStatus';\nimport {\n\tuseConfig,\n\tuseAllModels,\n\tuseUpdateDefaults,\n} from '../../hooks/useConfig';\nimport { usePreferences } from '../../hooks/usePreferences';\nimport { useSetuStore } from '../../stores/setuStore';\nimport { SetuTopupModal } from './SetuTopupModal';\nimport { useSetuBalance } from '../../hooks/useSetuBalance';\nimport { useTopupCallback } from '../../hooks/useTopupCallback';\nimport { usePanelWidthStore } from '../../stores/panelWidthStore';\nimport { ResizeHandle } from '../ui/ResizeHandle';\nimport { apiClient } from '../../lib/api-client';\n\nconst SETTINGS_PANEL_KEY = 'settings';\nconst SETTINGS_DEFAULT_WIDTH = 320;\nconst SETTINGS_MIN_WIDTH = 320;\nconst SETTINGS_MAX_WIDTH = 500;\n\ninterface SettingsSectionProps {\n\ttitle: string;\n\ticon: React.ReactNode;\n\tchildren: React.ReactNode;\n\taction?: React.ReactNode;\n}\n\nconst SettingsSection = memo(function SettingsSection({\n\ttitle,\n\ticon,\n\tchildren,\n\taction,\n}: SettingsSectionProps) {\n\treturn (\n\t\t<div className=\"border-b border-border\">\n\t\t\t<div className=\"px-4 py-3 flex items-center gap-2 bg-muted/30\">\n\t\t\t\t{icon}\n\t\t\t\t<span className=\"text-sm font-medium flex-1\">{title}</span>\n\t\t\t\t{action}\n\t\t\t</div>\n\t\t\t<div className=\"px-4 py-3 space-y-3\">{children}</div>\n\t\t</div>\n\t);\n});\n\ninterface SettingRowProps {\n\tlabel: string;\n\tvalue: React.ReactNode;\n}\n\nconst SettingRow = memo(function SettingRow({ label, value }: SettingRowProps) {\n\treturn (\n\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t<span className=\"text-muted-foreground\">{label}</span>\n\t\t\t<span className=\"font-mono text-foreground\">{value}</span>\n\t\t</div>\n\t);\n});\n\ninterface ToggleRowProps {\n\tlabel: string;\n\tchecked: boolean;\n\tonChange: (checked: boolean) => void;\n}\n\nconst ToggleRow = memo(function ToggleRow({\n\tlabel,\n\tchecked,\n\tonChange,\n}: ToggleRowProps) {\n\treturn (\n\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t<span className=\"text-muted-foreground\">{label}</span>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"switch\"\n\t\t\t\taria-checked={checked}\n\t\t\t\tonClick={() => onChange(!checked)}\n\t\t\t\tclassName={`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${\n\t\t\t\t\tchecked ? 'bg-primary' : 'bg-muted'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\tclassName={`inline-block h-4 w-4 transform rounded-full transition-transform ${\n\t\t\t\t\t\tchecked ? 'translate-x-6' : 'translate-x-1'\n\t\t\t\t\t} ${checked ? 'bg-primary-foreground' : 'bg-foreground'}`}\n\t\t\t\t/>\n\t\t\t</button>\n\t\t</div>\n\t);\n});\n\ninterface SelectRowProps {\n\tlabel: string;\n\tvalue: string;\n\toptions: Array<{ id: string; label: string }>;\n\tonChange: (value: string) => void;\n\tdisabled?: boolean;\n}\n\nconst SelectRow = memo(function SelectRow({\n\tlabel,\n\tvalue,\n\toptions,\n\tonChange,\n\tdisabled,\n}: SelectRowProps) {\n\tconst [isOpen, setIsOpen] = useState(false);\n\tconst selectedOption = options.find((o) => o.id === value);\n\n\treturn (\n\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t<span className=\"text-muted-foreground\">{label}</span>\n\t\t\t<div className=\"relative\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={() => !disabled && setIsOpen(!isOpen)}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tclassName=\"flex items-center gap-1 px-2 py-1 text-xs font-mono bg-muted hover:bg-muted/80 rounded border border-border disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"max-w-[120px] truncate\">\n\t\t\t\t\t\t{selectedOption?.label || value || 'Select...'}\n\t\t\t\t\t</span>\n\t\t\t\t\t<ChevronDown className=\"w-3 h-3\" />\n\t\t\t\t</button>\n\t\t\t\t{isOpen && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{/* biome-ignore lint/a11y/noStaticElementInteractions: click-away backdrop pattern */}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"fixed inset-0 z-40\"\n\t\t\t\t\t\t\tonClick={() => setIsOpen(false)}\n\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"absolute right-0 top-full mt-1 z-50 min-w-[160px] max-h-[200px] overflow-y-auto bg-popover border border-border rounded-md shadow-lg\">\n\t\t\t\t\t\t\t{options.map((option) => (\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tkey={option.id}\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tonChange(option.id);\n\t\t\t\t\t\t\t\t\t\tsetIsOpen(false);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName={`w-full px-3 py-2 text-left text-xs font-mono hover:bg-muted truncate ${\n\t\t\t\t\t\t\t\t\t\toption.id === value ? 'bg-muted/50' : ''\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nexport const SettingsSidebar = memo(function SettingsSidebar() {\n\tconst isExpanded = useSettingsStore((state) => state.isExpanded);\n\tconst collapseSidebar = useSettingsStore((state) => state.collapseSidebar);\n\tconst panelWidth = usePanelWidthStore(\n\t\t(s) => s.widths[SETTINGS_PANEL_KEY] ?? SETTINGS_DEFAULT_WIDTH,\n\t);\n\n\tconst { data: config } = useConfig();\n\tconst { data: allModels } = useAllModels();\n\tconst { preferences, updatePreferences } = usePreferences();\n\tconst updateDefaults = useUpdateDefaults();\n\tconst setuBalance = useSetuStore((s) => s.balance);\n\tconst setuWallet = useSetuStore((s) => s.walletAddress);\n\tconst setuUsdcBalance = useSetuStore((s) => s.usdcBalance);\n\tconst setuLoading = useSetuStore((s) => s.isLoading);\n\tconst openTopupModal = useSetuStore((s) => s.openTopupModal);\n\n\t// Handle topup success callback from Polar checkout redirect\n\tuseTopupCallback();\n\n\tconst hasSetu = config?.providers?.includes('setu');\n\tconst { fetchBalance: refreshSetuBalance } = useSetuBalance(\n\t\thasSetu ? 'setu' : undefined,\n\t);\n\n\tconst setOnboardingOpen = useOnboardingStore((s) => s.setOpen);\n\tconst setStep = useOnboardingStore((s) => s.setStep);\n\tconst setManageMode = useOnboardingStore((s) => s.setManageMode);\n\tconst { fetchAuthStatus } = useAuthStatus();\n\n\tconst exportSetuPrivateKey = useCallback(async () => {\n\t\treturn await apiClient.exportSetuWallet();\n\t}, []);\n\n\tconst providerOptions = useMemo(() => {\n\t\tif (!config?.providers || !allModels) return [];\n\t\treturn config.providers\n\t\t\t.filter((p) => allModels[p])\n\t\t\t.map((p) => ({\n\t\t\t\tid: p,\n\t\t\t\tlabel: allModels[p]?.label || p,\n\t\t\t}));\n\t}, [config?.providers, allModels]);\n\n\tconst modelOptions = useMemo(() => {\n\t\tconst provider = config?.defaults?.provider;\n\t\tif (!provider || !allModels?.[provider]) return [];\n\t\treturn allModels[provider].models.map((m) => ({\n\t\t\tid: m.id,\n\t\t\tlabel: m.label,\n\t\t}));\n\t}, [config?.defaults?.provider, allModels]);\n\n\tconst agentOptions = useMemo(() => {\n\t\tif (!config?.agents) return [];\n\t\treturn config.agents.map((a) => ({ id: a, label: a }));\n\t}, [config?.agents]);\n\n\tif (!isExpanded) return null;\n\n\tconst handleProviderChange = (provider: string) => {\n\t\tconst firstModel = allModels?.[provider]?.models?.[0]?.id;\n\t\tupdateDefaults.mutate({\n\t\t\tprovider,\n\t\t\tmodel: firstModel || config?.defaults?.model,\n\t\t\tscope: 'global',\n\t\t});\n\t};\n\n\tconst handleModelChange = (model: string) => {\n\t\tupdateDefaults.mutate({ model, scope: 'global' });\n\t};\n\n\tconst handleAgentChange = (agent: string) => {\n\t\tupdateDefaults.mutate({ agent, scope: 'global' });\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"border-l border-sidebar-border sidebar-fade-in flex h-full relative\"\n\t\t\tstyle={{ width: panelWidth }}\n\t\t>\n\t\t\t<ResizeHandle\n\t\t\t\tpanelKey={SETTINGS_PANEL_KEY}\n\t\t\t\tside=\"right\"\n\t\t\t\tminWidth={SETTINGS_MIN_WIDTH}\n\t\t\t\tmaxWidth={SETTINGS_MAX_WIDTH}\n\t\t\t\tdefaultWidth={SETTINGS_DEFAULT_WIDTH}\n\t\t\t/>\n\t\t\t<div className=\"flex-1 flex flex-col h-full min-w-0\">\n\t\t\t\t<div className=\"h-14 border-b border-border px-3 flex items-center justify-between shrink-0\">\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<Settings className=\"w-4 h-4\" />\n\t\t\t\t\t\t<span className=\"font-medium\">Settings</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Button variant=\"ghost\" size=\"icon\" onClick={collapseSidebar}>\n\t\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex-1 overflow-y-auto\">\n\t\t\t\t\t<SettingsSection\n\t\t\t\t\t\ttitle=\"Default Model\"\n\t\t\t\t\t\ticon={<Cpu className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Provider\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.provider ?? ''}\n\t\t\t\t\t\t\toptions={providerOptions}\n\t\t\t\t\t\t\tonChange={handleProviderChange}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Model\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.model ?? ''}\n\t\t\t\t\t\t\toptions={modelOptions}\n\t\t\t\t\t\t\tonChange={handleModelChange}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Agent\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.agent ?? ''}\n\t\t\t\t\t\t\toptions={agentOptions}\n\t\t\t\t\t\t\tonChange={handleAgentChange}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SettingsSection>\n\n\t\t\t\t\t<SettingsSection\n\t\t\t\t\t\ttitle=\"Preferences\"\n\t\t\t\t\t\ticon={<User className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\t\tlabel=\"Vim Mode\"\n\t\t\t\t\t\t\tchecked={preferences.vimMode}\n\t\t\t\t\t\t\tonChange={(checked) => updatePreferences({ vimMode: checked })}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\t\tlabel=\"Compact Thread\"\n\t\t\t\t\t\t\tchecked={preferences.compactThread}\n\t\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\t\tupdatePreferences({ compactThread: checked })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\t\tlabel=\"Full Width Content\"\n\t\t\t\t\t\t\tchecked={preferences.fullWidthContent}\n\t\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\t\tupdatePreferences({ fullWidthContent: checked })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\t\tlabel=\"Show Reasoning\"\n\t\t\t\t\t\t\tchecked={config?.defaults?.reasoningText ?? true}\n\t\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\treasoningText: checked,\n\t\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Reasoning Level\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.reasoningLevel ?? 'high'}\n\t\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t\t{ id: 'minimal', label: 'Minimal' },\n\t\t\t\t\t\t\t\t{ id: 'low', label: 'Low' },\n\t\t\t\t\t\t\t\t{ id: 'medium', label: 'Medium' },\n\t\t\t\t\t\t\t\t{ id: 'high', label: 'High' },\n\t\t\t\t\t\t\t\t{ id: 'max', label: 'Max' },\n\t\t\t\t\t\t\t\t{ id: 'xhigh', label: 'Extra High' },\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\tonChange={(value) =>\n\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\treasoningLevel: value as\n\t\t\t\t\t\t\t\t\t\t| 'minimal'\n\t\t\t\t\t\t\t\t\t\t| 'low'\n\t\t\t\t\t\t\t\t\t\t| 'medium'\n\t\t\t\t\t\t\t\t\t\t| 'high'\n\t\t\t\t\t\t\t\t\t\t| 'max'\n\t\t\t\t\t\t\t\t\t\t| 'xhigh',\n\t\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Tool Approval\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.toolApproval ?? 'dangerous'}\n\t\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t\t{ id: 'auto', label: 'Auto (no approval)' },\n\t\t\t\t\t\t\t\t{ id: 'dangerous', label: 'Dangerous only' },\n\t\t\t\t\t\t\t\t{ id: 'all', label: 'All tools' },\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\tonChange={(value) =>\n\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\ttoolApproval: value as 'auto' | 'dangerous' | 'all',\n\t\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\t\tlabel=\"Guided Mode\"\n\t\t\t\t\t\t\tchecked={config?.defaults?.guidedMode ?? false}\n\t\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\tguidedMode: checked,\n\t\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SettingsSection>\n\n\t\t\t\t\t<SettingsSection\n\t\t\t\t\t\ttitle=\"Providers\"\n\t\t\t\t\t\ticon={<Zap className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t\t\taction={\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tfetchAuthStatus().then(() => {\n\t\t\t\t\t\t\t\t\t\tsetStep('wallet');\n\t\t\t\t\t\t\t\t\t\tsetManageMode(true);\n\t\t\t\t\t\t\t\t\t\tsetOnboardingOpen(true);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tclassName=\"p-1 hover:bg-muted rounded transition-colors\"\n\t\t\t\t\t\t\t\ttitle=\"Manage providers\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Pencil className=\"w-3.5 h-3.5 text-muted-foreground\" />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t\t{config?.providers?.map((provider) => (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tkey={provider}\n\t\t\t\t\t\t\t\t\tclassName=\"px-2 py-1 text-xs bg-muted rounded-md font-mono\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{provider}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)) ?? <span className=\"text-muted-foreground text-sm\">None</span>}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</SettingsSection>\n\n\t\t\t\t\t{config?.providers?.includes('setu') && (\n\t\t\t\t\t\t<SetuWalletSection\n\t\t\t\t\t\t\tsetuWallet={setuWallet}\n\t\t\t\t\t\t\tsetuBalance={setuBalance}\n\t\t\t\t\t\t\tsetuUsdcBalance={setuUsdcBalance}\n\t\t\t\t\t\t\tsetuLoading={setuLoading}\n\t\t\t\t\t\t\trefreshSetuBalance={refreshSetuBalance}\n\t\t\t\t\t\t\topenTopupModal={openTopupModal}\n\t\t\t\t\t\t\tonExportPrivateKey={exportSetuPrivateKey}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<SetuTopupModal />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nfunction SetuSubscriptionInfo() {\n\tconst subscription = useSetuStore((s) => s.subscription);\n\tconst payg = useSetuStore((s) => s.payg);\n\n\tif (!subscription?.active) return null;\n\n\treturn (\n\t\t<>\n\t\t\t<SettingRow label=\"Plan\" value={subscription.tierName ?? 'GO'} />\n\t\t\t{subscription.usageWindows && (\n\t\t\t\t<>\n\t\t\t\t\t<SettingRow\n\t\t\t\t\t\tlabel=\"5h\"\n\t\t\t\t\t\tvalue={`${Math.round(subscription.usageWindows.fiveHour.percentUsed)}%`}\n\t\t\t\t\t/>\n\t\t\t\t\t<SettingRow\n\t\t\t\t\t\tlabel=\"Week\"\n\t\t\t\t\t\tvalue={`${Math.round(subscription.usageWindows.weekly.percentUsed)}%`}\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t)}\n\t\t\t{payg && payg.effectiveSpendableUsd > 0 && (\n\t\t\t\t<SettingRow\n\t\t\t\t\tlabel=\"Credits\"\n\t\t\t\t\tvalue={`$${payg.effectiveSpendableUsd.toFixed(2)}`}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{subscription.periodEnd && (\n\t\t\t\t<SettingRow\n\t\t\t\t\tlabel=\"Renews\"\n\t\t\t\t\tvalue={new Date(subscription.periodEnd)\n\t\t\t\t\t\t.toLocaleDateString('en-US', {\n\t\t\t\t\t\t\tmonth: 'short',\n\t\t\t\t\t\t\tday: 'numeric',\n\t\t\t\t\t\t\tyear: 'numeric',\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.replace(',', '')}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\ninterface SetuWalletSectionProps {\n\tsetuWallet: string | null;\n\tsetuBalance: number | null;\n\tsetuUsdcBalance: number | null;\n\tsetuLoading: boolean;\n\trefreshSetuBalance: () => void;\n\topenTopupModal: () => void;\n\tonExportPrivateKey: () => Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t\tprivateKey: string;\n\t}>;\n}\n\nconst SetuWalletSection = memo(function SetuWalletSection({\n\tsetuWallet,\n\tsetuBalance,\n\tsetuUsdcBalance,\n\tsetuLoading,\n\trefreshSetuBalance,\n\topenTopupModal,\n\tonExportPrivateKey,\n}: SetuWalletSectionProps) {\n\tconst hasActiveSubscription = useSetuStore((s) => !!s.subscription?.active);\n\tconst [copied, setCopied] = useState(false);\n\tconst [isExportModalOpen, setIsExportModalOpen] = useState(false);\n\tconst [exportPrivateKey, setExportPrivateKey] = useState<string | null>(null);\n\tconst [isExportingPrivateKey, setIsExportingPrivateKey] = useState(false);\n\tconst [exportPrivateKeyError, setExportPrivateKeyError] = useState<\n\t\tstring | null\n\t>(null);\n\tconst [privateKeyCopied, setPrivateKeyCopied] = useState(false);\n\n\tconst handleCopy = useCallback(async () => {\n\t\tif (!setuWallet) return;\n\t\tawait navigator.clipboard.writeText(setuWallet);\n\t\tsetCopied(true);\n\t\tsetTimeout(() => setCopied(false), 2000);\n\t}, [setuWallet]);\n\n\tconst handleOpenExportPrivateKey = async () => {\n\t\tsetIsExportModalOpen(true);\n\t\tsetPrivateKeyCopied(false);\n\t\tsetExportPrivateKey(null);\n\t\tsetExportPrivateKeyError(null);\n\t\tsetIsExportingPrivateKey(true);\n\t\ttry {\n\t\t\tconst result = await onExportPrivateKey();\n\t\t\tsetExportPrivateKey(result.privateKey);\n\t\t} catch (err) {\n\t\t\tsetExportPrivateKeyError(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to export private key',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetIsExportingPrivateKey(false);\n\t\t}\n\t};\n\n\tconst handleCloseExportPrivateKey = () => {\n\t\tif (isExportingPrivateKey) return;\n\t\tsetIsExportModalOpen(false);\n\t\tsetPrivateKeyCopied(false);\n\t\tsetExportPrivateKey(null);\n\t\tsetExportPrivateKeyError(null);\n\t};\n\n\tconst handleCopyPrivateKey = async () => {\n\t\tif (!exportPrivateKey) return;\n\t\tawait navigator.clipboard.writeText(exportPrivateKey);\n\t\tsetPrivateKeyCopied(true);\n\t\tsetTimeout(() => setPrivateKeyCopied(false), 2000);\n\t};\n\n\tconst truncateWallet = (address: string | null) => {\n\t\tif (!address) return 'Not configured';\n\t\treturn `${address.slice(0, 4)}...${address.slice(-4)}`;\n\t};\n\n\tconst formatBalance = (balance: number | null) => {\n\t\tif (balance === null) return '—';\n\t\treturn `$${balance.toFixed(4)}`;\n\t};\n\n\tconst formatUsdcBalance = (balance: number | null) => {\n\t\tif (balance === null) return '—';\n\t\treturn `${balance.toFixed(2)} USDC`;\n\t};\n\n\tconst isLoaded = setuWallet !== null;\n\n\treturn (\n\t\t<SettingsSection\n\t\t\ttitle=\"Setu Credits\"\n\t\t\ticon={<Wallet className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\taction={\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={refreshSetuBalance}\n\t\t\t\t\tdisabled={setuLoading}\n\t\t\t\t\tclassName=\"p-1 hover:bg-muted rounded transition-colors disabled:opacity-50\"\n\t\t\t\t\ttitle=\"Refresh balances\"\n\t\t\t\t>\n\t\t\t\t\t<RefreshCw\n\t\t\t\t\t\tclassName={`w-3.5 h-3.5 text-muted-foreground ${setuLoading ? 'animate-spin' : ''}`}\n\t\t\t\t\t/>\n\t\t\t\t</button>\n\t\t\t}\n\t\t>\n\t\t\t{isLoaded ? (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"flex justify-center pb-3\">\n\t\t\t\t\t\t<div className=\"p-2 bg-white rounded-lg\">\n\t\t\t\t\t\t\t<QRCodeSVG\n\t\t\t\t\t\t\t\tvalue={setuWallet}\n\t\t\t\t\t\t\t\tsize={120}\n\t\t\t\t\t\t\t\tlevel=\"M\"\n\t\t\t\t\t\t\t\tincludeMargin={false}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">Address</span>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleCopy}\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 font-mono text-foreground hover:text-muted-foreground transition-colors\"\n\t\t\t\t\t\t\ttitle=\"Copy address\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{truncateWallet(setuWallet)}\n\t\t\t\t\t\t\t{copied ? (\n\t\t\t\t\t\t\t\t<Check className=\"w-3 h-3 text-green-500\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Copy className=\"w-3 h-3 text-muted-foreground\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<SetuSubscriptionInfo />\n\t\t\t\t\t{!hasActiveSubscription && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<SettingRow label=\"Balance\" value={formatBalance(setuBalance)} />\n\t\t\t\t\t\t\t<SettingRow\n\t\t\t\t\t\t\t\tlabel=\"USDC\"\n\t\t\t\t\t\t\t\tvalue={formatUsdcBalance(setuUsdcBalance)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"flex justify-center pb-3\">\n\t\t\t\t\t\t<div className=\"w-[136px] h-[136px] bg-muted rounded-lg animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">Address</span>\n\t\t\t\t\t\t<div className=\"w-24 h-4 bg-muted rounded animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">Balance</span>\n\t\t\t\t\t\t<div className=\"w-16 h-4 bg-muted rounded animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">USDC</span>\n\t\t\t\t\t\t<div className=\"w-20 h-4 bg-muted rounded animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t\t<Button\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tonClick={openTopupModal}\n\t\t\t\tclassName=\"w-full mt-2 gap-2\"\n\t\t\t>\n\t\t\t\t<Plus className=\"w-4 h-4\" />\n\t\t\t\tTop Up Balance\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tonClick={handleOpenExportPrivateKey}\n\t\t\t\tclassName=\"w-full gap-2\"\n\t\t\t>\n\t\t\t\t<Key className=\"w-4 h-4\" />\n\t\t\t\tExport Private Key\n\t\t\t</Button>\n\n\t\t\t{isExportModalOpen && (\n\t\t\t\t<div className=\"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm\">\n\t\t\t\t\t<div className=\"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-3 p-6 border-b border-border\">\n\t\t\t\t\t\t\t<Key className=\"w-5 h-5 text-muted-foreground\" />\n\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold\">Export Setu Private Key</h3>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"p-6\">\n\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground mb-4\">\n\t\t\t\t\t\t\t\tKeep this private key secret. Anyone with this key can spend\n\t\t\t\t\t\t\t\tfunds from your Setu wallet.\n\t\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t\t{isExportingPrivateKey && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t\t\tExporting private key...\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!isExportingPrivateKey && exportPrivateKey && (\n\t\t\t\t\t\t\t\t<div className=\"space-y-3\">\n\t\t\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\t\t\t\tvalue={exportPrivateKey}\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full min-h-[110px] px-4 py-3 bg-muted/50 border border-border rounded-lg text-foreground outline-none font-mono text-xs resize-y\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleCopyPrivateKey}\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{privateKeyCopied ? (\n\t\t\t\t\t\t\t\t\t\t\t<Check className=\"w-4 h-4 text-green-500\" />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<Copy className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{privateKeyCopied ? 'Copied' : 'Copy Private Key'}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!isExportingPrivateKey && exportPrivateKeyError && (\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-red-500 mt-3\">\n\t\t\t\t\t\t\t\t\t{exportPrivateKeyError}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<div className=\"flex gap-3 mt-5\">\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={handleCloseExportPrivateKey}\n\t\t\t\t\t\t\t\t\tdisabled={isExportingPrivateKey}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors disabled:opacity-50\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tClose\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</SettingsSection>\n\t);\n});\n",
155
155
  "import { create } from 'zustand';\n\nexport type OnboardingStep = 'wallet' | 'defaults';\n\nexport interface ProviderInfo {\n\tconfigured: boolean;\n\ttype?: 'api' | 'oauth' | 'wallet';\n\tlabel: string;\n\tsupportsOAuth: boolean;\n\tsupportsToken?: boolean;\n\tsupportsGhImport?: boolean;\n\tmodelCount: number;\n\tcostRange?: { min: number; max: number };\n}\n\nexport interface AuthStatus {\n\tonboardingComplete: boolean;\n\tsetu: { configured: boolean; publicKey?: string };\n\tproviders: Record<string, ProviderInfo>;\n\tdefaults: {\n\t\tagent: string;\n\t\tprovider: string;\n\t\tmodel: string;\n\t\ttoolApproval?: 'auto' | 'dangerous' | 'all';\n\t};\n}\n\ninterface OnboardingState {\n\tisOpen: boolean;\n\tcurrentStep: OnboardingStep;\n\tmanageMode: boolean;\n\tisLoading: boolean;\n\terror: string | null;\n\tauthStatus: AuthStatus | null;\n\tsetOpen: (open: boolean) => void;\n\tsetStep: (step: OnboardingStep) => void;\n\tsetManageMode: (manageMode: boolean) => void;\n\tsetLoading: (loading: boolean) => void;\n\tsetError: (error: string | null) => void;\n\tsetAuthStatus: (status: AuthStatus | null) => void;\n\tnextStep: () => void;\n\tprevStep: () => void;\n\treset: () => void;\n}\n\nconst STEPS: OnboardingStep[] = ['wallet', 'defaults'];\n\nexport const useOnboardingStore = create<OnboardingState>((set, get) => ({\n\tisOpen: false,\n\tcurrentStep: 'wallet',\n\tmanageMode: false,\n\tisLoading: false,\n\terror: null,\n\tauthStatus: null,\n\tsetOpen: (isOpen) => set({ isOpen }),\n\tsetStep: (currentStep) => set({ currentStep }),\n\tsetManageMode: (manageMode) => set({ manageMode }),\n\tsetLoading: (isLoading) => set({ isLoading }),\n\tsetError: (error) => set({ error }),\n\tsetAuthStatus: (authStatus) => set({ authStatus }),\n\tnextStep: () => {\n\t\tconst { currentStep } = get();\n\t\tconst currentIndex = STEPS.indexOf(currentStep);\n\t\tif (currentIndex < STEPS.length - 1) {\n\t\t\tset({ currentStep: STEPS[currentIndex + 1] });\n\t\t}\n\t},\n\tprevStep: () => {\n\t\tconst { currentStep } = get();\n\t\tconst currentIndex = STEPS.indexOf(currentStep);\n\t\tif (currentIndex > 0) {\n\t\t\tset({ currentStep: STEPS[currentIndex - 1] });\n\t\t}\n\t},\n\treset: () =>\n\t\tset({\n\t\t\tisOpen: false,\n\t\t\tcurrentStep: 'wallet',\n\t\t\tmanageMode: false,\n\t\t\tisLoading: false,\n\t\t\terror: null,\n\t\t}),\n}));\n",
156
156
  "import { useEffect, useCallback, useState, useRef } from 'react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\nimport { useOnboardingStore } from '../stores/onboardingStore';\n\nconst isInIframe = typeof window !== 'undefined' && window.self !== window.top;\n\nexport function useAuthStatus() {\n\tconst setAuthStatus = useOnboardingStore((s) => s.setAuthStatus);\n\tconst setOpen = useOnboardingStore((s) => s.setOpen);\n\tconst setLoading = useOnboardingStore((s) => s.setLoading);\n\tconst setError = useOnboardingStore((s) => s.setError);\n\tconst authStatus = useOnboardingStore((s) => s.authStatus);\n\tconst isOpen = useOnboardingStore((s) => s.isOpen);\n\tconst queryClient = useQueryClient();\n\n\tconst [initialized, setInitialized] = useState(false);\n\tconst [oauthPolling, setOauthPolling] = useState(false);\n\tconst oauthPollingRef = useRef<ReturnType<typeof setInterval> | null>(null);\n\tconst preOauthProvidersRef = useRef<Set<string>>(new Set());\n\n\tconst fetchAuthStatus = useCallback(async () => {\n\t\tsetLoading(true);\n\t\tsetError(null);\n\t\ttry {\n\t\t\tconst status = await apiClient.getAuthStatus();\n\t\t\tsetAuthStatus(status);\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['config'] });\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['models'] });\n\t\t\treturn status;\n\t\t} catch (err) {\n\t\t\tconst message = err instanceof Error ? err.message : 'Failed to load';\n\t\t\tsetError(message);\n\t\t\treturn null;\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [setAuthStatus, setLoading, setError, queryClient]);\n\n\tconst checkOnboarding = useCallback(async () => {\n\t\tconst status = await fetchAuthStatus();\n\t\tif (status) {\n\t\t\tconst hasAnyProvider = Object.values(status.providers).some(\n\t\t\t\t(p) => p.configured,\n\t\t\t);\n\t\t\tconst needsOnboarding =\n\t\t\t\t!status.onboardingComplete ||\n\t\t\t\t!hasAnyProvider ||\n\t\t\t\t!status.setu.configured;\n\t\t\tif (needsOnboarding) {\n\t\t\t\tsetOpen(true);\n\t\t\t}\n\t\t}\n\t\tsetInitialized(true);\n\t}, [fetchAuthStatus, setOpen]);\n\n\tconst setupWallet = useCallback(async () => {\n\t\tsetLoading(true);\n\t\tsetError(null);\n\t\ttry {\n\t\t\tconst result = await apiClient.setupSetuWallet();\n\t\t\tawait fetchAuthStatus();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tconst message = err instanceof Error ? err.message : 'Setup failed';\n\t\t\tsetError(message);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [fetchAuthStatus, setLoading, setError]);\n\n\tconst importWallet = useCallback(\n\t\tasync (privateKey: string) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tconst result = await apiClient.importSetuWallet(privateKey);\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn result;\n\t\t\t} catch (err) {\n\t\t\t\tconst message = err instanceof Error ? err.message : 'Import failed';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tconst addProvider = useCallback(\n\t\tasync (provider: string, apiKey: string) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tconst result = await apiClient.addProvider(provider, apiKey);\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn result;\n\t\t\t} catch (err) {\n\t\t\t\tconst message =\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to add provider';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tconst removeProvider = useCallback(\n\t\tasync (provider: string) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tconst result = await apiClient.removeProvider(provider);\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn result;\n\t\t\t} catch (err) {\n\t\t\t\tconst message =\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to remove provider';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tconst completeOnboarding = useCallback(async () => {\n\t\tsetLoading(true);\n\t\tsetError(null);\n\t\ttry {\n\t\t\tawait apiClient.completeOnboarding();\n\t\t\tawait fetchAuthStatus();\n\t\t\tsetOpen(false);\n\t\t} catch (err) {\n\t\t\tconst message =\n\t\t\t\terr instanceof Error ? err.message : 'Failed to complete onboarding';\n\t\t\tsetError(message);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [fetchAuthStatus, setLoading, setError, setOpen]);\n\n\tconst snapshotConfiguredProviders = useCallback(() => {\n\t\tconst status = useOnboardingStore.getState().authStatus;\n\t\tif (status) {\n\t\t\tpreOauthProvidersRef.current = new Set(\n\t\t\t\tObject.entries(status.providers)\n\t\t\t\t\t.filter(([, p]) => p.configured)\n\t\t\t\t\t.map(([id]) => id),\n\t\t\t);\n\t\t}\n\t}, []);\n\n\tconst startOAuth = useCallback(\n\t\t(provider: string, mode?: string) => {\n\t\t\tconst url = apiClient.getOAuthStartUrl(provider, mode);\n\t\t\tif (isInIframe) {\n\t\t\t\tsnapshotConfiguredProviders();\n\t\t\t\twindow.parent.postMessage({ type: 'otto-open-url', url }, '*');\n\t\t\t\tsetOauthPolling(true);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst width = 600;\n\t\t\tconst height = 700;\n\t\t\tconst left = window.screenX + (window.outerWidth - width) / 2;\n\t\t\tconst top = window.screenY + (window.outerHeight - height) / 2;\n\t\t\tconst popup = window.open(\n\t\t\t\turl,\n\t\t\t\t'oauth_popup',\n\t\t\t\t`width=${width},height=${height},left=${left},top=${top},toolbar=no,menubar=no`,\n\t\t\t);\n\t\t\treturn popup;\n\t\t},\n\t\t[snapshotConfiguredProviders],\n\t);\n\n\tconst startOAuthManual = useCallback(\n\t\tasync (provider: string, mode?: string) => {\n\t\t\tconst { url, sessionId } = await apiClient.getOAuthUrl(provider, mode);\n\n\t\t\tif (isInIframe) {\n\t\t\t\tsnapshotConfiguredProviders();\n\t\t\t\twindow.parent.postMessage({ type: 'otto-open-url', url }, '*');\n\t\t\t\tsetOauthPolling(true);\n\t\t\t\treturn { popup: null, sessionId };\n\t\t\t}\n\n\t\t\tconst width = 600;\n\t\t\tconst height = 700;\n\t\t\tconst left = window.screenX + (window.outerWidth - width) / 2;\n\t\t\tconst top = window.screenY + (window.outerHeight - height) / 2;\n\t\t\tconst popup = window.open(\n\t\t\t\turl,\n\t\t\t\t'oauth_popup',\n\t\t\t\t`width=${width},height=${height},left=${left},top=${top},toolbar=no,menubar=no`,\n\t\t\t);\n\t\t\treturn { popup, sessionId };\n\t\t},\n\t\t[snapshotConfiguredProviders],\n\t);\n\n\tconst exchangeOAuthCode = useCallback(\n\t\tasync (provider: string, code: string, sessionId: string) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tawait apiClient.exchangeOAuthCode(provider, code, sessionId);\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn true;\n\t\t\t} catch (err) {\n\t\t\t\tconst message =\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to exchange code';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tuseEffect(() => {\n\t\tif (!oauthPolling || !isInIframe) return;\n\t\toauthPollingRef.current = setInterval(() => {\n\t\t\tfetchAuthStatus();\n\t\t}, 3000);\n\t\tconst timeout = setTimeout(() => {\n\t\t\tsetOauthPolling(false);\n\t\t}, 300000);\n\t\treturn () => {\n\t\t\tclearInterval(oauthPollingRef.current);\n\t\t\tclearTimeout(timeout);\n\t\t};\n\t}, [oauthPolling, fetchAuthStatus]);\n\n\tuseEffect(() => {\n\t\tif (!oauthPolling || !authStatus) return;\n\t\tconst currentConfigured = Object.entries(authStatus.providers).filter(\n\t\t\t([, p]) => p.configured,\n\t\t);\n\t\tconst hasNewProvider = currentConfigured.some(\n\t\t\t([id]) => !preOauthProvidersRef.current.has(id),\n\t\t);\n\t\tif (hasNewProvider) {\n\t\t\tsetOauthPolling(false);\n\t\t}\n\t}, [authStatus, oauthPolling]);\n\n\tuseEffect(() => {\n\t\tconst handleOAuthMessage = (event: MessageEvent) => {\n\t\t\tif (event.data?.type === 'oauth-success') {\n\t\t\t\tfetchAuthStatus();\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('message', handleOAuthMessage);\n\t\treturn () => window.removeEventListener('message', handleOAuthMessage);\n\t}, [fetchAuthStatus]);\n\n\tconst pollCopilotDeviceFlow = useCallback(\n\t\tasync (sessionId: string) => {\n\t\t\tconst result = await apiClient.pollCopilotDeviceFlow(sessionId);\n\t\t\tif (result.status === 'complete') {\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t}\n\t\t\treturn result;\n\t\t},\n\t\t[fetchAuthStatus],\n\t);\n\n\tconst saveCopilotToken = useCallback(\n\t\tasync (token: string) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tconst result = await apiClient.saveCopilotToken(token);\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn result;\n\t\t\t} catch (err) {\n\t\t\t\tconst message =\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to save Copilot token';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tconst importCopilotTokenFromGh = useCallback(async () => {\n\t\tsetLoading(true);\n\t\tsetError(null);\n\t\ttry {\n\t\t\tconst result = await apiClient.importCopilotTokenFromGh();\n\t\t\tawait fetchAuthStatus();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tconst message =\n\t\t\t\terr instanceof Error\n\t\t\t\t\t? err.message\n\t\t\t\t\t: 'Failed to import Copilot token from GH';\n\t\t\tsetError(message);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [fetchAuthStatus, setLoading, setError]);\n\n\treturn {\n\t\tauthStatus,\n\t\tisOpen,\n\t\tinitialized,\n\t\tfetchAuthStatus,\n\t\tcheckOnboarding,\n\t\tsetupWallet,\n\t\timportWallet,\n\t\taddProvider,\n\t\tremoveProvider,\n\t\tcompleteOnboarding,\n\t\tstartOAuth,\n\t\tstartOAuthManual,\n\t\texchangeOAuthCode,\n\t\tstartCopilotDeviceFlow: apiClient.startCopilotDeviceFlow.bind(apiClient),\n\t\tpollCopilotDeviceFlow,\n\t\tgetCopilotAuthMethods: apiClient.getCopilotAuthMethods.bind(apiClient),\n\t\tsaveCopilotToken,\n\t\timportCopilotTokenFromGh,\n\t\tgetCopilotDiagnostics: apiClient.getCopilotDiagnostics.bind(apiClient),\n\t};\n}\n",
157
- "import { useEffect, useCallback } from 'react';\nimport { apiClient } from '../lib/api-client';\nimport { useSetuStore } from '../stores/setuStore';\n\nexport function useSetuBalance(providerName: string | undefined) {\n\tconst setBalance = useSetuStore((s) => s.setBalance);\n\tconst setUsdcBalance = useSetuStore((s) => s.setUsdcBalance);\n\tconst setWalletAddress = useSetuStore((s) => s.setWalletAddress);\n\tconst setLoading = useSetuStore((s) => s.setLoading);\n\tconst setScope = useSetuStore((s) => s.setScope);\n\tconst setPayg = useSetuStore((s) => s.setPayg);\n\tconst setSubscription = useSetuStore((s) => s.setSubscription);\n\tconst setLimits = useSetuStore((s) => s.setLimits);\n\tconst balance = useSetuStore((s) => s.balance);\n\tconst usdcBalance = useSetuStore((s) => s.usdcBalance);\n\tconst network = useSetuStore((s) => s.network);\n\n\tconst fetchBalance = useCallback(async () => {\n\t\tif (providerName !== 'setu') {\n\t\t\treturn;\n\t\t}\n\n\t\tsetLoading(true);\n\t\ttry {\n\t\t\tconst [setuData, usdcData, walletData] = await Promise.all([\n\t\t\t\tapiClient.getSetuBalance(),\n\t\t\t\tapiClient.getSetuUsdcBalance(network),\n\t\t\t\tapiClient.getSetuWallet(),\n\t\t\t]);\n\n\t\t\tif (setuData) {\n\t\t\t\tsetBalance(setuData.balance);\n\t\t\t\tsetWalletAddress(setuData.walletAddress);\n\t\t\t\tsetScope(setuData.scope ?? null);\n\t\t\t\tsetPayg(setuData.payg ?? null);\n\t\t\t\tsetSubscription(setuData.subscription ?? null);\n\t\t\t\tsetLimits(setuData.limits ?? null);\n\t\t\t} else if (walletData?.configured && walletData.publicKey) {\n\t\t\t\tsetWalletAddress(walletData.publicKey);\n\t\t\t}\n\n\t\t\tif (usdcData) {\n\t\t\t\tsetUsdcBalance(usdcData.usdcBalance);\n\t\t\t\tif (!setuData && usdcData.walletAddress) {\n\t\t\t\t\tsetWalletAddress(usdcData.walletAddress);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch {\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [\n\t\tproviderName,\n\t\tnetwork,\n\t\tsetBalance,\n\t\tsetUsdcBalance,\n\t\tsetWalletAddress,\n\t\tsetLoading,\n\t\tsetScope,\n\t\tsetPayg,\n\t\tsetSubscription,\n\t\tsetLimits,\n\t]);\n\n\tuseEffect(() => {\n\t\tif (providerName === 'setu' && (balance === null || usdcBalance === null)) {\n\t\t\tfetchBalance();\n\t\t}\n\t}, [providerName, balance, usdcBalance, fetchBalance]);\n\n\treturn {\n\t\tfetchBalance,\n\t};\n}\n",
158
157
  "import { useEffect, useRef } from 'react';\nimport { useToastStore, toast } from '../stores/toastStore';\nimport { useSetuStore } from '../stores/setuStore';\nimport { apiClient } from '../lib/api-client';\n\nconst STORAGE_KEY = 'pendingPolarCheckout';\n\nexport function useTopupCallback() {\n\tconst hasHandled = useRef(false);\n\tconst loadingToastId = useRef<string | null>(null);\n\tconst setBalance = useSetuStore((s) => s.setBalance);\n\tconst removeToast = useToastStore((s) => s.removeToast);\n\n\tuseEffect(() => {\n\t\tif (hasHandled.current) return;\n\n\t\tconst params = new URLSearchParams(window.location.search);\n\t\tconst topupStatus = params.get('topup');\n\n\t\tconst pendingCheckoutId = localStorage.getItem(STORAGE_KEY);\n\n\t\tif (topupStatus === 'pending' || pendingCheckoutId) {\n\t\t\thasHandled.current = true;\n\n\t\t\tconst url = new URL(window.location.href);\n\t\t\turl.searchParams.delete('topup');\n\t\t\twindow.history.replaceState({}, '', url.toString());\n\n\t\t\tif (!pendingCheckoutId) {\n\t\t\t\ttoast.info('Checking top-up status...');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tloadingToastId.current = toast.loading('Verifying top-up...');\n\n\t\t\tlet attempts = 0;\n\t\t\tconst maxAttempts = 10;\n\t\t\tconst delayMs = 2000;\n\n\t\t\tconst dismissLoading = () => {\n\t\t\t\tif (loadingToastId.current) {\n\t\t\t\t\tremoveToast(loadingToastId.current);\n\t\t\t\t\tloadingToastId.current = null;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst checkStatus = async () => {\n\t\t\t\tattempts++;\n\t\t\t\ttry {\n\t\t\t\t\tconst status = await apiClient.getPolarTopupStatus(pendingCheckoutId);\n\n\t\t\t\t\tif (status?.confirmed) {\n\t\t\t\t\t\tlocalStorage.removeItem(STORAGE_KEY);\n\t\t\t\t\t\tdismissLoading();\n\n\t\t\t\t\t\tconst balanceData = await apiClient.getSetuBalance();\n\t\t\t\t\t\tif (balanceData?.balance !== undefined) {\n\t\t\t\t\t\t\tsetBalance(balanceData.balance);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttoast.success(\n\t\t\t\t\t\t\t`Top-up confirmed! +$${status.amountUsd?.toFixed(2)} credited`,\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (attempts < maxAttempts) {\n\t\t\t\t\t\tsetTimeout(checkStatus, delayMs);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlocalStorage.removeItem(STORAGE_KEY);\n\t\t\t\t\t\tdismissLoading();\n\t\t\t\t\t\ttoast.info(\n\t\t\t\t\t\t\t'Top-up is still processing. Balance will update automatically.',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\tif (attempts < maxAttempts) {\n\t\t\t\t\t\tsetTimeout(checkStatus, delayMs);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlocalStorage.removeItem(STORAGE_KEY);\n\t\t\t\t\t\tdismissLoading();\n\t\t\t\t\t\ttoast.error('Could not verify top-up. Please check your balance.');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tsetTimeout(checkStatus, 1500);\n\t\t}\n\t}, [setBalance, removeToast]);\n}\n",
159
158
  "import { memo } from 'react';\nimport { Settings } from 'lucide-react';\nimport { useSettingsStore } from '../../stores/settingsStore';\n\nexport const SettingsSidebarToggle = memo(function SettingsSidebarToggle() {\n\tconst isExpanded = useSettingsStore((state) => state.isExpanded);\n\tconst toggleSidebar = useSettingsStore((state) => state.toggleSidebar);\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={toggleSidebar}\n\t\t\tclassName={`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${\n\t\t\t\tisExpanded\n\t\t\t\t\t? 'bg-muted border-primary'\n\t\t\t\t\t: 'border-transparent hover:bg-muted/50'\n\t\t\t}`}\n\t\t\ttitle=\"Settings\"\n\t\t>\n\t\t\t<Settings className=\"w-5 h-5 text-muted-foreground mx-auto\" />\n\t\t</button>\n\t);\n});\n",
160
159
  "import { memo, useState } from 'react';\nimport {\n\tGlobe,\n\tChevronRight,\n\tLoader2,\n\tAlertCircle,\n\tCopy,\n\tCheck,\n\tExternalLink,\n\tClock,\n} from 'lucide-react';\nimport { QRCodeSVG } from 'qrcode.react';\nimport { Button } from '../ui/Button';\nimport { useTunnelStore } from '../../stores/tunnelStore';\nimport {\n\tuseStartTunnel,\n\tuseStopTunnel,\n\tuseTunnelStream,\n\tuseTunnelStatus,\n} from '../../hooks/useTunnel';\nimport { openUrl } from '../../lib/open-url';\n\nfunction truncateUrl(url: string): string {\n\ttry {\n\t\tconst parsed = new URL(url);\n\t\tconst host = parsed.hostname;\n\t\tif (host.length > 24) {\n\t\t\treturn `${host.slice(0, 12)}...${host.slice(-8)}`;\n\t\t}\n\t\treturn host;\n\t} catch {\n\t\treturn url.length > 24 ? `${url.slice(0, 12)}...${url.slice(-8)}` : url;\n\t}\n}\n\nexport const TunnelSidebar = memo(function TunnelSidebar() {\n\tconst isExpanded = useTunnelStore((s) => s.isExpanded);\n\tconst collapseSidebar = useTunnelStore((s) => s.collapseSidebar);\n\tconst status = useTunnelStore((s) => s.status);\n\tconst url = useTunnelStore((s) => s.url);\n\tconst error = useTunnelStore((s) => s.error);\n\tconst progress = useTunnelStore((s) => s.progress);\n\n\tconst startTunnel = useStartTunnel();\n\tconst stopTunnel = useStopTunnel();\n\tconst [copied, setCopied] = useState(false);\n\n\tuseTunnelStatus();\n\tuseTunnelStream();\n\n\tconst handleCopyUrl = async () => {\n\t\tif (url) {\n\t\t\tawait navigator.clipboard.writeText(url);\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 2000);\n\t\t}\n\t};\n\n\tconst handleStart = () => {\n\t\tstartTunnel.mutate();\n\t};\n\n\tconst handleStop = () => {\n\t\tstopTunnel.mutate();\n\t};\n\n\tif (!isExpanded) return null;\n\n\treturn (\n\t\t<div className=\"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full\">\n\t\t\t<div className=\"h-14 flex items-center justify-between px-3 border-b border-border\">\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Globe className=\"w-4 h-4 text-muted-foreground\" />\n\t\t\t\t\t<span className=\"font-medium text-sm\">Remote Access</span>\n\t\t\t\t</div>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\tonClick={collapseSidebar}\n\t\t\t\t\ttitle=\"Close sidebar\"\n\t\t\t\t>\n\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t</Button>\n\t\t\t</div>\n\n\t\t\t<div className=\"flex-1 overflow-y-auto p-4\">\n\t\t\t\t{status === 'idle' && (\n\t\t\t\t\t<div className=\"flex flex-col items-center justify-center h-full text-center\">\n\t\t\t\t\t\t<Globe className=\"w-12 h-12 text-muted-foreground/30 mb-4\" />\n\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">Access from anywhere</h3>\n\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mb-6 max-w-[200px]\">\n\t\t\t\t\t\t\tStart a secure tunnel to access otto from your phone or another\n\t\t\t\t\t\t\tdevice.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleStart}\n\t\t\t\t\t\t\tdisabled={startTunnel.isPending}\n\t\t\t\t\t\t\tclassName=\"px-4 py-2 bg-primary text-primary-foreground rounded-md text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{startTunnel.isPending ? 'Starting...' : 'Start Tunnel'}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{status === 'starting' && (\n\t\t\t\t\t<div className=\"flex flex-col items-center justify-center h-full text-center\">\n\t\t\t\t\t\t<Loader2 className=\"w-8 h-8 text-primary animate-spin mb-4\" />\n\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">Setting up...</h3>\n\t\t\t\t\t\t{progress && (\n\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground max-w-[220px] break-words\">\n\t\t\t\t\t\t\t\t{progress}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{status === 'connected' && url && (\n\t\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-2 mb-4\">\n\t\t\t\t\t\t\t<div className=\"w-2 h-2 rounded-full bg-green-500 animate-pulse\" />\n\t\t\t\t\t\t\t<span className=\"text-xs font-medium text-green-600\">\n\t\t\t\t\t\t\t\tConnected\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"flex justify-center pb-4\">\n\t\t\t\t\t\t\t<div className=\"p-3 bg-white rounded-lg\">\n\t\t\t\t\t\t\t\t<QRCodeSVG\n\t\t\t\t\t\t\t\t\tvalue={url}\n\t\t\t\t\t\t\t\t\tsize={160}\n\t\t\t\t\t\t\t\t\tlevel=\"M\"\n\t\t\t\t\t\t\t\t\tincludeMargin={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mb-4 text-center\">\n\t\t\t\t\t\t\tScan with your phone camera\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<div className=\"flex items-center justify-between text-sm mb-4\">\n\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">URL</span>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={handleCopyUrl}\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 font-mono text-foreground hover:text-muted-foreground transition-colors\"\n\t\t\t\t\t\t\t\ttitle=\"Copy URL\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{truncateUrl(url)}\n\t\t\t\t\t\t\t\t{copied ? (\n\t\t\t\t\t\t\t\t\t<Check className=\"w-3 h-3 text-green-500\" />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<Copy className=\"w-3 h-3 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => openUrl(url)}\n\t\t\t\t\t\t\tclassName=\"flex items-center justify-center gap-2 px-4 py-2 border border-border rounded-md text-sm hover:bg-muted transition-colors mb-3\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ExternalLink className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t\t\tOpen in browser\n\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleStop}\n\t\t\t\t\t\t\tdisabled={stopTunnel.isPending}\n\t\t\t\t\t\t\tclassName=\"w-full px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{stopTunnel.isPending ? 'Stopping...' : 'Stop Tunnel'}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{status === 'error' && (\n\t\t\t\t\t<div className=\"flex flex-col items-center justify-center h-full text-center\">\n\t\t\t\t\t\t{error?.includes('Rate limited') ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Clock className=\"w-8 h-8 text-yellow-500 mb-4\" />\n\t\t\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">Rate Limited</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mb-6 max-w-[220px]\">\n\t\t\t\t\t\t\t\t\tCloudflare limits anonymous tunnel requests. Please wait 5-10\n\t\t\t\t\t\t\t\t\tminutes before trying again.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<AlertCircle className=\"w-8 h-8 text-destructive mb-4\" />\n\t\t\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">Connection failed</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mb-6 max-w-[200px]\">\n\t\t\t\t\t\t\t\t\t{error || 'Unable to establish tunnel connection.'}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleStart}\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\tstartTunnel.isPending || error?.includes('Rate limited')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclassName=\"px-4 py-2 bg-primary text-primary-foreground rounded-md text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50\"\n\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\terror?.includes('Rate limited')\n\t\t\t\t\t\t\t\t\t? 'Wait 5-10 minutes'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{error?.includes('Rate limited')\n\t\t\t\t\t\t\t\t? 'Wait & Try Again'\n\t\t\t\t\t\t\t\t: 'Try Again'}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n",
@@ -177,7 +176,7 @@
177
176
  "import { memo, useEffect, useState, useRef } from 'react';\nimport {\n\tCopy,\n\tCheck,\n\tCreditCard,\n\tLoader2,\n\tX,\n\tKey,\n\tExternalLink,\n\tArrowRight,\n\tRefreshCw,\n} from 'lucide-react';\nimport { QRCodeSVG } from 'qrcode.react';\nimport { ProviderLogo } from '../../common/ProviderLogo';\nimport type { AuthStatus } from '../../../stores/onboardingStore';\nimport { useSetuStore } from '../../../stores/setuStore';\nimport { useSetuBalance } from '../../../hooks/useSetuBalance';\nimport { openUrl } from '../../../lib/open-url';\n\ninterface ProviderSetupStepProps {\n\tauthStatus: AuthStatus;\n\tonSetupWallet: () => Promise<unknown>;\n\tonImportWallet: (privateKey: string) => Promise<unknown>;\n\tonAddProvider: (provider: string, apiKey: string) => Promise<unknown>;\n\tonRemoveProvider: (provider: string) => Promise<unknown>;\n\tonStartOAuth: (provider: string, mode?: string) => Window | null;\n\tonStartOAuthManual: (\n\t\tprovider: string,\n\t\tmode?: string,\n\t) => Promise<{ popup: Window | null; sessionId: string }>;\n\tonExchangeOAuthCode: (\n\t\tprovider: string,\n\t\tcode: string,\n\t\tsessionId: string,\n\t) => Promise<boolean>;\n\tonOpenTopup: () => void;\n\tonNext: () => void;\n\tmanageMode?: boolean;\n\tonClose?: () => void;\n\thideHeader?: boolean;\n\tonStartCopilotDeviceFlow?: () => Promise<{\n\t\tsessionId: string;\n\t\tuserCode: string;\n\t\tverificationUri: string;\n\t\tinterval: number;\n\t}>;\n\tonPollCopilotDeviceFlow?: (\n\t\tsessionId: string,\n\t) => Promise<{ status: 'complete' | 'pending' | 'error'; error?: string }>;\n\tonGetCopilotAuthMethods?: () => Promise<{\n\t\toauth: boolean;\n\t\ttoken: boolean;\n\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t}>;\n\tonSaveCopilotToken?: (token: string) => Promise<{\n\t\tsuccess: boolean;\n\t\tprovider: string;\n\t\tsource: 'token';\n\t\tmodelCount: number;\n\t\thasGpt52Codex: boolean;\n\t\tsampleModels: string[];\n\t}>;\n\tonImportCopilotTokenFromGh?: () => Promise<{\n\t\tsuccess: boolean;\n\t\tprovider: string;\n\t\tsource: 'gh';\n\t\tmodelCount: number;\n\t\thasGpt52Codex: boolean;\n\t\tsampleModels: string[];\n\t}>;\n\tonGetCopilotDiagnostics?: () => Promise<{\n\t\ttokenSources: Array<{\n\t\t\tsource: 'env' | 'stored';\n\t\t\tconfigured: boolean;\n\t\t\tmodelCount?: number;\n\t\t\thasGpt52Codex?: boolean;\n\t\t\trestrictedByOrgPolicy?: boolean;\n\t\t\trestrictedOrg?: string;\n\t\t\terror?: string;\n\t\t}>;\n\t\tmethods: {\n\t\t\toauth: boolean;\n\t\t\ttoken: boolean;\n\t\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t\t};\n\t}>;\n}\n\nexport const ProviderSetupStep = memo(function ProviderSetupStep({\n\tauthStatus,\n\tonSetupWallet,\n\tonImportWallet,\n\tonAddProvider,\n\tonRemoveProvider,\n\tonStartOAuth,\n\tonStartOAuthManual,\n\tonExchangeOAuthCode,\n\tonOpenTopup,\n\tonNext,\n\tmanageMode = false,\n\tonClose,\n\thideHeader = false,\n\tonStartCopilotDeviceFlow,\n\tonPollCopilotDeviceFlow,\n\tonGetCopilotAuthMethods,\n\tonSaveCopilotToken,\n\tonImportCopilotTokenFromGh,\n\tonGetCopilotDiagnostics,\n}: ProviderSetupStepProps) {\n\tconst [copied, setCopied] = useState(false);\n\tconst [isSettingUp, setIsSettingUp] = useState(false);\n\tconst [isImportModalOpen, setIsImportModalOpen] = useState(false);\n\tconst [importPrivateKey, setImportPrivateKey] = useState('');\n\tconst [isImportingWallet, setIsImportingWallet] = useState(false);\n\tconst [importWalletError, setImportWalletError] = useState<string | null>(\n\t\tnull,\n\t);\n\tconst [addingProvider, setAddingProvider] = useState<string | null>(null);\n\tconst [apiKeyInput, setApiKeyInput] = useState('');\n\tconst [removingProvider, setRemovingProvider] = useState<string | null>(null);\n\tconst [confirmingDelete, setConfirmingDelete] = useState<string | null>(null);\n\tconst [oauthSession, setOauthSession] = useState<{\n\t\tprovider: string;\n\t\tsessionId: string | null;\n\t\tmode?: string;\n\t} | null>(null);\n\tconst [oauthCodeInput, setOauthCodeInput] = useState('');\n\tconst [isExchangingCode, setIsExchangingCode] = useState(false);\n\tconst [isOpeningPopup, setIsOpeningPopup] = useState(false);\n\tconst [copilotDevice, setCopilotDevice] = useState<{\n\t\tsessionId: string;\n\t\tuserCode: string;\n\t\tverificationUri: string;\n\t\tinterval: number;\n\t} | null>(null);\n\tconst [copilotPolling, setCopilotPolling] = useState(false);\n\tconst [copilotError, setCopilotError] = useState<string | null>(null);\n\tconst [copilotAuthMode, setCopilotAuthMode] = useState<'oauth' | 'token'>(\n\t\t'oauth',\n\t);\n\tconst [copilotTokenInput, setCopilotTokenInput] = useState('');\n\tconst [copilotTokenSaving, setCopilotTokenSaving] = useState(false);\n\tconst [copilotGhImporting, setCopilotGhImporting] = useState(false);\n\tconst [copilotAuthMethods, setCopilotAuthMethods] = useState<{\n\t\toauth: boolean;\n\t\ttoken: boolean;\n\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t} | null>(null);\n\tconst [copilotDiagnostics, setCopilotDiagnostics] = useState<{\n\t\ttokenSources: Array<{\n\t\t\tsource: 'env' | 'stored';\n\t\t\tconfigured: boolean;\n\t\t\tmodelCount?: number;\n\t\t\thasGpt52Codex?: boolean;\n\t\t\trestrictedByOrgPolicy?: boolean;\n\t\t\trestrictedOrg?: string;\n\t\t\terror?: string;\n\t\t}>;\n\t} | null>(null);\n\tconst [copilotCodeCopied, setCopilotCodeCopied] = useState(false);\n\tconst [copilotModalOpen, setCopilotModalOpen] = useState(false);\n\tconst [copilotLoading, setCopilotLoading] = useState(false);\n\tconst copilotPollRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n\tconst copilotCancelledRef = useRef(false);\n\tconst copilotPollFnRef = useRef(onPollCopilotDeviceFlow);\n\tcopilotPollFnRef.current = onPollCopilotDeviceFlow;\n\tconst balance = useSetuStore((s) => s.balance);\n\tconst usdcBalance = useSetuStore((s) => s.usdcBalance);\n\tconst payg = useSetuStore((s) => s.payg);\n\tconst subscription = useSetuStore((s) => s.subscription);\n\tconst isBalanceLoading = useSetuStore((s) => s.isLoading);\n\tconst apiKeyInputRef = useRef<HTMLInputElement>(null);\n\tconst oauthCodeInputRef = useRef<HTMLInputElement>(null);\n\tconst importPrivateKeyRef = useRef<HTMLTextAreaElement>(null);\n\tconst isTopupModalOpen = useSetuStore((s) => s.isTopupModalOpen);\n\tconst prevTopupModalOpen = useRef(false);\n\tconst { fetchBalance } = useSetuBalance('setu');\n\tconst effectivePayg = payg?.effectiveSpendableUsd ?? balance ?? 0;\n\tconst setuStatusLabel = subscription?.active\n\t\t? `GO ${(subscription.creditsRemaining ?? 0).toFixed(1)} credits`\n\t\t: `$${effectivePayg.toFixed(2)}`;\n\n\t// Refetch balance when topup modal closes\n\tuseEffect(() => {\n\t\tif (prevTopupModalOpen.current && !isTopupModalOpen) {\n\t\t\t// Modal was closed, refresh balance\n\t\t\tfetchBalance();\n\t\t}\n\t\tprevTopupModalOpen.current = isTopupModalOpen;\n\t}, [isTopupModalOpen, fetchBalance]);\n\n\tuseEffect(() => {\n\t\tif (!authStatus.setu.configured && !isSettingUp) {\n\t\t\tsetIsSettingUp(true);\n\t\t\tonSetupWallet().finally(() => setIsSettingUp(false));\n\t\t}\n\t}, [authStatus.setu.configured, onSetupWallet, isSettingUp]);\n\n\tuseEffect(() => {\n\t\tif (addingProvider && apiKeyInputRef.current) {\n\t\t\tapiKeyInputRef.current.focus();\n\t\t}\n\t}, [addingProvider]);\n\n\tuseEffect(() => {\n\t\tif (oauthSession && oauthCodeInputRef.current) {\n\t\t\toauthCodeInputRef.current.focus();\n\t\t}\n\t}, [oauthSession]);\n\n\tuseEffect(() => {\n\t\tif (isImportModalOpen && importPrivateKeyRef.current) {\n\t\t\timportPrivateKeyRef.current.focus();\n\t\t}\n\t}, [isImportModalOpen]);\n\n\tuseEffect(() => {\n\t\tif (!copilotPolling || !copilotDevice || !copilotPollFnRef.current) return;\n\t\tcopilotCancelledRef.current = false;\n\t\tconst pollIntervalMs = Math.max(\n\t\t\t(copilotDevice.interval || 5) * 1000 + 2000,\n\t\t\t7000,\n\t\t);\n\t\tconst schedulePoll = () => {\n\t\t\tcopilotPollRef.current = setTimeout(async () => {\n\t\t\t\tif (copilotCancelledRef.current) return;\n\t\t\t\ttry {\n\t\t\t\t\tconst pollFn = copilotPollFnRef.current;\n\t\t\t\t\tif (!pollFn) return;\n\t\t\t\t\tconst result = await pollFn(copilotDevice.sessionId);\n\t\t\t\t\tif (copilotCancelledRef.current) return;\n\t\t\t\t\tif (result.status === 'complete') {\n\t\t\t\t\t\tsetCopilotDevice(null);\n\t\t\t\t\t\tsetCopilotPolling(false);\n\t\t\t\t\t\tsetCopilotError(null);\n\t\t\t\t\t\tsetCopilotModalOpen(false);\n\t\t\t\t\t} else if (result.status === 'error') {\n\t\t\t\t\t\tsetCopilotError(result.error || 'Authorization failed');\n\t\t\t\t\t\tsetCopilotPolling(false);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tschedulePoll();\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\tif (!copilotCancelledRef.current) schedulePoll();\n\t\t\t\t}\n\t\t\t}, pollIntervalMs);\n\t\t};\n\t\tschedulePoll();\n\t\tconst timeout = setTimeout(() => {\n\t\t\tsetCopilotPolling(false);\n\t\t\tsetCopilotError('Authorization timed out. Please try again.');\n\t\t}, 300000);\n\t\treturn () => {\n\t\t\tcopilotCancelledRef.current = true;\n\t\t\tif (copilotPollRef.current) clearTimeout(copilotPollRef.current);\n\t\t\tclearTimeout(timeout);\n\t\t};\n\t}, [copilotPolling, copilotDevice]);\n\n\tconst handleCopy = async () => {\n\t\tif (authStatus.setu.publicKey) {\n\t\t\tawait navigator.clipboard.writeText(authStatus.setu.publicKey);\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 2000);\n\t\t}\n\t};\n\n\tconst truncateAddress = (addr: string) =>\n\t\t`${addr.slice(0, 8)}...${addr.slice(-6)}`;\n\n\tconst handleAddProvider = async (providerId: string) => {\n\t\tif (!apiKeyInput.trim()) return;\n\t\ttry {\n\t\t\tawait onAddProvider(providerId, apiKeyInput.trim());\n\t\t\tsetAddingProvider(null);\n\t\t\tsetApiKeyInput('');\n\t\t} catch {}\n\t};\n\n\tconst handleRemoveProvider = async (providerId: string) => {\n\t\tif (confirmingDelete === providerId) {\n\t\t\tsetRemovingProvider(providerId);\n\t\t\ttry {\n\t\t\t\tawait onRemoveProvider(providerId);\n\t\t\t} finally {\n\t\t\t\tsetRemovingProvider(null);\n\t\t\t\tsetConfirmingDelete(null);\n\t\t\t}\n\t\t} else {\n\t\t\tsetConfirmingDelete(providerId);\n\t\t}\n\t};\n\n\tconst handleCancelDelete = () => {\n\t\tsetConfirmingDelete(null);\n\t};\n\n\tconst startCopilotDeviceAuthorization = () => {\n\t\tif (!onStartCopilotDeviceFlow) return;\n\t\tsetCopilotLoading(true);\n\t\tsetCopilotError(null);\n\t\tonStartCopilotDeviceFlow()\n\t\t\t.then((data) => {\n\t\t\t\tsetCopilotDevice(data);\n\t\t\t\tsetCopilotLoading(false);\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tsetCopilotError(\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to start device flow',\n\t\t\t\t);\n\t\t\t\tsetCopilotLoading(false);\n\t\t\t});\n\t};\n\n\tconst handleStartOAuth = async (providerId: string, mode?: string) => {\n\t\tif (providerId === 'anthropic') {\n\t\t\tsetOauthSession({ provider: providerId, sessionId: null, mode });\n\t\t} else if (providerId === 'copilot') {\n\t\t\tsetCopilotAuthMode('oauth');\n\t\t\tsetCopilotTokenInput('');\n\t\t\tsetCopilotDiagnostics(null);\n\t\t\tsetCopilotAuthMethods(null);\n\t\t\tsetCopilotPolling(false);\n\t\t\tsetCopilotDevice(null);\n\t\t\tsetCopilotError(null);\n\t\t\tsetCopilotModalOpen(true);\n\n\t\t\tif (onGetCopilotAuthMethods) {\n\t\t\t\tonGetCopilotAuthMethods()\n\t\t\t\t\t.then((methods) => setCopilotAuthMethods(methods))\n\t\t\t\t\t.catch(() => {});\n\t\t\t}\n\n\t\t\tif (onGetCopilotDiagnostics) {\n\t\t\t\tonGetCopilotDiagnostics()\n\t\t\t\t\t.then((diagnostics) => setCopilotDiagnostics(diagnostics))\n\t\t\t\t\t.catch(() => {});\n\t\t\t}\n\n\t\t\tstartCopilotDeviceAuthorization();\n\t\t} else {\n\t\t\tonStartOAuth(providerId, mode);\n\t\t}\n\t};\n\n\tconst handleOpenPopup = async () => {\n\t\tif (!oauthSession) return;\n\t\tsetIsOpeningPopup(true);\n\t\ttry {\n\t\t\tconst { sessionId } = await onStartOAuthManual(\n\t\t\t\toauthSession.provider,\n\t\t\t\toauthSession.mode,\n\t\t\t);\n\t\t\tsetOauthSession({ ...oauthSession, sessionId });\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to start OAuth:', err);\n\t\t}\n\t\tsetIsOpeningPopup(false);\n\t};\n\n\tconst handleExchangeCode = async () => {\n\t\tif (!oauthSession || !oauthSession.sessionId || !oauthCodeInput.trim())\n\t\t\treturn;\n\t\tsetIsExchangingCode(true);\n\t\ttry {\n\t\t\tawait onExchangeOAuthCode(\n\t\t\t\toauthSession.provider,\n\t\t\t\toauthCodeInput.trim(),\n\t\t\t\toauthSession.sessionId,\n\t\t\t);\n\t\t\tsetOauthSession(null);\n\t\t\tsetOauthCodeInput('');\n\t\t} catch {}\n\t\tsetIsExchangingCode(false);\n\t};\n\n\tconst handleCancelOAuth = () => {\n\t\tsetOauthSession(null);\n\t\tsetOauthCodeInput('');\n\t};\n\n\tconst handleCopilotOpenGithub = () => {\n\t\tif (!copilotDevice) return;\n\t\topenUrl(copilotDevice.verificationUri);\n\t\tsetCopilotPolling(true);\n\t};\n\n\tconst handleCopilotSwitchMode = (mode: 'oauth' | 'token') => {\n\t\tsetCopilotAuthMode(mode);\n\t\tsetCopilotError(null);\n\t\tif (mode === 'token') {\n\t\t\tsetCopilotPolling(false);\n\t\t}\n\t\tif (mode === 'oauth' && !copilotDevice && !copilotLoading) {\n\t\t\tstartCopilotDeviceAuthorization();\n\t\t}\n\t};\n\n\tconst handleCopilotSaveToken = async () => {\n\t\tif (!copilotTokenInput.trim() || !onSaveCopilotToken) return;\n\t\tsetCopilotTokenSaving(true);\n\t\tsetCopilotError(null);\n\t\ttry {\n\t\t\tawait onSaveCopilotToken(copilotTokenInput.trim());\n\t\t\thandleCancelCopilot();\n\t\t} catch (err) {\n\t\t\tsetCopilotError(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to save Copilot token',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetCopilotTokenSaving(false);\n\t\t}\n\t};\n\n\tconst handleCopilotImportFromGh = async () => {\n\t\tif (!onImportCopilotTokenFromGh) return;\n\t\tsetCopilotGhImporting(true);\n\t\tsetCopilotError(null);\n\t\ttry {\n\t\t\tawait onImportCopilotTokenFromGh();\n\t\t\thandleCancelCopilot();\n\t\t} catch (err) {\n\t\t\tsetCopilotError(\n\t\t\t\terr instanceof Error\n\t\t\t\t\t? err.message\n\t\t\t\t\t: 'Failed to import token from GitHub CLI',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetCopilotGhImporting(false);\n\t\t}\n\t};\n\n\tconst handleCopilotCopyCode = async () => {\n\t\tif (!copilotDevice) return;\n\t\tawait navigator.clipboard.writeText(copilotDevice.userCode);\n\t\tsetCopilotCodeCopied(true);\n\t\tsetTimeout(() => setCopilotCodeCopied(false), 2000);\n\t};\n\n\tconst handleCancelCopilot = () => {\n\t\tsetCopilotDevice(null);\n\t\tsetCopilotPolling(false);\n\t\tsetCopilotError(null);\n\t\tsetCopilotTokenInput('');\n\t\tsetCopilotTokenSaving(false);\n\t\tsetCopilotGhImporting(false);\n\t\tsetCopilotAuthMode('oauth');\n\t\tsetCopilotCodeCopied(false);\n\t\tsetCopilotModalOpen(false);\n\t\tsetCopilotLoading(false);\n\t\tcopilotCancelledRef.current = true;\n\t\tif (copilotPollRef.current) {\n\t\t\tclearTimeout(copilotPollRef.current);\n\t\t\tcopilotPollRef.current = undefined;\n\t\t}\n\t};\n\n\tconst handleOpenImportWallet = () => {\n\t\tsetImportWalletError(null);\n\t\tsetImportPrivateKey('');\n\t\tsetIsImportModalOpen(true);\n\t};\n\n\tconst handleCloseImportWallet = () => {\n\t\tif (isImportingWallet) return;\n\t\tsetIsImportModalOpen(false);\n\t\tsetImportWalletError(null);\n\t\tsetImportPrivateKey('');\n\t};\n\n\tconst handleImportWallet = async () => {\n\t\tif (!importPrivateKey.trim() || isImportingWallet) return;\n\t\tsetIsImportingWallet(true);\n\t\tsetImportWalletError(null);\n\t\ttry {\n\t\t\tawait onImportWallet(importPrivateKey.trim());\n\t\t\tsetIsImportModalOpen(false);\n\t\t\tsetImportPrivateKey('');\n\t\t\tfetchBalance();\n\t\t} catch (err) {\n\t\t\tsetImportWalletError(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to import wallet',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetIsImportingWallet(false);\n\t\t}\n\t};\n\n\tconst configuredProviders = Object.entries(authStatus.providers).filter(\n\t\t([id, info]) => info.configured && id !== 'setu',\n\t);\n\tconst unconfiguredProviders = Object.entries(authStatus.providers).filter(\n\t\t([id, info]) => !info.configured && id !== 'setu',\n\t);\n\n\treturn (\n\t\t<div className=\"min-h-screen flex flex-col\">\n\t\t\t{!hideHeader && (\n\t\t\t\t<div className=\"flex items-center justify-between px-4 sm:px-6 py-4 border-b border-border\">\n\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t<ProviderLogo provider=\"setu\" size={24} />\n\t\t\t\t\t\t<span className=\"font-semibold text-foreground\">otto</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{!manageMode && (\n\t\t\t\t\t\t<div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t<span className=\"w-2 h-2 rounded-full bg-green-500\" />\n\t\t\t\t\t\t\tStep 1 of 2\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* Main Content */}\n\t\t\t<div\n\t\t\t\tclassName={`flex-1 px-4 sm:px-6 lg:px-12 pb-32 ${hideHeader ? 'pt-8 sm:pt-10 lg:pt-14' : 'pt-6 sm:pt-8 lg:pt-12'}`}\n\t\t\t>\n\t\t\t\t<div className=\"max-w-7xl mx-auto\">\n\t\t\t\t\t{/* Header */}\n\t\t\t\t\t<div className=\"mb-10\">\n\t\t\t\t\t\t<h1 className=\"text-2xl sm:text-3xl lg:text-4xl font-semibold text-foreground mb-3\">\n\t\t\t\t\t\t\t{manageMode ? 'Manage Providers' : 'Welcome to otto'}\n\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t<p className=\"text-lg text-muted-foreground max-w-2xl\">\n\t\t\t\t\t\t\t{manageMode\n\t\t\t\t\t\t\t\t? 'Add or remove AI providers. Your changes are saved automatically.'\n\t\t\t\t\t\t\t\t: 'Setu is your default AI provider. GO plan credits are applied automatically.'}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"grid grid-cols-1 sm:grid-cols-3 gap-6 sm:gap-8\">\n\t\t\t\t\t\t{/* Left Column - Wallet */}\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div className=\"bg-card rounded-2xl border border-border p-5\">\n\t\t\t\t\t\t\t\t{authStatus.setu.configured && authStatus.setu.publicKey ? (\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-col h-full\">\n\t\t\t\t\t\t\t\t\t\t{/* Setu Default Provider Badge */}\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 px-3 py-2 bg-green-500/10 border border-green-500/20 rounded-lg\">\n\t\t\t\t\t\t\t\t\t\t\t<ProviderLogo provider=\"setu\" size={16} />\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-sm font-medium text-green-600 dark:text-green-400\">\n\t\t\t\t\t\t\t\t\t\t\t\tSetu\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs text-green-600/60 dark:text-green-500/60 ml-auto\">\n\t\t\t\t\t\t\t\t\t\t\t\tDefault Provider\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex justify-center py-4 mt-4\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"bg-white p-2 rounded-lg\">\n\t\t\t\t\t\t\t\t\t\t\t\t<QRCodeSVG\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={authStatus.setu.publicKey}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsize={140}\n\t\t\t\t\t\t\t\t\t\t\t\t\tlevel=\"M\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2 mt-4\">\n\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={handleCopy}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full flex items-center justify-center gap-2 px-3 py-2 bg-muted hover:bg-muted/80 rounded-lg text-xs font-mono text-muted-foreground transition-colors\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{truncateAddress(authStatus.setu.publicKey)}\n\t\t\t\t\t\t\t\t\t\t\t\t{copied ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Check className=\"w-3.5 h-3.5 text-green-500\" />\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Copy className=\"w-3.5 h-3.5 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-1.5 px-3 py-2 bg-muted/50 rounded-lg\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1.5 min-w-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"font-mono text-xs sm:text-sm text-foreground truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{setuStatusLabel}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={fetchBalance}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={isBalanceLoading}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"p-0.5 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<RefreshCw\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`w-3 h-3 ${isBalanceLoading ? 'animate-spin' : ''}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] text-muted-foreground font-mono\">\n\t\t\t\t\t\t\t\t\t\t\t\t\tBalance ${(balance ?? 0).toFixed(2)} • On-chain{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{(usdcBalance ?? 0).toFixed(2)} USDC\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t{/* OR Divider */}\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-4 py-4\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex-1 h-px bg-border\" />\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\tOR\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex-1 h-px bg-border\" />\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={onOpenTopup}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-primary text-primary-foreground rounded-lg text-sm font-medium hover:bg-primary/90 transition-colors\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<CreditCard className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t\t\tTop Up with Card\n\t\t\t\t\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={handleOpenImportWallet}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full mt-2 flex items-center justify-center gap-2 px-4 py-2.5 border border-border text-foreground rounded-lg text-sm font-medium hover:bg-muted/50 transition-colors\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Key className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t\t\tImport Wallet\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-center py-16\">\n\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-8 h-8 animate-spin text-muted-foreground\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Right Column - Providers */}\n\t\t\t\t\t\t<div className=\"sm:col-span-2 space-y-6\">\n\t\t\t\t\t\t\t{/* Connected Providers */}\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between mb-4\">\n\t\t\t\t\t\t\t\t\t<h2 className=\"font-semibold text-foreground\">\n\t\t\t\t\t\t\t\t\t\tConnected Providers\n\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t{configuredProviders.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t<span className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t{configuredProviders.length} active\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t{configuredProviders.length === 0 ? (\n\t\t\t\t\t\t\t\t\t<div className=\"text-sm text-muted-foreground py-4\">\n\t\t\t\t\t\t\t\t\t\tNo providers connected yet. Add one below.\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t\t\t\t\t{configuredProviders.map(([id, info]) => (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tkey={id}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={`flex items-center gap-2 pl-3 pr-2 py-2 rounded-full transition-all duration-200 ${\n\t\t\t\t\t\t\t\t\t\t\t\t\tconfirmingDelete === id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-destructive/10 border border-destructive/30'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'group bg-green-500/10 border border-green-500/20'\n\t\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<ProviderLogo provider={id} size={16} />\n\t\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`text-sm font-medium transition-colors ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconfirmingDelete === id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'text-destructive'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'text-green-600 dark:text-green-400'\n\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{info.label}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t{confirmingDelete !== id && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs text-green-600/60 dark:text-green-500/60\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{info.type === 'oauth' ? 'OAuth' : 'API'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{confirmingDelete === id ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1 ml-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs text-destructive/80 mr-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tRemove?\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleRemoveProvider(id)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={removingProvider === id}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"px-2 py-0.5 text-xs bg-destructive text-destructive-foreground rounded hover:bg-destructive/90 transition-colors disabled:opacity-50\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{removingProvider === id ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Yes'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={handleCancelDelete}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"px-2 py-0.5 text-xs bg-muted text-muted-foreground rounded hover:bg-muted/80 transition-colors\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNo\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\tid !== 'setu' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleRemoveProvider(id)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"ml-1 p-1 text-green-600/40 dark:text-green-500/40 hover:text-green-600/80 dark:hover:text-green-500/80 opacity-0 group-hover:opacity-100 transition-opacity\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<X className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{/* Add Providers */}\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<h2 className=\"font-semibold text-foreground mb-4\">\n\t\t\t\t\t\t\t\t\tAdd Providers\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<div className=\"grid grid-cols-1 sm:grid-cols-2 gap-3 items-start\">\n\t\t\t\t\t\t\t\t\t{unconfiguredProviders.map(([id, info]) => (\n\t\t\t\t\t\t\t\t\t\t<div key={id}>\n\t\t\t\t\t\t\t\t\t\t\t{addingProvider === id ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 p-3 bg-card border border-ring rounded-xl overflow-hidden\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ProviderLogo provider={id} size={18} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tref={apiKeyInputRef}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={apiKeyInput}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => setApiKeyInput(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={`${info.label} API key...`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 min-w-0 bg-transparent text-sm outline-none placeholder:text-muted-foreground text-foreground\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === 'Enter') handleAddProvider(id);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === 'Escape') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetAddingProvider(null);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetApiKeyInput('');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleAddProvider(id)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!apiKeyInput.trim()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"shrink-0 px-3 py-1.5 bg-primary text-primary-foreground text-sm font-medium rounded-lg disabled:opacity-50\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAdd\n\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetAddingProvider(null);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetApiKeyInput('');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"shrink-0 p-1.5 text-muted-foreground hover:text-foreground\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<X className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between p-3 bg-card border border-border hover:border-border/80 rounded-xl transition-colors gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-3 min-w-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ProviderLogo provider={id} size={20} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"min-w-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"font-medium text-foreground truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{info.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{info.modelCount} models\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{id !== 'copilot' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => setAddingProvider(id)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Key className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAPI\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{info.supportsOAuth && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleStartOAuth(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid === 'anthropic' ? 'max' : undefined,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ExternalLink className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{id === 'anthropic'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Pro'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: id === 'copilot'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Login'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'OAuth'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{/* Bottom Bar */}\n\t\t\t<div className=\"fixed bottom-0 left-0 right-0 px-4 sm:px-6 py-4 border-t border-border bg-background\">\n\t\t\t\t<div className=\"max-w-7xl mx-auto flex items-center justify-between\">\n\t\t\t\t\t{!manageMode && (\n\t\t\t\t\t\t<div className=\"text-xs sm:text-sm text-muted-foreground hidden sm:block\">\n\t\t\t\t\t\t\tYou can add more providers later in settings\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{manageMode ? (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={onClose}\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors ml-auto\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tDone\n\t\t\t\t\t\t</button>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={onNext}\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tContinue\n\t\t\t\t\t\t\t<ArrowRight className=\"w-4 h-4\" />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{isImportModalOpen && (\n\t\t\t\t<div className=\"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm\">\n\t\t\t\t\t<div className=\"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-3 p-6 border-b border-border\">\n\t\t\t\t\t\t\t<ProviderLogo provider=\"setu\" size={24} />\n\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold\">Import Setu Wallet</h3>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"p-6\">\n\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground mb-4\">\n\t\t\t\t\t\t\t\tPaste your base58 private key to replace the current wallet used\n\t\t\t\t\t\t\t\tfor Setu.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\tref={importPrivateKeyRef}\n\t\t\t\t\t\t\t\tvalue={importPrivateKey}\n\t\t\t\t\t\t\t\tonChange={(e) => setImportPrivateKey(e.target.value)}\n\t\t\t\t\t\t\t\tplaceholder=\"Enter private key\"\n\t\t\t\t\t\t\t\tclassName=\"w-full min-h-[110px] px-4 py-3 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-xs resize-y\"\n\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\tif ((e.metaKey || e.ctrlKey) && e.key === 'Enter') {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\thandleImportWallet();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (e.key === 'Escape') handleCloseImportWallet();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{importWalletError && (\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-red-500 mt-3\">{importWalletError}</p>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<div className=\"flex gap-3 mt-5\">\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={handleCloseImportWallet}\n\t\t\t\t\t\t\t\t\tdisabled={isImportingWallet}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors disabled:opacity-50\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={handleImportWallet}\n\t\t\t\t\t\t\t\t\tdisabled={!importPrivateKey.trim() || isImportingWallet}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{isImportingWallet ? (\n\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t'Import Wallet'\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* OAuth Code Modal */}\n\t\t\t{oauthSession && (\n\t\t\t\t<div className=\"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm\">\n\t\t\t\t\t<div className=\"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-3 p-6 border-b border-border\">\n\t\t\t\t\t\t\t<ProviderLogo provider={oauthSession.provider} size={24} />\n\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold\">\n\t\t\t\t\t\t\t\tConnect{' '}\n\t\t\t\t\t\t\t\t{authStatus.providers[oauthSession.provider]?.label ||\n\t\t\t\t\t\t\t\t\toauthSession.provider}\n\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{!oauthSession.sessionId ? (\n\t\t\t\t\t\t\t<div className=\"p-6\">\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground mb-6\">\n\t\t\t\t\t\t\t\t\tYou'll be redirected to{' '}\n\t\t\t\t\t\t\t\t\t{authStatus.providers[oauthSession.provider]?.label ||\n\t\t\t\t\t\t\t\t\t\toauthSession.provider}{' '}\n\t\t\t\t\t\t\t\t\tto authorize access. After authorizing, copy the code and\n\t\t\t\t\t\t\t\t\treturn here.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t<div className=\"flex gap-3\">\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleCancelOAuth}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleOpenPopup}\n\t\t\t\t\t\t\t\t\t\tdisabled={isOpeningPopup}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{isOpeningPopup ? (\n\t\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\tContinue\n\t\t\t\t\t\t\t\t\t\t\t\t<ExternalLink className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className=\"p-6\">\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground mb-4\">\n\t\t\t\t\t\t\t\t\tPaste the authorization code:\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\tref={oauthCodeInputRef}\n\t\t\t\t\t\t\t\t\tvalue={oauthCodeInput}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setOauthCodeInput(e.target.value)}\n\t\t\t\t\t\t\t\t\tplaceholder=\"Paste code here...\"\n\t\t\t\t\t\t\t\t\tclassName=\"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors mb-4 font-mono text-sm\"\n\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\tif (e.key === 'Enter') handleExchangeCode();\n\t\t\t\t\t\t\t\t\t\tif (e.key === 'Escape') handleCancelOAuth();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<div className=\"flex gap-3\">\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleCancelOAuth}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleExchangeCode}\n\t\t\t\t\t\t\t\t\t\tdisabled={!oauthCodeInput.trim() || isExchangingCode}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{isExchangingCode ? (\n\t\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t'Connect'\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* Copilot Device Flow Modal */}\n\t\t\t{copilotModalOpen && (\n\t\t\t\t<div className=\"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm\">\n\t\t\t\t\t<div className=\"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-3 p-6 border-b border-border\">\n\t\t\t\t\t\t\t<ProviderLogo provider=\"copilot\" size={24} />\n\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold\">Connect GitHub Copilot</h3>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"p-6 space-y-4\">\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={() => handleCopilotSwitchMode('oauth')}\n\t\t\t\t\t\t\t\t\tclassName={`px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${\n\t\t\t\t\t\t\t\t\t\tcopilotAuthMode === 'oauth'\n\t\t\t\t\t\t\t\t\t\t\t? 'bg-foreground text-background'\n\t\t\t\t\t\t\t\t\t\t\t: 'bg-muted text-muted-foreground hover:text-foreground'\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tOAuth\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={() => handleCopilotSwitchMode('token')}\n\t\t\t\t\t\t\t\t\tclassName={`px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${\n\t\t\t\t\t\t\t\t\t\tcopilotAuthMode === 'token'\n\t\t\t\t\t\t\t\t\t\t\t? 'bg-foreground text-background'\n\t\t\t\t\t\t\t\t\t\t\t: 'bg-muted text-muted-foreground hover:text-foreground'\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tToken\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{copilotAuthMode === 'oauth' ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\tEnter this code on GitHub to authorize:\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-center gap-3\">\n\t\t\t\t\t\t\t\t\t\t{copilotLoading ? (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"bg-muted px-6 py-3 rounded-lg animate-pulse\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"h-9 w-48 bg-muted-foreground/20 rounded\" />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) : copilotDevice ? (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t<code className=\"text-3xl font-mono font-bold tracking-widest text-foreground bg-muted px-6 py-3 rounded-lg select-all\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{copilotDevice.userCode}\n\t\t\t\t\t\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={handleCopilotCopyCode}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"p-2 text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{copilotCodeCopied ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Check className=\"w-5 h-5 text-green-500\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Copy className=\"w-5 h-5\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\tPaste a GitHub token with Copilot model access.\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\t\t\t\tvalue={copilotTokenInput}\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => setCopilotTokenInput(e.target.value)}\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"gho_...\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{copilotAuthMethods?.ghImport.available && (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={handleCopilotImportFromGh}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={copilotGhImporting}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-10 px-4 bg-muted text-foreground rounded-lg font-medium hover:bg-muted/80 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{copilotGhImporting ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t'Import from GH CLI'\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{copilotAuthMethods?.ghImport.available &&\n\t\t\t\t\t\t\t\t\t\t!copilotAuthMethods.ghImport.authenticated && (\n\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t\t{copilotAuthMethods.ghImport.reason ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t'GitHub CLI is not authenticated'}\n\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{copilotAuthMethods &&\n\t\t\t\t\t\t\t\t\t\t!copilotAuthMethods.ghImport.available &&\n\t\t\t\t\t\t\t\t\t\tcopilotAuthMethods.ghImport.reason && (\n\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t\t{copilotAuthMethods.ghImport.reason}\n\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{copilotDiagnostics &&\n\t\t\t\t\t\t\t\tcopilotDiagnostics.tokenSources.length > 0 && (\n\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground space-y-1\">\n\t\t\t\t\t\t\t\t\t\t{copilotDiagnostics.tokenSources.map((source) => (\n\t\t\t\t\t\t\t\t\t\t\t<div key={source.source}>\n\t\t\t\t\t\t\t\t\t\t\t\t{source.source}:{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t{source.configured\n\t\t\t\t\t\t\t\t\t\t\t\t\t? source.error\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? source.error\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: `${source.modelCount ?? 0} models visible`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'not configured'}\n\t\t\t\t\t\t\t\t\t\t\t\t{source.restrictedByOrgPolicy && source.restrictedOrg\n\t\t\t\t\t\t\t\t\t\t\t\t\t? ` (org restriction: ${source.restrictedOrg})`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{copilotError && (\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-red-500 text-center\">\n\t\t\t\t\t\t\t\t\t{copilotError}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{copilotPolling && copilotAuthMode === 'oauth' && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-center gap-2 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t\t\tWaiting for authorization...\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t<div className=\"flex gap-3\">\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={handleCancelCopilot}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t{copilotAuthMode === 'oauth' ? (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleCopilotOpenGithub}\n\t\t\t\t\t\t\t\t\t\tdisabled={copilotPolling || copilotLoading}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{copilotPolling || copilotLoading ? (\n\t\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\tOpen GitHub\n\t\t\t\t\t\t\t\t\t\t\t\t<ExternalLink className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleCopilotSaveToken}\n\t\t\t\t\t\t\t\t\t\tdisabled={!copilotTokenInput.trim() || copilotTokenSaving}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{copilotTokenSaving ? (\n\t\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t'Save token'\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n",
178
177
  "import { memo, useState, useEffect, useId, useRef } from 'react';\nimport { Loader2, ArrowLeft, Sparkles, ChevronDown } from 'lucide-react';\nimport { apiClient } from '../../../lib/api-client';\nimport type { AuthStatus } from '../../../stores/onboardingStore';\nimport { ProviderLogo } from '../../common/ProviderLogo';\n\ninterface DefaultsStepProps {\n\tauthStatus: AuthStatus;\n\tonComplete: () => Promise<void>;\n\tonBack: () => void;\n\thideHeader?: boolean;\n}\n\ninterface ConfigData {\n\tagents: string[];\n\tproviders: string[];\n\tdefaults: {\n\t\tagent: string;\n\t\tprovider: string;\n\t\tmodel: string;\n\t\ttoolApproval?: 'auto' | 'dangerous' | 'all';\n\t\tguidedMode?: boolean;\n\t\tfullWidthContent?: boolean;\n\t};\n}\n\ntype AllModels = Record<\n\tstring,\n\t{\n\t\tlabel: string;\n\t\tmodels: Array<{ id: string; label: string }>;\n\t}\n>;\n\nexport const DefaultsStep = memo(function DefaultsStep({\n\tauthStatus,\n\tonComplete,\n\tonBack,\n\thideHeader = false,\n}: DefaultsStepProps) {\n\tconst [config, setConfig] = useState<ConfigData | null>(null);\n\tconst [allModels, setAllModels] = useState<AllModels | null>(null);\n\tconst [isLoading, setIsLoading] = useState(true);\n\tconst [isSaving, setIsSaving] = useState(false);\n\n\tconst [selectedProvider, setSelectedProvider] = useState('setu');\n\tconst [selectedModel, setSelectedModel] = useState('kimi-k2.5');\n\tconst [selectedAgent, setSelectedAgent] = useState(\n\t\tauthStatus.defaults.agent || 'build',\n\t);\n\tconst [selectedApproval, setSelectedApproval] = useState<\n\t\t'auto' | 'dangerous' | 'all'\n\t>(authStatus.defaults.toolApproval || 'dangerous');\n\tconst [guidedMode, setGuidedMode] = useState(false);\n\tconst hasUserChangedProvider = useRef(false);\n\n\tconst providerId = useId();\n\tconst modelId = useId();\n\tconst agentId = useId();\n\tconst approvalId = useId();\n\n\tuseEffect(() => {\n\t\tconst loadConfig = async () => {\n\t\t\ttry {\n\t\t\t\tconst [configData, modelsData] = await Promise.all([\n\t\t\t\t\tapiClient.getConfig(),\n\t\t\t\t\tapiClient.getAllModels(),\n\t\t\t\t]);\n\t\t\t\tsetConfig(configData);\n\t\t\t\tsetAllModels(modelsData);\n\t\t\t\tconst cfgProvider = configData?.defaults?.provider || 'setu';\n\t\t\t\tconst cfgModel = configData?.defaults?.model || 'kimi-k2.5';\n\t\t\t\tconst providerHasModels = modelsData?.[cfgProvider]?.models?.length > 0;\n\t\t\t\tconst resolvedProvider = providerHasModels ? cfgProvider : 'setu';\n\t\t\t\tconst resolvedModel =\n\t\t\t\t\tproviderHasModels &&\n\t\t\t\t\tmodelsData[cfgProvider].models.some(\n\t\t\t\t\t\t(m: { id: string }) => m.id === cfgModel,\n\t\t\t\t\t)\n\t\t\t\t\t\t? cfgModel\n\t\t\t\t\t\t: modelsData?.[resolvedProvider]?.models?.[0]?.id || 'kimi-k2.5';\n\t\t\t\tsetSelectedProvider(resolvedProvider);\n\t\t\t\tsetSelectedModel(resolvedModel);\n\t\t\t\tif (configData?.defaults?.agent) {\n\t\t\t\t\tsetSelectedAgent(configData.defaults.agent);\n\t\t\t\t}\n\t\t\t\tif (configData?.defaults?.toolApproval) {\n\t\t\t\t\tsetSelectedApproval(configData.defaults.toolApproval);\n\t\t\t\t}\n\t\t\t\tif (configData?.defaults?.guidedMode) {\n\t\t\t\t\tsetGuidedMode(configData.defaults.guidedMode);\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t} finally {\n\t\t\t\tsetIsLoading(false);\n\t\t\t}\n\t\t};\n\t\tloadConfig();\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (config?.agents?.length) {\n\t\t\tconst agents = config.agents;\n\t\t\tif (!selectedAgent || !agents.includes(selectedAgent)) {\n\t\t\t\tsetSelectedAgent(agents.includes('build') ? 'build' : agents[0]);\n\t\t\t}\n\t\t}\n\t}, [config, selectedAgent]);\n\n\tuseEffect(() => {\n\t\tif (allModels?.[selectedProvider] && hasUserChangedProvider.current) {\n\t\t\tconst providerModels = allModels[selectedProvider];\n\t\t\tif (!providerModels.models.some((m) => m.id === selectedModel)) {\n\t\t\t\tsetSelectedModel(providerModels.models[0]?.id || '');\n\t\t\t}\n\t\t}\n\t}, [selectedProvider, allModels, selectedModel]);\n\n\tconst handleFinish = async () => {\n\t\tsetIsSaving(true);\n\t\ttry {\n\t\t\tawait apiClient.updateDefaults({\n\t\t\t\tprovider: selectedProvider,\n\t\t\t\tmodel: selectedModel,\n\t\t\t\tagent: selectedAgent,\n\t\t\t\ttoolApproval: selectedApproval,\n\t\t\t\tguidedMode,\n\t\t\t\tfullWidthContent: config?.defaults?.fullWidthContent ?? true,\n\t\t\t\tscope: 'global',\n\t\t\t});\n\t\t\tawait onComplete();\n\t\t} catch {\n\t\t} finally {\n\t\t\tsetIsSaving(false);\n\t\t}\n\t};\n\n\tif (isLoading) {\n\t\treturn (\n\t\t\t<div className=\"min-h-screen flex items-center justify-center\">\n\t\t\t\t<Loader2 className=\"w-8 h-8 animate-spin text-muted-foreground\" />\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst availableProviders = config?.providers.filter(\n\t\t(p) =>\n\t\t\t(authStatus.providers[p]?.configured || p === 'setu') &&\n\t\t\tallModels?.[p]?.models?.length > 0,\n\t) || ['setu'];\n\n\tconst currentProviderModels = allModels?.[selectedProvider]?.models || [];\n\n\treturn (\n\t\t<div className=\"min-h-screen flex flex-col\">\n\t\t\t{!hideHeader && (\n\t\t\t\t<div className=\"flex items-center justify-between px-6 py-4 border-b border-border\">\n\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t<ProviderLogo provider=\"setu\" size={24} />\n\t\t\t\t\t\t<span className=\"font-semibold text-foreground\">otto</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n\t\t\t\t\t\t<span className=\"w-2 h-2 rounded-full bg-blue-500\" />\n\t\t\t\t\t\tStep 2 of 2\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* Main Content */}\n\t\t\t<div\n\t\t\t\tclassName={`flex-1 px-4 sm:px-6 lg:px-12 pb-32 ${hideHeader ? 'pt-8 sm:pt-10 lg:pt-14' : 'pt-6 sm:pt-8 lg:pt-12'}`}\n\t\t\t>\n\t\t\t\t<div className=\"max-w-7xl mx-auto\">\n\t\t\t\t\t{/* Header */}\n\t\t\t\t\t<div className=\"mb-10\">\n\t\t\t\t\t\t<h1 className=\"text-3xl lg:text-4xl font-semibold text-foreground mb-3\">\n\t\t\t\t\t\t\tConfigure Defaults\n\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t<p className=\"text-lg text-muted-foreground\">\n\t\t\t\t\t\t\tSet your preferences. You can change these anytime in settings.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Form */}\n\t\t\t\t\t<div className=\"grid grid-cols-1 md:grid-cols-2 gap-6\">\n\t\t\t\t\t\t{/* Provider */}\n\t\t\t\t\t\t<div className=\"md:col-span-2\">\n\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\thtmlFor={providerId}\n\t\t\t\t\t\t\t\tclassName=\"block text-sm font-medium text-muted-foreground mb-2\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tDefault Provider\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\tid={providerId}\n\t\t\t\t\t\t\t\t\tvalue={selectedProvider}\n\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\thasUserChangedProvider.current = true;\n\t\t\t\t\t\t\t\t\t\tsetSelectedProvider(e.target.value);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName=\"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{availableProviders.map((p) => (\n\t\t\t\t\t\t\t\t\t\t<option key={p} value={p}>\n\t\t\t\t\t\t\t\t\t\t\t{authStatus.providers[p]?.label || p}\n\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t<ChevronDown className=\"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Model */}\n\t\t\t\t\t\t<div className=\"md:col-span-2\">\n\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\thtmlFor={modelId}\n\t\t\t\t\t\t\t\tclassName=\"block text-sm font-medium text-muted-foreground mb-2\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tDefault Model\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\tid={modelId}\n\t\t\t\t\t\t\t\t\tvalue={selectedModel}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setSelectedModel(e.target.value)}\n\t\t\t\t\t\t\t\t\tclassName=\"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{currentProviderModels.map((m) => (\n\t\t\t\t\t\t\t\t\t\t<option key={m.id} value={m.id}>\n\t\t\t\t\t\t\t\t\t\t\t{m.label || m.id}\n\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t<ChevronDown className=\"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Agent */}\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\thtmlFor={agentId}\n\t\t\t\t\t\t\t\tclassName=\"block text-sm font-medium text-muted-foreground mb-2\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tDefault Agent\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\tid={agentId}\n\t\t\t\t\t\t\t\t\tvalue={selectedAgent}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setSelectedAgent(e.target.value)}\n\t\t\t\t\t\t\t\t\tclassName=\"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{(config?.agents || ['build']).map((a) => (\n\t\t\t\t\t\t\t\t\t\t<option key={a} value={a}>\n\t\t\t\t\t\t\t\t\t\t\t{a}\n\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t<ChevronDown className=\"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Tool Approval */}\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\thtmlFor={approvalId}\n\t\t\t\t\t\t\t\tclassName=\"block text-sm font-medium text-muted-foreground mb-2\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tTool Approval\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\tid={approvalId}\n\t\t\t\t\t\t\t\t\tvalue={selectedApproval}\n\t\t\t\t\t\t\t\t\tonChange={(e) =>\n\t\t\t\t\t\t\t\t\t\tsetSelectedApproval(\n\t\t\t\t\t\t\t\t\t\t\te.target.value as 'auto' | 'dangerous' | 'all',\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName=\"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<option value=\"auto\">Auto - run without asking</option>\n\t\t\t\t\t\t\t\t\t<option value=\"dangerous\">\n\t\t\t\t\t\t\t\t\t\tDangerous - approve writes only\n\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t<option value=\"all\">All - approve every tool</option>\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t<ChevronDown className=\"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<p className=\"mt-2 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\tControls when tool executions need approval\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Guided Mode */}\n\t\t\t\t\t\t<div className=\"md:col-span-2\">\n\t\t\t\t\t\t\t<div className=\"flex items-center justify-between px-4 py-3 bg-card border border-border rounded-xl\">\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<span className=\"text-sm font-medium text-foreground\">\n\t\t\t\t\t\t\t\t\t\tGuided Mode\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground mt-0.5\">\n\t\t\t\t\t\t\t\t\t\tAI will run commands and manage services for you instead of\n\t\t\t\t\t\t\t\t\t\tgiving instructions\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\t\t\taria-checked={guidedMode}\n\t\t\t\t\t\t\t\t\tonClick={() => setGuidedMode(!guidedMode)}\n\t\t\t\t\t\t\t\t\tclassName={`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${\n\t\t\t\t\t\t\t\t\t\tguidedMode ? 'bg-primary' : 'bg-muted'\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName={`inline-block h-4 w-4 transform rounded-full transition-transform ${\n\t\t\t\t\t\t\t\t\t\t\tguidedMode ? 'translate-x-6' : 'translate-x-1'\n\t\t\t\t\t\t\t\t\t\t} ${guidedMode ? 'bg-primary-foreground' : 'bg-foreground'}`}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{/* Bottom Bar */}\n\t\t\t<div className=\"fixed bottom-0 left-0 right-0 px-4 sm:px-6 py-4 border-t border-border bg-background\">\n\t\t\t\t<div className=\"max-w-7xl mx-auto flex items-center justify-between\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={onBack}\n\t\t\t\t\t\tclassName=\"flex items-center gap-2 px-4 py-3 text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ArrowLeft className=\"w-4 h-4\" />\n\t\t\t\t\t\tBack\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={handleFinish}\n\t\t\t\t\t\tdisabled={isSaving}\n\t\t\t\t\t\tclassName=\"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors disabled:opacity-50\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{isSaving ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t\tSetting up...\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\tStart Using otto\n\t\t\t\t\t\t\t\t<Sparkles className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n"
179
178
  ],
180
- "mappings": ";AAAA;AAAA;AAQO,IAAM,SAAS,WACrB,GAAG,YAAY,IAAI,UAAU,WAAW,OAAO,SAAS,SAAS,QAAQ;AAAA,EACxE,MAAM,aACL;AAAA,EAED,MAAM,WAAW;AAAA,IAChB,SAAS;AAAA,IACT,WACC;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,QAAQ;AAAA,IACb,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,MAAM;AAAA,EACP;AAAA,EAEA,uBACC,IAAC,UAAD;AAAA,IACC;AAAA,IACA,WAAW,GAAG,cAAc,SAAS,YAAY,MAAM,SAAS;AAAA,OAC5D;AAAA,GACL;AAAA,CAGH;AAEA,OAAO,cAAc;;ACrCrB,uBAAS;AAAA;AAKF,IAAM,OAAO,YACnB,GAAG,YAAY,IAAI,aAAa,SAAS,QAAQ;AAAA,EAChD,uBACC,KAME,OANF;AAAA,IACC;AAAA,IACA,WAAW,gEAAgE;AAAA,OACvE;AAAA,IAHL;AAAA,GAME;AAAA,CAGL;AAEA,KAAK,cAAc;;ACnBnB,uBAAS;AAAA;AAKF,IAAM,QAAQ,YACpB,GAAG,YAAY,OAAO,SAAS,QAAQ;AAAA,EACtC,uBACC,KAAC,SAAD;AAAA,IACC;AAAA,IACA,WAAW,oHAAoH;AAAA,OAC3H;AAAA,GACL;AAAA,CAGH;AAEA,MAAM,cAAc;;ACjBpB,uBAAS;AAAA;AAKF,IAAM,WAAW,YACvB,GAAG,YAAY,OAAO,SAAS,QAAQ;AAAA,EACtC,uBACC,KAAC,YAAD;AAAA,IACC;AAAA,IACA,WAAW,gIAAgI;AAAA,OACvI;AAAA,GACL;AAAA,CAGH;AAEA,SAAS,cAAc;;ACjBvB;;;ACAA;AAwBO,IAAM,uBAAuB,OAA0B,CAAC,SAAS;AAAA,EACvE,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS;AAAA,EACT,cAAc;AAAA,EACd,aAAa;AAAA,EACb,SAAS;AAAA,EACT,WAAW,MAAM;AAAA,EACjB,UAAU;AAAA,EAEV,kBAAkB,CAAC,YAClB,IAAI;AAAA,IACH,QAAQ;AAAA,IACR,OAAO,QAAQ,SAAS;AAAA,IACxB,SAAS,QAAQ;AAAA,IACjB,cAAc,QAAQ,gBAAgB;AAAA,IACtC,aAAa,QAAQ,eAAe;AAAA,IACpC,SAAS,QAAQ,WAAW;AAAA,IAC5B,WAAW,QAAQ;AAAA,IACnB,UAAU,QAAQ;AAAA,EACnB,CAAC;AAAA,EAEF,mBAAmB,MAClB,IAAI;AAAA,IACH,QAAQ;AAAA,IACR,WAAW,MAAM;AAAA,IACjB,UAAU;AAAA,EACX,CAAC;AACH,EAAE;;;ADlDF;AACA;AAAA;AAEO,SAAS,kBAAkB,GAAG;AAAA,EACpC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACG,qBAAqB;AAAA,EAEzB,OAAO,cAAc,mBAAmB,SAAS,KAAK;AAAA,EAEtD,UAAU,MAAM;AAAA,IACf,IAAI,CAAC,QAAQ;AAAA,MACZ,gBAAgB,KAAK;AAAA,IACtB;AAAA,KACE,CAAC,MAAM,CAAC;AAAA,EAEX,MAAM,gBAAgB,YAAY,YAAY;AAAA,IAC7C,gBAAgB,IAAI;AAAA,IACpB,IAAI;AAAA,MACH,MAAM,UAAU;AAAA,MAChB,kBAAkB;AAAA,MACjB,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,+BAA+B,KAAK;AAAA,MAClD,gBAAgB,KAAK;AAAA;AAAA,KAEpB,CAAC,WAAW,iBAAiB,CAAC;AAAA,EAEjC,MAAM,eAAe,YAAY,MAAM;AAAA,IACtC,WAAW;AAAA,IACX,kBAAkB;AAAA,KAChB,CAAC,UAAU,iBAAiB,CAAC;AAAA,EAEhC,MAAM,sBAAsB,CAAC,MAAwC;AAAA,IACpE,IAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC,cAAc;AAAA,MAClD,aAAa;AAAA,IACd;AAAA;AAAA,EAGD,UAAU,MAAM;AAAA,IACf,MAAM,eAAe,CAAC,MAAqB;AAAA,MAC1C,IAAI,UAAU,CAAC,cAAc;AAAA,QAC5B,MAAM,SAAS,EAAE;AAAA,QACjB,MAAM,YACL,OAAO,YAAY,WACnB,OAAO,YAAY,cACnB,OAAO;AAAA,QACR,IAAI,EAAE,QAAQ,YAAa,EAAE,QAAQ,OAAO,CAAC,WAAY;AAAA,UACxD,EAAE,eAAe;AAAA,UACjB,aAAa;AAAA,QACd;AAAA,QACA,IAAI,EAAE,QAAQ,SAAS;AAAA,UACtB,EAAE,eAAe;AAAA,UACjB,cAAc;AAAA,QACf;AAAA,MACD;AAAA;AAAA,IAGD,IAAI,QAAQ;AAAA,MACX,SAAS,iBAAiB,WAAW,YAAY;AAAA,MACjD,OAAO,MAAM,SAAS,oBAAoB,WAAW,YAAY;AAAA,IAClE;AAAA,KACE,CAAC,QAAQ,cAAc,eAAe,YAAY,CAAC;AAAA,EAEtD,IAAI,CAAC;AAAA,IAAQ,OAAO;AAAA,EAEpB,uBACC,KAkEE,OAlEF;AAAA,IACC,MAAK;AAAA,IACL,cAAW;AAAA,IACX,WAAU;AAAA,IACV,SAAS;AAAA,IACT,WAAW,CAAC,MAAM;AAAA,MACjB,MAAM,SAAS,EAAE;AAAA,MACjB,MAAM,YACL,OAAO,YAAY,WACnB,OAAO,YAAY,cACnB,OAAO;AAAA,MACR,KACE,EAAE,QAAQ,YAAa,EAAE,QAAQ,OAAO,CAAC,cAC1C,CAAC,cACA;AAAA,QACD,EAAE,eAAe;AAAA,QACjB,aAAa;AAAA,MACd;AAAA;AAAA,IAjBF,0BAoBC,KA6CE,OA7CF;AAAA,MAAK,WAAU;AAAA,MAAf,UA6CE;AAAA,wBA5CD,KAgBE,OAhBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAgBE;AAAA,4BAfD,KAKE,OALF;AAAA,cAAK,WAAU;AAAA,cAAf,UAKE;AAAA,gBAJA,YAAY,iCACZ,KAAC,aAAD;AAAA,kBAAa,WAAU;AAAA,iBAA2B;AAAA,gCAEnD,KAA+C,MAA/C;AAAA,kBAAI,WAAU;AAAA,kBAAd,UAAuC;AAAA,iBAAQ;AAAA;AAAA,aAC9C;AAAA,4BACF,KAQE,UARF;AAAA,cACC,MAAK;AAAA,cACL,SAAS;AAAA,cACT,UAAU;AAAA,cACV,WAAU;AAAA,cACV,cAAW;AAAA,cALZ,0BAOC,KAAC,GAAD;AAAA,gBAAG,WAAU;AAAA,eAAU;AAAA,aACtB;AAAA;AAAA,SACD;AAAA,wBAEF,KAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,KAAgD,KAAhD;AAAA,YAAG,WAAU;AAAA,YAAb,UAAsC;AAAA,WAAU;AAAA,SAC/C;AAAA,wBAEF,KAqBE,OArBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAqBE;AAAA,4BApBD,KAOE,UAPF;AAAA,cACC,MAAK;AAAA,cACL,SAAS;AAAA,cACT,UAAU;AAAA,cACV,WAAU;AAAA,cAJX,UAME;AAAA,aACA;AAAA,4BACF,KAWE,UAXF;AAAA,cACC,MAAK;AAAA,cACL,SAAS;AAAA,cACT,UAAU;AAAA,cACV,WAAW,+EACV,YAAY,gBACT,uEACA;AAAA,cAPL,UAUE,eAAe,kBAAkB;AAAA,aACjC;AAAA;AAAA,SACD;AAAA;AAAA,KACD;AAAA,GACD;AAAA;;AE9IJ,sBAAS,wBAAW;AACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACDA,mBAAS;AAwBT,IAAI,UAAU;AAEP,IAAM,gBAAgB,QAAmB,CAAC,SAAS;AAAA,EACzD,QAAQ,CAAC;AAAA,EACT,UAAU,CAAC,UAAU;AAAA,IACpB,MAAM,KAAK,SAAS,EAAE;AAAA,IACtB,IAAI,CAAC,WAAW;AAAA,MACf,QAAQ,CAAC,GAAG,MAAM,QAAQ,KAAK,OAAO,GAAG,CAAC;AAAA,IAC3C,EAAE;AAAA,IACF,OAAO;AAAA;AAAA,EAER,aAAa,CAAC,OACb,IAAI,CAAC,WAAW;AAAA,IACf,QAAQ,MAAM,OAAO,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;AAAA,EAC/C,EAAE;AAAA,EACH,aAAa,CAAC,IAAI,YACjB,IAAI,CAAC,WAAW;AAAA,IACf,QAAQ,MAAM,OAAO,IAAI,CAAC,MAAO,EAAE,OAAO,KAAK,KAAK,MAAM,QAAQ,IAAI,CAAE;AAAA,EACzE,EAAE;AAAA,EACH,aAAa,MAAM,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;AACtC,EAAE;AAEK,SAAS,KAAK,CACpB,SACA,OAAkB,WAClB,WAAW,MACV;AAAA,EACD,MAAM,KAAK,cAAc,SAAS,EAAE,SAAS,EAAE,SAAS,MAAM,SAAS,CAAC;AAAA,EACxE,IAAI,WAAW,GAAG;AAAA,IACjB,WAAW,MAAM;AAAA,MAChB,cAAc,SAAS,EAAE,YAAY,EAAE;AAAA,OACrC,QAAQ;AAAA,EACZ;AAAA,EACA,OAAO;AAAA;AAGR,MAAM,UAAU,CAAC,SAAiB,WAAW,SAC5C,MAAM,SAAS,WAAW,QAAQ;AACnC,MAAM,QAAQ,CAAC,SAAiB,WAAW,SAC1C,MAAM,SAAS,SAAS,QAAQ;AACjC,MAAM,OAAO,CAAC,SAAiB,WAAW,SACzC,MAAM,SAAS,WAAW,QAAQ;AACnC,MAAM,UAAU,CAAC,YAAoB,MAAM,SAAS,WAAW,CAAC;AAEhE,MAAM,oBAAoB,CACzB,SACA,QACA,WAAW,SACP;AAAA,EACJ,MAAM,KAAK,cAAc,SAAS,EAAE,SAAS;AAAA,IAC5C;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EACD,IAAI,WAAW,GAAG;AAAA,IACjB,WAAW,MAAM;AAAA,MAChB,cAAc,SAAS,EAAE,YAAY,EAAE;AAAA,OACrC,QAAQ;AAAA,EACZ;AAAA,EACA,OAAO;AAAA;;;ACpFD,SAAS,OAAO,CAAC,KAAa;AAAA,EACpC,IAAI,OAAO,SAAS,OAAO,KAAK;AAAA,IAC/B,OAAO,OAAO,YAAY,EAAE,MAAM,iBAAiB,IAAI,GAAG,GAAG;AAAA,EAC9D,EAAO;AAAA,IACN,OAAO,KAAK,KAAK,UAAU,qBAAqB;AAAA;AAAA;;;;AFWlD,IAAM,QAA4C;AAAA,EACjD,yBAAS,KAAC,YAAD;AAAA,IAAY,WAAU;AAAA,GAAU;AAAA,EACzC,yBAAS,KAAC,aAAD;AAAA,IAAa,WAAU;AAAA,GAAyB;AAAA,EACzD,uBAAO,KAAC,SAAD;AAAA,IAAS,WAAU;AAAA,GAAuB;AAAA,EACjD,yBAAS,KAAC,SAAD;AAAA,IAAS,WAAU;AAAA,GAAuB;AACpD;AAEA,SAAS,SAAS,GAAG,iBAA2B;AAAA,EAC/C,OAAO,WAAW,gBAAgB,UAAS,KAAK;AAAA,EAChD,MAAM,cAAc,cAAc,CAAC,MAAM,EAAE,WAAW;AAAA,EAEtD,WAAU,MAAM;AAAA,IACf,sBAAsB,MAAM,aAAa,IAAI,CAAC;AAAA,KAC5C,CAAC,CAAC;AAAA,EAEL,MAAM,gBAAgB,MAAM;AAAA,IAC3B,aAAa,KAAK;AAAA,IAClB,WAAW,MAAM,YAAY,OAAM,EAAE,GAAG,GAAG;AAAA;AAAA,EAG5C,uBAEC,MA0BE,OA1BF;AAAA,IACC,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,MAKR,YAAY,8BAA8B;AAAA;AAAA,IAE7C,SAAS;AAAA,IACT,MAAK;AAAA,IATN,UA0BE;AAAA,MAfA,MAAM,OAAM;AAAA,sBACb,KAA2D,QAA3D;AAAA,QAAM,WAAU;AAAA,QAAhB,UAA2C,OAAM;AAAA,OAAU;AAAA,MAC1D,OAAM,0BACN,MAUE,UAVF;AAAA,QACC,MAAK;AAAA,QACL,SAAS,CAAC,MAAM;AAAA,UACf,EAAE,gBAAgB;AAAA,UAClB,QAAQ,OAAM,QAAQ,IAAI;AAAA;AAAA,QAE3B,WAAU;AAAA,QANX,UAUE;AAAA,UAFA,OAAM,OAAO;AAAA,0BACd,KAAC,cAAD;AAAA,YAAc,WAAU;AAAA,WAAU;AAAA;AAAA,OACjC;AAAA;AAAA,GAEF;AAAA;AAIG,SAAS,OAAO,GAAG;AAAA,EACzB,MAAM,SAAS,cAAc,CAAC,MAAM,EAAE,MAAM;AAAA,EAE5C,IAAI,OAAO,WAAW;AAAA,IAAG,OAAO;AAAA,EAEhC,uBACC,KAIE,OAJF;AAAA,IAAK,WAAU;AAAA,IAAf,UACE,OAAO,IAAI,CAAC,2BACZ,KAAC,WAAD;AAAA,MAA0B,OAAO;AAAA,OAAjB,OAAM,EAAkB,CACxC;AAAA,GACA;AAAA;;AG7EJ,wBAAS,0BAAa;;;ACAtB,mBAAS;AAmBF,IAAM,uBAAuB,QAA0B,CAAC,SAAS;AAAA,EACvE,kBAAkB,CAAC;AAAA,EAEnB,oBAAoB,CAAC,aACpB,IAAI,CAAC,WAAW;AAAA,IACf,kBAAkB,CAAC,GAAG,MAAM,kBAAkB,QAAQ;AAAA,EACvD,EAAE;AAAA,EAEH,uBAAuB,CAAC,WACvB,IAAI,CAAC,WAAW;AAAA,IACf,kBAAkB,MAAM,iBAAiB,OACxC,CAAC,MAAM,EAAE,WAAW,MACrB;AAAA,EACD,EAAE;AAAA,EAEH,uBAAuB,CAAC,QAAQ,SAC/B,IAAI,CAAC,WAAW;AAAA,IACf,kBAAkB,MAAM,iBAAiB,IAAI,CAAC,MAC7C,EAAE,WAAW,SAAS,KAAK,GAAG,KAAK,IAAI,CACxC;AAAA,EACD,EAAE;AAAA,EAEH,uBAAuB,MAAM,IAAI,EAAE,kBAAkB,CAAC,EAAE,CAAC;AAAA,EAEzD,qBAAqB,CAAC,cAAc,IAAI,EAAE,kBAAkB,UAAU,CAAC;AACxE,EAAE;;;AD1CF,6BAAwB;AAAA;AAExB,IAAM,aAA8C;AAAA,EACnD,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AACX;AAOO,SAAS,kBAAkB;AAAA,EACjC;AAAA,EACA;AAAA,GAC2B;AAAA,EAC3B,QAAQ,kBAAkB,0BAA0B,qBAAqB;AAAA,EACzE,OAAO,cAAc,mBAAmB,UAAwB,IAAI;AAAA,EAEpE,MAAM,iBAAiB,aACtB,OAAO,QAAgB,aAAsB;AAAA,IAC5C,gBAAgB,MAAM;AAAA,IACtB,IAAI;AAAA,MACH,MAAM,WAAW,MAAM,MACtB,GAAG,uBAAuB,sBAC1B;AAAA,QACC,QAAQ;AAAA,QACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,QAC9C,MAAM,KAAK,UAAU,EAAE,QAAQ,SAAS,CAAC;AAAA,MAC1C,CACD;AAAA,MACA,IAAI,SAAS,IAAI;AAAA,QAChB,sBAAsB,MAAM;AAAA,MAC7B;AAAA,MACC,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,4BAA4B,KAAK;AAAA,cAC9C;AAAA,MACD,gBAAgB,IAAI;AAAA;AAAA,KAGtB,CAAC,SAAS,WAAW,qBAAqB,CAC3C;AAAA,EAEA,IAAI,iBAAiB,WAAW;AAAA,IAAG,OAAO;AAAA,EAE1C,MAAM,aAAa,CAAC,SAA0B;AAAA,IAC7C,IAAI,CAAC;AAAA,MAAM,OAAO;AAAA,IAClB,IAAI,OAAO,SAAS;AAAA,MAAU,OAAO;AAAA,IACrC,IAAI;AAAA,MACH,MAAM,MAAM,KAAK,UAAU,MAAM,MAAM,CAAC;AAAA,MACxC,OAAO,IAAI,SAAS,MAAM,GAAG,IAAI,MAAM,GAAG,GAAG,SAAS;AAAA,MACrD,MAAM;AAAA,MACP,OAAO,OAAO,IAAI;AAAA;AAAA;AAAA,EAIpB,uBACC,KAsDE,OAtDF;AAAA,IAAK,WAAU;AAAA,IAAf,UACE,iBAAiB,IAAI,CAAC,aAAa;AAAA,MACnC,MAAM,OAAO,WAAW,SAAS,aAAa;AAAA,MAC9C,MAAM,eAAe,iBAAiB,SAAS;AAAA,MAE/C,uBACC,MA6CE,OA7CF;AAAA,QAEC,WAAU;AAAA,QAFX,UA6CE;AAAA,0BAzCD,MAoBE,OApBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAoBE;AAAA,8BAnBD,KAEE,OAFF;AAAA,gBAAK,WAAU;AAAA,gBAAf,0BACC,KAAC,MAAD;AAAA,kBAAM,WAAU;AAAA,iBAAuB;AAAA,eACtC;AAAA,8BACF,MAeE,OAfF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAeE;AAAA,kCAdD,MAGE,MAHF;AAAA,oBAAI,WAAU;AAAA,oBAAd,UAGE;AAAA,sCAFD,KAAC,QAAD;AAAA,wBAAQ,WAAU;AAAA,uBAAuB;AAAA,sBAD1C;AAAA;AAAA,mBAGE;AAAA,kCACF,KAIE,KAJF;AAAA,oBAAG,WAAU;AAAA,oBAAb,0BACC,KAEE,QAFF;AAAA,sBAAM,WAAU;AAAA,sBAAhB,UACE,SAAS;AAAA,qBACT;AAAA,mBACD;AAAA,kBACD,SAAS,wBACT,KAEE,OAFF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UACE,WAAW,SAAS,IAAI;AAAA,mBACxB;AAAA;AAAA,eAEF;AAAA;AAAA,WACD;AAAA,0BACF,MAmBE,OAnBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAmBE;AAAA,8BAlBD,MAQE,UARF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS,MAAM,eAAe,SAAS,QAAQ,KAAK;AAAA,gBACpD,UAAU;AAAA,gBACV,WAAU;AAAA,gBAJX,UAQE;AAAA,kCAFD,KAAC,IAAD;AAAA,oBAAG,WAAU;AAAA,mBAAU;AAAA,kBANxB;AAAA;AAAA,eAQE;AAAA,8BACF,MAQE,UARF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS,MAAM,eAAe,SAAS,QAAQ,IAAI;AAAA,gBACnD,UAAU;AAAA,gBACV,WAAU;AAAA,gBAJX,UAQE;AAAA,kCAFD,KAAC,OAAD;AAAA,oBAAO,WAAU;AAAA,mBAAU;AAAA,kBAC1B,eAAe,iBAAiB;AAAA;AAAA,eAChC;AAAA;AAAA,WACD;AAAA;AAAA,SA3CG,SAAS,MA4Cb;AAAA,KAEH;AAAA,GACA;AAAA;;AEtHJ,8BAAe;;;ACAf,mBAAS;AACT;AAQO,IAAM,qBAAqB,QAAwB,EACzD,QACC,CAAC,KAAK,SAAS;AAAA,EACd,QAAQ,CAAC;AAAA,EACT,UAAU,CAAC,KAAK,UACf,IAAI,CAAC,WAAW;AAAA,IACf,QAAQ,KAAK,MAAM,SAAS,MAAM,MAAM;AAAA,EACzC,EAAE;AAAA,EACH,UAAU,CAAC,KAAK,iBAAiB,IAAI,EAAE,OAAO,QAAQ;AACvD,IACA;AAAA,EACC,MAAM;AACP,CACD,CACD;;;;ADXO,IAAM,eAAe,KAAK,SAAS,aAAY;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACqB;AAAA,EACrB,MAAM,UAAU,OAAsD,IAAI;AAAA,EAE1E,MAAM,kBAAkB,aACvB,CAAC,MAAwB;AAAA,IACxB,EAAE,eAAe;AAAA,IACjB,MAAM,eAAe,mBACnB,SAAS,EACT,SAAS,UAAU,YAAY;AAAA,IACjC,QAAQ,UAAU,EAAE,QAAQ,EAAE,SAAS,YAAY,aAAa;AAAA,IAEhE,MAAM,kBAAkB,CAAC,OAAmB;AAAA,MAC3C,IAAI,CAAC,QAAQ;AAAA,QAAS;AAAA,MACtB,MAAM,QAAQ,GAAG,UAAU,QAAQ,QAAQ;AAAA,MAC3C,MAAM,WACL,SAAS,UACN,QAAQ,QAAQ,aAAa,QAC7B,QAAQ,QAAQ,aAAa;AAAA,MACjC,MAAM,UAAU,KAAK,IAAI,KAAK,IAAI,UAAU,QAAQ,GAAG,QAAQ;AAAA,MAC/D,mBAAmB,SAAS,EAAE,SAAS,UAAU,OAAO;AAAA,MACxD,gBAAgB,OAAO;AAAA;AAAA,IAGxB,MAAM,gBAAgB,MAAM;AAAA,MAC3B,QAAQ,UAAU;AAAA,MAClB,SAAS,oBAAoB,aAAa,eAAe;AAAA,MACzD,SAAS,oBAAoB,WAAW,aAAa;AAAA,MACrD,SAAS,KAAK,MAAM,SAAS;AAAA,MAC7B,SAAS,KAAK,MAAM,aAAa;AAAA;AAAA,IAGlC,SAAS,iBAAiB,aAAa,eAAe;AAAA,IACtD,SAAS,iBAAiB,WAAW,aAAa;AAAA,IAClD,SAAS,KAAK,MAAM,SAAS;AAAA,IAC7B,SAAS,KAAK,MAAM,aAAa;AAAA,KAElC,CAAC,UAAU,MAAM,UAAU,UAAU,cAAc,aAAa,CACjE;AAAA,EAEA,uBAEC,KAAC,OAAD;AAAA,IACC,WAAW,wHACV,SAAS,UAAU,WAAW;AAAA,IAE/B,aAAa;AAAA,GACd;AAAA,CAED;;AEnED;AAAA,cACC;AAAA,YACA;AAAA,eACA;AAAA,iBACA;AAAA,UACA;AAAA,gBACA;AAAA;AAAA,aAEA;AAAA;AAID;AAAA;AAAA;AAAA,OAGC;AAAA;AAAA,WAEA;AAAA,cACA;AAAA;AAAA;AAAA;AAAA;;;AClBD,sBAAS;AACT;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0BA,SAAS,WAAW,CAAC,UAA8B;AAAA,EAClD,MAAM,MAAM,SAAS,MAAM,GAAG,EAAE,IAAI,GAAG,YAAY;AAAA,EAEnD,QAAQ;AAAA,SACF;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,SACA;AAAA,SACA;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,SACA;AAAA,MACJ,OAAO;AAAA;AAAA,MAEP,OAAO;AAAA;AAAA;AAIV,SAAS,gBAAgB,CACxB,UACA,iBACC;AAAA,EACD,MAAM,SAAS,gBAAgB,IAAI,QAAQ;AAAA,EAC3C,IAAI,CAAC,QAAQ;AAAA,IACZ,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,SAGF;AAAA,IACH,OAAO,EAAE,MAAM,MAAM,OAAO,SAAS,WAAW,iBAAiB;AAAA,IACjE,UAAU,EAAE,MAAM,QAAQ,OAAO,YAAY,WAAW,kBAAkB;AAAA,IAC1E,WAAW,EAAE,MAAM,MAAM,OAAO,aAAa,WAAW,gBAAgB;AAAA,EACzE;AAAA,EAEA,OACC,OAAM,WAAW;AAAA,IAChB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,WAAW;AAAA,EACZ;AAAA;AAIK,SAAS,gBAAgB;AAAA,EAC/B;AAAA,EACA,eAAe,CAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACyB;AAAA,EACzB,MAAM,kBAAkB,QACvB,MAAM,IAAI,IAAI,cAAc,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,GAChE,CAAC,YAAY,CACd;AAAA,EAEA,MAAM,OAAO,QACZ,MACC,IAAI,KACH,MAAM,IAAI,CAAC,OAAO;AAAA,IACjB,MAAM;AAAA,IACN,UAAU,EAAE,MAAM,GAAG,EAAE,IAAI,KAAK;AAAA,IAChC,YAAY,EAAE,QAAQ,YAAY,EAAE;AAAA,EACrC,EAAE,GACF;AAAA,IACC,MAAM;AAAA,MACL,EAAE,MAAM,YAAY,QAAQ,EAAE;AAAA,MAC9B,EAAE,MAAM,cAAc,QAAQ,IAAI;AAAA,MAClC,EAAE,MAAM,QAAQ,QAAQ,EAAE;AAAA,IAC3B;AAAA,IACA,WAAW;AAAA,IACX,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,cAAc;AAAA,EACf,CACD,GACD,CAAC,KAAK,CACP;AAAA,EAEA,MAAM,UAAU,QAAQ,MAAM;AAAA,IAC7B,IAAI,CAAC,OAAO;AAAA,MACX,OAAO,MAAM,MAAM,GAAG,EAAE;AAAA,IACzB;AAAA,IACA,MAAM,kBAAkB,MAAM,QAAQ,YAAY,EAAE;AAAA,IACpD,MAAM,gBAAgB,KAAK,OAAO,eAAe;AAAA,IAEjD,cAAc,KAAK,CAAC,GAAG,MAAM;AAAA,MAC5B,MAAM,SAAS,EAAE,SAAS;AAAA,MAC1B,MAAM,SAAS,EAAE,SAAS;AAAA,MAC1B,MAAM,YAAY,KAAK,IAAI,SAAS,MAAM;AAAA,MAC1C,IAAI,YAAY,MAAM;AAAA,QACrB,MAAM,WAAW,gBAAgB,IAAI,EAAE,KAAK,IAAI;AAAA,QAChD,MAAM,WAAW,gBAAgB,IAAI,EAAE,KAAK,IAAI;AAAA,QAChD,IAAI,YAAY,CAAC;AAAA,UAAU,OAAO;AAAA,QAClC,IAAI,CAAC,YAAY;AAAA,UAAU,OAAO;AAAA,MACnC;AAAA,MACA,OAAO,SAAS;AAAA,KAChB;AAAA,IAED,OAAO,cAAc,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI;AAAA,KACtD,CAAC,MAAM,OAAO,OAAO,eAAe,CAAC;AAAA,EAExC,WAAU,MAAM;AAAA,IACf,MAAM,UAAU,SAAS,eAAe,aAAa,eAAe;AAAA,IACpE,SAAS,eAAe,EAAE,OAAO,UAAU,CAAC;AAAA,KAC1C,CAAC,aAAa,CAAC;AAAA,EAElB,WAAU,MAAM;AAAA,IACf,cAAc,QAAQ,cAAc;AAAA,KAClC,CAAC,SAAS,eAAe,aAAa,CAAC;AAAA,EAE1C,WAAU,MAAM;AAAA,IACf,MAAM,qBAAqB,CAAC,MAAkB;AAAA,MAC7C,MAAM,SAAS,EAAE;AAAA,MACjB,IAAI,CAAC,OAAO,QAAQ,2BAA2B,GAAG;AAAA,QACjD,QAAQ;AAAA,MACT;AAAA;AAAA,IAED,SAAS,iBAAiB,aAAa,kBAAkB;AAAA,IACzD,OAAO,MAAM,SAAS,oBAAoB,aAAa,kBAAkB;AAAA,KACvE,CAAC,OAAO,CAAC;AAAA,EAEZ,IAAI,QAAQ,WAAW,GAAG;AAAA,IACzB,uBACC,KAKE,OALF;AAAA,MACC,2BAAuB;AAAA,MACvB,WAAU;AAAA,MAFX,0BAIC,KAAgE,QAAhE;AAAA,QAAM,WAAU;AAAA,QAAhB;AAAA,OAAgE;AAAA,KAC/D;AAAA,EAEJ;AAAA,EAEA,uBACC,KA0CE,OA1CF;AAAA,IACC,2BAAuB;AAAA,IACvB,WAAU;AAAA,IAFX,UAIE,QAAQ,IAAI,CAAC,UAAU,0BACvB,KAmCE,UAnCF;AAAA,MACC,MAAK;AAAA,MAEL,IAAI,aAAa;AAAA,MACjB,aAAa,CAAC,MAAM;AAAA,QACnB,EAAE,eAAe;AAAA,QACjB,SAAS,QAAQ;AAAA;AAAA,MAElB,WAAW,8CACV,UAAU,gBAAgB,cAAc;AAAA,MAT1C,0BAYC,MAsBE,OAtBF;AAAA,QAAK,WAAU;AAAA,QAAf,UAsBE;AAAA,WArBC,MAAM;AAAA,YACP,MAAM,OAAO,YAAY,QAAQ;AAAA,YACjC,uBACC,KAAC,MAAD;AAAA,cAAM,WAAU;AAAA,aAA8C;AAAA,aAE7D;AAAA,0BACH,KAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UACE;AAAA,WACA;AAAA,WACA,MAAM;AAAA,YACP,MAAM,SAAS,iBAAiB,UAAU,eAAe;AAAA,YACzD,OACC,0BACC,KAIE,QAJF;AAAA,cAAM,OAAO,OAAO;AAAA,cAApB,0BACC,KAAC,OAAO,MAAR;AAAA,gBACC,WAAW,6BAA6B,OAAO;AAAA,eAChD;AAAA,aACC;AAAA,aAGF;AAAA;AAAA,OACF;AAAA,OAhCG,QAiCJ,CACF;AAAA,GACA;AAAA;;;AC9OJ,sBAAS,uBAAW;;;ACApB;;;ACAA;AAAA,mBACC;AAAA,kBACA;AAAA,kBACA;AAAA,mBACA;AAAA,kBACA;AAAA,mBACA;AAAA,mBACA;AAAA,qBACA;AAAA,qBACA;AAAA,kBACA;AAAA;;;ACVD;;;ACOA,SAAS,iBAAiB,GAAW;AAAA,EAEpC,MAAM,SAAS,YAAY,KAAK;AAAA,EAChC,IAAI,QAAQ;AAAA,IACX,OAAO;AAAA,EACR;AAAA,EAGA,IAAI,OAAO,WAAW,aAAa;AAAA,IAClC,MAAM,MAAM;AAAA,IACZ,IAAI,IAAI,iBAAiB;AAAA,MACxB,OAAO,IAAI;AAAA,IACZ;AAAA,IACA,IAAI,IAAI,kBAAkB;AAAA,MACzB,OAAO,IAAI;AAAA,IACZ;AAAA,EACD;AAAA,EAGA,OAAO;AAAA;AAGD,SAAS,oBAAoB,GAAW;AAAA,EAC9C,OAAO,kBAAkB;AAAA;AAGnB,IAAM,eAAe,kBAAkB;AAEvC,IAAM,SAAS;AAAA,EACrB,YAAY;AACb;;;ADzBA,SAAS,gBAAgB,GAAwB;AAAA,EAChD,IAAI,OAAO,WAAW,eAAe,OAAO,OAAO,UAAU,YAAY;AAAA,IACxE,OAAO;AAAA,EACR;AAAA,EACA;AAAA;AAGM,SAAS,mBAAmB,CAAC,OAAwB;AAAA,EAC3D,IAAI,CAAC;AAAA,IAAO,OAAO;AAAA,EACnB,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO;AAAA,EACtC,IAAI,SAAS,OAAO,UAAU,UAAU;AAAA,IACvC,MAAM,SAAS;AAAA,IACf,IAAI,OAAO,SAAS,OAAO,OAAO,UAAU,UAAU;AAAA,MACrD,MAAM,aAAa,OAAO;AAAA,MAC1B,IAAI,OAAO,WAAW,YAAY;AAAA,QAAU,OAAO,WAAW;AAAA,IAC/D;AAAA,IACA,IAAI,OAAO,OAAO,UAAU;AAAA,MAAU,OAAO,OAAO;AAAA,IACpD,IAAI,OAAO,OAAO,YAAY;AAAA,MAAU,OAAO,OAAO;AAAA,IACtD,IAAI;AAAA,MACH,OAAO,KAAK,UAAU,KAAK;AAAA,MAC1B,MAAM;AAAA,MACP,OAAO;AAAA;AAAA,EAET;AAAA,EACA,OAAO;AAAA;AAGD,SAAS,kBAAkB,GAAG;AAAA,EACpC,MAAM,MAAM;AAAA,EACZ,MAAM,UAAU,IAAI,mBAAmB;AAAA,EACvC,OAAO,UAAU;AAAA,IAChB;AAAA,IACA,SAAS,iBAAiB;AAAA,EAC3B,CAAC;AAAA;AAGF,mBAAmB;AAEZ,SAAS,UAAU,GAAW;AAAA,EACpC,MAAM,MAAM;AAAA,EACZ,IAAI,IAAI;AAAA,IAAiB,OAAO,IAAI;AAAA,EACpC,OAAO;AAAA;AAGD,SAAS,cAAc,CAAC,YAAiC;AAAA,EAC/D,OAAO;AAAA,OACH;AAAA,IACH,OAAO,WAAW,SAAS;AAAA,IAC3B,WACC,OAAO,WAAW,cAAc,WAC7B,IAAI,KAAK,WAAW,SAAS,EAAE,QAAQ,IACvC,WAAW;AAAA,IACf,cACC,OAAO,WAAW,iBAAiB,WAChC,IAAI,KAAK,WAAW,YAAY,EAAE,QAAQ,IAC1C,WAAW;AAAA,EAChB;AAAA;AAGM,SAAS,cAAc,CAAC,YAAiC;AAAA,EAC/D,OAAO;AAAA,OACH;AAAA,IACH,WACC,OAAO,WAAW,cAAc,WAC7B,IAAI,KAAK,WAAW,SAAS,EAAE,QAAQ,IACvC,WAAW;AAAA,IACf,aAAa,WAAW,cACrB,OAAO,WAAW,gBAAgB,WACjC,IAAI,KAAK,WAAW,WAAW,EAAE,QAAQ,IACzC,WAAW,cACZ;AAAA,EACJ;AAAA;;;ADpDM,IAAM,gBAAgB;AAAA,OACtB,YAAW,GAAuB;AAAA,IACvC,MAAM,OAAO,MAAM,KAAK,gBAAgB,EAAE,OAAO,IAAI,CAAC;AAAA,IACtD,OAAO,KAAK;AAAA;AAAA,OAGP,gBAAe,CACpB,SAA8C,CAAC,GACvB;AAAA,IACxB,QAAQ,QAAQ,IAAI,SAAS,MAAM;AAAA,IACnC,MAAM,WAAW,MAAM,gBAAgB;AAAA,MACtC,OAAO,EAAE,OAAO,OAAO;AAAA,IACxB,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,MAAM,OAAO,SAAS;AAAA,IACtB,OAAO;AAAA,MACN,QAAQ,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,eAAe,CAAe,CAAC;AAAA,MACrE,SAAS,MAAM,WAAW;AAAA,MAC1B,YAAY,MAAM,cAAc;AAAA,IACjC;AAAA;AAAA,OAGK,cAAa,CAAC,MAA8C;AAAA,IACjE,MAAM,WAAW,MAAM,iBAAiB;AAAA,MACvC,MAAM;AAAA,IACP,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,IAAI,CAAC,SAAS;AAAA,MAAM,MAAM,IAAI,MAAM,sCAAsC;AAAA,IAC1E,OAAO,eAAe,SAAS,IAAI;AAAA;AAAA,OAG9B,cAAa,CAClB,WACA,MACmB;AAAA,IACnB,MAAM,WAAW,MAAM,iBAAiB;AAAA,MACvC,MAAM,EAAE,UAAU;AAAA,MAElB,MAAM;AAAA,IACP,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,eAAe,SAAS,IAAkB;AAAA;AAAA,OAG5C,cAAa,CAAC,WAAkD;AAAA,IACrE,MAAM,WAAW,MAAM,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAAA,IAC/D,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAAA,OAGX,aAAY,CAAC,WAAkD;AAAA,IACpE,MAAM,WAAW,MAAM,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAAA,IAC9D,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAAA,OAGX,aAAY,CACjB,WACA,YACwE;AAAA,IACxE,MAAM,WAAW,MAAM,gBAAgB;AAAA,MACtC,MAAM,EAAE,UAAU;AAAA,IACnB,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,yBAAyB;AAAA,IAC7D,OAAO,SAAS;AAAA;AAAA,OAOX,cAAa,CAAC,WAIjB;AAAA,IACF,MAAM,WAAW,MAAM,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAAA,IACjE,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,2BAA2B;AAAA,IAE/D,OAAO,SAAS;AAAA;AAAA,OAGX,gBAAe,CACpB,WACA,WAME;AAAA,IACF,MAAM,WAAW,MAAM,mBAAmB;AAAA,MACzC,MAAM,EAAE,WAAW,UAAU;AAAA,IAC9B,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,6BAA6B;AAAA,IAEjE,OAAO,SAAS;AAAA;AAAA,OAGX,YAAW,CAAC,WAAuC;AAAA,IACxD,MAAM,WAAW,MAAM,gBAAgB,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;AAAA,IAClE,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,QAAQ,SAAS,QAAQ,CAAC,GAAG,IAAI,cAAc;AAAA;AAAA,OAG1C,YAAW,CAChB,WACA,MAC+B;AAAA,IAC/B,MAAM,WAAW,MAAM,iBAAiB;AAAA,MACvC,MAAM,EAAE,IAAI,UAAU;AAAA,MACtB,MAAM;AAAA,IACP,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAAA,EAGjB,YAAY,CAAC,WAA2B;AAAA,IACvC,OAAO,GAAG,WAAW,iBAAiB;AAAA;AAAA,OAGjC,aAAY,CACjB,WACA,WACmD;AAAA,IACnD,MAAM,WAAW,MAAM,gBAAgB;AAAA,MACtC,MAAM,EAAE,WAAW,UAAU;AAAA,IAC9B,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAElB;;;AGnKA;AAAA,kBACC;AAAA,gBACA;AAAA,kBACA;AAAA,gBACA;AAAA,kBACA;AAAA,kBACA;AAAA,iBACA;AAAA,mBACA;AAAA,2BACA;AAAA,iBACA;AAAA,iBACA;AAAA,iBACA;AAAA,mBACA;AAAA,kBACA;AAAA,qBACA;AAAA;AAgBM,IAAM,WAAW;AAAA,OACjB,YAAW,GAAoD;AAAA,IACpE,MAAM,WAAW,MAAM,eAAe;AAAA,IACtC,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc;AAAA;AAAA,OAG1B,aAAY,GAA+B;AAAA,IAChD,MAAM,WAAW,MAAM,gBAAgB;AAAA,IACvC,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc;AAAA;AAAA,OAG1B,WAAU,CACf,MACA,SAAkB,OACS;AAAA,IAC3B,MAAM,WAAW,MAAM,cAAc;AAAA,MACpC,OAAO,EAAE,MAAM,QAAQ,SAAS,SAAS,QAAQ;AAAA,IAClD,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc;AAAA;AAAA,OAG1B,mBAAkB,CACvB,MACA,SAAS,OACkB;AAAA,IAC3B,MAAM,WAAW,MAAM,cAAc;AAAA,MACpC,OAAO;AAAA,QACN;AAAA,QACA,QAAQ,SAAS,SAAS;AAAA,QAC1B,UAAU;AAAA,MACX;AAAA,IACD,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc;AAAA;AAAA,OAG1B,sBAAqB,CAC1B,WAC4C;AAAA,IAC5C,MAAM,WAAW,MAAM,yBAAyB;AAAA,MAC/C,MAAM,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,IACpC,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc;AAAA;AAAA,OAG1B,WAAU,CAAC,OAA4C;AAAA,IAC5D,MAAM,WAAW,MAAM,cAAc;AAAA,MAEpC,MAAM,EAAE,MAAM;AAAA,IACf,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc;AAAA;AAAA,OAG1B,aAAY,CAAC,OAA8C;AAAA,IAChE,MAAM,WAAW,MAAM,gBAAgB;AAAA,MAEtC,MAAM,EAAE,MAAM;AAAA,IACf,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc;AAAA;AAAA,OAG1B,aAAY,CAAC,OAAkD;AAAA,IACpE,MAAM,WAAW,MAAM,gBAAgB;AAAA,MAEtC,MAAM,EAAE,MAAM;AAAA,IACf,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc;AAAA;AAAA,OAG1B,YAAW,CAAC,OAAiD;AAAA,IAClE,MAAM,WAAW,MAAM,eAAe;AAAA,MAErC,MAAM,EAAE,MAAM;AAAA,IACf,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc;AAAA;AAAA,OAG1B,cAAa,CAAC,SAA6C;AAAA,IAChE,MAAM,WAAW,MAAM,iBAAiB;AAAA,MAEvC,MAAM,EAAE,QAAQ;AAAA,IACjB,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc;AAAA;AAAA,OAG1B,aAAY,GAA2B;AAAA,IAC5C,MAAM,WAAW,MAAM,gBAAgB;AAAA,IACvC,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc;AAAA;AAAA,OAG1B,YAAW,GAA6B;AAAA,IAC7C,MAAM,WAAW,MAAM,eAAe;AAAA,MAErC,MAAM,CAAC;AAAA,IACR,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc;AAAA;AAAA,OAG1B,YAAW,GAA6B;AAAA,IAC7C,MAAM,WAAW,MAAM,eAAe;AAAA,MAErC,MAAM,CAAC;AAAA,IACR,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc;AAAA;AAAA,OAG1B,WAAU,GAA6B;AAAA,IAC5C,MAAM,WAAW,MAAM,iBAAiB;AAAA,IACxC,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc,MAAM;AAAA;AAAA,OAGhC,UAAS,CACd,MACA,KACyC;AAAA,IACzC,MAAM,WAAW,MAAM,gBAAgB;AAAA,MAEtC,MAAM,EAAE,MAAM,IAAI;AAAA,IACnB,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc;AAAA;AAAA,OAG1B,aAAY,CAAC,MAA4C;AAAA,IAC9D,MAAM,WAAW,MAAM,mBAAmB;AAAA,MAEzC,MAAM,EAAE,KAAK;AAAA,IACd,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAQ,SAAS,MAAc;AAAA;AAEjC;;;AC/LA;AAAA,eACC;AAAA,uBACA;AAAA,kBACA;AAAA,oBACA;AAAA;AAKM,IAAM,cAAc;AAAA,OACpB,UAAS,GAaZ;AAAA,IACF,MAAM,WAAW,MAAM,aAAa;AAAA,IACpC,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,UAAS,CAAC,YASb;AAAA,IACF,MAAM,WAAW,MAAM,qBAAqB;AAAA,MAE3C,MAAM,EAAE,UAAU,WAAkB;AAAA,IACrC,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,aAAY,GAA+B;AAAA,IAChD,MAAM,WAAW,MAAM,gBAAgB;AAAA,IACvC,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAAA,OAGX,eAAc,CAAC,MAsBlB;AAAA,IACF,MAAM,WAAW,MAAM,kBAAkB;AAAA,MAExC,MAAM;AAAA,IACP,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAElB;;;ACtFA;AAAA,eACC;AAAA,iBACA;AAAA,cACA;AAAA,qBACA;AAAA;AAKM,IAAM,aAAa;AAAA,OACnB,UAAS,GAAG;AAAA,IACjB,MAAM,WAAW,MAAM,aAAa;AAAA,IACpC,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAAA,OAQX,YAAW,CAAC,UAAU,KAQzB;AAAA,IACF,MAAM,WAAW,MAAM,eAAe;AAAA,MACrC,OAAO,EAAE,MAAM,QAAQ;AAAA,IACxB,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,gBAAe,CAAC,UAKnB;AAAA,IACF,MAAM,WAAW,MAAM,YAAY;AAAA,MAClC,OAAO,EAAE,MAAM,SAAS;AAAA,IACzB,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,gBAAe,CAAC,WAAkD;AAAA,IACvE,MAAM,WAAW,MAAM,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAAA,IACjE,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAElB;;;ACzDA;AAAA,kBACC;AAAA,kBACA;AAAA,sBACA;AAAA,oBACA;AAAA,kBACA;AAAA,eACA;AAAA;AAaM,IAAM,gBAAgB;AAAA,OACtB,aAAY,CACjB,WACA,MACwB;AAAA,IACxB,MAAM,WAAW,MAAM,gBAAgB;AAAA,MACtC,MAAM,EAAE,UAAU;AAAA,MAElB,MAAM;AAAA,IACP,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAAA,OAGX,aAAY,CAAC,WAAkD;AAAA,IACpE,MAAM,WAAW,MAAM,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAAA,IAC9D,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAAA,OAGX,iBAAgB,CAAC,WAAmD;AAAA,IACzE,MAAM,WAAW,MAAM,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAAA,IAClE,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAAA,OAGX,eAAc,CAAC,WAAyC;AAAA,IAC7D,MAAM,WAAW,MAAM,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAAA,IAChE,IAAI,SAAS;AAAA,MAAO,OAAO,EAAE,QAAQ,MAAM;AAAA,IAC3C,OAAO,SAAS;AAAA;AAAA,OAGX,aAAY,CAAC,WAAkD;AAAA,IACpE,MAAM,WAAW,MAAM,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAAA,IAC9D,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAAA,OAGX,YAAW,CAAC,WAAiD;AAAA,IAClE,MAAM,WAAW,MAAM,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAAA,IAC3D,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAElB;;;AC9DA;AAAA,qBACC;AAAA,yBACA;AAAA;AAGM,IAAM,gBAAgB;AAAA,OACtB,gBAAe,CACpB,WACA,QACA,UAC8D;AAAA,IAC9D,MAAM,WAAW,MAAM,mBAAmB;AAAA,MAEzC,MAAM,EAAE,IAAI,UAAU;AAAA,MAEtB,MAAM,EAAE,QAAQ,UAAU,UAAU;AAAA,IACrC,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,8BAA8B;AAAA,IAElE,OAAO,SAAS;AAAA;AAAA,OAGX,oBAAmB,CAAC,WASvB;AAAA,IACF,MAAM,WAAW,MAAM,uBAAuB;AAAA,MAE7C,MAAM,EAAE,IAAI,UAAU;AAAA,IACvB,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,OAAO,EAAE,IAAI,OAAO,SAAS,CAAC,EAAE;AAAA,IAEpD,OAAO,SAAS;AAAA;AAElB;;;ACxCA;AAAA,oBACC;AAAA,mBACA;AAAA,wBACA;AAAA,yBACA;AAAA,2BACA;AAAA,yBACA;AAAA,8BACA;AAAA,yBACA;AAAA,2BACA;AAAA,uBACA;AAAA,iBACA;AAAA,qBACA;AAAA;AAIM,IAAM,YAAY;AAAA,OAClB,eAAc,GAiCV;AAAA,IACT,IAAI;AAAA,MACH,MAAM,WAAW,MAAM,kBAAkB;AAAA,MACzC,IAAI,SAAS;AAAA,QAAO,OAAO;AAAA,MAE3B,OAAO,SAAS;AAAA,MACf,MAAM;AAAA,MACP,OAAO;AAAA;AAAA;AAAA,OAIH,cAAa,GAIhB;AAAA,IACF,IAAI;AAAA,MACH,MAAM,WAAW,MAAM,iBAAiB;AAAA,MACxC,IAAI,SAAS;AAAA,QAAO,OAAO,EAAE,YAAY,MAAM;AAAA,MAE/C,OAAO,SAAS;AAAA,MACf,MAAM;AAAA,MACP,OAAO,EAAE,YAAY,MAAM;AAAA;AAAA;AAAA,OAIvB,mBAAkB,CAAC,UAAgC,WAI/C;AAAA,IACT,IAAI;AAAA,MACH,MAAM,WAAW,MAAM,sBAAsB;AAAA,QAC5C,OAAO,EAAE,QAAQ;AAAA,MAClB,CAAC;AAAA,MACD,IAAI,SAAS;AAAA,QAAO,OAAO;AAAA,MAE3B,OAAO,SAAS;AAAA,MACf,MAAM;AAAA,MACP,OAAO;AAAA;AAAA;AAAA,OAIH,sBAAqB,CAAC,QASlB;AAAA,IACT,IAAI;AAAA,MACH,MAAM,WAAW,MAAM,yBAAyB;AAAA,QAC/C,OAAO,EAAE,OAAO;AAAA,MACjB,CAAC;AAAA,MACD,IAAI,SAAS;AAAA,QAAO,OAAO;AAAA,MAE3B,OAAO,SAAS;AAAA,MACf,MAAM;AAAA,MACP,OAAO;AAAA;AAAA;AAAA,OAIH,oBAAmB,CACxB,QACA,YAQE;AAAA,IACF,MAAM,WAAW,MAAM,uBAAuB;AAAA,MAC7C,MAAM,EAAE,QAAQ,WAAW;AAAA,IAC5B,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,kBAAiB,CACtB,WACA,QACgD;AAAA,IAChD,MAAM,WAAW,MAAM,qBAAqB;AAAA,MAC3C,MAAM,EAAE,WAAW,OAAO;AAAA,IAC3B,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,YAAW,CAChB,WACA,QACgC;AAAA,IAChC,MAAM,WAAW,MAAM,eAAe;AAAA,MACrC,MAAM,EAAE,WAAW,OAAO;AAAA,IAC3B,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,gBAAe,CAAC,WAOnB;AAAA,IACF,IAAI;AAAA,MACH,MAAM,WAAW,MAAM,mBAAmB;AAAA,QACzC,OAAO,EAAE,UAAU;AAAA,MACpB,CAAC;AAAA,MACD,IAAI,SAAS;AAAA,QAAO,OAAO,EAAE,YAAY,MAAM;AAAA,MAE/C,OAAO,SAAS;AAAA,MACf,MAAM;AAAA,MACP,OAAO,EAAE,YAAY,MAAM;AAAA;AAAA;AAAA,OAIvB,oBAAmB,CAAC,YAKhB;AAAA,IACT,IAAI;AAAA,MACH,MAAM,WAAW,MAAM,uBAAuB;AAAA,QAC7C,OAAO,EAAE,WAAW;AAAA,MACrB,CAAC;AAAA,MACD,IAAI,SAAS;AAAA,QAAO,OAAO;AAAA,MAE3B,OAAO,SAAS;AAAA,MACf,MAAM;AAAA,MACP,OAAO;AAAA;AAAA;AAAA,OAIH,yBAAwB,CAAC,QAMrB;AAAA,IACT,IAAI;AAAA,MACH,MAAM,WAAW,MAAM,4BAA4B;AAAA,QAClD,OAAO,EAAE,OAAO;AAAA,MACjB,CAAC;AAAA,MACD,IAAI,SAAS;AAAA,QAAO,OAAO;AAAA,MAE3B,OAAO,SAAS;AAAA,MACf,MAAM;AAAA,MACP,OAAO;AAAA;AAAA;AAAA,OAIH,oBAAmB,CAAC,QAOvB;AAAA,IACF,MAAM,WAAW,MAAM,uBAAuB;AAAA,MAC7C,MAAM,EAAE,OAAO;AAAA,IAChB,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,sBAAqB,CAAC,QAQzB;AAAA,IACF,MAAM,WAAW,MAAM,yBAAyB;AAAA,MAC/C,MAAM;AAAA,IACP,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAElB;;;ACvPA;AAAA,mBACC;AAAA,qBACA;AAAA,sBACA;AAAA,sBACA;AAAA,uBACA;AAAA,oBACA;AAAA,wBACA;AAAA,iBACA;AAAA,uBACA;AAAA,4BACA;AAAA,2BACA;AAAA,2BACA;AAAA,sBACA;AAAA,8BACA;AAAA,2BACA;AAAA,sBACA;AAAA;AAKM,IAAM,YAAY;AAAA,OAClB,cAAa,GAsBhB;AAAA,IACF,MAAM,WAAW,MAAM,iBAAiB;AAAA,IACxC,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,gBAAe,GAIlB;AAAA,IACF,MAAM,WAAW,MAAM,mBAAmB;AAAA,IAC1C,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,iBAAgB,CAAC,YAGpB;AAAA,IACF,MAAM,WAAW,MAAM,oBAAoB;AAAA,MAC1C,MAAM,EAAE,WAAW;AAAA,IACpB,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,iBAAgB,GAInB;AAAA,IACF,MAAM,WAAW,MAAM,oBAAoB;AAAA,IAC3C,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,YAAW,CAChB,UACA,QACkD;AAAA,IAClD,MAAM,WAAW,MAAM,qBAAqB;AAAA,MAC3C,MAAM,EAAE,SAAS;AAAA,MACjB,MAAM,EAAE,OAAO;AAAA,IAChB,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,eAAc,CACnB,UACkD;AAAA,IAClD,MAAM,WAAW,MAAM,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAAA,IAC/D,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,mBAAkB,GAAkC;AAAA,IACzD,MAAM,WAAW,MAAM,sBAAsB;AAAA,IAC7C,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,EAGjB,gBAAgB,CAAC,UAAkB,MAAuB;AAAA,IACzD,MAAM,UAAU,GAAG,WAAW,aAAa;AAAA,IAC3C,IAAI;AAAA,MAAM,OAAO,GAAG,gBAAgB;AAAA,IACpC,OAAO;AAAA;AAAA,OAGF,YAAW,CAChB,UACA,MACgE;AAAA,IAChE,MAAM,WAAW,MAAM,eAAe;AAAA,MACrC,MAAM,EAAE,SAAS;AAAA,MAEjB,MAAM,EAAE,KAAK;AAAA,IACd,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,kBAAiB,CACtB,UACA,MACA,WACkD;AAAA,IAClD,MAAM,WAAW,MAAM,qBAAqB;AAAA,MAC3C,MAAM,EAAE,SAAS;AAAA,MACjB,MAAM,EAAE,MAAM,UAAU;AAAA,IACzB,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,uBAAsB,GAKzB;AAAA,IACF,MAAM,WAAW,MAAM,0BAA0B;AAAA,IACjD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,sBAAqB,CAC1B,WACwE;AAAA,IACxE,MAAM,WAAW,MAAM,yBAAyB;AAAA,MAC/C,MAAM,EAAE,UAAU;AAAA,IACnB,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,sBAAqB,GAIxB;AAAA,IACF,MAAM,WAAW,MAAM,yBAAyB;AAAA,IAChD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,iBAAgB,CAAC,OAOpB;AAAA,IACF,MAAM,WAAW,MAAM,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAAA,IAC9D,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,yBAAwB,GAO3B;AAAA,IACF,MAAM,WAAW,MAAM,4BAA4B;AAAA,IACnD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,sBAAqB,GAiBxB;AAAA,IACF,MAAM,WAAW,MAAM,yBAAyB;AAAA,IAChD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IAEvE,OAAO,SAAS;AAAA;AAAA,OAGX,iBAAgB,CAAC,UAAkD;AAAA,IACxE,MAAM,WAAW,MAAM,oBAAoB;AAAA,MAE1C,MAAM,EAAE,SAAS;AAAA,IAClB,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAElB;;;AClPA;AAAA,gBACC;AAAA,cACA;AAAA,oBACA;AAAA,kBACA;AAAA;AA4BM,IAAM,cAAc;AAAA,OACpB,WAAU,GAAwC;AAAA,IACvD,MAAM,WAAW,MAAM,cAAc;AAAA,IACrC,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAAA,OAGX,SAAQ,CAAC,MAAoC;AAAA,IAClD,MAAM,WAAW,MAAM,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAAA,IACrD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAAA,OAGX,cAAa,CAAC,MAAmD;AAAA,IACtE,MAAM,WAAW,MAAM,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAAA,IAC3D,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAAA,OAGX,oBAAmB,CACxB,MACA,UAC6C;AAAA,IAC7C,MAAM,WAAW,MAAM,gBAAgB;AAAA,MACtC,MAAM,EAAE,MAAM,SAAS;AAAA,IACxB,CAAC;AAAA,IACD,IAAI,SAAS;AAAA,MAAO,MAAM,IAAI,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAAA,IACvE,OAAO,SAAS;AAAA;AAElB;;;ACjDA,MAAM,UAAU;AAAA,EACf,cAAc,cAAc;AAAA,EAC5B,kBAAkB,cAAc;AAAA,EAChC,gBAAgB,cAAc;AAAA,EAC9B,gBAAgB,cAAc;AAAA,EAC9B,gBAAgB,cAAc;AAAA,EAC9B,eAAe,cAAc;AAAA,EAC7B,eAAe,cAAc;AAAA,EAC7B,gBAAgB,cAAc;AAAA,EAC9B,kBAAkB,cAAc;AAAA,EAChC,cAAc,cAAc;AAAA,EAC5B,cAAc,cAAc;AAAA,EAC5B,eAAe,cAAc;AAAA,EAC7B,eAAe,cAAc;AAAA,EAE7B,cAAc,SAAS;AAAA,EACvB,eAAe,SAAS;AAAA,EACxB,aAAa,SAAS;AAAA,EACtB,qBAAqB,SAAS;AAAA,EAC9B,wBAAwB,SAAS;AAAA,EACjC,aAAa,SAAS;AAAA,EACtB,eAAe,SAAS;AAAA,EACxB,eAAe,SAAS;AAAA,EACxB,cAAc,SAAS;AAAA,EACvB,gBAAgB,SAAS;AAAA,EACzB,eAAe,SAAS;AAAA,EACxB,cAAc,SAAS;AAAA,EACvB,cAAc,SAAS;AAAA,EACvB,aAAa,SAAS;AAAA,EACtB,YAAY,SAAS;AAAA,EACrB,eAAe,SAAS;AAAA,EAExB,YAAY,YAAY;AAAA,EACxB,YAAY,YAAY;AAAA,EACxB,eAAe,YAAY;AAAA,EAC3B,iBAAiB,YAAY;AAAA,EAE7B,YAAY,WAAW;AAAA,EACvB,cAAc,WAAW;AAAA,EACzB,kBAAkB,WAAW;AAAA,EAC7B,kBAAkB,WAAW;AAAA,EAE7B,eAAe,cAAc;AAAA,EAC7B,eAAe,cAAc;AAAA,EAC7B,mBAAmB,cAAc;AAAA,EACjC,iBAAiB,cAAc;AAAA,EAC/B,eAAe,cAAc;AAAA,EAC7B,cAAc,cAAc;AAAA,EAE5B,kBAAkB,cAAc;AAAA,EAChC,sBAAsB,cAAc;AAAA,EAEpC,iBAAiB,UAAU;AAAA,EAC3B,gBAAgB,UAAU;AAAA,EAC1B,qBAAqB,UAAU;AAAA,EAC/B,wBAAwB,UAAU;AAAA,EAClC,sBAAsB,UAAU;AAAA,EAChC,oBAAoB,UAAU;AAAA,EAC9B,cAAc,UAAU;AAAA,EACxB,kBAAkB,UAAU;AAAA,EAC5B,sBAAsB,UAAU;AAAA,EAChC,2BAA2B,UAAU;AAAA,EACrC,sBAAsB,UAAU;AAAA,EAChC,wBAAwB,UAAU;AAAA,EAElC,gBAAgB,UAAU;AAAA,EAC1B,kBAAkB,UAAU;AAAA,EAC5B,mBAAmB,UAAU;AAAA,EAC7B,mBAAmB,UAAU;AAAA,EAC7B,cAAc,UAAU;AAAA,EACxB,iBAAiB,UAAU;AAAA,EAC3B,qBAAqB,UAAU;AAAA,EAC/B,mBAAmB,UAAU;AAAA,EAC7B,cAAc,UAAU;AAAA,EACxB,oBAAoB,UAAU;AAAA,EAC9B,yBAAyB,UAAU;AAAA,EACnC,wBAAwB,UAAU;AAAA,EAClC,wBAAwB,UAAU;AAAA,EAClC,mBAAmB,UAAU;AAAA,EAC7B,2BAA2B,UAAU;AAAA,EACrC,wBAAwB,UAAU;AAAA,EAClC,mBAAmB,UAAU;AAAA,EAE7B,aAAa,YAAY;AAAA,EACzB,WAAW,YAAY;AAAA,EACvB,gBAAgB,YAAY;AAAA,EAC5B,sBAAsB,YAAY;AACnC;AAEO,IAAM,YAAY,IAAI;;;AZhGtB,SAAS,SAAS,GAAG;AAAA,EAC3B,OAAO,SAAS;AAAA,IACf,UAAU,CAAC,QAAQ;AAAA,IACnB,SAAS,MAAM,UAAU,UAAU;AAAA,IACnC,WAAW;AAAA,EACZ,CAAC;AAAA;AAGK,SAAS,SAAS,CAAC,UAAmB;AAAA,EAC5C,OAAO,SAAS;AAAA,IACf,UAAU,CAAC,UAAU,QAAQ;AAAA,IAC7B,SAAS,MAAO,WAAW,UAAU,UAAU,QAAQ,IAAI;AAAA,IAC3D,SAAS,CAAC,CAAC;AAAA,EACZ,CAAC;AAAA;AAGK,SAAS,YAAY,GAAG;AAAA,EAC9B,OAAO,SAAS;AAAA,IACf,UAAU,CAAC,UAAU,KAAK;AAAA,IAC1B,SAAS,MAAM,UAAU,aAAa;AAAA,EACvC,CAAC;AAAA;AAGK,SAAS,iBAAiB,GAAG;AAAA,EACnC,MAAM,cAAc,eAAe;AAAA,EAEnC,OAAO,YAAY;AAAA,IAClB,YAAY,CAAC,SAUP,UAAU,eAAe,IAAI;AAAA,IACnC,UAAU,OAAO,SAAS;AAAA,MACzB,MAAM,YAAY,cAAc,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAAA,MAExD,MAAM,iBAAiB,YAAY,aAAyB,CAAC,QAAQ,CAAC;AAAA,MACtE,IAAI,gBAAgB;AAAA,QACnB,MAAM,iBAAiB,OAAO,YAC7B,OAAO,QAAQ,IAAI,EAAE,OACpB,EAAE,KAAK,WAAW,QAAQ,WAAW,UAAU,SAChD,CACD;AAAA,QAEA,YAAY,aAAyB,CAAC,QAAQ,GAAG;AAAA,aAC7C;AAAA,UACH,UAAU;AAAA,eACN,eAAe;AAAA,eACf;AAAA,UACJ;AAAA,QACD,CAAC;AAAA,MACF;AAAA,MAEA,OAAO,EAAE,eAAe;AAAA;AAAA,IAEzB,SAAS,CAAC,QAAQ,OAAO,YAAY;AAAA,MACpC,IAAI,SAAS,gBAAgB;AAAA,QAC5B,YAAY,aAAa,CAAC,QAAQ,GAAG,QAAQ,cAAc;AAAA,MAC5D;AAAA;AAAA,IAED,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAAA;AAAA,EAExD,CAAC;AAAA;;;AazEF,wBAAS,yBAAa;AAYtB,IAAM,cAAc;AACpB,IAAM,6BAAgD;AAAA,EACrD,SAAS;AAAA,EACT,eAAe;AAChB;AAEA,SAAS,yBAAyB,GAAsB;AAAA,EACvD,IAAI,OAAO,WAAW,aAAa;AAAA,IAClC,OAAO;AAAA,EACR;AAAA,EACA,IAAI;AAAA,IACH,MAAM,SAAS,OAAO,aAAa,QAAQ,WAAW;AAAA,IACtD,IAAI,QAAQ;AAAA,MACX,MAAM,SAAS,KAAK,MAAM,MAAM;AAAA,MAChC,OAAO;AAAA,QACN,SACC,OAAO,OAAO,YAAY,YACvB,OAAO,UACP,2BAA2B;AAAA,QAC/B,eACC,OAAO,OAAO,kBAAkB,YAC7B,OAAO,gBACP,2BAA2B;AAAA,MAChC;AAAA,IACD;AAAA,IACC,OAAO,OAAO;AAAA,IACf,QAAQ,KAAK,8BAA8B,KAAK;AAAA;AAAA,EAEjD,OAAO;AAAA;AAGR,IAAI,cAAiC,0BAA0B;AAC/D,IAAM,YAAY,IAAI;AAEtB,SAAS,WAAW,GAAsB;AAAA,EACzC,OAAO;AAAA;AAGR,SAAS,iBAAiB,GAAsB;AAAA,EAC/C,OAAO;AAAA;AAGR,SAAS,SAAS,CAAC,UAAkC;AAAA,EACpD,UAAU,IAAI,QAAQ;AAAA,EACtB,OAAO,MAAM,UAAU,OAAO,QAAQ;AAAA;AAGvC,SAAS,eAAe,GAAG;AAAA,EAC1B,WAAW,YAAY,WAAW;AAAA,IACjC,SAAS;AAAA,EACV;AAAA;AAGD,SAAS,WAAW,CAAC,SAAqC;AAAA,EACzD,cAAc,KAAK,gBAAgB,QAAQ;AAAA,EAC3C,IAAI,OAAO,WAAW,aAAa;AAAA,IAClC,IAAI;AAAA,MACH,OAAO,aAAa,QAAQ,aAAa,KAAK,UAAU,WAAW,CAAC;AAAA,MACnE,OAAO,OAAO;AAAA,MACf,QAAQ,KAAK,iCAAiC,KAAK;AAAA;AAAA,EAErD;AAAA,EACA,gBAAgB;AAAA;AAGV,SAAS,cAAc,GAAG;AAAA,EAChC,MAAM,qBAAqB,qBAC1B,WACA,aACA,iBACD;AAAA,EACA,QAAQ,MAAM,YAAW,UAAU;AAAA,EACnC,MAAM,iBAAiB,kBAAkB;AAAA,EAEzC,MAAM,oBAAoB,aACzB,CAAC,YAAkC;AAAA,IAClC,MAAM,eAA2C,CAAC;AAAA,IAElD,IAAI,QAAQ,YAAY,WAAW;AAAA,MAClC,aAAa,UAAU,QAAQ;AAAA,IAChC;AAAA,IACA,IAAI,QAAQ,kBAAkB,WAAW;AAAA,MACxC,aAAa,gBAAgB,QAAQ;AAAA,IACtC;AAAA,IAEA,IAAI,OAAO,KAAK,YAAY,EAAE,SAAS,GAAG;AAAA,MACzC,YAAY,YAAY;AAAA,IACzB;AAAA,IAEA,IACC,QAAQ,qBAAqB,aAC7B,QAAQ,qBAAqB,SAAQ,UAAU,kBAC9C;AAAA,MACD,eAAe,OAAO;AAAA,QACrB,kBAAkB,QAAQ;AAAA,QAC1B,OAAO;AAAA,MACR,CAAC;AAAA,IACF;AAAA,KAED,CAAC,SAAQ,UAAU,kBAAkB,cAAc,CACpD;AAAA,EAEA,MAAM,sBAAsB,SAC3B,OAAO;AAAA,OACH;AAAA,IACH,kBAAkB,SAAQ,UAAU,oBAAoB;AAAA,EACzD,IACA,CAAC,oBAAoB,SAAQ,UAAU,gBAAgB,CACxD;AAAA,EAEA,OAAO,SACN,OAAO,EAAE,aAAa,qBAAqB,kBAAkB,IAC7D,CAAC,qBAAqB,iBAAiB,CACxC;AAAA;;;AC7HD,qBAAS;AAIF,SAAS,cAAc,CAAC,WAI7B;AAAA,EACD,QAAQ,MAAM,WAAW,UAAU,UAAS;AAAA,IAC3C,UAAU,CAAC,gBAAgB,SAAS;AAAA,IACpC,SAAS,MAAM,UAAU,eAAe,SAAmB;AAAA,IAC3D,SAAS,CAAC,CAAC;AAAA,IACX,WAAW;AAAA,EACZ,CAAC;AAAA,EAED,OAAO,EAAE,MAAM,WAAW,MAA6B;AAAA;;;AChBxD;AAAA,cACC;AAAA;AAAA,UAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBM,IAAM,WAAsB;AAAA,EAClC;AAAA,IACC,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa,CAAC,UACb,MAAM,iBAAiB,qBAAqB;AAAA,IAC7C,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa,CAAC,UACb,MAAM,mBACH,8BACA;AAAA,IACJ,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,EACP;AACD;AAEO,SAAS,qBAAqB,CACpC,KACA,OACS;AAAA,EACT,OAAO,OAAO,IAAI,gBAAgB,aAC/B,IAAI,YAAY,KAAK,IACrB,IAAI;AAAA;AAGD,SAAS,cAAc,CAAC,OAAe,OAAgC;AAAA,EAC7E,MAAM,eAAe,SAAS,OAAO,CAAC,QAAQ;AAAA,IAC7C,IAAI,IAAI,OAAO,WAAW,MAAM;AAAA,MAAU,OAAO;AAAA,IACjD,IAAI,IAAI,OAAO,UAAU,CAAC,MAAM;AAAA,MAAU,OAAO;AAAA,IACjD,OAAO;AAAA,GACP;AAAA,EAED,IAAI,CAAC,OAAO;AAAA,IACX,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,aAAa,MAAM,YAAY;AAAA,EACrC,MAAM,UAAgD,CAAC;AAAA,EAEvD,WAAW,OAAO,cAAc;AAAA,IAC/B,MAAM,OAAO,sBAAsB,KAAK,KAAK;AAAA,IAC7C,MAAM,aAAa,IAAI,MAAM,YAAY,EAAE,SAAS,UAAU;AAAA,IAC9D,MAAM,mBAAmB,KAAK,YAAY,EAAE,SAAS,UAAU;AAAA,IAE/D,IAAI,cAAc,kBAAkB;AAAA,MACnC,MAAM,aAAa,aAAa,KAAK;AAAA,MACrC,QAAQ,KAAK,KAAK,KAAK,WAAW,CAAC;AAAA,IACpC;AAAA,EACD;AAAA,EAEA,OAAO,QAAQ,KAAK,CAAC,GAAG,MAAM;AAAA,IAC7B,MAAM,YAAY,EAAE,aAAa,EAAE;AAAA,IACnC,IAAI,cAAc;AAAA,MAAG,OAAO;AAAA,IAC5B,OAAO,EAAE,MAAM,cAAc,EAAE,KAAK;AAAA,GACpC;AAAA;;;;AhBhJK,SAAS,uBAAuB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACgC;AAAA,EAChC,QAAQ,8BAAgB,eAAe;AAAA,EACvC,QAAQ,MAAM,YAAW,UAAU;AAAA,EACnC,QAAQ,MAAM,gBAAgB,eAAe,SAAS;AAAA,EAEtD,MAAM,QAAQ,SACb,OAAO;AAAA,IACN,gBAAgB,aAAY;AAAA,IAC5B,kBAAkB,SAAQ,UAAU,iBAAiB;AAAA,IACrD,UAAU,aAAa;AAAA,EACxB,IACA,CAAC,aAAY,SAAS,SAAQ,UAAU,eAAe,aAAa,MAAM,CAC3E;AAAA,EAEA,MAAM,UAAU,SAAQ,MAAM,eAAe,OAAO,KAAK,GAAG,CAAC,OAAO,KAAK,CAAC;AAAA,EAE1E,WAAU,MAAM;AAAA,IACf,MAAM,UAAU,SAAS,eAAe,gBAAgB,eAAe;AAAA,IACvE,SAAS,eAAe,EAAE,OAAO,UAAU,CAAC;AAAA,KAC1C,CAAC,aAAa,CAAC;AAAA,EAElB,WAAU,MAAM;AAAA,IACf,cAAc,QAAQ,gBAAgB,EAAE;AAAA,KACtC,CAAC,SAAS,eAAe,aAAa,CAAC;AAAA,EAE1C,WAAU,MAAM;AAAA,IACf,MAAM,qBAAqB,CAAC,MAAkB;AAAA,MAC7C,MAAM,SAAS,EAAE;AAAA,MACjB,IAAI,CAAC,OAAO,QAAQ,sBAAsB,GAAG;AAAA,QAC5C,QAAQ;AAAA,MACT;AAAA;AAAA,IAED,SAAS,iBAAiB,aAAa,kBAAkB;AAAA,IACzD,OAAO,MAAM,SAAS,oBAAoB,aAAa,kBAAkB;AAAA,KACvE,CAAC,OAAO,CAAC;AAAA,EAEZ,IAAI,QAAQ,WAAW,GAAG;AAAA,IACzB,uBACC,MAKE,OALF;AAAA,MACC,sBAAkB;AAAA,MAClB,WAAU;AAAA,MAFX,0BAIC,MAAmE,QAAnE;AAAA,QAAM,WAAU;AAAA,QAAhB;AAAA,OAAmE;AAAA,KAClE;AAAA,EAEJ;AAAA,EAEA,uBACC,MAiCE,OAjCF;AAAA,IACC,sBAAkB;AAAA,IAClB,WAAU;AAAA,IAFX,UAIE,QAAQ,IAAI,CAAC,SAAS,UAAU;AAAA,MAChC,MAAM,OAAO,QAAQ;AAAA,MACrB,uBACC,MAuBE,UAvBF;AAAA,QACC,MAAK;AAAA,QAEL,IAAI,gBAAgB;AAAA,QACpB,aAAa,CAAC,MAAM;AAAA,UACnB,EAAE,eAAe;AAAA,UACjB,SAAS,QAAQ,EAAE;AAAA;AAAA,QAEpB,WAAW,8CACV,UAAU,gBAAgB,cAAc;AAAA,QAT1C,0BAYC,MAUE,OAVF;AAAA,UAAK,WAAU;AAAA,UAAf,UAUE;AAAA,4BATD,MAAC,MAAD;AAAA,cAAM,WAAU;AAAA,aAAqC;AAAA,4BACrD,MAOE,OAPF;AAAA,cAAK,WAAU;AAAA,cAAf,UAOE;AAAA,gCAND,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UACE,QAAQ;AAAA,iBACR;AAAA,gCACF,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UACE,sBAAsB,SAAS,KAAK;AAAA,iBACpC;AAAA;AAAA,aACD;AAAA;AAAA,SACD;AAAA,SApBG,QAAQ,EAqBZ;AAAA,KAEH;AAAA,GACA;AAAA;;;AiBvGJ,sBAAS,sBAAW;;;ACApB,sBAAS;AACT,cAAS;AAAA;AAaT,IAAM,kBAAkB;AAAA,EACvB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AACR;AAEO,SAAS,KAAK;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB,uBAAuB;AAAA,EACvB,gBAAgB;AAAA,EAChB,WAAW;AAAA,GACG;AAAA,EACd,WAAU,MAAM;AAAA,IACf,IAAI,CAAC,UAAU,CAAC;AAAA,MAAe;AAAA,IAE/B,MAAM,eAAe,CAAC,MAAqB;AAAA,MAC1C,MAAM,SAAS,EAAE;AAAA,MACjB,MAAM,YACL,OAAO,YAAY,WACnB,OAAO,YAAY,cACnB,OAAO;AAAA,MACR,IAAI,EAAE,QAAQ,YAAa,EAAE,QAAQ,OAAO,CAAC,WAAY;AAAA,QACxD,EAAE,eAAe;AAAA,QACjB,EAAE,gBAAgB;AAAA,QAClB,QAAQ;AAAA,MACT;AAAA;AAAA,IAGD,SAAS,iBAAiB,WAAW,YAAY;AAAA,IACjD,OAAO,MAAM,SAAS,oBAAoB,WAAW,YAAY;AAAA,KAC/D,CAAC,QAAQ,eAAe,OAAO,CAAC;AAAA,EAEnC,WAAU,MAAM;AAAA,IACf,IAAI,QAAQ;AAAA,MAEX,SAAS,KAAK,MAAM,WAAW;AAAA,MAC/B,OAAO,MAAM;AAAA,QACZ,SAAS,KAAK,MAAM,WAAW;AAAA;AAAA,IAEjC;AAAA,KACE,CAAC,MAAM,CAAC;AAAA,EAEX,IAAI,CAAC;AAAA,IAAQ,OAAO;AAAA,EAEpB,MAAM,sBAAsB,CAAC,MAAqC;AAAA,IACjE,IAAI,wBAAwB,EAAE,WAAW,EAAE,eAAe;AAAA,MACzD,QAAQ;AAAA,IACT;AAAA;AAAA,EAGD,uBACC;AAAA,cA8CE;AAAA,sBA5CD,MAAC,UAAD;AAAA,QACC,MAAK;AAAA,QACL,WAAU;AAAA,QACV,SAAS;AAAA,QACT,WAAW,CAAC,MAAM;AAAA,UACjB,IAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AAAA,YACvC,oBACC,CACD;AAAA,UACD;AAAA;AAAA,QAED,cAAW;AAAA,OACZ;AAAA,sBAGA,MA4BE,OA5BF;AAAA,QACC,WAAW,4EAA4E,gBAAgB;AAAA,QADxG,0BAGC,MAwBE,OAxBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAwBE;AAAA,aAtBC,SAAS,oCACV,MAgBE,OAhBF;AAAA,cAAK,WAAU;AAAA,cAAf,UAgBE;AAAA,gBAfA,yBACA,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UACE;AAAA,iBACA;AAAA,gBAEF,mCACA,MAOE,UAPF;AAAA,kBACC,MAAK;AAAA,kBACL,SAAS;AAAA,kBACT,WAAU;AAAA,kBACV,cAAW;AAAA,kBAJZ,0BAMC,MAAC,IAAD;AAAA,oBAAG,WAAU;AAAA,mBAAU;AAAA,iBACtB;AAAA;AAAA,aAEF;AAAA,4BAIH,MAAiC,OAAjC;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAAiC;AAAA;AAAA,SAChC;AAAA,OACD;AAAA;AAAA,GACD;AAAA;;;ADnHJ,qBAAS;AAAA;AAaT,IAAM,YAA4B;AAAA,EACjC;AAAA,IACC,MAAM,CAAC,QAAQ,GAAG;AAAA,IAClB,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,QAAQ,GAAG;AAAA,IAClB,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,QAAQ,GAAG;AAAA,IAClB,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,QAAQ,IAAI;AAAA,IACnB,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,QAAQ,GAAG;AAAA,IAClB,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,KAAK;AAAA,IACZ,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,OAAO;AAAA,IACd,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,OAAO;AAAA,IACd,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,KAAK;AAAA,IACZ,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,OAAO;AAAA,IACd,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,SAAS,OAAO;AAAA,IACvB,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AACD;AAEA,IAAM,qBAAqC;AAAA,EAC1C;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,KAAK;AAAA,IACZ,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,OAAO;AAAA,IACd,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,KAAK,QAAQ;AAAA,IACpB,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,KAAK,GAAG;AAAA,IACf,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM,CAAC,GAAG;AAAA,IACV,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AACD;AAEA,IAAM,iBAAiB;AAAA,EACtB;AAAA,IACC,SAAS;AAAA,IACT,aAAa;AAAA,EACd;AAAA,EACA;AAAA,IACC,SAAS;AAAA,IACT,aAAa;AAAA,EACd;AAAA,EACA;AAAA,IACC,SAAS;AAAA,IACT,aAAa;AAAA,EACd;AAAA,EACA;AAAA,IACC,SAAS;AAAA,IACT,aAAa;AAAA,EACd;AAAA,EACA;AAAA,IACC,SAAS;AAAA,IACT,aAAa;AAAA,EACd;AACD;AAEA,SAAS,wBAAwB,CAAC,WAA2B;AAAA,EAC5D,MAAM,UAA0C,CAAC;AAAA,EACjD,WAAW,YAAY,WAAW;AAAA,IACjC,IAAI,CAAC,QAAQ,SAAS,WAAW;AAAA,MAChC,QAAQ,SAAS,YAAY,CAAC;AAAA,IAC/B;AAAA,IACA,QAAQ,SAAS,UAAU,KAAK,QAAQ;AAAA,EACzC;AAAA,EACA,OAAO;AAAA;AAGD,SAAS,cAAc,GAAG,QAAQ,WAAgC;AAAA,EACxE,MAAM,eAAe,CAAC,GAAG,WAAW,GAAG,kBAAkB;AAAA,EACzD,MAAM,mBAAmB,yBAAyB,YAAY;AAAA,EAC9D,MAAM,kBAAkB,QAAuB,IAAI;AAAA,EACnD,MAAM,wBAAwB,QAA2B,IAAI;AAAA,EAE7D,WAAU,MAAM;AAAA,IACf,IAAI,QAAQ;AAAA,MACX,sBAAsB,UAAU,SAAS;AAAA,MACzC,IAAI,sBAAsB,SAAS;AAAA,QAClC,sBAAsB,QAAQ,KAAK;AAAA,MACpC;AAAA,IACD,EAAO;AAAA,MACN,IAAI,sBAAsB,SAAS;AAAA,QAClC,sBAAsB,QAAQ,MAAM;AAAA,QACpC,sBAAsB,UAAU;AAAA,MACjC;AAAA;AAAA,KAEC,CAAC,MAAM,CAAC;AAAA,EAEX,WAAU,MAAM;AAAA,IACf,IAAI,CAAC;AAAA,MAAQ;AAAA,IAEb,MAAM,gBAAgB,CAAC,MAAqB;AAAA,MAC3C,MAAM,SAAS,EAAE;AAAA,MACjB,MAAM,eACL,OAAO,YAAY,WACnB,OAAO,YAAY,cACnB,OAAO;AAAA,MAER,IAAI;AAAA,QAAc;AAAA,MAElB,IAAI,EAAE,QAAQ,KAAK;AAAA,QAClB,EAAE,eAAe;AAAA,QACjB,MAAM,YAAY,gBAAgB;AAAA,QAClC,IAAI,WAAW;AAAA,UACd,UAAU,SAAS,EAAE,KAAK,KAAK,UAAU,SAAS,CAAC;AAAA,QACpD;AAAA,MACD,EAAO,SAAI,EAAE,QAAQ,KAAK;AAAA,QACzB,EAAE,eAAe;AAAA,QACjB,MAAM,YAAY,gBAAgB;AAAA,QAClC,IAAI,WAAW;AAAA,UACd,UAAU,SAAS,EAAE,KAAK,MAAM,UAAU,SAAS,CAAC;AAAA,QACrD;AAAA,MACD,EAAO,SAAI,EAAE,QAAQ,SAAS;AAAA,QAC7B,EAAE,eAAe;AAAA,QACjB,QAAQ;AAAA,MACT;AAAA;AAAA,IAGD,SAAS,iBAAiB,WAAW,aAAa;AAAA,IAClD,OAAO,MAAM,SAAS,oBAAoB,WAAW,aAAa;AAAA,KAChE,CAAC,QAAQ,OAAO,CAAC;AAAA,EAEpB,uBACC,MAiFE,OAjFF;AAAA,IACC;AAAA,IACA;AAAA,IACA,uBACC,MAGE,OAHF;AAAA,MAAK,WAAU;AAAA,MAAf,UAGE;AAAA,wBAFD,MAAC,WAAD;AAAA,UAAU,WAAU;AAAA,SAAU;AAAA,wBAC9B,MAAiC,QAAjC;AAAA;AAAA,SAAiC;AAAA;AAAA,KAChC;AAAA,IAEH,UAAS;AAAA,IACT,eAAe;AAAA,IACf,sBAAsB;AAAA,IAXvB,0BAaC,MAmEE,OAnEF;AAAA,MACC,KAAK;AAAA,MACL,WAAU;AAAA,MAFX,UAmEE;AAAA,QA/DA,OAAO,QAAQ,gBAAgB,EAAE,IAAI,EAAE,UAAU,+BACjD,MA8BE,OA9BF;AAAA,oBA8BE;AAAA,4BA7BD,MAGE,MAHF;AAAA,cAAI,WAAU;AAAA,cAAd,UAGE;AAAA,gCAFD,MAAC,SAAD;AAAA,kBAAS,WAAU;AAAA,iBAAU;AAAA,gBAC5B;AAAA;AAAA,aACA;AAAA,4BACF,MAwBE,OAxBF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE,UAAU,IAAI,CAAC,UAAU,2BACzB,MAoBE,OApBF;AAAA,gBAEC,WAAU;AAAA,gBAFX,UAoBE;AAAA,kCAhBD,MAEE,QAFF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UACE,SAAS;AAAA,mBACT;AAAA,kCACF,MAYE,OAZF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UACE,SAAS,KAAK,IAAI,CAAC,wBACnB,MAQE,QARF;AAAA,sBAAgB,WAAU;AAAA,sBAA1B,UAQE;AAAA,wCAPD,MAEE,OAFF;AAAA,0BAAK,WAAU;AAAA,0BAAf,UACE;AAAA,yBACA;AAAA,wBACD,SAAS,KAAK,QAAQ,GAAG,IACzB,SAAS,KAAK,SAAS,qBACvB,MAA2C,QAA3C;AAAA,0BAAM,WAAU;AAAA,0BAAhB;AAAA,yBAA2C;AAAA;AAAA,uBANlC,GAQT,CACF;AAAA,mBACA;AAAA;AAAA,iBAlBG,GAAG,YAAY,SAAS,aAmB5B,CACF;AAAA,aACA;AAAA;AAAA,WA7BO,QA8BR,CACF;AAAA,wBAED,MAoBE,OApBF;AAAA,oBAoBE;AAAA,4BAnBD,MAGE,MAHF;AAAA,cAAI,WAAU;AAAA,cAAd,UAGE;AAAA,gCAFD,MAAC,SAAD;AAAA,kBAAS,WAAU;AAAA,iBAAU;AAAA,gBAD9B;AAAA;AAAA,aAGE;AAAA,4BACF,MAcE,OAdF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE,eAAe,IAAI,CAAC,KAAK,2BACzB,MAUE,OAVF;AAAA,gBAEC,WAAU;AAAA,gBAFX,UAUE;AAAA,kCAND,MAEE,QAFF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UACE,IAAI;AAAA,mBACJ;AAAA,kCACF,MAEE,OAFF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UACE,IAAI;AAAA,mBACJ;AAAA;AAAA,iBARG,IAAI,OASR,CACF;AAAA,aACA;AAAA;AAAA,SACD;AAAA,wBAEF,MAME,OANF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,MAIE,KAJF;AAAA,YAAG,WAAU;AAAA,YAAb,UAIE;AAAA,8BAHD,MAAc,UAAd;AAAA;AAAA,eAAc;AAAA,cADf;AAAA,8BAEe,MAA8B,OAA9B;AAAA,gBAAK,WAAU;AAAA,gBAAf;AAAA,eAA8B;AAAA,cAF7C;AAAA;AAAA,WAIE;AAAA,SACD;AAAA;AAAA,KACD;AAAA,GACD;AAAA;;;AEnXJ,iBAAS;;;ACAF,IAAM,gBAAgB;AAAA;AAAA;AAItB,IAAM,aAAa;AAAA;AAAA;AAInB,IAAM,aAAa;AAAA;AAAA;AAInB,IAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASvB,IAAM,WAAW;AAAA;AAAA;AAIjB,IAAM,eAAe;AAAA;AAAA;AAIrB,IAAM,UAAU;AAAA;AAAA;AAIhB,IAAM,UAAU;AAAA;AAAA;AAIhB,IAAM,WAAW;AAAA;AAAA;AAIjB,IAAM,cAAc;AAAA;AAAA;AAIpB,IAAM,eAAe;AAAA;AAAA;AAAA;AAKrB,IAAM,cAAc;AAAA;AAAA;;;;ADjC3B,IAAM,gBAAwC;AAAA,EAC7C,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,UAAU;AAAA,EACV,KAAK;AAAA,EACL,KAAK;AAAA,EACL,cAAc;AAAA,EACd,MAAM;AAAA,EACN,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS;AACV;AAQO,IAAM,eAAe,MAAK,SAAS,aAAY;AAAA,EACrD;AAAA,EACA,YAAY;AAAA,EACZ,OAAO;AAAA,GACc;AAAA,EACrB,MAAM,UAAU,cAAc,SAAS,YAAY;AAAA,EAEnD,IAAI,CAAC,SAAS;AAAA,IACb,uBACC,MAME,QANF;AAAA,MACC,WAAW,mGAAmG;AAAA,MAC9G,OAAO,EAAE,OAAO,MAAM,QAAQ,KAAK;AAAA,MACnC,OAAO;AAAA,MAHR,UAKE,SAAS,MAAM,GAAG,CAAC;AAAA,KACnB;AAAA,EAEJ;AAAA,EAEA,uBACC,MAAC,QAAD;AAAA,IACC,WAAW,sFAAsF;AAAA,IACjG,OAAO,EAAE,OAAO,MAAM,QAAQ,KAAK;AAAA,IACnC,OAAO;AAAA,IAEP,yBAAyB;AAAA,MACxB,QAAQ,QAAQ,QACf,QACA,eAAe,iBAAiB,sBAAsB,iBAAiB,SACxE;AAAA,IACD;AAAA,GACD;AAAA,CAED;;;AExED,qBAAS;AAGF,SAAS,QAAQ,GAAG;AAAA,EAC1B,OAAO,UAAS;AAAA,IACf,UAAU,CAAC,OAAO;AAAA,IAClB,SAAS,YAAY;AAAA,MACpB,MAAM,SAAS,MAAM,UAAU,UAAU;AAAA,MACzC,OAAO;AAAA;AAAA,IAER,WAAW;AAAA,IACX,sBAAsB;AAAA,IACtB,OAAO;AAAA,EACR,CAAC;AAAA;;;ACbF,qBAAS,0BAAU;AAkBZ,SAAS,UAAU;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACuC;AAAA,EACvC,OAAO,SAAS,cAAc,UAC7B,UAAU,WAAW,QACtB;AAAA,EACA,OAAO,eAAe,oBAAoB,UAAiB,EAAE;AAAA,EAE7D,MAAM,oBAAoB,aAAY,CAAC,MAAc,QAAwB;AAAA,IAC5E,OAAO,MAAM,KAAK,UAAU,KAAK,KAAK,KAAK,IAAI;AAAA,MAAG;AAAA,IAClD,OAAO,MAAM,KAAK,UAAU,KAAK,KAAK,KAAK,IAAI;AAAA,MAAG;AAAA,IAClD,OAAO,KAAK,IAAI,KAAK,KAAK,MAAM;AAAA,KAC9B,CAAC,CAAC;AAAA,EAEL,MAAM,kBAAkB,aAAY,CAAC,MAAc,QAAwB;AAAA,IAC1E,IAAI,MAAM,KAAK,UAAU,KAAK,KAAK,KAAK,IAAI;AAAA,MAAG;AAAA,IAC/C,OAAO,MAAM,KAAK,UAAU,KAAK,KAAK,KAAK,IAAI;AAAA,MAAG;AAAA,IAClD,OAAO,MAAM,KAAK,UAAU,KAAK,KAAK,KAAK,IAAI;AAAA,MAAG;AAAA,IAClD,OAAO,KAAK,IAAI,GAAG,MAAM,CAAC;AAAA,KACxB,CAAC,CAAC;AAAA,EAEL,MAAM,oBAAoB,aAAY,CAAC,MAAc,QAAwB;AAAA,IAC5E,MAAM,KAAK,IAAI,GAAG,MAAM,CAAC;AAAA,IACzB,OAAO,MAAM,KAAK,KAAK,KAAK,KAAK,IAAI;AAAA,MAAG;AAAA,IACxC,OAAO,MAAM,KAAK,KAAK,KAAK,KAAK,MAAM,EAAE;AAAA,MAAG;AAAA,IAC5C,OAAO;AAAA,KACL,CAAC,CAAC;AAAA,EAEL,MAAM,sBAAsB,aAC3B,CAAC,MAAmD;AAAA,IACnD,MAAM,WAAW,YAAY;AAAA,IAC7B,IAAI,CAAC;AAAA,MAAU,OAAO;AAAA,IAEtB,MAAM,MAAM,EAAE;AAAA,IAEd,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,WAAW,QAAQ;AAAA,MACnB,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,WAAW,QAAQ;AAAA,MACnB,MAAM,MAAM,SAAS;AAAA,MACrB,WAAW,MAAM;AAAA,QAChB,SAAS,kBAAkB,MAAM,GAAG,MAAM,CAAC;AAAA,SACzC,CAAC;AAAA,MACJ,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,WAAW,QAAQ;AAAA,MACnB,MAAM,OAAO,SAAS;AAAA,MACtB,MAAM,YACL,KAAK,YAAY;AAAA,GAAM,SAAS,iBAAiB,CAAC,IAAI;AAAA,MACvD,WAAW,MAAM;AAAA,QAChB,SAAS,kBAAkB,WAAW,SAAS;AAAA,SAC7C,CAAC;AAAA,MACJ,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,WAAW,QAAQ;AAAA,MACnB,MAAM,OAAO,SAAS;AAAA,MACtB,IAAI,UAAU,KAAK,QAAQ;AAAA,GAAM,SAAS,cAAc;AAAA,MACxD,IAAI,YAAY;AAAA,QAAI,UAAU,KAAK;AAAA,MACnC,WAAW,MAAM;AAAA,QAChB,SAAS,kBAAkB,SAAS,OAAO;AAAA,SACzC,CAAC;AAAA,MACJ,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,MAAM,OAAO,SAAS;AAAA,MACtB,MAAM,YACL,KAAK,YAAY;AAAA,GAAM,SAAS,iBAAiB,CAAC,IAAI;AAAA,MACvD,SAAS,kBAAkB,WAAW,SAAS;AAAA,MAC/C,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,MAAM,OAAO,SAAS;AAAA,MACtB,IAAI,UAAU,KAAK,QAAQ;AAAA,GAAM,SAAS,cAAc;AAAA,MACxD,IAAI,YAAY;AAAA,QAAI,UAAU,KAAK;AAAA,MACnC,SAAS,kBAAkB,SAAS,OAAO;AAAA,MAC3C,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,WAAW,QAAQ;AAAA,MACnB,MAAM,OAAO,SAAS;AAAA,MACtB,IAAI,UAAU,KAAK,QAAQ;AAAA,GAAM,SAAS,cAAc;AAAA,MACxD,IAAI,YAAY;AAAA,QAAI,UAAU,KAAK;AAAA,MAEnC,MAAM,WAAW,GAAG,KAAK,MAAM,GAAG,OAAO;AAAA,EAAM,KAAK,MAAM,OAAO;AAAA,MACjE,WAAW,QAAQ;AAAA,MAEnB,WAAW,MAAM;AAAA,QAChB,SAAS,kBAAkB,UAAU,GAAG,UAAU,CAAC;AAAA,SACjD,CAAC;AAAA,MACJ,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,WAAW,QAAQ;AAAA,MACnB,MAAM,OAAO,SAAS;AAAA,MACtB,MAAM,YACL,KAAK,YAAY;AAAA,GAAM,SAAS,iBAAiB,CAAC,IAAI;AAAA,MAEvD,MAAM,WAAW,GAAG,KAAK,MAAM,GAAG,SAAS;AAAA,EAAM,KAAK,MAAM,SAAS;AAAA,MACrE,WAAW,QAAQ;AAAA,MAEnB,WAAW,MAAM;AAAA,QAChB,SAAS,kBAAkB,WAAW,SAAS;AAAA,SAC7C,CAAC;AAAA,MACJ,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,kBAAkB,OAAO,IAAI,WAAW,KAAK,QAAQ,UAAU;AAAA,MAClE,EAAE,eAAe;AAAA,MACjB,MAAM,OAAO,SAAS;AAAA,MACtB,MAAM,cAAc,KAAK,MACxB,KAAK,YAAY;AAAA,GAAM,SAAS,iBAAiB,CAAC,IAAI,GACtD,KAAK,QAAQ;AAAA,GAAM,SAAS,cAAc,MAAM,KAC7C,KAAK,SACL,KAAK,QAAQ;AAAA,GAAM,SAAS,cAAc,CAC9C;AAAA,MACA,MAAM,YACL,SAAS,iBACT,KAAK,YAAY;AAAA,GAAM,SAAS,iBAAiB,CAAC,IAClD;AAAA,MACD,MAAM,YAAY,YAAY,QAAQ,KAAK,YAAY,CAAC;AAAA,MAExD,IAAI,cAAc,IAAI;AAAA,QACrB,MAAM,SACL,KAAK,YAAY;AAAA,GAAM,SAAS,iBAAiB,CAAC,IAAI,IAAI;AAAA,QAC3D,SAAS,kBAAkB,QAAQ,MAAM;AAAA,MAC1C;AAAA,MAEA,iBAAiB,EAAE;AAAA,MACnB,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,iBAAiB,GAAG;AAAA,MACpB,WAAW,MAAM,iBAAiB,EAAE,GAAG,IAAI;AAAA,MAC3C,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,IAAI,kBAAkB,KAAK;AAAA,QAC1B,EAAE,eAAe;AAAA,QACjB,MAAM,OAAO,SAAS;AAAA,QACtB,MAAM,YACL,KAAK,YAAY;AAAA,GAAM,SAAS,iBAAiB,CAAC,IAAI;AAAA,QACvD,IAAI,UAAU,KAAK,QAAQ;AAAA,GAAM,SAAS,cAAc;AAAA,QACxD,IAAI,YAAY;AAAA,UAAI,UAAU,KAAK;AAAA,QAC9B;AAAA,qBAAW;AAAA,QAEhB,MAAM,WAAW,KAAK,MAAM,GAAG,SAAS,IAAI,KAAK,MAAM,OAAO;AAAA,QAC9D,WAAW,QAAQ;AAAA,QACnB,iBAAiB,EAAE;AAAA,QAEnB,WAAW,MAAM;AAAA,UAChB,SAAS,kBAAkB,WAAW,SAAS;AAAA,WAC7C,CAAC;AAAA,QACJ,OAAO;AAAA,MACR;AAAA,MACA,EAAE,eAAe;AAAA,MACjB,iBAAiB,GAAG;AAAA,MACpB,WAAW,MAAM,iBAAiB,EAAE,GAAG,IAAI;AAAA,MAC3C,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,SAAS;AAAA,MACpB,EAAE,eAAe;AAAA,MACjB,OAAO;AAAA,MACP,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,UAAU;AAAA,MACrB,EAAE,eAAe;AAAA,MACjB,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,MAAM,OAAO,SAAS;AAAA,MACtB,MAAM,SAAS,kBAAkB,MAAM,SAAS,cAAc;AAAA,MAC9D,SAAS,kBAAkB,QAAQ,MAAM;AAAA,MACzC,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,MAAM,OAAO,SAAS;AAAA,MACtB,MAAM,SAAS,gBAAgB,MAAM,SAAS,cAAc;AAAA,MAC5D,SAAS,kBAAkB,QAAQ,MAAM;AAAA,MACzC,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,MAAM,OAAO,SAAS;AAAA,MACtB,MAAM,SAAS,kBAAkB,MAAM,SAAS,cAAc;AAAA,MAC9D,SAAS,kBAAkB,QAAQ,MAAM;AAAA,MACzC,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,MAAM,OAAO,SAAS;AAAA,MACtB,MAAM,MAAM,SAAS;AAAA,MACrB,IAAI,MAAM,KAAK,QAAQ;AAAA,QACtB,MAAM,WAAW,KAAK,MAAM,GAAG,GAAG,IAAI,KAAK,MAAM,MAAM,CAAC;AAAA,QACxD,WAAW,QAAQ;AAAA,QACnB,WAAW,MAAM;AAAA,UAChB,SAAS,kBAAkB,KAAK,GAAG;AAAA,WACjC,CAAC;AAAA,MACL;AAAA,MACA,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,MAAM,OAAO,SAAS;AAAA,MACtB,MAAM,MAAM,SAAS;AAAA,MACrB,IAAI,MAAM,KAAK,QAAQ;AAAA,QACtB,MAAM,WAAW,KAAK,MAAM,GAAG,GAAG,IAAI,KAAK,MAAM,MAAM,CAAC;AAAA,QACxD,WAAW,QAAQ;AAAA,QACnB,WAAW,QAAQ;AAAA,QACnB,WAAW,MAAM;AAAA,UAChB,SAAS,kBAAkB,KAAK,GAAG;AAAA,WACjC,CAAC;AAAA,MACL,EAAO;AAAA,QACN,WAAW,QAAQ;AAAA;AAAA,MAEpB,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,MAAM,OAAO,SAAS;AAAA,MACtB,MAAM,YACL,KAAK,YAAY;AAAA,GAAM,SAAS,iBAAiB,CAAC,IAAI;AAAA,MACvD,IAAI,UAAU,KAAK,QAAQ;AAAA,GAAM,SAAS,cAAc;AAAA,MACxD,IAAI,YAAY;AAAA,QAAI,UAAU,KAAK;AAAA,MAEnC,MAAM,WAAW,KAAK,MAAM,GAAG,SAAS,IAAI,KAAK,MAAM,OAAO;AAAA,MAC9D,WAAW,QAAQ;AAAA,MACnB,WAAW,QAAQ;AAAA,MAEnB,WAAW,MAAM;AAAA,QAChB,SAAS,kBAAkB,WAAW,SAAS;AAAA,SAC7C,CAAC;AAAA,MACJ,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,MAAM,MAAM,SAAS;AAAA,MACrB,IAAI,MAAM,GAAG;AAAA,QACZ,SAAS,kBAAkB,MAAM,GAAG,MAAM,CAAC;AAAA,MAC5C;AAAA,MACA,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,MAAM,MAAM,SAAS;AAAA,MACrB,IAAI,MAAM,SAAS,MAAM,QAAQ;AAAA,QAChC,SAAS,kBAAkB,MAAM,GAAG,MAAM,CAAC;AAAA,MAC5C;AAAA,MACA,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,MAAM,OAAO,SAAS;AAAA,MACtB,MAAM,MAAM,SAAS;AAAA,MACrB,MAAM,YAAY,KAAK,YAAY;AAAA,GAAM,MAAM,CAAC,IAAI;AAAA,MACpD,MAAM,MAAM,MAAM;AAAA,MAClB,MAAM,UAAU,KAAK,QAAQ;AAAA,GAAM,GAAG;AAAA,MACtC,IAAI,YAAY,IAAI;AAAA,QACnB,MAAM,gBAAgB,UAAU;AAAA,QAChC,IAAI,cAAc,KAAK,QAAQ;AAAA,GAAM,aAAa;AAAA,QAClD,IAAI,gBAAgB;AAAA,UAAI,cAAc,KAAK;AAAA,QAC3C,MAAM,cAAc,cAAc;AAAA,QAClC,MAAM,SAAS,gBAAgB,KAAK,IAAI,KAAK,WAAW;AAAA,QACxD,SAAS,kBAAkB,QAAQ,MAAM;AAAA,MAC1C;AAAA,MACA,OAAO;AAAA,IACR;AAAA,IAEA,IAAI,QAAQ,KAAK;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,MAAM,OAAO,SAAS;AAAA,MACtB,MAAM,MAAM,SAAS;AAAA,MACrB,MAAM,YAAY,KAAK,YAAY;AAAA,GAAM,MAAM,CAAC,IAAI;AAAA,MACpD,IAAI,YAAY,GAAG;AAAA,QAClB,MAAM,MAAM,MAAM;AAAA,QAClB,MAAM,cAAc,YAAY;AAAA,QAChC,MAAM,gBAAgB,KAAK,YAAY;AAAA,GAAM,cAAc,CAAC,IAAI;AAAA,QAChE,MAAM,cAAc,cAAc;AAAA,QAClC,MAAM,SAAS,gBAAgB,KAAK,IAAI,KAAK,WAAW;AAAA,QACxD,SAAS,kBAAkB,QAAQ,MAAM;AAAA,MAC1C;AAAA,MACA,OAAO;AAAA,IACR;AAAA,IAEA,OAAO;AAAA,KAER;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CACD;AAAA,EAEA,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;;;ACpWD,qBAAS,0BAAU;AAoBZ,SAAS,cAAc,GAAyB;AAAA,EACtD,OAAO,iBAAiB,sBAAsB,UAAS,KAAK;AAAA,EAC5D,OAAO,cAAc,mBAAmB,UAAS,EAAE;AAAA,EACnD,OAAO,sBAAsB,2BAA2B,UAAS,CAAC;AAAA,EAClE,OAAO,qBAAqB,0BAA0B,UAEpD;AAAA,EAEF,MAAM,mBAAmB,aACxB,CACC,UACA,aACA,eACI;AAAA,IACJ,MAAM,WAAW,YAAY;AAAA,IAC7B,IAAI,CAAC;AAAA,MAAU;AAAA,IAEf,MAAM,QAAQ,SAAS;AAAA,IACvB,MAAM,YAAY,SAAS;AAAA,IAC3B,MAAM,mBAAmB,MAAM,MAAM,GAAG,SAAS;AAAA,IAEjD,MAAM,QAAQ,iBAAiB,MAAM,iBAAiB;AAAA,IACtD,IAAI,CAAC;AAAA,MAAO;AAAA,IAEZ,MAAM,QAAQ,YAAY,MAAM,GAAG,SAAS,MAAM,GAAG;AAAA,IACrD,MAAM,WAAW,GAAG,MAAM,MAAM,GAAG,KAAK,KAAK,YAAY,MAAM,MAAM,SAAS;AAAA,IAE9E,WAAW,QAAQ;AAAA,IACnB,mBAAmB,KAAK;AAAA,IAExB,WAAW,MAAM;AAAA,MAChB,MAAM,eAAe,QAAQ,SAAS,SAAS;AAAA,MAC/C,SAAS,kBAAkB,cAAc,YAAY;AAAA,MACrD,SAAS,MAAM;AAAA,OACb,CAAC;AAAA,KAEL,CAAC,CACF;AAAA,EAEA,MAAM,oBAAoB,aAAY,CAAC,SAA6B;AAAA,IACnE,uBAAuB,IAAI;AAAA,KACzB,CAAC,CAAC;AAAA,EAEL,MAAM,kBAAkB,aAAY,CAAC,OAAe,cAAsB;AAAA,IACzE,MAAM,mBAAmB,MAAM,MAAM,GAAG,SAAS;AAAA,IACjD,MAAM,QAAQ,iBAAiB,MAAM,iBAAiB;AAAA,IAEtD,IAAI,OAAO;AAAA,MACV,mBAAmB,IAAI;AAAA,MACvB,gBAAgB,MAAM,EAAE;AAAA,MACxB,wBAAwB,CAAC;AAAA,IAC1B,EAAO;AAAA,MACN,mBAAmB,KAAK;AAAA;AAAA,KAEvB,CAAC,CAAC;AAAA,EAEL,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;;;ACxFD,qBAAS,0BAAU;AA6BZ,SAAS,qBAAqB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAC6D;AAAA,EAC7D,OAAO,wBAAwB,6BAA6B,UAAS,KAAK;AAAA,EAC1E,OAAO,cAAc,mBAAmB,UAAS,EAAE;AAAA,EACnD,OAAO,sBAAsB,2BAA2B,UAAS,CAAC;AAAA,EAClE,OAAO,wBAAwB,6BAA6B,UAE1D;AAAA,EAEF,MAAM,sBAAsB,aAC3B,OAAO,cAAsB;AAAA,IAC5B,MAAM,aAAa,MAAM;AAAA,MACxB,WAAW,EAAE;AAAA,MACb,0BAA0B,KAAK;AAAA,MAC/B,IAAI,YAAY,SAAS;AAAA,QACxB,YAAY,QAAQ,MAAM,SAAS;AAAA,MACpC;AAAA,MACA,YAAY,SAAS,MAAM;AAAA;AAAA,IAG5B,IAAI,cAAc,QAAQ;AAAA,MACzB,sBAAsB,IAAI;AAAA,MAC1B,WAAW;AAAA,MACX;AAAA,IACD;AAAA,IACA,IAAI,cAAc,OAAO;AAAA,MACxB,kBAAkB,EAAE,SAAS,CAAC,eAAe,CAAC;AAAA,MAC9C,WAAW;AAAA,MACX;AAAA,IACD;AAAA,IACA,IAAI,cAAc,aAAa;AAAA,MAC9B,oBAAoB,CAAC,gBAAgB;AAAA,MACrC,WAAW;AAAA,MACX;AAAA,IACD;AAAA,IACA,IAAI,cAAc,QAAQ;AAAA,MACzB,IAAI,WAAW;AAAA,QACd,IAAI;AAAA,UACH,MAAM,UAAU,aAAa,SAAS;AAAA,UACrC,OAAO,OAAO;AAAA,UACf,QAAQ,MAAM,8BAA8B,KAAK;AAAA;AAAA,MAEnD;AAAA,MACA,WAAW;AAAA,MACX;AAAA,IACD;AAAA,IACA,IAAI,WAAW;AAAA,MACd,UAAU,SAAS;AAAA,IACpB;AAAA,IACA,WAAW;AAAA,KAEZ;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CACD;AAAA,EAEA,MAAM,2BAA2B,aAChC,CAAC,cAAkC;AAAA,IAClC,0BAA0B,SAAS;AAAA,KAEpC,CAAC,CACF;AAAA,EAEA,MAAM,kBAAkB,aAAY,CAAC,UAAkB;AAAA,IACtD,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,SAAS,GAAG,GAAG;AAAA,MAClD,0BAA0B,IAAI;AAAA,MAC9B,gBAAgB,MAAM,MAAM,CAAC,CAAC;AAAA,MAC9B,wBAAwB,CAAC;AAAA,IAC1B,EAAO;AAAA,MACN,0BAA0B,KAAK;AAAA;AAAA,KAE9B,CAAC,CAAC;AAAA,EAEL,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;;;ACxGM,SAAS,yBAAyB,CAAC,SAAqC;AAAA,EAC9E,OAAO,CAAC,MAA0C;AAAA,IACjD;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACG;AAAA,IAEJ,IAAI,wBAAwB;AAAA,MAC3B,MAAM,QAAQ,SAAS;AAAA,MACvB,IAAI,EAAE,QAAQ,eAAgB,EAAE,WAAW,EAAE,QAAQ,KAAM;AAAA,QAC1D,EAAE,eAAe;AAAA,QACjB,yBAAyB,uBAAuB,KAAK,KAAK;AAAA,MAC3D,EAAO,SAAI,EAAE,QAAQ,aAAc,EAAE,WAAW,EAAE,QAAQ,KAAM;AAAA,QAC/D,EAAE,eAAe;AAAA,QACjB,yBAAyB,uBAAuB,IAAI,SAAS,KAAK;AAAA,MACnE,EAAO,SAAI,EAAE,QAAQ,SAAS;AAAA,QAC7B,EAAE,eAAe;AAAA,QACjB,IAAI,wBAAwB;AAAA,UAC3B,oBAAoB,sBAAsB;AAAA,QAC3C;AAAA,MACD,EAAO,SAAI,EAAE,QAAQ,UAAU;AAAA,QAC9B,EAAE,eAAe;AAAA,QACjB,0BAA0B,KAAK;AAAA,MAChC;AAAA,MACA;AAAA,IACD;AAAA,IAEA,IAAI,iBAAiB;AAAA,MACpB,IAAI,EAAE,QAAQ,eAAgB,EAAE,WAAW,EAAE,QAAQ,KAAM;AAAA,QAC1D,EAAE,eAAe;AAAA,QACjB,yBAAyB,uBAAuB,KAAK,EAAE;AAAA,MACxD,EAAO,SAAI,EAAE,QAAQ,aAAc,EAAE,WAAW,EAAE,QAAQ,KAAM;AAAA,QAC/D,EAAE,eAAe;AAAA,QACjB,yBAAyB,uBAAuB,IAAI,MAAM,EAAE;AAAA,MAC7D,EAAO,SAAI,EAAE,QAAQ,SAAS;AAAA,QAC7B,EAAE,eAAe;AAAA,QACjB,IAAI,qBAAqB;AAAA,UACxB,iBAAiB,mBAAmB;AAAA,QACrC;AAAA,MACD,EAAO,SAAI,EAAE,QAAQ,UAAU;AAAA,QAC9B,EAAE,eAAe;AAAA,QACjB,mBAAmB,KAAK;AAAA,QACxB,IAAI,gBAAgB;AAAA,UACnB,WAAW,QAAQ;AAAA,QACpB;AAAA,MACD;AAAA,MACA;AAAA,IACD;AAAA,IAEA,IAAI,kBAAkB,YAAY,UAAU;AAAA,MAC3C,MAAM,UAAU,oBAAoB,CAAC;AAAA,MACrC,IAAI;AAAA,QAAS;AAAA,IACd;AAAA,IAEA,IAAI,kBAAkB,YAAY,YAAY,EAAE,QAAQ,UAAU;AAAA,MACjE,EAAE,eAAe;AAAA,MACjB,WAAW,QAAQ;AAAA,MACnB;AAAA,IACD;AAAA,IAEA,IAAI,EAAE,QAAQ,OAAO;AAAA,MACpB,EAAE,eAAe;AAAA,MACjB,MAAM,cAAc,CAAC;AAAA,MACrB,cAAc,WAAW;AAAA,MACzB,mBAAmB,WAAW;AAAA,IAC/B,EAAO,SACN,EAAE,QAAQ,WACV,CAAC,EAAE,aACF,CAAC,kBAAkB,YAAY,WAC/B;AAAA,MACD,EAAE,eAAe;AAAA,MACjB,WAAW;AAAA,IACZ;AAAA;AAAA;;;ACrHF,mBAAS;AA2DF,IAAM,eAAe,QAAkB,CAAC,SAAS;AAAA,EACvD,SAAS;AAAA,EACT,aAAa;AAAA,EACb,SAAS;AAAA,EACT,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,YAAY,CAAC,YAAY,IAAI,EAAE,QAAQ,CAAC;AAAA,EACxC,gBAAgB,CAAC,gBAAgB,IAAI,EAAE,YAAY,CAAC;AAAA,EACpD,YAAY,CAAC,YAAY,IAAI,EAAE,QAAQ,CAAC;AAAA,EACxC,mBAAmB,CAAC,qBAAqB,IAAI,EAAE,iBAAiB,CAAC;AAAA,EACjE,sBAAsB,CAAC,sBAAsB,IAAI,EAAE,kBAAkB,CAAC;AAAA,EACtE,kBAAkB,CAAC,kBAAkB,IAAI,EAAE,cAAc,CAAC;AAAA,EAC1D,YAAY,CAAC,cAAc,IAAI,EAAE,UAAU,CAAC;AAAA,EAC5C,gBAAgB,MAAM,IAAI,EAAE,kBAAkB,KAAK,CAAC;AAAA,EACpD,iBAAiB,MAAM,IAAI,EAAE,kBAAkB,MAAM,CAAC;AAAA,EACtD,UAAU,CAAC,UAAU,IAAI,EAAE,MAAM,CAAC;AAAA,EAClC,SAAS,CAAC,SAAS,IAAI,EAAE,KAAK,CAAC;AAAA,EAC/B,iBAAiB,CAAC,iBAAiB,IAAI,EAAE,aAAa,CAAC;AAAA,EACvD,WAAW,CAAC,WAAW,IAAI,EAAE,OAAO,CAAC;AACtC,EAAE;;;ACrFF,iBAAS,sBAAM,0BAAa;AAC5B,mBAAS,kBAAQ,aAAO;;AASxB,SAAS,UAAU,CAAC,MAAuB;AAAA,EAC1C,IAAI,CAAC;AAAA,IAAM,OAAO;AAAA,EAClB,IAAI,OAAO,SAAS;AAAA,IAAU,OAAO;AAAA,EACrC,IAAI;AAAA,IACH,MAAM,MAAM;AAAA,IACZ,MAAM,MAAM,IAAI,OAAO,IAAI;AAAA,IAC3B,IAAI,OAAO,QAAQ;AAAA,MAAU,OAAO;AAAA,IACpC,MAAM,OAAO,IAAI,QAAQ,IAAI,WAAW,IAAI;AAAA,IAC5C,IAAI,OAAO,SAAS;AAAA,MAAU,OAAO;AAAA,IACrC,MAAM,MAAM,KAAK,UAAU,MAAM,MAAM,CAAC;AAAA,IACxC,OAAO,IAAI,SAAS,MAAM,GAAG,IAAI,MAAM,GAAG,GAAG,SAAS;AAAA,IACrD,MAAM;AAAA,IACP,OAAO,OAAO,IAAI;AAAA;AAAA;AAIpB,SAAS,YAAY;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAME;AAAA,EACF,QAAQ,0BAA0B,qBAAqB;AAAA,EACvD,MAAM,YAAY,SAAS,SAAS,QAAQ,MAAM,GAAG;AAAA,EACrD,MAAM,SAAS,WAAW,SAAS,IAAI;AAAA,EAEvC,MAAM,gBAAgB,aAAY,YAAY;AAAA,IAC7C,UAAU,SAAS,MAAM;AAAA,IACzB,IAAI;AAAA,MACH,MAAM,UAAU,gBAAgB,WAAW,SAAS,QAAQ,IAAI;AAAA,MAChE,sBAAsB,SAAS,MAAM;AAAA,MACpC,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,sBAAsB,KAAK;AAAA;AAAA,KAExC,CAAC,WAAW,SAAS,QAAQ,uBAAuB,SAAS,CAAC;AAAA,EAEjE,MAAM,eAAe,aAAY,YAAY;AAAA,IAC5C,UAAU,SAAS,MAAM;AAAA,IACzB,IAAI;AAAA,MACH,MAAM,UAAU,gBAAgB,WAAW,SAAS,QAAQ,KAAK;AAAA,MACjE,sBAAsB,SAAS,MAAM;AAAA,MACpC,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,qBAAqB,KAAK;AAAA;AAAA,KAEvC,CAAC,WAAW,SAAS,QAAQ,uBAAuB,SAAS,CAAC;AAAA,EAEjE,uBACC,MAsCE,OAtCF;AAAA,IAAK,WAAU;AAAA,IAAf,UAsCE;AAAA,sBArCD,MAAC,SAAD;AAAA,QAAQ,WAAU;AAAA,OAA2C;AAAA,sBAC7D,MAEE,QAFF;AAAA,QAAM,WAAU;AAAA,QAAhB,UACE;AAAA,OACA;AAAA,MACD,0BACA,MAEE,QAFF;AAAA,QAAM,WAAU;AAAA,QAAhB,UACE;AAAA,OACA;AAAA,sBAEH,MA2BE,OA3BF;AAAA,QAAK,WAAU;AAAA,QAAf,UA2BE;AAAA,0BA1BD,MAYE,UAZF;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,UAAU;AAAA,YACV,OAAM;AAAA,YACN,WAAU;AAAA,YALX,UAYE;AAAA,8BALD,MAAC,IAAD;AAAA,gBAAG,WAAU;AAAA,eAAU;AAAA,8BACvB,MAA2C,QAA3C;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAA2C;AAAA,8BAC3C,MAEE,OAFF;AAAA,gBAAK,WAAU;AAAA,gBAAf;AAAA,eAEE;AAAA;AAAA,WACD;AAAA,0BACF,MAYE,UAZF;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,UAAU;AAAA,YACV,OAAM;AAAA,YACN,WAAU;AAAA,YALX,UAYE;AAAA,8BALD,MAAC,QAAD;AAAA,gBAAO,WAAU;AAAA,eAAU;AAAA,cAC1B,eAAe,QAAQ;AAAA,cACvB,CAAC,gCACD,MAAiD,OAAjD;AAAA,gBAAK,WAAU;AAAA,gBAAf;AAAA,eAAiD;AAAA;AAAA,WAEjD;AAAA;AAAA,OACD;AAAA;AAAA,GACD;AAAA;AAIG,IAAM,mBAAmB,MAAK,SAAS,iBAAgB;AAAA,EAC7D;AAAA,GACyB;AAAA,EACzB,QAAQ,kBAAkB,0BAA0B,qBAAqB;AAAA,EACzE,OAAO,cAAc,mBAAmB,UAAwB,IAAI;AAAA,EAEpE,MAAM,mBAAmB,aAAY,YAAY;AAAA,IAChD,IAAI;AAAA,MACH,MAAM,QAAQ,IACb,iBAAiB,IAAI,CAAC,MACrB,UAAU,gBAAgB,WAAW,EAAE,QAAQ,IAAI,CACpD,CACD;AAAA,MACA,WAAW,KAAK,kBAAkB;AAAA,QACjC,sBAAsB,EAAE,MAAM;AAAA,MAC/B;AAAA,MACC,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,0BAA0B,KAAK;AAAA;AAAA,KAE5C,CAAC,WAAW,kBAAkB,qBAAqB,CAAC;AAAA,EAEvD,MAAM,eAAe,iBAAiB,SAAS;AAAA,EAE/C,uBACC,MAuCE,OAvCF;AAAA,IACC,WAAU;AAAA,IACV,OAAO;AAAA,MACN,kBAAkB,eAAe,QAAQ;AAAA,MACzC,SAAS,eAAe,IAAI;AAAA,IAC7B;AAAA,IALD,0BAOC,MA+BE,OA/BF;AAAA,MAAK,WAAU;AAAA,MAAf,0BACC,MA6BE,OA7BF;AAAA,QAAK,WAAU;AAAA,QAAf,UA6BE;AAAA,0BA5BD,MAUE,OAVF;AAAA,YAAK,WAAU;AAAA,YAAf,UACE,iBAAiB,IAAI,CAAC,6BACtB,MAAC,cAAD;AAAA,cAEC;AAAA,cACA;AAAA,cACA,cAAc,iBAAiB,SAAS;AAAA,cACxC,WAAW;AAAA,eAJN,SAAS,MAKf,CACA;AAAA,WACA;AAAA,UACD,iBAAiB,SAAS,qBAC1B,MAcE,OAdF;AAAA,YAAK,WAAU;AAAA,YAAf,UAcE;AAAA,8BAbD,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBADA,iBAAiB;AAAA,kBADnB;AAAA;AAAA,eAEE;AAAA,8BACF,MASE,UATF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,OAAM;AAAA,gBACN,WAAU;AAAA,gBAJX,UASE;AAAA,kCAHD,MAAC,YAAD;AAAA,oBAAY,WAAU;AAAA,mBAAU;AAAA,kBANjC;AAAA,kCAQC,MAAiD,OAAjD;AAAA,oBAAK,WAAU;AAAA,oBAAf;AAAA,mBAAiD;AAAA;AAAA,eAChD;AAAA;AAAA,WACD;AAAA;AAAA,OAEF;AAAA,KACD;AAAA,GACD;AAAA,CAEH;;;;A7BtGM,IAAM,YAAY,MACxB,YAGE,SAAS,UAAS;AAAA,EAElB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,SAAS,CAAC;AAAA,EACV,YAAY,CAAC;AAAA,EACb;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,CAAC;AAAA,EACV;AAAA,GAED,KACC;AAAA,EACD,OAAO,SAAS,cAAc,UAAS,EAAE;AAAA,EACzC,OAAO,YAAY,iBAAiB,UAAS,sBAAsB,KAAK;AAAA,EACxE,OAAO,oBAAoB,yBAAyB,UAAS,KAAK;AAAA,EAClE,OAAO,mBAAmB,wBAAwB,UAAS,KAAK;AAAA,EAChE,MAAM,cAAc,QAA4B,IAAI;AAAA,EACpD,MAAM,mBAAmB,QAAuB,IAAI;AAAA,EAEpD,QAAQ,MAAM,WAAW,WAAW,iBAAiB,SAAS;AAAA,EAC9D,QAAQ,2BAAa,sBAAsB,eAAe;AAAA,EAC1D,QAAQ,MAAM,eAAe,UAAU;AAAA,EACvC,MAAM,yBAAyB,kBAAkB;AAAA,EACjD,MAAM,QAAQ,WAAW,SAAS,CAAC;AAAA,EACnC,MAAM,eAAe,WAAW,gBAAgB,CAAC;AAAA,EAEjD,MAAM,mBAAmB,aAAa,CAAC,MAAM,EAAE,YAAY;AAAA,EAC3D,MAAM,SAAS,iBAAiB;AAAA,EAChC,MAAM,gBAAgB,SAAQ,MAAM;AAAA,IACnC,IAAI,CAAC;AAAA,MAAQ,OAAO;AAAA,IACpB,IAAI,kBAAkB,QAAQ;AAAA,MAC7B,OAAO,iBAAiB,YAAY;AAAA,IACrC;AAAA,IACA,OAAO;AAAA,KACL,CAAC,QAAQ,gBAAgB,CAAC;AAAA,EAE7B,WAAU,MAAM;AAAA,IACf,IAAI,CAAC;AAAA,MAAmB;AAAA,IACxB,MAAM,qBAAqB,CAAC,UAAsB;AAAA,MACjD,IACC,iBAAiB,WACjB,CAAC,iBAAiB,QAAQ,SAAS,MAAM,MAAc,GACtD;AAAA,QACD,qBAAqB,KAAK;AAAA,MAC3B;AAAA;AAAA,IAED,SAAS,iBAAiB,aAAa,kBAAkB;AAAA,IACzD,OAAO,MACN,SAAS,oBAAoB,aAAa,kBAAkB;AAAA,KAC3D,CAAC,iBAAiB,CAAC;AAAA,EAEtB,MAAM,gBAAgB,QAAmB,MAAM,EAAE;AAAA,EAEjD;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB;AAAA,MACG,eAAe;AAAA,EAEnB;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACG,sBAAsB;AAAA,IACzB;AAAA,IACA;AAAA,IACA,qBAAqB,CAAC,YACrB,uBAAuB,OAAO;AAAA,MAC7B,eAAe;AAAA,MACf,OAAO;AAAA,IACR,CAAC;AAAA,IACF,gBAAgB,aAAY;AAAA,IAC5B,kBAAkB,YAAY,UAAU,iBAAiB;AAAA,IACzD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EAED,QAAQ,SAAS,YAAY,wBAAwB,WAAW;AAAA,IAC/D,SAAS,aAAY;AAAA,IACrB,QAAQ,MAAM,cAAc,QAAQ;AAAA,IACpC;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EAED,WAAU,MAAM;AAAA,IACf,YAAY,SAAS,MAAM;AAAA,KACzB,CAAC,CAAC;AAAA,EAEL,WAAU,MAAM;AAAA,IACf,IAAI,uBAAuB,WAAW;AAAA,MACrC,cAAc,kBAAkB;AAAA,IACjC;AAAA,KACE,CAAC,kBAAkB,CAAC;AAAA,EAEvB,oBAAoB,KAAK,OAAO;AAAA,IAC/B,OAAO,MAAM;AAAA,MACZ,YAAY,SAAS,MAAM;AAAA;AAAA,IAE5B,UAAU,CAAC,UAAkB;AAAA,MAC5B,WAAW,KAAK;AAAA,MAChB,YAAY,SAAS,MAAM;AAAA;AAAA,EAE7B,EAAE;AAAA,EAEF,MAAM,uBAAuB,aAAY,MAAM;AAAA,IAC9C,MAAM,WAAW,YAAY;AAAA,IAC7B,IAAI,CAAC;AAAA,MAAU;AAAA,IACf,SAAS,MAAM,SAAS;AAAA,IACxB,SAAS,MAAM,SAAS,GAAG,SAAS;AAAA,KAClC,CAAC,CAAC;AAAA,EAGL,WAAU,MAAM;AAAA,IACf,qBAAqB;AAAA,KACnB,CAAC,sBAAsB,OAAO,CAAC;AAAA,EAElC,MAAM,qBAAqB,aAAY,MAAM;AAAA,IAC5C,mBAAmB,KAAK;AAAA,IACxB,uBAAuB,SAAS;AAAA,KAC9B,CAAC,oBAAoB,sBAAsB,CAAC;AAAA,EAE/C,MAAM,qBAAqB,aAAY,MAAM;AAAA,IAC5C,0BAA0B,KAAK;AAAA,IAC/B,0BAA0B,SAAS;AAAA,KACjC,CAAC,2BAA2B,yBAAyB,CAAC;AAAA,EAEzD,MAAM,sBAAsB,aAC3B,CAAC,aAAqB;AAAA,IACrB,WAAW,UAAU,aAAa,UAAU;AAAA,KAE7C,CAAC,UAAU,CACZ;AAAA,EAEA,MAAM,aAAa,aAAY,MAAM;AAAA,IACpC,IAAI,CAAC,QAAQ,KAAK,KAAK;AAAA,MAAU;AAAA,IAEjC,OAAO,OAAO;AAAA,IACd,WAAW,EAAE;AAAA,IACb,mBAAmB,KAAK;AAAA,IACxB,0BAA0B,KAAK;AAAA,IAC/B,uBAAuB,SAAS;AAAA,IAChC,0BAA0B,SAAS;AAAA,IAEnC,IAAI,YAAY,SAAS;AAAA,MACxB,YAAY,QAAQ,MAAM,SAAS;AAAA,IACpC;AAAA,IAEA,IAAI,aAAY,SAAS;AAAA,MACxB,WAAW,QAAQ;AAAA,IACpB;AAAA,IAEA,YAAY,SAAS,MAAM;AAAA,KACzB;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EAED,WAAU,MAAM;AAAA,IACf,cAAc,UAAU;AAAA,KACtB,CAAC,UAAU,CAAC;AAAA,EAEf,MAAM,eAAe,aACpB,CAAC,MAAwC;AAAA,IACxC,IAAI,aAAY,WAAW,YAAY,UAAU;AAAA,MAChD;AAAA,IACD;AAAA,IAEA,MAAM,QAAQ,EAAE,OAAO;AAAA,IACvB,WAAW,KAAK;AAAA,IAEhB,gBAAgB,KAAK;AAAA,IAErB,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,SAAS,GAAG,GAAG;AAAA,MAClD,mBAAmB,KAAK;AAAA,MACxB,uBAAuB,SAAS;AAAA,IACjC,EAAO;AAAA,MACN,0BAA0B,KAAK;AAAA,MAC/B,0BAA0B,SAAS;AAAA,MACnC,gBAAgB,OAAO,EAAE,OAAO,cAAc;AAAA;AAAA,KAGhD;AAAA,IACC,aAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CACD;AAAA,EAEA,MAAM,gBAAgB,SACrB,MACC,0BAA0B;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB,aAAY;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC,GACF;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CACD;AAAA,EAEA,WAAU,MAAM;AAAA,IACf,IAAI,CAAC,aAAY,SAAS;AAAA,MACzB,WAAW,QAAQ;AAAA,IACpB;AAAA,KACE,CAAC,aAAY,SAAS,UAAU,CAAC;AAAA,EAEpC,MAAM,sBAAsB,aAC3B,CAAC,MAA2C;AAAA,IAC3C,UAAU,CAA8B;AAAA,KAEzC,CAAC,OAAO,CACT;AAAA,EAEA,MAAM,YAAY,OAAO,SAAS;AAAA,EAClC,MAAM,eAAe,UAAU,SAAS;AAAA,EACxC,MAAM,WAAW,aAAa;AAAA,EAC9B,MAAM,kBAAkB,aAAY,mBACjC,wCACA;AAAA,EAEH,uBACC;AAAA,cAwSE;AAAA,MAvSA,eACC,MAAM;AAAA,QACN,MAAM,cAAc,iBAAiB;AAAA,QACrC,MAAM,YAAY;AAAA,UACjB,GAAI,gBAAgB,CAAC,QAAQ,IAAI,CAAC;AAAA,UAClC,GAAI,oBAAoB,CAAC,KAAK,IAAI,CAAC;AAAA,UACnC;AAAA,UACA;AAAA,QACD,EAAE,KAAK,IAAI;AAAA,QACX,uBACC,MAoBE,OApBF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,MAkBE,OAlBF;AAAA,YACC,WAAW,2EAA2E,cAAc,8BAA8B;AAAA,YADnI,UAkBE;AAAA,8BAfD,MAME,OANF;AAAA,gBACC,WAAW,oBAAoB,cAAc,kBAAkB;AAAA,gBADhE,0BAGC,MAAC,UAAD;AAAA,kBACC,WAAW,aAAa,cAAc,iBAAiB;AAAA,iBACxD;AAAA,eACC;AAAA,8BACF,MAOE,OAPF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAOE;AAAA,kCAND,MAEE,KAFF;AAAA,oBAAG,WAAU;AAAA,oBAAb;AAAA,mBAEE;AAAA,kCACF,MAEE,KAFF;AAAA,oBAAG,WAAU;AAAA,oBAAb,UAEE;AAAA,sBADA;AAAA,sBADF;AAAA;AAAA,mBAEE;AAAA;AAAA,eACD;AAAA;AAAA,WACD;AAAA,SACD;AAAA,SAED;AAAA,sBACJ,MAqQE,OArQF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,MAmQE,OAnQF;AAAA,UAAK,WAAW;AAAA,UAAhB,UAmQE;AAAA,YAlQA,aAAY,WAAW,YAAY,4BACnC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE;AAAA,YAEF,aAAY,WAAW,YAAY,4BACnC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE;AAAA,YAEF,6BACA,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACC,MAAC,kBAAD;AAAA,gBAAkB;AAAA,eAAsB;AAAA,aACvC;AAAA,4BAEH,MAuHE,OAvHF;AAAA,cACC,WAAW,iFACV,aACG,sOACA;AAAA,cAJL,UAuHE;AAAA,gBAhHA,4BACA,MAwCE,OAxCF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAwCE;AAAA,oBAvCA,OAAO,IAAI,CAAC,wBACZ,MAgBE,OAhBF;AAAA,sBAEC,WAAU;AAAA,sBAFX,UAgBE;AAAA,wCAZD,MAAC,OAAD;AAAA,0BACC,KAAK,IAAI;AAAA,0BACT,KAAI;AAAA,0BACJ,WAAU;AAAA,yBACX;AAAA,wCACA,MAME,UANF;AAAA,0BACC,MAAK;AAAA,0BACL,SAAS,MAAM,eAAe,IAAI,EAAE;AAAA,0BACpC,WAAU;AAAA,0BAHX,0BAKC,MAAC,IAAD;AAAA,4BAAG,WAAU;AAAA,2BAAqB;AAAA,yBACjC;AAAA;AAAA,uBAdG,IAAI,EAeR,CACF;AAAA,oBACA,UAAU,IAAI,CAAC,wBACf,MAiBE,OAjBF;AAAA,sBAEC,WAAU;AAAA,sBAFX,UAiBE;AAAA,wBAbA,IAAI,SAAS,wBACb,MAAC,UAAD;AAAA,0BAAU,WAAU;AAAA,yBAAqC,oBAEzD,MAAC,WAAD;AAAA,0BAAU,WAAU;AAAA,yBAAsC;AAAA,wCAE3D,MAA+C,QAA/C;AAAA,0BAAM,WAAU;AAAA,0BAAhB,UAAoC,IAAI;AAAA,yBAAO;AAAA,wCAC/C,MAME,UANF;AAAA,0BACC,MAAK;AAAA,0BACL,SAAS,MAAM,eAAe,IAAI,EAAE;AAAA,0BACpC,WAAU;AAAA,0BAHX,0BAKC,MAAC,IAAD;AAAA,4BAAG,WAAU;AAAA,2BAAqB;AAAA,yBACjC;AAAA;AAAA,uBAfG,IAAI,EAgBR,CACF;AAAA;AAAA,iBACA;AAAA,gBAGF,iBAAiB,SAAS,qBAC1B,MAqBE,OArBF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UACE,iBAAiB,IAAI,CAAC,wBACtB,MAiBE,OAjBF;AAAA,oBAEC,WAAU;AAAA,oBAFX,UAiBE;AAAA,sCAbD,MAAC,cAAD;AAAA,wBAAc,WAAU;AAAA,uBAAsC;AAAA,sCAC9D,MAEE,QAFF;AAAA,wBAAM,WAAU;AAAA,wBAAhB,UACE,IAAI;AAAA,uBACJ;AAAA,sBACD,2CACA,MAME,UANF;AAAA,wBACC,MAAK;AAAA,wBACL,SAAS,MAAM,wBAAwB,IAAI,EAAE;AAAA,wBAC7C,WAAU;AAAA,wBAHX,0BAKC,MAAC,IAAD;AAAA,0BAAG,WAAU;AAAA,yBAAqB;AAAA,uBACjC;AAAA;AAAA,qBAdE,IAAI,EAgBR,CACF;AAAA,iBACA;AAAA,gCAGH,MA0CE,OA1CF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UA0CE;AAAA,oBAzCA,iCACA,MAME,UANF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,WAAU;AAAA,sBAHX,0BAKC,MAAC,cAAD;AAAA,wBAAc,WAAU;AAAA,uBAAU;AAAA,qBACjC;AAAA,oCAEH,MAAC,UAAD;AAAA,sBACC,KAAK;AAAA,sBACL,OAAO;AAAA,sBACP,UAAU;AAAA,sBACV,WAAW;AAAA,sBACX,SAAS;AAAA,sBACT,aACC,aACG,kCACA;AAAA,sBAEJ;AAAA,sBACA,MAAM;AAAA,sBACN,WAAW,4HACV,aAAY,WAAW,YAAY,WAChC,gBACA;AAAA,sBAEJ,OAAO,EAAE,QAAQ,SAAS;AAAA,qBAC3B;AAAA,oCACA,MAWE,UAXF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,UAAU,YAAa,CAAC,QAAQ,KAAK,KAAK,CAAC;AAAA,sBAC3C,WAAW,8GACV,QAAQ,KAAK,KAAK,WACf,gFACA;AAAA,sBAPL,0BAUC,MAAC,SAAD;AAAA,wBAAS,WAAU;AAAA,uBAAU;AAAA,qBAC5B;AAAA;AAAA,iBACD;AAAA;AAAA,aACD;AAAA,aAEA,oBACD,iBACA,aACA,gBACA,YACA,0BACA,MAsFE,OAtFF;AAAA,cAAK,WAAU;AAAA,cAAf,UAsFE;AAAA,gCArFD,MAiCE,OAjCF;AAAA,kBACC,WAAU;AAAA,kBACV,KAAK;AAAA,kBAFN,UAiCE;AAAA,oBA7BA,SAAS,OAAO,SAAS,qBACzB,MASE,UATF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS,MAAM,qBAAqB,CAAC,iBAAiB;AAAA,sBACtD,WAAU;AAAA,sBAHX,UASE;AAAA,wCAJD,MAAiD,QAAjD;AAAA,0BAAM,WAAU;AAAA,0BAAhB,UAAyC;AAAA,yBAAQ;AAAA,wCACjD,MAAC,WAAD;AAAA,0BACC,WAAW,oCAAoC,oBAAoB,eAAe;AAAA,yBACnF;AAAA;AAAA,qBACC;AAAA,oBAEF,qCACA,MAcE,OAdF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UACE,OAAO,IAAI,CAAC,sBACZ,MAUE,UAVF;AAAA,wBAEC,MAAK;AAAA,wBACL,SAAS,MAAM;AAAA,0BACd,gBAAgB,CAAC;AAAA,0BACjB,qBAAqB,KAAK;AAAA;AAAA,wBAE3B,WAAW,0EAA0E,MAAM,QAAQ,6CAA6C;AAAA,wBAPjJ,UASE;AAAA,yBARI,CASJ,CACF;AAAA,qBACA;AAAA;AAAA,iBAEF;AAAA,gCACF,MAiCE,OAjCF;AAAA,kBAAK,WAAU;AAAA,kBAAf,WACG,gBAAgB,aAAa,6BAC9B,MA6BE,OA7BF;AAAA,oBAAK,WAAU;AAAA,oBAAf,0BACC,MA2BE,UA3BF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,WAAU;AAAA,sBAHX,UA2BE;AAAA,wBAtBA,gCACA;AAAA,oCAOE;AAAA,4CAND,MAAC,cAAD;AAAA,8BACC,UAAU;AAAA,8BACV,MAAM;AAAA,8BACN,WAAU;AAAA,6BACX;AAAA,4CACA,MAAgC,QAAhC;AAAA,8BAAM,WAAU;AAAA,8BAAhB;AAAA,6BAAgC;AAAA;AAAA,yBAC/B;AAAA,wBAEF,6BAAa,MAAmB,QAAnB;AAAA,oCAAO;AAAA,yBAAY;AAAA,wBAChC,YAAY,aAAa,2BACzB,MAAoC,QAApC;AAAA,0BAAM,WAAU;AAAA,0BAAhB;AAAA,yBAAoC;AAAA,wBAEpC,UAAU,iCACV,MAEE,QAFF;AAAA,0BAAM,WAAU;AAAA,0BAAhB,UAEE;AAAA,4BAFF;AAAA,4BACG,cAAc,YAAY;AAAA,4BAD7B;AAAA;AAAA,yBAEE;AAAA,wBAEF,+BACA,MAAqC,QAArC;AAAA,0BAAM,WAAU;AAAA,0BAAhB;AAAA,yBAAqC;AAAA;AAAA,qBAErC;AAAA,mBACD;AAAA,iBAEF;AAAA,gCACF,MAgBE,OAhBF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAgBE;AAAA,oBAfA,oCACA,MAME,QANF;AAAA,sBAAM,WAAU;AAAA,sBAAhB,UAME;AAAA,wCALD,MAAC,QAAD;AAAA,0BAAO,WAAU;AAAA,yBAAwB;AAAA,yBACvC,YAAY,UAAU,kBAAkB,QAAQ,QACjD,SACA,QACD;AAAA;AAAA,qBACC;AAAA,oBAEF,iCACA,MAGE,QAHF;AAAA,sBAAM,WAAU;AAAA,sBAAhB,UAGE;AAAA,wCAFD,MAAC,WAAD;AAAA,0BAAW,WAAU;AAAA,yBAAU;AAAA,wBADhC;AAAA;AAAA,qBAGE;AAAA;AAAA,iBAEF;AAAA;AAAA,aACD;AAAA,YAGF,mBAAmB,CAAC,gCACpB,MAAC,kBAAD;AAAA,cACC;AAAA,cACA;AAAA,cACA,OAAO;AAAA,cACP,eAAe;AAAA,cACf,UAAU;AAAA,cACV,eAAe;AAAA,cACf,SAAS;AAAA,aACV;AAAA,YAGA,0CACA,MAAC,yBAAD;AAAA,cACC,OAAO;AAAA,cACP,eAAe;AAAA,cACf,UAAU;AAAA,cACV,eAAe;AAAA,cACf,SAAS;AAAA,cACT;AAAA,aACD;AAAA,4BAGD,MAAC,gBAAD;AAAA,cACC,QAAQ;AAAA,cACR,SAAS,MAAM,sBAAsB,KAAK;AAAA,aAC3C;AAAA;AAAA,SACC;AAAA,OACD;AAAA;AAAA,GACD;AAAA,CAEH,CACF;;A8BhqBA;AAAA,UACC;AAAA,cACA;AAAA,iBACA;AAAA,eACA;AAAA,YACA;AAAA,gBACA;AAAA,yBACA;AAAA,aACA;AAAA;AAED,2BAAS;;;ACVT,qBAAS,0BAAU,gCAAa;;;ACAhC;AAAA;AAAA,iBAEC;AAAA,oBACA;AAAA;AAED,oBAAS;AAST,IAAM,qBAAqB;AAEpB,IAAM,mBAAmB,CAAC,YAAY,MAAM;AAE5C,SAAS,mBAAmB,GAAG;AAAA,EACrC,OAAO,iBAAiB;AAAA,IACvB,UAAU;AAAA,IACV,SAAS,GAAG,YAAY,QACvB,UAAU,gBAAgB;AAAA,MACzB,OAAO;AAAA,MACP,QAAQ;AAAA,IACT,CAAC;AAAA,IACF,kBAAkB,CAAC,aAAa,SAAS,cAAc;AAAA,IACvD,kBAAkB;AAAA,IAClB,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,sBAAsB;AAAA,EACvB,CAAC;AAAA;AAGK,SAAS,WAAW,GAAG;AAAA,EAC7B,MAAM,QAAQ,oBAAoB;AAAA,EAClC,MAAM,OAAO,SAAmB,MAAM;AAAA,IACrC,IAAI,CAAC,MAAM,MAAM;AAAA,MAAO,OAAO,CAAC;AAAA,IAChC,OAAO,MAAM,KAAK,MAAM,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAAA,KAClD,CAAC,MAAM,IAAI,CAAC;AAAA,EAEf,OAAO;AAAA,IACN;AAAA,IACA,WAAW,MAAM;AAAA,IACjB,SAAS,MAAM;AAAA,IACf,OAAO,MAAM;AAAA,IACb,aAAa,MAAM;AAAA,IACnB,eAAe,MAAM;AAAA,IACrB,oBAAoB,MAAM;AAAA,EAC3B;AAAA;AAGM,SAAS,UAAU,CAAC,WAAmB;AAAA,EAC7C,QAAQ,MAAM,aAAa,YAAY;AAAA,EACvC,OAAO,UAAU,KAAK,CAAC,MAAM,EAAE,OAAO,SAAS;AAAA;AAGzC,SAAS,gBAAgB,GAAG;AAAA,EAClC,MAAM,cAAc,gBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,CAAC,SAA+B,UAAU,cAAc,IAAI;AAAA,IACxE,WAAW,CAAC,eAAe;AAAA,MAC1B,YAAY,aACX,kBACA,CAAC,QAAQ;AAAA,QACR,IAAI,CAAC;AAAA,UAAK,OAAO;AAAA,QACjB,MAAM,YAAY,IAAI,MAAM;AAAA,QAC5B,IAAI,CAAC;AAAA,UAAW,OAAO;AAAA,QACvB,OAAO;AAAA,aACH;AAAA,UACH,OAAO;AAAA,YACN,KAAK,WAAW,OAAO,CAAC,YAAY,GAAG,UAAU,KAAK,EAAE;AAAA,YACxD,GAAG,IAAI,MAAM,MAAM,CAAC;AAAA,UACrB;AAAA,QACD;AAAA,OAEF;AAAA,MACA,YAAY,kBAAkB,EAAE,UAAU,iBAAiB,CAAC;AAAA;AAAA,EAE9D,CAAC;AAAA;AAGK,SAAS,gBAAgB,CAAC,WAAmB;AAAA,EACnD,MAAM,cAAc,gBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,CAAC,SACZ,UAAU,cAAc,WAAW,IAAI;AAAA,IACxC,WAAW,YAAY;AAAA,MACtB,MAAM,YAAY,kBAAkB,EAAE,UAAU,iBAAiB,CAAC;AAAA,MAClE,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAAC,WAAW,SAAS,EAAE,CAAC;AAAA;AAAA,EAE1E,CAAC;AAAA;AAGK,SAAS,gBAAgB,GAAG;AAAA,EAClC,MAAM,cAAc,gBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,CAAC,cAAsB,UAAU,cAAc,SAAS;AAAA,IACpE,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,iBAAiB,CAAC;AAAA;AAAA,EAE9D,CAAC;AAAA;;;AD9FK,SAAS,WAAW,CAC1B,WACA,UAA8B,CAAC,GAC9B;AAAA,EACD,QAAQ,UAAU,MAAM,YAAY,UAAW;AAAA,EAE/C,OAAO,UAAS;AAAA,IACf,UAAU,CAAC,YAAY,SAAS;AAAA,IAChC,SAAS,MAAM;AAAA,MACd,IAAI,CAAC,WAAW;AAAA,QACf,MAAM,IAAI,MAAM,wBAAwB;AAAA,MACzC;AAAA,MACA,OAAO,UAAU,YAAY,SAAS;AAAA;AAAA,IAEvC,SAAS,CAAC,CAAC,aAAa;AAAA,IACxB;AAAA,IACA,sBAAsB;AAAA,EACvB,CAAC;AAAA;AAGK,SAAS,cAAc,CAAC,WAAmB;AAAA,EACjD,MAAM,cAAc,gBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,CAAC,SACZ,UAAU,YAAY,WAAW,IAAI;AAAA,IACtC,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,YAAY,SAAS,EAAE,CAAC;AAAA,MACnE,YAAY,kBAAkB,EAAE,UAAU,iBAAiB,CAAC;AAAA;AAAA,EAE9D,CAAC;AAAA;;;AExCF,qBAAS,0BAAU,gCAAa;;;ACAhC,mBAAS;;;ACAT,mBAAS;;;ACAT,mBAAS;;;ACAT,mBAAS;;;ACAT,mBAAS;;;ACAT,mBAAS;;;ACAT,mBAAS;;;ACAT,mBAAS;AAiCF,IAAM,iBAAiB,QAAoB,CAAC,SAAS;AAAA,EAC3D,YAAY;AAAA,EACZ,QAAQ,CAAC;AAAA,EACT,eAAe;AAAA,EACf,cAAc;AAAA,EACd,aAAa;AAAA,EAEb,eAAe,MAAM;AAAA,IACpB,IAAI,CAAC,UAAU;AAAA,MACd,MAAM,cAAc,CAAC,MAAM;AAAA,MAC3B,IAAI,aAAa;AAAA,QAChB,YAAY,SAAS,EAAE,gBAAgB;AAAA,QACvC,qBAAqB,SAAS,EAAE,gBAAgB;AAAA,QAChD,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,QAC5C,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,QAC5C,eAAe,SAAS,EAAE,gBAAgB;AAAA,QAC1C,oBAAoB,SAAS,EAAE,gBAAgB;AAAA,QAC/C,YAAY,SAAS,EAAE,gBAAgB;AAAA,MACxC;AAAA,MACA,OAAO,EAAE,YAAY,YAAY;AAAA,KACjC;AAAA;AAAA,EAGF,eAAe,MAAM;AAAA,IACpB,YAAY,SAAS,EAAE,gBAAgB;AAAA,IACvC,qBAAqB,SAAS,EAAE,gBAAgB;AAAA,IAChD,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,IAC5C,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,IAC5C,eAAe,SAAS,EAAE,gBAAgB;AAAA,IAC1C,oBAAoB,SAAS,EAAE,gBAAgB;AAAA,IAC/C,YAAY,SAAS,EAAE,gBAAgB;AAAA,IACvC,IAAI,EAAE,YAAY,KAAK,CAAC;AAAA;AAAA,EAGzB,iBAAiB,MAAM,IAAI,EAAE,YAAY,MAAM,CAAC;AAAA,EAEhD,WAAW,CAAC,WAAW,IAAI,EAAE,OAAO,CAAC;AAAA,EAErC,aAAa,CAAC,SACb,IAAI,EAAE,eAAe,MAAM,cAAc,OAAO,aAAa,KAAK,CAAC;AAAA,EAEpE,YAAY,CAAC,SAAS,IAAI,EAAE,cAAc,MAAM,aAAa,KAAK,CAAC;AAAA,EAEnE,aAAa,MAAM,IAAI,EAAE,cAAc,OAAO,aAAa,KAAK,CAAC;AAClE,EAAE;;;AD1BK,IAAM,cAAc,QAAiB,CAAC,SAAS;AAAA,EACrD,YAAY;AAAA,EACZ,SAAS,CAAC;AAAA,EACV,SAAS,IAAI;AAAA,EACb,UAAU,IAAI;AAAA,EACd,eAAe;AAAA,EAEf,eAAe,MAAM;AAAA,IACpB,IAAI,CAAC,UAAU;AAAA,MACd,MAAM,cAAc,CAAC,MAAM;AAAA,MAC3B,IAAI,aAAa;AAAA,QAChB,YAAY,SAAS,EAAE,gBAAgB;AAAA,QACvC,qBAAqB,SAAS,EAAE,gBAAgB;AAAA,QAChD,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,QAC5C,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,QAC5C,eAAe,SAAS,EAAE,gBAAgB;AAAA,QAC1C,oBAAoB,SAAS,EAAE,gBAAgB;AAAA,QAC/C,eAAe,SAAS,EAAE,gBAAgB;AAAA,MAC3C;AAAA,MACA,OAAO,EAAE,YAAY,YAAY;AAAA,KACjC;AAAA;AAAA,EAGF,eAAe,MAAM;AAAA,IACpB,YAAY,SAAS,EAAE,gBAAgB;AAAA,IACvC,qBAAqB,SAAS,EAAE,gBAAgB;AAAA,IAChD,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,IAC5C,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,IAC5C,eAAe,SAAS,EAAE,gBAAgB;AAAA,IAC1C,oBAAoB,SAAS,EAAE,gBAAgB;AAAA,IAC/C,eAAe,SAAS,EAAE,gBAAgB;AAAA,IAC1C,IAAI,EAAE,YAAY,KAAK,CAAC;AAAA;AAAA,EAGzB,iBAAiB,MAAM,IAAI,EAAE,YAAY,MAAM,CAAC;AAAA,EAEhD,YAAY,CAAC,YAAY,IAAI,EAAE,QAAQ,CAAC;AAAA,EAExC,YAAY,CAAC,MAAM,YAClB,IAAI,CAAC,UAAU;AAAA,IACd,MAAM,OAAO,IAAI,IAAI,MAAM,OAAO;AAAA,IAClC,IAAI;AAAA,MAAS,KAAK,IAAI,IAAI;AAAA,IACrB;AAAA,WAAK,OAAO,IAAI;AAAA,IACrB,OAAO,EAAE,SAAS,KAAK;AAAA,GACvB;AAAA,EAEF,cAAc,CAAC,MAAM,YACpB,IAAI,CAAC,WAAW;AAAA,IACf,SAAS,MAAM,QAAQ,IAAI,CAAC,MAC3B,EAAE,SAAS,OAAO,KAAK,MAAM,QAAQ,IAAI,CAC1C;AAAA,EACD,EAAE;AAAA,EAEH,YAAY,CAAC,MAAM,QAClB,IAAI,CAAC,UAAU;AAAA,IACd,MAAM,OAAO,IAAI,IAAI,MAAM,QAAQ;AAAA,IACnC,IAAI;AAAA,MAAK,KAAK,IAAI,MAAM,GAAG;AAAA,IACtB;AAAA,WAAK,OAAO,IAAI;AAAA,IACrB,OAAO,EAAE,UAAU,KAAK;AAAA,GACxB;AAAA,EAEF,kBAAkB,CAAC,SAAS,IAAI,EAAE,eAAe,KAAK,CAAC;AACxD,EAAE;;;AD1FK,IAAM,sBAAsB,QAAyB,CAAC,SAAS;AAAA,EACrE,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc,IAAI;AAAA,EAElB,eAAe,MAAM;AAAA,IACpB,IAAI,CAAC,UAAU;AAAA,MACd,MAAM,cAAc,CAAC,MAAM;AAAA,MAC3B,IAAI,aAAa;AAAA,QAChB,YAAY,SAAS,EAAE,gBAAgB;AAAA,QACvC,qBAAqB,SAAS,EAAE,gBAAgB;AAAA,QAChD,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,QAC5C,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,QAC5C,eAAe,SAAS,EAAE,gBAAgB;AAAA,QAC1C,YAAY,SAAS,EAAE,gBAAgB;AAAA,QACvC,eAAe,SAAS,EAAE,gBAAgB;AAAA,MAC3C;AAAA,MACA,OAAO,EAAE,YAAY,YAAY;AAAA,KACjC;AAAA;AAAA,EAEF,eAAe,MAAM;AAAA,IACpB,YAAY,SAAS,EAAE,gBAAgB;AAAA,IACvC,qBAAqB,SAAS,EAAE,gBAAgB;AAAA,IAChD,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,IAC5C,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,IAC5C,eAAe,SAAS,EAAE,gBAAgB;AAAA,IAC1C,YAAY,SAAS,EAAE,gBAAgB;AAAA,IACvC,eAAe,SAAS,EAAE,gBAAgB;AAAA,IAC1C,IAAI,EAAE,YAAY,KAAK,CAAC;AAAA;AAAA,EAEzB,iBAAiB,MAChB,IAAI;AAAA,IACH,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,cAAc;AAAA,EACf,CAAC;AAAA,EACF,UAAU,CAAC,SACV,IAAI;AAAA,IACH,cAAc;AAAA,IACd,cAAc;AAAA,EACf,CAAC;AAAA,EACF,aAAa,MACZ,IAAI;AAAA,IACH,cAAc;AAAA,IACd,cAAc;AAAA,EACf,CAAC;AAAA,EACF,WAAW,CAAC,SACX,IAAI,CAAC,UAAU;AAAA,IACd,MAAM,OAAO,IAAI,IAAI,MAAM,YAAY;AAAA,IACvC,IAAI,KAAK,IAAI,IAAI,GAAG;AAAA,MACnB,KAAK,OAAO,IAAI;AAAA,IACjB,EAAO;AAAA,MACN,KAAK,IAAI,IAAI;AAAA;AAAA,IAEd,OAAO,EAAE,cAAc,KAAK;AAAA,GAC5B;AACH,EAAE;;;ADlDK,IAAM,iBAAiB,QAAoB,CAAC,SAAS;AAAA,EAC3D,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,EAEV,eAAe,MAAM;AAAA,IACpB,IAAI,CAAC,UAAU;AAAA,MACd,MAAM,cAAc,CAAC,MAAM;AAAA,MAC3B,IAAI,aAAa;AAAA,QAChB,YAAY,SAAS,EAAE,gBAAgB;AAAA,QACvC,qBAAqB,SAAS,EAAE,gBAAgB;AAAA,QAChD,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,QAC5C,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,QAC5C,oBAAoB,SAAS,EAAE,gBAAgB;AAAA,QAC/C,YAAY,SAAS,EAAE,gBAAgB;AAAA,QACvC,eAAe,SAAS,EAAE,gBAAgB;AAAA,MAC3C;AAAA,MACA,OAAO,EAAE,YAAY,YAAY;AAAA,KACjC;AAAA;AAAA,EAGF,eAAe,MAAM;AAAA,IACpB,YAAY,SAAS,EAAE,gBAAgB;AAAA,IACvC,qBAAqB,SAAS,EAAE,gBAAgB;AAAA,IAChD,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,IAC5C,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,IAC5C,oBAAoB,SAAS,EAAE,gBAAgB;AAAA,IAC/C,YAAY,SAAS,EAAE,gBAAgB;AAAA,IACvC,eAAe,SAAS,EAAE,gBAAgB;AAAA,IAC1C,IAAI,EAAE,YAAY,KAAK,CAAC;AAAA;AAAA,EAGzB,iBAAiB,MAAM,IAAI,EAAE,YAAY,MAAM,CAAC;AAAA,EAEhD,WAAW,CAAC,WAAW,IAAI,EAAE,OAAO,CAAC;AAAA,EACrC,QAAQ,CAAC,QAAQ,IAAI,EAAE,IAAI,CAAC;AAAA,EAC5B,WAAW,CAAC,WAAW,IAAI,EAAE,OAAO,CAAC;AAAA,EACrC,UAAU,CAAC,UAAU,IAAI,EAAE,MAAM,CAAC;AAAA,EAClC,aAAa,CAAC,aAAa,IAAI,EAAE,SAAS,CAAC;AAAA,EAE3C,OAAO,MACN,IAAI;AAAA,IACH,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,UAAU;AAAA,EACX,CAAC;AACH,EAAE;;;ADjEK,IAAM,mBAAmB,SAAsB,CAAC,SAAS;AAAA,EAC/D,YAAY;AAAA,EAEZ,eAAe,MAAM;AAAA,IACpB,IAAI,CAAC,UAAU;AAAA,MACd,MAAM,cAAc,CAAC,MAAM;AAAA,MAC3B,IAAI,aAAa;AAAA,QAChB,YAAY,SAAS,EAAE,gBAAgB;AAAA,QACvC,qBAAqB,SAAS,EAAE,gBAAgB;AAAA,QAChD,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,QAC5C,eAAe,SAAS,EAAE,gBAAgB;AAAA,QAC1C,oBAAoB,SAAS,EAAE,gBAAgB;AAAA,QAC/C,YAAY,SAAS,EAAE,gBAAgB;AAAA,QACvC,eAAe,SAAS,EAAE,gBAAgB;AAAA,MAC3C;AAAA,MACA,OAAO,EAAE,YAAY,YAAY;AAAA,KACjC;AAAA;AAAA,EAEF,eAAe,MAAM,IAAI,EAAE,YAAY,KAAK,CAAC;AAAA,EAC7C,iBAAiB,MAAM,IAAI,EAAE,YAAY,MAAM,CAAC;AACjD,EAAE;;;ADdK,IAAM,mBAAmB,SAAsB,CAAC,KAAK,SAAS;AAAA,EACpE,YAAY;AAAA,EACZ,yBAAyB;AAAA,EACzB,iBAAiB;AAAA,EAEjB,eAAe,MAAM;AAAA,IACpB,IAAI,CAAC,UAAU;AAAA,MACd,MAAM,cAAc,CAAC,MAAM;AAAA,MAC3B,IAAI,aAAa;AAAA,QAChB,YAAY,SAAS,EAAE,gBAAgB;AAAA,QACvC,qBAAqB,SAAS,EAAE,gBAAgB;AAAA,QAChD,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,QAC5C,eAAe,SAAS,EAAE,gBAAgB;AAAA,QAC1C,oBAAoB,SAAS,EAAE,gBAAgB;AAAA,QAC/C,YAAY,SAAS,EAAE,gBAAgB;AAAA,QACvC,eAAe,SAAS,EAAE,gBAAgB;AAAA,MAC3C;AAAA,MACA,OAAO,EAAE,YAAY,YAAY;AAAA,KACjC;AAAA;AAAA,EAGF,eAAe,MAAM;AAAA,IACpB,YAAY,SAAS,EAAE,gBAAgB;AAAA,IACvC,qBAAqB,SAAS,EAAE,gBAAgB;AAAA,IAChD,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,IAC5C,eAAe,SAAS,EAAE,gBAAgB;AAAA,IAC1C,oBAAoB,SAAS,EAAE,gBAAgB;AAAA,IAC/C,YAAY,SAAS,EAAE,gBAAgB;AAAA,IACvC,eAAe,SAAS,EAAE,gBAAgB;AAAA,IAC1C,IAAI,EAAE,YAAY,KAAK,CAAC;AAAA;AAAA,EAGzB,iBAAiB,MAAM,IAAI,EAAE,YAAY,MAAM,CAAC;AAAA,EAEhD,uBAAuB,CAAC,OAAO,IAAI,EAAE,yBAAyB,GAAG,CAAC;AAAA,EAElE,oBAAoB,CAAC,OAAO;AAAA,IAC3B,MAAM,kBAAkB,IAAI,EAAE;AAAA,IAC9B,IAAI,oBAAoB,IAAI;AAAA,MAC3B,IAAI;AAAA,QACH,iBAAiB;AAAA,QACjB,yBAAyB;AAAA,MAC1B,CAAC;AAAA,IACF;AAAA;AAAA,EAGD,OAAO,MACN,IAAI;AAAA,IACH,yBAAyB;AAAA,IACzB,iBAAiB;AAAA,EAClB,CAAC;AACH,EAAE;;;ADhDK,IAAM,uBAAuB,SAA0B,CAAC,SAAS;AAAA,EACvE,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,eAAe,CAAC;AAAA,EAChB,wBAAwB;AAAA,EACxB,YAAY;AAAA,EAEZ,eAAe,MAAM;AAAA,IACpB,IAAI,CAAC,UAAU;AAAA,MACd,MAAM,cAAc,CAAC,MAAM;AAAA,MAC3B,IAAI,aAAa;AAAA,QAChB,YAAY,SAAS,EAAE,gBAAgB;AAAA,QACvC,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,QAC5C,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,QAC5C,eAAe,SAAS,EAAE,gBAAgB;AAAA,QAC1C,oBAAoB,SAAS,EAAE,gBAAgB;AAAA,QAC/C,YAAY,SAAS,EAAE,gBAAgB;AAAA,QACvC,eAAe,SAAS,EAAE,gBAAgB;AAAA,MAC3C;AAAA,MACA,OAAO,EAAE,YAAY,YAAY;AAAA,KACjC;AAAA;AAAA,EAEF,eAAe,MAAM;AAAA,IACpB,YAAY,SAAS,EAAE,gBAAgB;AAAA,IACvC,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,IAC5C,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,IAC5C,eAAe,SAAS,EAAE,gBAAgB;AAAA,IAC1C,oBAAoB,SAAS,EAAE,gBAAgB;AAAA,IAC/C,YAAY,SAAS,EAAE,gBAAgB;AAAA,IACvC,eAAe,SAAS,EAAE,gBAAgB;AAAA,IAC1C,IAAI,EAAE,YAAY,KAAK,CAAC;AAAA;AAAA,EAEzB,iBAAiB,MAChB,IAAI;AAAA,IACH,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,eAAe,CAAC;AAAA,IAChB,wBAAwB;AAAA,EACzB,CAAC;AAAA,EACF,UAAU,CAAC,MAAM,eAChB,IAAI;AAAA,IACH,cAAc;AAAA,IACd,eAAe;AAAA,IACf,wBAAwB,WAAW,SAAS;AAAA,IAC5C,YAAY;AAAA,IACZ,YAAY;AAAA,EACb,CAAC;AAAA,EACF,iBAAiB,CAAC,UAAU,IAAI,EAAE,wBAAwB,MAAM,CAAC;AAAA,EACjE,WAAW,MACV,IAAI;AAAA,IACH,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,eAAe,CAAC;AAAA,IAChB,wBAAwB;AAAA,EACzB,CAAC;AACH,EAAE;;;ADpCK,IAAM,cAAc,SAAiB,CAAC,SAAS;AAAA,EAErD,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,oBAAoB;AAAA,EACpB,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,yBAAyB;AAAA,EAGzB,eAAe,MAAM;AAAA,IACpB,IAAI,CAAC,UAAU;AAAA,MACd,MAAM,cAAc,CAAC,MAAM;AAAA,MAC3B,IAAI,aAAa;AAAA,QAChB,qBAAqB,SAAS,EAAE,gBAAgB;AAAA,QAChD,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,QAC5C,iBAAiB,SAAS,EAAE,gBAAgB;AAAA,QAC5C,eAAe,SAAS,EAAE,gBAAgB;AAAA,QAC1C,oBAAoB,SAAS,EAAE,gBAAgB;AAAA,QAC/C,YAAY,SAAS,EAAE,gBAAgB;AAAA,QACvC,eAAe,SAAS,EAAE,gBAAgB;AAAA,MAC3C;AAAA,MACA,OAAO,EAAE,YAAY,YAAY;AAAA,KACjC;AAAA;AAAA,EAEF,eAAe,MAAM,IAAI,EAAE,YAAY,KAAK,CAAC;AAAA,EAC7C,iBAAiB,MAChB,IAAI,EAAE,YAAY,OAAO,YAAY,OAAO,cAAc,KAAK,CAAC;AAAA,EAGjE,UAAU,CAAC,MAAM,WAChB,IAAI;AAAA,IACH,cAAc;AAAA,IACd,oBAAoB;AAAA,IACpB,YAAY;AAAA,IACZ,YAAY;AAAA,EACb,CAAC;AAAA,EACF,WAAW,MACV,IAAI;AAAA,IACH,YAAY;AAAA,IACZ,cAAc;AAAA,EACf,CAAC;AAAA,EACF,YAAY,CAAC,MAAM,WAClB,IAAI;AAAA,IACH,cAAc;AAAA,IACd,oBAAoB;AAAA,EACrB,CAAC;AAAA,EAGF,iBAAiB,MAChB,IAAI,CAAC,WAAW;AAAA,IACf,mBAAmB;AAAA,IACnB,iBAAiB,MAAM;AAAA,EACxB,EAAE;AAAA,EACH,2BAA2B,CAAC,cAC3B,IAAI,EAAE,mBAAmB,MAAM,iBAAiB,UAAU,CAAC;AAAA,EAC5D,kBAAkB,MACjB,IAAI,EAAE,mBAAmB,OAAO,iBAAiB,KAAK,CAAC;AAAA,EAGxD,oBAAoB,CAAC,cAAc,IAAI,EAAE,iBAAiB,UAAU,CAAC;AAAA,EACrE,yBAAyB,CAAC,cACzB,IAAI,EAAE,yBAAyB,UAAU,CAAC;AAC5C,EAAE;;;AD1GK,SAAS,YAAY,GAAG;AAAA,EAC9B,MAAM,aAAa,YAAY,CAAC,UAAU,MAAM,UAAU;AAAA,EAE1D,OAAO,UAAS;AAAA,IACf,UAAU,CAAC,OAAO,QAAQ;AAAA,IAC1B,SAAS,MAAM,UAAU,aAAa;AAAA,IAGtC,iBAAiB,aAAa,OAAO;AAAA,IACrC,OAAO;AAAA,IAEP,WAAW;AAAA,EACZ,CAAC;AAAA;AAGK,SAAS,UAAU,CAAC,MAAqB,SAAS,OAAO;AAAA,EAC/D,OAAO,UAAS;AAAA,IACf,UAAU,CAAC,OAAO,QAAQ,MAAM,MAAM;AAAA,IACtC,SAAS,MAAO,OAAO,UAAU,WAAW,MAAM,MAAM,IAAI;AAAA,IAC5D,SAAS,CAAC,CAAC;AAAA,IACX,OAAO;AAAA,IAEP,iBAAiB;AAAA,EAClB,CAAC;AAAA;AAGK,SAAS,YAAY,GAAG;AAAA,EAC9B,MAAM,aAAa,YAAY,CAAC,UAAU,MAAM,UAAU;AAAA,EAE1D,OAAO,UAAS;AAAA,IACf,UAAU,CAAC,OAAO,QAAQ;AAAA,IAC1B,SAAS,MAAM,UAAU,aAAa;AAAA,IAEtC,iBAAiB,aAAa,MAAQ;AAAA,IACtC,OAAO;AAAA,IACP,WAAW;AAAA,EACZ,CAAC;AAAA;AAGK,SAAS,wBAAwB,CAAC,WAA2B;AAAA,EACnE,OAAO,aAAY;AAAA,IAClB,YAAY,MAAM,UAAU,sBAAsB,aAAa,SAAS;AAAA,EACzE,CAAC;AAAA;AAGK,SAAS,aAAa,GAAG;AAAA,EAC/B,MAAM,cAAc,gBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,CAAC,UAAoB,UAAU,WAAW,KAAK;AAAA,IAC3D,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,QAAQ,EAAE,CAAC;AAAA;AAAA,EAE/D,CAAC;AAAA;AAGK,SAAS,eAAe,GAAG;AAAA,EACjC,MAAM,cAAc,gBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,CAAC,UAAoB,UAAU,aAAa,KAAK;AAAA,IAC7D,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,QAAQ,EAAE,CAAC;AAAA;AAAA,EAE/D,CAAC;AAAA;AAGK,SAAS,eAAe,GAAG;AAAA,EACjC,MAAM,cAAc,gBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,CAAC,UAAoB,UAAU,aAAa,KAAK;AAAA,IAC7D,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,QAAQ,EAAE,CAAC;AAAA;AAAA,EAE/D,CAAC;AAAA;AAGK,SAAS,cAAc,GAAG;AAAA,EAChC,MAAM,cAAc,gBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,CAAC,UAAoB,UAAU,YAAY,KAAK;AAAA,IAC5D,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,QAAQ,EAAE,CAAC;AAAA;AAAA,EAE/D,CAAC;AAAA;AAGK,SAAS,gBAAgB,GAAG;AAAA,EAClC,MAAM,cAAc,gBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,CAAC,YAAoB,UAAU,cAAc,OAAO;AAAA,IAChE,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,QAAQ,EAAE,CAAC;AAAA,MAC7D,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,QAAQ,EAAE,CAAC;AAAA;AAAA,EAE/D,CAAC;AAAA;AAGK,SAAS,cAAc,GAAG;AAAA,EAChC,MAAM,cAAc,gBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,MAAM,UAAU,YAAY;AAAA,IACxC,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,QAAQ,EAAE,CAAC;AAAA,MAC7D,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,QAAQ,EAAE,CAAC;AAAA;AAAA,EAE/D,CAAC;AAAA;AAGK,SAAS,cAAc,GAAG;AAAA,EAChC,MAAM,cAAc,gBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,MAAM,UAAU,YAAY;AAAA,IACxC,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,QAAQ,EAAE,CAAC;AAAA,MAC7D,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,QAAQ,EAAE,CAAC;AAAA;AAAA,EAE/D,CAAC;AAAA;AAGK,SAAS,UAAU,GAAG;AAAA,EAC5B,MAAM,cAAc,gBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,MAAM,UAAU,YAAY;AAAA,IACxC,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,QAAQ,EAAE,CAAC;AAAA,MAC7D,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,QAAQ,EAAE,CAAC;AAAA;AAAA,EAE/D,CAAC;AAAA;AAGK,SAAS,aAAa,GAAG;AAAA,EAC/B,MAAM,aAAa,YAAY,CAAC,UAAU,MAAM,UAAU;AAAA,EAE1D,OAAO,UAAS;AAAA,IACf,UAAU,CAAC,OAAO,SAAS;AAAA,IAC3B,SAAS,MAAM,UAAU,WAAW;AAAA,IACpC,SAAS;AAAA,IACT,OAAO;AAAA,IACP,WAAW;AAAA,EACZ,CAAC;AAAA;AAGK,SAAS,YAAY,GAAG;AAAA,EAC9B,MAAM,cAAc,gBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,GAAG,MAAM,UACpB,UAAU,UAAU,MAAM,GAAG;AAAA,IAC9B,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,SAAS,EAAE,CAAC;AAAA,MAC9D,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,QAAQ,EAAE,CAAC;AAAA;AAAA,EAE/D,CAAC;AAAA;AAGK,SAAS,eAAe,GAAG;AAAA,EACjC,MAAM,cAAc,gBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,CAAC,SAAiB,UAAU,aAAa,IAAI;AAAA,IACzD,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,SAAS,EAAE,CAAC;AAAA,MAC9D,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,QAAQ,EAAE,CAAC;AAAA;AAAA,EAE/D,CAAC;AAAA;;;AS/KF;AAAA,cACC;AAAA,iBACA;AAAA,eACA;AAAA;AAkBD,IAAM,cAAc,CAAC,aAAa,cAAc,aAAa,YAAY;AACzE,IAAM,YAAY,CAAC,iBAAiB;AACpC,IAAM,aAAa;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AACA,IAAM,kBAAkB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEA,IAAM,kBAAkB,CAAC,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU;AAEpE,SAAS,UAAU,GAAW;AAAA,EAC7B,OAAO,QAAQ,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,GAAG,CAAC;AAAA;AAGnE,SAAS,WAAW,CAAC,MAAuC;AAAA,EAC3D,IAAI,YAAY,SAAS,KAAK,IAAI;AAAA,IAAG,OAAO;AAAA,EAC5C,IAAI,UAAU,SAAS,KAAK,IAAI;AAAA,IAAG,OAAO;AAAA,EAC1C,IAAI,WAAW,SAAS,KAAK,IAAI;AAAA,IAAG,OAAO;AAAA,EAC3C,MAAM,MAAM,KAAK,KAAK,YAAY,EAAE,MAAM,KAAK,KAAK,YAAY,GAAG,CAAC;AAAA,EACpE,IAAI,gBAAgB,SAAS,GAAG;AAAA,IAAG,OAAO;AAAA,EAC1C,OAAO;AAAA;AAGR,SAAS,WAAW,CAAC,MAAqB;AAAA,EACzC,IAAI,gBAAgB,SAAS,KAAK,IAAI;AAAA,IAAG,OAAO;AAAA,EAChD,MAAM,MAAM,KAAK,KAAK,YAAY,EAAE,MAAM,KAAK,KAAK,YAAY,GAAG,CAAC;AAAA,EACpE,OAAO,gBAAgB,SAAS,GAAG;AAAA;AAGpC,eAAe,YAAY,CAAC,MAA6B;AAAA,EACxD,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,IACvC,MAAM,SAAS,IAAI;AAAA,IACnB,OAAO,SAAS,MAAM;AAAA,MACrB,MAAM,SAAS,OAAO;AAAA,MACtB,MAAM,SAAS,OAAO,MAAM,GAAG,EAAE;AAAA,MACjC,QAAQ,MAAM;AAAA;AAAA,IAEf,OAAO,UAAU;AAAA,IACjB,OAAO,cAAc,IAAI;AAAA,GACzB;AAAA;AAGF,eAAe,UAAU,CAAC,MAA6B;AAAA,EACtD,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,IACvC,MAAM,SAAS,IAAI;AAAA,IACnB,OAAO,SAAS,MAAM,QAAQ,OAAO,MAAgB;AAAA,IACrD,OAAO,UAAU;AAAA,IACjB,OAAO,WAAW,IAAI;AAAA,GACtB;AAAA;AAGF,eAAe,aAAa,CAAC,MAA6B;AAAA,EACzD,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,IACvC,MAAM,SAAS,IAAI;AAAA,IACnB,OAAO,SAAS,MAAM,QAAQ,OAAO,MAAgB;AAAA,IACrD,OAAO,UAAU;AAAA,IACjB,OAAO,cAAc,IAAI;AAAA,GACzB;AAAA;AAYK,SAAS,aAAa,CAAC,UAAgC,CAAC,GAAG;AAAA,EACjE;AAAA,IACC,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,0BAA0B;AAAA,IAC1B;AAAA,MACG;AAAA,EAEJ,OAAO,OAAO,YAAY,UAA2B,CAAC,CAAC;AAAA,EACvD,OAAO,YAAY,iBAAiB,UAAS,KAAK;AAAA,EAClD,OAAO,OAAO,YAAY,UAAwB,IAAI;AAAA,EAEtD,MAAM,eAAe,YAAY,OAAO;AAAA,EAExC,MAAM,eAAe,cACpB,CAAC,SAA8B;AAAA,IAC9B,IAAI,CAAC,kBAAkB,YAAY,SAAS,KAAK,IAAI,GAAG;AAAA,MACvD,OAAO;AAAA,IACR;AAAA,IACA,IAAI,CAAC,2BAA2B,UAAU,SAAS,KAAK,IAAI,GAAG;AAAA,MAC9D,OAAO;AAAA,IACR;AAAA,IACA,IAAI,CAAC,YAAY,IAAI,GAAG;AAAA,MACvB,MAAM,MAAM,KAAK,KAAK,MAAM,KAAK,KAAK,YAAY,GAAG,CAAC;AAAA,MACtD,OAAO,0BAA0B,OAAO,KAAK,QAAQ;AAAA,IACtD;AAAA,IACA,IAAI,KAAK,OAAO,cAAc;AAAA,MAC7B,OAAO,oBAAoB,KAAK,OAAO,OAAO,MAAM,QAAQ,CAAC,aAAa;AAAA,IAC3E;AAAA,IACA,OAAO;AAAA,KAER,CAAC,cAAc,WAAW,gBAAgB,uBAAuB,CAClE;AAAA,EAEA,MAAM,WAAW,cAChB,OAAO,eAAkC;AAAA,IACxC,SAAS,IAAI;AAAA,IACb,MAAM,YAAY,MAAM,KAAK,UAAU;AAAA,IACvC,MAAM,YAAY,WAAW,MAAM;AAAA,IAEnC,IAAI,aAAa,GAAG;AAAA,MACnB,MAAM,MAAM,WAAW;AAAA,MACvB,SAAS,GAAG;AAAA,MACZ,UAAU,GAAG;AAAA,MACb;AAAA,IACD;AAAA,IAEA,MAAM,aAAa,UAAU,MAAM,GAAG,SAAS;AAAA,IAC/C,MAAM,WAA6B,CAAC;AAAA,IAEpC,WAAW,QAAQ,YAAY;AAAA,MAC9B,MAAM,kBAAkB,aAAa,IAAI;AAAA,MACzC,IAAI,iBAAiB;AAAA,QACpB,SAAS,eAAe;AAAA,QACxB,UAAU,eAAe;AAAA,QACzB;AAAA,MACD;AAAA,MAEA,MAAM,WAAW,YAAY,IAAI;AAAA,MACjC,IAAI,CAAC;AAAA,QAAU;AAAA,MAEf,IAAI;AAAA,QACH,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI,YAAY,KAAK;AAAA,QAErB,IAAI,aAAa,SAAS;AAAA,UACzB,CAAC,SAAS,IAAI,IAAI,MAAM,QAAQ,IAAI;AAAA,YACnC,cAAc,IAAI;AAAA,YAClB,aAAa,IAAI;AAAA,UAClB,CAAC;AAAA,QACF,EAAO,SAAI,aAAa,OAAO;AAAA,UAC9B,OAAO,MAAM,aAAa,IAAI;AAAA,UAC9B,YAAY;AAAA,QACb,EAAO;AAAA,UACN,cAAc,MAAM,WAAW,IAAI;AAAA,UACnC,OAAO;AAAA,UACP,IAAI,CAAC,WAAW;AAAA,YACf,MAAM,MAAM,KAAK,KAAK,YAAY;AAAA,YAClC,YACC,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,WAAW,IAC5C,kBACA;AAAA,UACL;AAAA;AAAA,QAGD,SAAS,KAAK;AAAA,UACb,IAAI,WAAW;AAAA,UACf;AAAA,UACA,MAAM;AAAA,UACN,MAAM,KAAK;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAC;AAAA,QACA,MAAM;AAAA,QACP,MAAM,MAAM,2BAA2B,KAAK;AAAA,QAC5C,SAAS,GAAG;AAAA,QACZ,UAAU,GAAG;AAAA;AAAA,IAEf;AAAA,IAEA,IAAI,SAAS,SAAS,GAAG;AAAA,MACxB,SAAS,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC;AAAA,IAC1C;AAAA,KAED,CAAC,MAAM,QAAQ,UAAU,cAAc,OAAO,CAC/C;AAAA,EAEA,MAAM,aAAa,cAAY,CAAC,OAAe;AAAA,IAC9C,SAAS,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;AAAA,IAClD,SAAS,IAAI;AAAA,KACX,CAAC,CAAC;AAAA,EAEL,MAAM,aAAa,cAAY,MAAM;AAAA,IACpC,SAAS,CAAC,CAAC;AAAA,IACX,SAAS,IAAI;AAAA,KACX,CAAC,CAAC;AAAA,EAEL,MAAM,kBAAkB,cAAY,CAAC,MAAiB;AAAA,IACrD,EAAE,eAAe;AAAA,IACjB,EAAE,gBAAgB;AAAA,IAClB,IAAI,EAAE,aAAa,MAAM,SAAS,OAAO,GAAG;AAAA,MAC3C,cAAc,IAAI;AAAA,IACnB;AAAA,KACE,CAAC,CAAC;AAAA,EAEL,MAAM,kBAAkB,cAAY,CAAC,MAAiB;AAAA,IACrD,EAAE,eAAe;AAAA,IACjB,EAAE,gBAAgB;AAAA,IAClB,MAAM,OAAQ,EAAE,cAA8B,sBAAsB;AAAA,IACpE,MAAM,IAAI,EAAE;AAAA,IACZ,MAAM,IAAI,EAAE;AAAA,IACZ,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,SAAS,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ;AAAA,MACvE,cAAc,KAAK;AAAA,IACpB;AAAA,KACE,CAAC,CAAC;AAAA,EAEL,MAAM,iBAAiB,cAAY,CAAC,MAAiB;AAAA,IACpD,EAAE,eAAe;AAAA,IACjB,EAAE,gBAAgB;AAAA,KAChB,CAAC,CAAC;AAAA,EAEL,MAAM,aAAa,cAClB,CAAC,MAAiB;AAAA,IACjB,EAAE,eAAe;AAAA,IACjB,EAAE,gBAAgB;AAAA,IAClB,cAAc,KAAK;AAAA,IAEnB,MAAM,eAAe,EAAE,aAAa;AAAA,IACpC,IAAI,aAAa,SAAS,GAAG;AAAA,MAC5B,SAAS,MAAM,KAAK,YAAY,CAAC;AAAA,IAClC;AAAA,KAED,CAAC,QAAQ,CACV;AAAA,EAEA,MAAM,cAAc,cACnB,CAAC,MAAsB;AAAA,IACtB,MAAM,QAAQ,EAAE,eAAe;AAAA,IAC/B,IAAI,CAAC;AAAA,MAAO;AAAA,IAEZ,MAAM,cAAsB,CAAC;AAAA,IAC7B,WAAW,QAAQ,MAAM,KAAK,KAAK,GAAG;AAAA,MACrC,IAAI,KAAK,SAAS,QAAQ;AAAA,QACzB,MAAM,OAAO,KAAK,UAAU;AAAA,QAC5B,IAAI,MAAM;AAAA,UACT,YAAY,KAAK,IAAI;AAAA,QACtB;AAAA,MACD;AAAA,IACD;AAAA,IAEA,IAAI,YAAY,SAAS,GAAG;AAAA,MAC3B,EAAE,eAAe;AAAA,MACjB,SAAS,WAAW;AAAA,IACrB;AAAA,KAED,CAAC,QAAQ,CACV;AAAA,EAEA,WAAU,MAAM;AAAA,IACf,IAAI,CAAC;AAAA,MAAU;AAAA,IAEf,IAAI,cAAc;AAAA,IAElB,MAAM,cAAc,CAAC,MAA4B;AAAA,MAChD,EAAE,eAAe;AAAA,MACjB,IAAI,EAAE,cAAc,MAAM,SAAS,OAAO,GAAG;AAAA,QAC5C;AAAA,QACA,IAAI,gBAAgB,GAAG;AAAA,UACtB,cAAc,IAAI;AAAA,QACnB;AAAA,MACD;AAAA;AAAA,IAGD,MAAM,cAAc,CAAC,MAA4B;AAAA,MAChD,EAAE,eAAe;AAAA,MACjB;AAAA,MACA,IAAI,gBAAgB,GAAG;AAAA,QACtB,cAAc,KAAK;AAAA,MACpB;AAAA;AAAA,IAGD,MAAM,aAAa,CAAC,MAA4B;AAAA,MAC/C,EAAE,eAAe;AAAA;AAAA,IAGlB,MAAM,SAAS,CAAC,MAA4B;AAAA,MAC3C,EAAE,eAAe;AAAA,MACjB,cAAc;AAAA,MACd,cAAc,KAAK;AAAA,MAEnB,MAAM,eAAe,EAAE,cAAc;AAAA,MACrC,IAAI,gBAAgB,aAAa,SAAS,GAAG;AAAA,QAC5C,SAAS,MAAM,KAAK,YAAY,CAAC;AAAA,MAClC;AAAA;AAAA,IAGD,SAAS,iBAAiB,aAAa,WAAW;AAAA,IAClD,SAAS,iBAAiB,aAAa,WAAW;AAAA,IAClD,SAAS,iBAAiB,YAAY,UAAU;AAAA,IAChD,SAAS,iBAAiB,QAAQ,MAAM;AAAA,IAExC,OAAO,MAAM;AAAA,MACZ,SAAS,oBAAoB,aAAa,WAAW;AAAA,MACrD,SAAS,oBAAoB,aAAa,WAAW;AAAA,MACrD,SAAS,oBAAoB,YAAY,UAAU;AAAA,MACnD,SAAS,oBAAoB,QAAQ,MAAM;AAAA;AAAA,KAE1C,CAAC,UAAU,QAAQ,CAAC;AAAA,EAEvB,MAAM,SAAS,MAAM,OAAO,CAAC,MAAM,EAAE,SAAS,OAAO;AAAA,EACrD,MAAM,YAAY,MAAM,OAAO,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,SAAS,MAAM;AAAA,EAE3E,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;;;ACxYD,mBAAS;AAQF,IAAM,gBAAgB,SAAmB,CAAC,KAAK,SAAS;AAAA,EAC9D,oBAAoB;AAAA,EACpB,uBAAuB,CAAC,SAAS,IAAI,EAAE,oBAAoB,KAAK,CAAC;AAAA,EACjE,oBAAoB,MAAM;AAAA,IACzB,MAAM,OAAO,IAAI,EAAE;AAAA,IACnB,IAAI,EAAE,oBAAoB,KAAK,CAAC;AAAA,IAChC,OAAO;AAAA;AAET,EAAE;;;AChBF,mBAAS;AAqBF,IAAM,0BAA0B,SACtC,CAAC,KAAK,SAAS;AAAA,EACd,iBAAiB,IAAI;AAAA,EAErB,YAAY,CAAC,iBAAiB,YAAY;AAAA,IACzC,IAAI,CAAC,UAAU;AAAA,MACd,MAAM,SAAS,IAAI,IAAI,MAAM,eAAe;AAAA,MAC5C,MAAM,WAAW,OAAO,IAAI,eAAe,KAAK,CAAC;AAAA,MACjD,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,EAAE,OAAO,QAAQ,EAAE,GAAG;AAAA,QAC/C,OAAO,IAAI,iBAAiB,CAAC,GAAG,UAAU,OAAO,CAAC;AAAA,MACnD;AAAA,MACA,OAAO,EAAE,iBAAiB,OAAO;AAAA,KACjC;AAAA;AAAA,EAGF,eAAe,CAAC,iBAAiB,cAAc;AAAA,IAC9C,IAAI,CAAC,UAAU;AAAA,MACd,MAAM,SAAS,IAAI,IAAI,MAAM,eAAe;AAAA,MAC5C,MAAM,WAAW,OAAO,IAAI,eAAe,KAAK,CAAC;AAAA,MACjD,OAAO,IACN,iBACA,SAAS,OAAO,CAAC,MAAM,EAAE,OAAO,SAAS,CAC1C;AAAA,MACA,OAAO,EAAE,iBAAiB,OAAO;AAAA,KACjC;AAAA;AAAA,EAGF,aAAa,CAAC,oBAAoB;AAAA,IACjC,OAAO,IAAI,EAAE,gBAAgB,IAAI,eAAe,KAAK,CAAC;AAAA;AAAA,EAGvD,eAAe,CAAC,oBAAoB;AAAA,IACnC,IAAI,CAAC,UAAU;AAAA,MACd,MAAM,SAAS,IAAI,IAAI,MAAM,eAAe;AAAA,MAC5C,OAAO,OAAO,eAAe;AAAA,MAC7B,OAAO,EAAE,iBAAiB,OAAO;AAAA,KACjC;AAAA;AAAA,EAGF,iBAAiB,CAAC,oBAAoB;AAAA,IACrC,MAAM,WAAW,IAAI,EAAE,YAAY,eAAe;AAAA,IAClD,IAAI,EAAE,cAAc,eAAe;AAAA,IACnC,OAAO;AAAA;AAET,EACD;;;ACtDA,IAAM,yBACL;AAEM,SAAS,oBAAoB,CAAC,SAA8B;AAAA,EAClE,MAAM,mBAA4C,CAAC;AAAA,EACnD,IAAI,eAAe;AAAA,EAEnB,MAAM,QAAQ,IAAI,OAAO,sBAAsB;AAAA,EAC/C,IAAI,QAAQ,MAAM,KAAK,OAAO;AAAA,EAE9B,OAAO,UAAU,MAAM;AAAA,IACtB,OAAO,WAAW,MAAM,OAAO,gBAAgB;AAAA,IAC/C,iBAAiB,KAAK;AAAA,MACrB,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA,SAAS,aAAa,KAAK;AAAA,IAC5B,CAAC;AAAA,IACD,eAAe,aAAa,QAAQ,WAAW,EAAE;AAAA,IACjD,QAAQ,MAAM,KAAK,OAAO;AAAA,EAC3B;AAAA,EAEA,eAAe,aAAa,KAAK;AAAA,EAEjC,OAAO;AAAA,IACN;AAAA,IACA;AAAA,EACD;AAAA;AAGM,SAAS,+BAA+B,CAC9C,UACS;AAAA,EACT,IAAI,SAAS,WAAW;AAAA,IAAG,OAAO;AAAA,EAGlC,OAAO,SAAS,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE,KAAK;AAAA;AAAA,CAAM;AAAA;;;AChDtD,sBAAS,uBAAW,qBAAQ;;;ACA5B;AAAA,cACC;AAAA,eACA;AAAA,YACA;AAAA,aACA;AAAA,yBACA;AAAA,gBACA;AAAA;AAED;AACA;;AAyBO,IAAM,uBAAuB,YAGlC,SAAS,qBAAoB,GAC5B,UAAU,OAAO,UAAU,WAAW,SACxC,KACC;AAAA,EACD,QAAQ,MAAM,WAAW,cAAc,aAAa;AAAA,EACpD,OAAO,QAAQ,aAAa,WAAS,KAAK;AAAA,EAC1C,OAAO,aAAa,kBAAkB,WAAS,EAAE;AAAA,EACjD,OAAO,kBAAkB,uBAAuB,WAAS,CAAC;AAAA,EAC1D,MAAM,cAAc,QAAuB,IAAI;AAAA,EAC/C,MAAM,iBAAiB,QAAyB,IAAI;AAAA,EACpD,MAAM,WAAW,QAAqC,CAAC,CAAC;AAAA,EAExD,qBAAoB,KAAK,OAAO;AAAA,IAC/B,cAAc,MAAM;AAAA,MACnB,UAAU,IAAI;AAAA;AAAA,EAEhB,EAAE;AAAA,EAEF,MAAM,kBAAkB,SAAQ,MAAM;AAAA,IACrC,IAAI,CAAC;AAAA,MAAW,OAAO,CAAC;AAAA,IACxB,MAAM,YAA8B,CAAC;AAAA,IACrC,YAAY,aAAa,iBAAiB,OAAO,QAAQ,SAAS,GAAG;AAAA,MACpE,WAAW,aAAa,aAAa,QAAQ;AAAA,QAC5C,UAAU,KAAK;AAAA,UACd;AAAA,UACA,eAAe,aAAa;AAAA,UAC5B,SAAS,UAAU;AAAA,UACnB,YAAY,UAAU;AAAA,UACtB,UAAU,UAAU;AAAA,UACpB,eAAe,UAAU;AAAA,UACzB,WAAW,UAAU;AAAA,UACrB,mBAAmB,UAAU;AAAA,QAC9B,CAAC;AAAA,MACF;AAAA,IACD;AAAA,IACA,OAAO;AAAA,KACL,CAAC,SAAS,CAAC;AAAA,EAEd,MAAM,OAAO,SAAQ,MAAM;AAAA,IAC1B,OAAO,IAAI,MAAK,iBAAiB;AAAA,MAChC,MAAM;AAAA,QACL,EAAE,MAAM,cAAc,QAAQ,EAAE;AAAA,QAChC,EAAE,MAAM,WAAW,QAAQ,EAAE;AAAA,QAC7B,EAAE,MAAM,iBAAiB,QAAQ,IAAI;AAAA,MACtC;AAAA,MACA,WAAW;AAAA,MACX,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,UAAU;AAAA,MACV,oBAAoB;AAAA,IACrB,CAAC;AAAA,KACC,CAAC,eAAe,CAAC;AAAA,EAEpB,MAAM,iBAAiB,SAAQ,MAAM;AAAA,IACpC,IAAI,CAAC;AAAA,MAAW,OAAO,CAAC;AAAA,IACxB,IAAI,CAAC,YAAY,KAAK;AAAA,MAAG,OAAO;AAAA,IAEhC,MAAM,UAAU,KAAK,OAAO,WAAW;AAAA,IAEvC,MAAM,gBAAgB,QAAQ,KAAK,CAAC,GAAG,MAAM;AAAA,MAC5C,MAAM,SAAS,EAAE,SAAS;AAAA,MAC1B,MAAM,SAAS,EAAE,SAAS;AAAA,MAC1B,IAAI,KAAK,IAAI,SAAS,MAAM,IAAI,OAAO;AAAA,QACtC,MAAM,SAAS,EAAE,KAAK,WAAW,YAAY;AAAA,QAC7C,MAAM,SAAS,EAAE,KAAK,WAAW,YAAY;AAAA,QAC7C,MAAM,QAAQ,YAAY,YAAY;AAAA,QACtC,MAAM,SAAS,OAAO,QAAQ,KAAK;AAAA,QACnC,MAAM,SAAS,OAAO,QAAQ,KAAK;AAAA,QACnC,IAAI,UAAU,KAAK,SAAS;AAAA,UAAG,OAAO;AAAA,QACtC,IAAI,UAAU,KAAK,SAAS;AAAA,UAAG,OAAO;AAAA,QACtC,IAAI,UAAU,KAAK,UAAU;AAAA,UAAG,OAAO,SAAS;AAAA,MACjD;AAAA,MACA,OAAO,SAAS;AAAA,KAChB;AAAA,IAED,MAAM,WAA6B,CAAC;AAAA,IAEpC,WAAW,UAAU,eAAe;AAAA,MACnC,MAAM,OAAO,OAAO;AAAA,MAEpB,IAAI,CAAC,SAAS,KAAK,cAAc;AAAA,QAChC,SAAS,KAAK,eAAe;AAAA,UAC5B,OAAO,KAAK;AAAA,UACZ,QAAQ,CAAC;AAAA,QACV;AAAA,MACD;AAAA,MAEA,MAAM,gBAAgB,SAAS,KAAK,aAAa,OAAO,KACvD,CAAC,MAAM,EAAE,OAAO,KAAK,OACtB;AAAA,MACA,IAAI,CAAC,eAAe;AAAA,QACnB,SAAS,KAAK,aAAa,OAAO,KAAK;AAAA,UACtC,IAAI,KAAK;AAAA,UACT,OAAO,KAAK;AAAA,UACZ,UAAU,KAAK;AAAA,UACf,eAAe,KAAK;AAAA,UACpB,WAAW,KAAK;AAAA,UAChB,mBAAmB,KAAK;AAAA,QACzB,CAAC;AAAA,MACF;AAAA,IACD;AAAA,IAEA,OAAO;AAAA,KACL,CAAC,WAAW,aAAa,IAAI,CAAC;AAAA,EAEjC,MAAM,mBAAmB,SAAQ,MAAM;AAAA,IACtC,MAAM,OAAyB,CAAC;AAAA,IAChC,YAAY,aAAa,iBAAiB,OAAO,QAAQ,cAAc,GAAG;AAAA,MACzE,WAAW,aAAa,aAAa,QAAQ;AAAA,QAC5C,KAAK,KAAK;AAAA,UACT;AAAA,UACA,eAAe,aAAa;AAAA,UAC5B,SAAS,UAAU;AAAA,UACnB,YAAY,UAAU;AAAA,UACtB,UAAU,UAAU;AAAA,UACpB,eAAe,UAAU;AAAA,UACzB,WAAW,UAAU;AAAA,UACrB,mBAAmB,UAAU;AAAA,QAC9B,CAAC;AAAA,MACF;AAAA,IACD;AAAA,IACA,OAAO;AAAA,KACL,CAAC,cAAc,CAAC;AAAA,EAEnB,WAAU,MAAM;AAAA,IACf,IAAI,QAAQ;AAAA,MACX,oBAAoB,CAAC;AAAA,IACtB;AAAA,KACE,CAAC,MAAM,CAAC;AAAA,EAEX,WAAU,MAAM;AAAA,IACf,IACC,UACA,oBAAoB,KACpB,mBAAmB,SAAS,QAAQ,QACnC;AAAA,MACD,SAAS,QAAQ,mBAAmB,eAAe;AAAA,QAClD,OAAO;AAAA,QACP,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAAA,KACE,CAAC,kBAAkB,MAAM,CAAC;AAAA,EAE7B,WAAU,MAAM;AAAA,IACf,MAAM,qBAAqB,CAAC,UAAsB;AAAA,MACjD,IACC,YAAY,WACZ,CAAC,YAAY,QAAQ,SAAS,MAAM,MAAc,GACjD;AAAA,QACD,UAAU,KAAK;AAAA,MAChB;AAAA;AAAA,IAGD,MAAM,eAAe,CAAC,UAAyB;AAAA,MAC9C,MAAM,SAAS,MAAM;AAAA,MACrB,MAAM,YACL,OAAO,YAAY,WACnB,OAAO,YAAY,cACnB,OAAO;AAAA,MACR,IAAI,MAAM,QAAQ,YAAa,MAAM,QAAQ,OAAO,CAAC,WAAY;AAAA,QAChE,UAAU,KAAK;AAAA,MAChB;AAAA;AAAA,IAGD,IAAI,QAAQ;AAAA,MACX,SAAS,iBAAiB,aAAa,kBAAkB;AAAA,MACzD,SAAS,iBAAiB,WAAW,YAAY;AAAA,MACjD,WAAW,MAAM,eAAe,SAAS,MAAM,GAAG,CAAC;AAAA,IACpD;AAAA,IAEA,OAAO,MAAM;AAAA,MACZ,SAAS,oBAAoB,aAAa,kBAAkB;AAAA,MAC5D,SAAS,oBAAoB,WAAW,YAAY;AAAA;AAAA,KAEnD,CAAC,MAAM,CAAC;AAAA,EAEX,MAAM,eAAe,CACpB,kBACA,eACA,cACI;AAAA,IACJ,IAAI,cAAc;AAAA,MAAO;AAAA,IACzB,SAAS,kBAAkB,aAAa;AAAA,IACxC,UAAU,KAAK;AAAA,IACf,eAAe,EAAE;AAAA;AAAA,EAGlB,MAAM,sBAAsB,CAAC,UAA+B;AAAA,IAC3D,IAAI,iBAAiB,WAAW;AAAA,MAAG;AAAA,IAEnC,IAAI,MAAM,QAAQ,eAAgB,MAAM,WAAW,MAAM,QAAQ,KAAM;AAAA,MACtE,MAAM,eAAe;AAAA,MACrB,oBAAoB,CAAC,SACpB,OAAO,iBAAiB,SAAS,IAAI,OAAO,IAAI,CACjD;AAAA,IACD,EAAO,SACN,MAAM,QAAQ,aACb,MAAM,WAAW,MAAM,QAAQ,KAC/B;AAAA,MACD,MAAM,eAAe;AAAA,MACrB,oBAAoB,CAAC,SACpB,OAAO,IAAI,OAAO,IAAI,iBAAiB,SAAS,CACjD;AAAA,IACD,EAAO,SAAI,MAAM,QAAQ,SAAS;AAAA,MACjC,MAAM,eAAe;AAAA,MACrB,MAAM,cAAc,iBAAiB;AAAA,MACrC,IAAI,eAAe,YAAY,cAAc,OAAO;AAAA,QACnD,aACC,YAAY,aACZ,YAAY,SACZ,YAAY,SACb;AAAA,MACD;AAAA,IACD;AAAA;AAAA,EAGD,MAAM,uBAAuB,YAAY,WAAW,SAAS;AAAA,EAC7D,MAAM,oBACL,YAAY,WAAW,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,KAAK,GAAG,SAAS;AAAA,EAErE,uBACC,OAkIE,OAlIF;AAAA,IAAK,KAAK;AAAA,IAAa,WAAU;AAAA,IAAjC,UAkIE;AAAA,sBAjID,OAkBE,UAlBF;AAAA,QACC,MAAK;AAAA,QACL,SAAS,MAAM,CAAC,YAAY,UAAU,CAAC,MAAM;AAAA,QAC7C,UAAU,YAAY;AAAA,QACtB,WAAU;AAAA,QAJX,UAkBE;AAAA,0BAZD,OAQE,QARF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAQE;AAAA,8BAPD,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UACE;AAAA,eACA;AAAA,8BACF,MAA4D,QAA5D;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAA4D;AAAA,8BAC5D,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UACE;AAAA,eACA;AAAA;AAAA,WACD;AAAA,0BACF,MAAC,aAAD;AAAA,YACC,WAAW,oEAAoE,SAAS,eAAe;AAAA,WACxG;AAAA;AAAA,OACC;AAAA,MACD,UAAU,CAAC,aAAa,6BACxB,OA2GE,OA3GF;AAAA,QAAK,WAAU;AAAA,QAAf,UA2GE;AAAA,0BA1GD,MAaE,OAbF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,OAWE,OAXF;AAAA,cAAK,WAAU;AAAA,cAAf,UAWE;AAAA,gCAVD,MAAC,QAAD;AAAA,kBAAQ,WAAU;AAAA,iBAAuF;AAAA,gCACzG,MAAC,SAAD;AAAA,kBACC,KAAK;AAAA,kBACL,MAAK;AAAA,kBACL,OAAO;AAAA,kBACP,UAAU,CAAC,MAAM,eAAe,EAAE,OAAO,KAAK;AAAA,kBAC9C,WAAW;AAAA,kBACX,aAAY;AAAA,kBACZ,WAAU;AAAA,iBACX;AAAA;AAAA,aACC;AAAA,WACD;AAAA,0BAEF,MA0FE,OA1FF;AAAA,YAAK,WAAU;AAAA,YAAf,UACE,OAAO,KAAK,cAAc,EAAE,WAAW,oBACvC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE,IAEF,OAAO,QAAQ,cAAc,EAAE,IAC9B,EAAE,aAAa,kCACd,OA8EE,OA9EF;AAAA,cAEC,WAAU;AAAA,cAFX,UA8EE;AAAA,gCA1ED,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UACE,aAAa;AAAA,iBACb;AAAA,gCACF,MAsEE,OAtEF;AAAA,4BACE,aAAa,OAAO,IAAI,CAAC,cAAc;AAAA,oBACvC,MAAM,aACL,gBAAgB,YAAY,UAAU,OAAO;AAAA,oBAC9C,MAAM,YAAY,iBAAiB,UAClC,CAAC,SACA,KAAK,gBAAgB,eACrB,KAAK,YAAY,UAAU,EAC7B;AAAA,oBACA,MAAM,gBAAgB,cAAc;AAAA,oBACpC,MAAM,cAAc,UAAU,cAAc;AAAA,oBAE5C,uBACC,OAsDE,UAtDF;AAAA,sBAEC,KAAK,CAAC,OAAO;AAAA,wBACZ,IAAI,aAAa,GAAG;AAAA,0BACnB,SAAS,QAAQ,aAAa;AAAA,wBAC/B;AAAA;AAAA,sBAED,MAAK;AAAA,sBACL,UAAU,CAAC;AAAA,sBACX,OAAO,UAAU;AAAA,sBACjB,SAAS,MACR,aACC,aACA,UAAU,IACV,UAAU,SACX;AAAA,sBAED,cAAc,MAAM,oBAAoB,SAAS;AAAA,sBACjD,WAAW,0FACV,gBACG,4BACA,mCAEH,aACG,qDACA,mCAEH,CAAC,cACE,kCACA;AAAA,sBA7BL,UAsDE;AAAA,wCAtBD,MAA8C,QAA9C;AAAA,0BAAM,WAAU;AAAA,0BAAhB,UAA4B,UAAU;AAAA,yBAAQ;AAAA,yBAC5C,CAAC,eACF,UAAU,YACV,UAAU,kCACV,OAgBE,OAhBF;AAAA,0BAAK,WAAU;AAAA,0BAAf,UAgBE;AAAA,4BAfA,CAAC,+BACD,MAEE,QAFF;AAAA,8BAAM,WAAU;AAAA,8BAAhB;AAAA,6BAEE;AAAA,4BAEF,UAAU,4BACV,MAEE,QAFF;AAAA,8BAAM,WAAU;AAAA,8BAAhB;AAAA,6BAEE;AAAA,4BAEF,UAAU,iCACV,MAEE,QAFF;AAAA,8BAAM,WAAU;AAAA,8BAAhB;AAAA,6BAEE;AAAA;AAAA,yBAEF;AAAA;AAAA,uBAnDE,UAAU,EAqDd;AAAA,mBAEH;AAAA,iBACA;AAAA;AAAA,eA5EG,WA6EJ,CAEJ;AAAA,WAEA;AAAA;AAAA,OACD;AAAA;AAAA,GAEF;AAAA,CAEH;;;ACtYD;AAAA,cACC;AAAA,eACA;AAAA,YACA;AAAA,aACA;AAAA,yBACA;AAAA,gBACA;AAAA;AAED,wBAAS,wBAAa;AACtB;AAAA;AAaO,IAAM,uBAAuB,YAGlC,SAAS,qBAAoB,GAC5B,OAAO,QAAQ,UAAU,WAAW,SACtC,KACC;AAAA,EACD,OAAO,QAAQ,aAAa,WAAS,KAAK;AAAA,EAC1C,OAAO,aAAa,kBAAkB,WAAS,EAAE;AAAA,EACjD,OAAO,kBAAkB,uBAAuB,WAAS,CAAC;AAAA,EAC1D,MAAM,cAAc,QAAuB,IAAI;AAAA,EAC/C,MAAM,iBAAiB,QAAyB,IAAI;AAAA,EACpD,MAAM,WAAW,QAAqC,CAAC,CAAC;AAAA,EAExD,qBAAoB,KAAK,OAAO;AAAA,IAC/B,cAAc,MAAM;AAAA,MACnB,UAAU,IAAI;AAAA;AAAA,EAEhB,EAAE;AAAA,EAEF,MAAM,OAAO,SAAQ,MAAM;AAAA,IAC1B,OAAO,IAAI,MAAK,QAAQ;AAAA,MACvB,WAAW;AAAA,MACX,gBAAgB;AAAA,IACjB,CAAC;AAAA,KACC,CAAC,MAAM,CAAC;AAAA,EAEX,MAAM,iBAAiB,SAAQ,MAAM;AAAA,IACpC,IAAI,CAAC,YAAY,KAAK;AAAA,MAAG,OAAO;AAAA,IAChC,MAAM,UAAU,KAAK,OAAO,WAAW;AAAA,IACvC,OAAO,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI;AAAA,KACxC,CAAC,QAAQ,aAAa,IAAI,CAAC;AAAA,EAE9B,YAAU,MAAM;AAAA,IACf,IAAI,QAAQ;AAAA,MACX,oBAAoB,CAAC;AAAA,IACtB;AAAA,KACE,CAAC,MAAM,CAAC;AAAA,EAEX,YAAU,MAAM;AAAA,IACf,IACC,UACA,oBAAoB,KACpB,mBAAmB,SAAS,QAAQ,QACnC;AAAA,MACD,SAAS,QAAQ,mBAAmB,eAAe;AAAA,QAClD,OAAO;AAAA,QACP,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAAA,KACE,CAAC,kBAAkB,MAAM,CAAC;AAAA,EAE7B,YAAU,MAAM;AAAA,IACf,MAAM,qBAAqB,CAAC,UAAsB;AAAA,MACjD,IACC,YAAY,WACZ,CAAC,YAAY,QAAQ,SAAS,MAAM,MAAc,GACjD;AAAA,QACD,UAAU,KAAK;AAAA,MAChB;AAAA;AAAA,IAGD,MAAM,eAAe,CAAC,UAAyB;AAAA,MAC9C,MAAM,SAAS,MAAM;AAAA,MACrB,MAAM,YACL,OAAO,YAAY,WACnB,OAAO,YAAY,cACnB,OAAO;AAAA,MACR,IAAI,MAAM,QAAQ,YAAa,MAAM,QAAQ,OAAO,CAAC,WAAY;AAAA,QAChE,UAAU,KAAK;AAAA,MAChB;AAAA;AAAA,IAGD,IAAI,QAAQ;AAAA,MACX,SAAS,iBAAiB,aAAa,kBAAkB;AAAA,MACzD,SAAS,iBAAiB,WAAW,YAAY;AAAA,MACjD,WAAW,MAAM,eAAe,SAAS,MAAM,GAAG,CAAC;AAAA,IACpD;AAAA,IAEA,OAAO,MAAM;AAAA,MACZ,SAAS,oBAAoB,aAAa,kBAAkB;AAAA,MAC5D,SAAS,oBAAoB,WAAW,YAAY;AAAA;AAAA,KAEnD,CAAC,MAAM,CAAC;AAAA,EAEX,MAAM,eAAe,CAAC,kBAA0B;AAAA,IAC/C,SAAS,aAAa;AAAA,IACtB,UAAU,KAAK;AAAA,IACf,eAAe,EAAE;AAAA;AAAA,EAGlB,MAAM,sBAAsB,CAAC,UAA+B;AAAA,IAC3D,IAAI,eAAe,WAAW;AAAA,MAAG;AAAA,IAEjC,IAAI,MAAM,QAAQ,eAAgB,MAAM,WAAW,MAAM,QAAQ,KAAM;AAAA,MACtE,MAAM,eAAe;AAAA,MACrB,oBAAoB,CAAC,SACpB,OAAO,eAAe,SAAS,IAAI,OAAO,IAAI,CAC/C;AAAA,IACD,EAAO,SACN,MAAM,QAAQ,aACb,MAAM,WAAW,MAAM,QAAQ,KAC/B;AAAA,MACD,MAAM,eAAe;AAAA,MACrB,oBAAoB,CAAC,SACpB,OAAO,IAAI,OAAO,IAAI,eAAe,SAAS,CAC/C;AAAA,IACD,EAAO,SAAI,MAAM,QAAQ,SAAS;AAAA,MACjC,MAAM,eAAe;AAAA,MACrB,MAAM,cAAc,eAAe;AAAA,MACnC,IAAI,aAAa;AAAA,QAChB,aAAa,WAAW;AAAA,MACzB;AAAA,IACD;AAAA;AAAA,EAGD,uBACC,OAqEE,OArEF;AAAA,IAAK,KAAK;AAAA,IAAa,WAAU;AAAA,IAAjC,UAqEE;AAAA,sBApED,OAYE,UAZF;AAAA,QACC,MAAK;AAAA,QACL,SAAS,MAAM,CAAC,YAAY,UAAU,CAAC,MAAM;AAAA,QAC7C;AAAA,QACA,WAAU;AAAA,QAJX,UAYE;AAAA,0BAND,MAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UACE;AAAA,WACA;AAAA,0BACF,MAAC,cAAD;AAAA,YACC,WAAW,oEAAoE,SAAS,eAAe;AAAA,WACxG;AAAA;AAAA,OACC;AAAA,MAED,0BACA,OAmDE,OAnDF;AAAA,QAAK,WAAU;AAAA,QAAf,UAmDE;AAAA,0BAlDD,MAaE,OAbF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,OAWE,OAXF;AAAA,cAAK,WAAU;AAAA,cAAf,UAWE;AAAA,gCAVD,MAAC,SAAD;AAAA,kBAAQ,WAAU;AAAA,iBAAuF;AAAA,gCACzG,MAAC,SAAD;AAAA,kBACC,KAAK;AAAA,kBACL,MAAK;AAAA,kBACL,OAAO;AAAA,kBACP,UAAU,CAAC,MAAM,eAAe,EAAE,OAAO,KAAK;AAAA,kBAC9C,WAAW;AAAA,kBACX,aAAY;AAAA,kBACZ,WAAU;AAAA,iBACX;AAAA;AAAA,aACC;AAAA,WACD;AAAA,0BAEF,MAkCE,OAlCF;AAAA,YAAK,WAAU;AAAA,YAAf,UACE,eAAe,WAAW,oBAC1B,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE,IAEF,eAAe,IAAI,CAAC,WAAW,UAAU;AAAA,cACxC,MAAM,aAAa,cAAc;AAAA,cACjC,MAAM,gBAAgB,UAAU;AAAA,cAEhC,uBACC,MAmBE,UAnBF;AAAA,gBAEC,KAAK,CAAC,OAAO;AAAA,kBACZ,SAAS,QAAQ,SAAS;AAAA;AAAA,gBAE3B,MAAK;AAAA,gBACL,SAAS,MAAM,aAAa,SAAS;AAAA,gBACrC,cAAc,MAAM,oBAAoB,KAAK;AAAA,gBAC7C,WAAW,wDACV,gBACG,4BACA,mCAEH,aACG,qDACA;AAAA,gBAfL,0BAkBC,MAAwC,QAAxC;AAAA,kBAAM,WAAU;AAAA,kBAAhB,UAA4B;AAAA,iBAAY;AAAA,iBAjBnC,SAkBJ;AAAA,aAEH;AAAA,WAED;AAAA;AAAA,OACD;AAAA;AAAA,GAEF;AAAA,CAEH;;;;AFpMD,IAAM,mBAA+D;AAAA,EACpE,EAAE,OAAO,WAAW,OAAO,UAAU;AAAA,EACrC,EAAE,OAAO,OAAO,OAAO,MAAM;AAAA,EAC7B,EAAE,OAAO,UAAU,OAAO,SAAS;AAAA,EACnC,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,EAC/B,EAAE,OAAO,OAAO,OAAO,MAAM;AAAA,EAC7B,EAAE,OAAO,SAAS,OAAO,SAAS;AACnC;AAEA,SAAS,aAAa;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,GAKE;AAAA,EACF,MAAM,eAAe,QAAuB,IAAI;AAAA,EAChD,OAAO,WAAW,gBAAgB,WAAS,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;AAAA,EAEhE,gBAAgB,MAAM;AAAA,IACrB,IAAI,CAAC,aAAa;AAAA,MAAS;AAAA,IAC3B,MAAM,cAAc,iBAAiB,UAAU,CAAC,MAAM,EAAE,UAAU,KAAK;AAAA,IACvE,MAAM,UACL,aAAa,QAAQ,iBAAoC,YAAY;AAAA,IACtE,MAAM,YAAY,QAAQ;AAAA,IAC1B,IAAI,WAAW;AAAA,MACd,aAAa;AAAA,QACZ,MAAM,UAAU;AAAA,QAChB,OAAO,UAAU;AAAA,MAClB,CAAC;AAAA,IACF;AAAA,KACE,CAAC,KAAK,CAAC;AAAA,EAEV,uBACC,OA4BE,OA5BF;AAAA,IACC,KAAK;AAAA,IACL,WAAW,2CAA2C,WAAW,mCAAmC;AAAA,IAFrG,UA4BE;AAAA,sBAxBD,MAAC,OAAD;AAAA,QACC,WAAU;AAAA,QACV,OAAO;AAAA,UACN,MAAM,UAAU;AAAA,UAChB,OAAO,UAAU;AAAA,UACjB,YAAY;AAAA,QACb;AAAA,OACD;AAAA,MACC,iBAAiB,IAAI,CAAC,0BACtB,MAaE,UAbF;AAAA,QAEC,YAAQ;AAAA,QACR,MAAK;AAAA,QACL,SAAS,MAAM,SAAS,MAAM,KAAK;AAAA,QACnC;AAAA,QACA,WAAW,oGACV,UAAU,MAAM,QACb,oBACA;AAAA,QATL,UAYE,MAAM;AAAA,SAXF,MAAM,KAYV,CACF;AAAA;AAAA,GACA;AAAA;AAmBG,SAAS,WAAW;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACoB;AAAA,EACpB,QAAQ,MAAM,SAAQ,WAAW,kBAAkB,UAAU;AAAA,EAC7D,MAAM,iBAAiB,kBAAkB;AAAA,EACzC,MAAM,mBAAmB,SAAQ,UAAU,iBAAiB;AAAA,EAC5D,MAAM,iBAAiB,SAAQ,UAAU,kBAAkB;AAAA,EAC3D,MAAM,mBAAmB,QAAgC,IAAI;AAAA,EAC7D,MAAM,mBAAmB,QAAgC,IAAI;AAAA,EAE7D,YAAU,MAAM;AAAA,IACf,IAAI,UAAU,cAAc;AAAA,MAC3B,WAAW,MAAM;AAAA,QAChB,IAAI,iBAAiB,SAAS;AAAA,UAC7B,iBAAiB,SAAS,aAAa;AAAA,QACxC,EAAO,SAAI,iBAAiB,SAAS;AAAA,UACpC,iBAAiB,SAAS,aAAa;AAAA,QACxC;AAAA,SACE,GAAG;AAAA,IACP;AAAA,KACE,CAAC,QAAQ,YAAY,CAAC;AAAA,EAEzB,MAAM,cAAc,MAAM;AAAA,IACzB,QAAQ;AAAA,IACR,WAAW,MAAM;AAAA,MAChB,cAAc,SAAS,MAAM;AAAA,OAC3B,GAAG;AAAA;AAAA,EAGP,MAAM,oBAAoB,CACzB,kBACA,kBACI;AAAA,IACJ,IAAI,uBAAuB;AAAA,MAC1B,sBAAsB,kBAAkB,aAAa;AAAA,IACtD,EAAO;AAAA,MACN,iBAAiB,gBAAgB;AAAA,MACjC,cAAc,aAAa;AAAA;AAAA;AAAA,EAI7B,uBACC,MA+EE,OA/EF;AAAA,IACC;AAAA,IACA,SAAS;AAAA,IACT,OAAM;AAAA,IACN,eAAe;AAAA,IACf,sBAAsB;AAAA,IACtB,UAAS;AAAA,IANV,UAQE,gCACA,MAEE,OAFF;AAAA,MAAK,WAAU;AAAA,MAAf;AAAA,KAEE,IACC,0BACH,OAgEE,OAhEF;AAAA,MAAK,WAAU;AAAA,MAAf,UAgEE;AAAA,QA/DA,0CACA,OAoCE,OApCF;AAAA,UAAK,WAAU;AAAA,UAAf,UAoCE;AAAA,4BAnCD,OAwBE,OAxBF;AAAA,cAAK,WAAU;AAAA,cAAf,UAwBE;AAAA,gCAvBD,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf;AAAA,iBAEE;AAAA,gCACF,MAmBE,UAnBF;AAAA,kBACC,MAAK;AAAA,kBACL,MAAK;AAAA,kBACL,gBAAc;AAAA,kBACd,SAAS,MACR,eAAe,OAAO;AAAA,oBACrB,eAAe,CAAC;AAAA,oBAChB,OAAO;AAAA,kBACR,CAAC;AAAA,kBAEF,WAAW,oJACV,mBAAmB,eAAe;AAAA,kBAXpC,0BAcC,MAAC,QAAD;AAAA,oBACC,WAAW,oEACV,mBAAmB,kBAAkB,mBAClC,mBAAmB,0BAA0B;AAAA,mBAClD;AAAA,iBACC;AAAA;AAAA,aACD;AAAA,4BACF,MAAC,eAAD;AAAA,cACC,OAAO;AAAA,cACP,UAAU,CAAC,UACV,eAAe,OAAO;AAAA,gBACrB,gBAAgB;AAAA,gBAChB,OAAO;AAAA,cACR,CAAC;AAAA,cAEF,UAAU,CAAC;AAAA,aACZ;AAAA;AAAA,SACC;AAAA,wBAGH,OAUE,OAVF;AAAA,oBAUE;AAAA,4BATD,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE;AAAA,4BACF,MAAC,sBAAD;AAAA,cACC,KAAK;AAAA,cACL;AAAA,cACA,QAAQ,QAAO;AAAA,cACf,UAAU;AAAA,aACX;AAAA;AAAA,SACC;AAAA,wBAEF,OAUE,OAVF;AAAA,oBAUE;AAAA,4BATD,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE;AAAA,4BACF,MAAC,sBAAD;AAAA,cACC,KAAK;AAAA,cACL;AAAA,cACA;AAAA,cACA,UAAU;AAAA,aACX;AAAA;AAAA,SACC;AAAA;AAAA,KACD,IACC;AAAA,GACH;AAAA;;;;AhB3LG,IAAM,qBAAqB,MACjC,YACC,SAAS,mBAAkB,GACxB,WAAW,aAAa,cAAc,mBACxC,KACC;AAAA,EACD,MAAM,UAAU,WAAW,SAAS;AAAA,EACpC,OAAO,OAAO,YAAY,WAAS,EAAE;AAAA,EACrC,OAAO,UAAU,eAAe,WAAS,EAAE;AAAA,EAC3C,OAAO,OAAO,YAAY,WAAS,EAAE;AAAA,EACrC,OAAO,cAAc,mBAAmB,WAAS,KAAK;AAAA,EACtD,OAAO,mBAAmB,wBAAwB,WAEhD,IAAI;AAAA,EACN,OAAO,UAAU,eAAe,WAAS,CAAC;AAAA,EAE1C,MAAM,eAAe,QAGlB,IAAI;AAAA,EAEP,MAAM,cAAc,eAAe,SAAS;AAAA,EAC5C,MAAM,gBAAgB,iBAAiB,SAAS;AAAA,EAChD,MAAM,gBAAgB,iBAAiB;AAAA,EACvC,QAAQ,MAAM,cAAc,aAAa;AAAA,EACzC,QAAQ,MAAM,YAAW,UAAU;AAAA,EACnC,QAAQ,MAAM,cAAc,aAAa;AAAA,EACzC,MAAM,aAAa,cAAc;AAAA,EACjC,MAAM,4BAA4B,YACjC,CAAC,UAAU,MAAM,yBAClB;AAAA,EACA,MAAM,qBAAqB,YAC1B,CAAC,UAAU,MAAM,kBAClB;AAAA,EACA,MAAM,cAAc,gBAAe;AAAA,EAEnC,MAAM,yBAAyB,YAAY,WAAW,QAAQ,KAC7D,CAAC,MAAM,EAAE,OAAO,KACjB,GAAG;AAAA,EAEH,MAAM,sBAAsB,YAAY,WAAW,QAAQ,KAC1D,CAAC,MAAM,EAAE,OAAO,KACjB,GAAG;AAAA,EAEH,MAAM,0BAA0B,YAAY,WAAW,QAAQ,KAC9D,CAAC,MAAM,EAAE,OAAO,KACjB,GAAG;AAAA,EAEH,MAAM,cAAc,YAAY,WAAW,QAAQ,KAClD,CAAC,MAAM,EAAE,OAAO,KACjB,GAAG;AAAA,EAEH;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACG,cAAc;AAAA,IACjB,gBAAgB,CAAC,CAAC;AAAA,IAClB,yBAAyB,CAAC,CAAC;AAAA,IAC3B,SAAS,MAAM;AAAA,EAChB,CAAC;AAAA,EAED,MAAM,qBAAqB,wBAC1B,CAAC,UAAU,MAAM,eAClB;AAAA,EACA,MAAM,wBAAwB,wBAC7B,CAAC,UAAU,MAAM,aAClB;AAAA,EACA,MAAM,0BAA0B,wBAC/B,CAAC,UAAU,MAAM,eAClB;AAAA,EAEA,MAAM,0BAA0B,mBAAmB,IAAI,SAAS,KAAK,CAAC;AAAA,EAEtE,MAAM,mBAAmB,SACxB,MACC,wBAAwB,IAAI,CAAC,SAAS;AAAA,IACrC,IAAI,IAAI;AAAA,IACR,OAAO,IAAI;AAAA,EACZ,EAAE,GACH,CAAC,uBAAuB,CACzB;AAAA,EAEA,MAAM,8BAA8B,cACnC,CAAC,cAAsB;AAAA,IACtB,sBAAsB,WAAW,SAAS;AAAA,KAE3C,CAAC,WAAW,qBAAqB,CAClC;AAAA,EAEA,MAAM,mBAAmB,YAAY,WAAW;AAAA,EAEhD,YAAU,MAAM;AAAA,IACf,IAAI,SAAS;AAAA,MACZ,SAAS,QAAQ,KAAK;AAAA,MACtB,YAAY,QAAQ,QAAQ;AAAA,MAC5B,SAAS,QAAQ,KAAK;AAAA,IACvB;AAAA,KACE,CAAC,OAAO,CAAC;AAAA,EAEZ,YAAU,MAAM;AAAA,IACf,mBAAmB,SAAS;AAAA,IAC5B,OAAO,MAAM,mBAAmB,IAAI;AAAA,KAClC,CAAC,WAAW,kBAAkB,CAAC;AAAA,EAElC,YAAU,MAAM;AAAA,IACf,YAAY,CAAC,SAAS,OAAO,CAAC;AAAA,KAC5B,CAAC,CAAC;AAAA,EAEL,MAAM,qBAAqB,cAC1B,CAAC,UAAU,MAAM,kBAClB;AAAA,EACA,MAAM,qBAAqB,cAC1B,CAAC,UAAU,MAAM,kBAClB;AAAA,EAEA,YAAU,MAAM;AAAA,IACf,IAAI,oBAAoB;AAAA,MACvB,MAAM,OAAO,mBAAmB;AAAA,MAChC,IAAI,MAAM;AAAA,QACT,aAAa,SAAS,SAAS,IAAI;AAAA,MACpC;AAAA,IACD;AAAA,KACE,CAAC,oBAAoB,kBAAkB,CAAC;AAAA,EAE3C,qBAAoB,KAAK,OAAO;AAAA,IAC/B,OAAO,MAAM;AAAA,MACZ,aAAa,SAAS,MAAM;AAAA;AAAA,EAE9B,EAAE;AAAA,EAEF,MAAM,oBAAoB,cACzB,OAAO,YAAoB;AAAA,IAC1B,IAAI;AAAA,MACH,MAAM,eAAe,wBAAwB,SAAS;AAAA,MACtD,MAAM,iBACL,gCAAgC,YAAY;AAAA,MAC7C,MAAM,eAAe,iBAClB,GAAG;AAAA;AAAA,EAAqB,YACxB;AAAA,MAEH,MAAM,YACL,OAAO,SAAS,IACb,OAAO,IAAI,CAAC,SAAS;AAAA,QACrB,MAAM,IAAI;AAAA,QACV,WAAW,IAAI;AAAA,MAChB,EAAE,IACD;AAAA,MAEJ,MAAM,WACL,UAAU,SAAS,IAChB,UAAU,IAAI,CAAC,OAAO;AAAA,QACtB,MAAM,EAAE;AAAA,QACR,MAAM,EAAE;AAAA,QACR,MAAM,EAAE;AAAA,QACR,WAAW,EAAE;AAAA,QACb,aAAa,EAAE;AAAA,MAChB,EAAE,IACD;AAAA,MAEJ,MAAM,YAAY,YAAY;AAAA,QAC7B,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,OAAO,SAAS;AAAA,QAChB,UAAU,YAAY;AAAA,QACtB,OAAO,SAAS;AAAA,QAChB,aAAa,eAAe;AAAA,QAC5B,eACC,2BACC,SAAQ,UAAU,iBAAiB;AAAA,QACrC,gBAAgB,SAAQ,UAAU,kBAAkB;AAAA,MACrD,CAAC;AAAA,MAED,WAAW;AAAA,MACV,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,2BAA2B,KAAK;AAAA;AAAA,KAGhD;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAQ,UAAU;AAAA,IAClB,SAAQ,UAAU;AAAA,IAClB;AAAA,EACD,CACD;AAAA,EAEA,MAAM,qBAAqB,cAAY,MAAM;AAAA,IAC5C,gBAAgB,CAAC,SAAS,CAAC,IAAI;AAAA,KAC7B,CAAC,CAAC;AAAA,EAEL,MAAM,oBAAoB,cAAY,MAAM;AAAA,IAC3C,gBAAgB,KAAK;AAAA,IACrB,qBAAqB,IAAI;AAAA,KACvB,CAAC,CAAC;AAAA,EAEL,MAAM,gBAAgB,cACrB,OAAO,cAAsB;AAAA,IAC5B,IAAI,cAAc,UAAU;AAAA,MAC3B,qBAAqB,OAAO;AAAA,MAC5B,gBAAgB,IAAI;AAAA,IACrB,EAAO,SAAI,cAAc,UAAU;AAAA,MAClC,qBAAqB,OAAO;AAAA,MAC5B,gBAAgB,IAAI;AAAA,IACrB,EAAO,SAAI,cAAc,OAAO;AAAA,MAC/B,eAAe;AAAA,IAChB,EAAO,SAAI,cAAc,SAAS;AAAA,MACjC,MAAM,gBAAgB,WAAW,UAAU,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC;AAAA,MAClE,MAAM,iBACL,WAAW,WAAW,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC;AAAA,MAC9C,MAAM,cAAc,CAAC,GAAG,eAAe,GAAG,cAAc;AAAA,MACxD,IAAI,YAAY,SAAS,GAAG;AAAA,QAC3B,WAAW,OAAO,WAAW;AAAA,MAC9B;AAAA,IACD,EAAO,SAAI,cAAc,UAAU;AAAA,MAClC,0BAA0B,SAAS;AAAA,IACpC,EAAO,SAAI,cAAc,WAAW;AAAA,MACnC,kBAAkB,UAAU;AAAA,IAC7B,EAAO,SAAI,cAAc,UAAU;AAAA,MAClC,cAAc,OAAO,WAAW;AAAA,QAC/B,WAAW,MAAM;AAAA,UAChB,kBAAkB;AAAA;AAAA,MAEpB,CAAC;AAAA,IACF,EAAO,SAAI,cAAc,SAAS;AAAA,MACjC,MAAM,WAAU,MAAM,QAAQ,oBAAoB;AAAA,MAClD,IAAI;AAAA,QACH,MAAM,SAAS,MAAM,UAAU,aAAa,SAAS;AAAA,QACrD,IAAI,OAAO,QAAQ;AAAA,UAClB,MAAM,kBACL,OAAO,YAAY,mBAChB,mBACA,mBACH,EAAE,OAAO,QAAQ,MAAM,OAAO,IAAI,CACnC;AAAA,UACA,YAAY,kBAAkB;AAAA,YAC7B,UAAU,CAAC,gBAAgB,SAAS;AAAA,UACrC,CAAC;AAAA,QACF;AAAA,QACC,OAAO,OAAO;AAAA,QACf,MAAM,MACL,iBAAiB,QAAQ,MAAM,UAAU,iBAC1C;AAAA,gBACC;AAAA,QACD,cAAc,SAAS,EAAE,YAAY,QAAO;AAAA;AAAA,IAE9C,EAAO,SAAI,cAAc,QAAQ;AAAA,MAChC,MAAM,WAAU,MAAM,QAAQ,oBAAoB;AAAA,MAClD,IAAI;AAAA,QACH,MAAM,SAAS,MAAM,UAAU,YAAY,SAAS;AAAA,QACpD,IAAI,OAAO,QAAQ;AAAA,UAClB,MAAM,MACL,OAAO,cAAc,IAClB,UAAU,OAAO,6BACjB;AAAA,UACJ,MAAM,kBAAkB,KAAK;AAAA,YAC5B,OAAO;AAAA,YACP,MAAM,OAAO;AAAA,UACd,CAAC;AAAA,UACD,YAAY,kBAAkB;AAAA,YAC7B,UAAU,CAAC,gBAAgB,SAAS;AAAA,UACrC,CAAC;AAAA,QACF;AAAA,QACC,OAAO,OAAO;AAAA,QACf,MAAM,MACL,iBAAiB,QAAQ,MAAM,UAAU,gBAC1C;AAAA,gBACC;AAAA,QACD,cAAc,SAAS,EAAE,YAAY,QAAO;AAAA;AAAA,IAE9C;AAAA,KAED;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CACD;AAAA,EAEA,MAAM,oBAAoB,cACzB,OAAO,UAAkB;AAAA,IACxB,SAAS,KAAK;AAAA,IACd,IAAI;AAAA,MACH,MAAM,cAAc,YAAY,EAAE,OAAO,MAAM,CAAC;AAAA,MAC/C,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,2BAA2B,KAAK;AAAA;AAAA,KAGhD,CAAC,aAAa,CACf;AAAA,EAEA,MAAM,4BAA4B,cACjC,OAAO,aAAqB,aAAqB;AAAA,IAChD,YAAY,WAAW;AAAA,IACvB,SAAS,QAAQ;AAAA,IACjB,IAAI;AAAA,MACH,MAAM,cAAc,YAAY;AAAA,QAC/B,UAAU;AAAA,QACV,OAAO;AAAA,MACR,CAAC;AAAA,MACA,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,2BAA2B,KAAK;AAAA;AAAA,KAGhD,CAAC,aAAa,CACf;AAAA,EAEA,MAAM,uBAAuB,cAC5B,OAAO,gBAAwB;AAAA,IAC9B,YAAY,WAAW;AAAA,IACvB,IAAI,OAAO;AAAA,MACV,IAAI;AAAA,QACH,MAAM,cAAc,YAAY;AAAA,UAC/B,UAAU;AAAA,UACV;AAAA,QACD,CAAC;AAAA,QACA,OAAO,OAAO;AAAA,QACf,QAAQ,MAAM,8BAA8B,KAAK;AAAA;AAAA,IAEnD;AAAA,KAED,CAAC,OAAO,aAAa,CACtB;AAAA,EAEA,MAAM,oBAAoB,cACzB,OAAO,aAAqB;AAAA,IAC3B,SAAS,QAAQ;AAAA,IACjB,IAAI;AAAA,MACH,MAAM,cAAc,YAAY,EAAE,UAAU,OAAO,SAAS,CAAC;AAAA,MAC5D,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,2BAA2B,KAAK;AAAA;AAAA,KAGhD,CAAC,UAAU,aAAa,CACzB;AAAA,EAEA,MAAM,uBAAuB,cAC5B,OAAO,eAAwB;AAAA,IAC9B,MAAM,WAAW,aAAa,SAAS;AAAA,IACvC,SAAS,QAAQ;AAAA,IACjB,IAAI;AAAA,MACH,MAAM,cAAc,YAAY,EAAE,OAAO,SAAS,CAAC;AAAA,MAClD,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,2BAA2B,KAAK;AAAA;AAAA,KAGhD,CAAC,aAAa,CACf;AAAA,EAEA,uBACC;AAAA,cAkDE;AAAA,sBAjDD,MAAC,aAAD;AAAA,QACC,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,cAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAe;AAAA,QACf,kBAAkB;AAAA,QAClB,eAAe;AAAA,QACf,uBAAuB;AAAA,OACxB;AAAA,sBACA,MAAC,WAAD;AAAA,QACC,KAAK;AAAA,QAEL,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,UAAU,YAAY;AAAA,QACtB,eAAe;AAAA,QACf,kBAAkB;AAAA,QAClB,YAAY,UAAU;AAAA,QACtB,kBACC,2BACC,SAAQ,UAAU,iBAAiB;AAAA,QAErC;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA,SAAS;AAAA,QACT,eAAe;AAAA,QACf,mBAAmB;AAAA,QACnB,WAAW;AAAA,QACX,cAAc;AAAA,QACd,UAAU;AAAA,QACV,aAAa;AAAA,QACb;AAAA,QACA,yBAAyB;AAAA,QACzB,kBAAkB,MAAM;AAAA,UACvB,qBAAqB,OAAO;AAAA,UAC5B,gBAAgB,IAAI;AAAA;AAAA,QAErB;AAAA,QACA,QAAQ,SAAQ;AAAA,QAChB,eAAe;AAAA,SA/BV,QAgCN;AAAA;AAAA,GACC;AAAA,CAGL,CACD;;AmBhdA,sBAAS;AACT;;AAaO,SAAS,cAAc;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACuB;AAAA,EACvB,QAAQ,MAAM,SAAQ,WAAW,kBAAkB,UAAU;AAAA,EAC7D,QAAQ,MAAM,YAAY,WAAW,kBAAkB,UAAU,QAAQ;AAAA,EACzE,QAAQ,8BAAgB,eAAe;AAAA,EAEvC,QAAQ,IAAI,2BAA2B;AAAA,IACtC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EAGD,YAAU,MAAM;AAAA,IACf,IAAI,WAAU,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO;AAAA,MAC5C,cAAc,QAAO,SAAS,KAAK;AAAA,MACnC,iBAAiB,QAAO,SAAS,QAAQ;AAAA,MACzC,cAAc,QAAO,SAAS,KAAK;AAAA,IACpC;AAAA,KACE;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EAGD,YAAU,MAAM;AAAA,IACf,IAAI,cAAc,WAAW,OAAO,SAAS,GAAG;AAAA,MAC/C,MAAM,qBAAqB,WAAW,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,KAAK;AAAA,MACvE,IAAI,CAAC,oBAAoB;AAAA,QACxB,cAAc,WAAW,WAAW,WAAW,OAAO,GAAG,EAAE;AAAA,MAC5D;AAAA,IACD;AAAA,KACE,CAAC,YAAY,OAAO,aAAa,CAAC;AAAA,EAErC,IAAI,eAAe;AAAA,IAClB,uBACC,OAGE,OAHF;AAAA,MAAK,WAAU;AAAA,MAAf,UAGE;AAAA,wBAFD,MAAC,UAAD;AAAA,UAAU,WAAU;AAAA,SAA6C;AAAA,wBACjE,MAAmE,QAAnE;AAAA,UAAM,WAAU;AAAA,UAAhB;AAAA,SAAmE;AAAA;AAAA,KAClE;AAAA,EAEJ;AAAA,EAEA,IAAI,CAAC;AAAA,IAAQ,OAAO;AAAA,EAEpB,MAAM,qBAAqB,aAAY,mBACpC,+BACA;AAAA,EAEH,uBACC,MA2CE,OA3CF;AAAA,IAAK,WAAU;AAAA,IAAf,0BACC,MAyCE,OAzCF;AAAA,MAAK,WAAW;AAAA,MAAhB,0BACC,OAuCE,OAvCF;AAAA,QAAK,WAAU;AAAA,QAAf,UAuCE;AAAA,0BAtCD,MAAC,UAAD;AAAA,YAAU,WAAU;AAAA,WAAgC;AAAA,0BAEpD,MAUE,UAVF;AAAA,YACC,OAAO;AAAA,YACP,UAAU,CAAC,MAAM,cAAc,EAAE,OAAO,KAAK;AAAA,YAC7C,WAAU;AAAA,YAHX,UAKE,QAAO,OAAO,IAAI,CAAC,sBACnB,MAEE,UAFF;AAAA,cAAgB,OAAO;AAAA,cAAvB,UACE;AAAA,eADW,CAEX,CACF;AAAA,WACA;AAAA,0BAEF,MAUE,UAVF;AAAA,YACC,OAAO;AAAA,YACP,UAAU,CAAC,MAAM,iBAAiB,EAAE,OAAO,KAAK;AAAA,YAChD,WAAU;AAAA,YAHX,UAKE,QAAO,UAAU,IAAI,CAAC,sBACtB,MAEE,UAFF;AAAA,cAAgB,OAAO;AAAA,cAAvB,UACE;AAAA,eADW,CAEX,CACF;AAAA,WACA;AAAA,0BAEF,MAWE,UAXF;AAAA,YACC,OAAO;AAAA,YACP,UAAU,CAAC,MAAM,cAAc,EAAE,OAAO,KAAK;AAAA,YAC7C,UAAU,iBAAiB,CAAC;AAAA,YAC5B,WAAU;AAAA,YAJX,UAME,YAAY,OAAO,IAAI,CAAC,sBACxB,MAEE,UAFF;AAAA,cAAmB,OAAO,EAAE;AAAA,cAA5B,UACE,EAAE;AAAA,eADS,EAAE,EAEb,CACF;AAAA,WACA;AAAA;AAAA,OACD;AAAA,KACD;AAAA,GACD;AAAA;;ACxHJ,uBAAS;AACT,qBAAS;;AASF,SAAS,UAAU,GAAG,WAAW,QAAQ,YAA6B;AAAA,EAC5E,OAAO,YAAY,iBAAiB,WAAS,KAAK;AAAA,EAElD,MAAM,aAAa,YAAY;AAAA,IAC9B,IAAI;AAAA,MAAY;AAAA,IAChB,cAAc,IAAI;AAAA,IAElB,IAAI;AAAA,MACH,MAAM,UAAU,aAAa,SAAS;AAAA,MACtC,SAAS;AAAA,MACR,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,2BAA2B,KAAK;AAAA,cAC7C;AAAA,MAED,WAAW,MAAM,cAAc,KAAK,GAAG,IAAI;AAAA;AAAA;AAAA,EAI7C,uBACC,OASE,UATF;AAAA,IACC,MAAK;AAAA,IACL,SAAS;AAAA,IACT,UAAU,YAAY;AAAA,IACtB,WAAU;AAAA,IACV,OAAM;AAAA,IALP,UASE;AAAA,sBAFD,MAAC,aAAD;AAAA,QAAY,WAAU;AAAA,OAAU;AAAA,sBAChC,MAAqE,QAArE;AAAA,QAAM,WAAU;AAAA,QAAhB,UAA+B,aAAa,gBAAgB;AAAA,OAAS;AAAA;AAAA,GACpE;AAAA;;ACtCJ,sBAAS,uBAAW,sBAAQ,uBAAU,mBAAS,uBAAM;AACrD;AACA,2BAAS;;;ACFT,iBAAS,mBAAM,2BAAU,0BAAa;AACtC;AAAA,cACC;AAAA,eACA;AAAA,UACA;AAAA,WACA;AAAA,YACA;AAAA,gBACA;AAAA;;;ACPD;AAAA,cACC;AAAA,aACA;AAAA,eACA;AAAA;AAAA,eAEA;AAAA,WACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACA;AAAA,gBACA;AAAA;AAAA,iBAEA;AAAA;AAAA,WAEA;AAAA;AAAA,UAEA;AAAA,cACA;AAAA;AAED;AAAA,cACC;AAAA,UACA;AAAA;AAKD;AACA;;;AC5BA,iBAAS,mBAAM;AACf,mBAAS,kBAAQ,aAAO;AACxB,kBAAS;AACT;AAAA,WACC;AAAA,iBACA;AAAA;;;ACLD,kBAAS;AACT;AAAA;AAAA;AAAA;AAAA;AAiBA,SAAS,mBAAmB,CAAC,MAAsB;AAAA,EAClD,MAAM,MAAM,KAAK,MAAM,GAAG,EAAE,IAAI,GAAG,YAAY;AAAA,EAC/C,MAAM,UAAkC;AAAA,IACvC,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,GAAG;AAAA,IACH,KAAK;AAAA,IACL,GAAG;AAAA,IACH,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,IACN,KAAK;AAAA,IACL,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,QAAQ;AAAA,EACT;AAAA,EACA,OAAO,QAAQ,OAAO,OAAO;AAAA;AAG9B,SAAS,SAAS,CAAC,OAAwD;AAAA,EAC1E,MAAM,QAAQ,MAAM,MAAM;AAAA,CAAI;AAAA,EAC9B,MAAM,SAAqB,CAAC;AAAA,EAC5B,IAAI,aAAa;AAAA,EACjB,IAAI,aAAa;AAAA,EACjB,IAAI,SAAS;AAAA,EACb,IAAI,WAAW;AAAA,EAEf,WAAW,QAAQ,OAAO;AAAA,IAGzB,IACC,KAAK,WAAW,kBAAkB,KAClC,KAAK,WAAW,eAAe,GAC9B;AAAA,MACD,MAAM,QAAQ,KAAK,MAAM,kCAAkC;AAAA,MAC3D,IAAI;AAAA,QAAO,WAAW,MAAM;AAAA,MAC5B,SAAS;AAAA,MACT,aAAa;AAAA,MACb,aAAa;AAAA,IACd;AAAA,IACA,IAAI,KAAK,WAAW,KAAK,KAAK,KAAK,WAAW,kBAAkB,GAAG;AAAA,MAClE,MAAM,QACL,KAAK,MAAM,gBAAgB,KAAK,KAAK,MAAM,0BAA0B;AAAA,MACtE,IAAI;AAAA,QAAO,WAAW,MAAM;AAAA,IAC7B;AAAA,IAIA,MAAM,YAAY,KAAK,MAAM,yCAAyC;AAAA,IACtE,IAAI,WAAW;AAAA,MACd,aAAa,OAAO,SAAS,UAAU,IAAI,EAAE;AAAA,MAC7C,aAAa,OAAO,SAAS,UAAU,IAAI,EAAE;AAAA,MAC7C,SAAS;AAAA,MACT,OAAO,KAAK;AAAA,QACX,SAAS;AAAA,QACT,aAAa;AAAA,QACb,MAAM;AAAA,MACP,CAAC;AAAA,MACD;AAAA,IACD;AAAA,IAGA,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK,MAAM,UAAU,GAAG;AAAA,MACrD,SAAS;AAAA,MACT,OAAO,KAAK;AAAA,QACX,SAAS;AAAA,QACT,aAAa;AAAA,QACb,MAAM;AAAA,MACP,CAAC;AAAA,MACD;AAAA,IACD;AAAA,IAGA,IACC,KAAK,WAAW,KAAK,KACrB,KAAK,WAAW,OAAO,KACvB,KAAK,WAAW,QAAQ,KACxB,KAAK,WAAW,KAAK,KACrB,KAAK,WAAW,KAAK,GACpB;AAAA,MACD,OAAO,KAAK;AAAA,QACX,SAAS;AAAA,QACT,aAAa;AAAA,QACb,MAAM;AAAA,MACP,CAAC;AAAA,MACD;AAAA,IACD;AAAA,IAGA,IAAI,QAAQ;AAAA,MACX,IAAI,KAAK,WAAW,GAAG,GAAG;AAAA,QACzB,OAAO,KAAK;AAAA,UACX,SAAS;AAAA,UACT,aAAa,KAAK,MAAM,CAAC;AAAA,UACzB,MAAM;AAAA,UACN,YAAY;AAAA,QACb,CAAC;AAAA,MACF,EAAO,SAAI,KAAK,WAAW,GAAG,GAAG;AAAA,QAChC,OAAO,KAAK;AAAA,UACX,SAAS;AAAA,UACT,aAAa,KAAK,MAAM,CAAC;AAAA,UACzB,MAAM;AAAA,UACN,YAAY;AAAA,QACb,CAAC;AAAA,MACF,EAAO,SAAI,KAAK,WAAW,GAAG,KAAK,SAAS,IAAI;AAAA,QAC/C,OAAO,KAAK;AAAA,UACX,SAAS;AAAA,UACT,aAAa,KAAK,WAAW,GAAG,IAAI,KAAK,MAAM,CAAC,IAAI;AAAA,UACpD,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,YAAY;AAAA,QACb,CAAC;AAAA,MACF,EAAO;AAAA,QAEN,OAAO,KAAK;AAAA,UACX,SAAS;AAAA,UACT,aAAa;AAAA,UACb,MAAM;AAAA,QACP,CAAC;AAAA;AAAA,IAEH,EAAO;AAAA,MAEN,OAAO,KAAK;AAAA,QACX,SAAS;AAAA,QACT,aAAa;AAAA,QACb,MAAM;AAAA,MACP,CAAC;AAAA;AAAA,EAEH;AAAA,EAEA,OAAO,EAAE,OAAO,QAAQ,SAAS;AAAA;AAG3B,SAAS,QAAQ,GAAG,SAAwB;AAAA,EAClD,QAAQ,OAAO,WAAW,aAAa,UAAU,KAAK;AAAA,EACtD,MAAM,WAAW,oBAAoB,QAAQ;AAAA,EAC7C,MAAM,cAAc,UAAU,gBAAgB,UAAU,SAAS,MAAM,IACpE,cACA;AAAA,EAEH,uBACC,MA6GE,OA7GF;AAAA,IAAK,WAAU;AAAA,IAAf,0BACC,MA2GE,OA3GF;AAAA,MAAK,WAAU;AAAA,MAAf,UACE,UAAU,IAAI,CAAC,MAAM,MAAM;AAAA,QAC3B,MAAM,MAAM,QAAQ,KAAK,KAAK,QAAQ,MAAM,GAAG,EAAE;AAAA,QAGjD,IAAI,KAAK,SAAS,UAAU,KAAK,SAAS,UAAU;AAAA,UACnD,uBACC,MASE,OATF;AAAA,YAEC,WAAW,6CACV,KAAK,SAAS,WACX,yCACA;AAAA,YALL,UAQE,KAAK;AAAA,aAPD,GAQJ;AAAA,QAEJ;AAAA,QAGA,IAAI,YAAY;AAAA,QAChB,IAAI,UAAU;AAAA,QACd,QAAQ,KAAK;AAAA,eACP;AAAA,YACJ,YAAY;AAAA,YACZ,UAAU;AAAA,YACV;AAAA,eACI;AAAA,YACJ,YAAY;AAAA,YACZ,UAAU;AAAA,YACV;AAAA;AAAA,YAEA,YAAY;AAAA;AAAA,QAId,IAAI,kBAAmC,KAAK;AAAA,QAC5C,IAAI,KAAK,YAAY,KAAK,KAAK,aAAa,QAAQ;AAAA,UACnD,kCACC,MAoBE,mBApBF;AAAA,YACC;AAAA,YACA,OAAO;AAAA,YACP,aAAa;AAAA,cACZ,QAAQ;AAAA,cACR,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,SAAS;AAAA,cACT,UAAU;AAAA,cACV,YAAY;AAAA,YACb;AAAA,YACA,cAAc;AAAA,cACb,OAAO;AAAA,gBACN,YAAY;AAAA,gBACZ,YAAY;AAAA,cACb;AAAA,YACD;AAAA,YACA,QAAO;AAAA,YAjBR,UAmBE,KAAK;AAAA,WACL;AAAA,UAIH,IAAI,KAAK,SAAS,OAAO;AAAA,YACxB,kCACC;AAAA,wBAGE;AAAA,gCAFD,MAAiC,QAAjC;AAAA,kBAAM,WAAU;AAAA,kBAAhB;AAAA,iBAAiC;AAAA,gBAChC;AAAA;AAAA,aACA;AAAA,UAEJ,EAAO,SAAI,KAAK,SAAS,UAAU;AAAA,YAClC,kCACC;AAAA,wBAGE;AAAA,gCAFD,MAAiC,QAAjC;AAAA,kBAAM,WAAU;AAAA,kBAAhB;AAAA,iBAAiC;AAAA,gBAChC;AAAA;AAAA,aACA;AAAA,UAEJ,EAAO,SAAI,KAAK,SAAS,WAAW;AAAA,YACnC,kCACC;AAAA,wBAGE;AAAA,gCAFD,MAAiC,QAAjC;AAAA,kBAAM,WAAU;AAAA,kBAAhB;AAAA,iBAAiC;AAAA,gBAChC;AAAA;AAAA,aACA;AAAA,UAEJ;AAAA,QACD;AAAA,QAEA,uBACC,OAeE,OAfF;AAAA,UAAe,WAAW,QAAQ;AAAA,UAAlC,UAeE;AAAA,4BAbD,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE,KAAK,cAAc;AAAA,aACnB;AAAA,4BAEF,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE,KAAK,cAAc;AAAA,aACnB;AAAA,4BAEF,MAIE,OAJF;AAAA,cACC,WAAW,4DAA4D;AAAA,cADxE,UAGE;AAAA,aACA;AAAA;AAAA,WAdO,GAeR;AAAA,OAEH;AAAA,KACA;AAAA,GACD;AAAA;;;;AD3QJ,SAAS,oBAAmB,CAAC,MAAsB;AAAA,EAClD,MAAM,MAAM,KAAK,MAAM,GAAG,EAAE,IAAI,GAAG,YAAY;AAAA,EAC/C,MAAM,UAAkC;AAAA,IACvC,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,GAAG;AAAA,IACH,KAAK;AAAA,IACL,GAAG;AAAA,IACH,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,IACN,KAAK;AAAA,IACL,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,QAAQ;AAAA,EACT;AAAA,EACA,OAAO,QAAQ,OAAO,OAAO;AAAA;AAG9B,SAAS,mBAAmB,CAC3B,UACA,MACwC;AAAA,EACxC,IAAI,CAAC;AAAA,IAAM,OAAO;AAAA,EAClB,MAAM,SAAmC;AAAA,IACxC,MAAM,CAAC,MAAM;AAAA,IACb,OAAO,CAAC,MAAM;AAAA,IACd,MAAM,CAAC,MAAM;AAAA,IACb,aAAa,CAAC,MAAM;AAAA,IACpB,MAAM,CAAC,SAAS;AAAA,IAChB,MAAM,CAAC,SAAS,SAAS;AAAA,IACzB,SAAS,CAAC,SAAS,SAAS;AAAA,IAC5B,MAAM,CAAC,OAAO,SAAS;AAAA,IACvB,UAAU,CAAC,SAAS;AAAA,IACpB,YAAY,CAAC,SAAS;AAAA,IACtB,UAAU,CAAC,MAAM;AAAA,IACjB,MAAM,CAAC,MAAM;AAAA,IACb,IAAI,CAAC,MAAM;AAAA,IACX,YAAY,CAAC,SAAS,KAAK;AAAA,IAC3B,OAAO,CAAC,MAAM;AAAA,EACf;AAAA,EACA,MAAM,OAAO,OAAO;AAAA,EACpB,IAAI,CAAC,MAAM;AAAA,IACV,YAAY,KAAK,UAAU,OAAO,QAAQ,IAAI,GAAG;AAAA,MAChD,IAAI,OAAO,UAAU,YAAY,MAAM,SAAS,KAAK,MAAM,SAAS,KAAK;AAAA,QACxE,OAAO,EAAE,KAAK,MAAM;AAAA,MACrB;AAAA,IACD;AAAA,IACA,OAAO;AAAA,EACR;AAAA,EACA,WAAW,OAAO,MAAM;AAAA,IACvB,MAAM,QAAQ,KAAK;AAAA,IACnB,IAAI,OAAO,UAAU,YAAY,MAAM,SAAS,GAAG;AAAA,MAClD,OAAO,EAAE,KAAK,MAAM;AAAA,IACrB;AAAA,EACD;AAAA,EACA,OAAO;AAAA;AAGR,SAAS,iBAAiB,CACzB,MACgB;AAAA,EAChB,IAAI,CAAC;AAAA,IAAM,OAAO;AAAA,EAClB,MAAM,MAAM,KAAK,OAAO,KAAK;AAAA,EAC7B,IAAI,OAAO,QAAQ,YAAY,IAAI,SAAS,GAAG;AAAA,IAC9C,OAAO;AAAA,EACR;AAAA,EACA,OAAO;AAAA;AAGD,IAAM,mBAAmB,MAAK,SAAS,iBAAgB;AAAA,EAC7D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACyB;AAAA,EACzB,OAAO,cAAc,mBAAmB,WAAS,KAAK;AAAA,EAEtD,MAAM,YAAY,SAAS,QAAQ,MAAM,GAAG;AAAA,EAC5C,MAAM,UAAU,oBAAoB,UAAU,IAAI;AAAA,EAClD,MAAM,UAAU,aAAa,SAAS,kBAAkB,IAAI,IAAI;AAAA,EAChE,MAAM,iBAAiB,WAAW,SAAS;AAAA,EAE3C,MAAM,WAAW,OAAO,MAAM,SAAS,WAAW,KAAK,OAAO;AAAA,EAC9D,MAAM,WAAW,qBAAoB,QAAQ;AAAA,EAC7C,MAAM,cAAc,UAAU,gBAAgB,UAAU,SAAS,MAAM,IACpE,eACA;AAAA,EAEH,MAAM,gBAAgB,MAAM;AAAA,IAC3B,gBAAgB,IAAI;AAAA,IACpB,QAAQ,QAAQ,UAAU,gBAAgB,MAAM,CAAC,EAAE,MAAM,MAAM;AAAA,MAC9D,gBAAgB,KAAK;AAAA,KACrB;AAAA;AAAA,EAGF,MAAM,eAAe,MAAM;AAAA,IAC1B,gBAAgB,IAAI;AAAA,IACpB,QAAQ,QAAQ,SAAS,gBAAgB,MAAM,CAAC,EAAE,MAAM,MAAM;AAAA,MAC7D,gBAAgB,KAAK;AAAA,KACrB;AAAA;AAAA,EAGF,MAAM,gBAAgB,MAAM;AAAA,IAC3B,IAAI,aAAa,iBAAiB,MAAM,OAAO;AAAA,MAC9C,uBACC,MAEE,OAFF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,MAAC,UAAD;AAAA,UAAU,OAAO,OAAO,KAAK,KAAK;AAAA,SAAG;AAAA,OACpC;AAAA,IAEJ;AAAA,IAEA,IAAI,aAAa,WAAW,MAAM,SAAS;AAAA,MAC1C,MAAM,UAAU,OAAO,KAAK,OAAO;AAAA,MACnC,uBACC,MAyBE,OAzBF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,MAuBE,OAvBF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,MAqBE,OArBF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAmBE,oBAnBF;AAAA,cACC;AAAA,cACA,OAAO;AAAA,cACP,aAAa;AAAA,gBACZ,QAAQ;AAAA,gBACR,SAAS;AAAA,gBACT,YAAY;AAAA,gBACZ,UAAU;AAAA,cACX;AAAA,cACA,iBAAe;AAAA,cACf,iBAAiB;AAAA,gBAChB,UAAU;AAAA,gBACV,cAAc;AAAA,gBACd,OAAO;AAAA,gBACP,SAAS;AAAA,gBACT,YAAY;AAAA,cACb;AAAA,cAhBD,UAkBE;AAAA,aACA;AAAA,WACD;AAAA,SACD;AAAA,OACD;AAAA,IAEJ;AAAA,IAEA,IAAI,aAAa,UAAU,MAAM,KAAK;AAAA,MACrC,MAAM,MAAM,OAAO,KAAK,GAAG;AAAA,MAC3B,uBACC,MAiBE,OAjBF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,MAeE,OAfF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,MAaE,OAbF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAWE,oBAXF;AAAA,cACC,UAAS;AAAA,cACT,OAAO;AAAA,cACP,aAAa;AAAA,gBACZ,QAAQ;AAAA,gBACR,SAAS;AAAA,gBACT,YAAY;AAAA,gBACZ,UAAU;AAAA,cACX;AAAA,cARD,UAUE;AAAA,aACA;AAAA,WACD;AAAA,SACD;AAAA,OACD;AAAA,IAEJ;AAAA,IAEA,OAAO;AAAA;AAAA,EAGR,uBACC,OA0CE,OA1CF;AAAA,IAAK,WAAU;AAAA,IAAf,UA0CE;AAAA,sBAzCD,OAWE,OAXF;AAAA,QAAK,WAAU;AAAA,QAAf,UAWE;AAAA,0BAVD,MAAC,SAAD;AAAA,YAAQ,WAAU;AAAA,WAAuC;AAAA,0BACzD,MAAmE,QAAnE;AAAA,YAAM,WAAU;AAAA,YAAhB,UAAuD;AAAA,WAAY;AAAA,UAClE,kBAAkB,aAAa,0BAC/B,MAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UACE;AAAA,WACA;AAAA,0BAEH,MAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB;AAAA,WAEE;AAAA;AAAA,OACD;AAAA,MACD,cAAc;AAAA,sBACf,OA2BE,OA3BF;AAAA,QAAK,WAAU;AAAA,QAAf,UA2BE;AAAA,0BA1BD,OAYE,UAZF;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,UAAU;AAAA,YACV,OAAM;AAAA,YACN,WAAU;AAAA,YALX,UAYE;AAAA,8BALD,MAAC,IAAD;AAAA,gBAAG,WAAU;AAAA,eAAU;AAAA,cAPxB;AAAA,8BASC,MAEE,OAFF;AAAA,gBAAK,WAAU;AAAA,gBAAf;AAAA,eAEE;AAAA;AAAA,WACD;AAAA,0BACF,OAYE,UAZF;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,UAAU;AAAA,YACV,OAAM;AAAA,YACN,WAAU;AAAA,YALX,UAYE;AAAA,8BALD,MAAC,QAAD;AAAA,gBAAO,WAAU;AAAA,eAAU;AAAA,cAC1B,eAAe,iBAAiB;AAAA,cAChC,CAAC,gCACD,MAAgD,OAAhD;AAAA,gBAAK,WAAU;AAAA,gBAAf;AAAA,eAAgD;AAAA;AAAA,WAEhD;AAAA;AAAA,OACD;AAAA;AAAA,GACD;AAAA,CAEH;;;AE5PD,qBAAS;;;ACAT,sCAAuB;AACvB,kBAAS;AACT;AAAA,WACC;AAAA,iBACA;AAAA;;;ACKM,SAAS,cAAc,CAAC,IAAgC;AAAA,EAC9D,IAAI,CAAC;AAAA,IAAI,OAAO;AAAA,EAChB,IAAI,MAAM,MAAM;AAAA,IACf,OAAO,IAAI,KAAK,MAAM,QAAQ,CAAC;AAAA,EAChC;AAAA,EACA,OAAO,GAAG;AAAA;AAOJ,SAAS,WAAW,CAAC,QAA0B;AAAA,EACrD,IAAI,CAAC,UAAU,OAAO,WAAW;AAAA,IAAU,OAAO;AAAA,EAClD,MAAM,MAAM;AAAA,EACZ,OAAO,IAAI,OAAO,SAAS,WAAW,OAAO,IAAI,YAAY;AAAA;AAOvD,SAAS,eAAe,CAAC,QAAgC;AAAA,EAC/D,IAAI,CAAC,UAAU,OAAO,WAAW;AAAA,IAAU,OAAO;AAAA,EAElD,MAAM,MAAM;AAAA,EACZ,MAAM,OAAO,CAAC,SAAS,UAAU,WAAW,UAAU,WAAW,QAAQ;AAAA,EACzE,WAAW,OAAO,MAAM;AAAA,IACvB,MAAM,QAAQ,IAAI;AAAA,IAClB,IAAI,OAAO,UAAU,UAAU;AAAA,MAC9B,MAAM,UAAU,MAAM,KAAK;AAAA,MAC3B,IAAI,QAAQ;AAAA,QAAQ,OAAO;AAAA,IAC5B;AAAA,EACD;AAAA,EACA,OAAO;AAAA;;;AC3CR,wBAAS;AAAA;AAYF,SAAS,gBAAgB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA,YAAY;AAAA,GACa;AAAA,EACzB,uBACC,MAwBE,OAxBF;AAAA,IAAK,WAAU;AAAA,IAAf,0BACC,OAsBE,OAtBF;AAAA,MAAK,WAAU;AAAA,MAAf,UAsBE;AAAA,wBArBD,MAAC,cAAD;AAAA,UAAa,WAAU;AAAA,SAA8D;AAAA,wBACrF,OAmBE,OAnBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAmBE;AAAA,4BAlBD,OAOE,OAPF;AAAA,wBAOE;AAAA,gCAND,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf;AAAA,iBAEE;AAAA,gCACF,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UACE;AAAA,iBACA;AAAA;AAAA,aACD;AAAA,YACD,aAAa,yBACb,OAOE,WAPF;AAAA,cAAS,WAAU;AAAA,cAAnB,UAOE;AAAA,gCAND,MAEE,WAFF;AAAA,kBAAS,WAAU;AAAA,kBAAnB;AAAA,iBAEE;AAAA,gCACF,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UACE;AAAA,iBACA;AAAA;AAAA,aACD;AAAA;AAAA,SAEF;AAAA;AAAA,KACD;AAAA,GACD;AAAA;;;;AFhCJ,SAAS,oBAAmB,CAAC,MAAsB;AAAA,EAClD,MAAM,MAAM,KAAK,MAAM,GAAG,EAAE,IAAI,GAAG,YAAY;AAAA,EAC/C,MAAM,UAAkC;AAAA,IACvC,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,GAAG;AAAA,IACH,KAAK;AAAA,IACL,GAAG;AAAA,IACH,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,IACN,KAAK;AAAA,IACL,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,KAAK;AAAA,EACN;AAAA,EACA,OAAO,QAAQ,OAAO,OAAO;AAAA;AAG9B,SAAS,cAAc,CAAC,WAAmD;AAAA,EAC1E,IAAI,CAAC;AAAA,IAAW;AAAA,EAChB,MAAM,QAAQ,UAAU,MAAM,cAAc;AAAA,EAC5C,IAAI,OAAO;AAAA,IACV,OAAO,OAAO,SAAS,MAAM,IAAI,EAAE;AAAA,EACpC;AAAA,EACA;AAAA;AAGM,SAAS,YAAY;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACiB;AAAA,EACjB,MAAM,SAAS,YAAY,UAAU,CAAC;AAAA,EACtC,MAAM,OAAO,YAAY,QAAQ,CAAC;AAAA,EAElC,MAAM,eACL,OAAO,WAAW,YAAY,QAAQ,UAAU,OAAO,OAAO;AAAA,EAC/D,MAAM,eACL,gBAAgB,WAAW,UAAU,OAAO,OAAO,UAAU,WAC1D,OAAO,QACP;AAAA,EACJ,MAAM,aACL,gBAAgB,WAAW,UAAU,OAAO,OAAO,UAAU,WAC1D,OAAO,QACP;AAAA,EAEJ,MAAM,OAAO,OAAO,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAAA,EAClD,MAAM,UAAU,OAAO,OAAO,WAAW,EAAE;AAAA,EAC3C,MAAM,YAAY,OAAO;AAAA,EACzB,MAAM,QAAQ,QAAQ,MAAM;AAAA,CAAI;AAAA,EAChC,MAAM,UAAU,eAAe,cAAc;AAAA,EAC7C,MAAM,WAAW,qBAAoB,IAAI;AAAA,EACzC,MAAM,cAAc,UAAU,gBAAgB,UAAU,SAAS,MAAM,IACpE,eACA;AAAA,EAEH,MAAM,qBAAqB,eAAe,SAAS;AAAA,EAEnD,MAAM,cAAc,YACjB,GAAG,QAAQ,UAAU,QAAQ,KAAK,EAAE,MACpC;AAAA,EAEH,MAAM,YAAY,QAAQ,SAAS,KAAK;AAAA,EAExC,uBACC,OA6EE,OA7EF;AAAA,IAAK,WAAU;AAAA,IAAf,UA6EE;AAAA,sBA5ED,OAgDE,UAhDF;AAAA,QACC,MAAK;AAAA,QACL,SAAS,MAAM,aAAa,SAAS;AAAA,QACrC,WAAW,4DACV,eACG,8EACA,YACC,kFACA;AAAA,QARN,UAgDE;AAAA,UArCA,YACA,6BACC,MAAC,cAAD;AAAA,YAAc,WAAU;AAAA,WAAuD,oBAE/E,MAAC,cAAD;AAAA,YAAc,WAAU;AAAA,WAA6C,oBAGtE,MAAC,OAAD;AAAA,YAAK,WAAU;AAAA,WAAoB;AAAA,UAEnC,gCACA,MAAC,cAAD;AAAA,YAAa,WAAU;AAAA,WAAuD;AAAA,0BAE/E,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACM,eAAe,WAAW;AAAA;AAAA,WAC9B;AAAA,UACD,CAAC,2BACD;AAAA,sBASE;AAAA,8BARD,MAA2D,QAA3D;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAA2D;AAAA,8BAC3D,MAME,QANF;AAAA,gBACC,WAAU;AAAA,gBACV,KAAI;AAAA,gBACJ,OAAO;AAAA,gBAHR,UAKE,IAAS;AAAA,eACT;AAAA;AAAA,WACD;AAAA,UAEF,CAAC,gBAAgB,MAAM,SAAS,KAAK,CAAC,2BACtC,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACG,MAAM;AAAA,cADT;AAAA,cAC0B;AAAA;AAAA,WACxB;AAAA,UAEF,gBAAgB,CAAC,2BACjB,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACG;AAAA;AAAA,WACD;AAAA;AAAA,OAEF;AAAA,MACD,cAAc,gBAAgB,gCAC9B,MAAC,kBAAD;AAAA,QAAkB,OAAO;AAAA,QAAc,OAAO;AAAA,QAAY,WAAS;AAAA,OAAC;AAAA,MAEpE,cAAc,CAAC,gBAAgB,2BAC/B,MAqBE,OArBF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,MAmBE,OAnBF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,MAiBE,oBAjBF;AAAA,YACC;AAAA,YACA,OAAO;AAAA,YACP,aAAa;AAAA,cACZ,QAAQ;AAAA,cACR,SAAS;AAAA,cACT,UAAU;AAAA,cACV,YAAY;AAAA,cACZ,YAAY;AAAA,cACZ,UAAU;AAAA,YACX;AAAA,YACA,iBAAe;AAAA,YACf;AAAA,YACA,WAAS;AAAA,YACT,eAAa;AAAA,YAdd,UAgBE;AAAA,WACA;AAAA,SACD;AAAA,OACD;AAAA;AAAA,GAEF;AAAA;;;AG3KJ,yBAAS,8BAAc;;AAMhB,SAAS,aAAa;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACiB;AAAA,EACjB,MAAM,SAAS,YAAY,UAAU,CAAC;AAAA,EACtC,MAAM,OAAO,YAAY,QAAQ,CAAC;AAAA,EAClC,MAAM,WAAW,YAAY;AAAA,EAE7B,MAAM,eACL,OAAO,WAAW,YAAY,QAAQ,UAAU,OAAO,OAAO;AAAA,EAC/D,MAAM,eACL,gBAAgB,WAAW,UAAU,OAAO,OAAO,UAAU,WAC1D,OAAO,QACP;AAAA,EACJ,MAAM,aACL,gBAAgB,WAAW,UAAU,OAAO,OAAO,UAAU,WAC1D,OAAO,QACP;AAAA,EAEJ,MAAM,OAAO,OAAO,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAAA,EAClD,MAAM,QAAQ,OAAO,OAAO,SAAS,CAAC;AAAA,EACtC,MAAM,QAAQ,UAAU,QAAQ,OAAO,SAAS,KAAK,IAAI;AAAA,EACzD,MAAM,UAAU,eAAe,cAAc;AAAA,EAE7C,MAAM,YAAY,MAAM,SAAS,KAAK;AAAA,EAEtC,uBACC,OA0DE,OA1DF;AAAA,IAAK,WAAU;AAAA,IAAf,UA0DE;AAAA,sBAzDD,OAgDE,UAhDF;AAAA,QACC,MAAK;AAAA,QACL,SAAS,MAAM,aAAa,SAAS;AAAA,QACrC,WAAW,4DACV,eACG,8EACA,YACC,8FACA;AAAA,QARN,UAgDE;AAAA,UArCA,YACA,6BACC,MAAC,eAAD;AAAA,YAAc,WAAU;AAAA,WAAuD,oBAE/E,MAAC,eAAD;AAAA,YAAc,WAAU;AAAA,WAA6C,oBAGtE,MAAC,OAAD;AAAA,YAAK,WAAU;AAAA,WAAoB;AAAA,UAEnC,gCACA,MAAC,cAAD;AAAA,YAAa,WAAU;AAAA,WAAuD;AAAA,0BAE/E,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACO,eAAe,WAAW;AAAA;AAAA,WAC/B;AAAA,UACD,CAAC,2BACD;AAAA,sBASE;AAAA,8BARD,MAA2D,QAA3D;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAA2D;AAAA,8BAC3D,MAME,QANF;AAAA,gBACC,WAAU;AAAA,gBACV,KAAI;AAAA,gBACJ,OAAO;AAAA,gBAHR,UAKE,IAAS;AAAA,eACT;AAAA;AAAA,WACD;AAAA,UAEF,CAAC,gBAAgB,QAAQ,KAAK,CAAC,2BAC/B,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACG;AAAA,cADH;AAAA,cACmB;AAAA;AAAA,WACjB;AAAA,UAEF,gBAAgB,CAAC,2BACjB,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACG;AAAA;AAAA,WACD;AAAA;AAAA,OAEF;AAAA,MACD,cAAc,gBAAgB,gCAC9B,MAAC,kBAAD;AAAA,QAAkB,OAAO;AAAA,QAAc,OAAO;AAAA,QAAY,WAAS;AAAA,OAAC;AAAA,MAEpE,cAAc,CAAC,gBAAgB,yBAC/B,MAEE,OAFF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,MAAC,UAAD;AAAA,UAAU;AAAA,SAAc;AAAA,OACvB;AAAA;AAAA,GAEF;AAAA;;;AC9FJ,yBAAS,8BAAc;;AAMhB,SAAS,YAAY;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACiB;AAAA,EACjB,MAAM,OAAQ,YAAY,QAAQ,CAAC;AAAA,EACnC,MAAM,SAAU,YAAY,UAAU,CAAC;AAAA,EACvC,MAAM,WAAW,YAAY;AAAA,EAC7B,MAAM,eACL,OAAO,WAAW,YAAY,QAAQ,UAAU,OAAO,OAAO;AAAA,EAC/D,MAAM,eACL,gBAAgB,WAAW,UAAU,OAAO,OAAO,UAAU,WAC1D,OAAO,QACP;AAAA,EACJ,MAAM,aACL,gBAAgB,WAAW,UAAU,OAAO,OAAO,UAAU,WAC1D,OAAO,QACP;AAAA,EAEJ,MAAM,OAAO,OAAO,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAAA,EAClD,MAAM,aAAa,OAAO,OAAO,cAAc,CAAC;AAAA,EAChD,MAAM,QAAQ,UAAU,QAAQ,OAAO,SAAS,KAAK,IAAI;AAAA,EACzD,MAAM,UAAU,eAAe,cAAc;AAAA,EAE7C,MAAM,YAAY,MAAM,SAAS,KAAK;AAAA,EAEtC,uBACC,OAsDE,OAtDF;AAAA,IAAK,WAAU;AAAA,IAAf,UAsDE;AAAA,sBArDD,OA4CE,UA5CF;AAAA,QACC,MAAK;AAAA,QACL,SAAS,MAAM,aAAa,SAAS;AAAA,QACrC,WAAW,4DACV,eACG,8EACA,YACC,0FACA;AAAA,QARN,UA4CE;AAAA,UAjCA,YACA,6BACC,MAAC,eAAD;AAAA,YAAc,WAAU;AAAA,WAAuD,oBAE/E,MAAC,eAAD;AAAA,YAAc,WAAU;AAAA,WAA6C,oBAGtE,MAAC,OAAD;AAAA,YAAK,WAAU;AAAA,WAAoB;AAAA,UAEnC,gCACA,MAAC,cAAD;AAAA,YAAa,WAAU;AAAA,WAAuD;AAAA,0BAE/E,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACM,eAAe,WAAW;AAAA;AAAA,WAC9B;AAAA,0BACF,MAA2D,QAA3D;AAAA,YAAM,WAAU;AAAA,YAAhB;AAAA,WAA2D;AAAA,0BAC3D,MAME,QANF;AAAA,YACC,WAAU;AAAA,YACV,KAAI;AAAA,YACJ,OAAO;AAAA,YAHR,UAKE,IAAS;AAAA,WACT;AAAA,UACD,CAAC,gBAAgB,aAAa,qBAC9B,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACG;AAAA,cADH;AAAA,cACsB;AAAA;AAAA,WACpB;AAAA,UAEF,gCACA,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACG;AAAA;AAAA,WACD;AAAA;AAAA,OAEF;AAAA,MACD,cAAc,gBAAgB,gCAC9B,MAAC,kBAAD;AAAA,QAAkB,OAAO;AAAA,QAAc,OAAO;AAAA,QAAY,WAAS;AAAA,OAAC;AAAA,MAEpE,cAAc,CAAC,gBAAgB,yBAC/B,MAEE,OAFF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,MAAC,UAAD;AAAA,UAAU;AAAA,SAAc;AAAA,OACvB;AAAA;AAAA,GAEF;AAAA;;;ACxFJ,qBAAS;AACT,kBAAS;AACT;AAAA,WACC;AAAA,iBACA;AAAA;;;ACJD,qBAAS;AACT,wBAAe;AAAA;AAQf,IAAM,cAAc;AAAA,EACnB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACL;AAEA,IAAM,iBAAiB;AAAA,EACtB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACL;AAEO,SAAS,UAAU;AAAA,EACzB;AAAA,EACA,YAAY;AAAA,EACZ,OAAO;AAAA,GACY;AAAA,EACnB,OAAO,QAAQ,aAAa,WAAS,KAAK;AAAA,EAE1C,MAAM,aAAa,OAAO,MAAwB;AAAA,IACjD,EAAE,gBAAgB;AAAA,IAClB,IAAI;AAAA,MACH,MAAM,UAAU,UAAU,UAAU,IAAI;AAAA,MACxC,UAAU,IAAI;AAAA,MACd,WAAW,MAAM,UAAU,KAAK,GAAG,IAAI;AAAA,MACtC,MAAM;AAAA;AAAA,EAGT,uBACC,MAWE,UAXF;AAAA,IACC,MAAK;AAAA,IACL,SAAS;AAAA,IACT,WAAW,GAAG,eAAe,iGAAiG;AAAA,IAC9H,OAAM;AAAA,IAJP,UAME,yBACA,MAAC,QAAD;AAAA,MAAO,WAAW,GAAG,YAAY;AAAA,KAA0B,oBAE3D,MAAC,MAAD;AAAA,MAAM,WAAW,YAAY;AAAA,KAAO;AAAA,GAEpC;AAAA;;;ACpCG,SAAS,cAAc;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,YAAY;AAAA,EACZ;AAAA,GACuB;AAAA,EACvB,MAAM,UAAU,YAAY;AAAA,EAE5B,uBACC,OAsBE,OAtBF;AAAA,IACC,WAAW,8DAA8D,aACxE,UAAU,sBAAsB;AAAA,IAFlC,UAsBE;AAAA,sBAjBD,OAeE,OAfF;AAAA,QACC,WAAW,mGACV,UACG,iDACA;AAAA,QAJL,UAeE;AAAA,0BARD,OAME,OANF;AAAA,YAAK,WAAU;AAAA,YAAf,UAME;AAAA,cALA;AAAA,8BACD,MAAe,QAAf;AAAA,0BAAO;AAAA,eAAQ;AAAA,cACd,4BACA,MAAuD,QAAvD;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAA4C;AAAA,eAAW;AAAA;AAAA,WAEvD;AAAA,UACD,4BAAY,MAAC,YAAD;AAAA,YAAY,MAAM;AAAA,WAAU;AAAA;AAAA,OACxC;AAAA,sBACF,MAAkD,OAAlD;AAAA,QAAK,WAAU;AAAA,QAAf;AAAA,OAAkD;AAAA;AAAA,GACjD;AAAA;;AC/CJ,qBAAS;AACT,sBAAS,iBAAW;AAAA;AAWb,SAAS,YAAY,GAAG,UAA6B;AAAA,EAC3D,OAAO,eAAe,oBAAoB,WAAwB,IAAI;AAAA,EAEtE,IAAI,OAAO,WAAW;AAAA,IAAG,OAAO;AAAA,EAEhC,uBACC,MAyCE,OAzCF;AAAA,IAAK,WAAU;AAAA,IAAf,UACE,OAAO,IAAI,CAAC,KAAK,MAAM;AAAA,MACvB,MAAM,MAAM,QAAQ,IAAI,mBAAmB,IAAI;AAAA,MAC/C,MAAM,aAAa,kBAAkB;AAAA,MAErC,uBACC,MAgCE,OAhCF;AAAA,QAAsC,WAAU;AAAA,QAAhD,UACE,6BACA,OAaE,OAbF;AAAA,UAAK,WAAU;AAAA,UAAf,UAaE;AAAA,4BAZD,MAME,UANF;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAM,iBAAiB,IAAI;AAAA,cACpC,WAAU;AAAA,cAHX,0BAKC,MAAC,IAAD;AAAA,gBAAG,WAAU;AAAA,eAAU;AAAA,aACtB;AAAA,4BACF,MAAC,OAAD;AAAA,cACC;AAAA,cACA,KAAK,eAAe,IAAI;AAAA,cACxB,WAAU;AAAA,aACX;AAAA;AAAA,SACC,oBAEF,OAaE,UAbF;AAAA,UACC,MAAK;AAAA,UACL,SAAS,MAAM,iBAAiB,CAAC;AAAA,UACjC,WAAU;AAAA,UAHX,UAaE;AAAA,4BARD,MAAC,OAAD;AAAA,cACC;AAAA,cACA,KAAK,eAAe,IAAI;AAAA,cACxB,WAAU;AAAA,aACX;AAAA,4BACA,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACC,MAAC,YAAD;AAAA,gBAAW,WAAU;AAAA,eAAwF;AAAA,aAC5G;AAAA;AAAA,SACD;AAAA,SA9BM,OAAO,KAAK,IAAI,UAgCxB;AAAA,KAEH;AAAA,GACA;AAAA;;AC1DJ,wBAAS,8BAAa,8BAAc;AAAA;AAWpC,IAAM,eAGF;AAAA,EACH,SAAS;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,EACb;AAAA,EACA,MAAM;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,EACb;AAAA,EACA,SAAS;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,EACb;AAAA,EACA,QAAQ;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,EACb;AAAA,EACA,MAAM;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,EACb;AAAA,EACA,OAAO;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,EACb;AAAA,EACA,KAAK;AAAA,IACJ,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,EACb;AACD;AAYO,SAAS,UAAU;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,eAAe;AAAA,EACf,YAAY;AAAA,EACZ;AAAA,GACmB;AAAA,EACnB,MAAM,SAAS,aAAa;AAAA,EAC5B,MAAM,aAAa,UAChB,GAAG,OAAO,SAAS,OAAO,eAC1B,GAAG,OAAO,UAAU,OAAO;AAAA,EAE9B,uBACC,OAsBE,UAtBF;AAAA,IACC,MAAK;AAAA,IACL,SAAS,MAAM,aAAa,SAAS;AAAA,IACrC,WAAW,4DAA4D;AAAA,IAHxE,UAsBE;AAAA,MAjBA,YACA,6BACC,MAAC,cAAD;AAAA,QAAa,WAAU;AAAA,OAAwB,oBAE/C,MAAC,eAAD;AAAA,QAAc,WAAU;AAAA,OAAwB,oBAGjD,MAAC,OAAD;AAAA,QAAK,WAAU;AAAA,OAAoB;AAAA,MAEnC,2BACA,MAAC,cAAD;AAAA,QAAa,WAAU;AAAA,OAAuD;AAAA,sBAE/E,OAGE,QAHF;AAAA,QAAM,WAAU;AAAA,QAAhB,UAGE;AAAA,UAFA;AAAA,UACA,UAAU,WAAW;AAAA;AAAA,OACrB;AAAA,MACD;AAAA;AAAA,GACA;AAAA;AAIG,SAAS,mBAAmB,GAAG;AAAA,EACrC,uBAAO,MAA2D,QAA3D;AAAA,IAAM,WAAU;AAAA,IAAhB;AAAA,GAA2D;AAAA;AAG5D,SAAS,gBAAgB;AAAA,EAC/B;AAAA,EACA,YAAY;AAAA,GAIV;AAAA,EACF,uBAAO,MAAgE,QAAhE;AAAA,IAAM,WAAW,sBAAsB;AAAA,IAAvC;AAAA,GAAgE;AAAA;AAGjE,SAAS,cAAc;AAAA,EAC7B;AAAA,EACA,YAAY;AAAA,GAIV;AAAA,EACF,uBACC,MAIE,QAJF;AAAA,IACC,WAAW,4DAA4D;AAAA,IADxE;AAAA,GAIE;AAAA;AAIG,SAAS,iBAAiB,GAAG,YAAqC;AAAA,EACxE,uBACC,MAEE,QAFF;AAAA,IAAM,WAAU;AAAA,IAAhB;AAAA,GAEE;AAAA;AAIG,SAAS,eAAe,GAAG,YAAqC;AAAA,EACtE,uBACC,MAEE,QAFF;AAAA,IAAM,WAAU;AAAA,IAAhB;AAAA,GAEE;AAAA;;;AJvIG,SAAS,YAAY;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACiB;AAAA,EACjB,MAAM,SAAS,YAAY,UAAU,CAAC;AAAA,EACtC,MAAM,OAAO,YAAY,QAAQ,CAAC;AAAA,EAElC,MAAM,eACL,OAAO,WAAW,YAAY,QAAQ,UAAU,OAAO,OAAO;AAAA,EAC/D,MAAM,eACL,gBAAgB,WAAW,UAAU,OAAO,OAAO,UAAU,WAC1D,OAAO,QACP;AAAA,EACJ,MAAM,aACL,gBAAgB,WAAW,UAAU,OAAO,OAAO,UAAU,WAC1D,OAAO,QACP;AAAA,EAEJ,MAAM,SAAS,OAAO,OAAO,UAAU,EAAE;AAAA,EACzC,MAAM,SAAS,OAAO,OAAO,UAAU,EAAE;AAAA,EACzC,MAAM,WAAW,OAAO,OAAO,YAAY,CAAC;AAAA,EAC5C,MAAM,MAAM,OAAO,KAAK,OAAO,EAAE;AAAA,EACjC,MAAM,MAAM,KAAK,MAAM,OAAO,KAAK,GAAG,IAAI;AAAA,EAC1C,MAAM,UAAU,eAAe,cAAc;AAAA,EAC7C,MAAM,cAAc,UAAU,gBAAgB,UAAU,SAAS,MAAM,IACpE,eACA;AAAA,EAEH,MAAM,YAAY,OAAO,SAAS,KAAK,OAAO,SAAS;AAAA,EACvD,MAAM,UAAU,gBAAgB,aAAa;AAAA,EAC7C,MAAM,YAAY,OAAO,SAAS;AAAA,EAClC,MAAM,iBAAiB,UAAU,UAAU,SAAS;AAAA,IAAO,MAAM;AAAA,EAEjE,uBACC,OAsIE,OAtIF;AAAA,IAAK,WAAU;AAAA,IAAf,UAsIE;AAAA,sBArID,OAkCE,YAlCF;AAAA,QACC,UAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAa;AAAA,QACb,WAAW;AAAA,QANZ,UAkCE;AAAA,UA1BA,CAAC,2BACD;AAAA,sBAQE;AAAA,8BAPD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAKE,QALF;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO;AAAA,gBAFR,UAIE;AAAA,eACA;AAAA;AAAA,WACD;AAAA,UAEF,CAAC,gBAAgB,CAAC,2BAClB;AAAA,sBASE;AAAA,8BARD,MAAC,qBAAD,EAAqB;AAAA,cACpB,aAAa,oBACb,OAAoC,mBAApC;AAAA,0BAAoC;AAAA,kBAApC;AAAA,kBAAyB;AAAA;AAAA,eAAW,oBAEpC,OAAkC,iBAAlC;AAAA,0BAAkC;AAAA,kBAAlC;AAAA,kBAAuB;AAAA;AAAA,eAAW;AAAA,8BAEnC,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAA2B,gBAA3B;AAAA,0BAAiB;AAAA,eAAU;AAAA;AAAA,WAC1B;AAAA,UAEF,gBAAgB,CAAC,2BACjB,OAA4B,gBAA5B;AAAA,sBAA4B;AAAA,cAA5B;AAAA,cAAkB;AAAA;AAAA,WAAU;AAAA;AAAA,OAE5B;AAAA,MAED,cAAc,gBAAgB,gCAC9B,MAAC,kBAAD;AAAA,QAAkB,OAAO;AAAA,QAAc,OAAO;AAAA,QAAY,WAAS;AAAA,OAAC;AAAA,MAGpE,cAAc,CAAC,gCACf,OA0FE,OA1FF;AAAA,QAAK,WAAU;AAAA,QAAf,UA0FE;AAAA,0BAzFD,MAUE,gBAVF;AAAA,YACC,OAAM;AAAA,YACN,sBAAM,MAAC,WAAD;AAAA,cAAU,WAAU;AAAA,aAAU;AAAA,YACpC,UAAU,OAAO,QAAQ,MAAM,MAAM,QAAQ;AAAA,YAC7C,UAAU;AAAA,YACV,WAAU;AAAA,YALX,0BAOC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE;AAAA,aACA;AAAA,WACD;AAAA,UAED,cACC,aAAa,oBACb,MAqBE,gBArBF;AAAA,YACC,OAAM;AAAA,YACN,UAAU;AAAA,YACV,WAAU;AAAA,YAHX,0BAKC,MAeE,oBAfF;AAAA,cACC,UAAS;AAAA,cACT,OAAO;AAAA,cACP,aAAa;AAAA,gBACZ,QAAQ;AAAA,gBACR,SAAS;AAAA,gBACT,UAAU;AAAA,gBACV,YAAY;AAAA,gBACZ,YAAY;AAAA,gBACZ,UAAU;AAAA,cACX;AAAA,cACA,WAAS;AAAA,cACT,eAAa;AAAA,cAZd,UAcE;AAAA,aACA;AAAA,WACD,oBAEF;AAAA,sBAkDE;AAAA,cAjDA,0BACA,MAqBE,gBArBF;AAAA,gBACC,OAAM;AAAA,gBACN,UAAU;AAAA,gBACV,WAAU;AAAA,gBAHX,0BAKC,MAeE,oBAfF;AAAA,kBACC,UAAS;AAAA,kBACT,OAAO;AAAA,kBACP,aAAa;AAAA,oBACZ,QAAQ;AAAA,oBACR,SAAS;AAAA,oBACT,UAAU;AAAA,oBACV,YAAY;AAAA,oBACZ,YAAY;AAAA,oBACZ,UAAU;AAAA,kBACX;AAAA,kBACA,WAAS;AAAA,kBACT,eAAa;AAAA,kBAZd,UAcE;AAAA,iBACA;AAAA,eACD;AAAA,cAEF,6BACA,MAsBE,gBAtBF;AAAA,gBACC,OAAM;AAAA,gBACN,UAAU;AAAA,gBACV,SAAQ;AAAA,gBACR,WAAU;AAAA,gBAJX,0BAMC,MAeE,oBAfF;AAAA,kBACC,UAAS;AAAA,kBACT,OAAO;AAAA,kBACP,aAAa;AAAA,oBACZ,QAAQ;AAAA,oBACR,SAAS;AAAA,oBACT,UAAU;AAAA,oBACV,YAAY;AAAA,oBACZ,YAAY;AAAA,oBACZ,UAAU;AAAA,kBACX;AAAA,kBACA,WAAS;AAAA,kBACT,eAAa;AAAA,kBAZd,UAcE;AAAA,iBACA;AAAA,eACD;AAAA;AAAA,WAEF;AAAA;AAAA,OAEH;AAAA;AAAA,GAEF;AAAA;;;;AKlLJ,SAAS,eAAe,CAAC,MAAiC;AAAA,EACzD,IAAI,CAAC,QAAQ,KAAK,SAAS;AAAA,IAAG,OAAO;AAAA,EACrC,MAAM,IAAI,KAAK;AAAA,EACf,MAAM,IAAI,KAAK;AAAA,EACf,MAAM,OAAO,KAAK,MAAM,CAAC;AAAA,EAEzB,IAAI,MAAM,OAAO,MAAM,KAAK;AAAA,IAC3B,OAAO,EAAE,QAAQ,MAAM,MAAM,MAAM,YAAY;AAAA,EAChD;AAAA,EAEA,IAAI,OAA2B;AAAA,EAC/B,IAAI,MAAM,OAAO,MAAM;AAAA,IAAK,OAAO;AAAA,EAC9B,SAAI,MAAM;AAAA,IAAK,OAAO;AAAA,EAE3B,OAAO,EAAE,QAAQ,GAAG,IAAI,KAAK,MAAM,KAAK;AAAA;AAGzC,SAAS,aAAa,CAAC,QAAwB;AAAA,EAC9C,IAAI,WAAW;AAAA,IAAM,OAAO;AAAA,EAC5B,IAAI,OAAO,OAAO,OAAO,OAAO,OAAO;AAAA,IAAK,OAAO;AAAA,EACnD,IAAI,OAAO,OAAO,OAAO,OAAO,OAAO;AAAA,IAAK,OAAO;AAAA,EACnD,IAAI,OAAO,OAAO,OAAO,OAAO,OAAO;AAAA,IAAK,OAAO;AAAA,EACnD,IAAI,OAAO,OAAO,OAAO,OAAO,OAAO;AAAA,IAAK,OAAO;AAAA,EACnD,OAAO;AAAA;AAGR,SAAS,cAAc,CAAC,MAAkC;AAAA,EACzD,QAAQ;AAAA,SACF;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO;AAAA;AAAA;AAIH,SAAS,iBAAiB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACiB;AAAA,EACjB,MAAM,SAAS,YAAY,UAAU,CAAC;AAAA,EACtC,MAAM,WAAW,YAAY,MAAM;AAAA,EACnC,MAAM,eAAe,gBAAgB,MAAM;AAAA,EAC3C,MAAM,SAAS,OAAO,OAAO,UAAU,CAAC;AAAA,EACxC,MAAM,WAAW,OAAO,OAAO,YAAY,CAAC;AAAA,EAC5C,MAAM,MAAO,OAAO,OAAO,CAAC;AAAA,EAC5B,MAAM,UAAU,OAAO,OAAO,WAAW,EAAE;AAAA,EAC3C,MAAM,UAAU,eAAe,cAAc;AAAA,EAE7C,MAAM,cAAc,IAAI,IAAI,eAAe,EAAE,OAAO,OAAO;AAAA,EAC3D,MAAM,aAAa,SAAS,KAAK,WAAW;AAAA,EAC5C,MAAM,YAAY,YAAY,SAAS,KAAK,YAAY,CAAC,CAAC;AAAA,EAE1D,uBACC,OA+DE,OA/DF;AAAA,IAAK,WAAU;AAAA,IAAf,UA+DE;AAAA,sBA9DD,OA2BE,YA3BF;AAAA,QACC,UAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,cAAa;AAAA,QACb;AAAA,QAND,UA2BE;AAAA,0BAnBD,MAAC,qBAAD,EAAqB;AAAA,UACpB,6BACA;AAAA,sBAWE;AAAA,cAVA,SAAS,qBACT,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBADA;AAAA,kBADF;AAAA;AAAA,eAEE;AAAA,cAEF,WAAW,qBACX,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBADA;AAAA,kBADF;AAAA;AAAA,eAEE;AAAA;AAAA,WAEF,oBAEF,MAAgE,QAAhE;AAAA,YAAM,WAAU;AAAA,YAAhB;AAAA,WAAgE;AAAA,0BAEjE,MAAC,qBAAD,EAAqB;AAAA,0BACrB,MAA2B,gBAA3B;AAAA,sBAAiB;AAAA,WAAU;AAAA;AAAA,OAC1B;AAAA,MACD,cAAc,YAAY,gCAC1B,MAAC,kBAAD;AAAA,QAAkB,OAAO;AAAA,OAAc;AAAA,MAEvC,cAAc,CAAC,aAAa,YAAY,SAAS,KAAK,4BACtD,MA4BE,OA5BF;AAAA,QAAK,WAAU;AAAA,QAAf,UACE,YAAY,SAAS,oBACrB,MAkBE,OAlBF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,MAgBE,OAhBF;AAAA,YAAK,WAAU;AAAA,YAAf,UACE,YAAY,IAAI,CAAC,MAAM,sBACvB,OAYE,OAZF;AAAA,cAEC,WAAU;AAAA,cAFX,UAYE;AAAA,gCARD,MAIE,QAJF;AAAA,kBACC,WAAW,mCAAmC,eAAe,KAAK,IAAI;AAAA,kBADvE,UAGE,cAAc,KAAK,MAAM;AAAA,iBACzB;AAAA,gCACF,MAEE,QAFF;AAAA,kBAAM,WAAU;AAAA,kBAAhB,UACE,KAAK;AAAA,iBACL;AAAA;AAAA,eAVG,GAAG,KAAK,QAAQ,GAWpB,CACF;AAAA,WACA;AAAA,SACD,IAEF,2BACC,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,UACE;AAAA,SACA;AAAA,OAGH;AAAA;AAAA,GAEF;AAAA;;;ACrIJ,sBAAS;;AAeF,SAAS,eAAe;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACiB;AAAA,EACjB,MAAM,SAAS,YAAY,UAAU,CAAC;AAAA,EACtC,MAAM,OAAO,YAAY,QAAQ,CAAC;AAAA,EAClC,MAAM,QAAQ,OAAO,OAAO,SAAS,OAAO,QAAQ,EAAE;AAAA,EACtD,MAAM,MAAM,KAAK,OAAO,OAAO;AAAA,EAC/B,MAAM,UAAU,eAAe,cAAc;AAAA,EAE7C,MAAM,WAAW,YAAY,MAAM,KAAK,CAAC,CAAC,YAAY;AAAA,EACtD,MAAM,eACL,gBAAgB,MAAM,MACrB,OAAO,YAAY,UAAU,WAAW,YAAY,QAAQ;AAAA,EAC9D,MAAM,aACL,UAAU,OAAO,WAAW,YAAY,WAAW,SAChD,OAAO,OAAO,KAAK,IACnB;AAAA,EAEJ,MAAM,QAAQ,MAAM,MAAM;AAAA,CAAI;AAAA,EAC9B,IAAI,QAAQ;AAAA,EACZ,IAAI,YAAY;AAAA,EAChB,IAAI,YAAY;AAAA,EAChB,WAAW,QAAQ,OAAO;AAAA,IACzB,IAAI,KAAK,WAAW,YAAY;AAAA,MAAG,SAAS;AAAA,IACvC,SAAI,KAAK,WAAW,GAAG,KAAK,CAAC,KAAK,WAAW,KAAK;AAAA,MAAG,aAAa;AAAA,IAClE,SAAI,KAAK,WAAW,GAAG,KAAK,CAAC,KAAK,WAAW,KAAK;AAAA,MAAG,aAAa;AAAA,EACxE;AAAA,EAEA,MAAM,aAAa,QAAQ;AAAA,EAE3B,uBACC,OAoEE,OApEF;AAAA,IAAK,WAAU;AAAA,IAAf,UAoEE;AAAA,sBAnED,OAsCE,YAtCF;AAAA,QACC,UAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,cAAa;AAAA,QACb,WAAW;AAAA,QANZ,UAsCE;AAAA,UA9BA,uBACA;AAAA,sBAGE;AAAA,8BAFD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAAkD,QAAlD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAkD;AAAA;AAAA,WACjD;AAAA,0BAEH,MAAC,qBAAD,EAAqB;AAAA,UACpB,6BACA;AAAA,sBAgBE;AAAA,8BAfD,OAEE,kBAFF;AAAA,0BAEE;AAAA,kBADA;AAAA,kBADF;AAAA,kBACU,UAAU,IAAI,SAAS;AAAA;AAAA,eAC/B;AAAA,cACD,YAAY,qBACZ;AAAA,0BAGE;AAAA,kCAFD,MAAC,qBAAD,EAAqB;AAAA,kCACrB,OAAiC,mBAAjC;AAAA,8BAAiC;AAAA,sBAAjC;AAAA,sBAAqB;AAAA;AAAA,mBAAY;AAAA;AAAA,eAChC;AAAA,cAEF,YAAY,qBACZ;AAAA,0BAGE;AAAA,kCAFD,MAAC,qBAAD,EAAqB;AAAA,kCACrB,OAA+B,iBAA/B;AAAA,8BAA+B;AAAA,sBAA/B;AAAA,sBAAmB;AAAA;AAAA,mBAAY;AAAA;AAAA,eAC9B;AAAA;AAAA,WAEF,oBAEF,MAAuD,QAAvD;AAAA,YAAM,WAAU;AAAA,YAAhB;AAAA,WAAuD;AAAA,0BAExD,MAAC,qBAAD,EAAqB;AAAA,0BACrB,MAA2B,gBAA3B;AAAA,sBAAiB;AAAA,WAAU;AAAA;AAAA,OAC1B;AAAA,MAED,cAAc,YAAY,gCAC1B,MAAC,kBAAD;AAAA,QAAkB,OAAO;AAAA,QAAc,OAAO;AAAA,QAAY,WAAS;AAAA,OAAC;AAAA,MAGpE,cAAc,CAAC,4BACf,OAoBE,OApBF;AAAA,QAAK,WAAU;AAAA,QAAf,UAoBE;AAAA,0BAnBD,MAQE,gBARF;AAAA,YACC,OAAM;AAAA,YACN,sBAAM,MAAC,YAAD;AAAA,cAAW,WAAU;AAAA,aAAU;AAAA,YACrC,WAAU;AAAA,YAHX,0BAKC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE,MAAM,gCAAgC;AAAA,aACtC;AAAA,WACD;AAAA,UAED,yBAAS,MAAC,UAAD;AAAA,YAAU;AAAA,WAAc;AAAA,UAEjC,CAAC,yBACD,MAIE,gBAJF;AAAA,YAAgB,OAAM;AAAA,YAAO,WAAU;AAAA,YAAvC,0BACC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE;AAAA,WACD;AAAA;AAAA,OAEF;AAAA;AAAA,GAEF;AAAA;;;ACrHJ,kBAAS;AACT;AAAA,WACC;AAAA,iBACA;AAAA;;AAKM,SAAS,iBAAiB;AAAA,EAChC;AAAA,EACA;AAAA,GACiB;AAAA,EACjB,MAAM,SAAS,YAAY,UAAU,CAAC;AAAA,EACtC,MAAM,UAAU,OAAO,OAAO,WAAW,EAAE;AAAA,EAC3C,MAAM,UAAU,eAAe,cAAc;AAAA,EAC7C,MAAM,cAAc,UAAU,gBAAgB,UAAU,SAAS,MAAM,IACpE,eACA;AAAA,EAEH,uBACC,OA8BE,OA9BF;AAAA,IAAK,WAAU;AAAA,IAAf,UA8BE;AAAA,sBA7BD,OAME,OANF;AAAA,QAAK,WAAU;AAAA,QAAf,UAME;AAAA,0BALD,MAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB;AAAA,WAEE;AAAA,0BACF,MAA6C,QAA7C;AAAA,YAAM,WAAU;AAAA,YAAhB;AAAA,WAA6C;AAAA,0BAC7C,MAAsD,QAAtD;AAAA,YAAM,WAAU;AAAA,YAAhB,UAA4C;AAAA,WAAU;AAAA;AAAA,OACrD;AAAA,MACD,2BACA,MAmBE,OAnBF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,MAiBE,OAjBF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,MAeE,oBAfF;AAAA,YACC,UAAS;AAAA,YACT,OAAO;AAAA,YACP,aAAa;AAAA,cACZ,QAAQ;AAAA,cACR,SAAS;AAAA,cACT,UAAU;AAAA,cACV,YAAY;AAAA,cACZ,YAAY;AAAA,cACZ,UAAU;AAAA,YACX;AAAA,YACA,WAAS;AAAA,YACT,eAAa;AAAA,YAZd,UAcE;AAAA,WACA;AAAA,SACD;AAAA,OACD;AAAA;AAAA,GAEF;AAAA;;;AClDJ,yBAAS;;AAsBF,SAAS,kBAAkB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACiB;AAAA,EACjB,MAAM,WAAW,YAAY;AAAA,EAC7B,MAAM,UAAU,eAAe,cAAc;AAAA,EAE7C,MAAM,aAAa,CAAC,OAAe,UAAkB;AAAA,IACpD,IAAI,SAAS;AAAA,MAAG,OAAO,GAAG;AAAA,IAC1B,OAAO,GAAG,SAAS,QAAQ,QAAQ;AAAA;AAAA,EAGpC,MAAM,kBAAkB,CAAC,SAA+B;AAAA,IACvD,MAAM,OAAO,IAAI,WAAW,KAAK,UAAU,KAAK,QAAQ;AAAA,IACxD,MAAM,QAAQ,IAAI,WAAW,KAAK,UAAU,KAAK,QAAQ;AAAA,IACzD,MAAM,aAAuB,CAAC;AAAA,IAC9B,IAAI,KAAK,YAAY;AAAA,MAAG,WAAW,KAAK,IAAI,KAAK,WAAW;AAAA,IAC5D,IAAI,KAAK,YAAY;AAAA,MAAG,WAAW,KAAK,IAAI,KAAK,WAAW;AAAA,IAC5D,MAAM,QAAQ,WAAW,SAAS,IAAI,KAAK,WAAW,KAAK,IAAI,OAAO;AAAA,IACtE,OAAO,GAAG,QAAQ,QAAQ;AAAA;AAAA,EAE3B,MAAM,UAAU,UAAU,WAAW,CAAC;AAAA,EACtC,MAAM,QAAQ,OAAO,QAAQ,SAAS,CAAC;AAAA,EACvC,MAAM,YAAY,OAAO,QAAQ,aAAa,CAAC;AAAA,EAC/C,MAAM,YAAY,OAAO,QAAQ,aAAa,CAAC;AAAA,EAC/C,MAAM,QAAQ,UAAU,QAAQ,OAAO,SAAS,KAAK,IAAI;AAAA,EAEzD,MAAM,UAAU,MAAM,QAAQ,YAAY,QAAQ,OAAO,IACrD,YAAY,QAAQ,UACrB,CAAC;AAAA,EAEJ,MAAM,iBACL,UAAU,KAAK,QAAQ,SAAS,IAAI,QAAQ,GAAG,WAAW;AAAA,EAE3D,MAAM,WACL,YAAY,SACX,YAAY,UACZ,QAAQ,YAAY,UACpB,YAAY,OAAO,OAAO;AAAA,EAC5B,MAAM,eACL,OAAO,YAAY,UAAU,WAC1B,YAAY,QACZ,YAAY,WACZ,WAAW,YAAY,WACvB,OAAO,YAAY,OAAO,UAAU,WACnC,YAAY,OAAO,QACnB;AAAA,EACL,MAAM,aACL,YAAY,UACZ,OAAO,YAAY,WAAW,YAC9B,WAAW,YAAY,UACvB,OAAO,YAAY,OAAO,UAAU,WACjC,YAAY,OAAO,QACnB;AAAA,EAEJ,uBACC,OAuFE,OAvFF;AAAA,IAAK,WAAU;AAAA,IAAf,UAuFE;AAAA,sBAtFD,OAsCE,UAtCF;AAAA,QACC,MAAK;AAAA,QACL,SAAS;AAAA,QACT,WAAW,oDACV,WACG,8EACA;AAAA,QANL,UAsCE;AAAA,0BA7BD,MAAC,eAAD;AAAA,YACC,WAAW,8CAA8C,aAAa,cAAc;AAAA,WACrF;AAAA,0BACA,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACa,WAAW,WAAW;AAAA;AAAA,WACjC;AAAA,0BACF,MAA2D,QAA3D;AAAA,YAAM,WAAU;AAAA,YAAhB;AAAA,WAA2D;AAAA,UAC1D,iCACA,MAME,QANF;AAAA,YACC,WAAU;AAAA,YACV,KAAI;AAAA,YACJ,OAAO;AAAA,YAHR,UAKE,IAAS;AAAA,WACT,oBAEF,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cADA;AAAA,cADF;AAAA,cACU,UAAU,IAAI,SAAS;AAAA;AAAA,WAC/B;AAAA,0BAEH,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACG;AAAA;AAAA,WACD;AAAA,0BACF,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACG;AAAA;AAAA,WACD;AAAA,0BACF,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACG;AAAA;AAAA,WACD;AAAA;AAAA,OACD;AAAA,MACD,cAAc,YAAY,gCAC1B,OAcE,OAdF;AAAA,kBAcE;AAAA,0BAbD,MAAC,kBAAD;AAAA,YAAkB,OAAO;AAAA,YAAc,OAAO;AAAA,YAAY,WAAS;AAAA,WAAC;AAAA,UACnE,yBACA,MASE,OATF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,OAOE,WAPF;AAAA,wBAOE;AAAA,gCAND,MAEE,WAFF;AAAA,kBAAS,WAAU;AAAA,kBAAnB;AAAA,iBAEE;AAAA,gCACF,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,0BACC,MAAC,UAAD;AAAA,oBAAU;AAAA,mBAAc;AAAA,iBACvB;AAAA;AAAA,aACD;AAAA,WACD;AAAA;AAAA,OAEF;AAAA,MAEF,cAAc,CAAC,YAAY,QAAQ,SAAS,qBAC5C,MAqBE,OArBF;AAAA,QAAK,WAAU;AAAA,QAAf,UACE,QAAQ,IAAI,CAAC,2BACb,OAiBE,OAjBF;AAAA,UAEC,WAAU;AAAA,UAFX,UAiBE;AAAA,4BAbD,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE,OAAO;AAAA,aACP;AAAA,4BACF,MASE,OATF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE,OAAO,MAAM,IAAI,CAAC,MAAM,0BACxB,MAKE,QALF;AAAA,gBAEC,WAAU;AAAA,gBAFX,UAIE,gBAAgB,IAAI;AAAA,iBAHhB,eAAe,OAAO,iBAAiB,OAI3C,CACF;AAAA,aACA;AAAA;AAAA,WAfG,eAAe,OAAO,YAAY,OAAO,MAgB7C,CACF;AAAA,OACA;AAAA,MAGF,cAAc,CAAC,YAAY,yBAC3B,MAEE,OAFF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,MAAC,UAAD;AAAA,UAAU;AAAA,SAAc;AAAA,OACvB;AAAA;AAAA,GAEF;AAAA;;;ACvKJ,iBAAS;;AAYF,SAAS,YAAY;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACiB;AAAA,EACjB,MAAM,SAAS,YAAY,UAAU,CAAC;AAAA,EACtC,MAAM,OAAQ,YAAY,QAAQ,CAAC;AAAA,EACnC,MAAM,WAAW,YAAY,MAAM;AAAA,EACnC,MAAM,eAAe,gBAAgB,MAAM;AAAA,EAC3C,MAAM,aACL,UAAU,OAAO,WAAW,YAAY,WAAW,SAChD,OAAO,OAAO,KAAK,IACnB;AAAA,EACJ,MAAM,UAAW,OAAO,WAA8B,CAAC;AAAA,EACvD,MAAM,UAAU,eAAe,cAAc;AAAA,EAE7C,MAAM,OAAO,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;AAAA,EAEzD,uBACC,OAwFE,OAxFF;AAAA,IAAK,WAAU;AAAA,IAAf,UAwFE;AAAA,sBAvFD,OAsBE,YAtBF;AAAA,QACC,UAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,cAAa;AAAA,QACb,WAAW;AAAA,QANZ,UAsBE;AAAA,UAdA,QAAQ,SAAS,uBACjB;AAAA,sBAKE;AAAA,8BAJD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAsC,OAAO;AAAA,gBAA7D,UACE,KAAK,SAAS,KAAK,IAAG,KAAK,MAAM,GAAG,MAAM;AAAA,eAC1C;AAAA;AAAA,WACD;AAAA,0BAEH,MAAC,qBAAD,EAAqB;AAAA,0BACrB,OAEE,kBAFF;AAAA,sBAEE;AAAA,cADA,QAAQ;AAAA,cADV;AAAA,cACmB,QAAQ,WAAW,IAAI,UAAU;AAAA;AAAA,WAClD;AAAA,0BACF,MAAC,qBAAD,EAAqB;AAAA,0BACrB,MAA2B,gBAA3B;AAAA,sBAAiB;AAAA,WAAU;AAAA;AAAA,OAC1B;AAAA,MAED,cAAc,YAAY,gCAC1B,MAAC,kBAAD;AAAA,QAAkB,OAAO;AAAA,QAAc,OAAO;AAAA,QAAY,WAAS;AAAA,OAAC;AAAA,MAGpE,cAAc,CAAC,4BACf,OAwDE,OAxDF;AAAA,QAAK,WAAU;AAAA,QAAf,UAwDE;AAAA,0BAvDD,MASE,gBATF;AAAA,YACC,OAAM;AAAA,YACN,sBAAM,MAAC,YAAD;AAAA,cAAY,WAAU;AAAA,aAAU;AAAA,YACtC,UAAU;AAAA,YACV,WAAU;AAAA,YAJX,0BAMC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE;AAAA,aACA;AAAA,WACD;AAAA,UAED,QAAQ,SAAS,qBACjB,MAiCE,gBAjCF;AAAA,YACC,OAAM;AAAA,YACN,UAAU,QACR,IAAI,CAAC,MAAM;AAAA,cACX,MAAM,QAAQ;AAAA,cACd,OAAO,MAAM,QAAQ;AAAA,aACrB,EACA,KAAK;AAAA,CAAI;AAAA,YACX,WAAU;AAAA,YARX,0BAUC,MAsBE,OAtBF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE,QAAQ,IAAI,CAAC,OAAO,MAAM;AAAA,gBAC1B,MAAM,IAAI;AAAA,gBAKV,MAAM,QAAQ,EAAE,SAAS,SAAS,EAAE;AAAA,gBACpC,uBACC,OAUE,OAVF;AAAA,kBAEC,WAAU;AAAA,kBAFX,UAUE;AAAA,oBANA,wBACA,MAAC,QAAD;AAAA,sBAAQ,WAAU;AAAA,qBAAsC,oBAExD,MAAC,OAAD;AAAA,sBAAM,WAAU;AAAA,qBAA8C;AAAA,oCAE/D,MAAqC,QAArC;AAAA,sBAAM,WAAU;AAAA,sBAAhB,UAA4B,EAAE;AAAA,qBAAO;AAAA;AAAA,mBARhC,GAAG,EAAE,QAAQ,GASjB;AAAA,eAEH;AAAA,aACA;AAAA,WACD;AAAA,UAGF,QAAQ,WAAW,qBACnB,MAIE,gBAJF;AAAA,YAAgB,OAAM;AAAA,YAAU,WAAU;AAAA,YAA1C,0BACC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE;AAAA,WACD;AAAA;AAAA,OAEF;AAAA;AAAA,GAEF;AAAA;;;ACxHJ;AACA,kBAAS;AACT;AAAA,WACC;AAAA,iBACA;AAAA;;AAaM,SAAS,YAAY;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACiB;AAAA,EACjB,MAAM,SAAS,YAAY,UAAU,CAAC;AAAA,EACtC,MAAM,OAAQ,YAAY,QAAQ,CAAC;AAAA,EACnC,MAAM,WAAW,YAAY,MAAM;AAAA,EACnC,MAAM,eAAe,gBAAgB,MAAM;AAAA,EAC3C,MAAM,aACL,UAAU,OAAO,WAAW,YAAY,WAAW,SAChD,OAAO,OAAO,KAAK,IACnB;AAAA,EACJ,MAAM,OAAO,OAAO,OAAO,QAAQ,EAAE;AAAA,EACrC,MAAM,QAAQ,KAAK,MAAM;AAAA,CAAI,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;AAAA,EAC3D,MAAM,UAAU,eAAe,cAAc;AAAA,EAC7C,MAAM,cAAc,UAAU,gBAAgB,UAAU,SAAS,MAAM,IACpE,eACA;AAAA,EAEH,MAAM,OAAO,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;AAAA,EACzD,MAAM,QAAQ,OAAO,KAAK,UAAU,WAAW,KAAK,QAAQ;AAAA,EAE5D,uBACC,OA2EE,OA3EF;AAAA,IAAK,WAAU;AAAA,IAAf,UA2EE;AAAA,sBA1ED,OAsBE,YAtBF;AAAA,QACC,UAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,cAAa;AAAA,QACb,WAAW;AAAA,QANZ,UAsBE;AAAA,UAdA,QAAQ,SAAS,uBACjB;AAAA,sBAKE;AAAA,8BAJD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAsC,OAAO;AAAA,gBAA7D,UACE,KAAK,SAAS,KAAK,IAAG,KAAK,MAAM,GAAG,MAAM;AAAA,eAC1C;AAAA;AAAA,WACD;AAAA,0BAEH,MAAC,qBAAD,EAAqB;AAAA,0BACrB,OAEE,kBAFF;AAAA,sBAEE;AAAA,cADA;AAAA,cADF;AAAA,cACU,UAAU,IAAI,SAAS;AAAA;AAAA,WAC/B;AAAA,0BACF,MAAC,qBAAD,EAAqB;AAAA,0BACrB,MAA2B,gBAA3B;AAAA,sBAAiB;AAAA,WAAU;AAAA;AAAA,OAC1B;AAAA,MAED,cAAc,YAAY,gCAC1B,MAAC,kBAAD;AAAA,QAAkB,OAAO;AAAA,QAAc,OAAO;AAAA,QAAY,WAAS;AAAA,OAAC;AAAA,MAGpE,cAAc,CAAC,4BACf,OA2CE,OA3CF;AAAA,QAAK,WAAU;AAAA,QAAf,UA2CE;AAAA,0BA1CD,MAUE,gBAVF;AAAA,YACC,OAAM;AAAA,YACN,sBAAM,MAAC,YAAD;AAAA,cAAY,WAAU;AAAA,aAAU;AAAA,YACtC,UAAU,QAAQ,UAAU,UAAU;AAAA,YACtC,UAAU;AAAA,YACV,WAAU;AAAA,YALX,0BAOC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE;AAAA,aACA;AAAA,WACD;AAAA,UAED,wBACA,MAmBE,gBAnBF;AAAA,YAAgB,OAAM;AAAA,YAAO,UAAU;AAAA,YAAM,WAAU;AAAA,YAAvD,0BACC,MAiBE,OAjBF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACC,MAeE,oBAfF;AAAA,gBACC,UAAS;AAAA,gBACT,OAAO;AAAA,gBACP,aAAa;AAAA,kBACZ,QAAQ;AAAA,kBACR,SAAS;AAAA,kBACT,UAAU;AAAA,kBACV,YAAY;AAAA,kBACZ,YAAY;AAAA,kBACZ,UAAU;AAAA,gBACX;AAAA,gBACA,WAAS;AAAA,gBACT,eAAa;AAAA,gBAZd,UAcE;AAAA,eACA;AAAA,aACD;AAAA,WACD;AAAA,UAGF,CAAC,wBACD,MAIE,gBAJF;AAAA,YAAgB,OAAM;AAAA,YAAO,WAAU;AAAA,YAAvC,0BACC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE;AAAA,WACD;AAAA;AAAA,OAEF;AAAA;AAAA,GAEF;AAAA;;;ACrHJ,mBAAS;;AAYF,SAAS,cAAc;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACiB;AAAA,EACjB,MAAM,SAAS,YAAY,UAAU,CAAC;AAAA,EACtC,MAAM,OAAQ,YAAY,QAAQ,CAAC;AAAA,EACnC,MAAM,UAAW,OAAO,WAA8B,CAAC;AAAA,EACvD,MAAM,QAAS,OAAO,SAA4B,CAAC;AAAA,EACnD,MAAM,UAAU,eAAe,cAAc;AAAA,EAE7C,MAAM,WAAW,YAAY,MAAM,KAAK,CAAC,CAAC,YAAY;AAAA,EACtD,MAAM,eACL,gBAAgB,MAAM,MACrB,OAAO,YAAY,UAAU,WAAW,YAAY,QAAQ;AAAA,EAC9D,MAAM,aACL,UAAU,OAAO,WAAW,YAAY,WAAW,SAChD,OAAO,OAAO,KAAK,IACnB;AAAA,EAEJ,MAAM,YAAY,QAAQ,SAAS,IAAI,QAAQ,SAAS,MAAM;AAAA,EAC9D,MAAM,YACL,QAAQ,SAAS,IACd,QAAQ,WAAW,IAClB,UACA,YACD,MAAM,WAAW,IAChB,SACA;AAAA,EAEL,MAAM,cAAc,MAAM;AAAA,IACzB,IAAI,OAAO,KAAK,YAAY;AAAA,MAAU,OAAO,KAAK;AAAA,IAClD,IAAI,OAAO,KAAK,UAAU;AAAA,MAAU,OAAO,KAAK;AAAA,IAChD,IAAI,OAAO,KAAK,gBAAgB;AAAA,MAAU,OAAO,KAAK;AAAA,IACtD,OAAO;AAAA,KACL;AAAA,EAEH,MAAM,cAAc,MAAM;AAAA,IACzB,IAAI,OAAO,KAAK,SAAS,YAAY,KAAK,SAAS;AAAA,MAAK,OAAO,KAAK;AAAA,IACpE;AAAA,KACE;AAAA,EAEH,uBACC,OA0HE,OA1HF;AAAA,IAAK,WAAU;AAAA,IAAf,UA0HE;AAAA,sBAzHD,OAiCE,YAjCF;AAAA,QACC,UAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,cAAa;AAAA,QACb,WAAW;AAAA,QANZ,UAiCE;AAAA,UAzBA,cAAc,CAAC,2BACf;AAAA,sBAYE;AAAA,8BAXD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,OASE,QATF;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO;AAAA,gBAFR,UASE;AAAA,kBATF;AAAA,kBAKE,WAAW,SAAS,KAClB,GAAG,WAAW,MAAM,GAAG,EAAE,OACzB;AAAA,kBAPJ;AAAA;AAAA,eASE;AAAA;AAAA,WACD;AAAA,UAEF,CAAC,2BACD;AAAA,sBAOE;AAAA,8BAND,MAAC,qBAAD,EAAqB;AAAA,8BACrB,OAEE,kBAFF;AAAA,0BAEE;AAAA,kBADA;AAAA,kBADF;AAAA,kBACc;AAAA;AAAA,eACZ;AAAA,8BACF,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAA2B,gBAA3B;AAAA,0BAAiB;AAAA,eAAU;AAAA;AAAA,WAC1B;AAAA;AAAA,OAEF;AAAA,MAED,cAAc,YAAY,gCAC1B,MAAC,kBAAD;AAAA,QAAkB,OAAO;AAAA,QAAc,OAAO;AAAA,QAAY,WAAS;AAAA,OAAC;AAAA,MAGpE,cAAc,CAAC,4BACf,OA+EE,OA/EF;AAAA,QAAK,WAAU;AAAA,QAAf,UA+EE;AAAA,0BA9ED,MAUE,gBAVF;AAAA,YACC,OAAM;AAAA,YACN,sBAAM,MAAC,SAAD;AAAA,cAAQ,WAAU;AAAA,aAAU;AAAA,YAClC,UAAU;AAAA,YACV,UAAU;AAAA,YACV,WAAU;AAAA,YALX,0BAOC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE,cAAc;AAAA,aACd;AAAA,WACD;AAAA,UAED,QAAQ,SAAS,qBACjB,MAoCE,gBApCF;AAAA,YACC,OAAM;AAAA,YACN,UAAU,QACR,IAAI,CAAC,MAAM;AAAA,cACX,MAAM,QAAQ;AAAA,cAKd,OAAO,GAAG,MAAM,QAAQ,MAAM,SAAS,MAAM;AAAA,aAC7C,EACA,KAAK;AAAA,CAAI;AAAA,YACX,WAAU;AAAA,YAZX,0BAcC,MAqBE,OArBF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE,QAAQ,IAAI,CAAC,OAAO,MAAM;AAAA,gBAC1B,MAAM,IAAI;AAAA,gBAKV,uBACC,OAUE,OAVF;AAAA,kBAEC,WAAU;AAAA,kBAFX,UAUE;AAAA,oCAND,OAEE,OAFF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UAEE;AAAA,wBADA,EAAE;AAAA,wBADJ;AAAA,wBACW,EAAE;AAAA;AAAA,qBACX;AAAA,oCACF,MAEE,OAFF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UACE,EAAE;AAAA,qBACF;AAAA;AAAA,mBARG,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAS3B;AAAA,eAEH;AAAA,aACA;AAAA,WACD;AAAA,UAGF,MAAM,SAAS,KAAK,QAAQ,WAAW,qBACvC,MAeE,gBAfF;AAAA,YACC,OAAM;AAAA,YACN,UAAU,MAAM,IAAI,MAAM,EAAE,KAAK;AAAA,CAAI;AAAA,YACrC,WAAU;AAAA,YAHX,0BAKC,MASE,OATF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE,MAAM,IAAI,CAAC,yBACX,MAKE,OALF;AAAA,gBAEC,WAAU;AAAA,gBAFX,UAIE,OAAO,IAAI;AAAA,iBAHP,OAAO,IAAI,CAIf,CACF;AAAA,aACA;AAAA,WACD;AAAA,UAGF,cAAc,qBACd,MAIE,gBAJF;AAAA,YAAgB,OAAM;AAAA,YAAU,WAAU;AAAA,YAA1C,0BACC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE;AAAA,WACD;AAAA;AAAA,OAEF;AAAA;AAAA,GAEF;AAAA;;;;AChLG,SAAS,cAAc,GAAG,kBAAiC;AAAA,EACjE,MAAM,UAAU,eAAe,cAAc;AAAA,EAE7C,uBACC,MAYE,OAZF;AAAA,IAAK,WAAU;AAAA,IAAf,0BACC,OAUE,OAVF;AAAA,MAAK,WAAU;AAAA,MAAf,UAUE;AAAA,wBATD,MAEE,QAFF;AAAA,UAAM,WAAU;AAAA,UAAhB;AAAA,SAEE;AAAA,QACD,2BACA;AAAA,oBAGE;AAAA,4BAFD,MAA6C,QAA7C;AAAA,cAAM,WAAU;AAAA,cAAhB;AAAA,aAA6C;AAAA,4BAC7C,MAAsD,QAAtD;AAAA,cAAM,WAAU;AAAA,cAAhB,UAA4C;AAAA,aAAU;AAAA;AAAA,SACrD;AAAA;AAAA,KAEF;AAAA,GACD;AAAA;;;ACnBJ,yBAAS,8BAAc;AACvB,kBAAS;AACT;AAAA,WACC;AAAA,iBACA;AAAA;;AAOM,SAAS,eAAe;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACwB;AAAA,EACxB,MAAM,SAAS,YAAY;AAAA,EAC3B,MAAM,UAAU,eAAe,cAAc;AAAA,EAC7C,MAAM,SAAS,MAAM,QAAQ,QAAQ,MAAM,IACvC,OAAO,SACR,CAAC;AAAA,EACJ,MAAM,YAAY,OAAO,SAAS;AAAA,EAClC,MAAM,YAAY,WAAW,OAAO,KAAK,MAAM,EAAE,SAAS,KAAK;AAAA,EAC/D,MAAM,cAAc,UAAU,gBAAgB,UAAU,SAAS,MAAM,IACpE,eACA;AAAA,EAGH,MAAM,WACL,YAAY,SACX,UACA,OAAO,WAAW,YAClB,QAAQ,UACR,OAAO,OAAO;AAAA,EAChB,MAAM,eACL,OAAO,YAAY,UAAU,WAC1B,YAAY,QACZ,UACA,OAAO,WAAW,aAClB,WAAW,WACX,OAAO,OAAO,UAAU,WACvB,OAAO,QACP;AAAA,EACL,MAAM,aACL,UACA,OAAO,WAAW,YAClB,WAAW,UACX,OAAO,OAAO,UAAU,WACrB,OAAO,QACP;AAAA,EAEJ,uBACC,OA2DE,OA3DF;AAAA,IAAK,WAAU;AAAA,IAAf,UA2DE;AAAA,sBA1DD,OA2BE,UA3BF;AAAA,QACC,MAAK;AAAA,QACL,SAAS;AAAA,QACT,WAAW,oDACV,WACG,8EACA;AAAA,QANL,UA2BE;AAAA,0BAlBD,MAAC,eAAD;AAAA,YACC,WAAW,8CAA8C,aAAa,cAAc;AAAA,WACrF;AAAA,UACC,4BACA,MAAC,cAAD;AAAA,YAAa,WAAU;AAAA,WAAuD;AAAA,0BAE/E,OAGE,QAHF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAGE;AAAA,cAFA;AAAA,cACA,WAAW,WAAW;AAAA;AAAA,WACtB;AAAA,UACD,CAAC,2BACD;AAAA,sBAKE;AAAA,8BAJD,MAA2D,QAA3D;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAA2D;AAAA,8BAC3D,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UACE;AAAA,eACA;AAAA;AAAA,WACD;AAAA;AAAA,OAEF;AAAA,MACD,cAAc,YAAY,gCAC1B,MAAC,kBAAD;AAAA,QAAkB,OAAO;AAAA,QAAc,OAAO;AAAA,QAAY,WAAS;AAAA,OAAC;AAAA,MAEpE,cAAc,CAAC,YAAY,6BAC3B,OAwBE,OAxBF;AAAA,QAAK,WAAU;AAAA,QAAf,UAwBE;AAAA,UAvBA,6BAAa,MAAC,cAAD;AAAA,YAAc;AAAA,WAAgB;AAAA,UAC3C,CAAC,6BACD,MAmBE,OAnBF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAiBE,OAjBF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACC,MAeE,oBAfF;AAAA,gBACC,UAAS;AAAA,gBACT,OAAO;AAAA,gBACP,aAAa;AAAA,kBACZ,QAAQ;AAAA,kBACR,SAAS;AAAA,kBACT,UAAU;AAAA,kBACV,YAAY;AAAA,kBACZ,YAAY;AAAA,kBACZ,UAAU;AAAA,gBACX;AAAA,gBACA,WAAS;AAAA,gBACT,eAAa;AAAA,gBAZd,UAcE,KAAK,UAAU,QAAQ,MAAM,CAAC;AAAA,eAC9B;AAAA,aACD;AAAA,WACD;AAAA;AAAA,OAEF;AAAA;AAAA,GAEF;AAAA;;;;AChHG,SAAS,aAAa;AAAA,EAC5B;AAAA,EACA;AAAA,GACwC;AAAA,EACxC,uBACC,MAQE,OARF;AAAA,IAAK,WAAU;AAAA,IAAf,0BACC,OAME,OANF;AAAA,MAAK,WAAU;AAAA,MAAf,UAME;AAAA,wBALD,OAA+B,OAA/B;AAAA,oBAA+B;AAAA,YAA/B;AAAA,YAAY,YAAY;AAAA;AAAA,SAAO;AAAA,wBAC/B,OAAmC,OAAnC;AAAA,oBAAmC;AAAA,YAAnC;AAAA,YAAgB;AAAA,YAAhB;AAAA;AAAA,SAAmC;AAAA,wBACnC,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,UACE,KAAK,UAAU,aAAa,MAAM,CAAC;AAAA,SACnC;AAAA;AAAA,KACD;AAAA,GACD;AAAA;;;ACfJ,sDAA2C;AAAA;AAapC,SAAS,aAAa,GAAG,eAA8B;AAAA,EAC7D,MAAM,SAAU,YAAY,UAAU,CAAC;AAAA,EACvC,MAAM,QAAQ,OAAO,SAAS,CAAC;AAAA,EAC/B,MAAM,OAAO,OAAO;AAAA,EAEpB,uBACC,MAuCE,OAvCF;AAAA,IAAK,WAAU;AAAA,IAAf,0BACC,OAqCE,OArCF;AAAA,MAAK,WAAU;AAAA,MAAf,UAqCE;AAAA,QApCA,wBACA,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,UACE;AAAA,SACA;AAAA,wBAEH,MA8BE,OA9BF;AAAA,UAAK,WAAU;AAAA,UAAf,UACE,MAAM,IAAI,CAAC,MAAM,wBACjB,OA0BE,OA1BF;AAAA,YAAiC,WAAU;AAAA,YAA3C,UA0BE;AAAA,cAzBA,KAAK,WAAW,+BAChB,MAAC,cAAD;AAAA,gBAAc,WAAU;AAAA,eAAsE;AAAA,cAE9F,KAAK,WAAW,iCAChB,MAAC,YAAD;AAAA,gBAAY,WAAU;AAAA,eAA8E;AAAA,cAEpG,KAAK,WAAW,6BAChB,MAAC,QAAD;AAAA,gBAAQ,WAAU;AAAA,eAAqD;AAAA,cAEvE,KAAK,WAAW,+BAChB,MAAC,UAAD;AAAA,gBAAS,WAAU;AAAA,eAAwD;AAAA,8BAE5E,MAYE,QAZF;AAAA,gBACC,WAAW,WACV,KAAK,WAAW,cACb,uCACA,KAAK,WAAW,gBACf,oBACA,KAAK,WAAW,cACf,0CACA;AAAA,gBARP,UAWE,KAAK;AAAA,eACL;AAAA;AAAA,aAzBO,GAAG,KAAK,QAAQ,KA0BxB,CACF;AAAA,SACA;AAAA;AAAA,KACD;AAAA,GACD;AAAA;;;;ACxDG,SAAS,sBAAsB,GAAG,eAA8B;AAAA,EACtE,MAAM,SAAS,YAAY,UAAU,CAAC;AAAA,EACtC,MAAM,UAAU,OAAO,OAAO,WAAW,eAAe;AAAA,EACxD,MAAM,QAAQ,OAAO,QAAQ,OAAO,OAAO,KAAK,IAAI;AAAA,EACpD,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,GAAG,IAAI;AAAA,EAE9C,uBACC,OAME,OANF;AAAA,IAAK,WAAU;AAAA,IAAf,UAME;AAAA,MALA,yBAAS,OAAsD,QAAtD;AAAA,QAAM,WAAU;AAAA,QAAhB,UAAsD;AAAA,UAAtD;AAAA,UAA6C;AAAA,UAA7C;AAAA;AAAA,OAAsD;AAAA,sBAChE,MAAiB,QAAjB;AAAA,kBAAO;AAAA,OAAU;AAAA,MAChB,QAAQ,6BACR,OAAqD,QAArD;AAAA,QAAM,WAAU;AAAA,QAAhB,UAAqD;AAAA,UAArD;AAAA,UAA6C;AAAA,UAA7C;AAAA;AAAA,OAAqD;AAAA;AAAA,GAErD;AAAA;;;ACfJ,gCAAgB;;AAwBT,SAAS,iBAAiB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACiB;AAAA,EACjB,MAAM,SAAS,YAAY,UAAU,CAAC;AAAA,EACtC,MAAM,OAAQ,YAAY,QAAQ,CAAC;AAAA,EACnC,MAAM,UAAU,eAAe,cAAc;AAAA,EAE7C,MAAM,WAAW,YAAY,MAAM,KAAK,CAAC,CAAC,YAAY;AAAA,EACtD,MAAM,eACL,gBAAgB,MAAM,MACrB,OAAO,YAAY,UAAU,WAAW,YAAY,QAAQ;AAAA,EAC9D,MAAM,aACL,UAAU,OAAO,WAAW,YAAY,WAAW,SAChD,OAAO,OAAO,KAAK,IACnB;AAAA,EAEJ,MAAM,WAAW,aAAa;AAAA,EAC9B,MAAM,gBAAiB,OAAO,WAA8B,CAAC;AAAA,EAC7D,MAAM,aAAa;AAAA,EAEnB,MAAM,QAAQ,OAAO,KAAK,UAAU,WAAW,KAAK,QAAQ;AAAA,EAC5D,MAAM,MAAM,OAAO,KAAK,QAAQ,WAAW,KAAK,MAAM,WAAW;AAAA,EAEjE,IAAI,UAAU;AAAA,IACb,uBACC,OA0FE,OA1FF;AAAA,MAAK,WAAU;AAAA,MAAf,UA0FE;AAAA,wBAzFD,OA0BE,YA1BF;AAAA,UACC,UAAS;AAAA,UACT;AAAA,UACA;AAAA,UACA,SAAS;AAAA,UACT,cAAa;AAAA,UACb,WAAW;AAAA,UANZ,UA0BE;AAAA,YAlBA,yBACA;AAAA,wBAQE;AAAA,gCAPD,MAAC,qBAAD,EAAqB;AAAA,gCACrB,OAKE,QALF;AAAA,kBACC,WAAU;AAAA,kBACV,OAAO;AAAA,kBAFR,UAKE;AAAA,oBALF;AAAA,oBAIG,MAAM,SAAS,KAAK,GAAG,MAAM,MAAM,GAAG,EAAE,OAAM;AAAA,oBAJjD;AAAA;AAAA,iBAKE;AAAA;AAAA,aACD;AAAA,4BAEH,MAAC,qBAAD,EAAqB;AAAA,4BACrB,OAGE,kBAHF;AAAA,wBAGE;AAAA,gBAFA,cAAc;AAAA,gBAAQ;AAAA,gBACtB,cAAc,WAAW,IAAI,WAAW;AAAA;AAAA,aACxC;AAAA,4BACF,MAAC,qBAAD,EAAqB;AAAA,4BACrB,MAA2B,gBAA3B;AAAA,wBAAiB;AAAA,aAAU;AAAA;AAAA,SAC1B;AAAA,QAED,cAAc,YAAY,gCAC1B,MAAC,kBAAD;AAAA,UAAkB,OAAO;AAAA,UAAc,OAAO;AAAA,UAAY,WAAS;AAAA,SAAC;AAAA,QAGpE,cAAc,CAAC,4BACf,OAsDE,OAtDF;AAAA,UAAK,WAAU;AAAA,UAAf,UAsDE;AAAA,4BArDD,MASE,gBATF;AAAA,cACC,OAAM;AAAA,cACN,sBAAM,MAAC,OAAD;AAAA,gBAAO,WAAU;AAAA,eAAU;AAAA,cACjC,UAAU;AAAA,cACV,WAAU;AAAA,cAJX,0BAMC,MAEE,OAFF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UACE,SAAS;AAAA,eACT;AAAA,aACD;AAAA,YAED,cAAc,SAAS,qBACvB,MA+BE,gBA/BF;AAAA,cACC,OAAM;AAAA,cACN,UAAU,cACR,IAAI,CAAC,MAAM,GAAG,EAAE;AAAA,EAAU,EAAE,KAAK,EACjC,KAAK;AAAA;AAAA,CAAM;AAAA,cACb,WAAU;AAAA,cALX,0BAOC,MAuBE,OAvBF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UACE,cAAc,IAAI,CAAC,MAAM,sBACzB,OAmBE,OAnBF;AAAA,kBAEC,WAAU;AAAA,kBAFX,UAmBE;AAAA,oCAfD,OAQE,KARF;AAAA,sBACC,MAAM,KAAK;AAAA,sBACX,QAAO;AAAA,sBACP,KAAI;AAAA,sBACJ,WAAU;AAAA,sBAJX,UAQE;AAAA,wBAFA,KAAK;AAAA,wCACN,MAAC,eAAD;AAAA,0BAAc,WAAU;AAAA,yBAAwB;AAAA;AAAA,qBAC/C;AAAA,oCACF,MAEE,KAFF;AAAA,sBAAG,WAAU;AAAA,sBAAb,UACE,KAAK;AAAA,qBACL;AAAA,oCACF,MAEE,KAFF;AAAA,sBAAG,WAAU;AAAA,sBAAb,UACE,KAAK;AAAA,qBACL;AAAA;AAAA,mBAjBG,GAAG,KAAK,OAAO,GAkBnB,CACF;AAAA,eACA;AAAA,aACD;AAAA,YAGF,cAAc,WAAW,qBACzB,MAIE,gBAJF;AAAA,cAAgB,OAAM;AAAA,cAAU,WAAU;AAAA,cAA1C,0BACC,MAEE,OAFF;AAAA,gBAAK,WAAU;AAAA,gBAAf;AAAA,eAEE;AAAA,aACD;AAAA;AAAA,SAEF;AAAA;AAAA,KAEF;AAAA,EAEJ;AAAA,EAEA,MAAM,aAAa,OAAO,IAAI,SAAS,KAAK,GAAG,IAAI,MAAM,GAAG,EAAE,SAAS;AAAA,EAEvE,uBACC,OAkEE,OAlEF;AAAA,IAAK,WAAU;AAAA,IAAf,UAkEE;AAAA,sBAjED,OAkBE,YAlBF;AAAA,QACC,UAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,cAAa;AAAA,QACb,WAAW;AAAA,QANZ,UAkBE;AAAA,UAVA,8BACA;AAAA,sBAKE;AAAA,8BAJD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAsC,OAAO;AAAA,gBAA7D,UACE;AAAA,eACA;AAAA;AAAA,WACD;AAAA,0BAEH,MAAC,qBAAD,EAAqB;AAAA,0BACrB,MAA2B,gBAA3B;AAAA,sBAAiB;AAAA,WAAU;AAAA;AAAA,OAC1B;AAAA,MAED,cAAc,YAAY,gCAC1B,MAAC,kBAAD;AAAA,QAAkB,OAAO;AAAA,QAAc,OAAO;AAAA,QAAY,WAAS;AAAA,OAAC;AAAA,MAGpE,cAAc,CAAC,4BACf,OAsCE,OAtCF;AAAA,QAAK,WAAU;AAAA,QAAf,UAsCE;AAAA,0BArCD,MAgBE,gBAhBF;AAAA,YACC,OAAM;AAAA,YACN,sBAAM,MAAC,MAAD;AAAA,cAAM,WAAU;AAAA,aAAU;AAAA,YAChC,UAAU;AAAA,YACV,WAAU;AAAA,YAJX,0BAMC,MASE,OATF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACC,MAOE,KAPF;AAAA,gBACC,MAAM;AAAA,gBACN,QAAO;AAAA,gBACP,KAAI;AAAA,gBACJ,WAAU;AAAA,gBAJX,UAME;AAAA,eACA;AAAA,aACD;AAAA,WACD;AAAA,UAED,WAAW,2BACX,MAQE,gBARF;AAAA,YACC,OAAM;AAAA,YACN,UAAU,WAAW;AAAA,YACrB,WAAU;AAAA,YAHX,0BAKC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE,WAAW;AAAA,aACX;AAAA,WACD;AAAA,UAGF,CAAC,WAAW,2BACZ,MAIE,gBAJF;AAAA,YAAgB,OAAM;AAAA,YAAU,WAAU;AAAA,YAA1C,0BACC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE;AAAA,WACD;AAAA;AAAA,OAEF;AAAA;AAAA,GAEF;AAAA;;;ACtNJ,qBAAS;AAET;AAAA,iBACC;AAAA,kBACA;AAAA,eACA;AAAA,gBACA;AAAA;AAAA;AAAA;AAaM,SAAS,aAAa;AAAA,EAC5B;AAAA,EACA,OAAO;AAAA,EACP,WAAW;AAAA,EACX;AAAA,EACA;AAAA,GACsB;AAAA,EACtB,OAAO,gBAAgB,qBAAqB,WAAS,KAAK;AAAA,EAG1D,MAAM,eACL,YAAY,SAAS,iBACrB,YAAY,cAAc;AAAA,EAC3B,MAAM,oBACL,YAAY,SAAS,6BACrB,YAAY,cAAc;AAAA,EAC3B,MAAM,eAAe,YAAY,gBAAgB,QAAQ;AAAA,EAOzD,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI,YAAY;AAAA,EAGhB,IAAI,YAAY,SAAS,OAAO,YAAY,UAAU,UAAU;AAAA,IAC/D,eAAe,YAAY;AAAA,IAE3B,IAAI,aAAa,WAAW,OAAO,aAAa,YAAY,UAAU;AAAA,MACrE,eAAe,aAAa;AAAA,IAC7B;AAAA,IACA,IAAI,aAAa,QAAQ,OAAO,aAAa,SAAS,UAAU;AAAA,MAC/D,YAAY,aAAa;AAAA,IAC1B;AAAA,EACD,EAEK,SAAI,YAAY,WAAW,OAAO,YAAY,YAAY,UAAU;AAAA,IACxE,eAAe,YAAY;AAAA,IAC3B,IAAI,YAAY,WAAW,OAAO,YAAY,YAAY,UAAU;AAAA,MACnE,eAAe,YAAY;AAAA,IAC5B;AAAA,IACA,IAAI,YAAY,QAAQ,OAAO,YAAY,SAAS,UAAU;AAAA,MAC7D,YAAY,YAAY;AAAA,IACzB;AAAA,IACA,IAAI,YAAY,cAAc,MAAM;AAAA,MACnC,YAAY;AAAA,IACb;AAAA,EACD,EAEK;AAAA,IACJ,IAAI,YAAY,WAAW,OAAO,YAAY,YAAY,UAAU;AAAA,MACnE,eAAe,YAAY;AAAA,IAC5B;AAAA,IACA,IAAI,YAAY,QAAQ,OAAO,YAAY,SAAS,UAAU;AAAA,MAC7D,YAAY,YAAY;AAAA,IACzB;AAAA,IACA,IAAI,YAAY,cAAc,MAAM;AAAA,MACnC,YAAY;AAAA,IACb;AAAA,IAEA,eAAe;AAAA;AAAA,EAIhB,IAAI;AAAA,EACJ,IACC,cAAc,gBACd,OAAO,aAAa,iBAAiB,UACpC;AAAA,IACD,IAAI;AAAA,MACH,MAAM,SAAS,KAAK,MAAM,aAAa,YAAY;AAAA,MACnD,IAAI,OAAO,SAAS,OAAO,OAAO,UAAU,UAAU;AAAA,QACrD,WAAW;AAAA,UACV,MACC,OAAO,OAAO,MAAM,SAAS,WAC1B,OAAO,MAAM,OACb;AAAA,UACJ,SACC,OAAO,OAAO,MAAM,YAAY,WAC7B,OAAO,MAAM,UACb;AAAA,UACJ,MACC,OAAO,OAAO,MAAM,SAAS,WAC1B,OAAO,MAAM,OACb;AAAA,QACL;AAAA,MACD;AAAA,MACC,MAAM;AAAA,EAGT;AAAA,EAEA,MAAM,iBACL,OAAO,cAAc,OAAO,EAAE,EAAE,SAAS,mBAAmB,KAC5D,OAAO,gBAAgB,EAAE,EACvB,YAAY,EACZ,SAAS,eAAe;AAAA,EAE3B,MAAM,yBAAyB,OAC9B,UAAU,WAAW,gBAAgB,EACtC,EAAE,YAAY;AAAA,EAEd,MAAM,sBACL,mBACC,UAAU,SAAS,yBACnB,uBAAuB,SAAS,wBAAwB,KACxD,uBAAuB,SACtB,mDACD;AAAA,EAEF,MAAM,yBACL,UAAU,SACP,YAAY,EACb,SAAS,0CAA0C,KACrD,OAAO,cAAc,OAAO,EAAE,EAAE,SAAS,mBAAmB;AAAA,EAE7D,IAAI,wBAAwB;AAAA,IAC3B,MAAM,QAAS,cAAc,mBAC1B;AAAA,IACH,uBACC,OAoCE,OApCF;AAAA,MAAK,WAAU;AAAA,MAAf,UAoCE;AAAA,wBAnCD,OAsBE,OAtBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAsBE;AAAA,4BArBD,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE;AAAA,4BACF,MAYE,KAZF;AAAA,cAAG,WAAU;AAAA,cAAb,UACE,wBACA;AAAA,0BAME;AAAA,kCALD,MAEE,QAFF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UACE,OAAO,KAAK;AAAA,mBACZ;AAAA,kBAAM;AAAA,kBAHT;AAAA;AAAA,eAME,IAEF;AAAA,aAEA;AAAA,4BACF,MAIE,KAJF;AAAA,cAAG,WAAU;AAAA,cAAb;AAAA,aAIE;AAAA;AAAA,SACD;AAAA,QACD,2BACA,MASE,OATF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,OAOE,UAPF;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,WAAU;AAAA,YAHX,UAOE;AAAA,8BAFD,MAAC,YAAD;AAAA,gBAAW,WAAU;AAAA,eAAU;AAAA,cALhC;AAAA;AAAA,WAOE;AAAA,SACD;AAAA;AAAA,KAEF;AAAA,EAEJ;AAAA,EAEA,IAAI,qBAAqB;AAAA,IACxB,MAAM,QAAS,cAAc,mBAC1B;AAAA,IACH,uBACC,OAkDE,OAlDF;AAAA,MAAK,WAAU;AAAA,MAAf,UAkDE;AAAA,wBAjDD,OAoCE,OApCF;AAAA,UAAK,WAAU;AAAA,UAAf,UAoCE;AAAA,4BAnCD,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE;AAAA,4BACF,MAWE,KAXF;AAAA,cAAG,WAAU;AAAA,cAAb,UACE,wBACA;AAAA,0BAKE;AAAA,kCAJD,MAEE,QAFF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UACE,OAAO,KAAK;AAAA,mBACZ;AAAA,kBAAM;AAAA,kBAHT;AAAA;AAAA,eAKE,IAEF;AAAA,aAEA;AAAA,4BACF,MAGE,KAHF;AAAA,cAAG,WAAU;AAAA,cAAb;AAAA,aAGE;AAAA,4BACF,OAeE,KAfF;AAAA,cAAG,WAAU;AAAA,cAAb,UAeE;AAAA,gBAfF;AAAA,gBACyB;AAAA,gCACxB,MAWE,KAXF;AAAA,kBACC,MAAK;AAAA,kBACL,QAAO;AAAA,kBACP,KAAI;AAAA,kBACJ,WAAU;AAAA,kBACV,SAAS,CAAC,MAAM;AAAA,oBACf,EAAE,eAAe;AAAA,oBACjB,QAAQ,qCAAqC;AAAA;AAAA,kBAP/C;AAAA,iBAWE;AAAA,gBAbH;AAAA;AAAA,aAeE;AAAA;AAAA,SACD;AAAA,QACD,2BACA,MASE,OATF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,OAOE,UAPF;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,WAAU;AAAA,YAHX,UAOE;AAAA,8BAFD,MAAC,YAAD;AAAA,gBAAW,WAAU;AAAA,eAAU;AAAA,cALhC;AAAA;AAAA,WAOE;AAAA,SACD;AAAA;AAAA,KAEF;AAAA,EAEJ;AAAA,EAGA,IAAI,cAAc;AAAA,IACjB,uBACC,OAoBE,OApBF;AAAA,MAAK,WAAU;AAAA,MAAf,UAoBE;AAAA,wBAnBD,OAGE,OAHF;AAAA,UAAK,WAAU;AAAA,UAAf,UAGE;AAAA,4BAFD,MAAC,aAAD;AAAA,cAAY,WAAU;AAAA,aAAyB;AAAA,4BAC/C,MAA+D,QAA/D;AAAA,cAAM,WAAU;AAAA,cAAhB;AAAA,aAA+D;AAAA;AAAA,SAC9D;AAAA,wBACF,MAEE,KAFF;AAAA,UAAG,WAAU;AAAA,UAAb;AAAA,SAEE;AAAA,QACD,2BACA,MASE,OATF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,OAOE,UAPF;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,WAAU;AAAA,YAHX,UAOE;AAAA,8BAFD,MAAC,YAAD;AAAA,gBAAW,WAAU;AAAA,eAAU;AAAA,cALhC;AAAA;AAAA,WAOE;AAAA,SACD;AAAA;AAAA,KAEF;AAAA,EAEJ;AAAA,EAEA,IAAI,mBAAmB;AAAA,IACtB,uBACC,OAiCE,OAjCF;AAAA,MAAK,WAAU;AAAA,MAAf,UAiCE;AAAA,wBAhCD,OAKE,OALF;AAAA,UAAK,WAAU;AAAA,UAAf,UAKE;AAAA,4BAJD,MAAC,UAAD;AAAA,cAAU,WAAU;AAAA,aAAyB;AAAA,4BAC7C,MAEE,QAFF;AAAA,cAAM,WAAU;AAAA,cAAhB;AAAA,aAEE;AAAA;AAAA,SACD;AAAA,wBACF,MAGE,KAHF;AAAA,UAAG,WAAU;AAAA,UAAb;AAAA,SAGE;AAAA,wBACF,OAqBE,OArBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAqBE;AAAA,YApBA,6BACA,OAOE,UAPF;AAAA,cACC,MAAK;AAAA,cACL,SAAS;AAAA,cACT,WAAU;AAAA,cAHX,UAOE;AAAA,gCAFD,MAAC,UAAD;AAAA,kBAAU,WAAU;AAAA,iBAAU;AAAA,gBAL/B;AAAA;AAAA,aAOE;AAAA,YAEF,2BACA,OAOE,UAPF;AAAA,cACC,MAAK;AAAA,cACL,SAAS;AAAA,cACT,WAAU;AAAA,cAHX,UAOE;AAAA,gCAFD,MAAC,YAAD;AAAA,kBAAW,WAAU;AAAA,iBAAU;AAAA,gBALhC;AAAA;AAAA,aAOE;AAAA;AAAA,SAEF;AAAA;AAAA,KACD;AAAA,EAEJ;AAAA,EAGA,MAAM,cAAc,CAAC,UAAsC;AAAA,IAC1D,IAAI,UAAU,QAAQ,UAAU,WAAW;AAAA,MAC1C,uBAAO,MAA8C,QAA9C;AAAA,QAAM,WAAU;AAAA,QAAhB;AAAA,OAA8C;AAAA,IACtD;AAAA,IACA,IAAI,OAAO,UAAU,WAAW;AAAA,MAC/B,uBACC,MAEE,QAFF;AAAA,QAAM,WAAU;AAAA,QAAhB,UACE,OAAO,KAAK;AAAA,OACZ;AAAA,IAEJ;AAAA,IACA,IAAI,OAAO,UAAU,UAAU;AAAA,MAC9B,uBAAO,MAA4D,QAA5D;AAAA,QAAM,WAAU;AAAA,QAAhB,UAAoD;AAAA,OAAQ;AAAA,IACpE;AAAA,IACA,IAAI,OAAO,UAAU,UAAU;AAAA,MAE9B,IAAI,MAAM,WAAW,GAAG,KAAK,MAAM,WAAW,GAAG,GAAG;AAAA,QACnD,IAAI;AAAA,UACH,MAAM,SAAS,KAAK,MAAM,KAAK;AAAA,UAC/B,uBACC,MAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAAyC,QAAzC;AAAA,wBAAO,KAAK,UAAU,QAAQ,MAAM,CAAC;AAAA,aAAI;AAAA,WACxC;AAAA,UAEF,MAAM;AAAA,MAGT;AAAA,MACA,uBAAO,MAA2C,QAA3C;AAAA,QAAM,WAAU;AAAA,QAAhB,UAAmC;AAAA,OAAQ;AAAA,IACnD;AAAA,IACA,IAAI,OAAO,UAAU,UAAU;AAAA,MAC9B,uBACC,MAEE,OAFF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,MAAwC,QAAxC;AAAA,oBAAO,KAAK,UAAU,OAAO,MAAM,CAAC;AAAA,SAAI;AAAA,OACvC;AAAA,IAEJ;AAAA,IACA,uBAAO,MAAmD,QAAnD;AAAA,MAAM,WAAU;AAAA,MAAhB,UAAmC,OAAO,KAAK;AAAA,KAAI;AAAA;AAAA,EAG3D,MAAM,kBAAkB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACA,MAAM,iBAAiB,IAAI;AAAA,EAE3B,uBACC,OA2GE,OA3GF;AAAA,IAAK,WAAU;AAAA,IAAf,UA2GE;AAAA,MA1GA,6BACA,MAEE,OAFF;AAAA,QAAK,WAAU;AAAA,QAAf;AAAA,OAEE;AAAA,MAIF,UAAU,2BACV,OAUE,OAVF;AAAA,QAAK,WAAU;AAAA,QAAf,UAUE;AAAA,0BATD,MAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf;AAAA,WAEE;AAAA,0BACF,MAAqD,OAArD;AAAA,YAAK,WAAU;AAAA,YAAf,UAAkC,SAAS;AAAA,WAAU;AAAA,UACpD,SAAS,wBACT,OAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf,UAEE;AAAA,cAFF;AAAA,cACQ,SAAS;AAAA;AAAA,WACf;AAAA;AAAA,OAEF;AAAA,MAIF,CAAC,UAAU,WAAW,gCACtB,OAUE,OAVF;AAAA,QAAK,WAAU;AAAA,QAAf,UAUE;AAAA,0BATD,MAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf;AAAA,WAEE;AAAA,0BACF,MAAiD,OAAjD;AAAA,YAAK,WAAU;AAAA,YAAf,UAAkC;AAAA,WAAe;AAAA,UAChD,6BACA,OAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf,UAEE;AAAA,cAFF;AAAA,cACQ;AAAA;AAAA,WACN;AAAA;AAAA,OAEF;AAAA,MAIF,2BACA,MASE,OATF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,OAOE,UAPF;AAAA,UACC,MAAK;AAAA,UACL,SAAS;AAAA,UACT,WAAU;AAAA,UAHX,UAOE;AAAA,4BAFD,MAAC,YAAD;AAAA,cAAW,WAAU;AAAA,aAAU;AAAA,YALhC;AAAA;AAAA,SAOE;AAAA,OACD;AAAA,MAIF,gCACA,MAcE,OAdF;AAAA,QAAK,WAAU;AAAA,QAAf,UACE,gBAAgB,IAAI,CAAC,UAAU;AAAA,UAC/B,MAAM,QAAQ,aAAa;AAAA,UAC3B,IAAI,UAAU,aAAa,UAAU;AAAA,YAAM,OAAO;AAAA,UAClD,eAAe,IAAI,KAAK;AAAA,UACxB,uBACC,OAKE,OALF;AAAA,YAAiB,WAAU;AAAA,YAA3B,UAKE;AAAA,8BAJD,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBADA;AAAA,kBADF;AAAA;AAAA,eAEE;AAAA,cACD,YAAY,KAAK;AAAA;AAAA,aAJT,KAKR;AAAA,SAEH;AAAA,OACA;AAAA,MAIF,gCACA,OAoBE,OApBF;AAAA,QAAK,WAAU;AAAA,QAAf,UAoBE;AAAA,0BAnBD,OAWE,UAXF;AAAA,YACC,MAAK;AAAA,YACL,SAAS,MAAM,kBAAkB,CAAC,cAAc;AAAA,YAChD,WAAU;AAAA,YAHX,UAWE;AAAA,cANA,iCACA,MAAC,cAAD;AAAA,gBAAa,WAAU;AAAA,eAAU,oBAEjC,MAAC,eAAD;AAAA,gBAAc,WAAU;AAAA,eAAU;AAAA,cAElC,iBAAiB,SAAS;AAAA,cAV5B;AAAA;AAAA,WAWE;AAAA,UACD,kCACA,MAIE,OAJF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACC,MAA+C,QAA/C;AAAA,0BAAO,KAAK,UAAU,cAAc,MAAM,CAAC;AAAA,eAAI;AAAA,aAC9C;AAAA,WACD;AAAA;AAAA,OAEF;AAAA,MAGF,0BACA,OASE,WATF;AAAA,QAAS,WAAU;AAAA,QAAnB,UASE;AAAA,0BARD,MAEE,WAFF;AAAA,YAAS,WAAU;AAAA,YAAnB;AAAA,WAEE;AAAA,0BACF,MAIE,OAJF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAEE,QAFF;AAAA,wBACE,KAAK,UAAU,EAAE,aAAa,cAAc,SAAS,GAAG,MAAM,CAAC;AAAA,aAC/D;AAAA,WACD;AAAA;AAAA,OACD;AAAA;AAAA,GAEF;AAAA;;;ACndJ,yBAAS,gCAAqB;;AAuD9B,SAAS,UAAU,CAAC,WAA4B;AAAA,EAC/C,IAAI,CAAC;AAAA,IAAW,OAAO;AAAA,EACvB,MAAM,OAAO,IAAI,KAAK,SAAS;AAAA,EAC/B,OAAO,KAAK,mBAAmB,WAAW;AAAA,IACzC,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,SAAS,WAAW;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,GAKE;AAAA,EACF,IAAI,SAAS;AAAA,IACZ,uBACC,OAYE,UAZF;AAAA,MACC,MAAK;AAAA,MACL,SAAS,MAAM,aAAa,QAAQ,EAAE;AAAA,MACtC,UAAU,CAAC;AAAA,MACX,WAAU;AAAA,MAJX,UAYE;AAAA,wBAND,MAEE,QAFF;AAAA,UAAM,WAAU;AAAA,UAAhB,UACE,QAAQ,SAAS;AAAA,SACjB;AAAA,QACD,8BACA,MAAC,eAAD;AAAA,UAAc,WAAU;AAAA,SAA8C;AAAA;AAAA,KAEtE;AAAA,EAEJ;AAAA,EAEA,uBACC,OAmCE,UAnCF;AAAA,IACC,MAAK;AAAA,IACL,SAAS,MAAM,aAAa,QAAQ,EAAE;AAAA,IACtC,UAAU,CAAC;AAAA,IACX,WAAU;AAAA,IAJX,UAmCE;AAAA,sBA7BD,OAOE,OAPF;AAAA,QAAK,WAAU;AAAA,QAAf,UAOE;AAAA,0BAND,MAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UACE,QAAQ,SAAS;AAAA,WACjB;AAAA,UACD,8BACA,MAAC,eAAD;AAAA,YAAc,WAAU;AAAA,WAAmG;AAAA;AAAA,OAE3H;AAAA,sBACF,OAoBE,OApBF;AAAA,QAAK,WAAU;AAAA,QAAf,UAoBE;AAAA,UAnBA,QAAQ,yBACR,MAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UACE,QAAQ;AAAA,WACR;AAAA,UAEF,QAAQ,SAAS,QAAQ,4BAAY,MAAQ,QAAR;AAAA;AAAA,WAAQ;AAAA,UAC7C,QAAQ,4BAAY,MAA0B,QAA1B;AAAA,sBAAO,QAAQ;AAAA,WAAW;AAAA,UAC9C,QAAQ,iBAAiB,6BACzB;AAAA,sBAGE;AAAA,8BAFD,MAAQ,QAAR;AAAA;AAAA,eAAQ;AAAA,8BACR,OAAmC,QAAnC;AAAA,0BAAmC;AAAA,kBAA5B,QAAQ;AAAA,kBAAf;AAAA;AAAA,eAAmC;AAAA;AAAA,WAClC;AAAA,UAEF,QAAQ,6BACR;AAAA,sBAGE;AAAA,8BAFD,MAAQ,QAAR;AAAA;AAAA,eAAQ;AAAA,8BACR,MAAuC,QAAvC;AAAA,0BAAO,WAAW,QAAQ,SAAS;AAAA,eAAI;AAAA;AAAA,WACtC;AAAA;AAAA,OAEF;AAAA;AAAA,GACD;AAAA;AAIJ,SAAS,WAAW;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,GAKE;AAAA,EACF,MAAM,YAAY,eAAe,UAAU,QAAQ,YAAY;AAAA,EAC/D,MAAM,eAAe,kBAAkB,UAAU,QAAQ,eAAe;AAAA,EACxE,MAAM,UACL,aAAa,UACV,QAAQ,WACR,oBAAoB,WACnB,QAAQ,kBACR,oBAAoB,WACnB,QAAQ,iBACR;AAAA,EAEN,IAAI,SAAS;AAAA,IACZ,uBACC,OAYE,UAZF;AAAA,MACC,MAAK;AAAA,MACL,SAAS,MAAM,aAAa,SAAS;AAAA,MACrC,UAAU,CAAC,cAAc,CAAC;AAAA,MAC1B,WAAU;AAAA,MAJX,UAYE;AAAA,wBAND,MAEE,QAFF;AAAA,UAAM,WAAU;AAAA,UAAhB,UACE,SAAS,MAAM,GAAG,EAAE,KAAK,gBAAgB,UAAU,MAAM,GAAG,CAAC;AAAA,SAC7D;AAAA,QACD,cAAc,6BACd,MAAC,eAAD;AAAA,UAAc,WAAU;AAAA,SAA8C;AAAA;AAAA,KAEtE;AAAA,EAEJ;AAAA,EAEA,uBACC,OA4BE,UA5BF;AAAA,IACC,MAAK;AAAA,IACL,SAAS,MAAM,aAAa,SAAS;AAAA,IACrC,UAAU,CAAC,cAAc,CAAC;AAAA,IAC1B,WAAU;AAAA,IAJX,UA4BE;AAAA,sBAtBD,OAOE,OAPF;AAAA,QAAK,WAAU;AAAA,QAAf,UAOE;AAAA,0BAND,MAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UACE,gBAAgB,UAAU,MAAM,GAAG,CAAC;AAAA,WACpC;AAAA,UACD,cAAc,6BACd,MAAC,eAAD;AAAA,YAAc,WAAU;AAAA,WAAmG;AAAA;AAAA,OAE3H;AAAA,MACD,2BACA,MAEE,OAFF;AAAA,QAAK,WAAU;AAAA,QAAf,UACE;AAAA,OACA;AAAA,sBAEH,OAQE,OARF;AAAA,QAAK,WAAU;AAAA,QAAf,UAQE;AAAA,UAPA,QAAQ,wBAAQ,MAA6C,QAA7C;AAAA,YAAM,WAAU;AAAA,YAAhB,UAA8B,QAAQ;AAAA,WAAO;AAAA,UAC7D,QAAQ,6BACR;AAAA,sBAGE;AAAA,8BAFD,MAAQ,QAAR;AAAA;AAAA,eAAQ;AAAA,8BACR,MAAuC,QAAvC;AAAA,0BAAO,WAAW,QAAQ,SAAS;AAAA,eAAI;AAAA;AAAA,WACtC;AAAA;AAAA,OAEF;AAAA;AAAA,GACD;AAAA;AAIJ,SAAS,WAAW;AAAA,EACnB;AAAA,EACA;AAAA,GAIE;AAAA,EACF,MAAM,YAAY,CAAC,KAAa,UAAmB;AAAA,IAClD,IAAI,UAAU,aAAa,UAAU;AAAA,MAAM,OAAO;AAAA,IAClD,IAAI,OAAO,UAAU,aAAa,CAAC;AAAA,MAAO,OAAO;AAAA,IACjD,IAAI,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW;AAAA,MAAG,OAAO;AAAA,IAEvD,uBACC,OAQE,QARF;AAAA,MAEC,WAAU;AAAA,MAFX,UAQE;AAAA,wBAJD,OAAqC,QAArC;AAAA,UAAM,WAAU;AAAA,UAAhB,UAAqC;AAAA,YAAP;AAAA,YAA9B;AAAA;AAAA,SAAqC;AAAA,wBACrC,MAEE,QAFF;AAAA,UAAM,WAAU;AAAA,UAAhB,UACE,OAAO,UAAU,WAAW,QAAQ,KAAK,UAAU,KAAK;AAAA,SACxD;AAAA;AAAA,OANG,GAOJ;AAAA;AAAA,EAIJ,MAAM,gBAA0C;AAAA,IAC/C,gBAAgB,CAAC,SAAS,eAAe,aAAa,SAAS;AAAA,IAC/D,gBAAgB,CAAC,aAAa,QAAQ,UAAU,UAAU;AAAA,IAC1D,gBAAgB,CAAC,OAAO;AAAA,IACxB,qBAAqB,CAAC,aAAa,iBAAiB;AAAA,IACpD,oBAAoB,CAAC,iBAAiB;AAAA,EACvC;AAAA,EAEA,MAAM,aAAa,cAAc,aAAa,OAAO,KAAK,IAAI,EAAE,MAAM,GAAG,CAAC;AAAA,EAC1E,MAAM,eAAe,WACnB,OAAO,CAAC,MAAM,KAAK,OAAO,aAAa,KAAK,OAAO,IAAI,EACvD,IAAI,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC,EAChC,OAAO,OAAO;AAAA,EAEhB,IAAI,aAAa,WAAW;AAAA,IAAG,OAAO;AAAA,EAEtC,uBACC,OAGE,OAHF;AAAA,IAAK,WAAU;AAAA,IAAf,UAGE;AAAA,sBAFD,MAAC,QAAD;AAAA,QAAQ,WAAU;AAAA,OAA8C;AAAA,MAC/D;AAAA;AAAA,GACA;AAAA;AAIG,SAAS,oBAAoB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAC6B;AAAA,EAC7B,MAAM,SAAS,YAAY,UAAU,CAAC;AAAA,EACtC,MAAM,OAAQ,YAAY,QAAQ,CAAC;AAAA,EAEnC,MAAM,eACL,OAAO,WAAW,YAAY,QAAQ,UAAU,OAAO,OAAO;AAAA,EAC/D,MAAM,eACL,gBAAgB,WAAW,UAAU,OAAO,OAAO,UAAU,WAC1D,OAAO,QACP;AAAA,EAEJ,MAAM,UAAU,eAAe,cAAc;AAAA,EAE7C,IAAI,aAAa,kBAAkB;AAAA,IAClC,MAAM,QAAS,OAAyC,SAAS,CAAC;AAAA,IAClE,MAAM,UAAW,OAAgC;AAAA,IACjD,MAAM,QAAS,OAA8B;AAAA,IAE7C,IAAI,MAAM,WAAW,KAAK,CAAC;AAAA,MAAS,OAAO;AAAA,IAE3C,uBACC,OAuCE,OAvCF;AAAA,MAAK,WAAU;AAAA,MAAf,UAuCE;AAAA,QAtCA,yBACA,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,UACE;AAAA,SACA;AAAA,QAEF,2BACA,OAGE,OAHF;AAAA,UAAK,WAAU;AAAA,UAAf,UAGE;AAAA,4BAFD,MAAC,OAAD;AAAA,cAAO,WAAU;AAAA,aAA4B;AAAA,4BAC7C,MAAiB,QAAjB;AAAA,wBAAO;AAAA,aAAU;AAAA;AAAA,SAChB;AAAA,QAEF,MAAM,SAAS,qBACf,MAwBE,OAxBF;AAAA,UAAK,WAAU;AAAA,UAAf,UACE,MAAM,IAAI,CAAC,yBACX,OAoBE,UApBF;AAAA,YACC,MAAK;AAAA,YAEL,SAAS,MAAM,sBAAsB,KAAK,SAAS;AAAA,YACnD,UAAU,CAAC;AAAA,YACX,WAAU;AAAA,YALX,UAoBE;AAAA,8BAbD,OASE,OATF;AAAA,0BASE;AAAA,kCARD,MAEE,OAFF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UACE,KAAK;AAAA,mBACL;AAAA,kBACD,KAAK,+BACL,MAEE,OAFF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UACE,KAAK;AAAA,mBACL;AAAA;AAAA,eAEF;AAAA,cACD,uCACA,MAAC,eAAD;AAAA,gBAAc,WAAU;AAAA,eAA+G;AAAA;AAAA,aAhBnI,KAAK,SAkBT,CACF;AAAA,SACA;AAAA;AAAA,KAEF;AAAA,EAEJ;AAAA,EAEA,MAAM,iBAAiB,MAAM;AAAA,IAC5B,QAAQ;AAAA,WACF,kBAAkB;AAAA,QACtB,MAAM,WACJ,OAA0C,YAAY,CAAC;AAAA,QACzD,MAAM,QAAS,OAA8B;AAAA,QAC7C,OAAO,GAAG,SAAS,iBAAiB,SAAS,WAAW,IAAI,MAAM,KAAK,QAAQ,OAAO,UAAU;AAAA,MACjG;AAAA,WACK,kBAAkB;AAAA,QACtB,MAAM,WACJ,OAA0C,YAAY,CAAC;AAAA,QACzD,OAAO,GAAG,SAAS,iBAAiB,SAAS,WAAW,IAAI,MAAM;AAAA,MACnE;AAAA,WACK,kBAAkB;AAAA,QACtB,MAAM,QAAQ,KAAK;AAAA,QACnB,MAAM,UAAW,OAAwC,WAAW,CAAC;AAAA,QACrE,MAAM,eAAe,QAClB,IAAI,MAAM,MAAM,GAAG,EAAE,IAAI,MAAM,SAAS,KAAK,MAAK,QAClD;AAAA,QACH,OAAO,GAAG,QAAQ,gBAAgB,QAAQ,WAAW,IAAI,MAAM,KAAK,eAAe,QAAQ,iBAAiB;AAAA,MAC7G;AAAA,WACK,uBAAuB;AAAA,QAC3B,MAAM,UAAW,OAAuC;AAAA,QACxD,OACC,SAAS,SACR,KAAgC,WAAW,MAAM,GAAG,CAAC,KACtD;AAAA,MAEF;AAAA,WACK,sBAAsB;AAAA,QAC1B,MAAM,gBAAiB,OACrB;AAAA,QACF,OAAO,eAAe,SAAS;AAAA,MAChC;AAAA;AAAA,QAEC,OAAO;AAAA;AAAA;AAAA,EAIV,MAAM,gBAAgB,MAAM;AAAA,IAC3B,MAAM,UAAU,OAAO,KAAK,IAAI,EAAE,SAAS,KAAK,CAAC;AAAA,IAEjD,QAAQ;AAAA,WACF,kBAAkB;AAAA,QACtB,MAAM,WACJ,OAA0C,YAAY,CAAC;AAAA,QACzD,uBACC,OAuBE,OAvBF;AAAA,UAAK,WAAW,UAAU,QAAQ;AAAA,UAAlC,UAuBE;AAAA,YAtBA,2BAAW,MAAC,aAAD;AAAA,cAAa;AAAA,cAAY;AAAA,aAAoB;AAAA,YACxD,SAAS,WAAW,oBACpB,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE,oBAEF,OAcE,OAdF;AAAA,cAAK,WAAW,UAAU,gBAAgB;AAAA,cAA1C,UAcE;AAAA,gBAbA,SAAS,MAAM,GAAG,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,4BACzC,MAAC,aAAD;AAAA,kBAEC;AAAA,kBACA,YAAY;AAAA,kBACZ;AAAA,mBAHK,QAAQ,EAId,CACA;AAAA,gBACA,SAAS,UAAU,UAAU,IAAI,uBACjC,OAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAEE;AAAA,oBAFF;AAAA,oBACG,SAAS,UAAU,UAAU,IAAI;AAAA,oBADpC;AAAA;AAAA,iBAEE;AAAA;AAAA,aAEF;AAAA;AAAA,SAEF;AAAA,MAEJ;AAAA,WAEK,kBAAkB;AAAA,QACtB,MAAM,WACJ,OAA0C,YAAY,CAAC;AAAA,QACzD,uBACC,OAuBE,OAvBF;AAAA,UAAK,WAAW,UAAU,QAAQ;AAAA,UAAlC,UAuBE;AAAA,YAtBA,2BAAW,MAAC,aAAD;AAAA,cAAa;AAAA,cAAY;AAAA,aAAoB;AAAA,YACxD,SAAS,WAAW,oBACpB,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE,oBAEF,OAcE,OAdF;AAAA,cAAK,WAAW,UAAU,gBAAgB;AAAA,cAA1C,UAcE;AAAA,gBAbA,SAAS,MAAM,GAAG,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,wBACzC,MAAC,aAAD;AAAA,kBAEC,SAAS;AAAA,kBACT,YAAY;AAAA,kBACZ;AAAA,mBAHK,IAAI,EAIV,CACA;AAAA,gBACA,SAAS,UAAU,UAAU,IAAI,uBACjC,OAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAEE;AAAA,oBAFF;AAAA,oBACG,SAAS,UAAU,UAAU,IAAI;AAAA,oBADpC;AAAA;AAAA,iBAEE;AAAA;AAAA,aAEF;AAAA;AAAA,SAEF;AAAA,MAEJ;AAAA,WAEK,kBAAkB;AAAA,QACtB,MAAM,UAAW,OAAwC,WAAW,CAAC;AAAA,QACrE,MAAM,QAAQ,KAAK;AAAA,QACnB,uBACC,OA6BE,OA7BF;AAAA,UAAK,WAAW,UAAU,QAAQ;AAAA,UAAlC,UA6BE;AAAA,YA5BA,SAAS,CAAC,2BACV,OAIE,OAJF;AAAA,cAAK,WAAU;AAAA,cAAf,UAIE;AAAA,gCAHD,MAAC,SAAD;AAAA,kBAAQ,WAAU;AAAA,iBAA8C;AAAA,gCAChE,MAAgD,QAAhD;AAAA,kBAAM,WAAU;AAAA,kBAAhB;AAAA,iBAAgD;AAAA,gCAChD,OAAyD,QAAzD;AAAA,kBAAM,WAAU;AAAA,kBAAhB,UAAyD;AAAA,oBAAzD;AAAA,oBAAgD;AAAA,oBAAhD;AAAA;AAAA,iBAAyD;AAAA;AAAA,aACxD;AAAA,YAEF,QAAQ,WAAW,oBACnB,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE,oBAEF,OAcE,OAdF;AAAA,cAAK,WAAW,UAAU,gBAAgB;AAAA,cAA1C,UAcE;AAAA,gBAbA,QAAQ,MAAM,GAAG,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,GAAG,sBAC3C,MAAC,aAAD;AAAA,kBAEC,SAAS;AAAA,kBACT,YAAY;AAAA,kBACZ;AAAA,mBAHK,GAAG,EAAE,aAAa,EAAE,aAAa,GAIvC,CACA;AAAA,gBACA,QAAQ,UAAU,UAAU,IAAI,uBAChC,OAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAEE;AAAA,oBAFF;AAAA,oBACG,QAAQ,UAAU,UAAU,IAAI;AAAA,oBADnC;AAAA;AAAA,iBAEE;AAAA;AAAA,aAEF;AAAA;AAAA,SAEF;AAAA,MAEJ;AAAA,WAEK;AAAA,WACA,sBAAsB;AAAA,QAC1B,MAAM,UACL,aAAa,uBACT,OAA6C,gBAC7C,OAAuC;AAAA,QAC5C,MAAM,QACL,OAGC;AAAA,QACF,MAAM,WACL,OAQC;AAAA,QAEF,IAAI,CAAC,SAAS;AAAA,UACb,uBACC,MAIE,OAJF;AAAA,YACC,WAAW,iCAAiC,UAAU,QAAQ;AAAA,YAD/D;AAAA,WAIE;AAAA,QAEJ;AAAA,QAEA,IAAI,SAAS;AAAA,UACZ,uBACC,MAME,OANF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAAC,aAAD;AAAA,cACC;AAAA,cACA,YAAY;AAAA,cACZ,SAAO;AAAA,aACR;AAAA,WACC;AAAA,QAEJ;AAAA,QAEA,uBACC,OAoCE,OApCF;AAAA,UAAK,WAAU;AAAA,UAAf,UAoCE;AAAA,4BAnCD,MAAC,aAAD;AAAA,cAAa;AAAA,cAAkB,YAAY;AAAA,aAAqB;AAAA,YAE/D,yBACA,OAOE,OAPF;AAAA,cAAK,WAAU;AAAA,cAAf,UAOE;AAAA,gBANA,MAAM,kBAAkB,6BACxB,OAAsC,QAAtC;AAAA,4BAAsC;AAAA,oBAA/B,MAAM;AAAA,oBAAb;AAAA;AAAA,iBAAsC;AAAA,gBAEtC,MAAM,mBAAmB,6BACzB,OAAyC,QAAzC;AAAA,4BAAyC;AAAA,oBAAlC,MAAM;AAAA,oBAAb;AAAA;AAAA,iBAAyC;AAAA;AAAA,aAEzC;AAAA,YAGF,YAAY,SAAS,SAAS,qBAC9B,OAmBE,OAnBF;AAAA,cAAK,WAAU;AAAA,cAAf,UAmBE;AAAA,gCAlBD,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf;AAAA,iBAEE;AAAA,gCACF,MAcE,OAdF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UACE,SAAS,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,wBAC1B,OAUE,OAVF;AAAA,oBAEC,WAAU;AAAA,oBAFX,UAUE;AAAA,sCAND,OAEE,QAFF;AAAA,wBAAM,WAAU;AAAA,wBAAhB,UAEE;AAAA,0BADA,IAAI;AAAA,0BADN;AAAA,0BACa;AAAA;AAAA,uBACX;AAAA,sCACF,MAEE,QAFF;AAAA,wBAAM,WAAU;AAAA,wBAAhB,UACE,IAAI;AAAA,uBACJ;AAAA;AAAA,qBARG,IAAI,EASR,CACF;AAAA,iBACA;AAAA;AAAA,aACD;AAAA;AAAA,SAEF;AAAA,MAEJ;AAAA;AAAA,QAGC,uBACC,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,UACE,KAAK,UAAU,QAAQ,MAAM,CAAC;AAAA,SAC9B;AAAA;AAAA;AAAA,EAKN,uBACC,OAmDE,OAnDF;AAAA,IAAK,WAAU;AAAA,IAAf,UAmDE;AAAA,sBAlDD,OA+BE,YA/BF;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,cAAa;AAAA,QACb,WAAW;AAAA,QANZ,UA+BE;AAAA,UAvBA,CAAC,2BACD;AAAA,sBAKE;AAAA,8BAJD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UACE,eAAe;AAAA,eACf;AAAA;AAAA,WACD;AAAA,UAEF,CAAC,gBAAgB,CAAC,2BAClB;AAAA,sBAKE;AAAA,8BAJD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAAyB,mBAAzB;AAAA;AAAA,eAAyB;AAAA,8BACzB,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAA2B,gBAA3B;AAAA,0BAAiB;AAAA,eAAU;AAAA;AAAA,WAC1B;AAAA,UAEF,gBAAgB,CAAC,2BACjB;AAAA,sBAIE;AAAA,8BAHD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAAwB,iBAAxB;AAAA;AAAA,eAAwB;AAAA,8BACxB,OAA4B,gBAA5B;AAAA,0BAA4B;AAAA,kBAA5B;AAAA,kBAAkB;AAAA;AAAA,eAAU;AAAA;AAAA,WAC3B;AAAA;AAAA,OAEF;AAAA,MAED,cAAc,gBAAgB,gCAC9B,MAAC,kBAAD;AAAA,QAAkB,OAAO;AAAA,OAAc;AAAA,MAGvC,cAAc,CAAC,gCACf,MAUE,OAVF;AAAA,QAAK,WAAW,UAAU,cAAc;AAAA,QAAxC,UACE,0BACA,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,UACE,cAAc;AAAA,SACd,oBAEF,MAEE,gBAFF;AAAA,UAAgB,OAAM;AAAA,UAAU,WAAU;AAAA,UAA1C,UACE,cAAc;AAAA,SACd;AAAA,OAEF;AAAA;AAAA,GAEF;AAAA;;;ACrmBJ,sBAAS,yBAAW;AACpB,qBAAS;;;ACDF,IAAM,mBAAmB;AAEhC,IAAI,cAAc;AAClB,IAAI,cAAoC;AAEjC,SAAS,YAAY,GAAkB;AAAA,EAC7C,IAAI;AAAA,IAAa,OAAO,QAAQ,QAAQ;AAAA,EACxC,IAAI;AAAA,IAAa,OAAO;AAAA,EAExB,cAAc,OAAO,EAAE,KAAK,MAAM;AAAA,IACjC,cAAc;AAAA,GACd;AAAA,EACD,OAAO;AAAA;AAOR,eAAe,MAAM,GAAkB;AAAA,EACtC,IAAI,OAAO,aAAa,eAAe,EAAE,cAAc;AAAA,IAAS;AAAA,EAEhE,MAAM,WAAW;AAAA,IAChB;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EAEA,MAAM,QAAQ,SAAS,IAAI,OAAO,MAAM;AAAA,IACvC,IAAI;AAAA,MACH,MAAM,MAAM,IAAI,IAAI,mBAAmB,EAAE,QAAQ,YAAY,GAAG,EAAE;AAAA,MAClE,MAAM,OAAO,IAAI,SAChB,qBACA,QAAQ,yBACR,EAAE,QAAQ,EAAE,QAAQ,OAAO,EAAE,MAAM,CACpC;AAAA,MACA,MAAM,SAAS,MAAM,KAAK,KAAK;AAAA,MAC/B,SAAS,MAAM,IAAI,MAAM;AAAA,MACxB,MAAM;AAAA,GAGR;AAAA,EAED,MAAM,QAAQ,WAAW,KAAK;AAAA;;;;AD9C/B,IAAM,UACL;AACD,IAAM,aAAa;AAEnB,SAAS,mBAAmB,CAAC,KAAqB;AAAA,EACjD,OAAO,IACL,QAAQ,SAAS,EAAE,EACnB,QAAQ,YAAY,EAAE,EACtB,QAAQ,QAAQ;AAAA,CAAI,EACpB,QAAQ,SAAS;AAAA,CAAI,EACrB,QAAQ,OAAO;AAAA,CAAI;AAAA;AAGf,SAAS,gBAAgB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACiB;AAAA,EACjB,SAAS,gBAAgB,WAAS,KAAK;AAAA,EACvC,YAAU,MAAM;AAAA,IACf,aAAa,EAAE,KAAK,MAAM,aAAa,IAAI,CAAC;AAAA,KAC1C,CAAC,CAAC;AAAA,EAEL,MAAM,SAAS,YAAY,UAAU,CAAC;AAAA,EACtC,MAAM,OAAO,YAAY,QAAQ,CAAC;AAAA,EAElC,MAAM,YAAY,OAAO,KAAK,aAAa,KAAK,WAAW,EAAE;AAAA,EAC7D,MAAM,eACL,OAAO,WAAW,YAAY,QAAQ,UAAU,OAAO,OAAO;AAAA,EAC/D,MAAM,eACL,gBAAgB,WAAW,UAAU,OAAO,OAAO,UAAU,WAC1D,OAAO,QACP;AAAA,EACJ,MAAM,aACL,gBAAgB,WAAW,UAAU,OAAO,OAAO,UAAU,WAC1D,OAAO,QACP;AAAA,EAEJ,MAAM,UAAU,eAAe,cAAc;AAAA,EAE7C,MAAM,aAAa,OAAO,OAAO,cAAc,KAAK,cAAc,EAAE;AAAA,EACpE,MAAM,UACL,WAAW,SAAS,KAAK,GAAG,WAAW,MAAM,GAAG,EAAE,OAAM;AAAA,EACzD,MAAM,UAAU,OAAO,OAAO,WAAW,KAAK,WAAW,EAAE;AAAA,EAC3D,MAAM,UAAU,OAAO,OAAO,WAAW,KAAK,WAAW,EAAE;AAAA,EAE3D,MAAM,oBAAoB,MAAM;AAAA,IAC/B,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,QAAQ;AAAA,IAC/C,uBACC,OAiBE,OAjBF;AAAA,MAAK,WAAU;AAAA,MAAf,UAiBE;AAAA,QAhBA,2BACA,OAGE,OAHF;AAAA,UAAK,WAAU;AAAA,UAAf,UAGE;AAAA,4BAFD,MAAC,WAAD;AAAA,cAAU,WAAU;AAAA,aAAU;AAAA,4BAC9B,MAAuC,QAAvC;AAAA,cAAM,WAAU;AAAA,cAAhB,UAA6B;AAAA,aAAU;AAAA;AAAA,SACtC;AAAA,QAEF,2BAAW,MAAqD,OAArD;AAAA,UAAK,WAAU;AAAA,UAAf,UAA2C;AAAA,SAAU;AAAA,wBACjE,OAQE,OARF;AAAA,UAAK,WAAU;AAAA,UAAf,UAQE;AAAA,YAPA,2BAAW,MAAuC,QAAvC;AAAA,cAAM,WAAU;AAAA,cAAhB,UAA6B;AAAA,aAAU;AAAA,YAClD,uBACA;AAAA,wBAGE;AAAA,gCAFD,MAAQ,QAAR;AAAA;AAAA,iBAAQ;AAAA,gCACR,MAAa,QAAb;AAAA,4BAAO;AAAA,iBAAM;AAAA;AAAA,aACZ;AAAA;AAAA,SAEF;AAAA;AAAA,KACD;AAAA;AAAA,EAIJ,MAAM,mBAAmB,MAAM;AAAA,IAC9B,MAAM,YAAY,OAAO,OAAO,QAAQ,OAAO,UAAU,EAAE;AAAA,IAC3D,MAAM,SAAS,oBAAoB,SAAS;AAAA,IAC5C,MAAM,SAAS,OAAO,OAAO,UAAU,EAAE;AAAA,IACzC,MAAM,WAAW,OAAO;AAAA,IACxB,MAAM,YAAY,OAAO,OAAO,UAAU,WAAW,OAAO,QAAQ;AAAA,IAEpE,uBACC,OAiCE,OAjCF;AAAA,MAAK,WAAU;AAAA,MAAf,UAiCE;AAAA,wBAhCD,OAiBE,OAjBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAiBE;AAAA,YAhBA,2BAAW,MAAuC,QAAvC;AAAA,cAAM,WAAU;AAAA,cAAhB,UAA6B;AAAA,aAAU;AAAA,4BACnD,MAAQ,QAAR;AAAA;AAAA,aAAQ;AAAA,4BACR,OAAyB,QAAzB;AAAA,wBAAyB;AAAA,gBAAlB;AAAA,gBAAP;AAAA;AAAA,aAAyB;AAAA,4BACzB,MAAQ,QAAR;AAAA;AAAA,aAAQ;AAAA,4BACR,OAWE,QAXF;AAAA,cACC,WACC,WAAW,YACR,2CACA;AAAA,cAJL,UAWE;AAAA,gBAJA;AAAA,gBACA,WAAW,YAAY,aAAa,YAClC,KAAK,cACL;AAAA;AAAA,aACF;AAAA;AAAA,SACD;AAAA,QACD,OAAO,KAAK,qBACZ,MAWE,gBAXF;AAAA,UACC,OAAM;AAAA,UACN,UAAU;AAAA,UACV,WAAU;AAAA,UAHX,0BAKC,MAKE,OALF;AAAA,YACC,WAAU;AAAA,YACV,OAAO,EAAE,YAAY,iBAAiB;AAAA,YAFvC,UAIE;AAAA,WACA;AAAA,SACD;AAAA;AAAA,KAEF;AAAA;AAAA,EAIJ,MAAM,mBAAmB,MAAM;AAAA,IAC9B,MAAM,YAAY,MAAM,QAAQ,OAAO,SAAS,IAAI,OAAO,YAAY,CAAC;AAAA,IACxE,MAAM,QACL,OAAO,OAAO,UAAU,WAAW,OAAO,QAAQ,UAAU;AAAA,IAE7D,uBACC,OAoBE,OApBF;AAAA,MAAK,WAAU;AAAA,MAAf,UAoBE;AAAA,wBAnBD,OAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,UAEE;AAAA,YADA;AAAA,YADF;AAAA,YACkB,UAAU,IAAI,MAAM;AAAA;AAAA,SACpC;AAAA,QACD,UAAU,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,GAA4B,sBACvD,OAaE,OAbF;AAAA,UAEC,WAAU;AAAA,UAFX,UAaE;AAAA,4BATD,MAAC,QAAD;AAAA,cACC,WAAW,wBAAwB,EAAE,WAAW,YAAY,mBAAmB;AAAA,aAChF;AAAA,4BACA,MAEE,QAFF;AAAA,cAAM,WAAU;AAAA,cAAhB,UACE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,GAAG,EAAE;AAAA,aAC9B;AAAA,4BACF,MAEE,QAFF;AAAA,cAAM,WAAU;AAAA,cAAhB,UACE,OAAO,EAAE,WAAW,EAAE;AAAA,aACtB;AAAA;AAAA,WAXG,OAAO,EAAE,MAAM,CAAC,CAYpB,CACF;AAAA;AAAA,KACA;AAAA;AAAA,EAIJ,MAAM,oBAAoB,MAAM;AAAA,IAC/B,MAAM,UAAU,OAAO,KAAK,SAAS,EAAE;AAAA,IACvC,OAAO,0BACN,MAIE,OAJF;AAAA,MAAK,WAAU;AAAA,MAAf,0BACC,MAEE,QAFF;AAAA,QAAM,WAAU;AAAA,QAAhB,UACE;AAAA,OACA;AAAA,KACD,IACC;AAAA;AAAA,EAGL,MAAM,QAAQ,aAAa;AAAA,EAC3B,MAAM,cAAc,YAAY;AAAA,EAChC,MAAM,aACL,CAAC,iBACA,cAAc,WACd,cAAc,UACd,cAAc,UACb,cAAc,YAAY,KAAK,SAAS,OAAO;AAAA,EAElD,uBACC,OA0DE,OA1DF;AAAA,IAAK,WAAU;AAAA,IAAf,UA0DE;AAAA,sBAzDD,OAmCE,YAnCF;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA,SAAS,CAAC,CAAC;AAAA,QACX,cAAa;AAAA,QACb,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;AAAA,QAN9B,UAmCE;AAAA,UA3BA,CAAC,WAAW,2BACZ;AAAA,sBAKE;AAAA,8BAJD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UACE;AAAA,eACA;AAAA;AAAA,WACD;AAAA,UAEF,CAAC,WAAW,WAAW,CAAC,2BACxB;AAAA,sBAKE;AAAA,8BAJD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UACE;AAAA,eACA;AAAA;AAAA,WACD;AAAA,UAEF,CAAC,gBAAgB,CAAC,2BAClB;AAAA,sBAKE;AAAA,8BAJD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAAuB,mBAAvB;AAAA;AAAA,eAAuB;AAAA,8BACvB,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAA2B,gBAA3B;AAAA,0BAAiB;AAAA,eAAU;AAAA;AAAA,WAC1B;AAAA,UAEF,gBAAgB,CAAC,2BACjB,OAA4B,gBAA5B;AAAA,sBAA4B;AAAA,cAA5B;AAAA,cAAkB;AAAA;AAAA,WAAU;AAAA;AAAA,OAE5B;AAAA,MAED,cAAc,gBAAgB,gCAC9B,MAAC,kBAAD;AAAA,QAAkB,OAAO;AAAA,QAAc,OAAO;AAAA,QAAY,WAAS;AAAA,OAAC;AAAA,MAGpE,cACA,CAAC,gBACD,cAAc,WACd,kBAAkB;AAAA,MAClB,cACA,CAAC,gBACD,cAAc,UACd,iBAAiB;AAAA,MACjB,cACA,CAAC,gBACD,cAAc,UACd,iBAAiB;AAAA,MACjB,cACA,CAAC,gBACD,cAAc,WACd,kBAAkB;AAAA;AAAA,GAClB;AAAA;;;AEhPJ;AACA,kBAAS;AACT;AAAA,WACC;AAAA,iBACA;AAAA;;AAeD,SAAS,gBAAgB,CAAC,UAAoD;AAAA,EAC7E,MAAM,MAAM,SAAS,QAAQ,IAAI;AAAA,EACjC,IAAI,QAAQ;AAAA,IAAI,OAAO,EAAE,QAAQ,IAAI,MAAM,SAAS;AAAA,EACpD,OAAO,EAAE,QAAQ,SAAS,MAAM,GAAG,GAAG,GAAG,MAAM,SAAS,MAAM,MAAM,CAAC,EAAE;AAAA;AAGjE,SAAS,SAAS,CAAC,MAAuB;AAAA,EAChD,OAAO,KAAK,SAAS,IAAI;AAAA;AAGnB,SAAS,eAAe;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACwB;AAAA,EACxB,QAAQ,QAAQ,SAAS,iBAAiB,QAAQ;AAAA,EAClD,MAAM,SAAS,YAAY,UAAU,CAAC;AAAA,EACtC,MAAM,OAAO,YAAY,QAAQ,CAAC;AAAA,EAClC,MAAM,UAAU,eAAe,cAAc;AAAA,EAC7C,MAAM,cAAc,UAAU,gBAAgB,UAAU,SAAS,MAAM,IACpE,eACA;AAAA,EAEH,MAAM,eACL,OAAO,WAAW,YAAY,QAAQ,UAAU,OAAO,OAAO;AAAA,EAC/D,MAAM,eACL,gBAAgB,WAAW,UAAU,OAAO,OAAO,UAAU,WAC1D,OAAO,QACP,OAAO,YAAY,UAAU,WAC3B,YAAY,QACb;AAAA,EACL,MAAM,aACL,gBAAgB,WAAW,UAAU,OAAO,OAAO,UAAU,WAC1D,OAAO,QACP;AAAA,EAEJ,MAAM,gBACL,OAAO,OAAO,WAAW,WACtB,OAAO,SACP,OAAO,UAAU,OAAO,OAAO,WAAW,WACzC,KAAK,UAAU,OAAO,QAAQ,MAAM,CAAC,IACrC;AAAA,EAEL,MAAM,SAAS,MAAM,QAAQ,OAAO,MAAM,IACtC,OAAO,SACR,CAAC;AAAA,EACJ,MAAM,YAAY,OAAO,SAAS;AAAA,EAClC,MAAM,aACL,CAAC,iBACA,iBAAiB,OAAO,KAAK,MAAM,EAAE,SAAS,KAAK;AAAA,EACrD,MAAM,gBAAgB,iBAAiB,KAAK,UAAU,QAAQ,MAAM,CAAC;AAAA,EACrE,MAAM,eACL,cAAc,WAAW,GAAG,KAAK,cAAc,WAAW,GAAG;AAAA,EAE9D,MAAM,cAAc,OAAO,QAAQ,IAA+B,EAChE,MAAM,GAAG,CAAC,EACV,IAAI,EAAE,GAAG,OAAO;AAAA,IAChB,MAAM,MACL,OAAO,MAAM,WACV,EAAE,SAAS,KACV,GAAG,EAAE,MAAM,GAAG,EAAE,OAChB,IACD,KAAK,UAAU,CAAC;AAAA,IACpB,OAAO,GAAG,KAAK;AAAA,GACf,EACA,KAAK,IAAI;AAAA,EAEX,MAAM,aAAa,SAAS,GAAG,YAAW,SAAS;AAAA,EAEnD,uBACC,OAqEE,OArEF;AAAA,IAAK,WAAU;AAAA,IAAf,UAqEE;AAAA,sBApED,OAgCE,YAhCF;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA,SAAS,CAAC,CAAC;AAAA,QACX,cAAa;AAAA,QACb,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC,gBAAgB;AAAA,QAN9C,UAgCE;AAAA,UAxBA,CAAC,WAAW,+BACZ;AAAA,sBAKE;AAAA,8BAJD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UACE;AAAA,eACA;AAAA;AAAA,WACD;AAAA,UAEF,CAAC,gBAAgB,CAAC,2BAClB;AAAA,sBAKE;AAAA,8BAJD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAAuB,mBAAvB;AAAA;AAAA,eAAuB;AAAA,8BACvB,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAA2B,gBAA3B;AAAA,0BAAiB;AAAA,eAAU;AAAA;AAAA,WAC1B;AAAA,UAEF,gBAAgB,CAAC,2BACjB;AAAA,sBAKE;AAAA,8BAJD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAAwB,iBAAxB;AAAA;AAAA,eAAwB;AAAA,8BACxB,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAA2B,gBAA3B;AAAA,0BAAiB;AAAA,eAAU;AAAA;AAAA,WAC1B;AAAA;AAAA,OAEF;AAAA,MAED,cAAc,gBAAgB,gCAC9B,MAAC,kBAAD;AAAA,QAAkB,OAAO;AAAA,QAAc,OAAO;AAAA,QAAY,WAAS;AAAA,OAAC;AAAA,MAGpE,cAAc,CAAC,gBAAgB,8BAC/B,OA2BE,OA3BF;AAAA,QAAK,WAAU;AAAA,QAAf,UA2BE;AAAA,UA1BA,6BAAa,MAAC,cAAD;AAAA,YAAc;AAAA,WAAgB;AAAA,UAC3C,iBAAiB,CAAC,6BAClB,MAsBE,gBAtBF;AAAA,YACC,OAAM;AAAA,YACN,sBAAM,MAAC,MAAD;AAAA,cAAM,WAAU;AAAA,aAAU;AAAA,YAChC,UAAU;AAAA,YACV,WAAU;AAAA,YAJX,0BAMC,MAeE,oBAfF;AAAA,cACC,UAAU,eAAe,SAAS;AAAA,cAClC,OAAO;AAAA,cACP,aAAa;AAAA,gBACZ,QAAQ;AAAA,gBACR,SAAS;AAAA,gBACT,UAAU;AAAA,gBACV,YAAY;AAAA,gBACZ,YAAY;AAAA,gBACZ,UAAU;AAAA,cACX;AAAA,cACA,WAAS;AAAA,cACT,eAAa;AAAA,cAZd,UAcE;AAAA,aACA;AAAA,WACD;AAAA;AAAA,OAEF;AAAA;AAAA,GAEF;AAAA;;;ACjKJ,iBAAS,gBAAM,aAAO;;AAWf,SAAS,oBAAoB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACwB;AAAA,EACxB,MAAM,SAAU,YAAY,UAAU,CAAC;AAAA,EACvC,MAAM,OAAQ,YAAY,QAAQ,CAAC;AAAA,EACnC,MAAM,UAAU,eAAe,cAAc;AAAA,EAE7C,MAAM,YAAY,MAAM,QAAQ,KAAK,KAAK,IAAK,KAAK,QAAqB,CAAC;AAAA,EAC1E,MAAM,SAAS,MAAM,QAAQ,OAAO,MAAM,IACtC,OAAO,SACR,CAAC;AAAA,EACJ,MAAM,WAAW,MAAM,QAAQ,OAAO,QAAQ,IAC1C,OAAO,WACR,CAAC;AAAA,EACJ,MAAM,WAAW,OAAO,OAAO;AAAA,EAC/B,MAAM,aAAa,OAAO,SAAS,KAAK,SAAS,SAAS;AAAA,EAE1D,uBACC,OAsDE,OAtDF;AAAA,IAAK,WAAU;AAAA,IAAf,UAsDE;AAAA,sBArDD,OAgCE,YAhCF;AAAA,QACC,UAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,cAAa;AAAA,QACb,WAAW;AAAA,QANZ,UAgCE;AAAA,UAxBA,CAAC,2BACD;AAAA,sBAKE;AAAA,8BAJD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBADA,UAAU;AAAA,kBADZ;AAAA,kBACyB,UAAU,WAAW,IAAI,MAAM;AAAA;AAAA,eACtD;AAAA;AAAA,WACD;AAAA,UAEF,CAAC,YAAY,CAAC,2BACd;AAAA,sBAKE;AAAA,8BAJD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,OAA2C,mBAA3C;AAAA,0BAA2C;AAAA,kBAAvB,OAAO;AAAA,kBAA3B;AAAA;AAAA,eAA2C;AAAA,8BAC3C,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAA2B,gBAA3B;AAAA,0BAAiB;AAAA,eAAU;AAAA;AAAA,WAC1B;AAAA,UAEF,YAAY,CAAC,2BACb;AAAA,sBAKE;AAAA,8BAJD,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAAwB,iBAAxB;AAAA;AAAA,eAAwB;AAAA,8BACxB,MAAC,qBAAD,EAAqB;AAAA,8BACrB,MAA2B,gBAA3B;AAAA,0BAAiB;AAAA,eAAU;AAAA;AAAA,WAC1B;AAAA;AAAA,OAEF;AAAA,MAED,cAAc,8BACd,OAgBE,OAhBF;AAAA,QAAK,WAAU;AAAA,QAAf,UAgBE;AAAA,UAfA,OAAO,IAAI,CAAC,yBACZ,OAIE,OAJF;AAAA,YAAgB,WAAU;AAAA,YAA1B,UAIE;AAAA,8BAHD,MAAC,QAAD;AAAA,gBAAO,WAAU;AAAA,eAAyB;AAAA,8BAC1C,MAAC,OAAD;AAAA,gBAAM,WAAU;AAAA,eAA0B;AAAA,8BAC1C,MAAuD,QAAvD;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAAgD;AAAA,eAAO;AAAA;AAAA,aAH9C,IAIR,CACF;AAAA,UACA,SAAS,IAAI,CAAC,yBACd,OAKE,OALF;AAAA,YAAgB,WAAU;AAAA,YAA1B,UAKE;AAAA,8BAJD,MAAC,IAAD;AAAA,gBAAG,WAAU;AAAA,eAAuB;AAAA,8BACpC,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UACE;AAAA,eACA;AAAA;AAAA,aAJO,IAKR,CACF;AAAA;AAAA,OACA;AAAA;AAAA,GAEF;AAAA;;;ACvFJ;AAAA,kBACC;AAAA,iBACA;AAAA;AAAA,cAEA;AAAA;AAAA;;AAkBM,SAAS,aAAa;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACiB;AAAA,EACjB,MAAM,SAAS,YAAY,UAAU,CAAC;AAAA,EACtC,MAAM,UAAU,eAAe,cAAc;AAAA,EAE7C,MAAM,eACL,OAAO,WAAW,YAAY,QAAQ,UAAU,OAAO,OAAO;AAAA,EAC/D,MAAM,eACL,gBAAgB,WAAW,UAAU,OAAO,OAAO,UAAU,WAC1D,OAAO,QACP;AAAA,EAEJ,MAAM,OAAQ,OAAmC;AAAA,EACjD,MAAM,cAAe,OAAmC;AAAA,EAGxD,MAAM,UAAW,OAAmC;AAAA,EAGpD,MAAM,QAAS,OAAmC;AAAA,EAClD,MAAM,iBAAkB,OAAmC;AAAA,EAG3D,MAAM,kBAAmB,OAAmC;AAAA,EAI5D,MAAM,YAAY,aAAa,WAAW,WAAW;AAAA,EACrD,MAAM,YAAY,gBAAgB,UAAU;AAAA,EAC5C,MAAM,cAAc,iBAAiB,UAAU;AAAA,EAC/C,MAAM,YAAY,CAAC,CAAC,WAAW;AAAA,EAE/B,uBACC,OAqHE,OArHF;AAAA,IAAK,WAAU;AAAA,IAAf,UAqHE;AAAA,sBApHD,OAyDE,UAzDF;AAAA,QACC,MAAK;AAAA,QACL,SAAS,MAAM,aAAa,SAAS;AAAA,QACrC,WAAW,4DACV,eACG,8EACA,YACC,0FACA;AAAA,QARN,UAyDE;AAAA,UA9CA,4BACA,MAAC,eAAD;AAAA,YACC,WAAW,8CAA8C,aAAa,cAAc;AAAA,WACrF,oBAEA,MAAC,OAAD;AAAA,YAAK,WAAU;AAAA,WAAoB;AAAA,UAEnC,gCACA,MAAC,cAAD;AAAA,YAAa,WAAU;AAAA,WAAuD;AAAA,UAE9E,4BACA,MAAC,WAAD;AAAA,YAAU,WAAU;AAAA,WAAwB,oBAE5C,MAAC,UAAD;AAAA,YAAU,WAAU;AAAA,WAAwB;AAAA,0BAE7C,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACO,eAAe,WAAW;AAAA;AAAA,WAC/B;AAAA,UACD,QAAQ,CAAC,2BACT;AAAA,sBAKE;AAAA,8BAJD,MAA2D,QAA3D;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAA2D;AAAA,8BAC3D,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UACE,YAAY,aAAa,QAAQ,cAAc,EAAE,IAAI;AAAA,eACrD;AAAA;AAAA,WACD;AAAA,UAEF,SAAS,CAAC,WAAW,CAAC,6BACtB,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACG;AAAA;AAAA,WACD;AAAA,UAEF,YAAY,KAAK,CAAC,2BAClB,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACG;AAAA,cADH;AAAA,cACmB,cAAc,IAAI,MAAM;AAAA;AAAA,WACzC;AAAA,UAEF,cAAc,KAAK,CAAC,2BACpB,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,8BACE,MAAC,aAAD;AAAA,gBAAa,WAAU;AAAA,eAAiB;AAAA,cAD1C;AAAA,cAC8C;AAAA;AAAA,WAC5C;AAAA,UAEF,WAAW,CAAC,2BACZ,OAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UAEE;AAAA,cAFF;AAAA,cACG;AAAA;AAAA,WACD;AAAA;AAAA,OAEF;AAAA,MACD,cAAc,gBAAgB,gCAC9B,MAAC,kBAAD;AAAA,QAAkB,OAAO;AAAA,OAAc;AAAA,MAEvC,cAAc,CAAC,gCACf,OAoDE,OApDF;AAAA,QAAK,WAAU;AAAA,QAAf,UAoDE;AAAA,UAnDA,cAAc,KAAK,mCACnB,OAgBE,OAhBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAgBE;AAAA,8BAfD,OAGE,OAHF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAGE;AAAA,kCAFD,MAAC,aAAD;AAAA,oBAAa,WAAU;AAAA,mBAAU;AAAA,kBADlC;AAAA,kBAEiB,cAAc,IAAI,MAAM;AAAA;AAAA,eACvC;AAAA,cACD,gBAAgB,IAAI,CAAC,QAAQ,sBAC7B,OAQE,OARF;AAAA,gBAEC,WAAU;AAAA,gBAFX,UAQE;AAAA,kCAJD,MAEE,QAFF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UACE,OAAO;AAAA,mBACP;AAAA,kBAAM;AAAA,kBACP,OAAO;AAAA;AAAA,iBANH,GAAG,OAAO,QAAQ,OAAO,QAAQ,GAOrC,CACF;AAAA;AAAA,WACA;AAAA,UAEF,eAAe,CAAC,6BAChB,MAA2D,KAA3D;AAAA,YAAG,WAAU;AAAA,YAAb,UAA6C;AAAA,WAAc;AAAA,UAE3D,2BACA,MAIE,OAJF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE;AAAA,aACA;AAAA,WACD;AAAA,UAEF,YAAY,KAAK,kCACjB,OAmBE,WAnBF;AAAA,YAAS,WAAU;AAAA,YAAnB,UAmBE;AAAA,8BAlBD,OAEE,WAFF;AAAA,gBAAS,WAAU;AAAA,gBAAnB,UAEE;AAAA,kBADA;AAAA,kBADF;AAAA,kBACgC,cAAc,IAAI,MAAM;AAAA;AAAA,eACtD;AAAA,8BACF,MAcE,OAdF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UACE,eAAe,IAAI,CAAC,sBACpB,OAUE,OAVF;AAAA,kBAEC,WAAU;AAAA,kBAFX,UAUE;AAAA,oCAND,MAEE,QAFF;AAAA,sBAAM,WAAU;AAAA,sBAAhB,UACE,EAAE;AAAA,qBACF;AAAA,oCACF,MAEE,QAFF;AAAA,sBAAM,WAAU;AAAA,sBAAhB,UACE,eAAe,EAAE,IAAI;AAAA,qBACrB;AAAA;AAAA,mBARG,EAAE,YASN,CACF;AAAA,eACA;AAAA;AAAA,WACD;AAAA;AAAA,OAEF;AAAA;AAAA,GAEF;AAAA;AAIJ,SAAS,cAAc,CAAC,OAAuB;AAAA,EAC9C,IAAI,QAAQ;AAAA,IAAM,OAAO,GAAG;AAAA,EAC5B,MAAM,KAAK,QAAQ;AAAA,EACnB,IAAI,KAAK;AAAA,IAAM,OAAO,GAAG,GAAG,QAAQ,CAAC;AAAA,EACrC,OAAO,IAAI,KAAK,MAAM,QAAQ,CAAC;AAAA;;ACzLhC,qBAAS,sBAAU,sBAAQ;AAC3B,wBAAS,8BAAa;AAAA;AAOf,SAAS,iBAAiB,GAAG,QAAgC;AAAA,EACnE,OAAO,YAAY,iBAAiB,WAAS,IAAI;AAAA,EACjD,MAAM,YAAY,QAAuB,IAAI;AAAA,EAC7C,MAAM,eAAe,QAAO,KAAK;AAAA,EACjC,IAAI,UAAU;AAAA,EACd,MAAM,OAAO,KAAK,eAAe,KAAK;AAAA,EACtC,IAAI,QAAQ,OAAO,SAAS,YAAY,UAAU,MAAM;AAAA,IACvD,UAAU,OAAO,KAAK,IAAI;AAAA,EAC3B,EAAO,SAAI,OAAO,SAAS,UAAU;AAAA,IACpC,UAAU;AAAA,EACX;AAAA,EAGA,YAAU,MAAM;AAAA,IACf,IACC,UAAU,WACV,cACA,CAAC,KAAK,eACN,CAAC,aAAa,SACb;AAAA,MACD,UAAU,QAAQ,YAAY,UAAU,QAAQ;AAAA,IACjD;AAAA,KACE,CAAC,SAAS,YAAY,KAAK,WAAW,CAAC;AAAA,EAE1C,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,GAAG;AAAA,IAChC,OAAO;AAAA,EACR;AAAA,EAEA,uBACC,OAmCE,OAnCF;AAAA,IAAK,WAAU;AAAA,IAAf,UAmCE;AAAA,sBAlCD,OAgBE,UAhBF;AAAA,QACC,MAAK;AAAA,QACL,SAAS,MAAM,cAAc,CAAC,UAAU;AAAA,QACxC,WAAU;AAAA,QAHX,UAgBE;AAAA,UAXA,6BACA,MAAC,cAAD;AAAA,YAAa,WAAU;AAAA,WAAwB,oBAE/C,MAAC,eAAD;AAAA,YAAc,WAAU;AAAA,WAAwB;AAAA,0BAEjD,MAAyC,QAAzC;AAAA,YAAM,WAAU;AAAA,YAAhB;AAAA,WAAyC;AAAA,UACxC,CAAC,KAAK,+BACN,MAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB;AAAA,WAEE;AAAA;AAAA,OAEF;AAAA,MACD,8BACA,MAcE,OAdF;AAAA,QACC,KAAK;AAAA,QACL,WAAU;AAAA,QACV,MAAK;AAAA,QACL,cAAc,MAAM;AAAA,UACnB,aAAa,UAAU;AAAA;AAAA,QAExB,cAAc,MAAM;AAAA,UACnB,aAAa,UAAU;AAAA;AAAA,QARzB,0BAWC,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,UACE;AAAA,SACA;AAAA,OACD;AAAA;AAAA,GAEF;AAAA;;;;A/B9BJ,IAAM,oBAA4C;AAAA,EACjD,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,KAAK;AAAA,EAEL,MAAM;AAAA,EACN,MAAM;AAAA,EAEN,MAAM;AAAA,EACN,UAAU;AAAA,EAEV,WAAW;AAAA,EACX,SAAS;AAAA,EACT,WAAW;AAAA,EAEX,YAAY;AAAA,EAEZ,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EAER,WAAW;AAAA,EAEX,cAAc;AAAA,EAEd,OAAO;AACR;AAEA,SAAS,iBAAiB,CAAC,MAAsB;AAAA,EAChD,OAAO,kBAAkB,SAAS;AAAA;AAGnC,IAAM,4BAA4B,IAAI,IAAI;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAEM,SAAS,kBAAkB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAC2B;AAAA,EAC3B,OAAO,YAAY,iBAAiB,WAAS,KAAK;AAAA,EAClD,MAAM,iBAAiB,kBAAkB,QAAQ;AAAA,EACjD,MAAM,kBACL,WAAW,CAAC,0BAA0B,IAAI,cAAc;AAAA,EAEzD,MAAM,eAAe,MAAM,cAAc,CAAC,UAAU;AAAA,EAEpD,MAAM,QAAQ;AAAA,IACb;AAAA,IACA,gBAAgB,kBAAkB;AAAA,IAClC;AAAA,IACA,UAAU;AAAA,IACV,SAAS;AAAA,EACV;AAAA,EAEA,IAAI,OAAO;AAAA,IACV,uBAAO,MAAC,eAAD;AAAA,SAAmB;AAAA,MAAO;AAAA,KAAoB;AAAA,EACtD;AAAA,EAEA,QAAQ;AAAA,SACF;AAAA,MACJ,uBAAO,MAAC,cAAD;AAAA,WAAkB;AAAA,OAAO;AAAA,SAC5B;AAAA,MACJ,uBAAO,MAAC,eAAD;AAAA,WAAmB;AAAA,OAAO;AAAA,SAC7B;AAAA,MACJ,uBAAO,MAAC,cAAD;AAAA,WAAkB;AAAA,OAAO;AAAA,SAC5B;AAAA,MACJ,uBAAO,MAAC,cAAD;AAAA,WAAkB;AAAA,OAAO;AAAA,SAC5B;AAAA,MACJ,uBAAO,MAAC,mBAAD;AAAA,WAAuB;AAAA,OAAO;AAAA,SACjC;AAAA,MACJ,uBAAO,MAAC,iBAAD;AAAA,WAAqB;AAAA,OAAO;AAAA,SAC/B;AAAA,MACJ,uBAAO,MAAC,mBAAD;AAAA,WAAuB;AAAA,OAAO;AAAA,SACjC;AAAA,MACJ,uBAAO,MAAC,oBAAD;AAAA,WAAwB;AAAA,OAAO;AAAA,SAClC;AAAA,MACJ,uBAAO,MAAC,kBAAD;AAAA,WAAsB;AAAA,OAAO;AAAA,SAChC;AAAA,MACJ,uBAAO,MAAC,cAAD;AAAA,WAAkB;AAAA,OAAO;AAAA,SAC5B;AAAA,MACJ,uBAAO,MAAC,cAAD;AAAA,WAAkB;AAAA,OAAO;AAAA,SAC5B;AAAA,SACA;AAAA,SACA;AAAA,MACJ,uBAAO,MAAC,gBAAD;AAAA,WAAoB;AAAA,OAAO;AAAA,SAC9B;AAAA,MACJ,uBAAO,MAAC,mBAAD;AAAA,WAAuB;AAAA,OAAO;AAAA,SACjC;AAAA,MACJ,uBAAO,MAAC,gBAAD;AAAA,WAAoB;AAAA,OAAO;AAAA,SAC9B;AAAA,SACA;AAAA,MACJ,uBAAO,MAAC,eAAD;AAAA,WAAmB;AAAA,OAAO;AAAA,SAC7B;AAAA,MACJ,uBAAO,MAAC,wBAAD;AAAA,WAA4B;AAAA,OAAO;AAAA,SACtC;AAAA,MACJ,uBAAO,MAAC,sBAAD;AAAA,WAA0B;AAAA,QAAO;AAAA,OAAoB;AAAA,SACxD;AAAA,MACJ,uBAAO,MAAC,eAAD;AAAA,WAAmB;AAAA,OAAO;AAAA,SAC7B;AAAA,MACJ,uBACC,MAAC,eAAD;AAAA,WACK;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,OACD;AAAA,SAEG;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,MACJ,uBACC,MAAC,sBAAD;AAAA,QACC;AAAA,WACI;AAAA,QACJ;AAAA,OACD;AAAA;AAAA,MAGD,IAAI,UAAU,cAAc,GAAG;AAAA,QAC9B,uBAAO,MAAC,iBAAD;AAAA,aAAqB;AAAA,UAAO;AAAA,SAAoB;AAAA,MACxD;AAAA,MACA,uBAAO,MAAC,iBAAD;AAAA,WAAqB;AAAA,QAAO;AAAA,OAAoB;AAAA;AAAA;;;;AHjJ1D,SAAS,kBAAkB,CAAC,MAAmD;AAAA,EAC9E,MAAM,WAAW,KAAK;AAAA,EACtB,IAAI,YAAY,OAAO,aAAa,UAAU;AAAA,IAC7C,OAAO;AAAA,EACR;AAAA,EACA,IAAI;AAAA,IACH,IAAI,KAAK,SAAS;AAAA,MACjB,MAAM,SAAS,KAAK,MAAM,KAAK,OAAO;AAAA,MACtC,IAAI,UAAU,OAAO,WAAW,YAAY,CAAC,MAAM,QAAQ,MAAM,GAAG;AAAA,QACnE,OAAO;AAAA,MACR;AAAA,IACD;AAAA,IACC,MAAM;AAAA,EACR,OAAO;AAAA;AAGR,SAAS,eAAe,CACvB,MACsC;AAAA,EACtC,MAAM,UAAU,mBAAmB,IAAI;AAAA,EACvC,IAAI,CAAC;AAAA,IAAS;AAAA,EAEd,MAAM,OAAQ,QAA+B;AAAA,EAC7C,IAAI,QAAQ,OAAO,SAAS,YAAY,CAAC,MAAM,QAAQ,IAAI,GAAG;AAAA,IAC7D,OAAO;AAAA,EACR;AAAA,EAEA;AAAA;AAGD,SAAS,kBAAiB,CACzB,MACgB;AAAA,EAChB,IAAI,CAAC;AAAA,IAAM,OAAO;AAAA,EAClB,MAAM,aAAa,CAAC,OAAO,WAAW,UAAU,OAAO;AAAA,EACvD,WAAW,OAAO,YAAY;AAAA,IAC7B,MAAM,QAAQ,KAAK;AAAA,IACnB,IAAI,OAAO,UAAU,YAAY,MAAM,KAAK,EAAE,SAAS,GAAG;AAAA,MACzD,OAAO,MAAM,KAAK;AAAA,IACnB;AAAA,EACD;AAAA,EACA,OAAO;AAAA;AAGR,SAAS,uBAAuB,CAAC,OAA8B;AAAA,EAC9D,MAAM,QAAQ,MAAM,MACnB,sDACD;AAAA,EACA,OAAO,QAAQ,IAAI,KAAK,KAAK;AAAA;AAG9B,SAAS,oBAAmB,CAC3B,UACA,MACwC;AAAA,EACxC,IAAI,CAAC;AAAA,IAAM,OAAO;AAAA,EAClB,MAAM,aAAa;AAAA,IAClB,EAAE,KAAK,QAAQ,OAAO,KAAK;AAAA,IAC3B,EAAE,KAAK,QAAQ,OAAO,KAAK;AAAA,IAC3B,EAAE,KAAK,UAAU,OAAO,KAAK;AAAA,IAC7B,EAAE,KAAK,OAAO,OAAO,KAAK;AAAA,IAC1B,EAAE,KAAK,SAAS,OAAO,KAAK;AAAA,IAC5B,EAAE,KAAK,WAAW,OAAO,KAAK;AAAA,IAC9B,EAAE,KAAK,QAAQ,OAAO,KAAK;AAAA,IAC3B,EAAE,KAAK,OAAO,OAAO,KAAK;AAAA,EAC3B;AAAA,EACA,aAAa,SAAS,YAAY;AAAA,IACjC,MAAM,QAAQ,KAAK;AAAA,IACnB,IAAI,OAAO,UAAU,YAAY,MAAM,KAAK,EAAE,SAAS,GAAG;AAAA,MACzD,OAAO,EAAE,KAAK,OAAO,MAAM,KAAK,EAAE;AAAA,IACnC;AAAA,EACD;AAAA,EACA,IAAI,aAAa,QAAQ;AAAA,IACxB,MAAM,UAAU,KAAK;AAAA,IACrB,IAAI,OAAO,YAAY,YAAY,QAAQ,KAAK,EAAE,SAAS,GAAG;AAAA,MAC7D,OAAO,EAAE,KAAK,WAAW,OAAO,QAAQ,KAAK,EAAE;AAAA,IAChD;AAAA,EACD;AAAA,EACA,IAAI,aAAa,eAAe;AAAA,IAC/B,MAAM,QAAQ,KAAK;AAAA,IACnB,IAAI,OAAO,UAAU,YAAY,MAAM,KAAK,EAAE,SAAS,GAAG;AAAA,MACzD,MAAM,SAAS,wBAAwB,KAAK;AAAA,MAC5C,IAAI,QAAQ;AAAA,QACX,OAAO,EAAE,KAAK,SAAS,OAAO,OAAO;AAAA,MACtC;AAAA,IACD;AAAA,EACD;AAAA,EACA,OAAO;AAAA;AAGR,SAAS,iBAAiB,CACzB,MACA,SACgB;AAAA,EAChB,IAAI,CAAC;AAAA,IAAM,OAAO;AAAA,EAClB,MAAM,SAAmB,CAAC;AAAA,EAC1B,YAAY,KAAK,UAAU,OAAO,QAAQ,IAAI,GAAG;AAAA,IAChD,IAAI,WAAW,QAAQ;AAAA,MAAS;AAAA,IAChC,IAAI,OAAO,UAAU,YAAY,OAAO,UAAU,UAAU;AAAA,MAC3D,MAAM,WAAW,GAAG,OAAO,OAAO,KAAK;AAAA,MACvC,OAAO,KAAK,QAAQ;AAAA,IACrB;AAAA,IACA,IAAI,OAAO,UAAU;AAAA,MAAG;AAAA,EACzB;AAAA,EACA,IAAI,CAAC,OAAO;AAAA,IAAQ,OAAO;AAAA,EAC3B,MAAM,SAAS,OAAO,KAAK,IAAI;AAAA,EAC/B,OAAO,OAAO,SAAS,MAAM,GAAG,OAAO,MAAM,GAAG,GAAG,OAAM;AAAA;AAmBnD,IAAM,kBAAkB,MAC9B,SAAS,gBAAe;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACwB;AAAA,EAGxB,IAAI,KAAK,SAAS,aAAa;AAAA,IAC9B,MAAM,WAAW,KAAK,YAAY;AAAA,IAClC,IAAI,aAAa;AAAA,MAAmB,OAAO;AAAA,IAC3C,IAAI,CAAC,kBAAkB,CAAC;AAAA,MAAiB,OAAO;AAAA,EACjD;AAAA,EAEA,IACC,KAAK,SAAS,iBACd,KAAK,aAAa,qBAClB,CAAC,sBACA;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,KAAK,SAAS,QAAQ;AAAA,IACzB,MAAM,OAAO,KAAK,eAAe,KAAK;AAAA,IACtC,IAAI,UAAU;AAAA,IACd,IAAI,QAAQ,OAAO,SAAS,YAAY,UAAU,MAAM;AAAA,MACvD,UAAU,OAAO,KAAK,IAAI;AAAA,IAC3B,EAAO,SAAI,OAAO,SAAS,UAAU;AAAA,MACpC,UAAU;AAAA,IACX;AAAA,IACA,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,GAAG;AAAA,MAChC,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EAEA,IAAI,KAAK,SAAS,aAAa;AAAA,IAC9B,MAAM,OAAO,KAAK,eAAe,KAAK;AAAA,IACtC,IAAI,UAAU;AAAA,IACd,IAAI,QAAQ,OAAO,SAAS,YAAY,UAAU,MAAM;AAAA,MACvD,UAAU,OAAO,KAAK,IAAI;AAAA,IAC3B,EAAO,SAAI,OAAO,SAAS,UAAU;AAAA,MACpC,UAAU;AAAA,IACX;AAAA,IACA,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,GAAG;AAAA,MAChC,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EAEA,MAAM,gBACL,KAAK,SAAS,eAAe,KAAK,SAAS;AAAA,EAE5C,MAAM,iBAAiB,CAAC,UAAU,WAAW,YAAY;AAAA,EAEzD,IAAI,iBAAiB,KAAK,SAAS,aAAa;AAAA,IAC/C,eAAe,KAAK,UAAU,WAAW,MAAM;AAAA,EAChD,EAAO,SAAI,KAAK,SAAS,SAAS;AAAA,IACjC,eAAe,KAAK,QAAQ;AAAA,EAC7B,EAAO,SAAI,KAAK,SAAS,QAAQ;AAAA,IAChC,eAAe,KAAK,MAAM;AAAA,IAC1B,eAAe,KAAK,SAAS;AAAA,EAC9B,EAAO;AAAA,IACN,eAAe,KAAK,MAAM;AAAA;AAAA,EAG3B,MAAM,mBAAmB,eAAe,KAAK,GAAG;AAAA,EAEhD,MAAM,aAAa,MAAM;AAAA,IACxB,IAAI,KAAK,SAAS,aAAa;AAAA,MAC9B,uBACC,MAAC,QAAD;AAAA,QAAO,WAAU;AAAA,OAA+C;AAAA,IAElE;AAAA,IAEA,IAAI,KAAK,SAAS,aAAa;AAAA,MAC9B,uBACC,MAAC,UAAD;AAAA,QAAS,WAAU;AAAA,OAA0D;AAAA,IAE/E;AAAA,IAEA,IAAI,KAAK,SAAS,SAAS;AAAA,MAC1B,MAAM,UAAU,mBAAmB,IAAI;AAAA,MACvC,MAAM,YAAY,SAAS,cAAc;AAAA,MACzC,OAAO,4BACN,MAAC,UAAD;AAAA,QAAU,WAAU;AAAA,OAA6C,oBAEjE,MAAC,cAAD;AAAA,QAAa,WAAU;AAAA,OAAyC;AAAA,IAElE;AAAA,IAEA,IAAI,KAAK,SAAS,eAAe;AAAA,MAChC,MAAM,WAAW,KAAK,YAAY;AAAA,MAClC,IAAI,aAAa;AAAA,QAChB,uBACC,MAAC,WAAD;AAAA,UAAU,WAAU;AAAA,SAA2C;AAAA,MAEjE,IAAI,aAAa;AAAA,QAChB,uBACC,MAAC,WAAD;AAAA,UAAU,WAAU;AAAA,SAAiD;AAAA,MAEvE,IAAI,aAAa;AAAA,QAChB,uBACC,MAAC,WAAD;AAAA,UAAU,WAAU;AAAA,SAA+C;AAAA,MAErE,IAAI,aAAa;AAAA,QAChB,uBAAO,MAAC,MAAD;AAAA,UAAM,WAAU;AAAA,SAA2C;AAAA,MACnE,IAAI,aAAa;AAAA,QAChB,uBACC,MAAC,aAAD;AAAA,UAAY,WAAU;AAAA,SAA2C;AAAA,MAEnE,IAAI,aAAa;AAAA,QAChB,uBAAO,MAAC,WAAD;AAAA,UAAU,WAAU;AAAA,SAAgC;AAAA,MAC5D,IACC,aAAa,aACb,aAAa,UACb,aAAa;AAAA,QAEb,uBACC,MAAC,SAAD;AAAA,UAAQ,WAAU;AAAA,SAA6C;AAAA,MAEjE,IAAI,aAAa;AAAA,QAChB,uBACC,MAAC,MAAD;AAAA,UAAM,WAAU;AAAA,SAA+C;AAAA,MAEjE,IAAI,aAAa;AAAA,QAChB,uBACC,MAAC,YAAD;AAAA,UAAW,WAAU;AAAA,SAA2C;AAAA,MAElE,IAAI,aAAa;AAAA,QAChB,uBACC,MAAC,MAAD;AAAA,UAAM,WAAU;AAAA,SAA+C;AAAA,MAEjE,IAAI,aAAa;AAAA,QAChB,uBACC,MAAC,YAAD;AAAA,UAAW,WAAU;AAAA,SAAiD;AAAA,MAExE,IAAI,aAAa;AAAA,QAChB,uBACC,MAAC,QAAD;AAAA,UAAO,WAAU;AAAA,SAAiD;AAAA,MAEpE,IACC,aAAa,oBACb,aAAa,oBACb,aAAa,oBACb,aAAa,yBACb,aAAa;AAAA,QAEb,uBACC,MAAC,UAAD;AAAA,UAAU,WAAU;AAAA,SAA2C;AAAA,MAEjE,IAAI,aAAa;AAAA,QAChB,uBACC,MAAC,WAAD;AAAA,UAAU,WAAU;AAAA,SAA6C;AAAA,MAEnE,IAAI,aAAa;AAAA,QAChB,uBACC,MAAC,WAAD;AAAA,UAAU,WAAU;AAAA,SAA+C;AAAA,MAErE,IAAI,SAAS,SAAS,IAAI;AAAA,QACzB,uBACC,MAAC,OAAD;AAAA,UAAM,WAAU;AAAA,SAA+C;AAAA,MAEjE,uBAAO,MAAC,WAAD;AAAA,QAAU,WAAU;AAAA,OAAgC;AAAA,IAC5D;AAAA,IAEA,uBACC,MAAC,WAAD;AAAA,MAAU,WAAU;AAAA,KAA+C;AAAA;AAAA,EAIrE,MAAM,mBAAmB,MAAM;AAAA,IAC9B,MAAM,WAAW,KAAK,YAAY;AAAA,IAElC,IAAI;AAAA,IACJ,IAAI;AAAA,MACH,IAAI,KAAK,eAAe,OAAO,KAAK,gBAAgB,UAAU;AAAA,QAC7D,cAAc,KAAK;AAAA,MACpB,EAAO,SAAI,OAAO,KAAK,YAAY,UAAU;AAAA,QAC5C,cAAc,KAAK,MAAM,KAAK,OAAO;AAAA,MACtC,EAAO;AAAA,QACN,cAAc,CAAC;AAAA;AAAA,MAEf,MAAM;AAAA,MACP,cAAc,EAAE,QAAQ,KAAK,QAAQ;AAAA;AAAA,IAGtC,uBACC,MAAC,oBAAD;AAAA,MACC;AAAA,MACA;AAAA,MACA,gBAAgB,KAAK;AAAA,MACrB,OAAO;AAAA,MACP;AAAA,MACA;AAAA,KACD;AAAA;AAAA,EAIF,MAAM,gBAAgB,MAAM;AAAA,IAC3B,IAAI,KAAK,SAAS,aAAa;AAAA,MAC9B,uBAAO,MAAC,mBAAD;AAAA,QAAmB;AAAA,OAAY;AAAA,IACvC;AAAA,IAEA,IAAI,KAAK,SAAS,QAAQ;AAAA,MACzB,IAAI,UAAU;AAAA,MACd,MAAM,OAAO,KAAK,eAAe,KAAK;AAAA,MACtC,IAAI,QAAQ,OAAO,SAAS,YAAY,UAAU,MAAM;AAAA,QACvD,UAAU,OAAO,KAAK,IAAI;AAAA,MAC3B,EAAO,SAAI,OAAO,SAAS,UAAU;AAAA,QACpC,UAAU;AAAA,MACX,EAAO,SAAI,MAAM;AAAA,QAChB,UAAU,KAAK,UAAU,MAAM,MAAM,CAAC;AAAA,MACvC;AAAA,MAEA,uBACC,OAgGE,OAhGF;AAAA,QAAK,WAAU;AAAA,QAAf,UAgGE;AAAA,0BA/FD,MAME,OANF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAAC,YAAD;AAAA,cACC,MAAM;AAAA,cACN,WAAU;AAAA,cACV,MAAK;AAAA,aACN;AAAA,WACC;AAAA,0BACF,MA8EE,OA9EF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MA4EE,eA5EF;AAAA,cACC,eAAe,CAAC,SAAS;AAAA,cACzB,YAAY;AAAA,gBACX,GAAG;AAAA,kBACF;AAAA,kBACA;AAAA,qBACG;AAAA,sCAEH,MAmBE,KAnBF;AAAA,kBACC;AAAA,kBACA,QAAO;AAAA,kBACP,KAAI;AAAA,kBACJ,SAAS,CAAC,MAAM;AAAA,oBACf,IAAI,OAAO,SAAS,OAAO,OAAO,MAAM;AAAA,sBACvC,EAAE,eAAe;AAAA,sBACjB,OAAO,OAAO,YACb;AAAA,wBACC,MAAM;AAAA,wBACN,KAAK;AAAA,sBACN,GACA,GACD;AAAA,oBACD;AAAA;AAAA,qBAEG;AAAA,kBAhBL;AAAA,iBAmBE;AAAA,gBAEH,KAAK;AAAA,kBACJ;AAAA,qBACG;AAAA,sBACmC;AAAA,kBACtC,MAAM,eAAe,MAAM;AAAA,oBAC1B,IAAI,CAAC;AAAA,sBAAU,OAAO;AAAA,oBACtB,MAAM,QAAQ,MAAM,QAAQ,QAAQ,IACjC,SAAS,KACT;AAAA,oBACH,IACC,SACA,OAAO,UAAU,YACjB,WAAW,OACV;AAAA,sBACD,MAAM,YAAY,MAAM;AAAA,sBACxB,IAAI,OAAO,UAAU,aAAa,UAAU;AAAA,wBAC3C,OAAO,UAAU;AAAA,sBAClB;AAAA,oBACD;AAAA,oBACA,OAAO;AAAA,qBACL;AAAA,kBACH,uBACC,OAWE,OAXF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UAWE;AAAA,sCAVD,MAME,OANF;AAAA,wBAAK,WAAU;AAAA,wBAAf,0BACC,MAAC,YAAD;AAAA,0BACC,MAAM;AAAA,0BACN,WAAU;AAAA,0BACV,MAAK;AAAA,yBACN;AAAA,uBACC;AAAA,sCACF,MAEE,OAFF;AAAA,2BAAS;AAAA,wBAAO,WAAU;AAAA,wBAA1B;AAAA,uBAEE;AAAA;AAAA,mBACD;AAAA;AAAA,gBAGJ,OAAO;AAAA,kBACN;AAAA,qBACG;AAAA,sCAEH,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,0BACC,MAA8B,SAA9B;AAAA,uBAAW;AAAA,oBAAX;AAAA,mBAA8B;AAAA,iBAC7B;AAAA,cAEJ;AAAA,cAzED,UA2EE;AAAA,aACA;AAAA,WACD;AAAA,UACD,QAAQ,SAAS,uBACjB,MAME,OANF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAAC,YAAD;AAAA,cACC,MAAM;AAAA,cACN,WAAU;AAAA,cACV,MAAK;AAAA,aACN;AAAA,WACC;AAAA;AAAA,OAEF;AAAA,IAEJ;AAAA,IAEA,IAAI,KAAK,SAAS,SAAS;AAAA,MAC1B,IAAI;AAAA,MACJ,IAAI;AAAA,QACH,IAAI,KAAK,eAAe,OAAO,KAAK,gBAAgB,UAAU;AAAA,UAC7D,cAAc,KAAK;AAAA,QACpB,EAAO,SAAI,OAAO,KAAK,YAAY,UAAU;AAAA,UAC5C,cAAc,KAAK,MAAM,KAAK,OAAO;AAAA,QACtC,EAAO;AAAA,UACN,cAAc,CAAC;AAAA;AAAA,QAEf,MAAM;AAAA,QACP,cAAc;AAAA,UACb,SAAS,KAAK,WAAW;AAAA,QAC1B;AAAA;AAAA,MAGD,uBACC,MAAC,oBAAD;AAAA,QACC,UAAS;AAAA,QACT;AAAA,QACA,gBAAgB,KAAK;AAAA,QACrB,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,OACD;AAAA,IAEF;AAAA,IAEA,IAAI,KAAK,SAAS,aAAa;AAAA,MAC9B,MAAM,UAAU,mBAAmB,IAAI;AAAA,MACvC,MAAM,cACL,KAAK,aACJ,OAAQ,SAAgC,SAAS,WAC7C,QAA+B,OACjC;AAAA,MACJ,MAAM,YAAY,YAAY,SAAS,IAAI,IACxC,YAAY,QAAQ,MAAM,KAAI,IAC9B,YAAY,QAAQ,MAAM,GAAG;AAAA,MAGhC,MAAM,WAAW,gBAAgB,IAAI;AAAA,MACrC,MAAM,eAAe,iBAAiB;AAAA,MAGtC,MAAM,OAAO,YAAY;AAAA,MACzB,MAAM,UAAU,qBAAoB,aAAa,IAAI;AAAA,MACrD,MAAM,cAAc,kBAAkB,MAAM,SAAS,GAAG;AAAA,MACxD,MAAM,UAAU,gBAAgB,SAAS,mBAAkB,IAAI,IAAI;AAAA,MACnE,MAAM,WAAoD,CAAC;AAAA,MAC3D,IAAI,SAAS;AAAA,QACZ,SAAS,KAAK;AAAA,UACb,KAAK;AAAA,UACL,sBACC,MAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UACE;AAAA,WACA;AAAA,QAEJ,CAAC;AAAA,MACF,EAAO,SAAI,SAAS;AAAA,QACnB,SAAS,KAAK;AAAA,UACb,KAAK;AAAA,UACL,sBACC,MAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UACE,QAAQ;AAAA,WACR;AAAA,QAEJ,CAAC;AAAA,MACF;AAAA,MACA,IAAI,aAAa;AAAA,QAChB,SAAS,KAAK;AAAA,UACb,KAAK;AAAA,UACL,sBACC,MAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB,UACE;AAAA,WACA;AAAA,QAEJ,CAAC;AAAA,MACF;AAAA,MAGA,MAAM,qBACL,mBAAmB,gBAAgB,WAAW,KAAK;AAAA,MAEpD,IAAI,sBAAsB,aAAa,UAAU;AAAA,QAChD,uBACC,MAAC,kBAAD;AAAA,UACC,UAAU;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,SACD;AAAA,MAEF,EAAO,SAAI,SAAS,WAAW,GAAG;AAAA,QACjC,SAAS,KAAK;AAAA,UACb,KAAK;AAAA,UACL,sBAAM,MAAoD,QAApD;AAAA,YAAM,WAAU;AAAA,YAAhB;AAAA,WAAoD;AAAA,QAC3D,CAAC;AAAA,MACF;AAAA,MAEA,MAAM,mBAAmB;AAAA,QACxB;AAAA,MACD;AAAA,MACA,IAAI,KAAK;AAAA,QAAW,iBAAiB,KAAK,eAAe;AAAA,MACzD,uBACC,OAQE,OARF;AAAA,QAAK,WAAW,iBAAiB,KAAK,GAAG;AAAA,QAAzC,UAQE;AAAA,0BAPD,MAA2D,QAA3D;AAAA,YAAM,WAAU;AAAA,YAAhB,UAA+C;AAAA,WAAY;AAAA,UAC1D,SAAS,IAAI,CAAC,4BACd,OAGE,YAHF;AAAA,sBAGE;AAAA,8BAFD,MAA6C,QAA7C;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAA6C;AAAA,cAC5C,QAAQ;AAAA;AAAA,aAFK,QAAQ,GAGrB,CACF;AAAA;AAAA,OACA;AAAA,IAEJ;AAAA,IAEA,IAAI,KAAK,SAAS,eAAe;AAAA,MAChC,OAAO,iBAAiB;AAAA,IACzB;AAAA,IAEA,OAAO;AAAA;AAAA,EAGR,uBACC,OAcE,OAdF;AAAA,IAAK,WAAU;AAAA,IAAf,UAcE;AAAA,sBAbD,OAUE,OAVF;AAAA,QAAK,WAAU;AAAA,QAAf,UAUE;AAAA,0BATD,MAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf,UACE,WAAW;AAAA,WACX;AAAA,UACD,4BACA,MAAC,OAAD;AAAA,YACC,WAAU;AAAA,YACV,OAAO,EAAE,KAAK,WAAW,QAAQ,UAAU;AAAA,WAC5C;AAAA;AAAA,OAEA;AAAA,sBAEF,MAAqD,OAArD;AAAA,QAAK,WAAW;AAAA,QAAhB,UAAmC,cAAc;AAAA,OAAI;AAAA;AAAA,GACpD;AAAA,GAGJ,CAAC,WAAW,cAAc;AAAA,EACzB,OACC,UAAU,KAAK,OAAO,UAAU,KAAK,MACrC,UAAU,KAAK,YAAY,UAAU,KAAK,WAC1C,UAAU,KAAK,gBAAgB,UAAU,KAAK,eAC9C,UAAU,KAAK,cAAc,UAAU,KAAK,aAC5C,UAAU,KAAK,gBAAgB,UAAU,KAAK,eAC9C,UAAU,aAAa,UAAU,YACjC,UAAU,mBAAmB,UAAU,kBACvC,UAAU,yBAAyB,UAAU,wBAC7C,UAAU,YAAY,UAAU,WAChC,UAAU,wBAAwB,UAAU,uBAC5C,UAAU,iBAAiB,WAAW,UAAU,iBAAiB,UACjE,UAAU,cAAc,UAAU,aAClC,UAAU,aAAa,UAAU;AAAA,CAGpC;;;AmCvoBA,sBAAS,gCAAW,6BAAiB,oBAAS,qBAAQ;AACtD,kBAAS,kBAAO;;;ACChB,IAAM,yBAAyB,IAAI,IAAI;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAmBD,SAAS,cAAc,CAAC,MAAmD;AAAA,EAC1E,IAAI,KAAK,eAAe,OAAO,KAAK,gBAAgB,UAAU;AAAA,IAC7D,OAAO,KAAK;AAAA,EACb;AAAA,EAEA,IAAI;AAAA,IACH,IAAI,KAAK,SAAS;AAAA,MACjB,MAAM,SAAS,KAAK,MAAM,KAAK,OAAO;AAAA,MACtC,IAAI,UAAU,OAAO,WAAW,YAAY,CAAC,MAAM,QAAQ,MAAM,GAAG;AAAA,QACnE,OAAO;AAAA,MACR;AAAA,IACD;AAAA,IACC,MAAM;AAAA,EAER,OAAO;AAAA;AAGR,SAAS,WAAW,CAAC,MAA4C;AAAA,EAChE,MAAM,UAAU,eAAe,IAAI;AAAA,EACnC,MAAM,OAAO,SAAS;AAAA,EACtB,IAAI,QAAQ,OAAO,SAAS,YAAY,CAAC,MAAM,QAAQ,IAAI,GAAG;AAAA,IAC7D,OAAO;AAAA,EACR;AAAA,EACA,OAAO,CAAC;AAAA;AAGT,SAAS,aAAa,CAAC,MAA4C;AAAA,EAClE,MAAM,UAAU,eAAe,IAAI;AAAA,EACnC,MAAM,SAAS,SAAS;AAAA,EACxB,IAAI,UAAU,OAAO,WAAW,YAAY,CAAC,MAAM,QAAQ,MAAM,GAAG;AAAA,IACnE,OAAO;AAAA,EACR;AAAA,EACA,OAAO,CAAC;AAAA;AAGT,SAAS,QAAQ,CAAC,OAAe,MAAM,IAAY;AAAA,EAClD,OAAO,MAAM,SAAS,MAAM,GAAG,MAAM,MAAM,GAAG,MAAM,CAAC,OAAM;AAAA;AAG5D,SAAS,gBAAgB,CAAC,MAA2B;AAAA,EACpD,MAAM,UAAU,eAAe,IAAI;AAAA,EACnC,MAAM,OAAO,SAAS;AAAA,EACtB,IAAI,OAAO,SAAS,YAAY,KAAK,KAAK,GAAG;AAAA,IAC5C,OAAO,KAAK,KAAK;AAAA,EAClB;AAAA,EACA,IAAI,OAAO,KAAK,YAAY,UAAU;AAAA,IACrC,OAAO,KAAK,QAAQ,KAAK;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA;AAGR,SAAS,mBAAmB,CAAC,OAAuB;AAAA,EACnD,MAAM,OAAO,MACX,MAAM;AAAA,CAAI,EACV,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,EACzB,KAAK,OAAO;AAAA,EACd,OAAO,QAAQ,MAAM,KAAK;AAAA;AAG3B,SAAS,mBAAmB,CAAC,OAAuB;AAAA,EACnD,OAAO,MACL,QAAQ,mBAAmB,EAAE,EAC7B,QAAQ,aAAa,EAAE,EACvB,QAAQ,uBAAuB,IAAI,EACnC,QAAQ,cAAc,EAAE,EACxB,QAAQ,QAAQ,GAAG,EACnB,KAAK;AAAA;AAGR,SAAS,cAAc,CACtB,WACG,MACkB;AAAA,EACrB,WAAW,OAAO,MAAM;AAAA,IACvB,MAAM,QAAQ,OAAO;AAAA,IACrB,IAAI,OAAO,UAAU,YAAY,MAAM,KAAK,GAAG;AAAA,MAC9C,OAAO,MAAM,KAAK;AAAA,IACnB;AAAA,EACD;AAAA,EACA;AAAA;AAOM,SAAS,qBAAqB,CAAC,MAA4B;AAAA,EACjE,IAAI,KAAK,SAAS,aAAa;AAAA,IAC9B,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,KAAK,SAAS,eAAe,KAAK,SAAS,eAAe;AAAA,IAC7D,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,QAAQ,KAAK,YAAY,uBAAuB,IAAI,KAAK,QAAQ,CAAC;AAAA;AAMnE,SAAS,uBAAuB,CACtC,MAC8B;AAAA,EAC9B,IAAI,KAAK,SAAS,aAAa;AAAA,IAC9B,MAAM,UAAU,iBAAiB,IAAI;AAAA,IACrC,MAAM,YAAY,oBAAoB,oBAAoB,OAAO,CAAC;AAAA,IAClE,OAAO;AAAA,MACN,IAAI,KAAK;AAAA,MACT,OAAO,YAAY,SAAS,SAAS,IAAI;AAAA,MACzC,UAAU;AAAA,MACV,UAAU,WAAW;AAAA,MACrB,WAAW,KAAK;AAAA,MAChB,aAAa,KAAK;AAAA,IACnB;AAAA,EACD;AAAA,EAEA,IAAI,CAAC,KAAK,YAAY,CAAC,uBAAuB,IAAI,KAAK,QAAQ,GAAG;AAAA,IACjE,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,OAAO,YAAY,IAAI;AAAA,EAC7B,MAAM,SAAS,cAAc,IAAI;AAAA,EAEjC,IAAI,KAAK,aAAa,QAAQ;AAAA,IAC7B,MAAM,OAAO,eAAe,QAAQ,MAAM,KAAK,eAAe,MAAM,MAAM;AAAA,IAC1E,OAAO;AAAA,MACN,IAAI,KAAK;AAAA,MACT,UAAU,KAAK;AAAA,MACf;AAAA,MACA,OAAO,OAAO,WAAW,SAAS,IAAI,MAAM;AAAA,MAC5C,WAAW,KAAK;AAAA,MAChB,aAAa,KAAK;AAAA,IACnB;AAAA,EACD;AAAA,EAEA,IAAI,KAAK,aAAa,QAAQ,KAAK,aAAa,QAAQ;AAAA,IACvD,MAAM,OAAO,eAAe,MAAM,MAAM,KAAK,eAAe,QAAQ,MAAM;AAAA,IAC1E,OAAO;AAAA,MACN,IAAI,KAAK;AAAA,MACT,UAAU,KAAK;AAAA,MACf;AAAA,MACA,OAAO,OAAO,YAAY,SAAS,IAAI,MAAM;AAAA,MAC7C,WAAW,KAAK;AAAA,MAChB,aAAa,KAAK;AAAA,IACnB;AAAA,EACD;AAAA,EAEA,IACC,KAAK,aAAa,aAClB,KAAK,aAAa,UAClB,KAAK,aAAa,QACjB;AAAA,IACD,MAAM,QACL,eAAe,MAAM,SAAS,WAAW,aAAa,KACtD,eAAe,QAAQ,SAAS,SAAS;AAAA,IAC1C,OAAO;AAAA,MACN,IAAI,KAAK;AAAA,MACT,UAAU,KAAK;AAAA,MACf;AAAA,MACA,OAAO,QAAQ,iBAAiB,SAAS,OAAO,EAAE,MAAM;AAAA,MACxD,WAAW,KAAK;AAAA,MAChB,aAAa,KAAK;AAAA,IACnB;AAAA,EACD;AAAA,EAEA,IAAI,KAAK,aAAa,aAAa;AAAA,IAClC,MAAM,QAAQ,eAAe,MAAM,OAAO;AAAA,IAC1C,MAAM,MAAM,eAAe,MAAM,KAAK,KAAK,eAAe,QAAQ,KAAK;AAAA,IACvE,OAAO;AAAA,MACN,IAAI,KAAK;AAAA,MACT,UAAU,KAAK;AAAA,MACf;AAAA,MACA;AAAA,MACA,OAAO,QACJ,eAAe,SAAS,OAAO,EAAE,MACjC,MACC,aAAa,SAAS,KAAK,EAAE,MAC7B;AAAA,MACJ,WAAW,KAAK;AAAA,MAChB,aAAa,KAAK;AAAA,IACnB;AAAA,EACD;AAAA,EAEA,IAAI,KAAK,aAAa,SAAS;AAAA,IAC9B,MAAM,YAAY,eAAe,MAAM,MAAM;AAAA,IAC7C,OAAO;AAAA,MACN,IAAI,KAAK;AAAA,MACT,UAAU,KAAK;AAAA,MACf,OAAO,YACJ,iBAAiB,SAAS,WAAW,EAAE,MACvC;AAAA,MACH,WAAW,KAAK;AAAA,MAChB,aAAa,KAAK;AAAA,IACnB;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,IACN,IAAI,KAAK;AAAA,IACT,UAAU,KAAK;AAAA,IACf,OAAO;AAAA,IACP,WAAW,KAAK;AAAA,IAChB,aAAa,KAAK;AAAA,EACnB;AAAA;AAMM,SAAS,2BAA2B,CAC1C,OACyB;AAAA,EACzB,MAAM,oBAAoB,IAAI;AAAA,EAE9B,WAAW,QAAQ,OAAO;AAAA,IACzB,IAAI,KAAK,SAAS,iBAAiB,KAAK,YAAY;AAAA,MACnD,kBAAkB,IAAI,KAAK,YAAY,IAAI;AAAA,IAC5C;AAAA,EACD;AAAA,EAEA,MAAM,UAAkC,CAAC;AAAA,EAEzC,WAAW,QAAQ,OAAO;AAAA,IACzB,IACC,KAAK,SAAS,eACd,KAAK,cACL,kBAAkB,IAAI,KAAK,UAAU,GACpC;AAAA,MACD;AAAA,IACD;AAAA,IAEA,MAAM,QAAQ,wBAAwB,IAAI;AAAA,IAC1C,IAAI,OAAO;AAAA,MACV,QAAQ,KAAK,KAAK;AAAA,IACnB;AAAA,EACD;AAAA,EAEA,OAAO;AAAA;AAGR,SAAS,sBAAsB,CAAC,SAA8C;AAAA,EAC7E,MAAM,QAAQ,IAAI;AAAA,EAElB,WAAW,SAAS,SAAS;AAAA,IAC5B,IAAI,MAAM,MAAM;AAAA,MACf,MAAM,IAAI,MAAM,IAAI;AAAA,IACrB;AAAA,EACD;AAAA,EAEA,OAAO;AAAA;AAGR,SAAS,gBAAgB,CAAC,SAAgD;AAAA,EACzE,IAAI,WAA0B;AAAA,EAC9B,IAAI,SAAwB;AAAA,EAE5B,WAAW,SAAS,SAAS;AAAA,IAC5B,MAAM,QAAQ,MAAM,aAAa;AAAA,IACjC,MAAM,MAAM,MAAM,eAAe,MAAM,aAAa;AAAA,IACpD,IAAI,UAAU,SAAS,aAAa,QAAQ,QAAQ,WAAW;AAAA,MAC9D,WAAW;AAAA,IACZ;AAAA,IACA,IAAI,QAAQ,SAAS,WAAW,QAAQ,MAAM,SAAS;AAAA,MACtD,SAAS;AAAA,IACV;AAAA,EACD;AAAA,EAEA,IAAI,aAAa,QAAQ,WAAW,QAAQ,SAAS,UAAU;AAAA,IAC9D,OAAO,SAAS;AAAA,EACjB;AAAA,EACA,OAAO;AAAA;AAGR,SAAS,eAAc,CAAC,IAAoB;AAAA,EAC3C,MAAM,OAAO,KAAK,MAAM,KAAK,IAAI;AAAA,EACjC,IAAI,OAAO;AAAA,IAAI,OAAO,GAAG;AAAA,EACzB,MAAM,OAAO,KAAK,MAAM,OAAO,EAAE;AAAA,EACjC,MAAM,MAAM,OAAO;AAAA,EACnB,OAAO,MAAM,IAAI,GAAG,SAAS,SAAS,GAAG;AAAA;AAMnC,SAAS,0BAA0B,CACzC,SACyB;AAAA,EACzB,MAAM,QAAQ,uBAAuB,OAAO;AAAA,EAC5C,IAAI,WAAW;AAAA,EACf,IAAI,QAAQ;AAAA,EACZ,IAAI,aAAa;AAAA,EACjB,IAAI,YAAY;AAAA,EAChB,IAAI,iBAAiB;AAAA,EAErB,WAAW,SAAS,SAAS;AAAA,IAC5B,QAAQ,MAAM;AAAA,WACR;AAAA,QACJ,aAAa;AAAA,QACb;AAAA,WACI;AAAA,QACJ;AAAA,WACI;AAAA,WACA;AAAA,QACJ,SAAS;AAAA,QACT;AAAA,WACI;AAAA,WACA;AAAA,WACA;AAAA,QACJ,YAAY;AAAA,QACZ;AAAA,WACI;AAAA,QACJ,cAAc;AAAA,QACd;AAAA,WACI;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,QACJ,kBAAkB;AAAA,QAClB;AAAA;AAAA,EAEH;AAAA,EACA,MAAM,mBAAmB,MAAM,OAAO,KAAK,QAAQ;AAAA,EACnD,MAAM,YAAY,iBAAiB,OAAO;AAAA,EAC1C,MAAM,cAAc,cAAc,OAAO,gBAAe,SAAS,IAAI;AAAA,EAErE,MAAM,kBACL,YAAY,KACZ,MAAM,SAAS,KACf,aAAa,KACb,UAAU,KACV,eAAe,KACf,mBAAmB;AAAA,EAEpB,MAAM,QAAQ,kBACX,cACC,eAAe,gBACf,iCACD,aAAa,IACZ,oBAAoB,WAAW,IAC9B,wCACA,0BACD,iBAAiB,KAAK,WAAW,IAChC,uCACA,oBAAoB,WAAW,IAC9B,qCACA,QAAQ,IACP,+BACA,MAAM,OAAO,IACZ,2BACA,iBAAiB,IAChB,2BACA;AAAA,EAET,MAAM,UAAoB,CAAC;AAAA,EAC3B,IAAI,CAAC,mBAAmB,aAAa;AAAA,IACpC,QAAQ,KAAK,WAAW;AAAA,EACzB;AAAA,EACA,IAAI,MAAM,OAAO,GAAG;AAAA,IACnB,QAAQ,KAAK,GAAG,MAAM,QAAQ,MAAM,SAAS,IAAI,SAAS,SAAS;AAAA,EACpE;AAAA,EACA,IAAI,WAAW,GAAG;AAAA,IACjB,QAAQ,KAAK,GAAG,YAAY,aAAa,IAAI,WAAW,YAAY;AAAA,EACrE;AAAA,EACA,IAAI,QAAQ,KAAK,MAAM,SAAS,GAAG;AAAA,IAClC,QAAQ,KAAK,GAAG,SAAS,UAAU,IAAI,SAAS,SAAS;AAAA,EAC1D;AAAA,EACA,IAAI,aAAa,GAAG;AAAA,IACnB,QAAQ,KACP,GAAG,cAAc,eAAe,IAAI,eAAe,eACpD;AAAA,EACD;AAAA,EACA,IAAI,iBAAiB,KAAK,UAAU,0BAA0B;AAAA,IAC7D,QAAQ,KAAK,eAAe;AAAA,EAC7B;AAAA,EACA,IAAI,YAAY,KAAK,CAAC,iBAAiB;AAAA,IACtC,QAAQ,KAAK,WAAW;AAAA,EACzB;AAAA,EACA,IAAI,QAAQ,WAAW,KAAK,cAAc,GAAG;AAAA,IAC5C,QAAQ,KACP,GAAG,QAAQ,UAAU,QAAQ,WAAW,IAAI,SAAS,SACtD;AAAA,EACD;AAAA,EAEA,OAAO,EAAE,OAAO,QAAQ;AAAA;;;;AD7ZzB,IAAM,UAAU;AAChB,IAAM,SAAS;AACf,IAAM,eAAe;AASd,SAAS,oBAAoB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAC6B;AAAA,EAC7B,MAAM,mBAAmB,aAAa,QAAQ,SAAS;AAAA,EACvD,OAAO,aAAa,kBAAkB,WAAS,gBAAgB;AAAA,EAC/D,OAAO,SAAS,cAAc,WAAS,gBAAgB;AAAA,EACvD,MAAM,oBAAoB,QAAuB,IAAI;AAAA,EACrD,MAAM,YAAY,QAAuB,IAAI;AAAA,EAC7C,MAAM,qBAAqB,QAAsB,IAAI;AAAA,EACrD,MAAM,aAAa,QAAO,KAAK;AAAA,EAC/B,MAAM,eAAe,QAAO,QAAQ,MAAM;AAAA,EAC1C,OAAO,eAAe,oBAAoB,WAAS,CAAC;AAAA,EAEpD,MAAM,UAAU,SAAQ,MAAM,2BAA2B,OAAO,GAAG,CAAC,OAAO,CAAC;AAAA,EAC5E,MAAM,eAAe,iBAAiB,QAAQ;AAAA,EAC9C,MAAM,cAAc,CAAC,cAAc,GAAG,QAAQ,OAAO,EAAE,KAAK,KAAS;AAAA,EACrE,MAAM,eAAe,QAAQ,KAAK,CAAC,MAAM,EAAE,aAAa,WAAW;AAAA,EAEnE,MAAM,YAAY,QAAQ,SAAS,IAAI,QAAQ,QAAQ,SAAS,KAAK;AAAA,EAErE,YAAU,MAAM;AAAA,IACf,IAAI,CAAC,aAAa,CAAC,SAAS;AAAA,MAC3B,eAAe,KAAK;AAAA,MACpB;AAAA,IACD;AAAA,IACA,IAAI,CAAC,WAAW,WAAW;AAAA,MAC1B,WAAW,IAAI;AAAA,IAChB;AAAA,IACA,IAAI;AAAA,MAAa;AAAA,IACjB,IAAI,QAAQ,WAAW;AAAA,MAAG;AAAA,IAC1B,MAAM,IAAI,OAAO,WAAW,MAAM,eAAe,IAAI,GAAG,GAAG;AAAA,IAC3D,OAAO,MAAM,OAAO,aAAa,CAAC;AAAA,KAChC,CAAC,WAAW,aAAa,SAAS,QAAQ,MAAM,CAAC;AAAA,EAEpD,iBAAgB,MAAM;AAAA,IACrB,IAAI;AAAA,MAAa;AAAA,IACjB,MAAM,KAAK,kBAAkB;AAAA,IAC7B,IAAI,CAAC;AAAA,MAAI;AAAA,IACT,MAAM,eAAe,MAAM;AAAA,MAC1B,MAAM,aAAa,KAAK,IAAI,GAAG,cAAc,YAAY;AAAA,MACzD,iBAAiB,CAAC,SAAU,SAAS,aAAa,OAAO,UAAW;AAAA;AAAA,IAErE,aAAa;AAAA,IACb,MAAM,WAAW,IAAI,eAAe,MAAM,aAAa,CAAC;AAAA,IACxD,SAAS,QAAQ,EAAE;AAAA,IACnB,OAAO,MAAM,SAAS,WAAW;AAAA,KAC/B,CAAC,WAAW,CAAC;AAAA,EAEhB,YAAU,MAAM;AAAA,IACf,OAAO,MAAM;AAAA,MACZ,IAAI,mBAAmB,YAAY,MAAM;AAAA,QACxC,OAAO,qBAAqB,mBAAmB,OAAO;AAAA,MACvD;AAAA;AAAA,KAEC,CAAC,CAAC;AAAA,EAGL,YAAU,MAAM;AAAA,IACf,IAAI,eAAe,WAAW;AAAA,MAAS;AAAA,IACvC,MAAM,KAAK,UAAU;AAAA,IACrB,IAAI,CAAC;AAAA,MAAI;AAAA,IACT,MAAM,gBAAgB,kBAAkB,SAAS,gBAAgB;AAAA,IACjE,MAAM,gBAAgB,gBAAgB,gBAAgB;AAAA,IACtD,MAAM,YAAY,gBACf,KAAK,IAAI,GAAG,gBAAgB,aAAa,IACzC;AAAA,IAEH,IAAI,mBAAmB,YAAY,MAAM;AAAA,MACxC,OAAO,qBAAqB,mBAAmB,OAAO;AAAA,MACtD,mBAAmB,UAAU;AAAA,IAC9B;AAAA,IAEA,IAAI,CAAC,eAAe;AAAA,MACnB,GAAG,YAAY;AAAA,MACf;AAAA,IACD;AAAA,IAEA,MAAM,WAAW,GAAG;AAAA,IACpB,MAAM,WAAW,YAAY;AAAA,IAC7B,IAAI,YAAY,GAAG;AAAA,MAClB,GAAG,YAAY;AAAA,MACf;AAAA,IACD;AAAA,IAEA,MAAM,YAAY,YAAY,IAAI;AAAA,IAClC,MAAM,WAAW,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,WAAW,GAAG,CAAC;AAAA,IAC5D,MAAM,OAAO,CAAC,QAAgB;AAAA,MAC7B,MAAM,WAAW,KAAK,IAAI,IAAI,MAAM,aAAa,QAAQ;AAAA,MACzD,MAAM,QAAQ,KAAK,IAAI,aAAa;AAAA,MACpC,GAAG,YAAY,WAAW,WAAW;AAAA,MACrC,IAAI,WAAW,KAAK,CAAC,WAAW,SAAS;AAAA,QACxC,mBAAmB,UAAU,OAAO,sBAAsB,IAAI;AAAA,QAC9D;AAAA,MACD;AAAA,MACA,mBAAmB,UAAU;AAAA;AAAA,IAG9B,mBAAmB,UAAU,OAAO,sBAAsB,IAAI;AAAA,KAC5D,CAAC,QAAQ,QAAQ,WAAW,UAAU,aAAa,aAAa,CAAC;AAAA,EAEpE,YAAU,MAAM;AAAA,IACf,aAAa,UAAU,QAAQ;AAAA,KAC7B,CAAC,QAAQ,MAAM,CAAC;AAAA,EAEnB,MAAM,SAAS,CAAC;AAAA,EAEhB,uBACC,OAsIE,OAtIF;AAAA,IAAK,WAAU;AAAA,IAAf,UAsIE;AAAA,sBArID,OAcE,OAdF;AAAA,QAAK,WAAU;AAAA,QAAf,UAcE;AAAA,0BAbD,MAME,OANF;AAAA,YAAK,WAAU;AAAA,YAAf,UACE,+BACA,MAAC,QAAD;AAAA,cAAO,WAAU;AAAA,aAA+C,oBAEhE,MAAC,SAAD;AAAA,cAAQ,WAAU;AAAA,aAA6C;AAAA,WAE/D;AAAA,UACD,4BACA,MAAC,OAAD;AAAA,YACC,WAAU;AAAA,YACV,OAAO,EAAE,KAAK,WAAW,QAAQ,UAAU;AAAA,WAC5C;AAAA;AAAA,OAEA;AAAA,sBAEF,MAkHE,OAlHF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,OAgHE,OAhHF;AAAA,UACC,WAAU;AAAA,UACV,OAAO;AAAA,YACN,QAAQ,SACL,uCACA;AAAA,YACH,YAAY,SAAS,4BAA4B;AAAA,YACjD,SAAS,SAAS,aAAa;AAAA,YAC/B,YAAY,UAAU,aAAa,sBAAsB,aAAa,mBAAmB,aAAa;AAAA,UACvG;AAAA,UATD,UAgHE;AAAA,4BArGD,OAmFE,OAnFF;AAAA,cACC,OAAO;AAAA,gBACN,UAAU;AAAA,gBACV,SAAS,SAAS,IAAI;AAAA,gBACtB,WAAW,SAAS,GAAG,eAAe,SAAS;AAAA,gBAC/C,YAAY,WAAW,aAAa,sBAAsB,aAAa;AAAA,cACxE;AAAA,cAND,UAmFE;AAAA,gCA3ED,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf;AAAA,iBAEE;AAAA,gCAEF,MAsEE,OAtEF;AAAA,kBACC,KAAK;AAAA,kBACL,WAAU;AAAA,kBACV,OAAO;AAAA,oBACN,QAAQ,GAAG;AAAA,oBACX,YAAY,UAAU,aAAa;AAAA,oBACnC,WACC;AAAA,oBACD,iBACC;AAAA,kBACF;AAAA,kBACA,MAAK;AAAA,kBACL,cAAc,MAAM;AAAA,oBACnB,WAAW,UAAU;AAAA;AAAA,kBAEtB,cAAc,MAAM;AAAA,oBACnB,WAAW,UAAU;AAAA;AAAA,kBAhBvB,0BAmBC,MAkDE,OAlDF;AAAA,oBAAK,KAAK;AAAA,oBAAmB,WAAU;AAAA,oBAAvC,UACE,QAAQ,IAAI,CAAC,OAAO,MAAM;AAAA,sBAC1B,MAAM,SAAS,MAAM,QAAQ,SAAS;AAAA,sBACtC,MAAM,cAAc,KAAK,aAAa;AAAA,sBACtC,MAAM,cAAc,MAAM,aAAa;AAAA,sBACvC,MAAM,eACL,eAAe,MAAM,YAAY,MAAM,SAAS,KAAK;AAAA,sBAEtD,IAAI,cAAc;AAAA,wBACjB,uBACC,MAkBE,OAlBF;AAAA,0BAEC,WAAU;AAAA,0BACV,OAAO;AAAA,4BACN,WAAW,cACR,eAAe,aAAa,gBAC5B;AAAA,0BACJ;AAAA,0BAPD,0BASC,MAQE,KARF;AAAA,4BACC,WAAW,6DACV,SACG,uBACA;AAAA,4BAJL,UAOE,MAAM;AAAA,2BACN;AAAA,2BAhBG,MAAM,EAiBV;AAAA,sBAEJ;AAAA,sBAEA,uBACC,MAcE,OAdF;AAAA,wBAEC,WAAW,gDACV,SAAS,oBAAoB;AAAA,wBAE9B,OAAO;AAAA,0BACN,WAAW,cACR,eAAe,aAAa,gBAC5B;AAAA,wBACJ;AAAA,wBATD,0BAWC,MAEE,QAFF;AAAA,0BAAM,WAAU;AAAA,0BAAhB,UACE,MAAM;AAAA,yBACN;AAAA,yBAZG,MAAM,EAaV;AAAA,qBAEH;AAAA,mBACA;AAAA,iBACD;AAAA;AAAA,aACD;AAAA,4BAEF,MAeE,OAfF;AAAA,cACC,WAAU;AAAA,cACV,OAAO;AAAA,gBACN,SAAS,cAAc,IAAI;AAAA,gBAC3B,QAAQ,cAAc,SAAS;AAAA,gBAC/B,UAAU;AAAA,gBACV,YAAY,WAAW,aAAa,kBAAkB,aAAa;AAAA,cACpE;AAAA,cAPD,0BASC,MAKE,QALF;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO;AAAA,gBAFR,UAIE;AAAA,eACA;AAAA,aACD;AAAA;AAAA,SACD;AAAA,OACD;AAAA,sBAEF,MAAqI,SAArI;AAAA,kBAAQ;AAAA,OAA6H;AAAA;AAAA,GACpI;AAAA;;;AEtQJ,sBAAS,gCAAW,4BAAiB,sBAAQ;AAC7C;AAAA,cACC;AAAA,cACA;AAAA,UACA;AAAA,aACA;AAAA;;AAMD,IAAM,WAAU;AAChB,IAAM,UAAS;AACf,IAAM,gBAAe;AAErB,SAAS,UAAU,CAAC,MAA4C;AAAA,EAC/D,IAAI,KAAK,eAAe,OAAO,KAAK,gBAAgB,UAAU;AAAA,IAC7D,OAAO,KAAK;AAAA,EACb;AAAA,EACA,IAAI;AAAA,IACH,IAAI,KAAK,SAAS;AAAA,MACjB,MAAM,SAAS,KAAK,MAAM,KAAK,OAAO;AAAA,MACtC,IAAI,UAAU,OAAO,WAAW,YAAY,CAAC,MAAM,QAAQ,MAAM,GAAG;AAAA,QACnE,OAAO;AAAA,MACR;AAAA,IACD;AAAA,IACC,MAAM;AAAA,EACR,OAAO,CAAC;AAAA;AAGT,SAAS,gBAAgB,CAAC,MAA2B;AAAA,EACpD,MAAM,UAAU,WAAW,IAAI;AAAA,EAC/B,OAAO,OAAO,QAAQ,mBAAmB,WACtC,QAAQ,iBACR;AAAA;AAGJ,SAAS,iBAAiB,CAAC,MAA2B;AAAA,EACrD,MAAM,UAAU,WAAW,IAAI;AAAA,EAC/B,OAAO,OAAO,QAAQ,oBAAoB,WACvC,QAAQ,kBACR;AAAA;AAGJ,SAAS,OAAO,CAAC,MAAwD;AAAA,EACxE,MAAM,UAAU,WAAW,IAAI;AAAA,EAC/B,MAAM,OAAO,SAAS;AAAA,EACtB,IAAI,QAAQ,OAAO,SAAS,YAAY,CAAC,MAAM,QAAQ,IAAI,GAAG;AAAA,IAC7D,OAAO;AAAA,EACR;AAAA,EACA;AAAA;AAGD,SAAS,cAAc,CAAC,OAA8B;AAAA,EACrD,MAAM,QAAQ,MAAM,MACnB,sDACD;AAAA,EACA,OAAO,QAAQ,IAAI,KAAK,KAAK;AAAA;AAG9B,IAAM,cAGF;AAAA,EACH,MAAM,EAAE,MAAM,WAAU,OAAO,yBAAyB,OAAO,UAAU;AAAA,EACzE,OAAO;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,EACR;AAAA,EACA,aAAa;AAAA,IACZ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,EACR;AAAA,EACA,MAAM;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,EACR;AAAA,EACA,UAAU;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,EACR;AACD;AAEA,SAAS,iBAAiB,CACzB,UACA,MACS;AAAA,EACT,IAAI,CAAC;AAAA,IAAM,OAAO;AAAA,EAClB,IAAI,aAAa,QAAQ;AAAA,IACxB,MAAM,MAAM,OAAO,KAAK,OAAO,EAAE;AAAA,IACjC,OAAO,IAAI,SAAS,KAAK,GAAG,IAAI,MAAM,GAAG,EAAE,OAAM;AAAA,EAClD;AAAA,EACA,IAAI,aAAa;AAAA,IAAS,OAAO,OAAO,KAAK,QAAQ,EAAE;AAAA,EACvD,IAAI,aAAa;AAAA,IAAQ,OAAO,OAAO,KAAK,YAAY,KAAK,QAAQ,EAAE;AAAA,EACvE,IAAI,aAAa,eAAe;AAAA,IAC/B,MAAM,QAAQ,OAAO,KAAK,SAAS,EAAE;AAAA,IACrC,OAAO,eAAe,KAAK,KAAK;AAAA,EACjC;AAAA,EACA,OAAO;AAAA;AAGR,SAAS,mBAAmB,CAAC,UAAkB,KAAqB;AAAA,EACnE,IAAI,aAAa,QAAQ;AAAA,IACxB,MAAM,MAAM,uBAAuB,KAAK,KAAK;AAAA,IAC7C,IAAI,KAAK;AAAA,MACR,OAAO,IAAI,SAAS,KAAK,GAAG,IAAI,MAAM,GAAG,EAAE,OAAM;AAAA,IAClD;AAAA,EACD;AAAA,EACA,IAAI,aAAa,WAAW,aAAa,QAAQ;AAAA,IAChD,OACC,uBAAuB,KAAK,MAAM,KAClC,uBAAuB,KAAK,UAAU;AAAA,EAExC;AAAA,EACA,IAAI,aAAa,eAAe;AAAA,IAC/B,MAAM,IAAI,IAAI,MACb,6DACD;AAAA,IACA,OAAO,IAAI,EAAE,GAAG,KAAK,IAAI;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA;AAGR,SAAS,oBAAoB,CAAC,MAAgC;AAAA,EAC7D,IAAI;AAAA,IACH,IAAI,KAAK,eAAe,OAAO,KAAK,gBAAgB,UAAU;AAAA,MAC7D,OAAO,KAAK;AAAA,IACb;AAAA,IACA,IAAI,OAAO,KAAK,YAAY,UAAU;AAAA,MACrC,OAAO,KAAK,MAAM,KAAK,OAAO;AAAA,IAC/B;AAAA,IACC,MAAM;AAAA,EACR,OAAO,CAAC;AAAA;AAQF,SAAS,aAAa,GAAG,MAAM,YAAgC;AAAA,EACrE,MAAM,oBAAoB,SAAuB,IAAI;AAAA,EACrD,MAAM,YAAY,SAAuB,IAAI;AAAA,EAC7C,MAAM,qBAAqB,SAAsB,IAAI;AAAA,EACrD,MAAM,aAAa,SAAO,KAAK;AAAA,EAC/B,MAAM,2BAA2B,SAAO,CAAC;AAAA,EACzC,OAAO,eAAe,oBAAoB,WAAS,CAAC;AAAA,EACpD,MAAM,WAAW,KAAK,YAAY;AAAA,EAClC,MAAM,aAAa,KAAK,SAAS;AAAA,EACjC,MAAM,UAAS,YAAY,aAAa;AAAA,IACvC,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO,SAAS,QAAQ,MAAM,GAAG;AAAA,EAClC;AAAA,EAEA,OAAO,aAAa,kBAAkB,WAAS,MAAM,UAAU;AAAA,EAC/D,OAAO,SAAS,cAAc,WAAS,MAAM,UAAU;AAAA,EAEvD,MAAM,OAAO,QAAQ,IAAI;AAAA,EACzB,MAAM,gBAAgB,iBAAiB,IAAI;AAAA,EAC3C,MAAM,iBAAiB,kBAAkB,IAAI;AAAA,EAC7C,MAAM,SACL,kBAAkB,UAAU,IAAI,KAChC,oBAAoB,UAAU,aAAa;AAAA,EAC5C,MAAM,kBAAkB,qBAAqB,UAAU,aAAa;AAAA,EACpE,MAAM,iBACL,aAAa,SACV,kBACD,oBACC,OAAO,mBAAmB,UAAU,IAAI,IAAI,MAC5C,OACC,mBAAmB,UAAU,IAAI,IACjC;AAAA,EACL,MAAM,oBAAoB,eAAe,KAAK,EAAE,SAAS;AAAA,EAEzD,YAAU,MAAM;AAAA,IACf,IAAI,CAAC,cAAc,CAAC,SAAS;AAAA,MAC5B,eAAe,KAAK;AAAA,MACpB;AAAA,IACD;AAAA,IACA,IAAI,CAAC,WAAW,YAAY;AAAA,MAC3B,WAAW,IAAI;AAAA,IAChB;AAAA,IACA,IAAI;AAAA,MAAa;AAAA,IACjB,IAAI,CAAC;AAAA,MAAY;AAAA,IACjB,MAAM,IAAI,OAAO,WAAW,MAAM,eAAe,IAAI,GAAG,GAAG;AAAA,IAC3D,OAAO,MAAM,OAAO,aAAa,CAAC;AAAA,KAChC,CAAC,YAAY,aAAa,OAAO,CAAC;AAAA,EAErC,iBAAgB,MAAM;AAAA,IACrB,IAAI,CAAC,mBAAmB;AAAA,MACvB,iBAAiB,CAAC;AAAA,MAClB;AAAA,IACD;AAAA,IACA,MAAM,KAAK,kBAAkB;AAAA,IAC7B,IAAI,CAAC;AAAA,MAAI;AAAA,IACT,MAAM,aAAa,KAAK,IAAI,GAAG,cAAc,gBAAe,EAAE;AAAA,IAC9D,iBAAiB,CAAC,SAAU,SAAS,aAAa,OAAO,UAAW;AAAA,KAClE,CAAC,gBAAgB,iBAAiB,CAAC;AAAA,EAEtC,YAAU,MAAM;AAAA,IACf,OAAO,MAAM;AAAA,MACZ,IAAI,mBAAmB,YAAY,MAAM;AAAA,QACxC,OAAO,qBAAqB,mBAAmB,OAAO;AAAA,MACvD;AAAA;AAAA,KAEC,CAAC,CAAC;AAAA,EAGL,YAAU,MAAM;AAAA,IACf,MAAM,KAAK,UAAU;AAAA,IACrB,IAAI,CAAC,MAAM,WAAW;AAAA,MAAS;AAAA,IAC/B,MAAM,aAAa,eAAe;AAAA,IAClC,MAAM,gBAAgB,kBAAkB,SAAS,gBAAgB;AAAA,IACjE,MAAM,gBAAgB,gBAAgB,gBAAgB;AAAA,IACtD,MAAM,YAAY,gBACf,KAAK,IAAI,GAAG,gBAAgB,aAAa,IACzC;AAAA,IAEH,IAAI,mBAAmB,YAAY,MAAM;AAAA,MACxC,OAAO,qBAAqB,mBAAmB,OAAO;AAAA,MACtD,mBAAmB,UAAU;AAAA,IAC9B;AAAA,IAEA,IAAI,CAAC,eAAe;AAAA,MACnB,GAAG,YAAY;AAAA,MACf,yBAAyB,UAAU;AAAA,MACnC;AAAA,IACD;AAAA,IAEA,IAAI,cAAc,yBAAyB,SAAS;AAAA,MACnD,GAAG,YAAY;AAAA,MACf,yBAAyB,UAAU;AAAA,MACnC;AAAA,IACD;AAAA,IAEA,MAAM,WAAW,GAAG;AAAA,IACpB,MAAM,WAAW,YAAY;AAAA,IAC7B,IAAI,YAAY,GAAG;AAAA,MAClB,GAAG,YAAY;AAAA,MACf,yBAAyB,UAAU;AAAA,MACnC;AAAA,IACD;AAAA,IAEA,MAAM,YAAY,YAAY,IAAI;AAAA,IAClC,MAAM,WAAW,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,WAAW,GAAG,CAAC;AAAA,IAC5D,MAAM,OAAO,CAAC,QAAgB;AAAA,MAC7B,MAAM,WAAW,KAAK,IAAI,IAAI,MAAM,aAAa,QAAQ;AAAA,MACzD,MAAM,QAAQ,KAAK,IAAI,aAAa;AAAA,MACpC,GAAG,YAAY,WAAW,WAAW;AAAA,MACrC,IAAI,WAAW,KAAK,CAAC,WAAW,SAAS;AAAA,QACxC,mBAAmB,UAAU,OAAO,sBAAsB,IAAI;AAAA,QAC9D;AAAA,MACD;AAAA,MACA,mBAAmB,UAAU;AAAA;AAAA,IAG9B,mBAAmB,UAAU,OAAO,sBAAsB,IAAI;AAAA,IAC9D,yBAAyB,UAAU;AAAA,KACjC,CAAC,gBAAgB,aAAa,CAAC;AAAA,EAElC,MAAM,SAAS,CAAC;AAAA,EAEhB,MAAM,oBAAoB,aAAa,qBAAqB,IAAI,IAAI;AAAA,EAEpE,uBACC,OA4HE,OA5HF;AAAA,IAAK,WAAU;AAAA,IAAf,UA4HE;AAAA,sBA3HD,OAUE,OAVF;AAAA,QAAK,WAAU;AAAA,QAAf,UAUE;AAAA,0BATD,MAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAAC,QAAO,MAAR;AAAA,cAAa,WAAW,WAAW,QAAO;AAAA,aAAS;AAAA,WAClD;AAAA,UACD,4BACA,MAAC,OAAD;AAAA,YACC,WAAU;AAAA,YACV,OAAO,EAAE,KAAK,WAAW,QAAQ,UAAU;AAAA,WAC5C;AAAA;AAAA,OAEA;AAAA,sBAEF,MA8GE,OA9GF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,OA4GE,OA5GF;AAAA,UACC,WAAU;AAAA,UACV,OAAO;AAAA,YACN,QAAQ,SACL,uCACA;AAAA,YACH,YAAY,SAAS,4BAA4B;AAAA,YACjD,SAAS,SAAS,aAAa;AAAA,YAC/B,YAAY,UAAU,cAAa,uBAAsB,cAAa,oBAAmB,cAAa;AAAA,UACvG;AAAA,UATD,UA4GE;AAAA,4BAjGD,OAiEE,OAjEF;AAAA,cACC,OAAO;AAAA,gBACN,UAAU;AAAA,gBACV,SAAS,SAAS,IAAI;AAAA,gBACtB,WAAW,SAAS,GAAG,gBAAe,SAAS;AAAA,gBAC/C,YAAY,WAAW,cAAa,uBAAsB,cAAa;AAAA,cACxE;AAAA,cAND,UAiEE;AAAA,gCAzDD,OAkBE,OAlBF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAkBE;AAAA,oCAjBD,MAAC,UAAD;AAAA,sBAAS,WAAU;AAAA,qBAAqC;AAAA,oCACxD,MAAgD,QAAhD;AAAA,sBAAM,WAAU;AAAA,sBAAhB,UAAiC,QAAO;AAAA,qBAAQ;AAAA,oBAC/C,0BACA;AAAA,gCAOE;AAAA,wCAND,MAEE,QAFF;AAAA,0BAAM,WAAU;AAAA,0BAAhB;AAAA,yBAEE;AAAA,wCACF,MAEE,QAFF;AAAA,0BAAM,WAAU;AAAA,0BAAhB,UACE;AAAA,yBACA;AAAA;AAAA,qBACD;AAAA,oBAEF,CAAC,QAAQ,CAAC,mBAAmB,CAAC,kCAC9B,MAEE,QAFF;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAEE;AAAA;AAAA,iBAEF;AAAA,gCAEF,MAoCE,OApCF;AAAA,kBACC,OAAO;AAAA,oBACN,UAAU;AAAA,oBACV,SAAS,oBAAoB,IAAI;AAAA,oBACjC,QAAQ,oBAAoB,GAAG,gBAAgB,QAAQ;AAAA,oBACvD,YAAY,WAAW,cAAa,mBAAkB,cAAa;AAAA,kBACpE;AAAA,kBAND,UAQE,kCACA,MAyBE,OAzBF;AAAA,oBAAK,WAAU;AAAA,oBAAf,0BACC,MAuBE,OAvBF;AAAA,sBACC,KAAK;AAAA,sBACL,WAAU;AAAA,sBACV,OAAO;AAAA,wBACN,QAAQ,GAAG;AAAA,wBACX,WACC;AAAA,wBACD,iBACC;AAAA,sBACF;AAAA,sBACA,cAAc,MAAM;AAAA,wBACnB,WAAW,UAAU;AAAA;AAAA,sBAEtB,cAAc,MAAM;AAAA,wBACnB,WAAW,UAAU;AAAA;AAAA,sBAdvB,0BAiBC,MAKE,OALF;AAAA,wBACC,KAAK;AAAA,wBACL,WAAU;AAAA,wBAFX,UAIE;AAAA,uBACA;AAAA,qBACD;AAAA,mBACD;AAAA,iBAEF;AAAA;AAAA,aACD;AAAA,4BAEF,MA6BE,OA7BF;AAAA,cACC,WAAU;AAAA,cACV,OAAO;AAAA,gBACN,SAAS,cAAc,IAAI;AAAA,gBAC3B,WAAW,cAAc,WAAW;AAAA,gBACpC,UAAU;AAAA,gBACV,YAAY,WAAW,cAAa,uBAAsB,cAAa;AAAA,cACxE;AAAA,cAPD,UASE,oCACA,MAQE,OARF;AAAA,gBAAK,WAAU;AAAA,gBAAf,0BACC,MAAC,oBAAD;AAAA,kBACC;AAAA,kBACA,aAAa;AAAA,kBACb,gBAAgB,KAAK,kBAAkB;AAAA,kBACvC,OAAO;AAAA,kBACP,SAAS;AAAA,iBACV;AAAA,eACC,oBAEF,MAOE,OAPF;AAAA,gBAAK,WAAU;AAAA,gBAAf,0BACC,MAKE,QALF;AAAA,kBACC,WAAU;AAAA,kBACV,OAAO,UAAU,QAAO;AAAA,kBAFzB,UAIE,SAAS,GAAG,QAAO,WAAe,WAAW,QAAO;AAAA,iBACpD;AAAA,eACD;AAAA,aAEF;AAAA;AAAA,SACD;AAAA,OACD;AAAA;AAAA,GACD;AAAA;AAIJ,SAAS,kBAAkB,CAC1B,UACA,MACS;AAAA,EACT,IAAI,aAAa;AAAA,IAAQ,OAAO,OAAO,KAAK,OAAO,EAAE;AAAA,EACrD,IAAI,aAAa;AAAA,IAAS,OAAO,OAAO,KAAK,WAAW,EAAE;AAAA,EAC1D,IAAI,aAAa;AAAA,IAAe,OAAO,OAAO,KAAK,SAAS,EAAE;AAAA,EAC9D,IAAI,aAAa,QAAQ;AAAA,IACxB,MAAM,SAAS,OAAO,KAAK,aAAa,EAAE;AAAA,IAC1C,MAAM,SAAS,OAAO,KAAK,aAAa,EAAE;AAAA,IAC1C,OAAO,UAAU,SAAS,KAAK;AAAA,IAAa,WAAW,UAAU;AAAA,EAClE;AAAA,EACA,OAAO;AAAA;AAGR,SAAS,sBAAsB,CAAC,KAAa,OAAuB;AAAA,EACnE,MAAM,UAAU,IAAI,OAAO,IAAI,kBAAkB;AAAA,EACjD,MAAM,IAAI,QAAQ,KAAK,GAAG;AAAA,EAC1B,IAAI,CAAC;AAAA,IAAG,OAAO;AAAA,EACf,MAAM,QAAQ,EAAE,QAAQ,EAAE,GAAG;AAAA,EAC7B,IAAI,SAAS;AAAA,EACb,IAAI,IAAI;AAAA,EACR,OAAO,IAAI,IAAI,QAAQ;AAAA,IACtB,IAAI,IAAI,OAAO,QAAQ,IAAI,IAAI,IAAI,QAAQ;AAAA,MAC1C,MAAM,OAAO,IAAI,IAAI;AAAA,MACrB,IAAI,SAAS;AAAA,QAAK,UAAU;AAAA;AAAA,MACvB,SAAI,SAAS;AAAA,QAAK,UAAU;AAAA,MAC5B,SAAI,SAAS;AAAA,QAAK,UAAU;AAAA,MAC5B,SAAI,SAAS;AAAA,QAAM,UAAU;AAAA,MAC7B;AAAA,kBAAU;AAAA,MACf,KAAK;AAAA,IACN,EAAO,SAAI,IAAI,OAAO,KAAK;AAAA,MAC1B;AAAA,IACD,EAAO;AAAA,MACN,UAAU,IAAI;AAAA,MACd,KAAK;AAAA;AAAA,EAEP;AAAA,EACA,OAAO;AAAA;AAGR,SAAS,oBAAoB,CAAC,UAAkB,KAAqB;AAAA,EACpE,IAAI,CAAC;AAAA,IAAK,OAAO;AAAA,EACjB,IAAI,aAAa;AAAA,IAAQ,OAAO,uBAAuB,KAAK,KAAK;AAAA,EACjE,IAAI,aAAa;AAAA,IAAS,OAAO,uBAAuB,KAAK,SAAS;AAAA,EACtE,IAAI,aAAa;AAAA,IAAe,OAAO,uBAAuB,KAAK,OAAO;AAAA,EAC1E,IAAI,aAAa,QAAQ;AAAA,IACxB,MAAM,SAAS,uBAAuB,KAAK,WAAW;AAAA,IACtD,OAAO,UAAU,uBAAuB,KAAK,WAAW;AAAA,EACzD;AAAA,EACA,OAAO;AAAA;;;AChcR,qBAAS;AAQT,IAAM,oBAAgC;AAAA,EACrC,kBAAkB;AAAA,EAClB,gBAAgB,CAAC;AAAA,EACjB,aAAa;AACd;AAEO,SAAS,aAAa,CAAC,WAA2C;AAAA,EACxE,QAAQ,SAAS,UAAqB;AAAA,IACrC,UAAU,CAAC,cAAc,SAAS;AAAA,IAClC,SAAS,MAAM;AAAA,IACf,SAAS,CAAC,CAAC;AAAA,IACX,aAAa;AAAA,IACb,WAAW;AAAA,EACZ,CAAC;AAAA,EAED,OAAO,QAAQ;AAAA;AAGT,SAAS,uBAAuB,CACtC,WACA,WACqE;AAAA,EACrE,MAAM,aAAa,cAAc,SAAS;AAAA,EAE1C,IAAI,CAAC,aAAa,CAAC,YAAY;AAAA,IAC9B,OAAO,EAAE,UAAU,OAAO,WAAW,OAAO,UAAU,KAAK;AAAA,EAC5D;AAAA,EAEA,IAAI,WAAW,qBAAqB,WAAW;AAAA,IAC9C,OAAO,EAAE,UAAU,OAAO,WAAW,MAAM,UAAU,KAAK;AAAA,EAC3D;AAAA,EAEA,MAAM,aAAa,WAAW,eAAe,KAC5C,CAAC,SAAS,KAAK,cAAc,SAC9B;AAAA,EAEA,IAAI,YAAY;AAAA,IACf,OAAO,EAAE,UAAU,MAAM,WAAW,OAAO,UAAU,WAAW,SAAS;AAAA,EAC1E;AAAA,EAEA,OAAO,EAAE,UAAU,OAAO,WAAW,OAAO,UAAU,KAAK;AAAA;;;AChD5D,qBAAS;AACT,sBAAS,uBAAW;;;ACDpB,qBAAS,0BAAU,gCAAa;AAKzB,SAAS,eAAe,CAAC,WAA+B;AAAA,EAC9D,MAAM,cAAc,gBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,CAAC,SAA8B;AAAA,MAC1C,IAAI,CAAC;AAAA,QAAW,MAAM,IAAI,MAAM,eAAe;AAAA,MAC/C,OAAO,UAAU,aAAa,WAAW,IAAI;AAAA;AAAA,IAE9C,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,iBAAiB,CAAC;AAAA,MAC5D,IAAI,WAAW;AAAA,QACd,YAAY,kBAAkB;AAAA,UAC7B,UAAU,CAAC,YAAY,SAAS;AAAA,QACjC,CAAC;AAAA,MACF;AAAA;AAAA,EAEF,CAAC;AAAA;AAGK,SAAS,WAAW,CAAC,WAA+B;AAAA,EAC1D,OAAO,UAAS;AAAA,IACf,UAAU,CAAC,YAAY,SAAS;AAAA,IAChC,SAAS,MAAM;AAAA,MACd,IAAI,CAAC;AAAA,QAAW,MAAM,IAAI,MAAM,eAAe;AAAA,MAC/C,OAAO,UAAU,aAAa,SAAS;AAAA;AAAA,IAExC,SAAS,QAAQ,SAAS;AAAA,EAC3B,CAAC;AAAA;AAGK,SAAS,gBAAgB,CAAC,WAA+B;AAAA,EAC/D,OAAO,UAAS;AAAA,IACf,UAAU,CAAC,iBAAiB,SAAS;AAAA,IACrC,SAAS,MAAM;AAAA,MACd,IAAI,CAAC;AAAA,QAAW,MAAM,IAAI,MAAM,eAAe;AAAA,MAC/C,OAAO,UAAU,iBAAiB,SAAS;AAAA;AAAA,IAE5C,SAAS,QAAQ,SAAS;AAAA,EAC3B,CAAC;AAAA;;;;AD5BK,SAAS,WAAW;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACoB;AAAA,EACpB,MAAM,UAAU,WAAW,SAAS;AAAA,EACpC,MAAM,eAAe,gBAAgB,SAAS;AAAA,EAE9C,OAAO,OAAO,YAAY,WAAS,EAAE;AAAA,EACrC,OAAO,kBAAkB,uBAAuB,WAAS,IAAI;AAAA,EAC7D,MAAM,UAAU,MAAM;AAAA,EACtB,MAAM,WAAW,MAAM;AAAA,EAEvB,MAAM,iBACL,QAAQ,OAAO,KAAK,CAAC,MAAM,EAAE,SAAS,MAAM,GAAG,WAAW;AAAA,EAC3D,MAAM,iBAAiB,MAAM;AAAA,IAC5B,IAAI;AAAA,MACH,MAAM,SAAS,KAAK,MAAM,cAAc;AAAA,MACxC,OAAO,QAAQ,MAAM,MAAM,GAAG,GAAG,KAAK;AAAA,MACrC,MAAM;AAAA,MACP,OAAO,eAAe,MAAM,GAAG,GAAG;AAAA;AAAA,KAEjC;AAAA,EAEH,MAAM,eAAe,OAAO,MAAuB;AAAA,IAClD,EAAE,eAAe;AAAA,IAEjB,IAAI;AAAA,MACH,MAAM,SAAS,MAAM,aAAa,YAAY;AAAA,QAC7C,eAAe,QAAQ;AAAA,QACvB,OAAO,MAAM,KAAK,KAAK;AAAA,QACvB,UAAU,mBAAmB,SAAS,WAAW;AAAA,QACjD,OAAO,mBAAmB,SAAS,QAAQ;AAAA,QAC3C,OAAO,mBAAmB,SAAS,QAAQ;AAAA,MAC5C,CAAC;AAAA,MAED,QAAQ;AAAA,MACR,IAAI,mBAAmB,OAAO,SAAS;AAAA,QACtC,gBAAgB,OAAO,QAAQ,EAAE;AAAA,MAClC;AAAA,MACC,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,4BAA4B,KAAK;AAAA;AAAA;AAAA,EAIjD,uBACC,MAkGE,OAlGF;AAAA,IACC;AAAA,IACA;AAAA,IACA,uBACC,OAGE,OAHF;AAAA,MAAK,WAAU;AAAA,MAAf,UAGE;AAAA,wBAFD,MAAC,YAAD;AAAA,UAAW,WAAU;AAAA,SAAuB;AAAA,wBAC5C,MAAsB,QAAtB;AAAA;AAAA,SAAsB;AAAA;AAAA,KACrB;AAAA,IAEH,UAAS;AAAA,IATV,0BAWC,OAsFE,QAtFF;AAAA,MAAM,UAAU;AAAA,MAAc,WAAU;AAAA,MAAxC,UAsFE;AAAA,wBArFD,OAKE,OALF;AAAA,UAAK,WAAU;AAAA,UAAf,UAKE;AAAA,4BAJD,MAAkC,KAAlC;AAAA;AAAA,aAAkC;AAAA,4BAClC,OAEE,KAFF;AAAA,cAAG,WAAU;AAAA,cAAb,UAEE;AAAA,gBAFF;AAAA,gBACG;AAAA,gBADH;AAAA;AAAA,aAEE;AAAA;AAAA,SACD;AAAA,wBAEF,OAeE,OAfF;AAAA,UAAK,WAAU;AAAA,UAAf,UAeE;AAAA,4BAdD,MAKE,SALF;AAAA,cACC,SAAS;AAAA,cACT,WAAU;AAAA,cAFX;AAAA,aAKE;AAAA,4BACF,MAAC,SAAD;AAAA,cACC,IAAI;AAAA,cACJ,MAAK;AAAA,cACL,OAAO;AAAA,cACP,UAAU,CAAC,MAAM,SAAS,EAAE,OAAO,KAAK;AAAA,cACxC,aAAa,aAAa,SAAS,SAAS;AAAA,cAC5C,WAAU;AAAA,aACX;AAAA;AAAA,SACC;AAAA,wBAEF,OAWE,OAXF;AAAA,UAAK,WAAU;AAAA,UAAf,UAWE;AAAA,4BAVD,MAAC,SAAD;AAAA,cACC,IAAI;AAAA,cACJ,MAAK;AAAA,cACL,SAAS;AAAA,cACT,UAAU,CAAC,MAAM,oBAAoB,EAAE,OAAO,OAAO;AAAA,cACrD,WAAU;AAAA,aACX;AAAA,4BACA,MAEE,SAFF;AAAA,cAAO,SAAS;AAAA,cAAU,WAAU;AAAA,cAApC;AAAA,aAEE;AAAA;AAAA,SACD;AAAA,QAED,2BACA,MAYE,OAZF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,OAUE,OAVF;AAAA,YAAK,WAAU;AAAA,YAAf,UAUE;AAAA,8BATD,OAEE,QAFF;AAAA,0BAEE;AAAA,kCADD,MAAmB,UAAnB;AAAA;AAAA,mBAAmB;AAAA,kBADpB;AAAA,kBAC6B,QAAQ;AAAA;AAAA,eACnC;AAAA,8BACF,OAEE,QAFF;AAAA,0BAEE;AAAA,kCADD,MAAgB,UAAhB;AAAA;AAAA,mBAAgB;AAAA,kBADjB;AAAA,kBAC0B,QAAQ;AAAA;AAAA,eAChC;AAAA,8BACF,OAEE,QAFF;AAAA,0BAEE;AAAA,kCADD,MAAgB,UAAhB;AAAA;AAAA,mBAAgB;AAAA,kBADjB;AAAA,kBAC0B,QAAQ;AAAA;AAAA,eAChC;AAAA;AAAA,WACD;AAAA,SACD;AAAA,wBAGH,OAyBE,OAzBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAyBE;AAAA,4BAxBD,MAME,UANF;AAAA,cACC,MAAK;AAAA,cACL,SAAS;AAAA,cACT,WAAU;AAAA,cAHX;AAAA,aAME;AAAA,4BACF,MAgBE,UAhBF;AAAA,cACC,MAAK;AAAA,cACL,UAAU,aAAa;AAAA,cACvB,WAAU;AAAA,cAHX,UAKE,aAAa,4BACb;AAAA,0BAGE;AAAA,kCAFD,MAAC,UAAD;AAAA,oBAAS,WAAU;AAAA,mBAAuB;AAAA,kBAD3C;AAAA;AAAA,eAGE,oBAEF;AAAA,0BAGE;AAAA,kCAFD,MAAC,YAAD;AAAA,oBAAW,WAAU;AAAA,mBAAU;AAAA,kBADhC;AAAA;AAAA,eAGE;AAAA,aAEF;AAAA;AAAA,SACD;AAAA,QAED,aAAa,2BACb,MAEE,KAFF;AAAA,UAAG,WAAU;AAAA,UAAb,UACE,aAAa,OAAO,WAAW;AAAA,SAC/B;AAAA;AAAA,KAEF;AAAA,GACD;AAAA;;;;AxC3HJ,IAAM,kBAAkB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEA,SAAS,iBAAiB,CAAC,WAAmB;AAAA,EAC7C,MAAM,OAAO,UACX,MAAM,EAAE,EACR,OAAO,CAAC,KAAK,SAAS,MAAM,KAAK,WAAW,CAAC,GAAG,CAAC;AAAA,EACnD,OAAO,gBAAgB,OAAO,gBAAgB;AAAA;AAgBxC,IAAM,wBAAwB,MACpC,SAAS,sBAAqB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,GAC8B;AAAA,EAC9B,QAAQ,aAAa,wBAAwB,WAAW,QAAQ,EAAE;AAAA,EAClE,OAAO,WAAW,gBAAgB,WAAS,KAAK;AAAA,EAChD,OAAO,iBAAiB,sBAAsB,WAAS,KAAK;AAAA,EAC5D,OAAO,QAAQ,aAAa,WAAS,KAAK;AAAA,EAG1C,QAAQ,kBAAkB,0BAA0B,qBAAqB;AAAA,EAEzE,MAAM,gBAAgB,cACrB,OAAO,WAAmB;AAAA,IACzB,IAAI,CAAC;AAAA,MAAW;AAAA,IAChB,IAAI;AAAA,MACH,MAAM,UAAU,gBAAgB,WAAW,QAAQ,IAAI;AAAA,MACvD,sBAAsB,MAAM;AAAA,MAC3B,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,gCAAgC,KAAK;AAAA;AAAA,KAGrD,CAAC,WAAW,qBAAqB,CAClC;AAAA,EAEA,MAAM,eAAe,cACpB,OAAO,WAAmB;AAAA,IACzB,IAAI,CAAC;AAAA,MAAW;AAAA,IAChB,IAAI;AAAA,MACH,MAAM,UAAU,gBAAgB,WAAW,QAAQ,KAAK;AAAA,MACxD,sBAAsB,MAAM;AAAA,MAC3B,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,+BAA+B,KAAK;AAAA;AAAA,KAGpD,CAAC,WAAW,qBAAqB,CAClC;AAAA,EAGA,MAAM,0BAA0B,UAAQ,MAAM;AAAA,IAC7C,OAAO,iBAAiB,OAAO,CAAC,MAAM,EAAE,cAAc,QAAQ,EAAE;AAAA,KAC9D,CAAC,kBAAkB,QAAQ,EAAE,CAAC;AAAA,EAEjC,MAAM,mBAAmB,cAAY,YAAY;AAAA,IAChD,IAAI,CAAC;AAAA,MAAW;AAAA,IAChB,IAAI;AAAA,MACH,MAAM,QAAQ,IACb,wBAAwB,IAAI,CAAC,MAC5B,UAAU,gBAAgB,WAAW,EAAE,QAAQ,IAAI,CACpD,CACD;AAAA,MACA,WAAW,KAAK,yBAAyB;AAAA,QACxC,sBAAsB,EAAE,MAAM;AAAA,MAC/B;AAAA,MACC,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,qCAAqC,KAAK;AAAA;AAAA,KAEvD,CAAC,WAAW,yBAAyB,qBAAqB,CAAC;AAAA,EAG9D,MAAM,QAAQ,UAAQ,MAAM;AAAA,IAC3B,MAAM,WAAW,QAAQ,SAAS,CAAC;AAAA,IACnC,OAAO,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM;AAAA,MACnC,MAAM,aAAa,EAAE,SAAS,MAAM,EAAE,SAAS;AAAA,MAC/C,IAAI,cAAc;AAAA,QAAG,OAAO;AAAA,MAC5B,MAAM,YAAY,EAAE,aAAa,MAAM,EAAE,aAAa;AAAA,MACtD,IAAI,aAAa;AAAA,QAAG,OAAO;AAAA,MAE3B,QAAQ,EAAE,aAAa,MAAM,EAAE,aAAa;AAAA,KAC5C;AAAA,KACC,CAAC,QAAQ,KAAK,CAAC;AAAA,EAElB,MAAM,YAAY,MAAM,KAAK,CAAC,SAAS,KAAK,aAAa,QAAQ;AAAA,EACjE,MAAM,4BAA4B,MAAM,OACvC,CAAC,WAAW,MAAM,UACjB,KAAK,SAAS,iBAAiB,KAAK,aAAa,oBAC9C,QACA,WACJ,EACD;AAAA,EACA,MAAM,2BACL,6BAA6B,IAAI,MAAM,6BAA6B;AAAA,EACrE,MAAM,wBAAwB,IAAI,IACjC,MACE,OACA,CAAC,SACA,KAAK,aACL,CAAC,QAAQ,SAAS,QAAQ,eAAe,UAAU,EAAE,SACpD,KAAK,YAAY,EAClB,CACF,EACC,IAAI,CAAC,SAAS,KAAK,UAAU,EAC7B,OAAO,CAAC,WAA6B,QAAQ,MAAM,CAAC,CACvD;AAAA,EACA,MAAM,cAAc,UAAQ,MAAM;AAAA,IACjC,MAAM,QAA+B,CAAC;AAAA,IACtC,IAAI,gBAA+B,CAAC;AAAA,IACpC,IAAI,mBAAmB;AAAA,IACvB,IAAI;AAAA,IAEJ,MAAM,qBAAqB,CAAC,cAAuB;AAAA,MAClD,IAAI,cAAc,WAAW,GAAG;AAAA,QAC/B,IAAI,WAAW;AAAA,UACd,eAAe;AAAA,QAChB;AAAA,QACA;AAAA,MACD;AAAA,MAEA,MAAM,UAAU,4BAA4B,aAAa;AAAA,MACzD,IAAI,QAAQ,SAAS,GAAG;AAAA,QACvB,MAAM,KAAK;AAAA,UACV,MAAM;AAAA,UACN,IAAI,WAAW,cAAc,GAAG;AAAA,UAChC;AAAA,UACA,eAAe;AAAA,QAChB,CAAC;AAAA,MACF,EAAO;AAAA,QACN,YAAY,QAAQ,SAAS,cAAc,QAAQ,GAAG;AAAA,UACrD,MAAM,KAAK;AAAA,YACV,MAAM;AAAA,YACN,OAAO,mBAAmB;AAAA,YAC1B;AAAA,UACD,CAAC;AAAA,QACF;AAAA;AAAA,MAGD,gBAAgB,CAAC;AAAA,MACjB,mBAAmB;AAAA,MACnB,eAAe;AAAA;AAAA,IAGhB,YAAY,OAAO,SAAS,MAAM,QAAQ,GAAG;AAAA,MAC5C,MAAM,oBACJ,KAAK,SAAS,iBAAiB,KAAK,SAAS,gBAC9C,KAAK,aAAa;AAAA,MAEnB,IAAI,kBAAkB;AAAA,QACrB,IAAI;AAAA,QACJ,MAAM,UACL,KAAK,eAAe,OAAO,KAAK,gBAAgB,WAC7C,KAAK,cACL;AAAA,QACJ,IAAI,SAAS;AAAA,UACZ,MAAM,SACJ,QAAoC,QACpC,QAAoC;AAAA,UACtC,IAAI,UAAU,OAAO,WAAW,UAAU;AAAA,YACzC,MAAM,IAAK,OAAmC;AAAA,YAC9C,IAAI,OAAO,MAAM,YAAY,EAAE,KAAK,GAAG;AAAA,cACtC,MAAM,EAAE,KAAK;AAAA,YACd;AAAA,UACD;AAAA,QACD;AAAA,QACA,IAAI,KAAK;AAAA,UACR,mBAAmB,GAAG;AAAA,QACvB;AAAA,QACA;AAAA,MACD;AAAA,MAEA,IAAI,WAAW,sBAAsB,IAAI,GAAG;AAAA,QAC3C,IAAI,cAAc,WAAW,GAAG;AAAA,UAC/B,mBAAmB;AAAA,QACpB;AAAA,QACA,cAAc,KAAK,IAAI;AAAA,QACvB;AAAA,MACD;AAAA,MAEA,mBAAmB;AAAA,MACnB,MAAM,KAAK,EAAE,MAAM,QAAQ,OAAO,KAAK,CAAC;AAAA,IACzC;AAAA,IAEA,mBAAmB;AAAA,IACnB,OAAO;AAAA,KACL,CAAC,OAAO,OAAO,CAAC;AAAA,EACnB,MAAM,6BAA6B,YAAY,SAAS;AAAA,EACxD,MAAM,wBAAwB,MAAM,UACnC,CAAC,SACA,EAAE,KAAK,SAAS,iBAAiB,KAAK,aAAa,kBACrD;AAAA,EACA,MAAM,2BACL,QAAQ,WAAW,aACnB,CAAC,aACD,QAAQ,wBAAwB;AAAA,EACjC,MAAM,4BACL,QAAQ,WAAW,aACnB,CAAC,aACD,CAAC,4BACD,CAAC;AAAA,EACF,MAAM,aAAa,CAAC,OAAgB;AAAA,IACnC,IAAI,CAAC;AAAA,MAAI,OAAO;AAAA,IAChB,MAAM,OAAO,IAAI,KAAK,EAAE;AAAA,IACxB,OAAO,KAAK,mBAAmB,CAAC,GAAG;AAAA,MAClC,MAAM;AAAA,MACN,QAAQ;AAAA,IACT,CAAC;AAAA;AAAA,EAGF,MAAM,aAAa,QAAQ,WAAW;AAAA,EAEtC,MAAM,aAAa,cAAY,MAAM;AAAA,IACpC,MAAM,YAAY,MAChB,OAAO,CAAC,MAAM,EAAE,SAAS,MAAM,EAC/B,IAAI,CAAC,MAAM;AAAA,MACX,IAAI;AAAA,QACH,MAAM,SAAS,KAAK,MAAM,EAAE,WAAW,IAAI;AAAA,QAC3C,OAAO,QAAQ,QAAQ;AAAA,QACtB,MAAM;AAAA,QACP,OAAO,EAAE,WAAW;AAAA;AAAA,KAErB,EACA,KAAK;AAAA,CAAI;AAAA,IAEX,UAAU,UAAU,UAAU,SAAS;AAAA,IACvC,UAAU,IAAI;AAAA,IACd,WAAW,MAAM,UAAU,KAAK,GAAG,IAAI;AAAA,KACrC,CAAC,KAAK,CAAC;AAAA,EAEV,MAAM,oBAAoB,cAAY,MAAM;AAAA,IAC3C,mBAAmB,IAAI;AAAA,KACrB,CAAC,CAAC;AAAA,EAEL,IAAI,UAAU;AAAA,IACb,OAAO;AAAA,EACR;AAAA,EAEA,uBAEC,OAgPE,OAhPF;AAAA,IACC,WAAU;AAAA,IACV,cAAc,MAAM,aAAa,IAAI;AAAA,IACrC,cAAc,MAAM,aAAa,KAAK;AAAA,IAHvC,UAgPE;AAAA,MA3OA,8BACA,OA2DE,OA3DF;AAAA,QAAK,WAAU;AAAA,QAAf,UA2DE;AAAA,0BA1DD,OA+CE,OA/CF;AAAA,YAAK,WAAU;AAAA,YAAf,UA+CE;AAAA,8BA9CD,MAEE,OAFF;AAAA,gBAAK,WAAU;AAAA,gBAAf,0BACC,MAAC,WAAD;AAAA,kBAAU,WAAU;AAAA,iBAAmD;AAAA,eACtE;AAAA,8BACF,OA0CE,OA1CF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UA0CE;AAAA,kBAzCA,QAAQ,yBACR,MAKE,QALF;AAAA,oBACC,WAAU;AAAA,oBACV,OAAO,QAAQ;AAAA,oBAFhB,UAIE,QAAQ;AAAA,mBACR;AAAA,kBAEF,QAAQ,4BACR;AAAA,8BASE;AAAA,sBARA,QAAQ,yBACR,MAA6C,QAA7C;AAAA,wBAAM,WAAU;AAAA,wBAAhB;AAAA,uBAA6C;AAAA,sCAE9C,MAAC,cAAD;AAAA,wBACC,UAAU,QAAQ;AAAA,wBAClB,MAAM;AAAA,wBACN,WAAU;AAAA,uBACX;AAAA;AAAA,mBACC;AAAA,kBAEF,QAAQ,yBACR;AAAA,8BAUE;AAAA,sCATD,MAEE,QAFF;AAAA,wBAAM,WAAU;AAAA,wBAAhB;AAAA,uBAEE;AAAA,sCACF,MAKE,QALF;AAAA,wBACC,WAAU;AAAA,wBACV,OAAO,QAAQ;AAAA,wBAFhB,UAIE,QAAQ;AAAA,uBACR;AAAA;AAAA,mBACD;AAAA,kBAEF,QAAQ,6BACR;AAAA,8BAKE;AAAA,sCAJD,MAA6C,QAA7C;AAAA,wBAAM,WAAU;AAAA,wBAAhB;AAAA,uBAA6C;AAAA,sCAC7C,MAEE,QAFF;AAAA,wBAAM,WAAU;AAAA,wBAAhB,UACE,WAAW,QAAQ,SAAS;AAAA,uBAC5B;AAAA;AAAA,mBACD;AAAA;AAAA,eAEF;AAAA;AAAA,WACD;AAAA,UACD,aAAa,cAAc,aAAa,oCACxC,MAOE,UAPF;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,WAAU;AAAA,YACV,OAAM;AAAA,YAJP,0BAMC,MAAC,YAAD;AAAA,cAAW,WAAU;AAAA,aAAU;AAAA,WAC9B;AAAA;AAAA,OAEF;AAAA,sBAGH,OA0HE,OA1HF;AAAA,QAAK,WAAU;AAAA,QAAf,UA0HE;AAAA,UAzHA,YAAY,IAAI,CAAC,MAAM,gBAAgB;AAAA,YACvC,MAAM,sBACL,cAAc,YAAY,SAAS,KACnC,2BACA;AAAA,YAED,IAAI,KAAK,SAAS,SAAS;AAAA,cAC1B,uBACC,MAAC,sBAAD;AAAA,gBAEC,SAAS,KAAK;AAAA,gBACd,eAAe,KAAK;AAAA,gBACpB,UAAU;AAAA,gBACV,WACC,QAAQ,WAAW,aACnB,cAAc,YAAY,SAAS;AAAA,iBAN/B,KAAK,EAQX;AAAA,YAEF;AAAA,YAEA,QAAQ,MAAM,UAAU;AAAA,YACxB,MAAM,aAAa,UAAU,MAAM,SAAS;AAAA,YAC5C,MAAM,eACL,KAAK,cACJ,KAAK,SAAS,eAAe,KAAK,SAAS,kBAC5C,CAAC,QAAQ,SAAS,QAAQ,eAAe,UAAU,EAAE,SACpD,KAAK,YAAY,EAClB;AAAA,YAED,IAAI,cAAc;AAAA,cACjB,uBACC,MAAC,eAAD;AAAA,gBAEC;AAAA,gBACA,UAAU;AAAA,iBAFL,KAAK,EAGX;AAAA,YAEF;AAAA,YAEA,MAAM,kBACL,KAAK,SAAS,eAAe,KAAK,aAC9B,iBAAiB,KAAK,CAAC,MAAM,EAAE,WAAW,KAAK,UAAU,KAC3D,OACC;AAAA,YACJ,IACC,KAAK,SAAS,iBACd,KAAK,cACL,sBAAsB,IAAI,KAAK,UAAU,GACxC;AAAA,cACD,OAAO;AAAA,YACR;AAAA,YACA,MAAM,eACL,KAAK,SAAS,iBAAiB,KAAK,aAAa;AAAA,YAClD,MAAM,WAAW,uBAAuB,CAAC;AAAA,YACzC,MAAM,iBAAiB,KAAK,SAAS,eAAe;AAAA,YAEpD,uBACC,MAAC,iBAAD;AAAA,cAEC;AAAA,cACA;AAAA,cACA,aAAa,UAAU,yBAAyB,CAAC;AAAA,cACjD;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,WAAW;AAAA,cACX,UAAU;AAAA,cACV;AAAA,cACA;AAAA,cACA;AAAA,eAZK,KAAK,EAaX;AAAA,WAED;AAAA,UAGA,wBAAwB,SAAS,qBACjC,OAeE,OAfF;AAAA,YAAK,WAAU;AAAA,YAAf,UAeE;AAAA,8BAdD,MAAC,SAAD;AAAA,gBAAQ,WAAU;AAAA,eAA2D;AAAA,8BAC7E,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBADA,wBAAwB;AAAA,kBAD1B;AAAA;AAAA,eAEE;AAAA,8BACF,OASE,UATF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,OAAM;AAAA,gBACN,WAAU;AAAA,gBAJX,UASE;AAAA,kCAHD,MAAC,aAAD;AAAA,oBAAY,WAAU;AAAA,mBAAc;AAAA,kBANrC;AAAA,kCAQC,MAAgD,OAAhD;AAAA,oBAAK,WAAU;AAAA,oBAAf;AAAA,mBAAgD;AAAA;AAAA,eAC/C;AAAA;AAAA,WACD;AAAA,UAGF,4BAA4B,4CAC5B,MAAC,iBAAD;AAAA,YAEC,MAAM;AAAA,YACN,UAAU;AAAA,YACV,aAAa,CAAC,8BAA8B,CAAC;AAAA,YAC7C,sBAAoB;AAAA,YACpB;AAAA,aALK,yBAAyB,EAM/B;AAAA,UAGA,6CACA,OAWE,OAXF;AAAA,YAAK,WAAU;AAAA,YAAf,UAWE;AAAA,8BAVD,MAIE,OAJF;AAAA,gBAAK,WAAU;AAAA,gBAAf,0BACC,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,0BACC,MAAC,WAAD;AAAA,oBAAU,WAAU;AAAA,mBAAU;AAAA,iBAC7B;AAAA,eACD;AAAA,8BACF,MAIE,OAJF;AAAA,gBAAK,WAAU;AAAA,gBAAf,0BACC,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UACE,kBAAkB,QAAQ,EAAE;AAAA,iBAC5B;AAAA,eACD;AAAA;AAAA,WACD;AAAA;AAAA,OAEF;AAAA,MAED,cAAc,6BACd,MAmCE,OAnCF;AAAA,QACC,WAAU;AAAA,QACV,OAAO,EAAE,kBAAkB,YAAY,QAAQ,MAAM;AAAA,QAFtD,0BAIC,MA8BE,OA9BF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,OA4BE,OA5BF;AAAA,YAAK,WAAU;AAAA,YAAf,UA4BE;AAAA,cA3BA,oCACA,OAOE,UAPF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,WAAU;AAAA,gBAHX,UAOE;AAAA,kCAFD,MAAC,YAAD;AAAA,oBAAW,WAAU;AAAA,mBAAU;AAAA,kBALhC;AAAA;AAAA,eAOE;AAAA,8BAEH,MAgBE,UAhBF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,WAAU;AAAA,gBAHX,UAKE,yBACA;AAAA,4BAGE;AAAA,oCAFD,MAAC,QAAD;AAAA,sBAAO,WAAU;AAAA,qBAAyB;AAAA,oBAD3C;AAAA;AAAA,iBAGE,oBAEF;AAAA,4BAGE;AAAA,oCAFD,MAAC,OAAD;AAAA,sBAAM,WAAU;AAAA,qBAAU;AAAA,oBAD3B;AAAA;AAAA,iBAGE;AAAA,eAEF;AAAA;AAAA,WACD;AAAA,SACD;AAAA,OACD;AAAA,MAGF,mBAAmB,6BACnB,MAAC,aAAD;AAAA,QACC,QAAQ;AAAA,QACR,SAAS,MAAM,mBAAmB,KAAK;AAAA,QACvC;AAAA,QACA;AAAA,QACA;AAAA,OACD;AAAA;AAAA,GAEA;AAAA,GAGJ,CAAC,WAAW,cAAc;AAAA,EACzB,MAAM,YAAY,UAAU,QAAQ,SAAS,CAAC;AAAA,EAC9C,MAAM,YAAY,UAAU,QAAQ,SAAS,CAAC;AAAA,EAE9C,IAAI,UAAU,WAAW,UAAU,QAAQ;AAAA,IAC1C,OAAO;AAAA,EACR;AAAA,EAEA,SAAS,IAAI,EAAG,IAAI,UAAU,QAAQ,KAAK;AAAA,IAC1C,MAAM,WAAW,UAAU;AAAA,IAC3B,MAAM,WAAW,UAAU;AAAA,IAC3B,IACC,SAAS,OAAO,SAAS,MACzB,SAAS,UAAU,SAAS,SAC5B,SAAS,cAAc,SAAS,aAChC,SAAS,SAAS,SAAS,QAC3B,SAAS,YAAY,SAAS,WAC9B,SAAS,gBAAgB,SAAS,eAClC,SAAS,aAAa,SAAS,YAC/B,SAAS,eAAe,SAAS,cACjC,SAAS,cAAc,SAAS,aAChC,SAAS,gBAAgB,SAAS,eAClC,SAAS,cAAc,SAAS,WAC/B;AAAA,MACD,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EAEA,OACC,UAAU,QAAQ,OAAO,UAAU,QAAQ,MAC3C,UAAU,QAAQ,WAAW,UAAU,QAAQ,UAC/C,UAAU,QAAQ,gBAAgB,UAAU,QAAQ,eACpD,UAAU,eAAe,UAAU,cACnC,UAAU,4BAA4B,UAAU,2BAChD,UAAU,kBAAkB,UAAU,iBACtC,UAAU,cAAc,UAAU,aAClC,UAAU,YAAY,UAAU,WAChC,UAAU,wBAAwB,UAAU;AAAA,CAG/C;;;A0C5kBA,iBAAS,mBAAM;AACf,2BAAS;AACT;AAAA;AAAA,OAEC;AAAA,cACA;AAAA,cACA;AAAA;AAAA,YAEA;AAAA;AAAA,kBAEA;AAAA;AAED;AACA;;AA2BO,IAAM,mBAAmB,MAC/B,SAAS,iBAAgB;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,GACyB;AAAA,EACzB,OAAO,eAAe,oBAAoB,WAAwB,IAAI;AAAA,EACtE,MAAM,QAAQ,QAAQ,SAAS,CAAC;AAAA,EAChC,MAAM,cAAc,gBAAe;AAAA,EAEnC,QAAQ,UAAU,aAAa,wBAC9B,WACA,0BAA0B,EAC3B;AAAA,EACA,MAAM,wBAAwB,cAC7B,CAAC,UAAU,MAAM,qBAClB;AAAA,EAEA,MAAM,YAAY,MAAM,OAAO,CAAC,MAAM,EAAE,SAAS,MAAM;AAAA,EACvD,MAAM,aAAa,MAAM,OAAO,CAAC,MAAM,EAAE,SAAS,OAAO;AAAA,EACzD,MAAM,YAAY,MAAM,OAAO,CAAC,MAAM,EAAE,SAAS,MAAM;AAAA,EAEvD,MAAM,gBAAgB,UAAU;AAAA,EAChC,IAAI,aAAa;AAAA,EAEjB,IAAI,eAAe;AAAA,IAClB,MAAM,OAAO,cAAc,eAAe,cAAc;AAAA,IACxD,IAAI,QAAQ,OAAO,SAAS,YAAY,UAAU,MAAM;AAAA,MACvD,aAAa,OAAO,KAAK,IAAI;AAAA,IAC9B,EAAO,SAAI,OAAO,SAAS,UAAU;AAAA,MACpC,aAAa;AAAA,IACd,EAAO,SAAI,MAAM;AAAA,MAChB,aAAa,KAAK,UAAU,MAAM,MAAM,CAAC;AAAA,IAC1C;AAAA,EACD;AAAA,EAEA,QAAQ,kBAAkB,wBAAwB,cAAc,YAC/D,qBAAqB,UAAU;AAAA,EAEhC,MAAM,SAA6C,CAAC;AAAA,EACpD,WAAW,QAAQ,YAAY;AAAA,IAC9B,IAAI;AAAA,MACH,MAAM,OAAO,KAAK,eAAe,KAAK,MAAM,KAAK,WAAW,IAAI;AAAA,MAChE,IAAI,QAAQ,OAAO,SAAS,YAAY,UAAU,MAAM;AAAA,QACvD,MAAM,UAAU;AAAA,QAChB,MAAM,MAAM,QAAQ,QAAQ,oBAAoB,QAAQ;AAAA,QACxD,OAAO,KAAK,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC;AAAA,MACjC;AAAA,MACC,MAAM;AAAA,EACT;AAAA,EAEA,MAAM,QAA2D,CAAC;AAAA,EAClE,WAAW,QAAQ,WAAW;AAAA,IAC7B,IAAI;AAAA,MACH,MAAM,OAAO,KAAK,eAAe,KAAK,MAAM,KAAK,WAAW,IAAI;AAAA,MAChE,IAAI,QAAQ,OAAO,SAAS,YAAY,UAAU,MAAM;AAAA,QACvD,MAAM,WAAW;AAAA,QACjB,IAAI,SAAS,SAAS,WAAW,SAAS,MAAM;AAAA,UAC/C,MAAM,MAAM,QAAQ,SAAS,oBAAoB,SAAS;AAAA,UAC1D,OAAO,KAAK,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC;AAAA,QACjC,EAAO;AAAA,UACN,MAAM,KAAK;AAAA,YACV,IAAI,KAAK;AAAA,YACT,MAAM,SAAS;AAAA,YACf,MAAM,SAAS;AAAA,UAChB,CAAC;AAAA;AAAA,MAEH;AAAA,MACC,MAAM;AAAA,EACT;AAAA,EAEA,MAAM,aAAa,CAAC,OAAgB;AAAA,IACnC,IAAI,CAAC;AAAA,MAAI,OAAO;AAAA,IAChB,MAAM,OAAO,IAAI,KAAK,EAAE;AAAA,IACxB,OAAO,KAAK,mBAAmB,CAAC,GAAG;AAAA,MAClC,MAAM;AAAA,MACN,QAAQ;AAAA,IACT,CAAC;AAAA;AAAA,EAGF,MAAM,aAAa,QAAQ,KAAK,EAAE,SAAS;AAAA,EAC3C,MAAM,YAAY,OAAO,SAAS;AAAA,EAClC,MAAM,WAAW,MAAM,SAAS;AAAA,EAChC,MAAM,sBAAsB,uBAAuB,SAAS;AAAA,EAE5D,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC;AAAA,IAC9C,OAAO;AAAA,EAER,MAAM,eAAe,YAAY;AAAA,IAChC,IAAI,CAAC,aAAa,CAAC;AAAA,MAAwB;AAAA,IAC3C,sBAAsB,OAAO;AAAA,IAC7B,IAAI;AAAA,MACH,MAAM,UAAU,gBAAgB,WAAW,sBAAsB;AAAA,MAEjE,YAAY,kBAAkB,EAAE,UAAU,CAAC,YAAY,SAAS,EAAE,CAAC;AAAA,MAClE,OAAO,KAAK;AAAA,MACb,QAAQ,MAAM,oCAAoC,GAAG;AAAA;AAAA;AAAA,EAIvD,MAAM,eAAe,YAAY;AAAA,IAChC,IAAI,CAAC,aAAa,CAAC;AAAA,MAAwB;AAAA,IAC3C,IAAI;AAAA,MACH,MAAM,UAAU,gBAAgB,WAAW,sBAAsB;AAAA,MAEjE,YAAY,kBAAkB,EAAE,UAAU,CAAC,YAAY,SAAS,EAAE,CAAC;AAAA,MAClE,OAAO,KAAK;AAAA,MACb,QAAQ,MAAM,oCAAoC,GAAG;AAAA;AAAA;AAAA,EAIvD,uBACC;AAAA,cA4KE;AAAA,sBA3KD,MAgJE,OAhJF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,OA8IE,OA9IF;AAAA,UAAK,WAAU;AAAA,UAAf,UA8IE;AAAA,4BA7ID,OAuIE,OAvIF;AAAA,cAAK,WAAU;AAAA,cAAf,UAuIE;AAAA,gCAtID,OAoBE,OApBF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAoBE;AAAA,oCAnBD,MAEE,QAFF;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAEE;AAAA,oBACD,QAAQ,6BAAa,MAAQ,QAAR;AAAA;AAAA,qBAAQ;AAAA,oBAC7B,QAAQ,6BACR,MAAuC,QAAvC;AAAA,gCAAO,WAAW,QAAQ,SAAS;AAAA,qBAAI;AAAA,oBAEvC,4BACA;AAAA,gCASE;AAAA,wCARD,MAAQ,QAAR;AAAA;AAAA,yBAAQ;AAAA,wCACR,OAME,QANF;AAAA,0BAAM,WAAU;AAAA,0BAAhB,UAME;AAAA,4CALD,MAAC,OAAD;AAAA,8BAAO,WAAU;AAAA,6BAAU;AAAA,4BAD5B;AAAA,4BAGE,aAAa,QAAQ,WAAW,IAC9B,KAAK,WAAW,MAChB;AAAA;AAAA,yBACF;AAAA;AAAA,qBACD;AAAA;AAAA,iBAEF;AAAA,gCACF,OA0FE,OA1FF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UA0FE;AAAA,oBAzFA,6BACA,MAeE,OAfF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UACE,OAAO,IAAI,CAAC,wBACZ,MAWE,UAXF;AAAA,wBAEC,MAAK;AAAA,wBACL,SAAS,MAAM,iBAAiB,IAAI,GAAG;AAAA,wBACvC,WAAU;AAAA,wBAJX,0BAMC,MAAC,OAAD;AAAA,0BACC,KAAK,IAAI;AAAA,0BACT,KAAI;AAAA,0BACJ,WAAU;AAAA,yBACX;AAAA,yBATK,IAAI,EAUR,CACF;AAAA,qBACA;AAAA,oBAEF,4BACA,MAgBE,OAhBF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UACE,MAAM,IAAI,CAAC,yBACX,OAYE,OAZF;AAAA,wBAEC,WAAU;AAAA,wBAFX,UAYE;AAAA,0BARA,KAAK,SAAS,wBACd,MAAC,WAAD;AAAA,4BAAU,WAAU;AAAA,2BAAqC,oBAEzD,MAAC,WAAD;AAAA,4BAAU,WAAU;AAAA,2BAAsC;AAAA,0CAE3D,MAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB,UACE,KAAK;AAAA,2BACL;AAAA;AAAA,yBAVG,KAAK,EAWT,CACF;AAAA,qBACA;AAAA,oBAEF,uCACA,MAYE,OAZF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UACE,uBAAuB,IAAI,CAAC,wBAC5B,OAQE,OARF;AAAA,wBAEC,WAAU;AAAA,wBAFX,UAQE;AAAA,0CAJD,MAAC,eAAD;AAAA,4BAAc,WAAU;AAAA,2BAAsC;AAAA,0CAC9D,MAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB,UACE,IAAI;AAAA,2BACJ;AAAA;AAAA,yBANG,IAAI,EAOR,CACF;AAAA,qBACA;AAAA,oBAEF,8BACA,MAkCE,OAlCF;AAAA,sBAAK,WAAU;AAAA,sBAAf,0BACC,MAgCE,gBAhCF;AAAA,wBACC,eAAe,CAAC,UAAS;AAAA,wBACzB,YAAY;AAAA,0BACX,GAAG;AAAA,4BACF;AAAA,4BACA;AAAA,+BACG;AAAA,gDAEH,MAmBE,KAnBF;AAAA,4BACC;AAAA,4BACA,QAAO;AAAA,4BACP,KAAI;AAAA,4BACJ,SAAS,CAAC,MAAM;AAAA,8BACf,IAAI,OAAO,SAAS,OAAO,OAAO,MAAM;AAAA,gCACvC,EAAE,eAAe;AAAA,gCACjB,OAAO,OAAO,YACb;AAAA,kCACC,MAAM;AAAA,kCACN,KAAK;AAAA,gCACN,GACA,GACD;AAAA,8BACD;AAAA;AAAA,+BAEG;AAAA,4BAhBL;AAAA,2BAmBE;AAAA,wBAEJ;AAAA,wBA7BD,UA+BE,QAAQ,QAAQ,OAAO;AAAA,CAAM;AAAA,uBAC7B;AAAA,qBACD;AAAA;AAAA,iBAEF;AAAA,gBACD,4BACA,OAmBE,OAnBF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAmBE;AAAA,oCAlBD,OAQE,UARF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,WAAU;AAAA,sBACV,OAAM;AAAA,sBAJP,UAQE;AAAA,wCAFD,MAAC,WAAD;AAAA,0BAAW,WAAU;AAAA,yBAAU;AAAA,wBANhC;AAAA;AAAA,qBAQE;AAAA,oCACF,OAQE,UARF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,WAAU;AAAA,sBACV,OAAM;AAAA,sBAJP,UAQE;AAAA,wCAFD,MAAC,SAAD;AAAA,0BAAQ,WAAU;AAAA,yBAAU;AAAA,wBAN7B;AAAA;AAAA,qBAQE;AAAA;AAAA,iBACD;AAAA;AAAA,aAEF;AAAA,4BACF,MAIE,OAJF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACC,MAEE,OAFF;AAAA,gBAAK,WAAU;AAAA,gBAAf,0BACC,MAAC,MAAD;AAAA,kBAAM,WAAU;AAAA,iBAAiD;AAAA,eAChE;AAAA,aACD;AAAA;AAAA,SACD;AAAA,OACD;AAAA,MAED,iCACA,OAsBE,OAtBF;AAAA,QACC,MAAK;AAAA,QACL,cAAW;AAAA,QACX,WAAU;AAAA,QACV,SAAS,MAAM,iBAAiB,IAAI;AAAA,QACpC,WAAW,CAAC,MAAM,EAAE,QAAQ,YAAY,iBAAiB,IAAI;AAAA,QAC7D,UAAU;AAAA,QANX,UAsBE;AAAA,0BAdD,MAME,UANF;AAAA,YACC,MAAK;AAAA,YACL,SAAS,MAAM,iBAAiB,IAAI;AAAA,YACpC,WAAU;AAAA,YAHX,0BAKC,MAAC,IAAD;AAAA,cAAG,WAAU;AAAA,aAAqB;AAAA,WACjC;AAAA,0BACF,MAAC,OAAD;AAAA,YACC,KAAK;AAAA,YACL,KAAI;AAAA,YACJ,WAAU;AAAA,YACV,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,YAClC,WAAW,CAAC,MAAM,EAAE,QAAQ,WAAW,EAAE,gBAAgB;AAAA,WAC1D;AAAA;AAAA,OACC;AAAA;AAAA,GAEF;AAAA,GAGJ,CAAC,WAAW,cAAc;AAAA,EACzB,MAAM,gBAAgB,UAAU,QAAQ,QAAQ;AAAA,EAChD,MAAM,gBAAgB,UAAU,QAAQ,QAAQ;AAAA,EAEhD,OACC,UAAU,QAAQ,OAAO,UAAU,QAAQ,MAC3C,eAAe,YAAY,eAAe,WAC1C,eAAe,gBAAgB,eAAe,eAC9C,UAAU,QAAQ,cAAc,UAAU,QAAQ,aAClD,UAAU,QAAQ,OAAO,WAAW,UAAU,QAAQ,OAAO,UAC7D,UAAU,cAAc,UAAU,aAClC,UAAU,2BAA2B,UAAU;AAAA,CAGlD;;;ACrVA,oBAAS;AACT;AAAA;AAAA;AAAA;AAMA;AAAA,WACC;AAAA;AAAA,eAEA;AAAA;AAAA,YAEA;AAAA,kBACA;AAAA,eACA;AAAA;;;ACdD,qBAAS,sBAAU,uBAAQ,4BAAW;AACtC,mBAAS;;AASF,SAAS,aAAa;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,YAAY;AAAA,GACU;AAAA,EACtB,OAAO,WAAW,gBAAgB,WAAS,KAAK;AAAA,EAChD,OAAO,OAAO,YAAY,WAAS,SAAS,EAAE;AAAA,EAC9C,MAAM,WAAW,SAAyB,IAAI;AAAA,EAC9C,QAAQ,QAAQ,kBAAkB,iBAAiB,SAAS;AAAA,EAE5D,YAAU,MAAM;AAAA,IACf,IAAI,aAAa,SAAS,SAAS;AAAA,MAClC,SAAS,QAAQ,MAAM;AAAA,MACvB,SAAS,QAAQ,OAAO;AAAA,IACzB;AAAA,KACE,CAAC,SAAS,CAAC;AAAA,EAEd,YAAU,MAAM;AAAA,IACf,SAAS,SAAS,EAAE;AAAA,KAClB,CAAC,KAAK,CAAC;AAAA,EAEV,MAAM,OAAO,cAAY,MAAM;AAAA,IAC9B,MAAM,UAAU,MAAM,KAAK;AAAA,IAC3B,IAAI,WAAW,aAAa,SAAS,KAAK;AAAA,MACzC,cAAc,EAAE,OAAO,QAAQ,CAAC;AAAA,IACjC;AAAA,IACA,aAAa,KAAK;AAAA,KAChB,CAAC,OAAO,OAAO,aAAa,CAAC;AAAA,EAEhC,MAAM,SAAS,cAAY,MAAM;AAAA,IAChC,SAAS,SAAS,EAAE;AAAA,IACpB,aAAa,KAAK;AAAA,KAChB,CAAC,KAAK,CAAC;AAAA,EAEV,IAAI,WAAW;AAAA,IACd,uBACC,MAAC,SAAD;AAAA,MACC,KAAK;AAAA,MACL,MAAK;AAAA,MACL,OAAO;AAAA,MACP,UAAU,CAAC,MAAM,SAAS,EAAE,OAAO,KAAK;AAAA,MACxC,QAAQ;AAAA,MACR,WAAW,CAAC,MAAM;AAAA,QACjB,IAAI,EAAE,QAAQ;AAAA,UAAS,KAAK;AAAA,QAC5B,IAAI,EAAE,QAAQ;AAAA,UAAU,OAAO;AAAA;AAAA,MAEhC,WAAW,+GAA+G;AAAA,KAC3H;AAAA,EAEF;AAAA,EAEA,uBACC,OAQE,UARF;AAAA,IACC,MAAK;AAAA,IACL,SAAS,MAAM,aAAa,IAAI;AAAA,IAChC,WAAW,wFAAwF;AAAA,IACnG,OAAM;AAAA,IAJP,UAQE;AAAA,sBAFD,MAA0D,QAA1D;AAAA,QAAM,WAAU;AAAA,QAAhB,UAA4B,SAAS;AAAA,OAAqB;AAAA,sBAC1D,MAAC,SAAD;AAAA,QAAQ,WAAU;AAAA,OAAgF;AAAA;AAAA,GACjG;AAAA;;;;AD1CG,SAAS,aAAa;AAAA,EAC5B;AAAA,EACA;AAAA,GACsB;AAAA,EACtB,QAAQ,MAAM,eAAe,iBAC5B,QAAQ,gBAAgB,WAAW,QAAQ,KAAK,SACjD;AAAA,EACA,QAAQ,8BAAgB,eAAe;AAAA,EACvC,QAAQ,MAAM,gBAAgB,eAAe,QAAQ,EAAE;AAAA,EAEvD,MAAM,gBAAgB,UAAQ,MAAM;AAAA,IACnC,MAAM,cAAc,QAAQ,oBAAoB;AAAA,IAChD,MAAM,gBAAe,QAAQ,qBAAqB;AAAA,IAClD,MAAM,oBAAoB,QAAQ,qBAAqB;AAAA,IACvD,MAAM,2BAA2B,QAAQ,4BAA4B;AAAA,IACrE,OACC,qBAAqB,QAAQ,UAAwB,QAAQ,OAAO;AAAA,MACnE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC,KAAK;AAAA,KAEL;AAAA,IACF,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,EACT,CAAC;AAAA,EAED,MAAM,kBAAiB,CAAC,OAAsB;AAAA,IAC7C,IAAI,CAAC;AAAA,MAAI,OAAO;AAAA,IAChB,MAAM,UAAU,KAAK,MAAM,KAAK,IAAI;AAAA,IACpC,MAAM,UAAU,KAAK,MAAM,UAAU,EAAE;AAAA,IACvC,MAAM,QAAQ,KAAK,MAAM,UAAU,EAAE;AAAA,IACrC,IAAI,QAAQ;AAAA,MAAG,OAAO,GAAG,UAAU,UAAU;AAAA,IAC7C,IAAI,UAAU;AAAA,MAAG,OAAO,GAAG,YAAY,UAAU;AAAA,IACjD,OAAO,GAAG;AAAA;AAAA,EAGX,MAAM,eAAe,CAAC,QAAgB,IAAI,eAAe,OAAO;AAAA,EAEhE,MAAM,sBAAsB,CAAC,QAAgB;AAAA,IAC5C,IAAI,OAAO;AAAA,MAAS,OAAO,IAAI,MAAM,KAAS,QAAQ,CAAC;AAAA,IACvD,IAAI,OAAO;AAAA,MAAM,OAAO,IAAI,MAAM,MAAM,QAAQ,CAAC;AAAA,IACjD,OAAO,IAAI,SAAS;AAAA;AAAA,EAGrB,MAAM,gBAAgB,QAAQ,wBAAwB;AAAA,EACtD,MAAM,eAAe,QAAQ,qBAAqB;AAAA,EAElD,MAAM,WAAW,QAAQ,gBAAgB;AAAA,EACzC,MAAM,gBAAgB,YAAY;AAAA,EAGlC,MAAM,eAAe,UAAQ,MAAM;AAAA,IAClC,MAAM,OAAO,aAAa,QAAQ,UAAwB,QAAQ,KAAK;AAAA,IACvE,OAAO,MAAM,OAAO;AAAA,KAClB,CAAC,QAAQ,UAAU,QAAQ,KAAK,CAAC;AAAA,EAEpC,MAAM,sBAAsB,eACxB,gBAAgB,eAAgB,MACjC;AAAA,EAEH,MAAM,uBAAuB,MAAM;AAAA,IAClC,IAAI,uBAAuB;AAAA,MAAI,OAAO;AAAA,IACtC,IAAI,uBAAuB;AAAA,MAAI,OAAO;AAAA,IACtC,OAAO;AAAA;AAAA,EAGR,MAAM,mBAAmB,aAAY,mBAClC,qBACA;AAAA,EAEH,uBACC,MAsGE,OAtGF;AAAA,IAAK,WAAU;AAAA,IAAf,0BACC,OAoGE,OApGF;AAAA,MAAK,WAAW;AAAA,MAAhB,UAoGE;AAAA,QAnGA,4BACA,OAwBE,OAxBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAwBE;AAAA,4BAvBD,MAAC,YAAD;AAAA,cAAW,WAAU;AAAA,aAA0B;AAAA,4BAC/C,MAEE,QAFF;AAAA,cAAM,WAAU;AAAA,cAAhB;AAAA,aAEE;AAAA,YACD,iCACA;AAAA,wBAWE;AAAA,gCAVD,MAA8C,QAA9C;AAAA,kBAAM,WAAU;AAAA,kBAAhB;AAAA,iBAA8C;AAAA,gCAC9C,OAQE,UARF;AAAA,kBACC,MAAK;AAAA,kBACL,SAAS,MAAM,sBAAsB,cAAc,EAAE;AAAA,kBACrD,WAAU;AAAA,kBAHX,UAQE;AAAA,oBAHA,cAAc,SACd,WAAW,cAAc,GAAG,MAAM,GAAG,CAAC;AAAA,oCACvC,MAAC,cAAD;AAAA,sBAAc,WAAU;AAAA,qBAAU;AAAA;AAAA,iBACjC;AAAA;AAAA,aACD;AAAA,YAEF,CAAC,iBAAiB,QAAQ,mCAC1B,MAEE,QAFF;AAAA,cAAM,WAAU;AAAA,cAAhB;AAAA,aAEE;AAAA;AAAA,SAEF;AAAA,wBAGH,OA0BE,OA1BF;AAAA,UAAK,WAAU;AAAA,UAAf,UA0BE;AAAA,4BAzBD,MAAC,eAAD;AAAA,cACC,WAAW,QAAQ;AAAA,cACnB,OAAO,QAAQ;AAAA,cACf,WAAU;AAAA,aACX;AAAA,YAEC,aAAa,0BACb,OAgBE,UAhBF;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAM,QAAQ,YAAY,GAAG;AAAA,cACtC,WAAU;AAAA,cAHX,UAgBE;AAAA,gCAXD,MAAC,SAAD;AAAA,kBAAQ,WAAU;AAAA,iBAAU;AAAA,gCAC5B,MAAc,QAAd;AAAA;AAAA,iBAAc;AAAA,gBACb,YAAY,mBACb,YAAY,kBAAkB,oBAC7B,OAGE,QAHF;AAAA,kBAAM,WAAU;AAAA,kBAAhB,UAGE;AAAA,oCAFD,MAAC,YAAD;AAAA,sBAAW,WAAU;AAAA,qBAAc;AAAA,oBAClC,YAAY;AAAA;AAAA,iBACZ,oBAEF,MAAC,eAAD;AAAA,kBAAc,WAAU;AAAA,iBAAyB;AAAA;AAAA,aAEjD;AAAA;AAAA,SAEF;AAAA,wBAEF,OA0CE,OA1CF;AAAA,UAAK,WAAU;AAAA,UAAf,UA0CE;AAAA,4BAzCD,OAmBE,OAnBF;AAAA,cAAK,WAAU;AAAA,cAAf,UAmBE;AAAA,gCAlBD,OAQE,OARF;AAAA,kBACC,WAAU;AAAA,kBACV,OAAO,2BAA2B,aAAa,aAAa;AAAA,kBAF7D,UAQE;AAAA,oCAJD,MAA0C,QAA1C;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAA0C;AAAA,oCAC1C,MAEE,QAFF;AAAA,sBAAM,WAAW,eAAe,qBAAqB;AAAA,sBAArD,UACE,oBAAoB,aAAa;AAAA,qBACjC;AAAA;AAAA,iBACD;AAAA,gCACF,OAQE,OARF;AAAA,kBACC,WAAU;AAAA,kBACV,OAAO,iBAAiB,aAAa,YAAY;AAAA,kBAFlD,UAQE;AAAA,oCAJD,MAA0C,QAA1C;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAA0C;AAAA,oCAC1C,MAEE,QAFF;AAAA,sBAAM,WAAU;AAAA,sBAAhB,UACE,oBAAoB,YAAY;AAAA,qBAChC;AAAA;AAAA,iBACD;AAAA;AAAA,aACD;AAAA,4BAEF,OAKE,OALF;AAAA,cAAK,WAAU;AAAA,cAAf,UAKE;AAAA,gCAJD,MAAC,QAAD;AAAA,kBAAO,WAAU;AAAA,iBAAU;AAAA,gCAC3B,MAEE,QAFF;AAAA,kBAAM,WAAU;AAAA,kBAAhB,UACE,gBAAe,QAAQ,eAAe;AAAA,iBACtC;AAAA;AAAA,aACD;AAAA,YAED,gBAAgB,qBAChB,OAKE,OALF;AAAA,cAAK,WAAU;AAAA,cAAf,UAKE;AAAA,gCAJD,MAAC,YAAD;AAAA,kBAAY,WAAU;AAAA,iBAAU;AAAA,gCAChC,MAEE,QAFF;AAAA,kBAAM,WAAU;AAAA,kBAAhB,UACE,cAAc,QAAQ,CAAC;AAAA,iBACvB;AAAA;AAAA,aACD;AAAA,4BAGH,OAGE,OAHF;AAAA,cAAK,WAAU;AAAA,cAAf,UAGE;AAAA,gCAFD,MAAC,cAAD;AAAA,kBAAc,UAAU,QAAQ;AAAA,kBAAU,MAAM;AAAA,iBAAI;AAAA,gCACpD,MAA+D,QAA/D;AAAA,kBAAM,WAAU;AAAA,kBAAhB,UAA+C,QAAQ;AAAA,iBAAQ;AAAA;AAAA,aAC9D;AAAA;AAAA,SACD;AAAA;AAAA,KACD;AAAA,GACD;AAAA;;;AE/MJ,oBAAS;AACT;AAAA,0BACC;AAAA,kBAEA;AAAA;AAGD;AAAA,gBACC;AAAA;AAAA,eAEA;AAAA,kBACA;AAAA,YACA;AAAA,kBACA;AAAA,eACA;AAAA;;;ACdD,iBAAS;;;ACAT,mBAAS;AAgBF,IAAM,gBAAgB,SAAmB,CAAC,SAAS;AAAA,EACzD,OAAO,CAAC;AAAA,EACR,WAAW,CAAC;AAAA,EACZ,aAAa,CAAC;AAAA,EACd,aAAa;AAAA,EACb,eAAe;AAAA,EACf,UAAU,CAAC,UAAU,SACpB,IAAI,CAAC,OAAO,EAAE,OAAO,KAAK,EAAE,QAAQ,WAAW,KAAK,EAAE,EAAE;AAAA,EACzD,YAAY,CAAC,UAAU,YACtB,IAAI,CAAC,OAAO,EAAE,WAAW,KAAK,EAAE,YAAY,WAAW,QAAQ,EAAE,EAAE;AAAA,EACpE,gBAAgB,CAAC,UAAU,SAC1B,IAAI,CAAC,OAAO,EAAE,aAAa,KAAK,EAAE,cAAc,WAAW,KAAK,EAAE,EAAE;AAAA,EACrE,WAAW,CAAC,aAAa,IAAI,EAAE,aAAa,MAAM,eAAe,SAAS,CAAC;AAAA,EAC3E,YAAY,MAAM,IAAI,EAAE,aAAa,OAAO,eAAe,KAAK,CAAC;AAClE,EAAE;;;;ADrBF,IAAM,OAAO;AACb,IAAM,SAAS;AACf,IAAM,UAAU,OAAO,UAAU;AACjC,IAAM,gBAAgB,IAAI,KAAK,KAAK;AAEpC,SAAS,QAAQ,CAAC,SAAyB;AAAA,EAC1C,IAAI,WAAW;AAAA,IAAI,OAAO;AAAA,EAC1B,IAAI,WAAW;AAAA,IAAI,OAAO;AAAA,EAC1B,OAAO;AAAA;AAGD,IAAM,YAAY,OAAK,SAAS,UAAS;AAAA,EAC/C;AAAA,EACA;AAAA,GACkB;AAAA,EAClB,MAAM,YAAY,cAAc,CAAC,MAAM,EAAE,SAAS;AAAA,EAClD,MAAM,UAAU,MAAM,eAAe,eAAe;AAAA,EACpD,MAAM,aAAa,gBAAiB,UAAU,MAAO;AAAA,EACrD,MAAM,QAAQ,SAAS,OAAO;AAAA,EAE9B,uBACC,OAwCE,UAxCF;AAAA,IACC,MAAK;AAAA,IACL,SAAS,MAAM,UAAU,QAAQ;AAAA,IACjC,WAAU;AAAA,IACV,OAAO,UAAU,KAAK,MAAM,OAAO;AAAA,IAJpC,UAwCE;AAAA,sBAlCD,OA2BE,OA3BF;AAAA,QACC,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAU;AAAA,QACV,MAAK;AAAA,QACL,cAAW;AAAA,QALZ,UA2BE;AAAA,0BApBD,MAAC,UAAD;AAAA,YACC,IAAI,OAAO;AAAA,YACX,IAAI,OAAO;AAAA,YACX,GAAG;AAAA,YACH,MAAK;AAAA,YACL,QAAO;AAAA,YACP,aAAa;AAAA,WACd;AAAA,0BACA,MAAC,UAAD;AAAA,YACC,IAAI,OAAO;AAAA,YACX,IAAI,OAAO;AAAA,YACX,GAAG;AAAA,YACH,MAAK;AAAA,YACL,QAAQ;AAAA,YACR,aAAa;AAAA,YACb,iBAAiB;AAAA,YACjB,kBAAkB;AAAA,YAClB,eAAc;AAAA,YACd,WAAU;AAAA,WACX;AAAA;AAAA,OACC;AAAA,sBACF,MAKE,QALF;AAAA,QACC,WAAU;AAAA,QACV,OAAO,EAAE,UAAU,EAAE;AAAA,QAFtB;AAAA,OAKE;AAAA;AAAA,GACD;AAAA,CAEH;;;AExED,iBAAS,mBAAM;;AAMf,SAAS,mBAAmB,CAAC,UAAiC;AAAA,EAC7D,IAAI,CAAC;AAAA,IAAU,OAAO;AAAA,EACtB,MAAM,MAAM,KAAK,IAAI;AAAA,EACrB,MAAM,QAAQ,IAAI,KAAK,QAAQ,EAAE,QAAQ;AAAA,EACzC,MAAM,OAAO,QAAQ;AAAA,EACrB,IAAI,QAAQ;AAAA,IAAG,OAAO;AAAA,EACtB,MAAM,OAAO,KAAK,MAAM,OAAO,QAAU;AAAA,EACzC,MAAM,QAAQ,KAAK,MAAO,OAAO,WAAc,OAAS;AAAA,EACxD,MAAM,UAAU,KAAK,MAAO,OAAO,UAAa,KAAM;AAAA,EACtD,IAAI,OAAO;AAAA,IAAG,OAAO,GAAG,SAAS;AAAA,EACjC,IAAI,QAAQ;AAAA,IAAG,OAAO,GAAG,UAAU;AAAA,EACnC,OAAO,GAAG;AAAA;AAGX,SAAS,WAAW,CAAC,SAAyB;AAAA,EAC7C,IAAI,WAAW;AAAA,IAAO,OAAO;AAAA,EAC7B,IAAI,WAAW;AAAA,IAAO,OAAO;AAAA,EAC7B,OAAO;AAAA;AAGR,SAAS,QAAQ;AAAA,EAChB;AAAA,EACA,QAAQ;AAAA,GAIN;AAAA,EACF,MAAM,UAAU,KAAK,IAAI,EAAE,aAAa,GAAG;AAAA,EAC3C,MAAM,WACL,WAAW,KACR,eACA,WAAW,KACV,iBACA;AAAA,EAEL,uBACC,OAoBE,OApBF;AAAA,IAAK,WAAU;AAAA,IAAf,UAoBE;AAAA,sBAnBD,OAYE,OAZF;AAAA,QAAK,WAAU;AAAA,QAAf,UAYE;AAAA,0BAXD,MAAiD,QAAjD;AAAA,YAAM,WAAU;AAAA,YAAhB,UAAyC;AAAA,WAAQ;AAAA,0BACjD,OASE,OATF;AAAA,YAAK,WAAU;AAAA,YAAf,UASE;AAAA,8BARD,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBADA,KAAK,MAAM,OAAO;AAAA,kBADpB;AAAA;AAAA,eAEE;AAAA,cACD,EAAE,4BACF,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBAFF;AAAA,kBACY,oBAAoB,EAAE,QAAQ;AAAA;AAAA,eACxC;AAAA;AAAA,WAEF;AAAA;AAAA,OACD;AAAA,sBACF,MAKE,OALF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,MAAC,OAAD;AAAA,UACC,WAAW,mDAAmD;AAAA,UAC9D,OAAO,EAAE,OAAO,GAAG,WAAW;AAAA,SAC/B;AAAA,OACC;AAAA;AAAA,GACD;AAAA;AAIG,IAAM,aAAa,OAAK,SAAS,WAAU,GAAG;AAAA,EACpD,MAAM,SAAS,cAAc,CAAC,MAAM,EAAE,WAAW;AAAA,EACjD,MAAM,WAAW,cAAc,CAAC,MAAM,EAAE,aAAa;AAAA,EACrD,MAAM,aAAa,cAAc,CAAC,MAAM,EAAE,UAAU;AAAA,EACpD,MAAM,QAAQ,cAAc,CAAC,MAC5B,WAAW,EAAE,MAAM,YAAY,SAChC;AAAA,EAEA,MAAM,QAAQ,UACb,sBACC,OAGE,OAHF;AAAA,IAAK,WAAU;AAAA,IAAf,UAGE;AAAA,MAFA,4BAAY,MAAC,cAAD;AAAA,QAAc;AAAA,QAAoB,MAAM;AAAA,OAAI;AAAA,sBACzD,MAAsB,QAAtB;AAAA;AAAA,OAAsB;AAAA;AAAA,GACrB,GAEH,CAAC,QAAQ,CACV;AAAA,EAEA,IAAI,CAAC;AAAA,IAAO,OAAO;AAAA,EAEnB,uBACC,MAwEE,OAxEF;AAAA,IAAO;AAAA,IAAgB,SAAS;AAAA,IAAY;AAAA,IAAc,UAAS;AAAA,IAAnE,0BACC,OAsEE,OAtEF;AAAA,MAAK,WAAU;AAAA,MAAf,UAsEE;AAAA,QArEA,MAAM,gCACN,OAKE,OALF;AAAA,UAAK,WAAU;AAAA,UAAf,UAKE;AAAA,4BAJD,MAAC,QAAD;AAAA,cAAM,WAAU;AAAA,aAAgD;AAAA,4BAChE,MAEE,QAFF;AAAA,cAAM,WAAU;AAAA,cAAhB;AAAA,aAEE;AAAA;AAAA,SACD;AAAA,QAGF,MAAM,iCACN,MAAC,UAAD;AAAA,UACC,OAAO,GAAG,YAAY,MAAM,cAAc,aAAa;AAAA,UACvD,QAAQ,MAAM;AAAA,SACf;AAAA,QAGA,MAAM,mCACN,MAAC,UAAD;AAAA,UACC,OAAO,GAAG,YAAY,MAAM,gBAAgB,aAAa;AAAA,UACzD,QAAQ,MAAM;AAAA,SACf;AAAA,QAGA,MAAM,gBAAgB,MAAM,aAAa,cAAc,qBACvD,MAAC,UAAD;AAAA,UACC,OAAM;AAAA,UACN,QAAQ;AAAA,YACP,aAAa,MAAM,aAAa;AAAA,YAChC,eAAe;AAAA,YACf,UAAU,MAAM,aAAa;AAAA,UAC9B;AAAA,SACD;AAAA,QAGA,MAAM,YAAY,8BAClB,MAQE,OARF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,OAME,OANF;AAAA,YAAK,WAAU;AAAA,YAAf,UAME;AAAA,8BALD,MAAuD,QAAvD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAuD;AAAA,8BACvD,OAGE,QAHF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAGE;AAAA,kBAHF;AAAA,kBACG,MAAM,WAAW,aAAa,QAAQ,CAAC;AAAA,kBAD1C;AAAA,kBAEE,MAAM,WAAW;AAAA;AAAA,eACjB;AAAA;AAAA,WACD;AAAA,SACD;AAAA,QAGF,MAAM,SAAS,+BACf,MASE,OATF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,OAOE,OAPF;AAAA,YAAK,WAAU;AAAA,YAAf,UAOE;AAAA,8BAND,MAAiD,QAAjD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAiD;AAAA,8BACjD,MAIE,QAJF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UACE,MAAM,QAAQ,YAAY,OACxB,IAAI,MAAM,QAAQ,QAAQ,QAAQ,CAAC,MACnC;AAAA,eACF;AAAA;AAAA,WACD;AAAA,SACD;AAAA,QAGF,MAAM,4BACN,MAOE,OAPF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,OAKE,OALF;AAAA,YAAK,WAAU;AAAA,YAAf,UAKE;AAAA,8BAJD,MAA8C,QAA9C;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAA8C;AAAA,8BAC9C,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UACE,MAAM;AAAA,eACN;AAAA;AAAA,WACD;AAAA,SACD;AAAA;AAAA,KAEF;AAAA,GACD;AAAA,CAEH;;;ACjKD,sBAAS,4BAAW,yBAAa;AAIjC,IAAM,gBAAgB;AACtB,IAAM,kBAAkB;AAExB,IAAM,WAAW,IAAI;AAEd,SAAS,gBAAgB,CAC/B,UACA,UACC;AAAA,EACD,MAAM,WAAW,cAAc,CAAC,MAAM,EAAE,QAAQ;AAAA,EAChD,MAAM,aAAa,cAAc,CAAC,MAAM,EAAE,UAAU;AAAA,EACpD,MAAM,iBAAiB,cAAc,CAAC,MAAM,EAAE,cAAc;AAAA,EAC5D,MAAM,QAAQ,cAAc,CAAC,MAC5B,WAAW,EAAE,MAAM,YAAY,SAChC;AAAA,EAEA,MAAM,kBACL,aAAa,YAAY,aAAa,eAAe,aAAa;AAAA,EAEnE,MAAM,aAAa,cAAY,YAAY;AAAA,IAC1C,IAAI,CAAC,YAAY,CAAC;AAAA,MAAiB;AAAA,IACnC,IAAI,SAAS,IAAI,QAAQ;AAAA,MAAG;AAAA,IAE5B,MAAM,OAAO,cAAc,SAAS,EAAE,YAAY,aAAa;AAAA,IAC/D,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO;AAAA,MAAiB;AAAA,IAEjD,SAAS,IAAI,QAAQ;AAAA,IACrB,WAAW,UAAU,IAAI;AAAA,IACzB,IAAI;AAAA,MACH,MAAM,OAAO,MAAM,UAAU,iBAAiB,QAAQ;AAAA,MACtD,SAAS,UAAU,IAAI;AAAA,MACvB,eAAe,UAAU,KAAK,IAAI,CAAC;AAAA,MAClC,MAAM,WACN;AAAA,MACD,WAAW,UAAU,KAAK;AAAA,MAC1B,SAAS,OAAO,QAAQ;AAAA;AAAA,KAEvB,CAAC,UAAU,iBAAiB,UAAU,YAAY,cAAc,CAAC;AAAA,EAEpE,MAAM,WAAW,SAAO,UAAU;AAAA,EAClC,SAAS,UAAU;AAAA,EAEnB,YAAU,MAAM;AAAA,IACf,IAAI,CAAC;AAAA,MAAiB;AAAA,IAEtB,SAAS,QAAQ;AAAA,IAEjB,MAAM,WAAW,YAAY,MAAM,SAAS,QAAQ,GAAG,aAAa;AAAA,IACpE,OAAO,MAAM,cAAc,QAAQ;AAAA,KACjC,CAAC,iBAAiB,QAAQ,CAAC;AAAA,EAE9B,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;;;;AJzBM,SAAS,UAAU;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACmB;AAAA,EACnB,QAAQ,MAAM,eAAe,iBAC5B,QAAQ,gBAAgB,WAAW,QAAQ,KAAK,SACjD;AAAA,EACA,QAAQ,MAAM,gBAAgB,eAAe,QAAQ,EAAE;AAAA,EAEvD,MAAM,gBAAgB,UAAQ,MAAM;AAAA,IACnC,MAAM,cAAc,QAAQ,oBAAoB;AAAA,IAChD,MAAM,eAAe,QAAQ,qBAAqB;AAAA,IAClD,MAAM,oBAAoB,QAAQ,qBAAqB;AAAA,IACvD,MAAM,2BAA2B,QAAQ,4BAA4B;AAAA,IACrE,OACC,sBAAqB,QAAQ,UAAwB,QAAQ,OAAO;AAAA,MACnE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC,KAAK;AAAA,KAEL;AAAA,IACF,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,EACT,CAAC;AAAA,EAED,MAAM,sBAAsB,CAAC,QAAgB;AAAA,IAC5C,IAAI,OAAO;AAAA,MAAS,OAAO,IAAI,MAAM,KAAS,QAAQ,CAAC;AAAA,IACvD,IAAI,OAAO;AAAA,MAAM,OAAO,IAAI,MAAM,MAAM,QAAQ,CAAC;AAAA,IACjD,OAAO,IAAI,SAAS;AAAA;AAAA,EAGrB,MAAM,gBAAgB,QAAQ,wBAAwB;AAAA,EAEtD,MAAM,WAAW,QAAQ,gBAAgB;AAAA,EACzC,MAAM,gBAAgB,YAAY;AAAA,EAGlC,MAAM,eAAe,UAAQ,MAAM;AAAA,IAClC,MAAM,OAAO,cAAa,QAAQ,UAAwB,QAAQ,KAAK;AAAA,IACvE,OAAO,MAAM,OAAO;AAAA,KAClB,CAAC,QAAQ,UAAU,QAAQ,KAAK,CAAC;AAAA,EAEpC,MAAM,sBAAsB,eACxB,gBAAgB,eAAgB,MACjC;AAAA,EAEH,MAAM,uBAAuB,MAAM;AAAA,IAClC,IAAI,uBAAuB;AAAA,MAAI,OAAO;AAAA,IACtC,IAAI,uBAAuB;AAAA,MAAI,OAAO;AAAA,IACtC,OAAO;AAAA;AAAA,EAGR,QAAQ,MAAM,cAAc,aAAa;AAAA,EACzC,MAAM,mBAAmB,YAAY,QAAQ,WAAW;AAAA,EACxD,QAAQ,OAAO,oBAAoB,iBAClC,QAAQ,UACR,gBACD;AAAA,EAEA,uBACC;AAAA,cAkGE;AAAA,sBAjGD,MA+FE,OA/FF;AAAA,QACC,WAAW,kLACV,YAAY,kBAAkB;AAAA,QAFhC,0BAKC,OAyFE,OAzFF;AAAA,UAAK,WAAU;AAAA,UAAf,UAyFE;AAAA,4BAxFD,OAmDE,OAnDF;AAAA,cAAK,WAAU;AAAA,cAAf,UAmDE;AAAA,gBAlDA,2BACA,MAAC,YAAD;AAAA,kBAAW,WAAU;AAAA,iBAAwC,oBAE7D,MAAC,eAAD;AAAA,kBAAe,WAAU;AAAA,iBAAwB;AAAA,gCAElD,MAAC,eAAD;AAAA,kBACC,WAAW,QAAQ;AAAA,kBACnB,OAAO,QAAQ;AAAA,kBACf,WAAU;AAAA,iBACX;AAAA,gBACC,aAAa,0BACb,OAeE,UAfF;AAAA,kBACC,MAAK;AAAA,kBACL,SAAS,MAAM,QAAQ,YAAY,GAAG;AAAA,kBACtC,WAAU;AAAA,kBAHX,UAeE;AAAA,oCAVD,MAAC,SAAD;AAAA,sBAAQ,WAAU;AAAA,qBAAU;AAAA,oBAC3B,YAAY,mBACb,YAAY,kBAAkB,oBAC7B,OAGE,QAHF;AAAA,sBAAM,WAAU;AAAA,sBAAhB,UAGE;AAAA,wCAFD,MAAC,YAAD;AAAA,0BAAW,WAAU;AAAA,yBAAc;AAAA,wBAClC,YAAY;AAAA;AAAA,qBACZ,oBAEF,MAAC,eAAD;AAAA,sBAAc,WAAU;AAAA,qBAAyB;AAAA;AAAA,iBAEjD;AAAA,gBAEF,YAAY,iCACZ;AAAA,4BAmBE;AAAA,oCAlBD,MAEE,QAFF;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAEE;AAAA,oCACF,OAcE,UAdF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS,MAAM,sBAAsB,cAAc,EAAE;AAAA,sBACrD,WAAU;AAAA,sBACV,OACC,cAAc,SACd,WAAW,cAAc,GAAG,MAAM,GAAG,CAAC;AAAA,sBANxC,UAcE;AAAA,wCALD,MAGE,QAHF;AAAA,0BAAM,WAAU;AAAA,0BAAhB,UACE,cAAc,SACd,WAAW,cAAc,GAAG,MAAM,GAAG,CAAC;AAAA,yBACtC;AAAA,wCACF,MAAC,eAAD;AAAA,0BAAc,WAAU;AAAA,yBAAwB;AAAA;AAAA,qBAC/C;AAAA;AAAA,iBACD;AAAA;AAAA,aAEF;AAAA,4BAEF,OAkCE,OAlCF;AAAA,cAAK,WAAU;AAAA,cAAf,UAkCE;AAAA,gBAjCA,gCAAgB,MAAC,YAAD;AAAA,kBAAY,WAAW,QAAQ;AAAA,iBAAI;AAAA,gBAEnD,mBAAmB,yBACnB,MAAC,WAAD;AAAA,kBAAW;AAAA,kBAAc,UAAU,QAAQ;AAAA,iBAAU;AAAA,gCAGtD,MAUE,OAVF;AAAA,kBAAK,WAAU;AAAA,kBAAf,0BACC,OAQE,OARF;AAAA,oBACC,WAAU;AAAA,oBACV,OAAO,2BAA2B,cAAc,eAAe;AAAA,oBAFhE,UAQE;AAAA,sCAJD,MAA0C,QAA1C;AAAA,wBAAM,WAAU;AAAA,wBAAhB;AAAA,uBAA0C;AAAA,sCAC1C,MAEE,QAFF;AAAA,wBAAM,WAAW,eAAe,qBAAqB;AAAA,wBAArD,UACE,oBAAoB,aAAa;AAAA,uBACjC;AAAA;AAAA,mBACD;AAAA,iBACD;AAAA,gBAED,gBAAgB,qBAChB,OAKE,OALF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAKE;AAAA,oCAJD,MAAC,aAAD;AAAA,sBAAY,WAAU;AAAA,qBAAU;AAAA,oCAChC,MAEE,QAFF;AAAA,sBAAM,WAAU;AAAA,sBAAhB,UACE,cAAc,QAAQ,CAAC;AAAA,qBACvB;AAAA;AAAA,iBACD;AAAA,gCAGH,OAKE,OALF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAKE;AAAA,oCAJD,MAAC,cAAD;AAAA,sBAAc,UAAU,QAAQ;AAAA,sBAAU,MAAM;AAAA,qBAAI;AAAA,oCACpD,MAEE,QAFF;AAAA,sBAAM,WAAU;AAAA,sBAAhB,UACE,QAAQ;AAAA,qBACR;AAAA;AAAA,iBACD;AAAA;AAAA,aACD;AAAA;AAAA,SACD;AAAA,OACD;AAAA,sBACF,MAAC,YAAD,EAAY;AAAA;AAAA,GACX;AAAA;;;AKxMJ,iBAAS,oBAAM;AACf,+BAAiB,4BAAY,0BAAa,eAAS;;AAY5C,IAAM,oBAAoB,OAAK,SAAS,kBAAiB;AAAA,EAC/D;AAAA,EACA;AAAA,EACA;AAAA,GAC0B;AAAA,EAC1B,OAAO,cAAc,mBAAmB,WAAS,KAAK;AAAA,EACtD,OAAO,gBAAgB,qBAAqB,WAE1C,IAAI;AAAA,EACN,MAAM,iBAAiB,aAAa,CAAC,MAAM,EAAE,cAAc;AAAA,EAC3D,MAAM,YAAY,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,MAAM;AAAA,EAE9D,MAAM,qBAAqB,YAAY;AAAA,IACtC,kBAAkB,QAAQ;AAAA,IAC1B,gBAAgB,IAAI;AAAA,IACpB,IAAI;AAAA,MACH,MAAM,UAAU,kBAAkB,aAAa,WAAW,QAAQ;AAAA,MAClE,iBAAiB,QAAQ;AAAA,MACxB,OAAO,OAAO;AAAA,MACf,MAAM,MACL,iBAAiB,QAAQ,MAAM,UAAU,2BAC1C;AAAA,MACA,gBAAgB,KAAK;AAAA,MACrB,kBAAkB,IAAI;AAAA;AAAA;AAAA,EAIxB,MAAM,mBAAmB,YAAY;AAAA,IACpC,kBAAkB,MAAM;AAAA,IAExB,eAAe;AAAA,IAEf,UAAU,kBAAkB,aAAa,WAAW,MAAM,EAAE,MAAM,MAAM,EAEvE;AAAA,IACD,iBAAiB,MAAM;AAAA;AAAA,EAGxB,MAAM,eAAe,YAAY;AAAA,IAChC,gBAAgB,IAAI;AAAA,IACpB,IAAI;AAAA,MACH,MAAM,UAAU,YAAY,aAAa,SAAS;AAAA,MAClD,SAAS;AAAA,MACR,OAAO,OAAO;AAAA,MACf,MAAM,MAAM,iBAAiB,QAAQ,MAAM,UAAU,kBAAkB;AAAA,MACvE,gBAAgB,KAAK;AAAA;AAAA;AAAA,EAIvB,uBACC,OAmFE,OAnFF;AAAA,IAAK,WAAU;AAAA,IAAf,UAmFE;AAAA,sBAlFD,OAQE,OARF;AAAA,QAAK,WAAU;AAAA,QAAf,UAQE;AAAA,0BAPD,MAAC,eAAD;AAAA,YAAa,WAAU;AAAA,WAAuC;AAAA,0BAC9D,MAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB;AAAA,WAEE;AAAA,0BACF,MAEE,QAFF;AAAA,YAAM,WAAU;AAAA,YAAhB;AAAA,WAEE;AAAA;AAAA,OACD;AAAA,MAED,6BACA,MAEE,KAFF;AAAA,QAAG,WAAU;AAAA,QAAb;AAAA,OAEE;AAAA,sBAGH,OAaE,OAbF;AAAA,QAAK,WAAU;AAAA,QAAf,UAaE;AAAA,0BAZD,OAKE,OALF;AAAA,YAAK,WAAU;AAAA,YAAf,UAKE;AAAA,8BAJD,MAAsD,QAAtD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAsD;AAAA,8BACtD,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBAFF;AAAA,kBACI,aAAa,UAAU,QAAQ,CAAC;AAAA;AAAA,eAClC;AAAA;AAAA,WACD;AAAA,0BACF,OAKE,OALF;AAAA,YAAK,WAAU;AAAA,YAAf,UAKE;AAAA,8BAJD,MAAyD,QAAzD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAyD;AAAA,8BACzD,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBAFF;AAAA,kBACG,aAAa,eAAe,QAAQ,CAAC;AAAA;AAAA,eACtC;AAAA;AAAA,WACD;AAAA;AAAA,OACD;AAAA,sBAEF,OA0CE,OA1CF;AAAA,QAAK,WAAU;AAAA,QAAf,UA0CE;AAAA,0BAzCD,OASE,UATF;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,UAAU;AAAA,YACV,OAAM;AAAA,YACN,WAAU;AAAA,YALX,UASE;AAAA,8BAFD,MAAC,KAAD;AAAA,gBAAG,WAAU;AAAA,eAAU;AAAA,cAPxB;AAAA;AAAA,WASE;AAAA,0BAEF,OAaE,UAbF;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,UAAU;AAAA,YACV,OAAM;AAAA,YACN,WAAU;AAAA,YALX,UAaE;AAAA,cANA,mBAAmB,YAAY,+BAC/B,MAAC,UAAD;AAAA,gBAAS,WAAU;AAAA,eAAuB,oBAE1C,MAAC,QAAD;AAAA,gBAAQ,WAAU;AAAA,eAAU;AAAA,cAV9B;AAAA;AAAA,WAaE;AAAA,0BAEF,OAcE,UAdF;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,UAAU;AAAA,YACV,OAAM;AAAA,YACN,WAAU;AAAA,YALX,UAcE;AAAA,cAPA,mBAAmB,UAAU,+BAC7B,MAAC,UAAD;AAAA,gBAAS,WAAU;AAAA,eAAuB,oBAE1C,MAAC,aAAD;AAAA,gBAAY,WAAU;AAAA,eAAU;AAAA,cAVlC;AAAA,8BAaC,MAAmD,QAAnD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAmD;AAAA;AAAA,WAClD;AAAA;AAAA,OACD;AAAA,sBAEF,MAME,KANF;AAAA,QAAG,WAAU;AAAA,QAAb,UACE,mBAAmB,WACjB,gDACA,mBAAmB,SAClB,wBACA;AAAA,OACH;AAAA;AAAA,GACD;AAAA,CAEH;;;ACpJD,mBAAS;AAqBF,IAAM,wBAAwB,SAA2B,CAAC,SAAS;AAAA,EACzE,cAAc;AAAA,EACd,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,iBAAiB,CAAC,iBACjB,IAAI,EAAE,cAAc,cAAc,OAAO,gBAAgB,KAAK,CAAC;AAAA,EAChE,eAAe,CAAC,iBAAiB,IAAI,EAAE,aAAa,CAAC;AAAA,EACrD,mBAAmB,CAAC,mBAAmB,IAAI,EAAE,eAAe,CAAC;AAAA,EAC7D,mBAAmB,MAClB,IAAI,EAAE,cAAc,MAAM,cAAc,OAAO,gBAAgB,KAAK,CAAC;AACvE,EAAE;;;;ApDPK,IAAM,gBAAgB,OAAK,SAAS,cAAa;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,oBAAoB;AAAA,EACpB;AAAA,GACsB;AAAA,EACtB,MAAM,cAAc,gBAAe;AAAA,EACnC,QAAQ,8BAAgB,eAAe;AAAA,EACvC,MAAM,YAAY,SAAuB,IAAI;AAAA,EAC7C,MAAM,qBAAqB,SAAuB,IAAI;AAAA,EACtD,MAAM,mBAAmB,SAAuB,IAAI;AAAA,EACpD,OAAO,YAAY,iBAAiB,WAAS,IAAI;AAAA,EACjD,MAAM,gBAAgB,SAAO,IAAI;AAAA,EACjC,OAAO,gBAAgB,qBAAqB,WAAS,KAAK;AAAA,EAC1D,MAAM,mBAAmB,SAAO,KAAK;AAAA,EACrC,MAAM,uBAAuB,SAE3B,SAAS;AAAA,EACX,MAAM,kBAAkB,SAAO,CAAC;AAAA,EAChC,MAAM,oBAAoB,SAA2B,SAAS;AAAA,EAC9D,MAAM,uBAAuB,SAAO,KAAK;AAAA,EACzC,MAAM,mBAAmB,SAA2B,SAAS,EAAE;AAAA,EAC/D,MAAM,wBAAwB,SAAO,SAAS,MAAM;AAAA,EACpD,MAAM,sBAAsB,SAAO,YAAY;AAAA,EAC/C,MAAM,sBAAsB,SAAO,CAAC;AAAA,EACpC,MAAM,mBAAmB,SAAO,CAAC;AAAA,EAEjC,MAAM,eAAe,sBAAsB,CAAC,MAAM,EAAE,YAAY;AAAA,EAChE,MAAM,oBAAoB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB;AAAA,EAE1E,MAAM,oBACL,gBAAgB,aAAa,cAAc;AAAA,EAE5C,MAAM,eAAe,cAAY,MAAM;AAAA,IACtC,MAAM,YAAY,mBAAmB;AAAA,IACrC,IAAI,CAAC;AAAA,MAAW;AAAA,IAEhB,QAAQ,WAAW,cAAc,iBAAiB;AAAA,IAClD,MAAM,qBAAqB,eAAe,YAAY;AAAA,IAEtD,MAAM,wBAAwB,eAAe,oBAAoB;AAAA,IACjE,MAAM,iBAAiB,YAAY,iBAAiB,UAAU;AAAA,IAE9D,oBAAoB,UAAU;AAAA,IAC9B,iBAAiB,UAAU;AAAA,IAE3B,IAAI,qBAAqB,KAAK;AAAA,MAC7B,cAAc,UAAU;AAAA,MACxB,cAAc,IAAI;AAAA,IACnB,EAAO,SAAI,gBAAgB;AAAA,MAC1B,cAAc,UAAU;AAAA,MACxB,cAAc,KAAK;AAAA,MACnB,iBAAiB,UAAU;AAAA,IAC5B,EAAO,SAAI,CAAC,yBAAyB,cAAc,SAAS;AAAA,MAC3D,cAAc,UAAU;AAAA,MACxB,cAAc,KAAK;AAAA,IACpB;AAAA,IACA,IACC,kBACC,CAAC,cAAc,WAAW,sBAAsB,KAChD;AAAA,MACD,IAAI,qBAAqB,SAAS;AAAA,QACjC,aAAa,qBAAqB,OAAO;AAAA,MAC1C;AAAA,MACA,qBAAqB,UAAU,WAAW,MAAM;AAAA,QAC/C,iBAAiB,UAAU;AAAA,SACzB,GAAG;AAAA,IACP;AAAA,IAEA,MAAM,gBAAgB,iBAAiB;AAAA,IACvC,IAAI,eAAe;AAAA,MAClB,MAAM,aAAa,cAAc,sBAAsB;AAAA,MACvD,MAAM,gBAAgB,UAAU,sBAAsB;AAAA,MACtD,kBAAkB,WAAW,SAAS,cAAc,GAAG;AAAA,IACxD;AAAA,KACE,CAAC,CAAC;AAAA,EAGL,YAAU,MAAM;AAAA,IACf,IAAI;AAAA,MAAmB;AAAA,IAEvB,MAAM,iBAAiB,SAAS,OAAO,iBAAiB;AAAA,IACxD,iBAAiB,UAAU,SAAS;AAAA,IAEpC,IAAI,gBAAgB;AAAA,MACnB,qBAAqB,UAAU;AAAA,IAChC;AAAA,IAEA,IAAI,CAAC,qBAAqB,WAAW,SAAS,SAAS,GAAG;AAAA,MACzD,qBAAqB,UAAU;AAAA,MAC/B,MAAM,YAAY,mBAAmB;AAAA,MACrC,IAAI,WAAW;AAAA,QACd,UAAU,YAAY,UAAU;AAAA,MACjC;AAAA,IACD;AAAA,KACE,CAAC,SAAS,QAAQ,SAAS,IAAI,iBAAiB,CAAC;AAAA,EAEpD,YAAU,MAAM;AAAA,IACf,IAAI;AAAA,MAAmB;AAAA,IAEvB,MAAM,wBAAwB,gBAAgB,CAAC,oBAAoB;AAAA,IACnE,MAAM,gBAAgB,SAAS,SAAS,sBAAsB;AAAA,IAE9D,oBAAoB,UAAU;AAAA,IAC9B,sBAAsB,UAAU,SAAS;AAAA,IAGzC,IAAI,uBAAuB;AAAA,MAC1B,iBAAiB,UAAU;AAAA,MAC3B,cAAc,UAAU;AAAA,MACxB,cAAc,IAAI;AAAA,MAClB,sBAAsB,MAAM;AAAA,QAC3B,sBAAsB,MAAM;AAAA,UAC3B,MAAM,YAAY,mBAAmB;AAAA,UACrC,IAAI,WAAW;AAAA,YACd,UAAU,YAAY,UAAU;AAAA,UACjC;AAAA,SACA;AAAA,OACD;AAAA,IACF,EAAO,SAAI,iBAAiB,CAAC,iBAAiB,WAAW,CAAC,cAAc;AAAA,MACvE,cAAc,UAAU;AAAA,MACxB,cAAc,IAAI;AAAA,IACnB;AAAA,KACE,CAAC,SAAS,QAAQ,cAAc,iBAAiB,CAAC;AAAA,EAGrD,YAAU,MAAM;AAAA,IACf,IAAI;AAAA,MAAmB;AAAA,IAEvB,MAAM,YAAY,mBAAmB;AAAA,IACrC,IAAI,CAAC,aAAa,CAAC,cAAc,iBAAiB;AAAA,MAAS;AAAA,IAE3D,gBAAgB,UAAU,UAAU,eAAe,UAAU;AAAA,IAE7D,MAAM,UAAU,MAAM;AAAA,MACrB,MAAM,KAAK,mBAAmB;AAAA,MAC9B,IAAI,CAAC,MAAM,iBAAiB;AAAA,QAAS;AAAA,MAErC,MAAM,UAAU,GAAG;AAAA,MACnB,MAAM,SAAS,GAAG,eAAe,GAAG;AAAA,MACpC,MAAM,OAAO,SAAS;AAAA,MAEtB,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG;AAAA,QACvB,GAAG,YAAY,GAAG,eAAe,GAAG;AAAA,QACpC;AAAA,MACD;AAAA,MAGA,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI;AAAA,QACxB,GAAG,YAAY,GAAG,eAAe,GAAG;AAAA,QACpC;AAAA,MACD;AAAA,MAEA,GAAG,YAAY,UAAU,OAAO;AAAA,MAChC,kBAAkB,UAAU,sBAAsB,OAAO;AAAA;AAAA,IAG1D,IAAI,kBAAkB,SAAS;AAAA,MAC9B,qBAAqB,kBAAkB,OAAO;AAAA,IAC/C;AAAA,IACA,kBAAkB,UAAU,sBAAsB,OAAO;AAAA,KACvD,CAAC,UAAU,UAAU,CAAC;AAAA,EAEzB,YAAU,MAAM;AAAA,IACf,OAAO,MAAM;AAAA,MACZ,IAAI,qBAAqB,SAAS;AAAA,QACjC,aAAa,qBAAqB,OAAO;AAAA,MAC1C;AAAA,MACA,IAAI,kBAAkB,SAAS;AAAA,QAC9B,qBAAqB,kBAAkB,OAAO;AAAA,MAC/C;AAAA;AAAA,KAEC,CAAC,CAAC;AAAA,EAEL,MAAM,iBAAiB,MAAM;AAAA,IAC5B,iBAAiB,UAAU;AAAA,IAC3B,cAAc,UAAU;AAAA,IACxB,cAAc,IAAI;AAAA,IAClB,MAAM,YAAY,mBAAmB;AAAA,IACrC,IAAI,WAAW;AAAA,MACd,UAAU,YAAY,UAAU;AAAA,IACjC;AAAA;AAAA,EAGD,MAAM,mBAAmB,UAAQ,MAAM;AAAA,IACtC,OAAO,SAAS,OAAO,CAAC,YAAY,QAAQ,SAAS,QAAQ;AAAA,KAC3D,CAAC,QAAQ,CAAC;AAAA,EAEb,MAAM,oBAAoB,aAAY,mBACnC,UACC,qBACA,qBACD,UACC,gCACA;AAAA,EAGJ,MAAM,qBAAqB,cAC1B,CAAC,cAAsB;AAAA,IACtB,OAAO,YAAY;AAAA,MAClB,IAAI,CAAC;AAAA,QAAW;AAAA,MAChB,IAAI,CAAC;AAAA,QAAW;AAAA,MAEhB,YAAY,aACX,CAAC,YAAY,SAAS,GACtB,CAAC,gBAAgB;AAAA,QAChB,IAAI,CAAC;AAAA,UAAa,OAAO;AAAA,QACzB,OAAO,YAAY,IAAI,CAAC,QAAQ;AAAA,UAC/B,IAAI,IAAI,OAAO;AAAA,YAAW,OAAO;AAAA,UACjC,MAAM,cACL,IAAI,OAAO,OACV,CAAC,SAA8C;AAAA,YAC9C,IAAI,KAAK,SAAS;AAAA,cAAS,OAAO;AAAA,YAClC,IAAI,KAAK,SAAS,eAAe,KAAK,aAAa;AAAA,cAClD,OAAO;AAAA,YACR,OAAO;AAAA,WAET,KAAK,CAAC;AAAA,UACP,OAAO;AAAA,eACH;AAAA,YACH,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,OAAO;AAAA,UACR;AAAA,SACA;AAAA,OAEH;AAAA,MAEA,IAAI;AAAA,QACH,MAAM,UAAU,aAAa,WAAW,SAAS;AAAA,QAChD,OAAO,OAAO;AAAA,QACf,MAAM,MACL,iBAAiB,QAAQ,MAAM,UAAU,iBAC1C;AAAA;AAAA;AAAA,KAIH,CAAC,WAAW,WAAW,CACxB;AAAA,EAEA,MAAM,gBAAgB,cAAY,YAAY;AAAA,IAC7C,IAAI,CAAC;AAAA,MAAW;AAAA,IAChB,IAAI;AAAA,MACH,MAAM,UAAU,YAAY,WAAW,EAAE,SAAS,WAAW,CAAC;AAAA,MAC7D,OAAO,OAAO;AAAA,MACf,MAAM,MAAM,iBAAiB,QAAQ,MAAM,UAAU,mBAAmB;AAAA;AAAA,KAEvE,CAAC,SAAS,CAAC;AAAA,EAEd,IAAI,SAAS,WAAW,GAAG;AAAA,IAC1B,uBACC,MAEE,OAFF;AAAA,MAAK,WAAU;AAAA,MAAf;AAAA,KAEE;AAAA,EAEJ;AAAA,EAEA,uBACC,OAwGE,OAxGF;AAAA,IAAK,WAAU;AAAA,IAAf,UAwGE;AAAA,MAtGA,2BACA,MAAC,YAAD;AAAA,QACC;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA,qBAAqB;AAAA,OACtB;AAAA,sBAGD,OAgFE,OAhFF;AAAA,QACC,KAAK;AAAA,QACL,WAAU;AAAA,QACV,UAAU;AAAA,QAHX,UAgFE;AAAA,0BA1ED,MAOE,OAPF;AAAA,YAAK,KAAK;AAAA,YAAV,UACE,2BACA,MAAC,eAAD;AAAA,cACC;AAAA,cACA,qBAAqB;AAAA,aACtB;AAAA,WAEA;AAAA,0BAGF,MA+DE,OA/DF;AAAA,YAAK,WAAW,UAAU,cAAc;AAAA,YAAxC,0BACC,OA6DE,OA7DF;AAAA,cAAK,WAAW;AAAA,cAAhB,UA6DE;AAAA,gBA5DA,iBAAiB,IAAI,CAAC,SAAS,QAAQ;AAAA,kBACvC,MAAM,cAAc,iBAAiB,MAAM;AAAA,kBAC3C,MAAM,cAAc,iBAAiB,MAAM;AAAA,kBAC3C,MAAM,gBAAgB,QAAQ,iBAAiB,SAAS;AAAA,kBAExD,IAAI,QAAQ,SAAS,QAAQ;AAAA,oBAC5B,MAAM,uBACL,eAAe,YAAY,SAAS,cACjC,cACA;AAAA,oBACJ,uBACC,MAAC,kBAAD;AAAA,sBAEC;AAAA,sBACA;AAAA,sBACA,SAAS,QAAQ;AAAA,sBACjB,wBAAwB,sBAAsB;AAAA,uBAJzC,QAAQ,EAKd;AAAA,kBAEF;AAAA,kBAEA,IAAI,QAAQ,SAAS,aAAa;AAAA,oBACjC,MAAM,aACL,CAAC,eAAe,YAAY,SAAS;AAAA,oBACtC,MAAM,kBACL,eAAe,YAAY,SAAS;AAAA,oBAErC,uBACC,MAAC,uBAAD;AAAA,sBAEC;AAAA,sBACA;AAAA,sBACA;AAAA,sBACA,yBAAyB;AAAA,sBACzB;AAAA,sBACA,iBAAiB;AAAA,sBACjB,SACC,gBAAgB,mBAAmB,QAAQ,EAAE,IAAI;AAAA,sBAElD;AAAA,sBACA,WAAW,gBAAgB,gBAAgB;AAAA,uBAXtC,QAAQ,EAYd;AAAA,kBAEF;AAAA,kBAEA,OAAO;AAAA,iBACP;AAAA,gBAGA,qBAAqB,gCACrB,MAME,OANF;AAAA,kBAAK,WAAU;AAAA,kBAAf,0BACC,MAAC,mBAAD;AAAA,oBACC;AAAA,oBACA,kBAAkB,MAAM,kBAAkB;AAAA,oBAC1C,UAAU,MAAM,kBAAkB;AAAA,mBACnC;AAAA,iBACC;AAAA,gCAGH,MAAC,OAAD;AAAA,kBAAK,KAAK;AAAA,iBAAW;AAAA;AAAA,aACpB;AAAA,WACD;AAAA;AAAA,OACD;AAAA,MAGD,CAAC,8BACD,OAOE,UAPF;AAAA,QACC,MAAK;AAAA,QACL,SAAS;AAAA,QACT,WAAU;AAAA,QAHX,UAOE;AAAA,0BAFD,MAAC,WAAD;AAAA,YAAW,WAAU;AAAA,WAAU;AAAA,0BAC/B,MAAwB,QAAxB;AAAA;AAAA,WAAwB;AAAA;AAAA,OACvB;AAAA;AAAA,GAEF;AAAA,CAEH;;AqDvYD,iBAAS,mBAAM;;;ACAf,sBAAS,uBAAW;AACpB,2BAAS;;;ACGF,MAAM,UAAU;AAAA,EACd,kBAA0C;AAAA,EAC1C,WAA8C,IAAI;AAAA,EAClD,UAAU;AAAA,OAEZ,QAAO,CAAC,KAAa;AAAA,IAC1B,IAAI,KAAK,iBAAiB;AAAA,MACzB,KAAK,gBAAgB,MAAM;AAAA,IAC5B;AAAA,IAEA,KAAK,kBAAkB,IAAI;AAAA,IAC3B,KAAK,UAAU;AAAA,IAEf,MAAM,WAAW,CAAC,IAAI,SAAS,WAAW,KAAK,CAAC,IAAI,SAAS,WAAW;AAAA,IAExE,IAAI;AAAA,MACH,MAAM,WAAW,MAAM,MAAM,KAAK;AAAA,QACjC,QAAQ,WAAW,SAAS;AAAA,QAC5B,SAAS,EAAE,QAAQ,oBAAoB;AAAA,QACvC,QAAQ,KAAK,gBAAgB;AAAA,MAC9B,CAAC;AAAA,MAED,IAAI,CAAC,SAAS,IAAI;AAAA,QACjB,QAAQ,MAAM,4BAA4B,SAAS,MAAM;AAAA,QACzD;AAAA,MACD;AAAA,MAEA,MAAM,SAAS,SAAS,MAAM,UAAU;AAAA,MACxC,IAAI,CAAC,QAAQ;AAAA,QACZ,QAAQ,MAAM,wBAAwB;AAAA,QACtC;AAAA,MACD;AAAA,MAEA,MAAM,UAAU,IAAI;AAAA,MACpB,IAAI,SAAS;AAAA,MAEb,OAAO,KAAK,SAAS;AAAA,QACpB,QAAQ,MAAM,UAAU,MAAM,OAAO,KAAK;AAAA,QAC1C,IAAI;AAAA,UAAM;AAAA,QAEV,UAAU,QAAQ,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC;AAAA,QAChD,IAAI,MAAM,OAAO,QAAQ;AAAA;AAAA,CAAM;AAAA,QAE/B,OAAO,QAAQ,IAAI;AAAA,UAClB,MAAM,MAAM,OAAO,MAAM,GAAG,GAAG;AAAA,UAC/B,SAAS,OAAO,MAAM,MAAM,CAAC;AAAA,UAC7B,MAAM,QAAQ,IAAI,MAAM;AAAA,CAAI;AAAA,UAE5B,IAAI,YAAY;AAAA,UAChB,IAAI,OAAO;AAAA,UAEX,WAAW,QAAQ,OAAO;AAAA,YACzB,IAAI,KAAK,WAAW,SAAS,GAAG;AAAA,cAC/B,YAAY,KAAK,MAAM,CAAC,EAAE,KAAK;AAAA,YAChC,EAAO,SAAI,KAAK,WAAW,QAAQ,GAAG;AAAA,cACrC,SAAS,OAAO;AAAA,IAAO,MAAM,KAAK,MAAM,CAAC;AAAA,YAC1C,EAAO,SAAI,KAAK,WAAW,GAAG,GAAG,CACjC;AAAA,UACD;AAAA,UAEA,IAAI,MAAM;AAAA,YACT,IAAI;AAAA,cACH,MAAM,UAAU,KAAK,MAAM,IAAI;AAAA,cAC/B,KAAK,KAAK,EAAE,MAAM,WAAW,QAAQ,CAAC;AAAA,cACrC,OAAO,OAAO;AAAA,cACf,QAAQ,MAAM,yBAAyB,cAAc,KAAK;AAAA;AAAA,UAE5D;AAAA,UAEA,MAAM,OAAO,QAAQ;AAAA;AAAA,CAAM;AAAA,QAC5B;AAAA,MACD;AAAA,MACC,OAAO,OAAO;AAAA,MACf,IAAI,iBAAiB,SAAS,MAAM,SAAS,cAAc,CAC3D,EAAO,SACN,iBAAiB,aACjB,MAAM,YAAY,eACjB,CACF,EAAO;AAAA,QACN,QAAQ,MAAM,2BAA2B,KAAK;AAAA;AAAA;AAAA;AAAA,EAKjD,UAAU,GAAG;AAAA,IACZ,KAAK,UAAU;AAAA,IACf,IAAI,KAAK,iBAAiB;AAAA,MACzB,KAAK,gBAAgB,MAAM;AAAA,MAC3B,KAAK,kBAAkB;AAAA,IACxB;AAAA;AAAA,EAGD,EAAE,CAAC,WAAmB,SAA0B;AAAA,IAC/C,IAAI,CAAC,KAAK,SAAS,IAAI,SAAS,GAAG;AAAA,MAClC,KAAK,SAAS,IAAI,WAAW,IAAI,GAAK;AAAA,IACvC;AAAA,IACA,KAAK,SAAS,IAAI,SAAS,GAAG,IAAI,OAAO;AAAA,IAEzC,OAAO,MAAM;AAAA,MACZ,KAAK,IAAI,WAAW,OAAO;AAAA;AAAA;AAAA,EAI7B,GAAG,CAAC,WAAmB,SAA0B;AAAA,IAChD,MAAM,WAAW,KAAK,SAAS,IAAI,SAAS;AAAA,IAC5C,IAAI,UAAU;AAAA,MACb,SAAS,OAAO,OAAO;AAAA,MACvB,IAAI,SAAS,SAAS,GAAG;AAAA,QACxB,KAAK,SAAS,OAAO,SAAS;AAAA,MAC/B;AAAA,IACD;AAAA;AAAA,EAGO,IAAI,CAAC,OAAiB;AAAA,IAC7B,MAAM,WAAW,KAAK,SAAS,IAAI,MAAM,IAAI;AAAA,IAC7C,IAAI,UAAU;AAAA,MACb,WAAW,WAAW,UAAU;AAAA,QAC/B,QAAQ,KAAK;AAAA,MACd;AAAA,IACD;AAAA,IAEA,MAAM,cAAc,KAAK,SAAS,IAAI,GAAG;AAAA,IACzC,IAAI,aAAa;AAAA,MAChB,WAAW,WAAW,aAAa;AAAA,QAClC,QAAQ,KAAK;AAAA,MACd;AAAA,IACD;AAAA;AAEF;;;AD5HO,SAAS,gBAAgB,CAC/B,WACA,UAAU,MACT;AAAA,EACD,MAAM,cAAc,gBAAe;AAAA,EACnC,MAAM,YAAY,SAAyB,IAAI;AAAA,EAC/C,MAAM,wBAAwB,SAAsB,IAAI;AAAA,EAExD;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACG,qBAAqB;AAAA,EAEzB,YAAU,MAAM;AAAA,IACf,IAAI,CAAC,aAAa,CAAC,SAAS;AAAA,MAC3B;AAAA,IACD;AAAA,IAEA,sBAAsB,UAAU;AAAA,IAChC,IAAI,0BAA0B;AAAA,IAG9B,UACE,oBAAoB,SAAS,EAC7B,KAAK,CAAC,WAAW;AAAA,MACjB,IAAI,OAAO,MAAM,OAAO,QAAQ,SAAS,GAAG;AAAA,QAC3C,oBAAoB,OAAO,OAAO;AAAA,MACnC,EAAO;AAAA,QACN,oBAAoB,CAAC,CAAC;AAAA;AAAA,KAEvB,EACA,MAAM,MAAM;AAAA,MACZ,oBAAoB,CAAC,CAAC;AAAA,KACtB;AAAA,IAEF,MAAM,UAAS,IAAI;AAAA,IACnB,UAAU,UAAU;AAAA,IAEpB,MAAM,MAAM,UAAU,aAAa,SAAS;AAAA,IAC5C,QAAQ,IAAI,4CAA4C,GAAG;AAAA,IAC3D,QAAO,QAAQ,GAAG;AAAA,IAElB,MAAM,8BAA8B,CAAC,aAAgC;AAAA,MACpE,IAAI,sBAAsB,SAAS;AAAA,QAClC,MAAM,OAAO,SAAS,UACrB,CAAC,YAAY,QAAQ,OAAO,sBAAsB,OACnD;AAAA,QACA,IAAI,SAAS;AAAA,UAAI,OAAO;AAAA,MACzB;AAAA,MACA,SAAS,IAAI,SAAS,SAAS,EAAG,KAAK,GAAG,KAAK,GAAG;AAAA,QACjD,MAAM,YAAY,SAAS;AAAA,QAC3B,IAAI,UAAU,SAAS,eAAe,UAAU,WAAW,YAAY;AAAA,UACtE,OAAO;AAAA,QACR;AAAA,MACD;AAAA,MACA,OAAO;AAAA;AAAA,IAGR,MAAM,cAAc,CAAC,SAA8B;AAAA,MAClD,IACC,KAAK,eACL,OAAO,KAAK,gBAAgB,YAC5B,CAAC,MAAM,QAAQ,KAAK,WAAW,KAC/B,UAAU,KAAK,aACd;AAAA,QACD,OAAO,OAAQ,KAAK,YAAwC,QAAQ,EAAE;AAAA,MACvE;AAAA,MACA,IAAI,OAAO,KAAK,YAAY,UAAU;AAAA,QACrC,IAAI;AAAA,UACH,MAAM,SAAS,KAAK,MAAM,KAAK,OAAO;AAAA,UACtC,IAAI,UAAU,OAAO,OAAO,SAAS;AAAA,YAAU,OAAO,OAAO;AAAA,UAC5D,MAAM;AAAA,QACR,OAAO,KAAK;AAAA,MACb;AAAA,MACA,OAAO;AAAA;AAAA,IAGR,MAAM,qBAAqB,CAC1B,YACmB;AAAA,MACnB,IAAI,OAAO,SAAS,WAAW;AAAA,QAAU,OAAO,QAAQ;AAAA,MACxD,OAAO,OAAO,SAAS,eAAe,WACnC,QAAQ,aACR;AAAA;AAAA,IAGJ,MAAM,mBAAmB,CACxB,YACmB;AAAA,MACnB,IAAI,OAAO,SAAS,SAAS;AAAA,QAAU,OAAO,QAAQ;AAAA,MACtD,OAAO,OAAO,SAAS,aAAa,WAAW,QAAQ,WAAW;AAAA;AAAA,IAGnE,MAAM,mBAAmB,CACxB,YACa,SAAS,QAAQ,SAAS;AAAA,IAExC,MAAM,oBAAoB,CACzB,YACmB;AAAA,MACnB,IAAI,OAAO,SAAS,UAAU;AAAA,QAAU,OAAO,QAAQ;AAAA,MACvD,OAAO,OAAO,SAAS,mBAAmB,WACvC,QAAQ,iBACR;AAAA;AAAA,IAGJ,MAAM,qBAAqB,CAC1B,YACmB;AAAA,MACnB,IAAI,OAAO,SAAS,UAAU;AAAA,QAAU,OAAO,QAAQ;AAAA,MACvD,OAAO,OAAO,SAAS,oBAAoB,WACxC,QAAQ,kBACR;AAAA;AAAA,IAGJ,MAAM,yBAAyB,CAC9B,OACA,cACY;AAAA,MACZ,IAAI,OAAO,cAAc,UAAU;AAAA,QAClC,OAAO,MAAM;AAAA,MACd;AAAA,MAEA,MAAM,kBAAkB,MACtB,OAAO,CAAC,SAAS,KAAK,cAAc,SAAS,EAC7C,IAAI,CAAC,SAAS,KAAK,KAAK,EACxB,OAAO,CAAC,UAA2B,OAAO,SAAS,KAAK,CAAC;AAAA,MAE3D,IAAI,gBAAgB,SAAS,GAAG;AAAA,QAC/B,OAAO,KAAK,IAAI,GAAG,eAAe,IAAI;AAAA,MACvC;AAAA,MAEA,MAAM,sBAAsB,MAC1B,OACA,CAAC,SACA,OAAO,KAAK,cAAc,YAAY,KAAK,YAAY,SACzD,EACC,IAAI,CAAC,SAAS,KAAK,KAAK,EACxB,OAAO,CAAC,UAA2B,OAAO,SAAS,KAAK,CAAC;AAAA,MAE3D,MAAM,kBAAkB,MACtB,OACA,CAAC,SACA,OAAO,KAAK,cAAc,YAAY,KAAK,YAAY,SACzD,EACC,IAAI,CAAC,SAAS,KAAK,KAAK,EACxB,OAAO,CAAC,UAA2B,OAAO,SAAS,KAAK,CAAC;AAAA,MAE3D,MAAM,aACL,oBAAoB,SAAS,IAC1B,KAAK,IAAI,GAAG,mBAAmB,IAC/B;AAAA,MACJ,MAAM,aACL,gBAAgB,SAAS,IAAI,KAAK,IAAI,GAAG,eAAe,IAAI;AAAA,MAE7D,IAAI,eAAe,QAAQ,eAAe,MAAM;AAAA,QAC/C,QAAQ,aAAa,cAAc;AAAA,MACpC;AAAA,MACA,IAAI,eAAe,MAAM;AAAA,QACxB,OAAO,aAAa;AAAA,MACrB;AAAA,MACA,IAAI,eAAe,MAAM;AAAA,QACxB,OAAO,aAAa;AAAA,MACrB;AAAA,MAEA,OAAO,MAAM;AAAA;AAAA,IAGd,MAAM,sBAAsB,CAC3B,YACI;AAAA,MACJ,MAAM,YACL,OAAO,SAAS,cAAc,WAAW,QAAQ,YAAY;AAAA,MAC9D,MAAM,SACL,OAAO,SAAS,WAAW,WAAW,QAAQ,SAAS;AAAA,MACxD,MAAM,QAAQ,OAAO,SAAS,UAAU,WAAW,QAAQ,QAAQ;AAAA,MACnE,IAAI,CAAC,aAAa,CAAC,UAAU,UAAU;AAAA,QAAM;AAAA,MAC7C,YAAY,aACX,CAAC,YAAY,SAAS,GACtB,CAAC,gBAAgB;AAAA,QAChB,IAAI,CAAC;AAAA,UAAa,OAAO;AAAA,QACzB,MAAM,eAAe,CAAC,GAAG,WAAW;AAAA,QACpC,MAAM,eAAe,aAAa,UACjC,CAAC,YAAY,QAAQ,OAAO,SAC7B;AAAA,QACA,IAAI,iBAAiB;AAAA,UAAI,OAAO;AAAA,QAChC,MAAM,gBAAgB,aAAa;AAAA,QACnC,MAAM,QAAQ,cAAc,QAAQ,CAAC,GAAG,cAAc,KAAK,IAAI,CAAC;AAAA,QAChE,IAAI,YAAY,MAAM,UAAU,CAAC,SAAS,KAAK,OAAO,MAAM;AAAA,QAC5D,MAAM,YACL,OAAO,SAAS,cAAc,WAAW,QAAQ,YAAY;AAAA,QAC9D,IAAI,cAAc,IAAI;AAAA,UACrB,MAAM,UAAuB;AAAA,YAC5B,IAAI;AAAA,YACJ;AAAA,YACA,OAAO,uBAAuB,OAAO,SAAS;AAAA,YAC9C;AAAA,YACA,MAAM;AAAA,YACN,SAAS,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAAA,YACvC,aAAa,EAAE,MAAM,MAAM;AAAA,YAC3B,OAAO,cAAc;AAAA,YACrB,UAAU,cAAc;AAAA,YACxB,OAAO,cAAc;AAAA,YACrB,WAAW,KAAK,IAAI;AAAA,YACpB,aAAa;AAAA,YACb,UAAU;AAAA,YACV,YAAY;AAAA,YACZ,gBAAgB;AAAA,UACjB;AAAA,UACA,MAAM,KAAK,OAAO;AAAA,UAClB,YAAY,MAAM,SAAS;AAAA,QAC5B,EAAO;AAAA,UACN,MAAM,WAAW,MAAM;AAAA,UACvB,MAAM,WAAW,YAAY,QAAQ;AAAA,UACrC,MAAM,WAAW,GAAG,WAAW;AAAA,UAC/B,MAAM,aAAa;AAAA,eACf;AAAA,YACH,SAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAAA,YAC1C,aAAa,EAAE,MAAM,SAAS;AAAA,YAC9B,WAAW,aAAa,SAAS,aAAa;AAAA,YAC9C,aAAa;AAAA,UACd;AAAA;AAAA,QAED,aAAa,gBAAgB,KAAK,eAAe,MAAM;AAAA,QACvD,OAAO;AAAA,OAET;AAAA;AAAA,IAGD,MAAM,oBAAoB,CACzB,YACI;AAAA,MACJ,MAAM,YACL,OAAO,SAAS,cAAc,WAAW,QAAQ,YAAY;AAAA,MAC9D,MAAM,SACL,OAAO,SAAS,WAAW,WAAW,QAAQ,SAAS;AAAA,MACxD,MAAM,QAAQ,OAAO,SAAS,UAAU,WAAW,QAAQ,QAAQ;AAAA,MACnE,IAAI,CAAC,aAAa,CAAC,UAAU,UAAU;AAAA,QAAM;AAAA,MAC7C,YAAY,aACX,CAAC,YAAY,SAAS,GACtB,CAAC,gBAAgB;AAAA,QAChB,IAAI,CAAC;AAAA,UAAa,OAAO;AAAA,QACzB,MAAM,eAAe,CAAC,GAAG,WAAW;AAAA,QACpC,MAAM,eAAe,aAAa,UACjC,CAAC,YAAY,QAAQ,OAAO,SAC7B;AAAA,QACA,IAAI,iBAAiB;AAAA,UAAI,OAAO;AAAA,QAChC,MAAM,gBAAgB,aAAa;AAAA,QACnC,MAAM,QAAQ,cAAc,QAAQ,CAAC,GAAG,cAAc,KAAK,IAAI,CAAC;AAAA,QAChE,IAAI,YAAY,MAAM,UAAU,CAAC,SAAS,KAAK,OAAO,MAAM;AAAA,QAC5D,MAAM,YACL,OAAO,SAAS,cAAc,WAAW,QAAQ,YAAY;AAAA,QAC9D,IAAI,cAAc,IAAI;AAAA,UACrB,MAAM,UAAuB;AAAA,YAC5B,IAAI;AAAA,YACJ;AAAA,YACA,OAAO,uBAAuB,OAAO,SAAS;AAAA,YAC9C;AAAA,YACA,MAAM;AAAA,YACN,SAAS,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAAA,YACvC,aAAa,EAAE,MAAM,MAAM;AAAA,YAC3B,OAAO,cAAc;AAAA,YACrB,UAAU,cAAc;AAAA,YACxB,OAAO,cAAc;AAAA,YACrB,WAAW,KAAK,IAAI;AAAA,YACpB,aAAa;AAAA,YACb,UAAU;AAAA,YACV,YAAY;AAAA,YACZ,gBAAgB;AAAA,UACjB;AAAA,UACA,MAAM,KAAK,OAAO;AAAA,UAClB,YAAY,MAAM,SAAS;AAAA,QAC5B,EAAO;AAAA,UACN,MAAM,WAAW,MAAM;AAAA,UACvB,MAAM,WAAW,YAAY,QAAQ;AAAA,UACrC,MAAM,WAAW,GAAG,WAAW;AAAA,UAC/B,MAAM,aAAa;AAAA,eACf;AAAA,YACH,SAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAAA,YAC1C,aAAa,EAAE,MAAM,SAAS;AAAA,YAC9B,WAAW,aAAa,SAAS,aAAa;AAAA,YAC9C,aAAa;AAAA,UACd;AAAA;AAAA,QAED,aAAa,gBAAgB,KAAK,eAAe,MAAM;AAAA,QACvD,OAAO;AAAA,OAET;AAAA;AAAA,IAGD,MAAM,0BAA0B,CAC/B,YACI;AAAA,MACJ,IAAI,CAAC;AAAA,QAAS;AAAA,MACd,MAAM,SAAS,mBAAmB,OAAO;AAAA,MACzC,MAAM,OAAO,iBAAiB,OAAO;AAAA,MACrC,IAAI,CAAC;AAAA,QAAM;AAAA,MACX,YAAY,aACX,CAAC,YAAY,SAAS,GACtB,CAAC,gBAAgB;AAAA,QAChB,IAAI,CAAC;AAAA,UAAa,OAAO;AAAA,QACzB,MAAM,eAAe,CAAC,GAAG,WAAW;AAAA,QACpC,IAAI,cAAc,4BAA4B,YAAY;AAAA,QAC1D,IAAI,OAAO,QAAQ,cAAc,UAAU;AAAA,UAC1C,MAAM,gBAAgB,aAAa,UAClC,CAAC,YAAY,QAAQ,OAAO,QAAQ,SACrC;AAAA,UACA,IAAI,kBAAkB;AAAA,YAAI,cAAc;AAAA,QACzC;AAAA,QACA,IAAI,gBAAgB;AAAA,UAAI,OAAO;AAAA,QAC/B,MAAM,gBAAgB,aAAa;AAAA,QACnC,MAAM,QAAQ,cAAc,QAAQ,CAAC,GAAG,cAAc,KAAK,IAAI,CAAC;AAAA,QAChE,IAAI,YAAY;AAAA,QAChB,IAAI,QAAQ;AAAA,UACX,YAAY,MAAM,UACjB,CAAC,SAAS,KAAK,eAAe,UAAU,KAAK,SAC9C;AAAA,QACD;AAAA,QAEA,IAAI,cAAc,MAAM,CAAC,QAAQ;AAAA,UAChC,YAAY,MAAM,UACjB,CAAC,SAAS,KAAK,aAAa,KAAK,aAAa,IAC/C;AAAA,QACD;AAAA,QACA,MAAM,OAAO,iBAAiB,OAAO;AAAA,QACrC,MAAM,YACL,OAAO,QAAQ,cAAc,WAAW,QAAQ,YAAY;AAAA,QAC7D,MAAM,kBAA2C,EAAE,KAAK;AAAA,QACxD,IAAI;AAAA,UAAQ,gBAAgB,SAAS;AAAA,QACrC,IAAI,SAAS;AAAA,UAAW,gBAAgB,OAAO;AAAA,QAC/C,IAAI,cAAc,IAAI;AAAA,UACrB,MAAM,UAAuB;AAAA,YAC5B,IAAI,SACD,uBAAuB,WACvB,uBAAuB,QAAQ,KAAK,IAAI;AAAA,YAC3C,WAAW,cAAc;AAAA,YACzB,OAAO,uBAAuB,OAAO,SAAS;AAAA,YAC9C;AAAA,YACA,MAAM;AAAA,YACN,SAAS,KAAK,UAAU,eAAe;AAAA,YACvC,aAAa;AAAA,YACb,OAAO,cAAc;AAAA,YACrB,UAAU,cAAc;AAAA,YACxB,OAAO,cAAc;AAAA,YACrB,WAAW,KAAK,IAAI;AAAA,YACpB,aAAa;AAAA,YACb,UAAU;AAAA,YACV,YAAY;AAAA,YACZ,gBAAgB;AAAA,YAChB,WAAW;AAAA,UACZ;AAAA,UACA,MAAM,KAAK,OAAO;AAAA,QACnB,EAAO;AAAA,UACN,MAAM,WAAW,MAAM;AAAA,UACvB,MAAM,kBAA2C;AAAA,eAC5C,OAAO,SAAS,gBAAgB,YACpC,CAAC,MAAM,QAAQ,SAAS,WAAW,IAC/B,SAAS,cACV,CAAC;AAAA,YACJ;AAAA,UACD;AAAA,UACA,IAAI;AAAA,YAAQ,gBAAgB,SAAS;AAAA,UACrC,IAAI,SAAS;AAAA,YAAW,gBAAgB,OAAO;AAAA,UAC/C,MAAM,aAAa;AAAA,eACf;AAAA,YACH,SAAS,KAAK,UAAU,eAAe;AAAA,YACvC,aAAa;AAAA,YACb,WAAW,aAAa,SAAS,aAAa;AAAA,YAC9C,YAAY,UAAU,SAAS;AAAA,YAC/B,UAAU;AAAA,UACX;AAAA;AAAA,QAED,aAAa,eAAe,KAAK,eAAe,MAAM;AAAA,QACtD,OAAO;AAAA,OAET;AAAA;AAAA,IAGD,MAAM,2BAA2B,CAChC,SACA,UACI;AAAA,MACJ,IAAI,CAAC;AAAA,QAAS;AAAA,MACd,MAAM,SAAS,mBAAmB,OAAO;AAAA,MACzC,MAAM,OAAO,iBAAiB,OAAO;AAAA,MACrC,IAAI,CAAC;AAAA,QAAM;AAAA,MACX,YAAY,aACX,CAAC,YAAY,SAAS,GACtB,CAAC,gBAAgB;AAAA,QAChB,IAAI,CAAC;AAAA,UAAa,OAAO;AAAA,QACzB,MAAM,eAAe,CAAC,GAAG,WAAW;AAAA,QACpC,IAAI,cAAc,4BAA4B,YAAY;AAAA,QAC1D,IAAI,OAAO,QAAQ,cAAc,UAAU;AAAA,UAC1C,MAAM,gBAAgB,aAAa,UAClC,CAAC,YAAY,QAAQ,OAAO,QAAQ,SACrC;AAAA,UACA,IAAI,kBAAkB;AAAA,YAAI,cAAc;AAAA,QACzC;AAAA,QACA,IAAI,gBAAgB;AAAA,UAAI,OAAO;AAAA,QAC/B,MAAM,gBAAgB,aAAa;AAAA,QACnC,MAAM,QAAQ,cAAc,QAAQ,CAAC,GAAG,cAAc,KAAK,IAAI,CAAC;AAAA,QAChE,IAAI,YAAY;AAAA,QAChB,IAAI,QAAQ;AAAA,UACX,YAAY,MAAM,UACjB,CAAC,SAAS,KAAK,eAAe,UAAU,KAAK,SAC9C;AAAA,QACD;AAAA,QACA,IAAI,cAAc,MAAM,CAAC,QAAQ;AAAA,UAChC,YAAY,MAAM,UACjB,CAAC,SAAS,KAAK,aAAa,KAAK,aAAa,IAC/C;AAAA,QACD;AAAA,QACA,MAAM,YACL,OAAO,QAAQ,cAAc,WAAW,QAAQ,YAAY;AAAA,QAC7D,IAAI,cAAc,IAAI;AAAA,UACrB,MAAM,kBAA2C;AAAA,YAChD;AAAA,YACA,gBAAgB;AAAA,UACjB;AAAA,UACA,IAAI;AAAA,YAAQ,gBAAgB,SAAS;AAAA,UACrC,MAAM,UAAuB;AAAA,YAC5B,IAAI,SACD,uBAAuB,WACvB,uBAAuB,QAAQ,KAAK,IAAI;AAAA,YAC3C,WAAW,cAAc;AAAA,YACzB,OAAO,uBAAuB,OAAO,SAAS;AAAA,YAC9C;AAAA,YACA,MAAM;AAAA,YACN,SAAS,KAAK,UAAU,eAAe;AAAA,YACvC,aAAa;AAAA,YACb,OAAO,cAAc;AAAA,YACrB,UAAU,cAAc;AAAA,YACxB,OAAO,cAAc;AAAA,YACrB,WAAW,KAAK,IAAI;AAAA,YACpB,aAAa;AAAA,YACb,UAAU;AAAA,YACV,YAAY;AAAA,YACZ,gBAAgB;AAAA,YAChB,WAAW;AAAA,UACZ;AAAA,UACA,MAAM,KAAK,OAAO;AAAA,QACnB,EAAO;AAAA,UACN,MAAM,WAAW,MAAM;AAAA,UACvB,MAAM,OACL,OAAQ,SAAS,aACd,mBAAmB,WACjB,SAAS,YACV,iBACD;AAAA,UACJ,MAAM,kBAA2C;AAAA,eAC5C,OAAO,SAAS,gBAAgB,YACpC,CAAC,MAAM,QAAQ,SAAS,WAAW,IAC/B,SAAS,cACV,CAAC;AAAA,YACJ,gBAAgB,OAAO;AAAA,UACxB;AAAA,UACA,MAAM,aAAa;AAAA,eACf;AAAA,YACH,SAAS,KAAK,UAAU,eAAe;AAAA,YACvC,aAAa;AAAA,YACb,WAAW,aAAa,SAAS,aAAa;AAAA,UAC/C;AAAA;AAAA,QAED,aAAa,eAAe,KAAK,eAAe,MAAM;AAAA,QACtD,OAAO;AAAA,OAET;AAAA;AAAA,IAGD,MAAM,4BAA4B,CACjC,SACA,UACI;AAAA,MACJ,IAAI,CAAC;AAAA,QAAS;AAAA,MACd,MAAM,SAAS,mBAAmB,OAAO;AAAA,MACzC,MAAM,OAAO,iBAAiB,OAAO;AAAA,MACrC,IAAI,CAAC;AAAA,QAAM;AAAA,MACX,YAAY,aACX,CAAC,YAAY,SAAS,GACtB,CAAC,gBAAgB;AAAA,QAChB,IAAI,CAAC;AAAA,UAAa,OAAO;AAAA,QACzB,MAAM,eAAe,CAAC,GAAG,WAAW;AAAA,QACpC,IAAI,cAAc,4BAA4B,YAAY;AAAA,QAC1D,IAAI,OAAO,QAAQ,cAAc,UAAU;AAAA,UAC1C,MAAM,gBAAgB,aAAa,UAClC,CAAC,YAAY,QAAQ,OAAO,QAAQ,SACrC;AAAA,UACA,IAAI,kBAAkB;AAAA,YAAI,cAAc;AAAA,QACzC;AAAA,QACA,IAAI,gBAAgB;AAAA,UAAI,OAAO;AAAA,QAC/B,MAAM,gBAAgB,aAAa;AAAA,QACnC,MAAM,QAAQ,cAAc,QAAQ,CAAC,GAAG,cAAc,KAAK,IAAI,CAAC;AAAA,QAChE,IAAI,YAAY;AAAA,QAChB,IAAI,QAAQ;AAAA,UACX,YAAY,MAAM,UACjB,CAAC,SAAS,KAAK,eAAe,UAAU,KAAK,SAC9C;AAAA,QACD;AAAA,QACA,IAAI,cAAc,MAAM,CAAC,QAAQ;AAAA,UAChC,YAAY,MAAM,UACjB,CAAC,SAAS,KAAK,aAAa,KAAK,aAAa,IAC/C;AAAA,QACD;AAAA,QACA,MAAM,YACL,OAAO,QAAQ,cAAc,WAAW,QAAQ,YAAY;AAAA,QAC7D,IAAI,cAAc,IAAI;AAAA,UACrB,MAAM,kBAA2C;AAAA,YAChD;AAAA,YACA,iBAAiB;AAAA,UAClB;AAAA,UACA,IAAI;AAAA,YAAQ,gBAAgB,SAAS;AAAA,UACrC,MAAM,UAAuB;AAAA,YAC5B,IAAI,SACD,uBAAuB,WACvB,uBAAuB,QAAQ,KAAK,IAAI;AAAA,YAC3C,WAAW,cAAc;AAAA,YACzB,OAAO,uBAAuB,OAAO,SAAS;AAAA,YAC9C;AAAA,YACA,MAAM;AAAA,YACN,SAAS,KAAK,UAAU,eAAe;AAAA,YACvC,aAAa;AAAA,YACb,OAAO,cAAc;AAAA,YACrB,UAAU,cAAc;AAAA,YACxB,OAAO,cAAc;AAAA,YACrB,WAAW,KAAK,IAAI;AAAA,YACpB,aAAa;AAAA,YACb,UAAU;AAAA,YACV,YAAY;AAAA,YACZ,gBAAgB;AAAA,YAChB,WAAW;AAAA,UACZ;AAAA,UACA,MAAM,KAAK,OAAO;AAAA,QACnB,EAAO;AAAA,UACN,MAAM,WAAW,MAAM;AAAA,UACvB,MAAM,OACL,OAAQ,SAAS,aACd,oBAAoB,WAClB,SAAS,YACV,kBACD;AAAA,UACJ,MAAM,kBAA2C;AAAA,eAC5C,OAAO,SAAS,gBAAgB,YACpC,CAAC,MAAM,QAAQ,SAAS,WAAW,IAC/B,SAAS,cACV,CAAC;AAAA,YACJ,iBAAiB,OAAO;AAAA,UACzB;AAAA,UACA,MAAM,aAAa;AAAA,eACf;AAAA,YACH,SAAS,KAAK,UAAU,eAAe;AAAA,YACvC,aAAa;AAAA,YACb,WAAW,aAAa,SAAS,aAAa;AAAA,UAC/C;AAAA;AAAA,QAED,aAAa,eAAe,KAAK,eAAe,MAAM;AAAA,QACtD,OAAO;AAAA,OAET;AAAA;AAAA,IAGD,MAAM,2BAA2B,CAChC,YACI;AAAA,MACJ,MAAM,SAAS,mBAAmB,OAAO;AAAA,MACzC,IAAI,CAAC;AAAA,QAAQ;AAAA,MACb,MAAM,cAAc,iBAAiB,OAAO;AAAA,MAC5C,MAAM,mBACL,OAAO,SAAS,cAAc,WAAW,QAAQ,YAAY;AAAA,MAC9D,MAAM,gBAAgB,SAAS;AAAA,MAC/B,MAAM,kBAAkB,SAAS;AAAA,MACjC,MAAM,cAAc,iBAAiB,OAAO;AAAA,MAC5C,YAAY,aACX,CAAC,YAAY,SAAS,GACtB,CAAC,gBAAgB;AAAA,QAChB,IAAI,CAAC;AAAA,UAAa,OAAO;AAAA,QACzB,IAAI,UAAU;AAAA,QACd,MAAM,MAAM,KAAK,IAAI;AAAA,QACrB,MAAM,eAAe,YAAY,IAAI,CAAC,YAAY;AAAA,UACjD,IAAI,CAAC,QAAQ,OAAO;AAAA,YAAQ,OAAO;AAAA,UACnC,IAAI,iBAAiB;AAAA,UACrB,MAAM,eAAe,QAAQ,MAAM,IAAI,CAAC,SAAS;AAAA,YAChD,IAAI,EAAE,KAAK,aAAa,KAAK,eAAe,SAAS;AAAA,cACpD,OAAO;AAAA,YACR;AAAA,YACA,iBAAiB;AAAA,YACjB,UAAU;AAAA,YACV,MAAM,kBAA2C;AAAA,iBAC5C,OAAO,KAAK,gBAAgB,YAChC,CAAC,MAAM,QAAQ,KAAK,WAAW,IAC3B,KAAK,cACN,CAAC;AAAA,cACJ,MAAM,eAAe,KAAK,YAAY;AAAA,cACtC;AAAA,YACD;AAAA,YACA,IAAI,gBAAgB;AAAA,cAAW,gBAAgB,OAAO;AAAA,YACtD,IAAI,kBAAkB;AAAA,cACrB,gBAAgB,SAAS;AAAA,YAC1B,IAAI,oBAAoB;AAAA,cACvB,gBAAgB,WAAW;AAAA,YAC5B,MAAM,aACL,KAAK,aAAa,OAAO,SAAS,KAAK,SAAS,IAC7C,KAAK,IAAI,GAAG,MAAM,KAAK,SAAS,IAChC,KAAK;AAAA,YACT,MAAM,eAA4B;AAAA,iBAC9B;AAAA,cACH,MAAM;AAAA,cACN,SAAS,KAAK,UAAU,eAAe;AAAA,cACvC,aAAa;AAAA,cACb,WAAW,oBAAoB,KAAK,aAAa;AAAA,cACjD,aAAa;AAAA,cACb,UAAU,eAAe,KAAK;AAAA,cAC9B,gBAAgB,cAAc;AAAA,YAC/B;AAAA,YACA,OAAO;AAAA,WACP;AAAA,UACD,IAAI,CAAC;AAAA,YAAgB,OAAO;AAAA,UAC5B,OAAO,KAAK,SAAS,OAAO,aAAa;AAAA,SACzC;AAAA,QACD,OAAO,UAAU,eAAe;AAAA,OAElC;AAAA;AAAA,IAGD,MAAM,0BAA0B,CAC/B,YACI;AAAA,MACJ,MAAM,SAAS,mBAAmB,OAAO;AAAA,MACzC,IAAI,CAAC;AAAA,QAAQ;AAAA,MACb,YAAY,aACX,CAAC,YAAY,SAAS,GACtB,CAAC,gBAAgB;AAAA,QAChB,IAAI,CAAC;AAAA,UAAa,OAAO;AAAA,QACzB,IAAI,UAAU;AAAA,QACd,MAAM,eAAe,YAAY,IAAI,CAAC,YAAY;AAAA,UACjD,IAAI,CAAC,QAAQ,OAAO;AAAA,YAAQ,OAAO;AAAA,UACnC,MAAM,WAAW,QAAQ,MAAM,OAC9B,CAAC,SAAS,EAAE,KAAK,aAAa,KAAK,eAAe,OACnD;AAAA,UACA,IAAI,SAAS,WAAW,QAAQ,MAAM;AAAA,YAAQ,OAAO;AAAA,UACrD,UAAU;AAAA,UACV,OAAO,KAAK,SAAS,OAAO,SAAS;AAAA,SACrC;AAAA,QACD,OAAO,UAAU,eAAe;AAAA,OAElC;AAAA;AAAA,IAGD,MAAM,2BAA2B,CAAC,cAA6B;AAAA,MAC9D,IAAI,CAAC;AAAA,QAAW;AAAA,MAChB,YAAY,aACX,CAAC,YAAY,SAAS,GACtB,CAAC,gBAAgB;AAAA,QAChB,IAAI,CAAC;AAAA,UAAa,OAAO;AAAA,QACzB,MAAM,cAAc,YAAY,UAC/B,CAAC,YAAY,QAAQ,OAAO,SAC7B;AAAA,QACA,IAAI,gBAAgB;AAAA,UAAI,OAAO;AAAA,QAC/B,MAAM,SAAS,YAAY;AAAA,QAC3B,IACC,CAAC,OAAO,OAAO,KACd,CAAC,SAAS,KAAK,aAAa,KAAK,SAAS,WAC3C;AAAA,UAEA,OAAO;AAAA,QACR,MAAM,eAAe,CAAC,GAAG,WAAW;AAAA,QACpC,aAAa,eAAe;AAAA,aACxB;AAAA,UACH,OACC,OAAO,OAAO,OACb,CAAC,SAAS,EAAE,KAAK,aAAa,KAAK,SAAS,YAC7C,KAAK,CAAC;AAAA,QACR;AAAA,QACA,OAAO;AAAA,OAET;AAAA;AAAA,IAGD,MAAM,uBAAuB,CAC5B,YACI;AAAA,MACJ,MAAM,KAAK,OAAO,SAAS,OAAO,WAAW,QAAQ,KAAK;AAAA,MAC1D,IAAI,CAAC;AAAA,QAAI;AAAA,MACT,YAAY,aACX,CAAC,YAAY,SAAS,GACtB,CAAC,gBAAgB;AAAA,QAChB,IAAI,CAAC;AAAA,UAAa,OAAO;AAAA,QACzB,MAAM,eAAe,CAAC,GAAG,WAAW;AAAA,QACpC,MAAM,eAAe,aAAa,UACjC,CAAC,YAAY,QAAQ,OAAO,EAC7B;AAAA,QACA,IAAI,iBAAiB;AAAA,UAAI,OAAO;AAAA,QAChC,MAAM,WAAW,aAAa;AAAA,QAC9B,aAAa,gBAAgB;AAAA,aACzB;AAAA,UACH,QAAQ;AAAA,UACR,aAAa,KAAK,IAAI;AAAA,QACvB;AAAA,QACA,OAAO;AAAA,OAET;AAAA;AAAA,IAGD,MAAM,cAAc,QAAO,GAAG,KAAK,CAAC,UAAU;AAAA,MAE7C,MAAM,UAAU,MAAM;AAAA,MAEtB,QAAQ,MAAM;AAAA,aACR,mBAAmB;AAAA,UACvB,MAAM,OAAO,OAAO,SAAS,SAAS,WAAW,QAAQ,OAAO;AAAA,UAChE,MAAM,KAAK,OAAO,SAAS,OAAO,WAAW,QAAQ,KAAK;AAAA,UAC1D,IAAI,SAAS,eAAe,IAAI;AAAA,YAC/B,sBAAsB,UAAU;AAAA,UACjC;AAAA,UACA,IAAI,MAAM,MAAM;AAAA,YACf,MAAM,QACL,OAAO,SAAS,UAAU,WAAW,QAAQ,QAAQ;AAAA,YACtD,MAAM,WACL,OAAO,SAAS,aAAa,WAAW,QAAQ,WAAW;AAAA,YAC5D,MAAM,QACL,OAAO,SAAS,UAAU,WAAW,QAAQ,QAAQ;AAAA,YACtD,MAAM,UACL,OAAO,SAAS,YAAY,WAAW,QAAQ,UAAU;AAAA,YAC1D,MAAM,YACL,SAAS,UAAU,UAChB;AAAA,cACA;AAAA,gBACC,IAAI,GAAG;AAAA,gBACP,WAAW;AAAA,gBACX,OAAO;AAAA,gBACP,WAAW;AAAA,gBACX,MAAM;AAAA,gBACN,SAAS,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAAA,gBACzC,aAAa,EAAE,MAAM,QAAQ;AAAA,gBAC7B;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,WAAW,KAAK,IAAI;AAAA,gBACpB,aAAa,KAAK,IAAI;AAAA,gBACtB,UAAU;AAAA,gBACV,YAAY;AAAA,gBACZ,gBAAgB;AAAA,cACjB;AAAA,YACD,IACC,CAAC;AAAA,YACL,YAAY,aACX,CAAC,YAAY,SAAS,GACtB,CAAC,gBAAgB;AAAA,cAChB,IAAI,CAAC;AAAA,gBAAa,OAAO;AAAA,cACzB,IAAI,YAAY,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE;AAAA,gBAAG,OAAO;AAAA,cACjD,MAAM,aAAsB;AAAA,gBAC3B;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,QAAQ,SAAS,SAAS,aAAa;AAAA,gBACvC;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,WAAW,KAAK,IAAI;AAAA,gBACpB,aAAa;AAAA,gBACb,WAAW;AAAA,gBACX,cAAc;AAAA,gBACd,kBAAkB;AAAA,gBAClB,aAAa;AAAA,gBACb,OAAO;AAAA,gBACP,OAAO;AAAA,cACR;AAAA,cACA,MAAM,OAAO,CAAC,GAAG,aAAa,UAAU;AAAA,cACxC,KAAK,KAAK,CAAC,GAAG,MAAM,EAAE,YAAY,EAAE,SAAS;AAAA,cAC7C,OAAO;AAAA,aAET;AAAA,UACD;AAAA,UACA;AAAA,QACD;AAAA,aACK,sBAAsB;AAAA,UAC1B,kBAAkB,OAAO;AAAA,UACzB;AAAA,QACD;AAAA,aACK,mBAAmB;AAAA,UACvB,oBAAoB,OAAO;AAAA,UAC3B;AAAA,QACD;AAAA,aACK,qBAAqB;AAAA,UACzB,MAAM,KAAK,OAAO,SAAS,OAAO,WAAW,QAAQ,KAAK;AAAA,UAC1D,IAAI,MAAM,sBAAsB,YAAY,IAAI;AAAA,YAC/C,sBAAsB,UAAU;AAAA,UACjC;AAAA,UACA,qBAAqB,OAAO;AAAA,UAC5B,yBAAyB,EAAE;AAAA,UAC3B,YAAY,kBAAkB,EAAE,UAAU,CAAC,YAAY,SAAS,EAAE,CAAC;AAAA,UACnE,YAAY,kBAAkB,EAAE,UAAU,iBAAiB,CAAC;AAAA,UAC5D;AAAA,QACD;AAAA,aACK,cAAc;AAAA,UAClB,MAAM,UACL,OAAO,SAAS,YAAY,WAAW,QAAQ,UAAU;AAAA,UAC1D,MAAM,QACL,YAAY,WACT,mBAAmB,OAAO,IAC1B,kBAAkB,OAAO;AAAA,UAC7B,IAAI,YAAY,WAAY,WAAW,QAAQ,OAAQ;AAAA,YACtD,IAAI,OAAO;AAAA,cACV,yBAAyB,SAAS,KAAK;AAAA,YACxC,EAAO;AAAA,cACN,wBAAwB,OAAO;AAAA;AAAA,UAEjC,EAAO,SAAI,YAAY,YAAY,OAAO;AAAA,YACzC,0BAA0B,SAAS,KAAK;AAAA,UACzC;AAAA,UACA;AAAA,QACD;AAAA,aACK,aAAa;AAAA,UACjB,wBAAwB,OAAO;AAAA,UAC/B;AAAA,QACD;AAAA,aACK,eAAe;AAAA,UACnB,yBAAyB,OAAO;AAAA,UAChC;AAAA,QACD;AAAA,aACK,0BAA0B;AAAA,UAC9B,MAAM,SACL,OAAO,SAAS,WAAW,WAAW,QAAQ,SAAS;AAAA,UACxD,MAAM,WACL,OAAO,SAAS,aAAa,WAAW,QAAQ,WAAW;AAAA,UAC5D,MAAM,YACL,OAAO,SAAS,cAAc,WAAW,QAAQ,YAAY;AAAA,UAC9D,MAAM,OAAO,SAAS;AAAA,UACtB,IAAI,UAAU,YAAY,WAAW;AAAA,YACpC,mBAAmB;AAAA,cAClB;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,WAAW,KAAK,IAAI;AAAA,YACrB,CAAC;AAAA,UACF;AAAA,UACA;AAAA,QACD;AAAA,aACK,0BAA0B;AAAA,UAC9B,MAAM,SACL,OAAO,SAAS,WAAW,WAAW,QAAQ,SAAS;AAAA,UACxD,IAAI,QAAQ;AAAA,YACX,sBAAsB,MAAM;AAAA,UAC7B;AAAA,UACA;AAAA,QACD;AAAA,aACK,yBAAyB;AAAA,UAC7B,MAAM,SACL,OAAO,SAAS,WAAW,WAAW,QAAQ,SAAS;AAAA,UACxD,MAAM,OAAO,SAAS;AAAA,UACtB,IAAI,QAAQ;AAAA,YACX,sBAAsB,QAAQ,IAAI;AAAA,UACnC;AAAA,UACA;AAAA,QACD;AAAA,aACK,SAAS;AAAA,UACb,wBAAwB,OAAO;AAAA,UAC/B,MAAM,YACL,OAAO,SAAS,cAAc,WAAW,QAAQ,YAAY;AAAA,UAC9D,IAAI,WAAW;AAAA,YACd,yBAAyB,SAAS;AAAA,UACnC;AAAA,UACA,YAAY,kBAAkB,EAAE,UAAU,CAAC,YAAY,SAAS,EAAE,CAAC;AAAA,UACnE;AAAA,QACD;AAAA,aACK,mBAAmB;AAAA,UACvB,MAAM,KAAK,OAAO,SAAS,OAAO,WAAW,QAAQ,KAAK;AAAA,UAC1D,MAAM,SACL,OAAO,SAAS,WAAW,WAAW,QAAQ,SAAS;AAAA,UACxD,IAAI,MAAM,QAAQ;AAAA,YACjB,YAAY,aACX,CAAC,YAAY,SAAS,GACtB,CAAC,gBAAgB;AAAA,cAChB,IAAI,CAAC;AAAA,gBAAa,OAAO;AAAA,cACzB,MAAM,MAAM,YAAY,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE;AAAA,cACpD,IAAI,QAAQ;AAAA,gBAAI,OAAO;AAAA,cACvB,MAAM,OAAO,CAAC,GAAG,WAAW;AAAA,cAC5B,KAAK,OAAO;AAAA,mBACR,KAAK;AAAA,gBACR;AAAA,cACD;AAAA,cACA,OAAO;AAAA,aAET;AAAA,UACD;AAAA,UACA;AAAA,QACD;AAAA,aACK,iBAAiB;AAAA,UACrB,MAAM,aAAa;AAAA,YAClB,kBAAkB,SAAS;AAAA,YAC3B,gBAAiB,SAAS,kBAAkB,CAAC;AAAA,YAI7C,aAAc,SAAS,eAAe;AAAA,UACvC;AAAA,UACA,YAAY,aAAa,CAAC,cAAc,SAAS,GAAG,UAAU;AAAA,UAC9D;AAAA,QACD;AAAA;AAAA,UAEC;AAAA;AAAA,MAGF,IAAI,MAAM,SAAS,eAAe;AAAA,QACjC,MAAM,MAAM,KAAK,IAAI;AAAA,QACrB,IAAI,MAAM,2BAA2B,MAAM;AAAA,UAC1C,0BAA0B;AAAA,UAC1B,YAAY,kBAAkB,EAAE,UAAU,iBAAiB,CAAC;AAAA,QAC7D;AAAA,MACD;AAAA,KACA;AAAA,IAED,OAAO,MAAM;AAAA,MACZ,YAAY;AAAA,MACZ,QAAO,WAAW;AAAA;AAAA,KAEjB;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAAA;;;AEt6BF,sBAAS,4BAAW;AAab,SAAS,wBAAwB,CAAC,WAA+B;AAAA,EACvE,QAAQ,kBAAkB,0BAA0B,qBAAqB;AAAA,EAKzE,MAAM,0BAA0B;AAAA,EAEhC,MAAM,gBAAgB,cACrB,OAAO,WAAmB;AAAA,IACzB,IAAI,CAAC;AAAA,MAAW;AAAA,IAChB,IAAI;AAAA,MACH,MAAM,UAAU,gBAAgB,WAAW,QAAQ,IAAI;AAAA,MACvD,sBAAsB,MAAM;AAAA,MAC3B,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,gCAAgC,KAAK;AAAA;AAAA,KAGrD,CAAC,WAAW,qBAAqB,CAClC;AAAA,EAEA,MAAM,eAAe,cACpB,OAAO,WAAmB;AAAA,IACzB,IAAI,CAAC;AAAA,MAAW;AAAA,IAChB,IAAI;AAAA,MACH,MAAM,UAAU,gBAAgB,WAAW,QAAQ,KAAK;AAAA,MACxD,sBAAsB,MAAM;AAAA,MAC3B,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,+BAA+B,KAAK;AAAA;AAAA,KAGpD,CAAC,WAAW,qBAAqB,CAClC;AAAA,EAEA,MAAM,mBAAmB,cAAY,YAAY;AAAA,IAChD,IAAI,CAAC;AAAA,MAAW;AAAA,IAChB,IAAI;AAAA,MACH,MAAM,QAAQ,IACb,wBAAwB,IAAI,CAAC,MAC5B,UAAU,gBAAgB,WAAW,EAAE,QAAQ,IAAI,CACpD,CACD;AAAA,MACA,WAAW,KAAK,yBAAyB;AAAA,QACxC,sBAAsB,EAAE,MAAM;AAAA,MAC/B;AAAA,MACC,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,qCAAqC,KAAK;AAAA;AAAA,KAEvD,CAAC,WAAW,yBAAyB,qBAAqB,CAAC;AAAA,EAE9D,YAAU,MAAM;AAAA,IACf,IAAI,CAAC,aAAa,wBAAwB,WAAW;AAAA,MAAG;AAAA,IAExD,MAAM,gBAAgB,CAAC,MAAqB;AAAA,MAE3C,IACC,EAAE,kBAAkB,oBACpB,EAAE,kBAAkB,uBACnB,EAAE,QAAwB,mBAC1B;AAAA,QACD;AAAA,MACD;AAAA,MAEA,MAAM,eAAe,wBAAwB;AAAA,MAE7C,IAAI,EAAE,QAAQ,OAAO,EAAE,QAAQ,KAAK;AAAA,QACnC,EAAE,eAAe;AAAA,QACjB,cAAc,aAAa,MAAM;AAAA,MAClC,EAAO,SAAI,EAAE,QAAQ,OAAO,EAAE,QAAQ,OAAO,EAAE,QAAQ,UAAU;AAAA,QAChE,EAAE,eAAe;AAAA,QACjB,aAAa,aAAa,MAAM;AAAA,MACjC,EAAO,SAAI,EAAE,QAAQ,OAAO,EAAE,QAAQ,KAAK;AAAA,QAC1C,EAAE,eAAe;AAAA,QACjB,iBAAiB;AAAA,MAClB;AAAA;AAAA,IAGD,OAAO,iBAAiB,WAAW,aAAa;AAAA,IAChD,OAAO,MAAM,OAAO,oBAAoB,WAAW,aAAa;AAAA,KAC9D;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAAA;;;AClGF,iBAAS,oBAAM,yBAAU,4BAAW,yBAAa;AACjD;AAAA,gBACC;AAAA,YACA;AAAA,aACA;AAAA,kBACA;AAAA,eACA;AAAA;;;ACND,iBAAS;AACT,wBAAS,yBAAa;AAAA;AAWtB,IAAM,mBAAmB,GAAG,SAAS,SAA8B;AAAA,EAClE,MAAM,QAAQ,KAAK,MAAM,UAAU,MAAM,IAAI;AAAA,EAC7C,uBACC,MAUE,OAVF;AAAA,IACC;AAAA,IACA;AAAA,IACA,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,WAAU;AAAA,IACV,cAAW;AAAA,IACX,MAAK;AAAA,IAPN,0BASC,MAAC,QAAD;AAAA,MAAM,GAAE;AAAA,KAAixD;AAAA,GACxxD;AAAA;AAIJ,IAAM,aAAa;AAAA,EAClB,IAAI,EAAE,MAAM,IAAI,MAAM,IAAI,UAAU,GAAG;AAAA,EACvC,IAAI,EAAE,MAAM,IAAI,MAAM,IAAI,UAAU,GAAG;AAAA,EACvC,IAAI,EAAE,MAAM,IAAI,MAAM,IAAI,UAAU,GAAG;AACxC;AAEO,IAAM,kBAAkB,OAAK,SAAS,gBAAe;AAAA,EAC3D;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,GACiB;AAAA,EACxB,QAAQ,MAAM,MAAM,aAAa,WAAW;AAAA,EAE5C,MAAM,YAAiC;AAAA,IACtC,UAAU;AAAA,IACV,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,OAAO;AAAA,IACP,QAAQ;AAAA,EACT;AAAA,EAEA,MAAM,gBAAqC;AAAA,IAC1C,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,cAAc;AAAA,EACf;AAAA,EAEA,MAAM,iBAAiB,MAAM;AAAA,IAC5B,IAAI,WAAW;AAAA,MAAW,OAAO;AAAA,IACjC,IAAI,WAAW;AAAA,MAAS,OAAO;AAAA,IAC/B,OAAO;AAAA;AAAA,EAGR,uBACC,OA+DE,OA/DF;AAAA,IAAK,WAAU;AAAA,IAAf,UA+DE;AAAA,sBA9DD,OAqDE,OArDF;AAAA,QAAK,OAAO;AAAA,QAAZ,UAqDE;AAAA,0BApDD,MAAC,OAAD;AAAA,YACC,OAAO;AAAA,iBACH;AAAA,cACH,QAAQ;AAAA,YACT;AAAA,WACD;AAAA,UACC,WAAW,6BACX,MAAC,OAAD;AAAA,YACC,WAAU;AAAA,YACV,OAAO;AAAA,iBACH;AAAA,cACH,QAAQ;AAAA,cACR,gBAAgB;AAAA,cAChB,WAAW;AAAA,YACZ;AAAA,WACD;AAAA,UAEA,WAAW,6BACX,MAAC,OAAD;AAAA,YACC,OAAO;AAAA,iBACH;AAAA,cACH,QAAQ,aAAa,eAAe;AAAA,cACpC,SAAS;AAAA,YACV;AAAA,WACD;AAAA,UAEA,WAAW,2BACX,MAAC,OAAD;AAAA,YACC,OAAO;AAAA,iBACH;AAAA,cACH,QAAQ,aAAa,eAAe;AAAA,cACpC,SAAS;AAAA,YACV;AAAA,WACD;AAAA,0BAED,OAgBE,OAhBF;AAAA,YAAK,OAAO,EAAE,UAAU,YAAY,QAAQ,EAAE;AAAA,YAA9C,UAgBE;AAAA,cAfA,WAAW,6BACX,MAAC,kBAAD;AAAA,gBAAkB,QAAQ,KAAK,MAAM,OAAO,IAAI;AAAA,eAAG;AAAA,cAEnD,WAAW,6BACX,MAAC,cAAD;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO,EAAE,OAAO,UAAU,QAAQ,SAAS;AAAA,eAC5C;AAAA,cAEA,WAAW,2BACX,MAAC,UAAD;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO,EAAE,OAAO,UAAU,QAAQ,SAAS;AAAA,eAC5C;AAAA;AAAA,WAEA;AAAA;AAAA,OACD;AAAA,MACD,yBACA,OAKE,OALF;AAAA,QAAK,WAAU;AAAA,QAAf,UAKE;AAAA,0BAJD,MAA+D,QAA/D;AAAA,YAAM,WAAU;AAAA,YAAhB,UAAuD;AAAA,WAAQ;AAAA,UAC9D,4BACA,MAA4D,QAA5D;AAAA,YAAM,WAAU;AAAA,YAAhB,UAAiD;AAAA,WAAW;AAAA;AAAA,OAE5D;AAAA;AAAA,GAEF;AAAA,CAEH;;;;ADrHD,IAAM,iBAAiB,CAAC,IAAI,IAAI,IAAI,GAAG;AACvC,IAAM,aAAa;AACnB,IAAM,sBAAsB;AAC5B,IAAM,aAAa;AACnB,IAAM,iBAAgB;AACtB,IAAM,mBAAmB;AAqCzB,SAAS,kBAAkB,GAAkB;AAAA,EAC5C,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,IACvC,IAAI,OAAO,UAAU;AAAA,MACpB,QAAQ;AAAA,MACR;AAAA,IACD;AAAA,IACA,MAAM,SAAS,SAAS,cAAc,QAAQ;AAAA,IAC9C,OAAO,MAAM;AAAA,IACb,OAAO,SAAS,MAAM,QAAQ;AAAA,IAC9B,OAAO,UAAU,MAAM,OAAO,IAAI,MAAM,yBAAyB,CAAC;AAAA,IAClE,SAAS,KAAK,YAAY,MAAM;AAAA,GAChC;AAAA;AAGF,SAAS,SAAS,GAAG,YAAY,aAAqC;AAAA,EACrE,uBACC,OAsBE,OAtBF;AAAA,IACC;AAAA,IACA,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,OAAM;AAAA,IAJP,UAsBE;AAAA,sBAhBD,MAAc,SAAd;AAAA;AAAA,OAAc;AAAA,sBACd,MAAC,QAAD;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,OACH;AAAA,sBACA,MAAC,QAAD;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,OACH;AAAA,sBACA,MAAC,QAAD;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,OACH;AAAA;AAAA,GACC;AAAA;AAIJ,SAAS,YAAY,GAAG,YAAY,aAAqC;AAAA,EACxE,uBACC,OAQE,OARF;AAAA,IACC;AAAA,IACA,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,OAAM;AAAA,IAJP,UAQE;AAAA,sBAFD,MAAiB,SAAjB;AAAA;AAAA,OAAiB;AAAA,sBACjB,MAAC,QAAD;AAAA,QAAM,GAAE;AAAA,OAAiI;AAAA;AAAA,GACxI;AAAA;AAIG,IAAM,iBAAiB,OAAK,SAAS,eAAc,GAAG;AAAA,EAC5D,MAAM,SAAS,aAAa,CAAC,MAAM,EAAE,gBAAgB;AAAA,EACrD,MAAM,aAAa,aAAa,CAAC,MAAM,EAAE,eAAe;AAAA,EACxD,MAAM,UAAU,aAAa,CAAC,MAAM,EAAE,OAAO;AAAA,EAC7C,MAAM,aAAa,aAAa,CAAC,MAAM,EAAE,UAAU;AAAA,EACnD,MAAM,cAAc,aAAa,CAAC,MAAM,EAAE,WAAW;AAAA,EACrD,MAAM,eAAe,aAAa,CAAC,MAAM,EAAE,YAAY;AAAA,EAEvD,OAAO,MAAM,WAAW,WAAoB,QAAQ;AAAA,EACpD,OAAO,SAAS,cAAc,WAAyB,OAAO;AAAA,EAC9D,OAAO,QAAQ,aAAa,WAAiB,EAAE;AAAA,EAC/C,OAAO,cAAc,mBAAmB,WAAiB,EAAE;AAAA,EAC3D,OAAO,UAAU,eAAe,WAAS,KAAK;AAAA,EAC9C,OAAO,UAAU,eAAe,WAA6B,IAAI;AAAA,EACjE,OAAO,kBAAkB,uBACxB,WAAkC,IAAI;AAAA,EACvC,OAAO,mBAAmB,wBAAwB,WAAS,KAAK;AAAA,EAChE,OAAO,oBAAoB,yBAAyB,WAAS,KAAK;AAAA,EAClE,OAAO,cAAc,mBAAmB,WAA8B,IAAI;AAAA,EAC1E,OAAO,WAAW,gBAAgB,WAAS,KAAK;AAAA,EAChD,OAAO,iBAAiB,sBAAsB,WAAwB,IAAI;AAAA,EAC1E,OAAO,WAAW,gBAAgB,WAAS,CAAC;AAAA,EAC5C,OAAO,kBAAkB,uBAAuB,WAAS,KAAK;AAAA,EAC9D,MAAM,UAAU,SAA8C,IAAI;AAAA,EAElE,MAAM,kBAAkB,WAAW,WAAW,YAAY,KAAK,IAAI;AAAA,EACnE,MAAM,YAAY,CAAC,CAAC,cAAc;AAAA,EAClC,MAAM,YAAY,YAAY,aAAa,sBAAsB;AAAA,EAEjE,MAAM,gBAAgB,cACrB,OAAO,QAAgB;AAAA,IACtB,IAAI,MAAM,aAAa,MAAM,YAAY;AAAA,MACxC,YAAY,IAAI;AAAA,MAChB,oBAAoB,IAAI;AAAA,MACxB;AAAA,IACD;AAAA,IACA,qBAAqB,IAAI;AAAA,IACzB,IAAI;AAAA,MACH,IAAI,YAAY,SAAS;AAAA,QACxB,MAAM,SAAS,MAAM,UAAU,sBAAsB,GAAG;AAAA,QACxD,YAAY,MAAM;AAAA,QAClB,oBAAoB,IAAI;AAAA,MACzB,EAAO;AAAA,QACN,MAAM,SAAS,MAAM,UAAU,yBAAyB,GAAG;AAAA,QAC3D,oBAAoB,MAAM;AAAA,QAC1B,YAAY,IAAI;AAAA;AAAA,MAEhB,MAAM;AAAA,MACP,YAAY,IAAI;AAAA,MAChB,oBAAoB,IAAI;AAAA,cACvB;AAAA,MACD,qBAAqB,KAAK;AAAA;AAAA,KAG5B,CAAC,SAAS,SAAS,CACpB;AAAA,EAEA,YAAU,MAAM;AAAA,IACf,IAAI,UAAU,mBAAmB,aAAa,SAAS,UAAU;AAAA,MAChE,MAAM,UAAU,WAAW,MAAM,cAAc,eAAe,GAAG,GAAG;AAAA,MACpE,OAAO,MAAM,aAAa,OAAO;AAAA,IAClC;AAAA,KACE,CAAC,QAAQ,iBAAiB,eAAe,MAAM,SAAS,CAAC;AAAA,EAE5D,MAAM,cAAc,cAAY,MAAM;AAAA,IACrC,IAAI,QAAQ,SAAS;AAAA,MACpB,cAAc,QAAQ,OAAO;AAAA,MAC7B,QAAQ,UAAU;AAAA,IACnB;AAAA,IACA,aAAa,KAAK;AAAA,KAChB,CAAC,CAAC;AAAA,EAEL,YAAU,MAAM;AAAA,IACf,IAAI,CAAC,QAAQ;AAAA,MACZ,YAAY;AAAA,MACZ,QAAQ,QAAQ;AAAA,MAChB,gBAAgB,IAAI;AAAA,MACpB,mBAAmB,IAAI;AAAA,MACvB,aAAa,CAAC;AAAA,IACf;AAAA,KACE,CAAC,QAAQ,WAAW,CAAC;AAAA,EAExB,YAAU,MAAM;AAAA,IACf,OAAO,MAAM,YAAY;AAAA,KACvB,CAAC,WAAW,CAAC;AAAA,EAEhB,MAAM,eAAe,cACpB,CAAC,eAAuB;AAAA,IACvB,IAAI,QAAQ;AAAA,MAAS;AAAA,IACrB,aAAa,IAAI;AAAA,IACjB,aAAa,CAAC;AAAA,IAEd,MAAM,QAAQ,YAAY;AAAA,MACzB,IAAI;AAAA,QACH,MAAM,SAAS,MAAM,UAAU,oBAAoB,UAAU;AAAA,QAC7D,aAAa,CAAC,MAAM,IAAI,CAAC;AAAA,QACzB,IAAI,QAAQ,WAAW;AAAA,UACtB,YAAY;AAAA,UACZ,mBAAmB,OAAO,SAAS;AAAA,UACnC,aAAa,WAAW,sBAAsB;AAAA,UAE9C,MAAM,cAAc,MAAM,UAAU,eAAe;AAAA,UACnD,IAAI,aAAa,YAAY,WAAW;AAAA,YACvC,WAAW,YAAY,OAAO;AAAA,UAC/B;AAAA,UACA,QAAQ,WAAW;AAAA,QACpB;AAAA,QACC,MAAM;AAAA,QACP,aAAa,CAAC,MAAM,IAAI,CAAC;AAAA;AAAA;AAAA,IAI3B,MAAM;AAAA,IACN,QAAQ,UAAU,YAAY,OAAO,cAAa;AAAA,KAEnD,CAAC,aAAa,UAAU,CACzB;AAAA,EAEA,MAAM,oBAAoB,CAAC,WAAmB;AAAA,IAC7C,UAAU,MAAM;AAAA,IAChB,YAAY,KAAK;AAAA,IACjB,gBAAgB,EAAE;AAAA;AAAA,EAGnB,MAAM,2BAA2B,CAAC,UAAkB;AAAA,IACnD,gBAAgB,KAAK;AAAA,IACrB,YAAY,IAAI;AAAA;AAAA,EAGjB,MAAM,kBAAkB,cAAY,CAAC,QAAgB;AAAA,IACpD,IAAI,OAAO,SAAS,OAAO,KAAK;AAAA,MAC/B,OAAO,OAAO,YAAY,EAAE,MAAM,iBAAiB,IAAI,GAAG,GAAG;AAAA,IAC9D,EAAO;AAAA,MACN,OAAO,KAAK,KAAK,QAAQ;AAAA;AAAA,KAExB,CAAC,CAAC;AAAA,EAEL,MAAM,sBAAsB,YAAY;AAAA,IACvC,IAAI,kBAAkB,cAAc,kBAAkB,YAAY;AAAA,MACjE,MAAM,MAAM,2BAA2B,mBAAmB,YAAY;AAAA,MACtE;AAAA,IACD;AAAA,IAEA,sBAAsB,IAAI;AAAA,IAC1B,IAAI;AAAA,MACH,MAAM,SAAS,MAAM,UAAU,oBAC9B,iBACA,gBACD;AAAA,MAEA,IAAI,OAAO,eAAe,OAAO,YAAY;AAAA,QAC5C,MAAM,OAAqB;AAAA,UAC1B,KAAK,OAAO;AAAA,UACZ,YAAY,OAAO;AAAA,UACnB,cAAc,OAAO;AAAA,UACrB,cAAc,OAAO;AAAA,QACtB;AAAA,QACA,gBAAgB,IAAI;AAAA,QACpB,aAAa,QAAQ,wBAAwB,OAAO,UAAU;AAAA,QAC9D,QAAQ,UAAU;AAAA,QAClB,gBAAgB,OAAO,WAAW;AAAA,QAClC,aAAa,OAAO,UAAU;AAAA,MAC/B;AAAA,MACC,OAAO,OAAO;AAAA,MACf,MAAM,MACL,iBAAiB,QAAQ,MAAM,UAAU,2BAC1C;AAAA,cACC;AAAA,MACD,sBAAsB,KAAK;AAAA;AAAA;AAAA,EAI7B,MAAM,yBAAyB,YAAY;AAAA,IAC1C,IAAI,kBAAkB,uBAAuB,kBAAkB,YAAY;AAAA,MAC1E,MAAM,MACL,2BAA2B,4BAA4B,YACxD;AAAA,MACA;AAAA,IACD;AAAA,IAEA,sBAAsB,IAAI;AAAA,IAC1B,IAAI;AAAA,MACH,MAAM,mBAAmB;AAAA,MACzB,MAAM,QAAQ,MAAM,UAAU,oBAAoB,eAAe;AAAA,MAEjE,QAAQ,qBAAqB;AAAA,MAE7B,MAAM,MAAM,IAAI,OAAO,SAAS;AAAA,QAC/B,KAAK,MAAM;AAAA,QACX,QAAQ,MAAM;AAAA,QACd,UAAU,MAAM;AAAA,QAChB,MAAM;AAAA,QACN,aAAa,WAAW,MAAM,gBAAgB,QAAQ,CAAC;AAAA,QACvD,UAAU,MAAM;AAAA,QAChB,SAAS,OAAO,aAIV;AAAA,UACL,IAAI;AAAA,YACH,MAAM,SAAS,MAAM,UAAU,sBAAsB;AAAA,cACpD,mBAAmB,SAAS;AAAA,cAC5B,qBAAqB,SAAS;AAAA,cAC9B,oBAAoB,SAAS;AAAA,YAC9B,CAAC;AAAA,YAED,IAAI,OAAO,SAAS;AAAA,cACnB,mBAAmB,OAAO,QAAQ;AAAA,cAClC,MAAM,cAAc,MAAM,UAAU,eAAe;AAAA,cACnD,IAAI,aAAa,YAAY,WAAW;AAAA,gBACvC,WAAW,YAAY,OAAO;AAAA,cAC/B;AAAA,cACA,QAAQ,WAAW;AAAA,YACpB;AAAA,YACC,OAAO,KAAK;AAAA,YACb,MAAM,MACL,eAAe,QACZ,IAAI,UACJ,6BACJ;AAAA,YACA,QAAQ,QAAQ;AAAA;AAAA;AAAA,QAGlB,OAAO;AAAA,UACN,WAAW,MAAM;AAAA,YAChB,QAAQ,QAAQ;AAAA;AAAA,QAElB;AAAA,QACA,OAAO;AAAA,UACN,OAAO;AAAA,QACR;AAAA,MACD,CAAC;AAAA,MAED,IAAI,GAAG,kBAAkB,MAAM;AAAA,QAC9B,MAAM,MAAM,mCAAmC;AAAA,QAC/C,QAAQ,QAAQ;AAAA,OAChB;AAAA,MAED,IAAI,KAAK;AAAA,MACR,OAAO,OAAO;AAAA,MACf,MAAM,MACL,iBAAiB,QAAQ,MAAM,UAAU,wBAC1C;AAAA,MACA,QAAQ,QAAQ;AAAA,cACf;AAAA,MACD,sBAAsB,KAAK;AAAA;AAAA;AAAA,EAI7B,MAAM,iBAAiB,MAAM;AAAA,IAC5B,IAAI,YAAY,SAAS;AAAA,MACxB,oBAAoB;AAAA,IACrB,EAAO;AAAA,MACN,uBAAuB;AAAA;AAAA;AAAA,EAIzB,MAAM,iBAAiB,YAAY;AAAA,IAClC,IAAI,CAAC;AAAA,MAAc;AAAA,IACnB,oBAAoB,IAAI;AAAA,IACxB,IAAI;AAAA,MACH,MAAM,SAAS,MAAM,UAAU,oBAC9B,aAAa,UACd;AAAA,MACA,IAAI,QAAQ,WAAW;AAAA,QACtB,YAAY;AAAA,QACZ,mBAAmB,OAAO,SAAS;AAAA,QACnC,aAAa,WAAW,sBAAsB;AAAA,QAE9C,MAAM,cAAc,MAAM,UAAU,eAAe;AAAA,QACnD,IAAI,aAAa,YAAY,WAAW;AAAA,UACvC,WAAW,YAAY,OAAO;AAAA,QAC/B;AAAA,QACA,QAAQ,WAAW;AAAA,MACpB,EAAO;AAAA,QACN,MAAM,MAAM,uDAAuD;AAAA;AAAA,MAEnE,OAAO,KAAK;AAAA,MACb,QAAQ,MAAM,kCAAkC,GAAG;AAAA,MACnD,MAAM,MAAM,gCAAgC;AAAA,cAC3C;AAAA,MACD,oBAAoB,KAAK;AAAA;AAAA;AAAA,EAI3B,MAAM,aAAa,MAAM;AAAA,IACxB,WAAW;AAAA;AAAA,EAGZ,MAAM,gBACL,mBAAmB,aAAa,mBAAmB;AAAA,EAEpD,MAAM,aACL,SAAS,cACN,sBACA,SAAS,aACR,wBACA,SAAS,wBACR,uBACA;AAAA,EAEN,uBACC,MAqSE,OArSF;AAAA,IACC;AAAA,IACA,SAAS;AAAA,IACT,OAAO;AAAA,IACP,UAAS;AAAA,IAJV,0BAMC,OA8RE,OA9RF;AAAA,MAAK,WAAU;AAAA,MAAf,UA8RE;AAAA,QA7RA,SAAS,+BACT;AAAA,oBAgBE;AAAA,4BAfD,MAME,OANF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACC,MAAC,iBAAD;AAAA,gBACC,QAAO;AAAA,gBACP,OAAO,KAAK,iBAAiB,QAAQ,CAAC,KAAK,cAAc,aAAa,QAAQ,CAAC;AAAA,gBAC/E,UAAS;AAAA,eACV;AAAA,aACC;AAAA,4BAEF,MAME,UANF;AAAA,cACC,MAAK;AAAA,cACL,SAAS;AAAA,cACT,WAAU;AAAA,cAHX;AAAA,aAME;AAAA;AAAA,SACD;AAAA,QAGF,SAAS,yCACT,MAME,OANF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,MAAC,iBAAD;AAAA,YACC,QAAO;AAAA,YACP,OAAM;AAAA,YACN,UAAS;AAAA,WACV;AAAA,SACC;AAAA,QAGF,SAAS,cAAc,gCACvB;AAAA,oBA2CE;AAAA,4BA1CD,OAYE,OAZF;AAAA,cAAK,WAAU;AAAA,cAAf,UAYE;AAAA,gCAXD,MAAC,iBAAD;AAAA,kBACC,QAAO;AAAA,kBACP,OAAM;AAAA,kBACN,UAAS;AAAA,iBACV;AAAA,gCACA,OAKE,OALF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAKE;AAAA,oCAJD,MAAC,OAAD;AAAA,sBAAK,WAAU;AAAA,qBAAqD;AAAA,oCACpE,MAEE,QAFF;AAAA,sBAAM,WAAU;AAAA,sBAAhB,UACE,YAAY,gBAAgB,eAAe;AAAA,qBAC3C;AAAA;AAAA,iBACD;AAAA;AAAA,aACD;AAAA,4BAEF,OAsBE,OAtBF;AAAA,cAAK,WAAU;AAAA,cAAf,UAsBE;AAAA,gCArBD,OAYE,UAZF;AAAA,kBACC,MAAK;AAAA,kBACL,SAAS;AAAA,kBACT,UAAU;AAAA,kBACV,WAAU;AAAA,kBAJX,UAYE;AAAA,oBANA,mCACA,MAAC,UAAD;AAAA,sBAAS,WAAU;AAAA,qBAAuB,oBAE1C,MAAC,YAAD;AAAA,sBAAW,WAAU;AAAA,qBAAU;AAAA,oBAE/B,mBAAmB,gBAAgB;AAAA;AAAA,iBACnC;AAAA,gCACF,OAOE,UAPF;AAAA,kBACC,MAAK;AAAA,kBACL,SAAS,MAAM,gBAAgB,aAAa,GAAG;AAAA,kBAC/C,WAAU;AAAA,kBAHX,UAOE;AAAA,oCAFD,MAAC,eAAD;AAAA,sBAAc,WAAU;AAAA,qBAAU;AAAA,oBALnC;AAAA;AAAA,iBAOE;AAAA;AAAA,aACD;AAAA,4BAEF,MAGE,KAHF;AAAA,cAAG,WAAU;AAAA,cAAb;AAAA,aAGE;AAAA;AAAA,SACD;AAAA,QAGF,SAAS,4BACT;AAAA,oBA6ME;AAAA,YA5MA,6BACA,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE;AAAA,4BAEH,OAOE,OAPF;AAAA,cAAK,WAAU;AAAA,cAAf,UAOE;AAAA,gCAND,MAEE,QAFF;AAAA,kBAAM,WAAU;AAAA,kBAAhB;AAAA,iBAEE;AAAA,gCACF,OAEE,QAFF;AAAA,kBAAM,WAAU;AAAA,kBAAhB,UAEE;AAAA,oBAFF;AAAA,oBACG,SAAS,QAAQ,CAAC,KAAK;AAAA;AAAA,iBACxB;AAAA;AAAA,aACD;AAAA,4BAEF,OAyBE,OAzBF;AAAA,cAAK,WAAU;AAAA,cAAf,UAyBE;AAAA,gCAxBD,OAWE,UAXF;AAAA,kBACC,MAAK;AAAA,kBACL,SAAS,MAAM,WAAW,OAAO;AAAA,kBACjC,WAAW,8FACV,YAAY,UACT,kCACA;AAAA,kBANL,UAWE;AAAA,oCAFD,MAAC,WAAD;AAAA,sBAAW,WAAU;AAAA,qBAAc;AAAA,oBATpC;AAAA;AAAA,iBAWE;AAAA,gCACF,OAWE,UAXF;AAAA,kBACC,MAAK;AAAA,kBACL,SAAS,MAAM,WAAW,UAAU;AAAA,kBACpC,WAAW,8FACV,YAAY,aACT,kCACA;AAAA,kBANL,UAWE;AAAA,oCAFD,MAAC,cAAD;AAAA,sBAAc,WAAU;AAAA,qBAAc;AAAA,oBATvC;AAAA;AAAA,iBAWE;AAAA;AAAA,aACD;AAAA,4BAEF,OAsCE,OAtCF;AAAA,cAAK,WAAU;AAAA,cAAf,UAsCE;AAAA,gCArCD,MAeE,OAfF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UACE,eAAe,IAAI,CAAC,2BACpB,OAWE,UAXF;AAAA,oBAEC,MAAK;AAAA,oBACL,SAAS,MAAM,kBAAkB,MAAM;AAAA,oBACvC,WAAW,+DACV,CAAC,YAAY,WAAW,SACrB,oDACA;AAAA,oBAPL,UAWE;AAAA,sBAXF;AAAA,sBAUG;AAAA;AAAA,qBATG,MAUJ,CACF;AAAA,iBACA;AAAA,gCAEF,OAmBE,OAnBF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAmBE;AAAA,oCAlBD,MAEE,QAFF;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAEE;AAAA,oCACF,MAAC,SAAD;AAAA,sBACC,MAAK;AAAA,sBACL,aAAY;AAAA,sBACZ,OAAO;AAAA,sBACP,UAAU,CAAC,MAAM,yBAAyB,EAAE,OAAO,KAAK;AAAA,sBACxD,SAAS,MAAM,YAAY,IAAI;AAAA,sBAC/B,KAAK;AAAA,sBACL,KAAK;AAAA,sBACL,MAAK;AAAA,sBACL,WAAW,4GACV,WACG,sBACA;AAAA,qBAEL;AAAA;AAAA,iBACC;AAAA;AAAA,aACD;AAAA,4BAEF,MAoFE,OApFF;AAAA,cACC,WAAW,6CACV,gBACG,gCACA;AAAA,cAJL,0BAOC,MA4EE,OA5EF;AAAA,gBAAK,WAAU;AAAA,gBAAf,0BACC,MA0EE,OA1EF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UACE,oCACA;AAAA,8BAiBE;AAAA,sCAhBD,OAKE,OALF;AAAA,wBAAK,WAAU;AAAA,wBAAf,UAKE;AAAA,0CAJD,MAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB;AAAA,2BAEE;AAAA,0CACF,MAAC,OAAD;AAAA,4BAAK,WAAU;AAAA,2BAA6C;AAAA;AAAA,uBAC3D;AAAA,sCACF,OAKE,OALF;AAAA,wBAAK,WAAU;AAAA,wBAAf,UAKE;AAAA,0CAJD,MAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB;AAAA,2BAEE;AAAA,0CACF,MAAC,OAAD;AAAA,4BAAK,WAAU;AAAA,2BAA6C;AAAA;AAAA,uBAC3D;AAAA,sCACF,OAGE,OAHF;AAAA,wBAAK,WAAU;AAAA,wBAAf,UAGE;AAAA,0CAFD,MAAqC,QAArC;AAAA,4BAAM,WAAU;AAAA,4BAAhB;AAAA,2BAAqC;AAAA,0CACrC,MAAC,OAAD;AAAA,4BAAK,WAAU;AAAA,2BAA6C;AAAA;AAAA,uBAC3D;AAAA;AAAA,mBACD,IACC,YAAY,WAAW,2BAC1B;AAAA,8BAuBE;AAAA,sCAtBD,OAOE,OAPF;AAAA,wBAAK,WAAU;AAAA,wBAAf,UAOE;AAAA,0CAND,MAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB;AAAA,2BAEE;AAAA,0CACF,OAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB,UAEE;AAAA,8BAFF;AAAA,8BACG,SAAS,aAAa,QAAQ,CAAC;AAAA;AAAA,2BAChC;AAAA;AAAA,uBACD;AAAA,sCACF,OAOE,OAPF;AAAA,wBAAK,WAAU;AAAA,wBAAf,UAOE;AAAA,0CAND,MAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB;AAAA,2BAEE;AAAA,0CACF,OAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB,UAEE;AAAA,8BAFF;AAAA,8BACI,SAAS,UAAU,QAAQ,CAAC;AAAA;AAAA,2BAC9B;AAAA;AAAA,uBACD;AAAA,sCACF,OAKE,OALF;AAAA,wBAAK,WAAU;AAAA,wBAAf,UAKE;AAAA,0CAJD,MAAqC,QAArC;AAAA,4BAAM,WAAU;AAAA,4BAAhB;AAAA,2BAAqC;AAAA,0CACrC,OAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB,UAEE;AAAA,8BAFF;AAAA,8BACG,SAAS,aAAa,QAAQ,CAAC;AAAA;AAAA,2BAChC;AAAA;AAAA,uBACD;AAAA;AAAA,mBACD,IACC,YAAY,cAAc,mCAC7B;AAAA,8BA0BE;AAAA,sCAzBD,OAOE,OAPF;AAAA,wBAAK,WAAU;AAAA,wBAAf,UAOE;AAAA,0CAND,MAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB;AAAA,2BAEE;AAAA,0CACF,OAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB,UAEE;AAAA,8BAFF;AAAA,8BACG,iBAAiB,gBAAgB,QAAQ,CAAC;AAAA;AAAA,2BAC3C;AAAA;AAAA,uBACD;AAAA,sCACF,OAOE,OAPF;AAAA,wBAAK,WAAU;AAAA,wBAAf,UAOE;AAAA,0CAND,MAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB;AAAA,2BAEE;AAAA,0CACF,OAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB,UAEE;AAAA,8BAFF;AAAA,8BACG,iBAAiB,aAAa,QAAQ,CAAC;AAAA;AAAA,2BACxC;AAAA;AAAA,uBACD;AAAA,sCACF,OAKE,OALF;AAAA,wBAAK,WAAU;AAAA,wBAAf,UAKE;AAAA,0CAJD,MAAqC,QAArC;AAAA,4BAAM,WAAU;AAAA,4BAAhB;AAAA,2BAAqC;AAAA,0CACrC,OAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB,UAEE;AAAA,8BAFF;AAAA,8BACE,iBAAiB,gBAAgB,QAAQ,CAAC;AAAA;AAAA,2BAC1C;AAAA;AAAA,uBACD;AAAA,sCACF,OAEE,KAFF;AAAA,wBAAG,WAAU;AAAA,wBAAb,UAEE;AAAA,0BAFF;AAAA,0BACS,iBAAiB;AAAA,0BAD1B;AAAA;AAAA,uBAEE;AAAA;AAAA,mBACD,IACC;AAAA,iBACH;AAAA,eACD;AAAA,aACD;AAAA,4BAEF,OAYE,UAZF;AAAA,cACC,MAAK;AAAA,cACL,SAAS;AAAA,cACT,UAAU,CAAC,iBAAiB;AAAA,cAC5B,WAAU;AAAA,cAJX,UAYE;AAAA,gBANA,qCACA,MAAC,UAAD;AAAA,kBAAS,WAAU;AAAA,iBAAuB,oBAE1C,MAAC,aAAD;AAAA,kBAAY,WAAU;AAAA,iBAAU;AAAA,gBAEhC,YAAY,UAAU,kBAAkB;AAAA;AAAA,aACxC;AAAA,4BAEF,OAsBE,OAtBF;AAAA,cAAK,WAAU;AAAA,cAAf,UAsBE;AAAA,gCArBD,OAIE,OAJF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAIE;AAAA,oCAHD,MAAC,OAAD;AAAA,sBAAK,WAAU;AAAA,qBAAwB;AAAA,oCACvC,MAAyD,QAAzD;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAAyD;AAAA,oCACzD,MAAC,OAAD;AAAA,sBAAK,WAAU;AAAA,qBAAwB;AAAA;AAAA,iBACtC;AAAA,gCACF,OAeE,OAfF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAeE;AAAA,oCAdD,MAAC,SAAD;AAAA,sBAAQ,WAAU;AAAA,qBAAuC;AAAA,oCACzD,OAYE,OAZF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UAYE;AAAA,wCAXD,OAOE,OAPF;AAAA,0BAAK,WAAU;AAAA,0BAAf,UAOE;AAAA,4CAND,MAAqD,QAArD;AAAA,8BAAM,WAAU;AAAA,8BAAhB;AAAA,6BAAqD;AAAA,4BACpD,gBAAgB,wBAChB,OAEE,QAFF;AAAA,8BAAM,WAAU;AAAA,8BAAhB,UAEE;AAAA,gCADA,YAAY,QAAQ,CAAC;AAAA,gCADvB;AAAA;AAAA,6BAEE;AAAA;AAAA,yBAEF;AAAA,wCACF,MAEE,KAFF;AAAA,0BAAG,WAAU;AAAA,0BAAb;AAAA,yBAEE;AAAA;AAAA,qBACD;AAAA;AAAA,iBACD;AAAA;AAAA,aACD;AAAA;AAAA,SACD;AAAA;AAAA,KAEF;AAAA,GACD;AAAA,CAEH;;;;AJvrBM,IAAM,yBAAyB,OAAK,SAAS,uBAAsB;AAAA,EACzE;AAAA,EACA;AAAA,GAC+B;AAAA,EAC/B,QAAQ,MAAM,WAAW,CAAC,GAAG,cAAc,YAAY,SAAS;AAAA,EAChE,QAAQ,MAAM,WAAW,CAAC,MAAM,YAAY;AAAA,EAC5C,QAAQ,8BAAgB,eAAe;AAAA,EAEvC,iBAAiB,SAAS;AAAA,EAG1B,yBAAyB,SAAS;AAAA,EAElC,MAAM,UAAU,UACf,MAAM,SAAS,KAAK,CAAC,MAAM,EAAE,OAAO,SAAS,GAC7C,CAAC,UAAU,SAAS,CACrB;AAAA,EAEA,MAAM,eAAe,UACpB,MACC,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,WAAW,SAAS,GACtE,CAAC,QAAQ,CACV;AAAA,EAEA,IAAI,WAAW;AAAA,IACd,uBACC,MAEE,OAFF;AAAA,MAAK,WAAU;AAAA,MAAf;AAAA,KAEE;AAAA,EAEJ;AAAA,EAEA,uBACC;AAAA,cAUE;AAAA,sBATD,MAAC,eAAD;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,aAAY;AAAA,QACrB;AAAA,OACD;AAAA,sBACA,MAAC,gBAAD,EAAgB;AAAA;AAAA,GACf;AAAA,CAEH;;AM3DD,iBAAS;;;ACAT,IAAM,YAAY,KAAK,KAAK,KAAK;AAK1B,SAAS,yBAAyB,CAAC,WAA2B;AAAA,EACpE,MAAM,OAAO,KAAK,IAAI,IAAI;AAAA,EAC1B,MAAM,UAAU,KAAK,MAAM,OAAO,KAAK;AAAA,EAEvC,IAAI,UAAU;AAAA,IAAG,OAAO;AAAA,EACxB,IAAI,UAAU;AAAA,IAAI,OAAO,GAAG;AAAA,EAE5B,MAAM,QAAQ,KAAK,MAAM,UAAU,EAAE;AAAA,EACrC,IAAI,QAAQ;AAAA,IAAI,OAAO,GAAG;AAAA,EAE1B,MAAM,OAAO,KAAK,MAAM,QAAQ,EAAE;AAAA,EAClC,IAAI,OAAO;AAAA,IAAG,OAAO,GAAG;AAAA,EAExB,MAAM,QAAQ,KAAK,MAAM,OAAO,CAAC;AAAA,EACjC,IAAI,QAAQ;AAAA,IAAG,OAAO,GAAG;AAAA,EAEzB,MAAM,SAAS,KAAK,MAAM,OAAO,EAAE;AAAA,EACnC,IAAI,SAAS;AAAA,IAAI,OAAO,GAAG;AAAA,EAE3B,MAAM,QAAQ,KAAK,MAAM,OAAO,GAAG;AAAA,EACnC,OAAO,GAAG;AAAA;AAMJ,SAAS,oBAAoB,CAAC,WAA2B;AAAA,EAC/D,MAAM,MAAM,IAAI;AAAA,EAChB,MAAM,eAAe,IAAI,KACxB,IAAI,YAAY,GAChB,IAAI,SAAS,GACb,IAAI,QAAQ,CACb,EAAE,QAAQ;AAAA,EACV,MAAM,mBAAmB,eAAe;AAAA,EACxC,MAAM,kBAAkB,eAAe,YAAY;AAAA,EAEnD,IAAI,aAAa;AAAA,IAAc,OAAO;AAAA,EACtC,IAAI,aAAa;AAAA,IAAkB,OAAO;AAAA,EAC1C,IAAI,aAAa;AAAA,IAAiB,OAAO;AAAA,EACzC,OAAO;AAAA;;;;ADlCD,IAAM,cAAc,OAAK,SAAS,YAAW;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,GACoB;AAAA,EACpB,MAAM,QAAQ,QAAQ,SAAS,WAAW,QAAQ,GAAG,MAAM,GAAG,CAAC;AAAA,EAC/D,MAAM,YAAY,QAAQ,aAAa;AAAA,EACvC,MAAM,gBAAgB,QAAQ,gBAAgB,QAAQ;AAAA,EACtD,MAAM,WAAW,0BAA0B,aAAa;AAAA,EAExD,uBACC,MA4BE,UA5BF;AAAA,IACC,MAAK;AAAA,IACL;AAAA,IACA,WAAW,0EACV,WACG,8CACA;AAAA,IAEJ,OAAO,GAAG,WAAU;AAAA,IARrB,0BAUC,OAiBE,QAjBF;AAAA,MAAM,WAAU;AAAA,MAAhB,UAiBE;AAAA,wBAhBD,MAIE,QAJF;AAAA,UACC,WAAW,wCAAwC,WAAW,gBAAgB;AAAA,UAD/E,UAGE;AAAA,SACA;AAAA,wBACF,OAUE,QAVF;AAAA,UAAM,WAAU;AAAA,UAAhB,UAUE;AAAA,4BATD,MAAuC,QAAvC;AAAA,cAAM,WAAU;AAAA,cAAhB,UAA4B;AAAA,aAAW;AAAA,4BACvC,OAOE,QAPF;AAAA,cAAM,WAAU;AAAA,cAAhB,UAOE;AAAA,gBANA,6BACA,MAAC,QAAD;AAAA,kBAAM,WAAU;AAAA,iBAAyF;AAAA,gCAE1G,MAAC,QAAD;AAAA,kBACC,WAAW,6CAA6C,YAAY,mBAAmB;AAAA,iBACxF;AAAA;AAAA,aACC;AAAA;AAAA,SACD;AAAA;AAAA,KACD;AAAA,GACD;AAAA,CAEH;;AEnDD,iBAAS,mBAAM,0BAAS,4BAAa,uBAAW;;;ACAhD,mBAAS;AAgBF,IAAM,gBAAgB,SAAmB,CAAC,SAAS;AAAA,EACzD,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EAEd,UAAU,CAAC,SAAS,IAAI,EAAE,cAAc,KAAK,CAAC;AAAA,EAC9C,iBAAiB,CAAC,UAAU,IAAI,EAAE,cAAc,MAAM,CAAC;AAAA,EACvD,iBAAiB,CAAC,UAAU,IAAI,EAAE,cAAc,MAAM,CAAC;AAAA,EACvD,mBAAmB,MAAM,IAAI,EAAE,cAAc,EAAE,CAAC;AAAA,EAChD,mBAAmB,MAAM,IAAI,EAAE,cAAc,EAAE,CAAC;AACjD,EAAE;;;ADtBF,oBAAS;;AAQF,IAAM,uBAAuB,OAAK,SAAS,qBAAoB;AAAA,EACrE;AAAA,EACA;AAAA,GAC6B;AAAA,EAC7B;AAAA,IACC,MAAM,WAAW,CAAC;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACG,YAAY;AAAA,EAChB,QAAQ,cAAc,iBAAiB,cAAc;AAAA,EACrD,MAAM,WAAW,SAAoC,IAAI,GAAK;AAAA,EAC9D,MAAM,qBAAqB,SAAuB,IAAI;AAAA,EACtD,MAAM,wBAAwB,SAA2B,SAAS;AAAA,EAElE,MAAM,qBAAqB,cAC1B,CAAC,cAAsB;AAAA,IACtB,sBAAsB,UAAU;AAAA,IAChC,gBAAgB,SAAS;AAAA,KAE1B,CAAC,eAAe,CACjB;AAAA,EAEA,MAAM,kBAAkB,UAAQ,MAAM;AAAA,IACrC,OAAO,SAAS,IAAI,CAAC,GAAG,WAAW;AAAA,MAClC,IAAI,EAAE;AAAA,MACN;AAAA,MACA,OAAO,EAAE;AAAA,MACT,OAAO,EAAE;AAAA,MACT,WAAW,EAAE;AAAA,MACb,cAAc,EAAE;AAAA,MAChB,YAAY,EAAE,gBAAgB,EAAE;AAAA,IACjC,EAAE;AAAA,KACA,CAAC,QAAQ,CAAC;AAAA,EAEb,MAAM,aAAa,UAClB,MAAM,IAAI,IAAI,SAAS,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,GAC9D,CAAC,QAAQ,CACV;AAAA,EAEA,MAAM,eAAe,UAAQ,MAAM;AAAA,IAClC,MAAM,SAAS,IAAI;AAAA,IAEnB,WAAW,WAAW,iBAAiB;AAAA,MACtC,MAAM,QAAQ,qBAAqB,QAAQ,UAAU;AAAA,MACrD,MAAM,mBAAmB,OAAO,IAAI,KAAK,KAAK,CAAC;AAAA,MAC/C,iBAAiB,KAAK,OAAO;AAAA,MAC7B,OAAO,IAAI,OAAO,gBAAgB;AAAA,IACnC;AAAA,IAEA,OAAO,MAAM,KAAK,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,sBAAsB;AAAA,MACtE;AAAA,MACA,UAAU;AAAA,IACX,EAAE;AAAA,KACA,CAAC,eAAe,CAAC;AAAA,EAEpB,YAAU,MAAM;AAAA,IACf,IAAI,iBAAiB,YAAY;AAAA,MAChC,MAAM,UAAU,gBAAgB;AAAA,MAChC,IAAI,SAAS;AAAA,QACZ,MAAM,UAAU,SAAS,QAAQ,IAAI,QAAQ,EAAE;AAAA,QAC/C,SAAS,eAAe,EAAE,OAAO,WAAW,UAAU,SAAS,CAAC;AAAA,MACjE;AAAA,IACD;AAAA,KACE,CAAC,cAAc,cAAc,eAAe,CAAC;AAAA,EAEhD,YAAU,MAAM;AAAA,IACf,IACC,CAAC,mBACD,sBAAsB,YAAY,mBAClC,SAAS,WAAW;AAAA,MAEpB;AAAA,IAED,MAAM,cAAc,SAAS,UAAU,CAAC,MAAM,EAAE,OAAO,eAAe;AAAA,IACtE,IAAI,gBAAgB,MAAM,aAAa;AAAA,MACtC,cAAc;AAAA,MACd;AAAA,IACD;AAAA,IAEA,IAAI,gBAAgB,IAAI;AAAA,MACvB,sBAAsB,UAAU;AAAA,MAChC,sBAAsB,MAAM;AAAA,QAC3B,MAAM,UAAU,SAAS,QAAQ,IAAI,eAAe;AAAA,QACpD,SAAS,eAAe,EAAE,OAAO,WAAW,UAAU,SAAS,CAAC;AAAA,OAChE;AAAA,IACF;AAAA,KACE,CAAC,iBAAiB,UAAU,aAAa,aAAa,CAAC;AAAA,EAE1D,YAAU,MAAM;AAAA,IACf,MAAM,YAAY,mBAAmB;AAAA,IACrC,IAAI,CAAC;AAAA,MAAW;AAAA,IAEhB,MAAM,eAAe,MAAM;AAAA,MAC1B,QAAQ,WAAW,cAAc,iBAAiB;AAAA,MAClD,IACC,eAAe,YAAY,eAAe,OAC1C,eACA,CAAC,oBACA;AAAA,QACD,cAAc;AAAA,MACf;AAAA;AAAA,IAGD,UAAU,iBAAiB,UAAU,cAAc,EAAE,SAAS,KAAK,CAAC;AAAA,IACpE,OAAO,MAAM,UAAU,oBAAoB,UAAU,YAAY;AAAA,KAC/D,CAAC,aAAa,oBAAoB,aAAa,CAAC;AAAA,EAEnD,IAAI,WAAW;AAAA,IACd,uBACC,OAKE,OALF;AAAA,MAAK,WAAU;AAAA,MAAf,UAKE;AAAA,wBAJD,MAAC,OAAD;AAAA,UAAK,WAAU;AAAA,SAAoD;AAAA,wBACnE,MAAC,OAAD;AAAA,UAAK,WAAU;AAAA,SAAoD;AAAA,wBACnE,MAAC,OAAD;AAAA,UAAK,WAAU;AAAA,SAAoD;AAAA,wBACnE,MAAC,OAAD;AAAA,UAAK,WAAU;AAAA,SAAoD;AAAA;AAAA,KAClE;AAAA,EAEJ;AAAA,EAEA,IAAI,gBAAgB,WAAW,GAAG;AAAA,IACjC,uBACC,MAEE,OAFF;AAAA,MAAK,WAAU;AAAA,MAAf;AAAA,KAEE;AAAA,EAEJ;AAAA,EAEA,MAAM,gBAAgB,CAAC,YAAyC;AAAA,IAC/D,MAAM,cAAc,WAAW,IAAI,QAAQ,EAAE;AAAA,IAC7C,IAAI,CAAC;AAAA,MAAa,OAAO;AAAA,IACzB,MAAM,YACL,iBAAiB,cAAc,iBAAiB,QAAQ;AAAA,IAEzD,uBACC,MAaE,OAbF;AAAA,MAEC,KAAK,CAAC,OAAO;AAAA,QACZ,IAAI;AAAA,UAAI,SAAS,QAAQ,IAAI,QAAQ,IAAI,EAAE;AAAA,QACtC;AAAA,mBAAS,QAAQ,OAAO,QAAQ,EAAE;AAAA;AAAA,MAExC,WAAW,YAAY,2CAA2C;AAAA,MANnE,0BAQC,MAAC,aAAD;AAAA,QACC,SAAS;AAAA,QACT,UAAU,QAAQ,OAAO;AAAA,QACzB,SAAS,MAAM,mBAAmB,QAAQ,EAAE;AAAA,OAC7C;AAAA,OAXK,QAAQ,EAYZ;AAAA;AAAA,EAIJ,uBACC,OA2BE,OA3BF;AAAA,IACC,KAAK;AAAA,IACL,WAAU;AAAA,IAFX,UA2BE;AAAA,sBAvBD,MAAC,OAAD;AAAA,QAAK,WAAU;AAAA,QAAgB,eAAY;AAAA,OAAO;AAAA,MACjD,aAAa,SAAS,qBACtB,MAaE,OAbF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,MAWE,OAXF;AAAA,UAAK,WAAU;AAAA,UAAf,UACE,aAAa,IAAI,CAAC,0BAClB,OAOE,OAPF;AAAA,sBAOE;AAAA,8BAND,MAEE,MAFF;AAAA,gBAAI,WAAU;AAAA,gBAAd,UACE,MAAM;AAAA,eACN;AAAA,8BACF,MAEE,OAFF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UACE,MAAM,SAAS,IAAI,CAAC,YAAY,cAAc,OAAO,CAAC;AAAA,eACtD;AAAA;AAAA,aANO,MAAM,KAOd,CACF;AAAA,SACA;AAAA,OACD;AAAA,MAGF,sCACA,MAEE,OAFF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,MAAC,UAAD;AAAA,UAAS,WAAU;AAAA,SAAqD;AAAA,OACvE;AAAA;AAAA,GAEF;AAAA,CAEH;;AElMD,kBAAS;AACT;AAAA,WACC;AAAA,iBACA;AAAA;;AAKD,IAAM,mBAAmB,IAAI,IAAI;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAED,SAAS,WAAW,CAAC,UAA2B;AAAA,EAC/C,MAAM,MAAM,SAAS,MAAM,GAAG,EAAE,IAAI,GAAG,YAAY,KAAK;AAAA,EACxD,OAAO,iBAAiB,IAAI,GAAG;AAAA;AAehC,IAAM,eAAuC;AAAA,EAC5C,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,GAAG;AAAA,EACH,KAAK;AAAA,EACL,GAAG;AAAA,EACH,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,QAAQ;AACT;AAEA,SAAS,qBAAqB,CAAC,MAAsB;AAAA,EACpD,MAAM,YAAY,KAAK,MAAM,GAAG,EAAE,IAAI,GAAG,YAAY,KAAK;AAAA,EAC1D,IAAI,CAAC,WAAW;AAAA,IACf,OAAO;AAAA,EACR;AAAA,EACA,OAAO,aAAa,cAAc;AAAA;AAMnC,SAAS,WAAW,CAAC,MAAsB;AAAA,EAC1C,MAAM,QAAQ,KAAK,MAAM,GAAG;AAAA,EAC5B,OAAO,MAAM,MAAM,SAAS;AAAA;AAGtB,SAAS,aAAa,GAAG,QAA4B;AAAA,EAC3D,MAAM,cAAc,UAAU,gBAAgB,UAAU,SAAS,MAAM,IACpE,eACA;AAAA,EAEH,MAAM,mBACL,KAAK,YAAY,KAAK,SAAS,KAAK,EAAE,SAAS,IAC5C,KAAK,WACL,sBAAsB,KAAK,IAAI;AAAA,EAGnC,MAAM,WAAW,YAAY,KAAK,IAAI;AAAA,EAGtC,IAAI,KAAK,aAAa,KAAK,SAAS;AAAA,IACnC,uBACC,OAkDE,OAlDF;AAAA,MAAK,WAAU;AAAA,MAAf,UAkDE;AAAA,wBAhDD,OAaE,OAbF;AAAA,UAAK,WAAU;AAAA,UAAf,UAaE;AAAA,4BAZD,MAKE,QALF;AAAA,cACC,WAAU;AAAA,cACV,OAAO,KAAK;AAAA,cAFb,UAIE;AAAA,aACA;AAAA,4BACF,OAKE,OALF;AAAA,cAAK,WAAU;AAAA,cAAf,UAKE;AAAA,gCAJD,OAEE,QAFF;AAAA,kBAAM,WAAU;AAAA,kBAAhB,UAEE;AAAA,oBAFF;AAAA,oBACG,KAAK;AAAA;AAAA,iBACN;AAAA,gCACF,MAA4D,QAA5D;AAAA,kBAAM,WAAU;AAAA,kBAAhB,UAAyC;AAAA,iBAAmB;AAAA;AAAA,aAC3D;AAAA;AAAA,SACD;AAAA,wBAGF,MAIE,OAJF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,OAEE,KAFF;AAAA,YAAG,WAAU;AAAA,YAAb,UAEE;AAAA,cAFF;AAAA,cACY,KAAK;AAAA,cADjB;AAAA;AAAA,WAEE;AAAA,SACD;AAAA,wBAGF,MAwBE,OAxBF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,MAsBE,OAtBF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAoBE,oBApBF;AAAA,cACC,UAAU;AAAA,cACV,OAAO;AAAA,cACP,WAAS;AAAA,cACT,eAAa;AAAA,cACb,WAAW,OAAO;AAAA,gBACjB,WAAW;AAAA,cACZ;AAAA,cACA,aAAa;AAAA,gBACZ,QAAQ;AAAA,gBACR,SAAS;AAAA,gBACT,YAAY;AAAA,cACb;AAAA,cACA,cAAc;AAAA,gBACb,OAAO;AAAA,kBACN,MAAM;AAAA,gBACP;AAAA,cACD;AAAA,cAjBD,UAmBE,KAAK;AAAA,aACL;AAAA,WACD;AAAA,SACD;AAAA;AAAA,KACD;AAAA,EAEJ;AAAA,EAGA,IAAI,KAAK,UAAU;AAAA,IAClB,MAAM,UAAU,YAAY,KAAK,IAAI;AAAA,IACrC,MAAM,WAAW,UACd,GAAG,qBAAqB,uBAAuB,mBAAmB,KAAK,IAAI,MAC3E;AAAA,IAEH,uBACC,OA+BE,OA/BF;AAAA,MAAK,WAAU;AAAA,MAAf,UA+BE;AAAA,wBA7BD,OAUE,OAVF;AAAA,UAAK,WAAU;AAAA,UAAf,UAUE;AAAA,4BATD,MAKE,QALF;AAAA,cACC,WAAU;AAAA,cACV,OAAO,KAAK;AAAA,cAFb,UAIE;AAAA,aACA;AAAA,4BACF,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACC,MAAqD,QAArD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAqD;AAAA,aACpD;AAAA;AAAA,SACD;AAAA,QAED,2BACA,MAME,OANF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,MAAC,OAAD;AAAA,YACC,KAAK;AAAA,YACL,KAAK;AAAA,YACL,WAAU;AAAA,WACX;AAAA,SACC,oBAEF,MAME,OANF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,MAIE,OAJF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAEE,KAFF;AAAA,cAAG,WAAU;AAAA,cAAb;AAAA,aAEE;AAAA,WACD;AAAA,SACD;AAAA;AAAA,KAEF;AAAA,EAEJ;AAAA,EAGA,MAAM,QAAQ,KAAK,KAAK,MAAM;AAAA,CAAI;AAAA,EAClC,MAAM,YAAwB,CAAC;AAAA,EAE/B,IAAI,aAAa;AAAA,EACjB,IAAI,aAAa;AAAA,EAEjB,WAAW,QAAQ,OAAO;AAAA,IACzB,IAAI,KAAK,WAAW,IAAI,GAAG;AAAA,MAE1B,MAAM,QAAQ,KAAK,MAAM,wCAAwC;AAAA,MACjE,IAAI,OAAO;AAAA,QACV,aAAa,SAAS,MAAM,IAAI,EAAE;AAAA,QAClC,aAAa,SAAS,MAAM,IAAI,EAAE;AAAA,MACnC;AAAA,MACA,UAAU,KAAK;AAAA,QACd,eAAe;AAAA,QACf,eAAe;AAAA,QACf,SAAS;AAAA,QACT,aAAa;AAAA,QACb,MAAM;AAAA,MACP,CAAC;AAAA,IACF,EAAO,SACN,KAAK,WAAW,MAAM,KACtB,KAAK,WAAW,OAAO,KACvB,KAAK,WAAW,KAAK,KACrB,KAAK,WAAW,KAAK,GACpB;AAAA,MACD,UAAU,KAAK;AAAA,QACd,eAAe;AAAA,QACf,eAAe;AAAA,QACf,SAAS;AAAA,QACT,aAAa;AAAA,QACb,MAAM;AAAA,MACP,CAAC;AAAA,IACF,EAAO,SAAI,KAAK,WAAW,GAAG,GAAG;AAAA,MAChC,UAAU,KAAK;AAAA,QACd,eAAe;AAAA,QACf,eAAe;AAAA,QACf,SAAS;AAAA,QACT,aAAa,KAAK,MAAM,CAAC;AAAA,QACzB,MAAM;AAAA,MACP,CAAC;AAAA,MACD;AAAA,IACD,EAAO,SAAI,KAAK,WAAW,GAAG,GAAG;AAAA,MAChC,UAAU,KAAK;AAAA,QACd,eAAe;AAAA,QACf,eAAe;AAAA,QACf,SAAS;AAAA,QACT,aAAa,KAAK,MAAM,CAAC;AAAA,QACzB,MAAM;AAAA,MACP,CAAC;AAAA,MACD;AAAA,IACD,EAAO;AAAA,MAEN,UAAU,KAAK;AAAA,QACd,eAAe;AAAA,QACf,eAAe;AAAA,QACf,SAAS;AAAA,QACT,aAAa;AAAA,QACb,MAAM;AAAA,MACP,CAAC;AAAA,MACD;AAAA,MACA;AAAA;AAAA,EAEF;AAAA,EAGA,MAAM,aAAa,CAAC,UAAoB,UAAkB;AAAA,IACzD,IAAI,eAAe;AAAA,IACnB,IAAI,sBACH;AAAA,IACD,IAAI,mBACH;AAAA,IAGD,IAAI,SAAS,SAAS,QAAQ;AAAA,MAC7B,gBAAgB;AAAA,MAChB,uBAAuB;AAAA,MACvB,oBAAoB;AAAA,IACrB,EAAO,SAAI,SAAS,SAAS,OAAO;AAAA,MACnC,gBAAgB;AAAA,MAChB,uBAAuB;AAAA,MACvB,oBAAoB;AAAA,IACrB,EAAO,SAAI,SAAS,SAAS,UAAU;AAAA,MACtC,gBAAgB;AAAA,MAChB,uBAAuB;AAAA,MACvB,oBAAoB;AAAA,IACrB,EAAO,SAAI,SAAS,SAAS,QAAQ;AAAA,MACpC,oBAAoB;AAAA,MACpB,uBAAuB;AAAA,IACxB,EAAO;AAAA,MACN,oBAAoB;AAAA,MACpB,uBAAuB;AAAA;AAAA,IAGxB,MAAM,SACL,SAAS,kBAAkB,OAAO,SAAS,cAAc,SAAS,IAAI;AAAA,IACvE,MAAM,SACL,SAAS,kBAAkB,OAAO,SAAS,cAAc,SAAS,IAAI;AAAA,IAGvE,IAAI,kBAAmC,SAAS,WAAW;AAAA,IAE3D,IACC,SAAS,SAAS,UAClB,SAAS,SAAS,UAClB,qBAAqB,eACrB,SAAS,YAAY,KAAK,GACzB;AAAA,MACD,kCACC,MAoBE,oBApBF;AAAA,QACC,UAAU;AAAA,QACV,OAAO;AAAA,QACP,aAAa;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,UAAU;AAAA,UACV,YAAY;AAAA,QACb;AAAA,QACA,cAAc;AAAA,UACb,OAAO;AAAA,YACN,YAAY;AAAA,YACZ,YAAY;AAAA,UACb;AAAA,QACD;AAAA,QACA,QAAO;AAAA,QAjBR,UAmBE,SAAS;AAAA,OACT;AAAA,MAIH,IAAI,SAAS,SAAS,OAAO;AAAA,QAC5B,kCACC;AAAA,oBAGE;AAAA,4BAFD,MAAiC,QAAjC;AAAA,cAAM,WAAU;AAAA,cAAhB;AAAA,aAAiC;AAAA,YAChC;AAAA;AAAA,SACA;AAAA,MAEJ,EAAO,SAAI,SAAS,SAAS,UAAU;AAAA,QACtC,kCACC;AAAA,oBAGE;AAAA,4BAFD,MAAiC,QAAjC;AAAA,cAAM,WAAU;AAAA,cAAhB;AAAA,aAAiC;AAAA,YAChC;AAAA;AAAA,SACA;AAAA,MAEJ;AAAA,IACD;AAAA,IAEA,uBACC,OAaE,OAbF;AAAA,MAAiB,WAAW;AAAA,MAA5B,UAaE;AAAA,wBAXD,MASE,OATF;AAAA,UACC,WAAW;AAAA,UACX,eAAY;AAAA,UACZ,OAAO,EAAE,eAAe,OAAO;AAAA,UAHhC,0BAKC,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFD,MAA2C,QAA3C;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAAkC;AAAA,eAAS;AAAA,8BAC3C,MAA2C,QAA3C;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAAkC;AAAA,eAAS;AAAA;AAAA,WAC1C;AAAA,SACD;AAAA,wBACF,MAAqD,OAArD;AAAA,UAAK,WAAW;AAAA,UAAhB,UAAmC;AAAA,SAAkB;AAAA;AAAA,OAZ5C,KAaR;AAAA;AAAA,EAIJ,uBACC,OAkCE,OAlCF;AAAA,IAAK,WAAU;AAAA,IAAf,UAkCE;AAAA,sBAhCD,OAoBE,OApBF;AAAA,QAAK,WAAU;AAAA,QAAf,UAoBE;AAAA,0BAnBD,MAKE,QALF;AAAA,YACC,WAAU;AAAA,YACV,OAAO,KAAK;AAAA,YAFb,UAIE;AAAA,WACA;AAAA,0BACF,OAYE,OAZF;AAAA,YAAK,WAAU;AAAA,YAAf,UAYE;AAAA,cAXA,KAAK,aAAa,qBAClB,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBAFF;AAAA,kBACG,KAAK;AAAA;AAAA,eACN;AAAA,cAEF,KAAK,YAAY,qBACjB,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBAFF;AAAA,kBACG,KAAK;AAAA;AAAA,eACN;AAAA,8BAEH,MAA4D,QAA5D;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAAyC;AAAA,eAAmB;AAAA;AAAA,WAC3D;AAAA;AAAA,OACD;AAAA,sBAGF,MAQE,OARF;AAAA,QAAK,WAAU;AAAA,QAAf,UACE,KAAK,KAAK,KAAK,MAAM,qBACrB,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf;AAAA,SAEE,oBAEF,MAAwD,OAAxD;AAAA,UAAK,WAAU;AAAA,UAAf,UAA4B,UAAU,IAAI,UAAU;AAAA,SAAI;AAAA,OAExD;AAAA;AAAA,GACD;AAAA;;ACnZJ,sBAAS,0CAAwB;;;ACAjC;AAAA,cACC;AAAA;AAAA;AAAA,WAGA;AAAA,iBACA;AAAA;AAAA,eAEA;AAAA,YACA;AAAA;AAWD,qBAAS;AAAA;AAiBT,SAAS,iBAAiB,CAAC,MAAc,WAAW,GAAW;AAAA,EAC9D,MAAM,QAAQ,KAAK,MAAM,GAAG;AAAA,EAG5B,IAAI,MAAM,UAAU,WAAW,GAAG;AAAA,IACjC,OAAO;AAAA,EACR;AAAA,EAGA,MAAM,YAAY,MAAM,MAAM,CAAC,QAAQ;AAAA,EACvC,OAAO,MAAM,UAAU,KAAK,GAAG;AAAA;AAGzB,SAAS,WAAW;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,wBAAwB;AAAA,GACJ;AAAA,EACpB,QAAQ,aAAa,YAAY;AAAA,EACjC,MAAM,aAAa,cAAc;AAAA,EACjC,MAAM,eAAe,gBAAgB;AAAA,EACrC,MAAM,eAAe,gBAAgB;AAAA,EACrC,MAAM,cAAc,eAAe;AAAA,EACnC,MAAM,mBAAmB,qBACxB,CAAC,UAAU,MAAM,gBAClB;AAAA,EACA,OAAO,WAAW,gBAAgB,WAAS,MAAM;AAAA,EAEjD,MAAM,oBAAoB,OAAO,MAA2C;AAAA,IAC3E,EAAE,gBAAgB;AAAA,IAClB,MAAM,UAAU,EAAE,OAAO;AAAA,IACzB,aAAa,OAAO;AAAA,IAEpB,IAAI;AAAA,MACH,IAAI,SAAS;AAAA,QACZ,MAAM,WAAW,YAAY,CAAC,KAAK,IAAI,CAAC;AAAA,MACzC,EAAO;AAAA,QACN,MAAM,aAAa,YAAY,CAAC,KAAK,IAAI,CAAC;AAAA;AAAA,MAE1C,OAAO,OAAO;AAAA,MAEf,aAAa,CAAC,OAAO;AAAA,MACrB,QAAQ,MAAM,iCAAiC,KAAK;AAAA;AAAA;AAAA,EAItD,MAAM,gBAAgB,OAAO,MAAwB;AAAA,IACpD,EAAE,gBAAgB;AAAA,IAClB,iBAAiB;AAAA,MAChB,OAAO;AAAA,MACP,SAAS,WAAW,KAAK;AAAA,MACzB,cAAc;AAAA,MACd,SAAS;AAAA,MACT,WAAW,YAAY;AAAA,QACtB,IAAI;AAAA,UACH,MAAM,aAAa,YAAY,CAAC,KAAK,IAAI,CAAC;AAAA,UACzC,OAAO,OAAO;AAAA,UACf,QAAQ,MAAM,2BAA2B,KAAK;AAAA,UAC9C,MAAM;AAAA;AAAA;AAAA,IAGT,CAAC;AAAA;AAAA,EAGF,MAAM,eAAe,OAAO,MAAwB;AAAA,IACnD,EAAE,gBAAgB;AAAA,IAClB,iBAAiB;AAAA,MAChB,OAAO;AAAA,MACP,SAAS,UAAU,KAAK;AAAA,MACxB,cAAc;AAAA,MACd,SAAS;AAAA,MACT,WAAW,YAAY;AAAA,QACtB,IAAI;AAAA,UACH,MAAM,YAAY,YAAY,CAAC,KAAK,IAAI,CAAC;AAAA,UACxC,OAAO,OAAO;AAAA,UACf,QAAQ,MAAM,0BAA0B,KAAK;AAAA,UAC7C,MAAM;AAAA;AAAA;AAAA,IAGT,CAAC;AAAA;AAAA,EAGF,MAAM,cAAc,MAAM;AAAA,IACzB,SAAS,KAAK,MAAM,MAAM;AAAA;AAAA,EAI3B,MAAM,kBAAkB,MAAM;AAAA,IAC7B,QAAQ,KAAK;AAAA,WACP;AAAA,WACA;AAAA,QACJ,OAAO;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,UACP,OAAO;AAAA,UACP,YAAY;AAAA,QACb;AAAA,WACI;AAAA,QACJ,OAAO;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,UACP,OAAO;AAAA,UACP,YAAY;AAAA,QACb;AAAA,WACI;AAAA,QACJ,OAAO;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,UACP,OAAO;AAAA,UACP,YAAY;AAAA,QACb;AAAA,WACI;AAAA,QACJ,OAAO;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,UACP,OAAO;AAAA,UACP,YAAY;AAAA,QACb;AAAA,WACI;AAAA,QACJ,OAAO;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,UACP,OAAO;AAAA,UACP,YAAY;AAAA,QACb;AAAA;AAAA,QAEA,OAAO;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,UACP,OAAO;AAAA,UACP,YAAY;AAAA,QACb;AAAA;AAAA;AAAA,EAIH,MAAM,UAAS,gBAAgB;AAAA,EAC/B,MAAM,OAAO,QAAO;AAAA,EAGpB,MAAM,cAAc,kBAAkB,KAAK,MAAM,CAAC;AAAA,EAElD,uBACC,OA8EE,UA9EF;AAAA,IACC,MAAK;AAAA,IACL,WAAU;AAAA,IACV,SAAS;AAAA,IAHV,UA8EE;AAAA,sBAzED,MAAC,SAAD;AAAA,QACC,MAAK;AAAA,QACL,SAAS;AAAA,QACT,UAAU;AAAA,QACV,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,QAClC,WAAU;AAAA,QACV,cAAY,GAAG,YAAY,YAAY,WAAW,KAAK;AAAA,OACxD;AAAA,sBAEA,OAsBE,OAtBF;AAAA,QAAK,WAAU;AAAA,QAAf,UAsBE;AAAA,0BArBD,MAAC,MAAD;AAAA,YAAM,WAAW,yBAAyB,QAAO;AAAA,WAAS;AAAA,0BAC1D,MAmBE,OAnBF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,OAiBE,OAjBF;AAAA,cAAK,WAAU;AAAA,cAAf,UAiBE;AAAA,gCAhBD,MAKE,QALF;AAAA,kBACC,WAAU;AAAA,kBACV,OAAO,GAAG,KAAK;AAAA,EAAS,KAAK;AAAA,kBAF9B,UAIE;AAAA,iBACA;AAAA,gCACF,OASE,OATF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UASE;AAAA,oCARD,MAEE,QAFF;AAAA,sBAAM,WAAW,yBAAyB,QAAO;AAAA,sBAAjD,UACE,QAAO;AAAA,qBACP;AAAA,oBACD,yCACA,MAEE,OAFF;AAAA,sBAAK,OAAM;AAAA,sBAAX,0BACC,MAAC,eAAD;AAAA,wBAAa,WAAU;AAAA,uBAA8B;AAAA,qBACpD;AAAA;AAAA,iBAEF;AAAA;AAAA,aACD;AAAA,WACD;AAAA;AAAA,OACD;AAAA,MAGD,KAAK,eAAe,aAAa,KAAK,cAAc,4BACpD,OAOE,OAPF;AAAA,QAAK,WAAU;AAAA,QAAf,UAOE;AAAA,UANA,KAAK,eAAe,aAAa,KAAK,aAAa,qBACnD,OAAqD,QAArD;AAAA,YAAM,WAAU;AAAA,YAAhB,UAAqD;AAAA,cAArD;AAAA,cAAmC,KAAK;AAAA;AAAA,WAAa;AAAA,UAErD,KAAK,cAAc,aAAa,KAAK,YAAY,qBACjD,OAAkD,QAAlD;AAAA,YAAM,WAAU;AAAA,YAAhB,UAAkD;AAAA,cAAlD;AAAA,cAAiC,KAAK;AAAA;AAAA,WAAY;AAAA;AAAA,OAElD,IACC;AAAA,sBAGJ,OA0BE,OA1BF;AAAA,QAAK,WAAU;AAAA,QAAf,UA0BE;AAAA,UAzBA,CAAC,UAAU,KAAK,WAAW,+BAC3B,MAQE,UARF;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,WAAU;AAAA,YACV,OAAM;AAAA,YACN,cAAY,UAAU,KAAK;AAAA,YAL5B,0BAOC,MAAC,SAAD;AAAA,cAAQ,WAAU;AAAA,aAA2B;AAAA,WAC5C;AAAA,UAEF,CAAC,UAAU,KAAK,WAAW,eAAe,KAAK,WAAW,2BAC1D,MAQE,UARF;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,WAAU;AAAA,YACV,OAAM;AAAA,YACN,cAAY,WAAW,KAAK;AAAA,YAL7B,0BAOC,MAAC,YAAD;AAAA,cAAW,WAAU;AAAA,aAA2B;AAAA,WAC/C;AAAA,UAEF,UAAU,CAAC,yCACX,MAAC,QAAD;AAAA,YAAO,WAAU;AAAA,WAA8E;AAAA;AAAA,OAE/F;AAAA;AAAA,GACD;AAAA;;;ADzPJ,sBAAS,uBAAW,qBAAQ;AAAA;AAMrB,SAAS,WAAW,GAAG,UAA4B;AAAA,EACzD,QAAQ,iBAAiB,aAAa,YAAY;AAAA,EAClD,MAAM,aAAa,cAAc;AAAA,EACjC,MAAM,eAAe,gBAAgB;AAAA,EACrC,QAAQ,cAAc,iBAAiB,cAAc;AAAA,EACrD,MAAM,WAAW,SAAoC,IAAI,GAAK;AAAA,EAE9D,MAAM,gBAAgB,OAAO,YAAY,UAAU,KAAK;AAAA,EACxD,MAAM,YAAY,OAAO,OAAO,SAAS;AAAA,EACzC,MAAM,cAAc,OAAO,SAAS,SAAS,KAAK,OAAO,UAAU,SAAS;AAAA,EAE5E,MAAM,gBAAgB,CAAC,GAAG,OAAO,UAAU,GAAG,OAAO,SAAS;AAAA,EAC9D,MAAM,mBAAmB,cAAc,SAAS;AAAA,EAEhD,MAAM,YAAY,UAAQ,MAAM;AAAA,IAC/B,OAAO;AAAA,MACN,GAAI,OAAO,cAAc,CAAC;AAAA,MAC1B,GAAG,OAAO;AAAA,MACV,GAAG,OAAO;AAAA,MACV,GAAG,OAAO;AAAA,IACX;AAAA,KACE,CAAC,MAAM,CAAC;AAAA,EAEX,MAAM,gBAAgB,IAAI,IAAI,OAAO,SAAS,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AAAA,EAEhE,MAAM,iBAAiB,MAAM;AAAA,IAC5B,MAAM,eAAe,cAAc,IAAI,CAAC,MAAM,EAAE,IAAI;AAAA,IACpD,IAAI,aAAa,SAAS,GAAG;AAAA,MAC5B,WAAW,OAAO,YAAY;AAAA,IAC/B;AAAA;AAAA,EAGD,MAAM,oBAAoB,MAAM;AAAA,IAC/B,MAAM,iBAAiB,OAAO,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI;AAAA,IACtD,IAAI,eAAe,SAAS,GAAG;AAAA,MAC9B,aAAa,OAAO,cAAc;AAAA,IACnC;AAAA;AAAA,EAGD,MAAM,mBAAmB,OAAO,YAAY,UAAU;AAAA,EAEtD,YAAU,MAAM;AAAA,IACf,IAAI,iBAAiB,SAAS,gBAAgB,GAAG;AAAA,MAChD,MAAM,UAAU,SAAS,QAAQ,IAAI,YAAY;AAAA,MACjD,SAAS,eAAe,EAAE,OAAO,WAAW,UAAU,SAAS,CAAC;AAAA,MAEhE,MAAM,WAAW;AAAA,QAChB,GAAI,OAAO,cAAc,CAAC;AAAA,QAC1B,GAAG,OAAO;AAAA,QACV,GAAG,OAAO;AAAA,QACV,GAAG,OAAO;AAAA,MACX;AAAA,MACA,MAAM,cAAc,SAAS;AAAA,MAC7B,IAAI,aAAa;AAAA,QAChB,MAAM,WAAW,OAAO,OAAO,SAAS,WAAW;AAAA,QACnD,SAAS,YAAY,MAAM,QAAQ;AAAA,MACpC;AAAA,IACD;AAAA,KACE;AAAA,IACF;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP;AAAA,EACD,CAAC;AAAA,EAED,uBACC,OA8JE,OA9JF;AAAA,IAAK,WAAU;AAAA,IAAf,UA8JE;AAAA,MA7JA,gCACA,OA4BE,OA5BF;AAAA,QAAK,WAAU;AAAA,QAAf,UA4BE;AAAA,0BA3BD,MAKE,OALF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,OAGE,QAHF;AAAA,cAAM,WAAU;AAAA,cAAhB,UAGE;AAAA,gCAFD,MAAC,gBAAD;AAAA,kBAAe,WAAU;AAAA,iBAAc;AAAA,gBADxC;AAAA,gBAEa;AAAA,gBAFb;AAAA;AAAA,aAGE;AAAA,WACD;AAAA,0BACF,MAoBE,OApBF;AAAA,YAAK,WAAU;AAAA,YAAf,UACE,OAAO,YAAY,IAAI,CAAC,MAAM,UAAU;AAAA,cACxC,MAAM,cAAc;AAAA,cACpB,MAAM,YACL,iBAAiB,SAAS,iBAAiB;AAAA,cAC5C,uBACC,MAWE,OAXF;AAAA,gBAEC,KAAK,CAAC,OAAO;AAAA,kBACZ,IAAI;AAAA,oBAAI,SAAS,QAAQ,IAAI,aAAa,EAAE;AAAA,kBACvC;AAAA,6BAAS,QAAQ,OAAO,WAAW;AAAA;AAAA,gBAEzC,WACC,YAAY,sCAAsC;AAAA,gBAPpD,0BAUC,MAAC,aAAD;AAAA,kBAAa;AAAA,kBAAY,QAAQ;AAAA,iBAAO;AAAA,iBATnC,KAAK,IAUT;AAAA,aAEH;AAAA,WACA;AAAA;AAAA,OACD;AAAA,MAGF,6BACA,OAiDE,OAjDF;AAAA,QAAK,WAAU;AAAA,QAAf,UAiDE;AAAA,0BAhDD,OAsBE,OAtBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAsBE;AAAA,8BArBD,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBAFF;AAAA,kBACkB,OAAO,OAAO;AAAA,kBADhC;AAAA;AAAA,eAEE;AAAA,8BACF,OAiBE,OAjBF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAiBE;AAAA,kBAhBA,OAAO,OAAO,SAAS,KAAK,CAAC,gCAC7B,OAQE,QARF;AAAA,oBACC,SAAQ;AAAA,oBACR,MAAK;AAAA,oBACL,SAAS;AAAA,oBACT,WAAU;AAAA,oBAJX,UAQE;AAAA,sCAFD,MAAC,YAAD;AAAA,wBAAW,WAAU;AAAA,uBAAe;AAAA,sBANrC;AAAA;AAAA,mBAQE;AAAA,kBAEF,OAAO,OAAO,SAAS,KAAK,gCAC5B,MAEE,QAFF;AAAA,oBAAM,WAAU;AAAA,oBAAhB;AAAA,mBAEE;AAAA;AAAA,eAEF;AAAA;AAAA,WACD;AAAA,0BACF,MAwBE,OAxBF;AAAA,YAAK,WAAU;AAAA,YAAf,UACE,OAAO,OAAO,IAAI,CAAC,MAAM,UAAU;AAAA,cACnC,MAAM,cAAc,mBAAmB;AAAA,cACvC,MAAM,YACL,iBAAiB,SAAS,iBAAiB;AAAA,cAC5C,uBACC,MAeE,OAfF;AAAA,gBAEC,KAAK,CAAC,OAAO;AAAA,kBACZ,IAAI;AAAA,oBAAI,SAAS,QAAQ,IAAI,aAAa,EAAE;AAAA,kBACvC;AAAA,6BAAS,QAAQ,OAAO,WAAW;AAAA;AAAA,gBAEzC,WACC,YAAY,sCAAsC;AAAA,gBAPpD,0BAUC,MAAC,aAAD;AAAA,kBACC;AAAA,kBACA,QAAQ;AAAA,kBACR,uBAAuB,cAAc,IAAI,KAAK,IAAI;AAAA,iBACnD;AAAA,iBAbK,KAAK,IAcT;AAAA,aAEH;AAAA,WACA;AAAA;AAAA,OACD;AAAA,MAGF,+BACA,OA+DE,OA/DF;AAAA,kBA+DE;AAAA,0BA9DD,OAgBE,OAhBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAgBE;AAAA,8BAfD,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBAFF;AAAA,kBACW,OAAO,SAAS,SAAS,OAAO,UAAU;AAAA,kBADrD;AAAA;AAAA,eAEE;AAAA,cACD,oCACA,OASE,QATF;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,OAAM;AAAA,gBACN,WAAU;AAAA,gBALX,UASE;AAAA,kCAFD,MAAC,aAAD;AAAA,oBAAa,WAAU;AAAA,mBAAe;AAAA,kBAPvC;AAAA;AAAA,eASE;AAAA;AAAA,WAEF;AAAA,0BACF,OA4CE,OA5CF;AAAA,YAAK,WAAU;AAAA,YAAf,UA4CE;AAAA,cA3CA,OAAO,SAAS,IAAI,CAAC,MAAM,UAAU;AAAA,gBACrC,MAAM,cACL,mBAAmB,OAAO,OAAO,SAAS;AAAA,gBAC3C,MAAM,YACL,iBAAiB,SAAS,iBAAiB;AAAA,gBAC5C,uBACC,MAWE,OAXF;AAAA,kBAEC,KAAK,CAAC,OAAO;AAAA,oBACZ,IAAI;AAAA,sBAAI,SAAS,QAAQ,IAAI,aAAa,EAAE;AAAA,oBACvC;AAAA,+BAAS,QAAQ,OAAO,WAAW;AAAA;AAAA,kBAEzC,WACC,YAAY,sCAAsC;AAAA,kBAPpD,0BAUC,MAAC,aAAD;AAAA,oBAAa;AAAA,oBAAY,QAAQ;AAAA,mBAAO;AAAA,mBATnC,KAAK,IAUT;AAAA,eAEH;AAAA,cACA,OAAO,UAAU,IAAI,CAAC,MAAM,UAAU;AAAA,gBACtC,MAAM,cACL,mBACA,OAAO,OAAO,SACd,OAAO,SAAS,SAChB;AAAA,gBACD,MAAM,YACL,iBAAiB,SAAS,iBAAiB;AAAA,gBAC5C,uBACC,MAWE,OAXF;AAAA,kBAEC,KAAK,CAAC,OAAO;AAAA,oBACZ,IAAI;AAAA,sBAAI,SAAS,QAAQ,IAAI,aAAa,EAAE;AAAA,oBACvC;AAAA,+BAAS,QAAQ,OAAO,WAAW;AAAA;AAAA,kBAEzC,WACC,YAAY,sCAAsC;AAAA,kBAPpD,0BAUC,MAAC,aAAD;AAAA,oBAAa;AAAA,oBAAY,QAAQ;AAAA,mBAAO;AAAA,mBATnC,KAAK,IAUT;AAAA,eAEH;AAAA;AAAA,WACA;AAAA;AAAA,OACD;AAAA,MAGF,CAAC,gBAAgB,CAAC,aAAa,CAAC,+BAChC,MAEE,OAFF;AAAA,QAAK,WAAU;AAAA,QAAf;AAAA,OAEE;AAAA;AAAA,GAEF;AAAA;;AEhPJ,iBAAS,uBAAM,4BAAa,yBAAW;AACvC;AAAA;AAAA,kBAEC;AAAA,iBACA;AAAA;AAAA,eAEA;AAAA,WACA;AAAA,UACA;AAAA,eACA;AAAA,cACA;AAAA,YACA;AAAA;AAAA,OAEA;AAAA;AAED,2BAAS;;AAgBT,IAAM,YAAY;AAClB,IAAM,gBAAgB;AACtB,IAAM,YAAY;AAClB,IAAM,YAAY;AAYX,IAAM,aAAa,OAAK,SAAS,WAAU;AAAA,EACjD;AAAA,GACmB;AAAA,EACnB,MAAM,aAAa,YAAY,CAAC,UAAU,MAAM,UAAU;AAAA,EAC1D,MAAM,kBAAkB,YAAY,CAAC,UAAU,MAAM,eAAe;AAAA,EACpE,MAAM,aAAa,mBAClB,CAAC,MAAM,EAAE,OAAO,cAAc,aAC/B;AAAA,EACA,QAAQ,MAAM,QAAQ,WAAW,OAAO,YAAY,aAAa;AAAA,EACjE,QAAQ,MAAM,YAAY,cAAc;AAAA,EACxC,MAAM,cAAc,iBAAe;AAAA,EACnC,MAAM,eAAe,eAAe;AAAA,EACpC,MAAM,eAAe,eAAe;AAAA,EACpC,MAAM,eAAe,WAAW;AAAA,EAChC,MAAM,oBAAoB,aAAa;AAAA,EACvC,MAAM,uBAAuB,gBAAgB;AAAA,EAC7C,OAAO,QAAQ,aAAa,WAAqB,CAAC,CAAC;AAAA,EACnD,OAAO,aAAa,kBAAkB,WAAS,KAAK;AAAA,EACpD,OAAO,eAAe,oBAAoB,WAAS,KAAK;AAAA,EACxD,OAAO,YAAY,iBAAiB,WAAS,QAAQ;AAAA,EACrD,OAAO,WAAW,gBAAgB,WAAS,EAAE;AAAA,EAC7C,OAAO,qBAAqB,0BAA0B,WACrD,IACD;AAAA,EAEA,YAAU,MAAM;AAAA,IACf,IAAI,YAAY;AAAA,MACf,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,QAAQ,EAAE,CAAC;AAAA,IAC9D;AAAA,KACE,CAAC,YAAY,WAAW,CAAC;AAAA,EAE5B,MAAM,gBAAgB,MAAM;AAAA,IAC3B,QAAQ;AAAA;AAAA,EAGT,MAAM,WAAW,cAAY,CAAC,SAAiB,YAAqB;AAAA,IACnE,MAAM,KAAK,GAAG,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,GAAG,CAAC;AAAA,IACjE,UAAU,CAAC,SAAS,CAAC,GAAG,MAAM,EAAE,IAAI,SAAS,QAAQ,CAAC,CAAC;AAAA,KACrD,CAAC,CAAC;AAAA,EAEL,MAAM,eAAe,cAAY,CAAC,OAAe;AAAA,IAChD,UAAU,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;AAAA,KACjD,CAAC,CAAC;AAAA,EAEL,MAAM,aAAa,YAAY;AAAA,IAC9B,IAAI;AAAA,MACH,MAAM,aAAa,YAAY;AAAA,MAC9B,OAAO,KAAK;AAAA,MACb,SACC,eAAe,QAAQ,IAAI,UAAU,kBACrC,UACD;AAAA;AAAA;AAAA,EAIF,MAAM,aAAa,YAAY;AAAA,IAC9B,IAAI;AAAA,MACH,MAAM,aAAa,YAAY;AAAA,MAC9B,OAAO,KAAK;AAAA,MACb,SACC,eAAe,QAAQ,IAAI,UAAU,kBACrC,UACD;AAAA;AAAA;AAAA,EAIF,MAAM,kBAAkB,YAAY;AAAA,IACnC,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,UAAU,KAAK;AAAA,MAAG;AAAA,IAC7C,IAAI;AAAA,MACH,MAAM,kBAAkB,YAAY;AAAA,QACnC,MAAM,WAAW,KAAK;AAAA,QACtB,KAAK,UAAU,KAAK;AAAA,MACrB,CAAC;AAAA,MACD,cAAc,QAAQ;AAAA,MACtB,aAAa,EAAE;AAAA,MACf,iBAAiB,KAAK;AAAA,MACrB,OAAO,KAAK;AAAA,MACb,SACC,eAAe,QAAQ,IAAI,UAAU,wBACrC,gBACD;AAAA;AAAA;AAAA,EAIF,MAAM,qBAAqB,OAAO,SAAiB;AAAA,IAClD,IAAI,wBAAwB,MAAM;AAAA,MACjC,uBAAuB,IAAI;AAAA,MAC3B;AAAA,IACD;AAAA,IACA,uBAAuB,IAAI;AAAA,IAC3B,IAAI;AAAA,MACH,MAAM,qBAAqB,YAAY,IAAI;AAAA,MAC1C,OAAO,KAAK;AAAA,MACb,SACC,eAAe,QAAQ,IAAI,UAAU,2BACrC,mBACD;AAAA;AAAA;AAAA,EAIF,MAAM,kBAAkB,cACvB,CAAC,aAAuB;AAAA,IACvB,MAAM,SAAS,SAAS,UACrB,4BAA4B,SAAS;AAAA;AAAA,EAAe,SAAS;AAAA;AAAA,4BAC7D;AAAA;AAAA,EAAyB,SAAS;AAAA;AAAA;AAAA,IACrC,aAAa,SAAS,EAAE;AAAA,IACxB,cAAc,MAAM;AAAA,KAErB,CAAC,aAAa,YAAY,CAC3B;AAAA,EAEA,IAAI,CAAC;AAAA,IAAY,OAAO;AAAA,EAExB,MAAM,WAAW;AAAA,IAChB,GAAI,QAAQ,cAAc,CAAC;AAAA,IAC3B,GAAI,QAAQ,UAAU,CAAC;AAAA,IACvB,GAAI,QAAQ,YAAY,CAAC;AAAA,IACzB,GAAI,QAAQ,aAAa,CAAC;AAAA,EAC3B;AAAA,EAEA,MAAM,eAAe,SAAS;AAAA,EAC9B,MAAM,aAAa,QAAQ,WAAW,OAAO,QAAQ,SAAS;AAAA,EAC9D,MAAM,cAAc,QAAQ,eAAe;AAAA,EAC3C,MAAM,UAAU,UAAU,eAAe,OAAO,QAAQ,KAAK,CAAC;AAAA,EAC9D,MAAM,WAAW,CAAC,CAAC;AAAA,EACnB,MAAM,kBAAkB,UAAU,OAAO,SAAS;AAAA,EAClD,MAAM,WAAW,aAAa,aAAa,aAAa;AAAA,EACxD,MAAM,eACL,iBAAiB,SACjB,MAAM,QAAQ,YAAY,EAAE,SAAS,sBAAsB;AAAA,EAE5D,MAAM,YAAY,CAAC,aAChB,yBACA,CAAC,cACA,6BACA,UACC,QAAQ,QAAQ,8BAChB;AAAA,EAEL,uBACC,OAkUE,OAlUF;AAAA,IACC,WAAU;AAAA,IACV,OAAO,EAAE,OAAO,WAAW;AAAA,IAF5B,UAkUE;AAAA,sBA9TD,MAAC,cAAD;AAAA,QACC,UAAU;AAAA,QACV,MAAK;AAAA,QACL,UAAU;AAAA,QACV,UAAU;AAAA,QACV,cAAc;AAAA,OACf;AAAA,sBACA,OAsTE,OAtTF;AAAA,QAAK,WAAU;AAAA,QAAf,UAsTE;AAAA,0BArTD,OAoBE,OApBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAoBE;AAAA,8BAnBD,OAUE,OAVF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAUE;AAAA,kCATD,MAAC,YAAD;AAAA,oBAAW,WAAU;AAAA,mBAAgC;AAAA,kCACrD,OAOE,QAPF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UAOE;AAAA,sBAPF;AAAA,sBAEE,eAAe,qBACf,OAEE,QAFF;AAAA,wBAAM,WAAU;AAAA,wBAAhB,UAEE;AAAA,0BAFF;AAAA,0BACG;AAAA,0BADH;AAAA;AAAA,uBAEE;AAAA;AAAA,mBAEF;AAAA;AAAA,eACD;AAAA,8BACF,MAOE,QAPF;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,OAAM;AAAA,gBAJP,0BAMC,MAAC,gBAAD;AAAA,kBAAc,WAAU;AAAA,iBAAU;AAAA,eACjC;AAAA;AAAA,WACD;AAAA,0BAEF,MAqDE,OArDF;AAAA,YAAK,WAAU;AAAA,YAAf,UACE,4BACA,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE,IACC,+BACH,OA0BE,OA1BF;AAAA,cAAK,WAAU;AAAA,cAAf,UA0BE;AAAA,gCAzBD,MAAC,YAAD;AAAA,kBAAY,WAAU;AAAA,iBAAkC;AAAA,gCACxD,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf;AAAA,iBAEE;AAAA,gCACF,OAaE,QAbF;AAAA,kBACC,SAAQ;AAAA,kBACR,MAAK;AAAA,kBACL,SAAS,MAAM,aAAa,OAAO;AAAA,kBACnC,UAAU,aAAa;AAAA,kBACvB,WAAU;AAAA,kBALX,UAaE;AAAA,oCAND,MAAC,YAAD;AAAA,sBACC,WAAW,eAAe,aAAa,YAAY,iBAAiB;AAAA,qBACrE;AAAA,oBACC,aAAa,YACX,oBACA;AAAA;AAAA,iBACF;AAAA,gBACD,aAAa,2BACb,MAIE,QAJF;AAAA,kBAAM,WAAU;AAAA,kBAAhB,UACE,aAAa,iBAAiB,QAC5B,aAAa,MAAM,UACnB;AAAA,iBACF;AAAA;AAAA,aAEF,IACC,wBACH,MAWE,OAXF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACC,OASE,OATF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UASE;AAAA,kCARD,MAIE,QAJF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UACE,iBAAiB,QACf,MAAM,UACN;AAAA,mBACF;AAAA,kCACF,MAEE,QAFF;AAAA,oBAAQ,SAAQ;AAAA,oBAAY,MAAK;AAAA,oBAAK,SAAS;AAAA,oBAA/C;AAAA,mBAEE;AAAA;AAAA,eACD;AAAA,aACD,IACC,CAAC,UAAU,iBAAiB,oBAC/B,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE,oBAEF,MAAC,aAAD;AAAA,cAAa;AAAA,aAAgB;AAAA,WAE7B;AAAA,UAED,UAAU,CAAC,gBAAgB,CAAC,yBAC5B,OA4HE,OA5HF;AAAA,YAAK,WAAU;AAAA,YAAf,UA4HE;AAAA,8BA3HD,OAiBE,UAjBF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS,MAAM,eAAe,CAAC,WAAW;AAAA,gBAC1C,WAAU;AAAA,gBAHX,UAiBE;AAAA,kBAZA,8BACA,MAAC,cAAD;AAAA,oBAAa,WAAU;AAAA,mBAAU,oBAEjC,MAAC,gBAAD;AAAA,oBAAc,WAAU;AAAA,mBAAU;AAAA,kCAEnC,MAAC,QAAD;AAAA,oBAAO,WAAU;AAAA,mBAAU;AAAA,kCAC3B,MAAe,QAAf;AAAA;AAAA,mBAAe;AAAA,kBACd,OAAO,2BACP,MAEE,QAFF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UACE,OAAO,QAAQ;AAAA,mBACf;AAAA;AAAA,eAEF;AAAA,cACD,+BACA,OAsGE,OAtGF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAsGE;AAAA,kBArGA,WAAW,QAAQ,SAAS,IAC5B,QACE,OAAO,CAAC,MAAM,EAAE,SAAS,OAAO,EAChC,IAAI,CAAC,2BACL,OAoCE,OApCF;AAAA,oBAEC,WAAU;AAAA,oBAFX,UAoCE;AAAA,sCAhCD,MAEE,QAFF;AAAA,wBAAM,WAAU;AAAA,wBAAhB,UACE,OAAO;AAAA,uBACP;AAAA,sCACF,MAEE,QAFF;AAAA,wBAAM,WAAU;AAAA,wBAAhB,UACE,OAAO;AAAA,uBACP;AAAA,sCACF,MAyBE,UAzBF;AAAA,wBACC,MAAK;AAAA,wBACL,SAAS,MAAM;AAAA,0BACd,IAAI,wBAAwB,OAAO,MAAM;AAAA,4BACxC,mBAAmB,OAAO,IAAI;AAAA,0BAC/B,EAAO;AAAA,4BACN,uBAAuB,OAAO,IAAI;AAAA;AAAA;AAAA,wBAGpC,QAAQ,MAAM,uBAAuB,IAAI;AAAA,wBACzC,UAAU,qBAAqB;AAAA,wBAC/B,WAAW,GAAG,wBAAwB,OAAO,OAAO,6BAA6B;AAAA,wBACjF,OACC,wBAAwB,OAAO,OAC5B,mCAAmC,OAAO,SAC1C,UAAU,OAAO;AAAA,wBAftB,UAkBE,wBAAwB,OAAO,uBAC/B,MAEE,QAFF;AAAA,0BAAM,WAAU;AAAA,0BAAhB;AAAA,yBAEE,oBAEF,MAAC,SAAD;AAAA,0BAAQ,WAAU;AAAA,yBAAU;AAAA,uBAE5B;AAAA;AAAA,qBAlCG,OAAO,IAmCX,CACF,oBAEF,MAEE,OAFF;AAAA,oBAAK,WAAU;AAAA,oBAAf;AAAA,mBAEE;AAAA,kBAEF,gCACA,OA0CE,OA1CF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UA0CE;AAAA,sCAzCD,MAAC,SAAD;AAAA,wBACC,MAAK;AAAA,wBACL,OAAO;AAAA,wBACP,UAAU,CAAC,MAAM,cAAc,EAAE,OAAO,KAAK;AAAA,wBAC7C,aAAY;AAAA,wBACZ,WAAU;AAAA,uBACX;AAAA,sCACA,MAAC,SAAD;AAAA,wBACC,MAAK;AAAA,wBACL,OAAO;AAAA,wBACP,UAAU,CAAC,MAAM,aAAa,EAAE,OAAO,KAAK;AAAA,wBAC5C,aAAY;AAAA,wBACZ,WAAU;AAAA,wBACV,WAAW,CAAC,MAAM;AAAA,0BACjB,IAAI,EAAE,QAAQ;AAAA,4BAAS,gBAAgB;AAAA,0BACvC,IAAI,EAAE,QAAQ;AAAA,4BAAU,iBAAiB,KAAK;AAAA;AAAA,uBAEhD;AAAA,sCACA,OAsBE,OAtBF;AAAA,wBAAK,WAAU;AAAA,wBAAf,UAsBE;AAAA,0CArBD,MAYE,QAZF;AAAA,4BACC,SAAQ;AAAA,4BACR,MAAK;AAAA,4BACL,SAAS;AAAA,4BACT,UACC,kBAAkB,aAClB,CAAC,WAAW,KAAK,KACjB,CAAC,UAAU,KAAK;AAAA,4BAEjB,WAAU;AAAA,4BATX,UAWE,kBAAkB,YAAY,cAAc;AAAA,2BAC5C;AAAA,0CACF,MAOE,QAPF;AAAA,4BACC,SAAQ;AAAA,4BACR,MAAK;AAAA,4BACL,SAAS,MAAM,iBAAiB,KAAK;AAAA,4BACrC,WAAU;AAAA,4BAJX;AAAA,2BAOE;AAAA;AAAA,uBACD;AAAA;AAAA,mBACD,oBAEF,OAOE,UAPF;AAAA,oBACC,MAAK;AAAA,oBACL,SAAS,MAAM,iBAAiB,IAAI;AAAA,oBACpC,WAAU;AAAA,oBAHX,UAOE;AAAA,sCAFD,MAAC,OAAD;AAAA,wBAAM,WAAU;AAAA,uBAAU;AAAA,sCAC1B,MAAkB,QAAlB;AAAA;AAAA,uBAAkB;AAAA;AAAA,mBACjB;AAAA;AAAA,eAEF;AAAA;AAAA,WAEF;AAAA,UAGF,OAAO,SAAS,qBAChB,MAgCE,OAhCF;AAAA,YAAK,WAAU;AAAA,YAAf,UACE,OAAO,IAAI,CAAC,6BACZ,OA4BE,OA5BF;AAAA,cAEC,WAAU;AAAA,cAFX,UA4BE;AAAA,gCAxBD,MAEE,QAFF;AAAA,kBAAM,WAAU;AAAA,kBAAhB,UACE,SAAS;AAAA,iBACT;AAAA,gCACF,OAoBE,OApBF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAoBE;AAAA,oBAnBA,+BACA,OAQE,UARF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS,MAAM,gBAAgB,QAAQ;AAAA,sBACvC,WAAU;AAAA,sBACV,OAAM;AAAA,sBAJP,UAQE;AAAA,wCAFD,MAAC,WAAD;AAAA,0BAAU,WAAU;AAAA,yBAAU;AAAA,wBAN/B;AAAA;AAAA,qBAQE;AAAA,oCAEH,MAOE,UAPF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS,MAAM,aAAa,SAAS,EAAE;AAAA,sBACvC,WAAU;AAAA,sBACV,OAAM;AAAA,sBAJP,0BAMC,MAAC,KAAD;AAAA,wBAAG,WAAU;AAAA,uBAAU;AAAA,qBACtB;AAAA;AAAA,iBACD;AAAA;AAAA,eA1BG,SAAS,EA2Bb,CACF;AAAA,WACA;AAAA,0BAGH,OAyCE,OAzCF;AAAA,YAAK,WAAU;AAAA,YAAf,UAyCE;AAAA,8BAxCD,OAuBE,QAvBF;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,UAAU,YAAY,CAAC,cAAc,CAAC;AAAA,gBACtC,OACC,CAAC,aACE,yBACA,CAAC,cACA,6BACA,kBACC,QAAQ,QAAQ,iCAChB;AAAA,gBAEN,WAAU;AAAA,gBAdX,UAuBE;AAAA,kCAPD,MAAC,UAAD;AAAA,oBACC,WAAW,eAAe,aAAa,YAAY,kBAAkB;AAAA,mBACtE;AAAA,kBAlBD;AAAA,kBAoBE,mCACA,OAAoD,QAApD;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UAAoD;AAAA,sBAApD;AAAA,sBAAmC,QAAQ;AAAA;AAAA,mBAAS;AAAA;AAAA,eAEpD;AAAA,8BACF,OAeE,QAfF;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,UAAU,CAAC,WAAW;AAAA,gBACtB,OAAO;AAAA,gBACP,WAAU;AAAA,gBANX,UAeE;AAAA,kCAPD,MAAC,QAAD;AAAA,oBACC,WAAW,eAAe,aAAa,YAAY,kBAAkB;AAAA,mBACtE;AAAA,kBACC,CAAC,eAAe,aAAa,YAAY;AAAA,kBACzC,eAAe,UAAU,OAAO,QAAQ,qBACxC,OAAiD,QAAjD;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UAAiD;AAAA,sBAAjD;AAAA,sBAAkC,OAAO;AAAA;AAAA,mBAAQ;AAAA;AAAA,eAEjD;AAAA;AAAA,WACD;AAAA,0BAEF,OAwBE,OAxBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAwBE;AAAA,8BAvBD,OAUE,OAVF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAUE;AAAA,kCATD,MAAC,YAAD;AAAA,oBAAW,WAAU;AAAA,mBAAwB;AAAA,kBAC5C,QAAQ,0BACR,MAA4C,QAA5C;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UAA4B,OAAO;AAAA,mBAAS;AAAA,kBAE5C,UAAU,CAAC,eAAe,8BAC1B,MAEE,QAFF;AAAA,oBAAM,WAAU;AAAA,oBAAhB;AAAA,mBAEE;AAAA;AAAA,eAEF;AAAA,8BACF,MAWE,QAXF;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,OAAM;AAAA,gBACN,WAAU;AAAA,gBACV,UAAU;AAAA,gBANX,0BAQC,MAAC,YAAD;AAAA,kBACC,WAAW,WAAW,YAAY,iBAAiB;AAAA,iBACpD;AAAA,eACC;AAAA;AAAA,WACD;AAAA;AAAA,OACD;AAAA;AAAA,GACD;AAAA,CAEH;;AC9fD,iBAAS;AACT,sBAAS;;AAIF,IAAM,mBAAmB,OAAK,SAAS,iBAAgB,GAAG;AAAA,EAEhE,MAAM,aAAa,YAAY,CAAC,UAAU,MAAM,UAAU;AAAA,EAC1D,MAAM,gBAAgB,YAAY,CAAC,UAAU,MAAM,aAAa;AAAA,EAChE,QAAQ,MAAM,WAAW,aAAa;AAAA,EAEtC,MAAM,gBACJ,QAAQ,QAAQ,UAAU,MAC1B,QAAQ,UAAU,UAAU,MAC5B,QAAQ,WAAW,UAAU;AAAA,EAE/B,uBACC,OAgBE,UAhBF;AAAA,IACC,MAAK;AAAA,IACL,SAAS;AAAA,IACT,WAAW,yGACV,aACG,4BACA;AAAA,IAEJ,OAAM;AAAA,IARP,UAgBE;AAAA,sBAND,MAAC,YAAD;AAAA,QAAW,WAAU;AAAA,OAAwC;AAAA,MAC5D,eAAe,qBACf,MAEE,QAFF;AAAA,QAAM,WAAU;AAAA,QAAhB,UACE,eAAe,IAAI,OAAO;AAAA,OAC1B;AAAA;AAAA,GAEF;AAAA,CAEH;;ACnCD,sBAAS,uBAAW,kBAAQ,oBAAM;AAClC,cAAS,6BAAc;;;ACDvB,mBAAS;AACT,oBAAS;AAQF,IAAM,kBAAkB,SAAqB,EACnD,SACC,CAAC,SAAS;AAAA,EACT,aAAa;AAAA,EACb,gBAAgB,MACf,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,YAAY,EAAE;AAAA,EACrD,cAAc,CAAC,cAAc,IAAI,EAAE,aAAa,UAAU,CAAC;AAC5D,IACA;AAAA,EACC,MAAM;AACP,CACD,CACD;;;ACrBA,qBAAS;AAGF,SAAS,WAAW,CAAC,SAAiB,UAAU,MAAM;AAAA,EAC5D,OAAO,UAAS;AAAA,IACf,UAAU,CAAC,SAAS,QAAQ,OAAO;AAAA,IACnC,SAAS,MAAM,UAAU,YAAY,OAAO;AAAA,IAC5C;AAAA,IACA,WAAW;AAAA,IACX,OAAO;AAAA,EACR,CAAC;AAAA;AAGK,SAAS,cAAc,CAAC,UAAyB;AAAA,EACvD,OAAO,UAAS;AAAA,IACf,UAAU,CAAC,SAAS,QAAQ,QAAQ;AAAA,IACpC,SAAS,MAAO,WAAW,UAAU,gBAAgB,QAAQ,IAAI;AAAA,IACjE,SAAS,CAAC,CAAC;AAAA,IACX,WAAW;AAAA,IACX,OAAO;AAAA,EACR,CAAC;AAAA;AAGK,SAAS,kBAAkB,CACjC,MACA,SAAS,OACT,UAAU,OACT;AAAA,EACD,OAAO,UAAS;AAAA,IACf,UAAU,CAAC,OAAO,QAAQ,YAAY,MAAM,MAAM;AAAA,IAClD,SAAS,MAAO,OAAO,UAAU,mBAAmB,MAAM,MAAM,IAAI;AAAA,IACpE,SAAS,WAAW,CAAC,CAAC;AAAA,IACtB,OAAO;AAAA,IACP,iBAAiB;AAAA,EAClB,CAAC;AAAA;;;;AFzBK,IAAM,eAAe,OAAK,SAAS,aAAY,GAAG;AAAA,EAExD,MAAM,aAAa,YAAY,CAAC,UAAU,MAAM,UAAU;AAAA,EAC1D,MAAM,eAAe,YAAY,CAAC,UAAU,MAAM,YAAY;AAAA,EAC9D,MAAM,qBAAqB,YAAY,CAAC,UAAU,MAAM,kBAAkB;AAAA,EAC1E,MAAM,YAAY,YAAY,CAAC,UAAU,MAAM,SAAS;AAAA,EAExD,MAAM,eAAe,gBAAgB,CAAC,UAAU,MAAM,YAAY;AAAA,EAClE,MAAM,kBAAkB,SAAuB,IAAI;AAAA,EACnD,MAAM,kBAAkB,SAAO,KAAK;AAAA,EAEpC,QAAQ,MAAM,MAAM,cAAc,WACjC,cACA,kBACD;AAAA,EAEA,OAAO,cAAc,mBAAmB,WAAS,KAAK;AAAA,EACtD,QAAQ,MAAM,cAAc,WAAW,oBAAoB,mBAC1D,cACA,oBACA,YACD;AAAA,EAEA,MAAM,aAAa,gBAAgB,eAAe,eAAe;AAAA,EACjE,MAAM,gBAAgB,eAAe,kBAAkB;AAAA,EAEvD,YAAU,MAAM;AAAA,IACf,IAAI,CAAC;AAAA,MAAY,gBAAgB,KAAK;AAAA,IACtC,IAAI,cAAc,CAAC,gBAAgB,SAAS;AAAA,MAE3C,QAAQ,gBAAgB,gBAAgB,SAAS;AAAA,MACjD,gBAAgB,UAAU;AAAA,MAC1B,aAAa,IAAI;AAAA,IAClB,EAAO,SAAI,CAAC,cAAc,gBAAgB,SAAS;AAAA,MAElD,IAAI,gBAAgB,YAAY,MAAM;AAAA,QACrC,aAAa,gBAAgB,OAAO;AAAA,QACpC,gBAAgB,UAAU;AAAA,MAC3B;AAAA,IACD;AAAA,IACA,gBAAgB,UAAU;AAAA,KACxB,CAAC,YAAY,YAAY,CAAC;AAAA,EAG7B,YAAU,MAAM;AAAA,IACf,MAAM,eAAe,CAAC,MAAqB;AAAA,MAC1C,MAAM,SAAS,EAAE;AAAA,MACjB,MAAM,YACL,OAAO,YAAY,WACnB,OAAO,YAAY,cACnB,OAAO;AAAA,MACR,KAAK,EAAE,QAAQ,YAAa,EAAE,QAAQ,OAAO,CAAC,cAAe,YAAY;AAAA,QACxE,UAAU;AAAA,MACX;AAAA,MACA,IAAI,EAAE,QAAQ,OAAO,CAAC,aAAa,YAAY;AAAA,QAC9C,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAAA,MAC1B;AAAA;AAAA,IAGD,SAAS,iBAAiB,WAAW,YAAY;AAAA,IACjD,OAAO,MAAM,SAAS,oBAAoB,WAAW,YAAY;AAAA,KAC/D,CAAC,YAAY,WAAW,eAAe,CAAC;AAAA,EAE3C,IAAI,CAAC,cAAc,CAAC;AAAA,IAAc,OAAO;AAAA,EAEzC,uBACC,OAuDE,OAvDF;AAAA,IAAK,WAAU;AAAA,IAAf,UAuDE;AAAA,sBArDD,OAsCE,OAtCF;AAAA,QAAK,WAAU;AAAA,QAAf,UAsCE;AAAA,0BArCD,MAOE,QAPF;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS;AAAA,YACT,OAAM;AAAA,YAJP,0BAMC,MAAC,KAAD;AAAA,cAAG,WAAU;AAAA,aAAU;AAAA,WACtB;AAAA,0BACF,OAYE,OAZF;AAAA,YAAK,WAAU;AAAA,YAAf,UAYE;AAAA,8BAXD,MAKE,QALF;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO,GAAG;AAAA,EAAiB,YAAY,WAAW;AAAA,gBAFnD,UAIE;AAAA,eACA;AAAA,cACD,sCACA,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAEE;AAAA;AAAA,WAEF;AAAA,0BACF,OAeE,QAfF;AAAA,YACC,SAAS,eAAe,cAAc;AAAA,YACtC,MAAK;AAAA,YACL,SAAS,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAAA,YACxC,OACC,eAAe,uBAAuB;AAAA,YAEvC,WAAU;AAAA,YAPX,UAeE;AAAA,cANA,+BACA,MAAC,YAAD;AAAA,gBAAW,WAAU;AAAA,eAAc,oBAEnC,MAAC,WAAD;AAAA,gBAAW,WAAU;AAAA,eAAc;AAAA,cAEnC,eAAe,SAAS;AAAA;AAAA,WACxB;AAAA;AAAA,OACD;AAAA,sBAEF,MAYE,OAZF;AAAA,QAAK,WAAU;AAAA,QAAf,UACE,gCACA,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf;AAAA,SAEE,IACC,6BACH,MAAC,eAAD;AAAA,UAAe,MAAM;AAAA,SAAY,oBAEjC,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf;AAAA,SAEE;AAAA,OAEF;AAAA;AAAA,GACD;AAAA,CAEH;;AGpID,qBAAS,qBAAU,qBAAO,4BAAW;AACrC,sBAAS,wBAAW,sBAAU;;AAOvB,SAAS,cAAc,GAAG;AAAA,EAChC,QAAQ,mBAAmB,qBAAqB,YAAY;AAAA,EAC5D,MAAM,kBAAkB,YAAY,CAAC,UAAU,MAAM,eAAe;AAAA,EACpE,MAAM,gBAAgB,iBAAiB;AAAA,EACvC,MAAM,kBAAkB,yBAAyB,eAAe;AAAA,EAChE,OAAO,SAAS,cAAc,WAAS,EAAE;AAAA,EACzC,MAAM,YAAY,OAAM;AAAA,EAExB,MAAM,eAAe,cAAY,YAAY;AAAA,IAC5C,IAAI,CAAC,QAAQ,KAAK;AAAA,MAAG;AAAA,IAErB,IAAI;AAAA,MACH,MAAM,cAAc,YAAY,OAAO;AAAA,MACvC,WAAW,EAAE;AAAA,MACb,iBAAiB;AAAA,MAChB,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,qBAAqB,KAAK;AAAA;AAAA,KAEvC,CAAC,SAAS,eAAe,gBAAgB,CAAC;AAAA,EAE7C,MAAM,cAAc,MAAM;AAAA,IACzB,WAAW,EAAE;AAAA,IACb,iBAAiB;AAAA;AAAA,EAGlB,MAAM,wBAAwB,cAAY,YAAY;AAAA,IACrD,IAAI;AAAA,MACH,MAAM,SAAS,MAAM,gBAAgB,YAAY;AAAA,MACjD,WAAW,OAAO,OAAO;AAAA,MACxB,OAAO,OAAO;AAAA,MACf,QAAQ,MAAM,sCAAsC,KAAK;AAAA;AAAA,KAExD,CAAC,eAAe,CAAC;AAAA,EAEpB,YAAU,MAAM;AAAA,IACf,IAAI,CAAC;AAAA,MAAmB;AAAA,IAExB,MAAM,gBAAgB,CAAC,MAAqB;AAAA,MAC3C,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,SAAS;AAAA,QAClD,EAAE,eAAe;AAAA,QACjB,EAAE,gBAAgB;AAAA,QAClB,IAAI,QAAQ,KAAK,KAAK,CAAC,cAAc,WAAW;AAAA,UAC/C,aAAa;AAAA,QACd;AAAA,MACD;AAAA,MACA,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,KAAK;AAAA,QAC9C,EAAE,eAAe;AAAA,QACjB,EAAE,gBAAgB;AAAA,QAClB,sBAAsB;AAAA,MACvB;AAAA;AAAA,IAGD,SAAS,iBAAiB,WAAW,aAAa;AAAA,IAClD,OAAO,MAAM,SAAS,oBAAoB,WAAW,aAAa;AAAA,KAChE;AAAA,IACF;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EAED,uBACC,MAoFE,OApFF;AAAA,IACC,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,uBACC,OAGE,OAHF;AAAA,MAAK,WAAU;AAAA,MAAf,UAGE;AAAA,wBAFD,MAAC,YAAD;AAAA,UAAW,WAAU;AAAA,SAAU;AAAA,wBAC/B,MAAsB,QAAtB;AAAA;AAAA,SAAsB;AAAA;AAAA,KACrB;AAAA,IAEH,UAAS;AAAA,IATV,0BAWC,OAwEE,OAxEF;AAAA,MAAK,WAAU;AAAA,MAAf,UAwEE;AAAA,wBAvED,OAiBE,OAjBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAiBE;AAAA,4BAhBD,MAKE,SALF;AAAA,cACC,SAAS;AAAA,cACT,WAAU;AAAA,cAFX;AAAA,aAKE;AAAA,4BACF,MAAC,UAAD;AAAA,cACC,IAAI;AAAA,cACJ,OAAO;AAAA,cACP,UAAU,CAAC,MAAM,WAAW,EAAE,OAAO,KAAK;AAAA,cAC1C,aAAY;AAAA,cACZ,MAAM;AAAA,cACN,WAAU;AAAA,cACV,WAAS;AAAA,cACT,UAAU,gBAAgB;AAAA,aAC3B;AAAA;AAAA,SACC;AAAA,wBAEF,MAkBE,QAlBF;AAAA,UACC,SAAQ;AAAA,UACR,SAAS;AAAA,UACT,WAAU;AAAA,UACV,UAAU,gBAAgB;AAAA,UAJ3B,UAME,gBAAgB,4BAChB;AAAA,sBAGE;AAAA,8BAFD,MAAC,UAAD;AAAA,gBAAS,WAAU;AAAA,eAA4B;AAAA,cADhD;AAAA;AAAA,WAGE,oBAEF;AAAA,sBAIE;AAAA,8BAHD,MAAC,WAAD;AAAA,gBAAU,WAAU;AAAA,eAAe;AAAA,cADpC;AAAA,cAEyB;AAAA,8BACxB,MAAkD,QAAlD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAkD;AAAA;AAAA,WACjD;AAAA,SAEF;AAAA,QAED,gBAAgB,2BAChB,MAGE,OAHF;AAAA,UAAK,WAAU;AAAA,UAAf,UACE,gBAAgB,OAAO,WACvB;AAAA,SACA;AAAA,wBAGH,OAkBE,OAlBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAkBE;AAAA,4BAjBD,OAEE,QAFF;AAAA,cAAQ,SAAQ;AAAA,cAAQ,SAAS;AAAA,cAAjC,UAEE;AAAA,gBAFF;AAAA,gCACQ,MAAoD,QAApD;AAAA,kBAAM,WAAU;AAAA,kBAAhB;AAAA,iBAAoD;AAAA;AAAA,aAC1D;AAAA,4BACF,MAaE,QAbF;AAAA,cACC,SAAQ;AAAA,cACR,SAAS;AAAA,cACT,UAAU,CAAC,QAAQ,KAAK,KAAK,cAAc;AAAA,cAH5C,UAKE,cAAc,4BACd,MAAqB,QAArB;AAAA;AAAA,eAAqB,oBAErB;AAAA,0BAGE;AAAA,kCAFD,MAAC,YAAD;AAAA,oBAAW,WAAU;AAAA,mBAAe;AAAA,kBADrC;AAAA,kCAEQ,MAAkD,QAAlD;AAAA,oBAAM,WAAU;AAAA,oBAAhB;AAAA,mBAAkD;AAAA;AAAA,eACxD;AAAA,aAEF;AAAA;AAAA,SACD;AAAA,QAED,cAAc,2BACd,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,UACE,cAAc,OAAO,WAAW;AAAA,SAChC;AAAA;AAAA,KAEF;AAAA,GACD;AAAA;;AC3JJ,iBAAS,uBAAM,yBAAa,uBAAQ;AACpC;AAAA,cACC;AAAA,eACA;AAAA,eACA;AAAA,iBACA;AAAA;;;ACLD,mBAAS;AA8BT,IAAM,iBAAiB;AACvB,IAAM,aAAa;AAEZ,IAAM,mBAAmB,SAAsB,CAAC,SAAS;AAAA,EAC/D,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,MAET,UAAU,GAAG;AAAA,IAChB,OAAO,KAAK;AAAA;AAAA,MAET,kBAAkB,GAAG;AAAA,IACxB,OAAO,KAAK;AAAA;AAAA,EAGb,WAAW,MAAM,IAAI,EAAE,QAAQ,KAAK,CAAC;AAAA,EACrC,YAAY,MAAM,IAAI,EAAE,QAAQ,OAAO,aAAa,MAAM,CAAC;AAAA,EAC3D,aAAa,MACZ,IAAI,CAAC,OAAO;AAAA,IACX,QAAQ,CAAC,EAAE;AAAA,IACX,aAAa,CAAC,EAAE,SAAS,EAAE,cAAc;AAAA,EAC1C,EAAE;AAAA,EACH,gBAAgB,CAAC,WAChB,IAAI,EAAE,aAAa,KAAK,IAAI,YAAY,MAAM,EAAE,CAAC;AAAA,EAClD,WAAW,CAAC,OAAO,IAAI,EAAE,aAAa,IAAI,QAAQ,KAAK,CAAC;AAAA,EACxD,gBAAgB,MAAM,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE;AAAA,EAElE,eAAe,MAAM,IAAI,EAAE,QAAQ,KAAK,CAAC;AAAA,EACzC,iBAAiB,MAChB,IAAI,EAAE,QAAQ,OAAO,aAAa,MAAM,aAAa,MAAM,CAAC;AAAA,EAC7D,eAAe,MACd,IAAI,CAAC,OAAO;AAAA,IACX,QAAQ,CAAC,EAAE;AAAA,IACX,aAAa,CAAC,EAAE,SAAS,EAAE,cAAc;AAAA,EAC1C,EAAE;AAAA,EACH,gBAAgB,CAAC,OAAO,IAAI,EAAE,aAAa,IAAI,QAAQ,KAAK,CAAC;AAC9D,EAAE;;;ACnEF,qBAAS,0BAAU,gCAAa;AAChC;AAAA;AAAA;AAAA;AAAA;AAAA;AA0CO,SAAS,YAAY,GAAG;AAAA,EAC9B,OAAO,UAA4B;AAAA,IAClC,UAAU,CAAC,WAAW;AAAA,IACtB,SAAS,YAAY;AAAA,MACpB,MAAM,WAAW,MAAM,aAAa;AAAA,MACpC,IAAI,SAAS,OAAO;AAAA,QACnB,MAAM,IAAI,MAAM,2BAA2B;AAAA,MAC5C;AAAA,MACA,OAAO,SAAS;AAAA;AAAA,IAEjB,iBAAiB;AAAA,EAClB,CAAC;AAAA;AAGK,SAAS,iBAAiB,GAAG;AAAA,EACnC,MAAM,cAAc,iBAAe;AAAA,EAEnC,OAAO,aAAiE;AAAA,IACvE,YAAY,OAAO,WAAW;AAAA,MAC7B,MAAM,WAAW,MAAM,cAAc;AAAA,QACpC,MAAM;AAAA,MACP,CAAC;AAAA,MAED,IAAI,SAAS,OAAO;AAAA,QACnB,MAAM,IAAI,MAAM,2BAA2B;AAAA,MAC5C;AAAA,MAEA,OAAO,SAAS;AAAA;AAAA,IAEjB,WAAW,YAAY;AAAA,MACtB,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC;AAAA;AAAA,EAEjE,CAAC;AAAA;AAGK,SAAS,eAAe,GAAG;AAAA,EACjC,MAAM,cAAc,iBAAe;AAAA,EAEnC,OAAO,aAAiC;AAAA,IACvC,YAAY,OAAO,eAAe;AAAA,MACjC,MAAM,WAAW,MAAM,oBAAoB;AAAA,QAC1C,MAAM,EAAE,IAAI,WAAW;AAAA,MACxB,CAAC;AAAA,MAED,IAAI,SAAS,OAAO;AAAA,QACnB,MAAM,IAAI,MAAM,yBAAyB;AAAA,MAC1C;AAAA;AAAA,IAED,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC;AAAA;AAAA,EAE3D,CAAC;AAAA;;;AC9FF,iBAAS;AACT,iBAAS,YAAM,kBAAQ;;AAWhB,IAAM,iBAAiB,OAAK,SAAS,eAAc;AAAA,EACzD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACuB;AAAA,EACvB,MAAM,cAAc,iBAAiB,CAAC,MAAM,EAAE,WAAW;AAAA,EACzD,MAAM,YAAY,iBAAiB,CAAC,MAAM,EAAE,SAAS;AAAA,EAErD,uBACC,OAyDE,OAzDF;AAAA,IAAK,WAAU;AAAA,IAAf,UAyDE;AAAA,MAxDA,UAAU,IAAI,CAAC,MAAM;AAAA,QACrB,MAAM,WAAW,EAAE,OAAO;AAAA,QAC1B,MAAM,YAAY,EAAE,WAAW;AAAA,QAE/B,uBACC,OAuCE,OAvCF;AAAA,UAEC,WAAW,yHACV,WACG,kCACA;AAAA,UAEJ,SAAS,MAAM,UAAU,EAAE,EAAE;AAAA,UAC7B,WAAW,CAAC,MAAM;AAAA,YACjB,IAAI,EAAE,QAAQ;AAAA,cAAS,UAAU,EAAE,EAAE;AAAA;AAAA,UAEtC,MAAK;AAAA,UACL,iBAAe;AAAA,UACf,UAAU;AAAA,UAbX,UAuCE;AAAA,4BAxBD,MAME,QANF;AAAA,cAAM,WAAU;AAAA,cAAhB,UACE,EAAE,cAAc,wBAChB,MAAC,KAAD;AAAA,gBAAK,WAAU;AAAA,eAAwB,oBAEvC,MAAC,OAAD;AAAA,gBAAM,WAAU;AAAA,eAAyB;AAAA,aAEzC;AAAA,4BACF,MAEE,QAFF;AAAA,cAAM,WAAU;AAAA,cAAhB,UACE,EAAE,SAAS,EAAE;AAAA,aACb;AAAA,YACD,CAAC,6BACD,MAAC,QAAD;AAAA,cAAM,WAAU;AAAA,aAAkD;AAAA,4BAEnE,MAUE,UAVF;AAAA,cACC,MAAK;AAAA,cACL,WAAU;AAAA,cACV,SAAS,CAAC,MAAM;AAAA,gBACf,EAAE,gBAAgB;AAAA,gBAClB,eAAe,EAAE,EAAE;AAAA;AAAA,cAEpB,OAAM;AAAA,cAPP,0BASC,MAAC,KAAD;AAAA,gBAAG,WAAU;AAAA,eAAU;AAAA,aACtB;AAAA;AAAA,WArCG,EAAE,EAsCN;AAAA,OAEH;AAAA,sBACD,MAQE,UARF;AAAA,QACC,MAAK;AAAA,QACL,WAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,OAAM;AAAA,QALP,0BAOC,MAAC,OAAD;AAAA,UAAM,WAAU;AAAA,SAAc;AAAA,OAC7B;AAAA;AAAA,GACD;AAAA,CAEH;;;ACjFD,sBAAS,uBAAW,sBAAQ,2BAAU;AACtC,2BAAe;AAEf,mBAAS;AAAA;AAET,IAAM,cAAc;AACpB,IAAM,sBAAsB;AAC5B,IAAM,kBAAkB;AACxB,IAAM,4BAA4B;AAElC,SAAS,sBAAsB,GAAW;AAAA,EACzC,IAAI,OAAO,aAAa;AAAA,IAAa,OAAO;AAAA,EAC5C,MAAM,KAAK,SAAS,cAAc,KAAK;AAAA,EACvC,GAAG,MAAM,UAAU;AAAA,EACnB,GAAG,YAAY;AAAA,EACf,SAAS,KAAK,YAAY,EAAE;AAAA,EAC5B,MAAM,WAAW,iBAAiB,EAAE,EAAE;AAAA,EACtC,SAAS,KAAK,YAAY,EAAE;AAAA,EAC5B,MAAM,QAAQ,SAAS,MAAM,gCAAgC;AAAA,EAC7D,IAAI,OAAO;AAAA,IACV,MAAM,IAAI,OAAO,MAAM,EAAE;AAAA,IACzB,MAAM,IAAI,OAAO,MAAM,EAAE;AAAA,IACzB,MAAM,IAAI,OAAO,MAAM,EAAE;AAAA,IACzB,OAAO,KAAM,KAAK,KAAO,KAAK,KAAO,KAAK,IAAK,GAAG,SAAS,EAAE,EAAE,MAAM,CAAC;AAAA,EACvE;AAAA,EACA,OAAO;AAAA;AAGR,IAAI,eAAc;AAElB,eAAe,gBAAgB,GAAkB;AAAA,EAChD,IAAI;AAAA,IAAa;AAAA,EACjB,IAAI,OAAO,aAAa,eAAe,EAAE,cAAc;AAAA,IAAS;AAAA,EAEhE,MAAM,WAAW;AAAA,IAChB;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EAEA,MAAM,QAAQ,SAAS,IAAI,OAAO,MAAM;AAAA,IACvC,IAAI;AAAA,MACH,MAAM,MAAM,IAAI,IAAI,sBAAsB,EAAE,QAAQ,YAAY,GAAG,EAAE;AAAA,MACrE,MAAM,OAAO,IAAI,SAChB,qBACA,QAAQ,yBACR;AAAA,QACC,QAAQ,EAAE;AAAA,QACV,OAAO,EAAE;AAAA,MACV,CACD;AAAA,MACA,MAAM,SAAS,MAAM,KAAK,KAAK;AAAA,MAC/B,SAAS,MAAM,IAAI,MAAM;AAAA,MACxB,MAAM;AAAA,GAGR;AAAA,EAED,MAAM,QAAQ,WAAW,KAAK;AAAA,EAC9B,eAAc;AAAA;AAGf,SAAS,iBAAiB,GAAW;AAAA,EACpC,MAAM,UAAS,QAAO,YAAY;AAAA,EAClC,IACC,WACA,OAAO,QAAO,YAAY,YAC1B,QAAO,QAAQ,SAAS,GACvB;AAAA,IACD,OAAO,QAAO;AAAA,EACf;AAAA,EACA,OAAO,qBAAqB;AAAA;AAStB,SAAS,cAAc;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,GACuB;AAAA,EACvB,MAAM,eAAe,SAAuB,IAAI;AAAA,EAChD,MAAM,UAAU,SAAwB,IAAI;AAAA,EAC5C,MAAM,cAAc,SAAwB,IAAI;AAAA,EAChD,MAAM,cAAc,SAA+B,IAAI;AAAA,EACvD,MAAM,gBAAgB,SAAO,CAAC;AAAA,EAC9B,MAAM,gBAAgB,SAA6C,IAAI;AAAA,EACvE,MAAM,qBAAqB,SAAO,KAAK;AAAA,EACvC,OAAO,OAAO,YAAY,WAAS,KAAK;AAAA,EACxC,MAAM,YAAY,SAAO,MAAM;AAAA,EAC/B,UAAU,UAAU;AAAA,EACpB,MAAM,gBAAgB,SAA6C,IAAI;AAAA,EACvE,MAAM,kBAAkB,SAAO,KAAK;AAAA,EACpC,MAAM,aAAa,SAAO,SAAS;AAAA,EACnC,MAAM,mBAAmB,SAGf,IAAI;AAAA,EAEd,MAAM,cAAc,cAAY,MAAM;AAAA,IACrC,IAAI,YAAY,SAAS;AAAA,MACxB,IAAI;AAAA,QACH,YAAY,QAAQ,IAAI;AAAA,QACvB,MAAM;AAAA,IAGT;AAAA,KACE,CAAC,CAAC;AAAA,EAEL,MAAM,aAAa,cAClB,CAAC,MAAgB,SAAiB,gBAAyB;AAAA,IAC1D,IAAI,YAAY,SAAS;AAAA,MACxB,YAAY,QAAQ,MAAM;AAAA,MAC1B,YAAY,UAAU;AAAA,IACvB;AAAA,IAEA,MAAM,MAAM,GAAG,wBAAwB,oBAAoB,cAAc,sBAAsB;AAAA,IAC/F,MAAM,WACL,CAAC,QAAQ,SAAS,WAAW,KAAK,CAAC,QAAQ,SAAS,WAAW;AAAA,IAChE,MAAM,aAAa,IAAI;AAAA,IACvB,YAAY,UAAU;AAAA,IAEtB,IAAI,eAAe;AAAA,IAEnB,MAAM,gBAAgB,CAAC,QAAgB;AAAA,MACtC,IAAI;AAAA,QACH,MAAM,OAAO,KAAK,MAAM,GAAG;AAAA,QAC3B,IAAI,KAAK,SAAS,QAAQ;AAAA,UACzB,MAAM,SAAS,gBAAgB,UAAU,KAAK,aAAa,IAAI;AAAA,UAC/D,KAAK,MAAM,KAAK,IAAI;AAAA,UACpB,IAAI,gBAAgB,WAAW,SAAS,GAAG;AAAA,YAC1C,KAAK,aAAa,MAAM;AAAA,UACzB;AAAA,UACA,mBAAmB,UAAU;AAAA,UAC7B,IAAI,CAAC,cAAc;AAAA,YAClB,eAAe;AAAA,YACf,WAAW,MAAM,SAAS,IAAI,GAAG,GAAG;AAAA,UACrC;AAAA,QACD,EAAO,SAAI,KAAK,SAAS,QAAQ;AAAA,UAChC,KAAK,MACJ;AAAA,oCAAyC,KAAK;AAAA,CAC/C;AAAA,UACA,IAAI,UAAU,SAAS;AAAA,YACtB,UAAU,QAAQ,UAAU;AAAA,UAC7B;AAAA,QACD;AAAA,QACC,MAAM;AAAA;AAAA,IAGT,MAAM,MAAM,YAAY;AAAA,MACvB,IAAI;AAAA,QACH,MAAM,WAAW,MAAM,MAAM,KAAK;AAAA,UACjC,QAAQ,WAAW,SAAS;AAAA,UAC5B,SAAS,EAAE,QAAQ,oBAAoB;AAAA,UACvC,QAAQ,WAAW;AAAA,QACpB,CAAC;AAAA,QACD,IAAI,CAAC,SAAS,MAAM,CAAC,SAAS;AAAA,UAAM;AAAA,QACpC,cAAc,UAAU;AAAA,QACxB,MAAM,SAAS,SAAS,KAAK,UAAU;AAAA,QACvC,MAAM,UAAU,IAAI;AAAA,QACpB,IAAI,SAAS;AAAA,QACb,OAAO,MAAM;AAAA,UACZ,QAAQ,MAAM,UAAU,MAAM,OAAO,KAAK;AAAA,UAC1C,IAAI;AAAA,YAAM;AAAA,UACV,UAAU,QAAQ,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC;AAAA,UAChD,IAAI,MAAM,OAAO,QAAQ;AAAA;AAAA,CAAM;AAAA,UAC/B,OAAO,QAAQ,IAAI;AAAA,YAClB,MAAM,MAAM,OAAO,MAAM,GAAG,GAAG;AAAA,YAC/B,SAAS,OAAO,MAAM,MAAM,CAAC;AAAA,YAC7B,WAAW,QAAQ,IAAI,MAAM;AAAA,CAAI,GAAG;AAAA,cACnC,IAAI,KAAK,WAAW,QAAQ,GAAG;AAAA,gBAC9B,cAAc,KAAK,MAAM,CAAC,CAAC;AAAA,cAC5B;AAAA,YACD;AAAA,YACA,MAAM,OAAO,QAAQ;AAAA;AAAA,CAAM;AAAA,UAC5B;AAAA,QACD;AAAA,QACC,OAAO,OAAO;AAAA,QACf,IAAI,iBAAiB,SAAS,MAAM,SAAS;AAAA,UAAc;AAAA;AAAA,MAE5D,IAAI,YAAY,YAAY,YAAY;AAAA,QACvC,YAAY,UAAU;AAAA,MACvB;AAAA,MACA,IACC,CAAC,WAAW,OAAO,WACnB,cAAc,UAAU,iBACvB;AAAA,QACD,cAAc;AAAA,QACd,cAAc,UAAU,WAAW,MAAM;AAAA,UACxC,IAAI,QAAQ,SAAS;AAAA,YACpB,WAAW,QAAQ,SAAS,SAAS,IAAI;AAAA,UAC1C;AAAA,WACE,mBAAmB;AAAA,MACvB;AAAA;AAAA,IAEI,IAAI;AAAA,KAEV,CAAC,UAAU,CACZ;AAAA,EAEA,YAAU,MAAM;AAAA,IACf,IAAI,CAAC,aAAa,WAAW,CAAC;AAAA,MAAY;AAAA,IAE1C,IAAI,WAAW;AAAA,IACf,IAAI,OAAwB;AAAA,IAC5B,IAAI,WAA4B;AAAA,IAChC,IAAI,iBAAwC;AAAA,IAE5C,SAAS,KAAK;AAAA,IACd,cAAc,UAAU;AAAA,IACxB,mBAAmB,UAAU;AAAA,IAE7B,IAAI,YAAY,SAAS;AAAA,MACxB,YAAY,QAAQ,MAAM;AAAA,MAC1B,YAAY,UAAU;AAAA,IACvB;AAAA,IACA,IAAI,cAAc,SAAS;AAAA,MAC1B,aAAa,cAAc,OAAO;AAAA,MAClC,cAAc,UAAU;AAAA,IACzB;AAAA,IAEA,MAAM,QAAQ,YAAY;AAAA,MACzB,MAAM,KAAK;AAAA,MACX,IAAI,YAAY,CAAC,aAAa;AAAA,QAAS;AAAA,MAEvC,MAAM,iBAAiB;AAAA,MACvB,MAAM,SAAS,MAAM;AAAA,MAErB,MAAM,KAAK,uBAAuB;AAAA,MAElC,OAAO,IAAI,UAAS;AAAA,QACnB,OAAO;AAAA,UACN,YAAY;AAAA,UACZ,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,qBAAqB;AAAA,UACrB,OAAO;AAAA,UACP,KAAK;AAAA,UACL,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,SAAS;AAAA,UACT,MAAM;AAAA,UACN,OAAO;AAAA,UACP,aAAa;AAAA,UACb,WAAW;AAAA,UACX,aAAa;AAAA,UACb,cAAc;AAAA,UACd,YAAY;AAAA,UACZ,eAAe;AAAA,UACf,YAAY;AAAA,UACZ,aAAa;AAAA,QACd;AAAA,QACA,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,YAAY;AAAA,QACZ,YAAY;AAAA,MACb,CAAC;AAAA,MAED,WAAW,IAAI;AAAA,MACf,KAAK,UAAU,QAAQ;AAAA,MACvB,KAAK,KAAK,aAAa,OAAO;AAAA,MAE9B,KAAK,OAAO,MAAM;AAAA,QACjB,IAAI,CAAC,QAAQ,SAAS;AAAA,UAAU;AAAA,QAChC,QAAQ,QAAQ,SAAS,eAAe,KAAK;AAAA,QAC7C,IAAI,cAAc;AAAA,UAAS,aAAa,cAAc,OAAO;AAAA,QAC7D,cAAc,UAAU,WAAW,MAAM;AAAA,UACxC,IACC,QAAQ,SAAS,YACjB,SAAS,iBACT,aAAa,SAAS,SAAS,SAAS,aAAa,GACpD;AAAA,YACD,QAAQ,QAAQ,SAAS,eAAe,IAAI;AAAA,UAC7C;AAAA,WACE,yBAAyB;AAAA,OAC5B;AAAA,MAED,WAAW,UAAU;AAAA,MAErB,MAAM,gBAAgB,MAAM;AAAA,QAC3B,IAAI,CAAC,QAAQ,SAAS;AAAA,UAAU;AAAA,QAChC,QAAQ,QAAQ,SAAS,eAAe,IAAI;AAAA,QAC5C,QAAQ,QAAQ,SAAS,SAAS;AAAA,UACjC,QAAQ;AAAA,UACR,cAAc;AAAA,QACf,CAAC;AAAA;AAAA,MAGF,MAAM,iBAAiB,MAAM;AAAA,QAC5B,IAAI,CAAC,QAAQ,SAAS;AAAA,UAAU;AAAA,QAChC,QAAQ,QAAQ,SAAS,eAAe,KAAK;AAAA,QAC7C,QAAQ,QAAQ,SAAS,SAAS;AAAA,UACjC,QAAQ,WAAW;AAAA,UACnB,cAAc,WAAW;AAAA,QAC1B,CAAC;AAAA;AAAA,MAGF,aAAa,QAAQ,iBAAiB,WAAW,aAAa;AAAA,MAC9D,aAAa,QAAQ,iBAAiB,YAAY,cAAc;AAAA,MAChE,iBAAiB,UAAU;AAAA,QAC1B,SAAS;AAAA,QACT,UAAU;AAAA,MACX;AAAA,MAEA,MAAM,IAAI,QAAc,CAAC,YAAY;AAAA,QACpC,sBAAsB,MAAM;AAAA,UAC3B,IAAI;AAAA,YACH,UAAU,IAAI;AAAA,YACb,MAAM;AAAA,UAGR,QAAQ;AAAA,SACR;AAAA,OACD;AAAA,MAED,IAAI;AAAA,QAAU;AAAA,MAEd,MAAM,UAAU,kBAAkB;AAAA,MAElC,MAAM,aAAa,CAAC,MAAc,SAAiB;AAAA,QAClD,MAAM,GAAG,wBAAwB,qBAAqB;AAAA,UACrD,QAAQ;AAAA,UACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,UAC9C,MAAM,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AAAA,QACpC,CAAC,EAAE,MAAM,MAAM,EAAE;AAAA;AAAA,MAGlB,IAAI,MAAM;AAAA,QACT,WAAW,KAAK,MAAM,KAAK,IAAI;AAAA,MAChC;AAAA,MAEA,WAAW,MAAM,SAAS,KAAK;AAAA,MAE/B,KAAK,OAAO,CAAC,SAAS;AAAA,QACrB,MAAM,GAAG,wBAAwB,oBAAoB;AAAA,UACpD,QAAQ;AAAA,UACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,UAC9C,MAAM,KAAK,UAAU,EAAE,OAAO,KAAK,CAAC;AAAA,QACrC,CAAC,EAAE,MAAM,MAAM,EAAE;AAAA,OACjB;AAAA,MAED,KAAK,SAAS,GAAG,MAAM,WAAW;AAAA,QACjC,WAAW,MAAM,IAAI;AAAA,OACrB;AAAA,MAED,KAAK,SAAS,MAAM;AAAA,QACnB,gBAAgB,UAAU,KAAK,aAAa,IAAI;AAAA,OAChD;AAAA,MAED,QAAQ,UAAU;AAAA,MAClB,YAAY,UAAU;AAAA,MAEtB,iBAAiB,IAAI,eAAe,MAAM;AAAA,QACzC,sBAAsB,MAAM;AAAA,UAC3B,IAAI,YAAY,WAAW,CAAC,UAAU;AAAA,YACrC,IAAI;AAAA,cACH,YAAY,QAAQ,IAAI;AAAA,cACvB,MAAM;AAAA,UAGT;AAAA,SACA;AAAA,OACD;AAAA,MACD,eAAe,QAAQ,aAAa,OAAO;AAAA,MAE3C,WAAW,MAAM;AAAA,QAChB,IAAI,CAAC;AAAA,UAAU,SAAS,IAAI;AAAA,SAC1B,IAAI;AAAA;AAAA,IAGR,MAAM,EAAE,MAAM,CAAC,UAAU;AAAA,MACxB,QAAQ,MAAM,0CAA0C,KAAK;AAAA,KAC7D;AAAA,IAED,OAAO,MAAM;AAAA,MACZ,WAAW;AAAA,MACX,IAAI,aAAa,WAAW,iBAAiB,SAAS;AAAA,QACrD,aAAa,QAAQ,oBACpB,WACA,iBAAiB,QAAQ,OAC1B;AAAA,QACA,aAAa,QAAQ,oBACpB,YACA,iBAAiB,QAAQ,QAC1B;AAAA,QACA,iBAAiB,UAAU;AAAA,MAC5B;AAAA,MACA,IAAI,cAAc,SAAS;AAAA,QAC1B,aAAa,cAAc,OAAO;AAAA,QAClC,cAAc,UAAU;AAAA,MACzB;AAAA,MACA,IAAI,cAAc,SAAS;AAAA,QAC1B,aAAa,cAAc,OAAO;AAAA,QAClC,cAAc,UAAU;AAAA,MACzB;AAAA,MACA,IAAI,YAAY,SAAS;AAAA,QACxB,YAAY,QAAQ,MAAM;AAAA,QAC1B,YAAY,UAAU;AAAA,MACvB;AAAA,MACA,IAAI,gBAAgB;AAAA,QACnB,eAAe,WAAW;AAAA,MAC3B;AAAA,MACA,IAAI,MAAM;AAAA,QACT,KAAK,QAAQ;AAAA,MACd;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,YAAY,UAAU;AAAA;AAAA,KAErB,CAAC,YAAY,UAAU,CAAC;AAAA,EAE3B,YAAU,MAAM;AAAA,IACf,MAAM,OAAO,QAAQ;AAAA,IACrB,IAAI,CAAC;AAAA,MAAM;AAAA,IACX,IAAI,UAAU;AAAA,MACb,YAAY;AAAA,MACZ,KAAK,MAAM;AAAA,IACZ,EAAO;AAAA,MACN,KAAK,KAAK;AAAA,MACV,IAAI,KAAK,UAAU;AAAA,QAClB,KAAK,SAAS,eAAe,KAAK;AAAA,QAClC,KAAK,SAAS,SAAS;AAAA,UACtB,QAAQ,WAAW;AAAA,UACnB,cAAc,WAAW;AAAA,QAC1B,CAAC;AAAA,MACF;AAAA;AAAA,KAEC,CAAC,UAAU,WAAW,CAAC;AAAA,EAE1B,YAAU,MAAM;AAAA,IACf,YAAY;AAAA,KACV,CAAC,WAAW,CAAC;AAAA,EAEhB,uBACC,MAoCE,OApCF;AAAA,IACC,WAAU;AAAA,IACV,OAAO,EAAE,YAAY,WAAW,YAAY,SAAS;AAAA,IACrD,wBAAoB;AAAA,IAHrB,0BAKC,OA8BE,OA9BF;AAAA,MAAK,WAAU;AAAA,MAAf,UA8BE;AAAA,wBA7BD,MAAC,OAAD;AAAA,UAAK,KAAK;AAAA,UAAc,WAAU;AAAA,SAAiC;AAAA,wBACnE,MA2BE,OA3BF;AAAA,UACC,WAAU;AAAA,UACV,OAAO,EAAE,SAAS,QAAQ,IAAI,EAAE;AAAA,UAFjC,0BAIC,OAsBE,OAtBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAsBE;AAAA,8BArBD,OAmBE,OAnBF;AAAA,gBACC,WAAU;AAAA,gBACV,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,eAAY;AAAA,gBAJb,UAmBE;AAAA,kCAbD,MAAC,UAAD;AAAA,oBACC,WAAU;AAAA,oBACV,IAAG;AAAA,oBACH,IAAG;AAAA,oBACH,GAAE;AAAA,oBACF,QAAO;AAAA,oBACP,aAAY;AAAA,mBACb;AAAA,kCACA,MAAC,QAAD;AAAA,oBACC,WAAU;AAAA,oBACV,MAAK;AAAA,oBACL,GAAE;AAAA,mBACH;AAAA;AAAA,eACC;AAAA,8BACF,MAA4C,QAA5C;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAA4C;AAAA;AAAA,WAC3C;AAAA,SACD;AAAA;AAAA,KACD;AAAA,GACD;AAAA;;;;AJ7dJ,IAAM,cAAa;AACnB,IAAM,mBAAmB;AAElB,IAAM,iBAAiB,OAAK,SAAS,eAAc,GAAG;AAAA,EAC5D,MAAM,SAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM;AAAA,EAC/C,MAAM,cAAc,iBAAiB,CAAC,MAAM,EAAE,WAAW;AAAA,EACzD,MAAM,iBAAiB,iBAAiB,CAAC,MAAM,EAAE,cAAc;AAAA,EAC/D,MAAM,cAAc,iBAAiB,CAAC,MAAM,EAAE,WAAW;AAAA,EACzD,MAAM,YAAY,iBAAiB,CAAC,MAAM,EAAE,SAAS;AAAA,EACrD,MAAM,aAAa,iBAAiB,CAAC,MAAM,EAAE,UAAU;AAAA,EACvD,MAAM,cAAc,iBAAiB,CAAC,MAAM,EAAE,WAAW;AAAA,EACzD,MAAM,iBAAiB,iBAAiB,CAAC,MAAM,EAAE,cAAc;AAAA,EAC/D,MAAM,cAAc,iBAAiB,CAAC,MAAM,EAAE,WAAW;AAAA,EAEzD,QAAQ,MAAM,cAAc,aAAa;AAAA,EACzC,MAAM,iBAAiB,kBAAkB;AAAA,EACzC,MAAM,eAAe,gBAAgB;AAAA,EAErC,MAAM,UAAU,SAGN,IAAI;AAAA,EAEd,MAAM,gBAAgB,WAAW,aAAa,CAAC;AAAA,EAE/C,MAAM,kBAAkB,SAAO,KAAK;AAAA,EACpC,MAAM,mBAAmB,SAAO,aAAa;AAAA,EAC7C,iBAAiB,UAAU;AAAA,EAG3B,YAAU,MAAM;AAAA,IACf,IACC,UACA,iBAAiB,QAAQ,SAAS,MACjC,CAAC,eACD,CAAC,iBAAiB,QAAQ,KAAK,CAAC,MAAM,EAAE,OAAO,WAAW,IAC1D;AAAA,MACD,UAAU,iBAAiB,QAAQ,GAAG,EAAE;AAAA,IACzC;AAAA,KAEE,CAAC,QAAQ,cAAc,QAAQ,aAAa,SAAS,CAAC;AAAA,EAGzD,YAAU,MAAM;AAAA,IACf,IACC,UACA,aACA,cAAc,WAAW,KACzB,CAAC,gBAAgB,WACjB,CAAC,eAAe,WACf;AAAA,MACD,gBAAgB,UAAU;AAAA,MAC1B,eACE,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,SAAS;AAAA,MACV,CAAC,EACA,KAAK,CAAC,WAAW;AAAA,QACjB,UAAU,OAAO,UAAU;AAAA,OAC3B,EACA,MAAM,MAAM,EAAE,EACd,QAAQ,MAAM;AAAA,QACd,gBAAgB,UAAU;AAAA,OAC1B;AAAA,IACH;AAAA,KAEE,CAAC,QAAQ,WAAW,cAAc,QAAQ,SAAS,CAAC;AAAA,EAEvD,MAAM,oBAAoB,cAAY,YAAY;AAAA,IACjD,IAAI;AAAA,MACH,MAAM,SAAS,MAAM,eAAe,YAAY;AAAA,QAC/C,SAAS;AAAA,QACT,SAAS;AAAA,MACV,CAAC;AAAA,MACD,UAAU,OAAO,UAAU;AAAA,MAC1B,MAAM;AAAA,KAGN,CAAC,gBAAgB,SAAS,CAAC;AAAA,EAE9B,MAAM,qBAAqB,cAC1B,OAAO,OAAe;AAAA,IACrB,IAAI;AAAA,MACH,MAAM,aAAa,YAAY,EAAE;AAAA,MACjC,IAAI,gBAAgB,IAAI;AAAA,QACvB,MAAM,YAAY,iBAAiB,QAAQ,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;AAAA,QACpE,IAAI,UAAU,SAAS,GAAG;AAAA,UACzB,UAAU,UAAU,GAAG,EAAE;AAAA,QAC1B,EAAO;AAAA,UACN,UAAU,IAAI;AAAA,UACd,WAAW;AAAA;AAAA,MAEb;AAAA,MACC,MAAM;AAAA,KAIT,CAAC,cAAc,aAAa,WAAW,UAAU,CAClD;AAAA,EAEA,YAAU,MAAM;AAAA,IACf,MAAM,gBAAgB,CAAC,MAAqB;AAAA,MAC3C,IAAI,EAAE,QAAQ,OAAO,EAAE,SAAS;AAAA,QAC/B,EAAE,eAAe;AAAA,QACjB,YAAY;AAAA,MACb;AAAA;AAAA,IAED,OAAO,iBAAiB,WAAW,aAAa;AAAA,IAChD,OAAO,MAAM,OAAO,oBAAoB,WAAW,aAAa;AAAA,KAC9D,CAAC,WAAW,CAAC;AAAA,EAEhB,MAAM,oBAAoB,cACzB,CAAC,MAAwB;AAAA,IACxB,EAAE,eAAe;AAAA,IACjB,QAAQ,UAAU;AAAA,MACjB,QAAQ,EAAE;AAAA,MACV,aAAa;AAAA,IACd;AAAA,IAEA,MAAM,kBAAkB,CAAC,OAAmB;AAAA,MAC3C,IAAI,CAAC,QAAQ;AAAA,QAAS;AAAA,MACtB,MAAM,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AAAA,MAC1C,MAAM,YAAY,QAAQ,QAAQ,cAAc;AAAA,MAChD,MAAM,OAAO,OAAO,cAAc;AAAA,MAClC,eAAe,KAAK,IAAI,KAAK,IAAI,aAAY,SAAS,GAAG,IAAI,CAAC;AAAA;AAAA,IAG/D,MAAM,gBAAgB,MAAM;AAAA,MAC3B,QAAQ,UAAU;AAAA,MAClB,SAAS,oBAAoB,aAAa,eAAe;AAAA,MACzD,SAAS,oBAAoB,WAAW,aAAa;AAAA,MACrD,SAAS,KAAK,MAAM,SAAS;AAAA,MAC7B,SAAS,KAAK,MAAM,aAAa;AAAA;AAAA,IAGlC,SAAS,iBAAiB,aAAa,eAAe;AAAA,IACtD,SAAS,iBAAiB,WAAW,aAAa;AAAA,IAClD,SAAS,KAAK,MAAM,SAAS;AAAA,IAC7B,SAAS,KAAK,MAAM,aAAa;AAAA,KAElC,CAAC,aAAa,cAAc,CAC7B;AAAA,EAEA,IAAI,CAAC;AAAA,IAAQ,OAAO;AAAA,EAEpB,MAAM,SAAS,cAAc,SAAS,GAAG;AAAA,EAEzC,uBACC,OAwEE,OAxEF;AAAA,IACC,WAAU;AAAA,IACV,OAAO,EAAE,QAAQ,WAAW,YAAW;AAAA,IAFxC,UAwEE;AAAA,MApEA,CAAC,+BAED,MAAC,OAAD;AAAA,QACC,WAAU;AAAA,QACV,aAAa;AAAA,OACd;AAAA,sBAGD,OA0CE,OA1CF;AAAA,QAAK,WAAU;AAAA,QAAf,UA0CE;AAAA,0BAzCD,OAUE,OAVF;AAAA,YAAK,WAAU;AAAA,YAAf,UAUE;AAAA,8BATD,MAAC,cAAD;AAAA,gBAAc,WAAU;AAAA,eAAoC;AAAA,8BAC5D,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAEE;AAAA,cACD,cAAc,SAAS,qBACvB,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBAFF;AAAA,kBACG,cAAc;AAAA,kBADjB;AAAA;AAAA,eAEE;AAAA;AAAA,WAEF;AAAA,0BAEF,MAAC,gBAAD;AAAA,YACC,WAAW;AAAA,YACX,eAAe;AAAA,YACf,gBAAgB;AAAA,YAChB,YAAY,eAAe;AAAA,WAC5B;AAAA,0BAEA,OAqBE,OArBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAqBE;AAAA,8BApBD,MAWE,UAXF;AAAA,gBACC,MAAK;AAAA,gBACL,WAAU;AAAA,gBACV,SAAS;AAAA,gBACT,OAAO,cAAc,YAAY;AAAA,gBAJlC,UAME,8BACA,MAAC,YAAD;AAAA,kBAAW,WAAU;AAAA,iBAAc,oBAEnC,MAAC,YAAD;AAAA,kBAAW,WAAU;AAAA,iBAAc;AAAA,eAEnC;AAAA,8BACF,MAOE,UAPF;AAAA,gBACC,MAAK;AAAA,gBACL,WAAU;AAAA,gBACV,SAAS;AAAA,gBACT,OAAM;AAAA,gBAJP,0BAMC,MAAC,cAAD;AAAA,kBAAa,WAAU;AAAA,iBAAc;AAAA,eACpC;AAAA;AAAA,WACD;AAAA;AAAA,OACD;AAAA,sBAEF,OAeE,OAfF;AAAA,QAAK,WAAU;AAAA,QAAf,UAeE;AAAA,UAdA,cAAc,IAAI,CAAC,sBACnB,MAAC,gBAAD;AAAA,YAEC,YAAY,EAAE;AAAA,YACd,UAAU,EAAE,OAAO;AAAA,YACnB,QAAQ;AAAA,aAHH,EAAE,EAIR,CACA;AAAA,UACA,cAAc,WAAW,qBACzB,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFD,MAAC,cAAD;AAAA,gBAAc,WAAU;AAAA,eAA0B;AAAA,8BAClD,MAA+C,OAA/C;AAAA,gBAAK,WAAU;AAAA,gBAAf;AAAA,eAA+C;AAAA;AAAA,WAC9C;AAAA;AAAA,OAEF;AAAA;AAAA,GACD;AAAA,CAEH;;AK9OD,iBAAS;AACT,qBAAS;;AAIF,IAAM,sBAAsB,OAAK,SAAS,oBAAmB,GAAG;AAAA,EACtE,MAAM,SAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM;AAAA,EAC/C,MAAM,cAAc,iBAAiB,CAAC,MAAM,EAAE,WAAW;AAAA,EACzD,QAAQ,SAAS,aAAa;AAAA,EAE9B,MAAM,QAAQ,MAAM,SAAS;AAAA,EAE7B,uBACC,OAcE,UAdF;AAAA,IACC,MAAK;AAAA,IACL,SAAS;AAAA,IACT,WAAW,8FACV,SAAS,uCAAuC;AAAA,IAEjD,OAAM;AAAA,IANP,UAcE;AAAA,sBAND,MAAC,WAAD;AAAA,QAAU,WAAU;AAAA,OAAwC;AAAA,MAC3D,QAAQ,qBACR,MAEE,QAFF;AAAA,QAAM,WAAU;AAAA,QAAhB,UACE,QAAQ,IAAI,OAAO;AAAA,OACnB;AAAA;AAAA,GAEF;AAAA,CAEH;;AC7BD,iBAAS,mBAAM;AACf;AAAA,kBACC;AAAA;AAAA,cAEA;AAAA,cACA;AAAA,cACA;AAAA,eACA;AAAA;;;ACPD,qBAAS;AAIF,SAAS,eAAe,CAAC,WAA+B,UAAU,MAAM;AAAA,EAC9E,MAAM,aAAa,qBAAqB,CAAC,UAAU,MAAM,UAAU;AAAA,EAEnE,OAAO,WAAS;AAAA,IACf,UAAU,CAAC,WAAW,WAAW,OAAO;AAAA,IACxC,SAAS,MAAO,YAAY,UAAU,gBAAgB,SAAS,IAAI;AAAA,IACnE,SAAS,CAAC,CAAC,aAAa;AAAA,IACxB,iBAAiB,cAAc,UAAU,OAAO;AAAA,IAChD,OAAO;AAAA,IACP,WAAW;AAAA,EACZ,CAAC;AAAA;;;;ADEF,IAAM,aAAY;AAClB,IAAM,iBAAgB;AACtB,IAAM,aAAY;AAClB,IAAM,aAAY;AAMlB,SAAS,gBAAgB,CAAC,WAAmB;AAAA,EAC5C,QAAQ;AAAA,SACF;AAAA,MACJ,uBAAO,MAAC,WAAD;AAAA,QAAU,WAAU;AAAA,OAAyB;AAAA,SAChD;AAAA,MACJ,uBAAO,MAAC,WAAD;AAAA,QAAU,WAAU;AAAA,OAAwB;AAAA,SAC/C;AAAA,MACJ,uBAAO,MAAC,WAAD;AAAA,QAAU,WAAU;AAAA,OAA0B;AAAA;AAAA,MAErD,uBAAO,MAAC,SAAD;AAAA,QAAS,WAAU;AAAA,OAAgC;AAAA;AAAA;AAI7D,SAAS,YAAW,CAAC,MAAsB;AAAA,EAC1C,OAAO,KAAK,MAAM,GAAG,EAAE,IAAI,KAAK;AAAA;AAGjC,SAAS,mBAAmB,CAAC,IAG3B;AAAA,EACD,IAAI,GAAG,UAAU,SAAS;AAAA,IACzB,OAAO;AAAA,MACN,WAAW,GAAG,SAAS,QAAQ;AAAA,MAC/B,WAAW,GAAG,SAAS,QAAQ;AAAA,IAChC;AAAA,EACD;AAAA,EAEA,MAAM,QAAQ,GAAG,UAAU,SAAS,GAAG;AAAA,EACvC,IAAI,OAAO;AAAA,IACV,IAAI,YAAY;AAAA,IAChB,IAAI,YAAY;AAAA,IAChB,MAAM,QAAQ,MAAM,MAAM;AAAA,CAAI;AAAA,IAC9B,WAAW,QAAQ,OAAO;AAAA,MACzB,IAAI,KAAK,WAAW,GAAG,KAAK,CAAC,KAAK,WAAW,KAAK,GAAG;AAAA,QACpD;AAAA,MACD,EAAO,SAAI,KAAK,WAAW,GAAG,KAAK,CAAC,KAAK,WAAW,KAAK,GAAG;AAAA,QAC3D;AAAA,MACD;AAAA,IACD;AAAA,IACA,OAAO,EAAE,WAAW,UAAU;AAAA,EAC/B;AAAA,EAEA,IAAI,GAAG,SAAS;AAAA,IACf,MAAM,YAAY,GAAG,QAAQ,MAAM;AAAA,CAAI,EAAE;AAAA,IACzC,OAAO,EAAE,WAAW,WAAW,WAAW,EAAE;AAAA,EAC7C;AAAA,EAEA,OAAO,EAAE,WAAW,GAAG,WAAW,EAAE;AAAA;AAGrC,SAAS,eAAe,GAAG,QAA+B;AAAA,EACzD,MAAM,WAAW,qBAAqB,CAAC,UAAU,MAAM,QAAQ;AAAA,EAC/D,MAAM,eAAe,qBAAqB,CAAC,UAAU,MAAM,YAAY;AAAA,EACvE,MAAM,aAAa,iBAAiB,KAAK;AAAA,EAEzC,MAAM,SAAS,KAAK,WAAW,KAAK,WAAW,SAAS;AAAA,EAExD,QAAQ,gBAAgB,mBAAmB,UAAQ,MAAM;AAAA,IACxD,IAAI,YAAY;AAAA,IAChB,IAAI,YAAY;AAAA,IAChB,WAAW,MAAM,KAAK,YAAY;AAAA,MACjC,MAAM,QAAQ,oBAAoB,EAAE;AAAA,MACpC,aAAa,MAAM;AAAA,MACnB,aAAa,MAAM;AAAA,IACpB;AAAA,IACA,OAAO,EAAE,gBAAgB,WAAW,gBAAgB,UAAU;AAAA,KAC5D,CAAC,KAAK,UAAU,CAAC;AAAA,EAEpB,MAAM,cAAc,MAAM;AAAA,IACzB,IAAI,KAAK,WAAW,SAAS,GAAG;AAAA,MAC/B,SAAS,KAAK,MAAM,KAAK,UAAU;AAAA,IACpC;AAAA;AAAA,EAGD,uBACC,MAwBE,UAxBF;AAAA,IACC,MAAK;AAAA,IACL,SAAS;AAAA,IACT,WAAW,kEACV,aAAa,aAAa;AAAA,IAJ5B,0BAOC,OAgBE,OAhBF;AAAA,MAAK,WAAU;AAAA,MAAf,UAgBE;AAAA,QAfA,iBAAiB,QAAQ,aAAa,OAAO;AAAA,wBAC9C,MAIE,OAJF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,MAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf,UACE,aAAY,KAAK,IAAI;AAAA,WACrB;AAAA,SACD;AAAA,wBACF,OAQE,OARF;AAAA,UAAK,WAAU;AAAA,UAAf,UAQE;AAAA,YAPA,KAAK,iBAAiB,qBACtB,OAEE,QAFF;AAAA,cAAM,WAAU;AAAA,cAAhB,UAEE;AAAA,gBADA,KAAK;AAAA,gBADP;AAAA;AAAA,aAEE;AAAA,4BAEH,OAAoD,QAApD;AAAA,cAAM,WAAU;AAAA,cAAhB,UAAoD;AAAA,gBAApD;AAAA,gBAAmC;AAAA;AAAA,aAAiB;AAAA,4BACpD,OAAkD,QAAlD;AAAA,cAAM,WAAU;AAAA,cAAhB,UAAkD;AAAA,gBAAlD;AAAA,gBAAiC;AAAA;AAAA,aAAiB;AAAA;AAAA,SACjD;AAAA;AAAA,KACD;AAAA,GACD;AAAA;AAIG,IAAM,sBAAsB,OAAK,SAAS,oBAAmB;AAAA,EACnE;AAAA,GAC4B;AAAA,EAC5B,MAAM,aAAa,qBAAqB,CAAC,UAAU,MAAM,UAAU;AAAA,EACnE,MAAM,kBAAkB,qBACvB,CAAC,UAAU,MAAM,eAClB;AAAA,EACA,MAAM,aAAa,mBAClB,CAAC,MAAM,EAAE,OAAO,eAAc,cAC/B;AAAA,EACA,QAAQ,MAAM,WAAW,OAAO,YAAY,gBAC3C,WACA,UACD;AAAA,EAEA,IAAI,CAAC;AAAA,IAAY,OAAO;AAAA,EAExB,uBACC,OA6EE,OA7EF;AAAA,IACC,WAAU;AAAA,IACV,OAAO,EAAE,OAAO,WAAW;AAAA,IAF5B,UA6EE;AAAA,sBAzED,MAAC,cAAD;AAAA,QACC,UAAU;AAAA,QACV,MAAK;AAAA,QACL,UAAU;AAAA,QACV,UAAU;AAAA,QACV,cAAc;AAAA,OACf;AAAA,sBACA,OAiEE,OAjEF;AAAA,QAAK,WAAU;AAAA,QAAf,UAiEE;AAAA,0BAhED,OAaE,OAbF;AAAA,YAAK,WAAU;AAAA,YAAf,UAaE;AAAA,8BAZD,OAQE,OARF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAQE;AAAA,kCAPD,MAAC,SAAD;AAAA,oBAAS,WAAU;AAAA,mBAAgC;AAAA,kCACnD,MAA6C,QAA7C;AAAA,oBAAM,WAAU;AAAA,oBAAhB;AAAA,mBAA6C;AAAA,kBAC5C,QAAQ,KAAK,aAAa,qBAC1B,OAEE,QAFF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UAEE;AAAA,sBAFF;AAAA,sBACG,KAAK;AAAA,sBADR;AAAA;AAAA,mBAEE;AAAA;AAAA,eAEF;AAAA,8BACF,MAEE,QAFF;AAAA,gBAAQ,SAAQ;AAAA,gBAAQ,MAAK;AAAA,gBAAO,SAAS;AAAA,gBAA7C,0BACC,MAAC,gBAAD;AAAA,kBAAc,WAAU;AAAA,iBAAU;AAAA,eACjC;AAAA;AAAA,WACD;AAAA,0BAEF,MAoBE,OApBF;AAAA,YAAK,WAAU;AAAA,YAAf,UACE,4BACA,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE,IACC,wBACH,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE,iBAAiB,QAAQ,MAAM,UAAU;AAAA,aACzC,IACC,CAAC,QAAQ,KAAK,eAAe,oBAChC,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE,oBAEF,MAIE,OAJF;AAAA,cAAK,WAAU;AAAA,cAAf,UACE,KAAK,MAAM,IAAI,CAAC,yBAChB,MAAC,iBAAD;AAAA,gBAAiC;AAAA,iBAAX,KAAK,IAAkB,CAC7C;AAAA,aACA;AAAA,WAEF;AAAA,0BAEF,OA0BE,OA1BF;AAAA,YAAK,WAAU;AAAA,YAAf,UA0BE;AAAA,8BAzBD,OAUE,OAVF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAUE;AAAA,kCATD,MAAC,SAAD;AAAA,oBAAS,WAAU;AAAA,mBAAwB;AAAA,kBAC1C,QAAQ,KAAK,kBAAkB,oBAC/B,OAGE,QAHF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UAGE;AAAA,sBAFA,KAAK;AAAA,sBADP;AAAA,sBACwB,KAAK,eAAe,IAAI,MAAM;AAAA,sBADtD;AAAA,sBAC2D;AAAA,sBACzD,KAAK;AAAA,sBAFP;AAAA,sBAE2B,KAAK,oBAAoB,IAAI,MAAM;AAAA;AAAA,mBAC5D,oBAEF,MAAuC,QAAvC;AAAA,oBAAM,WAAU;AAAA,oBAAhB;AAAA,mBAAuC;AAAA;AAAA,eAEvC;AAAA,8BACF,MAaE,OAbF;AAAA,gBAAK,WAAU;AAAA,gBAAf,0BACC,MAWE,QAXF;AAAA,kBACC,SAAQ;AAAA,kBACR,MAAK;AAAA,kBACL,SAAS,MAAM,QAAQ;AAAA,kBACvB,OAAM;AAAA,kBACN,WAAU;AAAA,kBACV,UAAU;AAAA,kBANX,0BAQC,MAAC,YAAD;AAAA,oBACC,WAAW,WAAW,YAAY,iBAAiB;AAAA,mBACpD;AAAA,iBACC;AAAA,eACD;AAAA;AAAA,WACD;AAAA;AAAA,OACD;AAAA;AAAA,GACD;AAAA,CAEH;;AElOD,iBAAS;AACT,oBAAS;;AAQF,IAAM,4BAA4B,OACxC,SAAS,0BAAyB;AAAA,EACjC;AAAA,GACkC;AAAA,EAClC,MAAM,aAAa,qBAAqB,CAAC,UAAU,MAAM,UAAU;AAAA,EACnE,MAAM,gBAAgB,qBAAqB,CAAC,UAAU,MAAM,aAAa;AAAA,EACzE,QAAQ,SAAS,gBAAgB,WAAW,UAAU;AAAA,EAEtD,MAAM,YAAY,MAAM,cAAc;AAAA,EAEtC,uBACC,OAgBE,UAhBF;AAAA,IACC,MAAK;AAAA,IACL,SAAS;AAAA,IACT,WAAW,yGACV,aACG,4BACA;AAAA,IAEJ,OAAM;AAAA,IARP,UAgBE;AAAA,sBAND,MAAC,UAAD;AAAA,QAAS,WAAU;AAAA,OAAwC;AAAA,MAC1D,YAAY,qBACZ,MAEE,QAFF;AAAA,QAAM,WAAU;AAAA,QAAhB,UACE,YAAY,IAAI,OAAO;AAAA,OACvB;AAAA;AAAA,GAEF;AAAA,CAGL;;ACvCA,sBAAS,wBAAW,mBAAS,kBAAM;AACnC,cAAS,kCAAgB;AACzB,kBAAS;AACT;AAAA,WACC;AAAA,iBACA;AAAA;;AAMD,SAAS,sBAAsB,CAAC,OAAuB;AAAA,EACtD,MAAM,QAAQ,MAAM,MAAM;AAAA,CAAI;AAAA,EAC9B,MAAM,SAAmB,CAAC;AAAA,EAC1B,IAAI,WAAW;AAAA,EACf,IAAI,cAAc;AAAA,EAClB,MAAM,YAAsB,CAAC;AAAA,EAE7B,WAAW,QAAQ,OAAO;AAAA,IACzB,IACC,KAAK,WAAW,iBAAiB,KACjC,KAAK,WAAW,eAAe,KAC/B,KAAK,WAAW,kBAAkB,KAClC,KAAK,WAAW,eAAe,KAC/B,KAAK,WAAW,kBAAkB,GACjC;AAAA,MACD,IAAI,UAAU,SAAS,GAAG;AAAA,QACzB,OAAO,KAAK,SAAS,kBAAkB,aAAa;AAAA,QACpD,OAAO,KAAK,GAAG,SAAS;AAAA,QACxB,UAAU,SAAS;AAAA,QACnB,WAAW;AAAA,QACX,cAAc;AAAA,MACf;AAAA,MACA,OAAO,KAAK,IAAI;AAAA,MAChB;AAAA,IACD;AAAA,IAEA,IAAI,KAAK,MAAM,qCAAqC,GAAG;AAAA,MACtD,IAAI,UAAU,SAAS,GAAG;AAAA,QACzB,OAAO,KAAK,SAAS,kBAAkB,aAAa;AAAA,QACpD,OAAO,KAAK,GAAG,SAAS;AAAA,QACxB,UAAU,SAAS;AAAA,QACnB,WAAW;AAAA,QACX,cAAc;AAAA,MACf;AAAA,MACA,OAAO,KAAK,IAAI;AAAA,MAChB;AAAA,IACD;AAAA,IAEA,IAAI,KAAK,WAAW,IAAI,GAAG;AAAA,MAC1B,OAAO,KAAK,IAAI;AAAA,MAChB;AAAA,IACD;AAAA,IAEA,IAAI,KAAK,WAAW,GAAG,GAAG;AAAA,MACzB;AAAA,MACA,UAAU,KAAK,IAAI;AAAA,IACpB,EAAO,SAAI,KAAK,WAAW,GAAG,GAAG;AAAA,MAChC;AAAA,MACA,UAAU,KAAK,IAAI;AAAA,IACpB,EAAO,SAAI,KAAK,WAAW,GAAG,KAAK,KAAK,WAAW,IAAI,GAAG;AAAA,MACzD;AAAA,MACA;AAAA,MACA,UAAU,KAAK,KAAK,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI;AAAA,IACzD,EAAO,SAAI,KAAK,KAAK,MAAM,IAAI;AAAA,MAC9B,UAAU,KAAK,GAAG;AAAA,MAClB;AAAA,MACA;AAAA,IACD,EAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA,UAAU,KAAK,IAAI,MAAM;AAAA;AAAA,EAE3B;AAAA,EAEA,IAAI,UAAU,SAAS,GAAG;AAAA,IACzB,OAAO,KAAK,SAAS,kBAAkB,aAAa;AAAA,IACpD,OAAO,KAAK,GAAG,SAAS;AAAA,EACzB;AAAA,EAEA,OAAO,OAAO,KAAK;AAAA,CAAI;AAAA;AAGxB,SAAS,oBAAmB,CAAC,MAAsB;AAAA,EAClD,MAAM,MAAM,KAAK,MAAM,GAAG,EAAE,IAAI,GAAG,YAAY;AAAA,EAC/C,MAAM,UAAkC;AAAA,IACvC,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,GAAG;AAAA,IACH,KAAK;AAAA,IACL,GAAG;AAAA,IACH,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,IACN,KAAK;AAAA,IACL,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,QAAQ;AAAA,EACT;AAAA,EACA,OAAO,QAAQ,OAAO,OAAO;AAAA;AAW9B,SAAS,UAAS,CAAC,OAAwD;AAAA,EAC1E,MAAM,QAAQ,MAAM,MAAM;AAAA,CAAI;AAAA,EAC9B,MAAM,SAAqB,CAAC;AAAA,EAC5B,IAAI,aAAa;AAAA,EACjB,IAAI,aAAa;AAAA,EACjB,IAAI,SAAS;AAAA,EACb,IAAI,WAAW;AAAA,EAEf,WAAW,QAAQ,OAAO;AAAA,IACzB,IAAI,KAAK,WAAW,KAAK,KAAK,KAAK,WAAW,kBAAkB,GAAG;AAAA,MAClE,MAAM,QACL,KAAK,MAAM,gBAAgB,KAAK,KAAK,MAAM,0BAA0B;AAAA,MACtE,IAAI;AAAA,QAAO,WAAW,MAAM;AAAA,IAC7B;AAAA,IAEA,IAAI,KAAK,WAAW,eAAe,GAAG;AAAA,MACrC,MAAM,QAAQ,KAAK,MAAM,uBAAuB;AAAA,MAChD,IAAI;AAAA,QAAO,WAAW,MAAM;AAAA,IAC7B;AAAA,IAEA,MAAM,YAAY,KAAK,MAAM,yCAAyC;AAAA,IACtE,IAAI,WAAW;AAAA,MACd,aAAa,OAAO,SAAS,UAAU,IAAI,EAAE;AAAA,MAC7C,aAAa,OAAO,SAAS,UAAU,IAAI,EAAE;AAAA,MAC7C,SAAS;AAAA,MACT,OAAO,KAAK;AAAA,QACX,SAAS;AAAA,QACT,aAAa;AAAA,QACb,MAAM;AAAA,MACP,CAAC;AAAA,MACD;AAAA,IACD;AAAA,IAEA,IACC,KAAK,WAAW,KAAK,KACrB,KAAK,WAAW,OAAO,KACvB,KAAK,WAAW,QAAQ,KACxB,KAAK,WAAW,KAAK,KACrB,KAAK,WAAW,KAAK,KACpB,KAAK,WAAW,IAAI,KAAK,CAAC,QAC1B;AAAA,MACD,OAAO,KAAK;AAAA,QACX,SAAS;AAAA,QACT,aAAa;AAAA,QACb,MAAM;AAAA,MACP,CAAC;AAAA,MACD;AAAA,IACD;AAAA,IAEA,IAAI,QAAQ;AAAA,MACX,IAAI,KAAK,WAAW,GAAG,GAAG;AAAA,QACzB,OAAO,KAAK;AAAA,UACX,SAAS;AAAA,UACT,aAAa,KAAK,MAAM,CAAC;AAAA,UACzB,MAAM;AAAA,UACN,YAAY;AAAA,QACb,CAAC;AAAA,MACF,EAAO,SAAI,KAAK,WAAW,GAAG,GAAG;AAAA,QAChC,OAAO,KAAK;AAAA,UACX,SAAS;AAAA,UACT,aAAa,KAAK,MAAM,CAAC;AAAA,UACzB,MAAM;AAAA,UACN,YAAY;AAAA,QACb,CAAC;AAAA,MACF,EAAO,SAAI,KAAK,WAAW,GAAG,KAAK,SAAS,IAAI;AAAA,QAC/C,OAAO,KAAK;AAAA,UACX,SAAS;AAAA,UACT,aAAa,KAAK,WAAW,GAAG,IAAI,KAAK,MAAM,CAAC,IAAI;AAAA,UACpD,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,YAAY;AAAA,QACb,CAAC;AAAA,MACF,EAAO;AAAA,QACN,OAAO,KAAK;AAAA,UACX,SAAS;AAAA,UACT,aAAa;AAAA,UACb,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,YAAY;AAAA,QACb,CAAC;AAAA;AAAA,IAEH,EAAO;AAAA,MACN,OAAO,KAAK;AAAA,QACX,SAAS;AAAA,QACT,aAAa;AAAA,QACb,MAAM;AAAA,MACP,CAAC;AAAA;AAAA,EAEH;AAAA,EAEA,OAAO,EAAE,OAAO,QAAQ,SAAS;AAAA;AAGlC,SAAS,kBAAkB,GAAG,SAA4B;AAAA,EACzD,QAAQ,OAAO,WAAW,aAAa,WAAU,KAAK;AAAA,EACtD,MAAM,WAAW,qBAAoB,QAAQ;AAAA,EAC7C,MAAM,cAAc,UAAU,gBAAgB,UAAU,SAAS,MAAM,IACpE,gBACA;AAAA,EAEH,uBACC,MA8GE,OA9GF;AAAA,IAAK,WAAU;AAAA,IAAf,0BACC,MA4GE,OA5GF;AAAA,MAAK,WAAU;AAAA,MAAf,UACE,UAAU,IAAI,CAAC,MAAM,MAAM;AAAA,QAC3B,MAAM,MAAM,QAAQ,KAAK,KAAK,QAAQ,MAAM,GAAG,EAAE;AAAA,QAEjD,IAAI,KAAK,SAAS,UAAU,KAAK,SAAS,UAAU;AAAA,UACnD,uBACC,MASE,OATF;AAAA,YAEC,WAAW,6CACV,KAAK,SAAS,WACX,yCACA;AAAA,YALL,UAQE,KAAK;AAAA,aAPD,GAQJ;AAAA,QAEJ;AAAA,QAEA,IAAI,YAAY;AAAA,QAChB,IAAI,UAAU;AAAA,QACd,QAAQ,KAAK;AAAA,eACP;AAAA,YACJ,YAAY;AAAA,YACZ,UAAU;AAAA,YACV;AAAA,eACI;AAAA,YACJ,YAAY;AAAA,YACZ,UAAU;AAAA,YACV;AAAA;AAAA,YAEA,YAAY;AAAA;AAAA,QAGd,IAAI,kBAAmC,KAAK;AAAA,QAC5C,IAAI,KAAK,YAAY,KAAK,KAAK,aAAa,QAAQ;AAAA,UACnD,kCACC,MAoBE,qBApBF;AAAA,YACC;AAAA,YACA,OAAO;AAAA,YACP,aAAa;AAAA,cACZ,QAAQ;AAAA,cACR,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,SAAS;AAAA,cACT,UAAU;AAAA,cACV,YAAY;AAAA,YACb;AAAA,YACA,cAAc;AAAA,cACb,OAAO;AAAA,gBACN,YAAY;AAAA,gBACZ,YAAY;AAAA,cACb;AAAA,YACD;AAAA,YACA,QAAO;AAAA,YAjBR,UAmBE,KAAK;AAAA,WACL;AAAA,UAGH,IAAI,KAAK,SAAS,OAAO;AAAA,YACxB,kCACC;AAAA,wBAGE;AAAA,gCAFD,MAAiC,QAAjC;AAAA,kBAAM,WAAU;AAAA,kBAAhB;AAAA,iBAAiC;AAAA,gBAChC;AAAA;AAAA,aACA;AAAA,UAEJ,EAAO,SAAI,KAAK,SAAS,UAAU;AAAA,YAClC,kCACC;AAAA,wBAGE;AAAA,gCAFD,MAAiC,QAAjC;AAAA,kBAAM,WAAU;AAAA,kBAAhB;AAAA,iBAAiC;AAAA,gBAChC;AAAA;AAAA,aACA;AAAA,UAEJ,EAAO,SAAI,KAAK,SAAS,WAAW;AAAA,YACnC,kCACC;AAAA,wBAGE;AAAA,gCAFD,MAAiC,QAAjC;AAAA,kBAAM,WAAU;AAAA,kBAAhB;AAAA,iBAAiC;AAAA,gBAChC;AAAA;AAAA,aACA;AAAA,UAEJ;AAAA,QACD;AAAA,QAEA,uBACC,OAoBE,OApBF;AAAA,UAAe,WAAW,QAAQ;AAAA,UAAlC,UAoBE;AAAA,4BAnBD,MAME,OANF;AAAA,cACC,WAAU;AAAA,cACV,eAAY;AAAA,cACZ,OAAO,EAAE,eAAe,OAAO;AAAA,cAHhC,UAKE,KAAK,cAAc;AAAA,aACnB;AAAA,4BACF,MAME,OANF;AAAA,cACC,WAAU;AAAA,cACV,eAAY;AAAA,cACZ,OAAO,EAAE,eAAe,OAAO;AAAA,cAHhC,UAKE,KAAK,cAAc;AAAA,aACnB;AAAA,4BACF,MAIE,OAJF;AAAA,cACC,WAAW,4DAA4D;AAAA,cADxE,UAGE;AAAA,aACA;AAAA;AAAA,WAnBO,GAoBR;AAAA,OAEH;AAAA,KACA;AAAA,GACD;AAAA;AAIJ,SAAS,eAAe,CAAC,WAA2B;AAAA,EACnD,MAAM,OAAO,IAAI,KAAK,SAAS;AAAA,EAC/B,OAAO,KAAK,mBAAmB,CAAC,GAAG,EAAE,MAAM,WAAW,QAAQ,UAAU,CAAC;AAAA;AAGnE,IAAM,wBAAwB,OAAK,SAAS,sBAAqB,GAAG;AAAA,EAC1E,MAAM,aAAa,qBAAqB,CAAC,UAAU,MAAM,UAAU;AAAA,EACnE,MAAM,eAAe,qBAAqB,CAAC,UAAU,MAAM,YAAY;AAAA,EACvE,MAAM,gBAAgB,qBAAqB,CAAC,UAAU,MAAM,aAAa;AAAA,EACzE,MAAM,yBAAyB,qBAC9B,CAAC,UAAU,MAAM,sBAClB;AAAA,EACA,MAAM,kBAAkB,qBACvB,CAAC,UAAU,MAAM,eAClB;AAAA,EACA,MAAM,YAAY,qBAAqB,CAAC,UAAU,MAAM,SAAS;AAAA,EAEjE,MAAM,eAAe,gBAAgB,CAAC,UAAU,MAAM,YAAY;AAAA,EAClE,MAAM,kBAAkB,SAAuB,IAAI;AAAA,EACnD,MAAM,kBAAkB,SAAO,KAAK;AAAA,EAEpC,MAAM,oBAAoB,cAAc;AAAA,EAExC,MAAM,eAAe,UAAQ,MAAM;AAAA,IAClC,IAAI,CAAC,qBAAqB,CAAC;AAAA,MAAc,OAAO;AAAA,IAEhD,IAAI,WAA0B;AAAA,IAE9B,IAAI,kBAAkB,UAAU,OAAO;AAAA,MACtC,WAAW,kBAAkB,SAAS;AAAA,IACvC,EAAO,SAAI,kBAAkB,OAAO;AAAA,MACnC,WAAW,kBAAkB;AAAA,IAC9B,EAAO,SAAI,kBAAkB,SAAS;AAAA,MACrC,MAAM,eAAe,kBAAkB,QAAQ,MAAM;AAAA,CAAI;AAAA,MACzD,WAAW,iBAAiB;AAAA,EAAiB,aAAa,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE,KAAK;AAAA,CAAI;AAAA,IAC9F;AAAA,IAEA,IAAI,CAAC;AAAA,MAAU,OAAO;AAAA,IAEtB,MAAM,sBAAsB,qCAAqC,KAChE,QACD;AAAA,IACA,IAAI,CAAC,qBAAqB;AAAA,MACzB,OAAO,uBAAuB,QAAQ;AAAA,IACvC;AAAA,IAEA,OAAO;AAAA,KACL,CAAC,mBAAmB,YAAY,CAAC;AAAA,EAEpC,YAAU,MAAM;AAAA,IAEf,IAAI,cAAc,CAAC,gBAAgB,SAAS;AAAA,MAE3C,QAAQ,gBAAgB,gBAAgB,SAAS;AAAA,MACjD,gBAAgB,UAAU;AAAA,MAC1B,aAAa,IAAI;AAAA,IAClB,EAAO,SAAI,CAAC,cAAc,gBAAgB,SAAS;AAAA,MAElD,IAAI,gBAAgB,YAAY,MAAM;AAAA,QACrC,aAAa,gBAAgB,OAAO;AAAA,QACpC,gBAAgB,UAAU;AAAA,MAC3B;AAAA,IACD;AAAA,IACA,gBAAgB,UAAU;AAAA,KACxB,CAAC,YAAY,YAAY,CAAC;AAAA,EAE7B,YAAU,MAAM;AAAA,IACf,MAAM,gBAAgB,CAAC,MAAqB;AAAA,MAC3C,MAAM,SAAS,EAAE;AAAA,MACjB,MAAM,YACL,OAAO,YAAY,WACnB,OAAO,YAAY,cACnB,OAAO;AAAA,MAER,KAAK,EAAE,QAAQ,YAAa,EAAE,QAAQ,OAAO,CAAC,cAAe,YAAY;AAAA,QACxE,UAAU;AAAA,MACX;AAAA,MAEA,IAAI,CAAC,aAAa,cAAc,cAAc,SAAS,GAAG;AAAA,QACzD,IAAI,EAAE,QAAQ,eAAe,EAAE,QAAQ,KAAK;AAAA,UAC3C,EAAE,eAAe;AAAA,UACjB,gBAAgB,KAAK,IAAI,GAAG,yBAAyB,CAAC,CAAC;AAAA,QACxD,EAAO,SAAI,EAAE,QAAQ,gBAAgB,EAAE,QAAQ,KAAK;AAAA,UACnD,EAAE,eAAe;AAAA,UACjB,gBACC,KAAK,IAAI,cAAc,SAAS,GAAG,yBAAyB,CAAC,CAC9D;AAAA,QACD;AAAA,MACD;AAAA;AAAA,IAGD,SAAS,iBAAiB,WAAW,aAAa;AAAA,IAClD,OAAO,MAAM,SAAS,oBAAoB,WAAW,aAAa;AAAA,KAChE;AAAA,IACF;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EAED,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;AAAA,IAAmB,OAAO;AAAA,EAE/D,MAAM,iBAAiB,cAAc,SAAS;AAAA,EAE9C,uBACC,OAyGE,OAzGF;AAAA,IAAK,WAAU;AAAA,IAAf,UAyGE;AAAA,sBAxGD,OAiEE,OAjEF;AAAA,QAAK,WAAU;AAAA,QAAf,UAiEE;AAAA,0BAhED,MAOE,QAPF;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS;AAAA,YACT,OAAM;AAAA,YAJP,0BAMC,MAAC,KAAD;AAAA,cAAG,WAAU;AAAA,aAAU;AAAA,WACtB;AAAA,0BACF,OAoBE,OApBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAoBE;AAAA,8BAnBD,MAKE,QALF;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO;AAAA,gBAFR,UAIE;AAAA,eACA;AAAA,8BACF,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UACE,kBAAkB;AAAA,eAClB;AAAA,cACD,kBAAkB,UAAU,2BAC5B,OAOE,OAPF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAOE;AAAA,kCAND,OAEE,QAFF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UAEE;AAAA,sBAFF;AAAA,sBACG,kBAAkB,SAAS,QAAQ;AAAA;AAAA,mBACpC;AAAA,kCACF,OAEE,QAFF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UAEE;AAAA,sBAFF;AAAA,sBACG,kBAAkB,SAAS,QAAQ;AAAA;AAAA,mBACpC;AAAA;AAAA,eACD;AAAA;AAAA,WAEF;AAAA,UAED,kCACA,OA+BE,OA/BF;AAAA,YAAK,WAAU;AAAA,YAAf,UA+BE;AAAA,8BA9BD,MAUE,QAVF;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS,MACR,gBAAgB,KAAK,IAAI,GAAG,yBAAyB,CAAC,CAAC;AAAA,gBAExD,UAAU,2BAA2B;AAAA,gBACrC,OAAM;AAAA,gBAPP,0BASC,MAAC,aAAD;AAAA,kBAAa,WAAU;AAAA,iBAAU;AAAA,eAChC;AAAA,8BACF,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBADA,yBAAyB;AAAA,kBAD3B;AAAA,kBACiC,cAAc;AAAA;AAAA,eAC7C;AAAA,8BACF,MAeE,QAfF;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS,MACR,gBACC,KAAK,IACJ,cAAc,SAAS,GACvB,yBAAyB,CAC1B,CACD;AAAA,gBAED,UAAU,2BAA2B,cAAc,SAAS;AAAA,gBAC5D,OAAM;AAAA,gBAZP,0BAcC,MAAC,gBAAD;AAAA,kBAAc,WAAU;AAAA,iBAAU;AAAA,eACjC;AAAA;AAAA,WACD;AAAA;AAAA,OAEF;AAAA,MAED,kCACA,MAwBE,OAxBF;AAAA,QAAK,WAAU;AAAA,QAAf,UACE,cAAc,IAAI,CAAC,IAAI,wBACvB,OAoBE,UApBF;AAAA,UACC,MAAK;AAAA,UAEL,SAAS,MAAM,gBAAgB,GAAG;AAAA,UAClC,WAAW,qFACV,QAAQ,yBACL,uCACA;AAAA,UAPL,UAoBE;AAAA,4BAVD,MAA6C,QAA7C;AAAA,cAAM,WAAU;AAAA,cAAhB,UAA8B,GAAG;AAAA,aAAY;AAAA,4BAC7C,MAEE,QAFF;AAAA,cAAM,WAAU;AAAA,cAAhB,UACE,gBAAgB,GAAG,SAAS;AAAA,aAC5B;AAAA,YACD,GAAG,UAAU,2BACb,OAGE,QAHF;AAAA,cAAM,WAAU;AAAA,cAAhB,UAGE;AAAA,gBAHF;AAAA,gBACG,GAAG,SAAS,QAAQ;AAAA,gBADvB;AAAA,gBAEE,GAAG,SAAS,QAAQ;AAAA;AAAA,aACpB;AAAA;AAAA,WAhBE,GAAG,UAkBP,CACF;AAAA,OACA;AAAA,sBAGH,MAQE,OARF;AAAA,QAAK,WAAU;AAAA,QAAf,UACE,+BACA,MAAC,oBAAD;AAAA,UAAoB,OAAO;AAAA,SAAc,oBAEzC,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf;AAAA,SAEE;AAAA,OAEF;AAAA;AAAA,GACD;AAAA,CAEH;;AC3iBD,iBAAS,oBAAM,yBAAU,4BAAW,yBAAa,qBAAQ;AACzD;AAAA,kBACC;AAAA,kBACA;AAAA,UACA;AAAA;AAAA,aAEA;AAAA,aACA;AAAA;AAAA,kBAEA;AAAA,iBACA;AAAA,WACA;AAAA,OACA;AAAA;;;ACZD,qBAAS,2BAAU,gCAAa;AA2ChC,MAAM,kBAAkB;AAAA,MACX,OAAO,GAAW;AAAA,IAE7B,MAAM,MAAM;AAAA,IACZ,IAAI,IAAI,iBAAiB;AAAA,MACxB,OAAO,IAAI;AAAA,IACZ;AAAA,IAEA,IAAI,YAAY,KAAK,mBAAmB;AAAA,MACvC,OAAO,YAAY,IAAI;AAAA,IACxB;AAAA,IACA,OAAO;AAAA;AAAA,OAGF,qBAAoB,CACzB,iBACoC;AAAA,IACpC,MAAM,WAAW,MAAM,MACtB,GAAG,KAAK,uBAAuB,4BAC/B;AAAA,MACC,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,IAC/C,CACD;AAAA,IAEA,IAAI,CAAC,SAAS,IAAI;AAAA,MACjB,MAAM,QAAQ,MAAM,SAClB,KAAK,EACL,MAAM,OAAO,EAAE,OAAO,oCAAoC,EAAE;AAAA,MAC9D,MAAM,IAAI,MAAM,MAAM,SAAS,mCAAmC;AAAA,IACnE;AAAA,IAEA,OAAO,SAAS,KAAK;AAAA;AAAA,OAGhB,sBAAqB,CAC1B,iBACA,MACkC;AAAA,IAClC,MAAM,WAAW,MAAM,MACtB,GAAG,KAAK,uBAAuB,4BAC/B;AAAA,MACC,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,MAC9C,MAAM,KAAK,UAAU,IAAI;AAAA,IAC1B,CACD;AAAA,IAEA,IAAI,CAAC,SAAS,IAAI;AAAA,MACjB,MAAM,QAAQ,MAAM,SAClB,KAAK,EACL,MAAM,OAAO,EAAE,OAAO,oCAAoC,EAAE;AAAA,MAC9D,MAAM,IAAI,MAAM,MAAM,SAAS,mCAAmC;AAAA,IACnE;AAAA,IAEA,OAAO,SAAS,KAAK;AAAA;AAAA,OAGhB,sBAAqB,CAC1B,YACgC;AAAA,IAChC,MAAM,WAAW,MAAM,MAAM,GAAG,KAAK,uBAAuB,cAAc;AAAA,MACzE,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,IAC/C,CAAC;AAAA,IAED,IAAI,CAAC,SAAS,IAAI;AAAA,MACjB,MAAM,QAAQ,MAAM,SAClB,KAAK,EACL,MAAM,OAAO,EAAE,OAAO,oCAAoC,EAAE;AAAA,MAC9D,MAAM,IAAI,MAAM,MAAM,SAAS,mCAAmC;AAAA,IACnE;AAAA,IAEA,OAAO,SAAS,KAAK;AAAA;AAAA,OAGhB,cAAa,CAClB,iBACA,mBACA,OACiC;AAAA,IACjC,MAAM,WAAW,MAAM,MACtB,GAAG,KAAK,uBAAuB,0BAC/B;AAAA,MACC,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,MAC9C,MAAM,KAAK,UAAU,EAAE,mBAAmB,MAAM,CAAC;AAAA,IAClD,CACD;AAAA,IAEA,IAAI,CAAC,SAAS,IAAI;AAAA,MACjB,MAAM,QAAQ,MAAM,SAClB,KAAK,EACL,MAAM,OAAO,EAAE,OAAO,2BAA2B,EAAE;AAAA,MACrD,MAAM,IAAI,MAAM,MAAM,SAAS,0BAA0B;AAAA,IAC1D;AAAA,IAEA,OAAO,SAAS,KAAK;AAAA;AAAA,OAGhB,mBAAkB,CACvB,YACA,MACmC;AAAA,IACnC,MAAM,WAAW,MAAM,MACtB,GAAG,KAAK,uBAAuB,qBAC/B;AAAA,MACC,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,MAC9C,MAAM,KAAK,UAAU,QAAQ,CAAC,CAAC;AAAA,IAChC,CACD;AAAA,IAEA,IAAI,CAAC,SAAS,IAAI;AAAA,MACjB,MAAM,QAAQ,MAAM,SAClB,KAAK,EACL,MAAM,OAAO,EAAE,OAAO,8BAA8B,EAAE;AAAA,MACxD,MAAM,IAAI,MAAM,MAAM,SAAS,6BAA6B;AAAA,IAC7D;AAAA,IAEA,OAAO,SAAS,KAAK;AAAA;AAEvB;AAEA,IAAM,cAAc,IAAI;AAEjB,SAAS,mBAAmB,CAClC,iBACA,UAAU,MACT;AAAA,EACD,OAAO,WAAS;AAAA,IACf,UAAU,CAAC,YAAY,YAAY,eAAe;AAAA,IAClD,SAAS,MAAM,YAAY,qBAAqB,eAAyB;AAAA,IACzE,SAAS,CAAC,CAAC,mBAAmB;AAAA,IAC9B,WAAW;AAAA,EACZ,CAAC;AAAA;AAGK,SAAS,wBAAwB,GAAG;AAAA,EAC1C,MAAM,cAAc,iBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY;AAAA,MACX;AAAA,MACA;AAAA,UAIK,YAAY,sBAAsB,iBAAiB,QAAQ,CAAC,CAAC;AAAA,IACnE,WAAW,CAAC,KAAK,sBAAsB;AAAA,MACtC,YAAY,kBAAkB;AAAA,QAC7B,UAAU,CAAC,YAAY,YAAY,eAAe;AAAA,MACnD,CAAC;AAAA;AAAA,EAEH,CAAC;AAAA;AAGK,SAAS,wBAAwB,GAAG;AAAA,EAC1C,MAAM,cAAc,iBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY,CAAC,eACZ,YAAY,sBAAsB,UAAU;AAAA,IAC7C,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,YAAY,UAAU,EAAE,CAAC;AAAA;AAAA,EAEtE,CAAC;AAAA;AAGK,SAAS,gBAAgB,GAAG;AAAA,EAClC,MAAM,aAAa,wBAAwB,CAAC,UAAU,MAAM,UAAU;AAAA,EAEtE,OAAO,aAAY;AAAA,IAClB,YAAY;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,UAKK,YAAY,cAAc,iBAAiB,mBAAmB,KAAK;AAAA,IACzE,WAAW,CAAC,QAAQ,sBAAsB;AAAA,MACzC,WAAW,iBAAiB;AAAA,QAC3B,IAAI,KAAK;AAAA,QACT,WAAW,KAAK;AAAA,QAChB,OAAO,KAAK;AAAA,QACZ,SAAS,KAAK;AAAA,MACf,CAAC;AAAA;AAAA,EAEH,CAAC;AAAA;AAGK,SAAS,kBAAkB,GAAG;AAAA,EACpC,MAAM,cAAc,iBAAe;AAAA,EAEnC,OAAO,aAAY;AAAA,IAClB,YAAY;AAAA,MACX;AAAA,MACA;AAAA,UAIK,YAAY,mBAAmB,YAAY,IAAI;AAAA,IACrD,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,iBAAiB,CAAC;AAAA;AAAA,EAE9D,CAAC;AAAA;;;AD/NF,wBAAS,gCAAa;;AAUtB,IAAM,aAAY;AAClB,IAAM,iBAAgB;AACtB,IAAM,aAAY;AAClB,IAAM,aAAY;AAOX,IAAM,kBAAkB,OAAK,SAAS,gBAAe;AAAA,EAC3D;AAAA,EACA;AAAA,GACwB;AAAA,EACxB,MAAM,aAAa,iBAAiB,CAAC,UAAU,MAAM,UAAU;AAAA,EAC/D,MAAM,kBAAkB,iBAAiB,CAAC,UAAU,MAAM,eAAe;AAAA,EACzE,MAAM,aAAa,mBAClB,CAAC,MAAM,EAAE,OAAO,eAAc,cAC/B;AAAA,EACA,MAAM,0BAA0B,iBAC/B,CAAC,UAAU,MAAM,uBAClB;AAAA,EACA,MAAM,wBAAwB,iBAC7B,CAAC,UAAU,MAAM,qBAClB;AAAA,EAEA,OAAO,aAAa,kBAAkB,WAAS,KAAK;AAAA,EACpD,OAAO,YAAY,iBAAiB,WAAS,EAAE;AAAA,EAC/C,OAAO,mBAAmB,wBAAwB,WAAS,KAAK;AAAA,EAChE,OAAO,iBAAiB,sBAAsB,WAE5C,MAAM;AAAA,EACR,MAAM,cAAc,SAA4B,IAAI;AAAA,EACpD,MAAM,iBAAiB,SAAuB,IAAI;AAAA,EAElD;AAAA,IACC,MAAM;AAAA,IACN;AAAA,IACA;AAAA,MACG,oBAAoB,iBAAiB,UAAU;AAAA,EACnD,MAAM,iBAAiB,yBAAyB;AAAA,EAChD,MAAM,iBAAiB,iBAAiB;AAAA,EACxC,MAAM,iBAAiB,mBAAmB;AAAA,EAC1C,QAAQ,MAAM,cAAc,aAAa;AAAA,EAEzC,QAAQ,MAAM,iBAAiB,YAC9B,2BAA2B,WAC3B,EAAE,SAAS,WAAW,CACvB;AAAA,EAEA,QAAQ,MAAM,uBAAuB,YACpC,mBAAmB,WACnB,EAAE,SAAS,WAAW,CACvB;AAAA,EAGA,iBAAiB,2BAA2B,WAAW,UAAU;AAAA,EAEjE,MAAM,gBAAgB,iBAAiB,2BAA2B,EAAE;AAAA,EAEpE,MAAM,cAAc,iBAAe;AAAA,EACnC,MAAM,cAAc,aAAY;AAAA,IAC/B,YAAY;AAAA,MACX;AAAA,MACA;AAAA,UAIK,UAAU,YAAY,WAAW,EAAE,QAAQ,CAAC;AAAA,IAClD,WAAW,CAAC,KAAK,gBAAgB;AAAA,MAChC,YAAY,kBAAkB,EAAE,UAAU,CAAC,YAAY,SAAS,EAAE,CAAC;AAAA;AAAA,EAErE,CAAC;AAAA,EAED,YAAU,MAAM;AAAA,IACf,IAAI,iBAAiB;AAAA,MACpB,iBAAiB,SAAS,EAAE,mBAAmB,eAAe;AAAA,IAC/D;AAAA,KACE,CAAC,eAAe,CAAC;AAAA,EAEpB,YAAU,MAAM;AAAA,IACf,IAAI,cAAc,UAAU,QAAQ;AAAA,MACnC,MAAM,iBAAiB,aAAa,SAAS,KAC5C,CAAC,MAAM,EAAE,OAAO,uBACjB;AAAA,MACA,IAAI,CAAC,gBAAgB;AAAA,QACpB,sBAAsB,aAAa,SAAS,GAAG,EAAE;AAAA,MAClD;AAAA,IACD,EAAO,SAAI,cAAc,UAAU,WAAW,GAAG;AAAA,MAChD,sBAAsB,IAAI;AAAA,IAC3B;AAAA,KACE,CAAC,cAAc,yBAAyB,qBAAqB,CAAC;AAAA,EAEjE,YAAU,MAAM;AAAA,IACf,eAAe,SAAS,eAAe,EAAE,UAAU,SAAS,CAAC;AAAA,KAC3D,CAAC,CAAC;AAAA,EAEL,MAAM,uBAAuB,cAAY,MAAM;AAAA,IAC9C,MAAM,WAAW,YAAY;AAAA,IAC7B,IAAI,CAAC;AAAA,MAAU;AAAA,IACf,SAAS,MAAM,SAAS;AAAA,IACxB,SAAS,MAAM,SAAS,GAAG,KAAK,IAAI,SAAS,cAAc,GAAG;AAAA,KAC5D,CAAC,CAAC;AAAA,EAEL,YAAU,MAAM;AAAA,IACf,qBAAqB;AAAA,KACnB,CAAC,oBAAoB,CAAC;AAAA,EAEzB,MAAM,kBAAkB,cAAY,YAAY;AAAA,IAC/C,IAAI,CAAC;AAAA,MAAiB;AAAA,IACtB,IAAI;AAAA,MACH,MAAM,SAAS,MAAM,eAAe,YAAY;AAAA,QAC/C;AAAA,QACA,MAAM,CAAC;AAAA,MACR,CAAC;AAAA,MAED,MAAM,QAAQ;AAAA,MACd,sBAAsB,OAAO,QAAQ,EAAE;AAAA,MACvC,eAAe,KAAK;AAAA,MACnB,OAAO,KAAK;AAAA,MACb,QAAQ,MAAM,sCAAsC,GAAG;AAAA;AAAA,KAEtD,CAAC,iBAAiB,gBAAgB,uBAAuB,OAAO,CAAC;AAAA,EAEpE,MAAM,sBAAsB,cAC3B,CAAC,YAA6B;AAAA,IAC7B,sBAAsB,QAAQ,EAAE;AAAA,IAChC,eAAe,KAAK;AAAA,KAErB,CAAC,qBAAqB,CACvB;AAAA,EAEA,MAAM,eAAe,cAAY,YAAY;AAAA,IAC5C,IAAI,CAAC,mBAAmB,CAAC;AAAA,MAAyB;AAAA,IAGlD,MAAM,kBAAkB,oBAAoB,KAC3C,CAAC,MACA,EAAE,SAAS,YACX,EAAE,OAAO,KACR,CAAC,MACA,OAAO,EAAE,YAAY,YACrB,EAAE,QAAQ,SAAS,SAAS,0BAA0B,CACxD,CACF;AAAA,IACA,IAAI,iBAAiB;AAAA,MACpB,mBAAmB,OAAO;AAAA,MAC1B,WAAW,MAAM,mBAAmB,MAAM,GAAG,IAAI;AAAA,MACjD;AAAA,IACD;AAAA,IAGA,MAAM,MAAM,IAAI;AAAA,IAChB,MAAM,UAAU,IAAI,mBAAmB,CAAC,GAAG;AAAA,MAC1C,MAAM;AAAA,MACN,QAAQ;AAAA,IACT,CAAC;AAAA,IACD,MAAM,QAAQ,YAAY;AAAA,IAE1B,IAAI;AAAA,MACH,MAAM,eAAe,YAAY;AAAA,QAChC;AAAA,QACA,mBAAmB;AAAA,QACnB;AAAA,MACD,CAAC;AAAA,MACD,mBAAmB,SAAS;AAAA,MAC5B,WAAW,MAAM,mBAAmB,MAAM,GAAG,IAAI;AAAA,MAEjD,YAAY,kBAAkB;AAAA,QAC7B,UAAU,CAAC,YAAY,eAAe;AAAA,MACvC,CAAC;AAAA,MACA,OAAO,KAAK;AAAA,MACb,QAAQ,MAAM,6BAA6B,GAAG;AAAA,MAC9C,mBAAmB,OAAO;AAAA,MAC1B,WAAW,MAAM,mBAAmB,MAAM,GAAG,IAAI;AAAA;AAAA,KAEhD;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EAED,MAAM,eAAe,cAAY,YAAY;AAAA,IAC5C,IAAI,CAAC;AAAA,MAAyB;AAAA,IAC9B,IAAI;AAAA,MACH,MAAM,SAAS,MAAM,eAAe,YAAY;AAAA,QAC/C,YAAY;AAAA,MACb,CAAC;AAAA,MACD,IAAI,uBAAuB,OAAO,YAAY,IAAI;AAAA,QACjD,oBAAoB,OAAO,WAAW,EAAE;AAAA,MACzC;AAAA,MACC,OAAO,KAAK;AAAA,MACb,QAAQ,MAAM,gCAAgC,GAAG;AAAA;AAAA,KAEhD,CAAC,yBAAyB,gBAAgB,mBAAmB,CAAC;AAAA,EAEjE,MAAM,oBAAoB,cAAY,YAAY;AAAA,IACjD,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC;AAAA,MAAiB;AAAA,IAC5C,IAAI;AAAA,MACH,IAAI,YAAY;AAAA,MAEhB,IAAI,CAAC,WAAW;AAAA,QACf,MAAM,SAAS,MAAM,eAAe,YAAY;AAAA,UAC/C;AAAA,UACA,MAAM,CAAC;AAAA,QACR,CAAC;AAAA,QACD,YAAY,OAAO,QAAQ;AAAA,QAC3B,sBAAsB,SAAS;AAAA,MAChC;AAAA,MAEA,MAAM,YAAY,YAAY;AAAA,QAC7B;AAAA,QACA,SAAS;AAAA,MACV,CAAC;AAAA,MACD,cAAc,EAAE;AAAA,MAChB,IAAI,YAAY,SAAS;AAAA,QACxB,YAAY,QAAQ,MAAM,SAAS;AAAA,MACpC;AAAA,MACC,OAAO,KAAK;AAAA,MACb,QAAQ,MAAM,2BAA2B,GAAG;AAAA;AAAA,KAE3C;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EAED,MAAM,gBAAgB,cACrB,CAAC,MAA2B;AAAA,IAC3B,IAAI,EAAE,QAAQ,WAAW,CAAC,EAAE,UAAU;AAAA,MACrC,EAAE,eAAe;AAAA,MACjB,kBAAkB;AAAA,IACnB;AAAA,KAED,CAAC,iBAAiB,CACnB;AAAA,EAEA,MAAM,eAAe,UACpB,MACC,cAAc,KACb,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,WAAW,SAC/C,KAAK,OACN,CAAC,YAAY,CACd;AAAA,EAEA,MAAM,oBAAoB,UAAQ,MAAM;AAAA,IACvC,IAAI,CAAC,2BAA2B,CAAC;AAAA,MAAoB,OAAO;AAAA,IAC5D,OAAO,mBAAmB,KACzB,CAAC,MACA,EAAE,SAAS,YACX,EAAE,OAAO,KACR,CAAC,MACA,OAAO,EAAE,YAAY,YACrB,EAAE,QAAQ,SAAS,SAAS,0BAA0B,CACxD,CACF;AAAA,KACE,CAAC,yBAAyB,kBAAkB,CAAC;AAAA,EAEhD,MAAM,oBAAoB,cACzB,OAAO,aAAqB,aAAqB;AAAA,IAChD,IAAI,CAAC,yBAAyB;AAAA,MAC7B,qBAAqB,KAAK;AAAA,MAC1B;AAAA,IACD;AAAA,IACA,IAAI;AAAA,MACH,MAAM,cAAc,YAAY;AAAA,QAC/B,UAAU;AAAA,QACV,OAAO;AAAA,MACR,CAAC;AAAA,MACD,MAAM,YAAY,kBAAkB;AAAA,QACnC,UAAU,CAAC,YAAY,YAAY,eAAe;AAAA,MACnD,CAAC;AAAA,MACD,qBAAqB,KAAK;AAAA,MACzB,OAAO,KAAK;AAAA,MACb,QAAQ,MAAM,4CAA4C,GAAG;AAAA;AAAA,KAG/D,CAAC,yBAAyB,eAAe,aAAa,eAAe,CACtE;AAAA,EAEA,MAAM,gBAAgB,WAAW,mBAAmB,EAAE;AAAA,EAEtD,IAAI,CAAC;AAAA,IAAY,OAAO;AAAA,EAExB,MAAM,WAAW,cAAc,YAAY,CAAC;AAAA,EAC5C,MAAM,gBAAgB,SAAS,KAAK,CAAC,MAAM,EAAE,OAAO,uBAAuB;AAAA,EAC3E,MAAM,WAAW,gBAAgB,CAAC;AAAA,EAElC,MAAM,oBACL,eAAe,YAAY,eAAe,YAAY;AAAA,EACvD,MAAM,iBAAiB,eAAe,SAAS,eAAe,SAAS;AAAA,EAEvE,MAAM,uBACL,YAAY,oBAAoB,SAAS;AAAA,EAC1C,MAAM,oBACL,YAAY,oBAAoB,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,cAAc,GACvE,SAAS;AAAA,EAEb,uBACC,OA8TE,OA9TF;AAAA,IACC,WAAU;AAAA,IACV,OAAO,EAAE,OAAO,WAAW;AAAA,IAF5B,UA8TE;AAAA,sBA1TD,MAAC,cAAD;AAAA,QACC,UAAU;AAAA,QACV,MAAK;AAAA,QACL,UAAU;AAAA,QACV,UAAU;AAAA,QACV,cAAc;AAAA,OACf;AAAA,sBACA,OAkTE,OAlTF;AAAA,QAAK,WAAU;AAAA,QAAf,UAkTE;AAAA,0BAhTD,OAyCE,OAzCF;AAAA,YAAK,WAAU;AAAA,YAAf,UAyCE;AAAA,8BAxCD,OAKE,OALF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAKE;AAAA,kCAJD,MAAC,eAAD;AAAA,oBAAc,WAAU;AAAA,mBAAwB;AAAA,kCAChD,MAEE,QAFF;AAAA,oBAAM,WAAU;AAAA,oBAAhB;AAAA,mBAEE;AAAA;AAAA,eACD;AAAA,8BACF,OAiCE,OAjCF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAiCE;AAAA,kCAhCD,MAQE,QARF;AAAA,oBACC,SAAQ;AAAA,oBACR,MAAK;AAAA,oBACL,SAAS,MAAM,eAAe,CAAC,WAAW;AAAA,oBAC1C,OAAM;AAAA,oBACN,WAAU;AAAA,oBALX,0BAOC,MAAC,SAAD;AAAA,sBAAS,WAAU;AAAA,qBAAU;AAAA,mBAC5B;AAAA,kCACF,MAaE,QAbF;AAAA,oBACC,SAAQ;AAAA,oBACR,MAAK;AAAA,oBACL,SAAS;AAAA,oBACT,UAAU,CAAC,mBAAmB,eAAe;AAAA,oBAC7C,OAAM;AAAA,oBACN,WAAU;AAAA,oBANX,UAQE,eAAe,4BACf,MAAC,UAAD;AAAA,sBAAS,WAAU;AAAA,qBAAuB,oBAE1C,MAAC,OAAD;AAAA,sBAAM,WAAU;AAAA,qBAAU;AAAA,mBAE1B;AAAA,kCACF,MAQE,QARF;AAAA,oBACC,SAAQ;AAAA,oBACR,MAAK;AAAA,oBACL,SAAS;AAAA,oBACT,OAAM;AAAA,oBACN,WAAU;AAAA,oBALX,0BAOC,MAAC,gBAAD;AAAA,sBAAc,WAAU;AAAA,qBAAU;AAAA,mBACjC;AAAA;AAAA,eACD;AAAA;AAAA,WACD;AAAA,UAED,8BACA,OAwCE,OAxCF;AAAA,YAAK,WAAU;AAAA,YAAf,UAwCE;AAAA,8BAvCD,MAIE,OAJF;AAAA,gBAAK,WAAU;AAAA,gBAAf,0BACC,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf;AAAA,iBAEE;AAAA,eACD;AAAA,cACD,4BACA,MAEE,OAFF;AAAA,gBAAK,WAAU;AAAA,gBAAf;AAAA,eAEE,IACC,SAAS,WAAW,oBACvB,MAEE,OAFF;AAAA,gBAAK,WAAU;AAAA,gBAAf;AAAA,eAEE,oBAEF,MAuBE,OAvBF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UACE,SAAS,IAAI,CAAC,4BACd,OAmBE,UAnBF;AAAA,kBACC,MAAK;AAAA,kBAEL,SAAS,MAAM,oBAAoB,OAAO;AAAA,kBAC1C,WAAW,6DACV,QAAQ,OAAO,0BACZ,6DACA;AAAA,kBAPL,UAmBE;AAAA,oCATD,MAEE,OAFF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UACE,QAAQ,SAAS;AAAA,qBACjB;AAAA,oCACF,OAKE,OALF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UAKE;AAAA,wBAJA,QAAQ;AAAA,wBADV;AAAA,wBACkC;AAAA,wBAChC,mBACA,QAAQ,gBAAgB,QAAQ,SACjC;AAAA;AAAA,qBACC;AAAA;AAAA,mBAhBG,QAAQ,EAiBZ,CACF;AAAA,eACA;AAAA;AAAA,WAEF,oBAEF;AAAA,sBAqLE;AAAA,8BAnLD,MAoDE,OApDF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UACE,CAAC,0CACD,OAGE,OAHF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAGE;AAAA,oCAFD,MAAC,eAAD;AAAA,sBAAc,WAAU;AAAA,qBAAgD;AAAA,oCACxE,MAAkD,KAAlD;AAAA;AAAA,qBAAkD;AAAA;AAAA,iBACjD,IACC,SAAS,WAAW,oBACvB,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,0BACC,MAAyC,KAAzC;AAAA;AAAA,mBAAyC;AAAA,iBACxC,oBAEF,OAuCE,OAvCF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAuCE;AAAA,oBAtCA,SAAS,IAAI,CAAC,KAAK,UAAU;AAAA,sBAC7B,IAAI,IAAI,SAAS,QAAQ;AAAA,wBACxB,MAAM,UAAU,SAAS,QAAQ;AAAA,wBACjC,uBACC,MAAC,kBAAD;AAAA,0BAEC,WAAW;AAAA,0BACX,SAAS;AAAA,0BACT,SAAS,UAAU;AAAA,0BACnB,wBACC,SAAS,SAAS,cACf,QAAQ,KACR;AAAA,2BAPC,IAAI,EASV;AAAA,sBAEF;AAAA,sBACA,IAAI,IAAI,SAAS,aAAa;AAAA,wBAC7B,MAAM,UAAU,QAAQ,IAAI,SAAS,QAAQ,KAAK;AAAA,wBAClD,MAAM,UAAU,SAAS,QAAQ;AAAA,wBACjC,MAAM,aAAa,SAAS,SAAS;AAAA,wBACrC,MAAM,mBAAmB,SAAS,SAAS;AAAA,wBAC3C,uBACC,MAAC,uBAAD;AAAA,0BAEC,WAAW;AAAA,0BACX,SAAS;AAAA,0BACT;AAAA,0BACA,yBAAyB;AAAA,0BACzB,eAAe,UAAU,SAAS,SAAS;AAAA,0BAC3C,SAAO;AAAA,0BACP;AAAA,2BAPK,IAAI,EAQV;AAAA,sBAEF;AAAA,sBACA,OAAO;AAAA,qBACP;AAAA,oCACD,MAAC,OAAD;AAAA,sBAAK,KAAK;AAAA,qBAAgB;AAAA;AAAA,iBACzB;AAAA,eAEF;AAAA,8BAGF,OA2HE,OA3HF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UA2HE;AAAA,kCA1HD,MAwCE,OAxCF;AAAA,oBAAK,WAAU;AAAA,oBAAf,0BACC,OAsCE,OAtCF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UAsCE;AAAA,wCArCD,MAAC,UAAD;AAAA,0BACC,KAAK;AAAA,0BACL,OAAO;AAAA,0BACP,UAAU,CAAC,MAAM,cAAc,EAAE,OAAO,KAAK;AAAA,0BAC7C,WAAW;AAAA,0BACX,aAAY;AAAA,0BACZ,UACC,CAAC,mBACD,YAAY,aACZ,eAAe;AAAA,0BAEhB,MAAM;AAAA,0BACN,WAAU;AAAA,0BACV,OAAO,EAAE,QAAQ,UAAU;AAAA,yBAC5B;AAAA,wCACA,MAqBE,UArBF;AAAA,0BACC,MAAK;AAAA,0BACL,SAAS;AAAA,0BACT,UACC,CAAC,WAAW,KAAK,KACjB,CAAC,mBACD,YAAY,aACZ,eAAe,aACf;AAAA,0BAED,WAAW,yFACV,WAAW,KAAK,KAAK,mBAAmB,CAAC,eACtC,6CACA;AAAA,0BAbL,UAgBE,YAAY,aAAa,eAAe,4BACxC,MAAC,UAAD;AAAA,4BAAS,WAAU;AAAA,2BAAuB,oBAE1C,MAAC,UAAD;AAAA,4BAAS,WAAU;AAAA,2BAAU;AAAA,yBAE7B;AAAA;AAAA,qBACD;AAAA,mBACD;AAAA,kBAGD,oBAAoB,6BACpB,OAYE,OAZF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UAYE;AAAA,sCAXD,MAAC,SAAD;AAAA,wBAAO,WAAU;AAAA,uBAAwB;AAAA,sCACzC,MAEE,QAFF;AAAA,wBAAM,WAAU;AAAA,wBAAhB;AAAA,uBAEE;AAAA,sCACF,MAME,UANF;AAAA,wBACC,MAAK;AAAA,wBACL,SAAS,MAAM,mBAAmB,MAAM;AAAA,wBACxC,WAAU;AAAA,wBAHX,0BAKC,MAAC,KAAD;AAAA,0BAAG,WAAU;AAAA,yBAAU;AAAA,uBACtB;AAAA;AAAA,mBACD;AAAA,kBAEF,oBAAoB,2BACpB,OAUE,OAVF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UAUE;AAAA,sCATD,MAAC,KAAD;AAAA,wBAAG,WAAU;AAAA,uBAAwB;AAAA,sCACrC,MAAmD,QAAnD;AAAA,wBAAM,WAAU;AAAA,wBAAhB;AAAA,uBAAmD;AAAA,sCACnD,MAME,UANF;AAAA,wBACC,MAAK;AAAA,wBACL,SAAS,MAAM,mBAAmB,MAAM;AAAA,wBACxC,WAAU;AAAA,wBAHX,0BAKC,MAAC,KAAD;AAAA,0BAAG,WAAU;AAAA,yBAAU;AAAA,uBACtB;AAAA;AAAA,mBACD;AAAA,kCAIH,OAgDE,OAhDF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UAgDE;AAAA,sCA/CD,OA4BE,UA5BF;AAAA,wBACC,MAAK;AAAA,wBACL,SAAS;AAAA,wBACT,UACC,CAAC,2BACD,eAAe,aACf,gBACA;AAAA,wBAED,WAAW,oJACV,oBACG,8EACA;AAAA,wBAEJ,OACC,oBACG,uCACA;AAAA,wBAjBL,UA4BE;AAAA,0BARA,eAAe,4BACf,MAAC,UAAD;AAAA,4BAAS,WAAU;AAAA,2BAAuB,IACvC,oCACH,MAAC,SAAD;AAAA,4BAAO,WAAU;AAAA,2BAAU,oBAE3B,MAAC,iBAAD;AAAA,4BAAiB,WAAU;AAAA,2BAAU;AAAA,0BAErC,oBAAoB,aAAa;AAAA;AAAA,uBACjC;AAAA,sCACF,OAiBE,UAjBF;AAAA,wBACC,MAAK;AAAA,wBACL,SAAS;AAAA,wBACT,UACC,CAAC,2BACD,eAAe,aACf;AAAA,wBAED,WAAU;AAAA,wBACV,OAAM;AAAA,wBATP,UAiBE;AAAA,0BANA,eAAe,4BACf,MAAC,UAAD;AAAA,4BAAS,WAAU;AAAA,2BAAuB,oBAE1C,MAAC,eAAD;AAAA,4BAAc,WAAU;AAAA,2BAAU;AAAA,0BAdpC;AAAA;AAAA,uBAiBE;AAAA;AAAA,mBACD;AAAA;AAAA,eACD;AAAA;AAAA,WACD;AAAA,0BAIH,OAgBE,OAhBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAgBE;AAAA,8BAfD,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBADA,SAAS;AAAA,kBADX;AAAA,kBACoC,SAAS,WAAW,IAAI,MAAM;AAAA;AAAA,eAChE;AAAA,eACA,wBAAwB,sCACzB,OASE,UATF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS,MAAM,qBAAqB,IAAI;AAAA,gBACxC,WAAU;AAAA,gBAHX,UASE;AAAA,kCAJD,MAAqD,QAArD;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UAA8B;AAAA,mBAAuB;AAAA,kCACrD,MAAgC,QAAhC;AAAA,oBAAM,WAAU;AAAA,oBAAhB;AAAA,mBAAgC;AAAA,kCAChC,MAA2B,QAA3B;AAAA,8BAAO;AAAA,mBAAoB;AAAA,kCAC3B,MAAC,cAAD;AAAA,oBAAa,WAAU;AAAA,mBAAqB;AAAA;AAAA,eAC3C;AAAA;AAAA,WAEF;AAAA,0BAGF,MAaE,OAbF;AAAA,YACC,QAAQ;AAAA,YACR,SAAS,MAAM,qBAAqB,KAAK;AAAA,YACzC,OAAM;AAAA,YACN,UAAS;AAAA,YAJV,WAMG,qBAAqB,mCACtB,MAAC,sBAAD;AAAA,cACC,UAAU;AAAA,cACV,OAAO;AAAA,cACP,UAAU;AAAA,aACX;AAAA,WAEA;AAAA;AAAA,OACD;AAAA;AAAA,GACD;AAAA,CAEH;AAED,SAAS,kBAAkB,CAAC,WAA2B;AAAA,EACtD,MAAM,OAAO,KAAK,IAAI,IAAI;AAAA,EAC1B,MAAM,UAAU,KAAK,MAAM,OAAO,KAAK;AAAA,EACvC,IAAI,UAAU;AAAA,IAAG,OAAO;AAAA,EACxB,IAAI,UAAU;AAAA,IAAI,OAAO,GAAG;AAAA,EAC5B,MAAM,QAAQ,KAAK,MAAM,UAAU,EAAE;AAAA,EACrC,IAAI,QAAQ;AAAA,IAAI,OAAO,GAAG;AAAA,EAC1B,MAAM,OAAO,KAAK,MAAM,QAAQ,EAAE;AAAA,EAClC,OAAO,GAAG;AAAA;;AE/pBX,iBAAS;AACT,yBAAS;;AAQF,IAAM,wBAAwB,OAAK,SAAS,sBAAqB;AAAA,EACvE;AAAA,GAC8B;AAAA,EAC9B,MAAM,aAAa,iBAAiB,CAAC,UAAU,MAAM,UAAU;AAAA,EAC/D,MAAM,gBAAgB,iBAAiB,CAAC,UAAU,MAAM,aAAa;AAAA,EACrE,QAAQ,SAAS,oBAAoB,mBAAmB,IAAI;AAAA,EAE5D,MAAM,eAAe,MAAM,UAAU,UAAU;AAAA,EAE/C,uBACC,OAgBE,UAhBF;AAAA,IACC,MAAK;AAAA,IACL,SAAS;AAAA,IACT,WAAW,yGACV,aACG,4BACA;AAAA,IAEJ,OAAM;AAAA,IARP,UAgBE;AAAA,sBAND,MAAC,eAAD;AAAA,QAAc,WAAU;AAAA,OAAwC;AAAA,MAC/D,eAAe,qBACf,MAEE,QAFF;AAAA,QAAM,WAAU;AAAA,QAAhB,UACE,eAAe,IAAI,OAAO;AAAA,OAC1B;AAAA;AAAA,GAEF;AAAA,CAEH;;ACrCD,iBAAS,oBAAM,uBAAU,0BAAS;AAClC;AAAA,cACC;AAAA,kBACA;AAAA,YACA;AAAA;AAAA;AAAA,UAGA;AAAA,iBACA;AAAA,eACA;AAAA,UACA;AAAA,YACA;AAAA,UACA;AAAA,WACA;AAAA;AAAA,aAEA;AAAA;AAED;;;ACjBA,mBAAS;AA6CT,IAAM,QAA0B,CAAC,UAAU,UAAU;AAE9C,IAAM,qBAAqB,SAAwB,CAAC,KAAK,SAAS;AAAA,EACxE,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,SAAS,CAAC,WAAW,IAAI,EAAE,OAAO,CAAC;AAAA,EACnC,SAAS,CAAC,gBAAgB,IAAI,EAAE,YAAY,CAAC;AAAA,EAC7C,eAAe,CAAC,eAAe,IAAI,EAAE,WAAW,CAAC;AAAA,EACjD,YAAY,CAAC,cAAc,IAAI,EAAE,UAAU,CAAC;AAAA,EAC5C,UAAU,CAAC,UAAU,IAAI,EAAE,MAAM,CAAC;AAAA,EAClC,eAAe,CAAC,eAAe,IAAI,EAAE,WAAW,CAAC;AAAA,EACjD,UAAU,MAAM;AAAA,IACf,QAAQ,gBAAgB,IAAI;AAAA,IAC5B,MAAM,eAAe,MAAM,QAAQ,WAAW;AAAA,IAC9C,IAAI,eAAe,MAAM,SAAS,GAAG;AAAA,MACpC,IAAI,EAAE,aAAa,MAAM,eAAe,GAAG,CAAC;AAAA,IAC7C;AAAA;AAAA,EAED,UAAU,MAAM;AAAA,IACf,QAAQ,gBAAgB,IAAI;AAAA,IAC5B,MAAM,eAAe,MAAM,QAAQ,WAAW;AAAA,IAC9C,IAAI,eAAe,GAAG;AAAA,MACrB,IAAI,EAAE,aAAa,MAAM,eAAe,GAAG,CAAC;AAAA,IAC7C;AAAA;AAAA,EAED,OAAO,MACN,IAAI;AAAA,IACH,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,OAAO;AAAA,EACR,CAAC;AACH,EAAE;;;AClFF,sBAAS,4BAAW,2BAAa,sBAAU;AAC3C,2BAAS;AAIT,IAAM,aAAa,OAAO,WAAW,eAAe,OAAO,SAAS,OAAO;AAEpE,SAAS,aAAa,GAAG;AAAA,EAC/B,MAAM,gBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa;AAAA,EAC/D,MAAM,UAAU,mBAAmB,CAAC,MAAM,EAAE,OAAO;AAAA,EACnD,MAAM,aAAa,mBAAmB,CAAC,MAAM,EAAE,UAAU;AAAA,EACzD,MAAM,WAAW,mBAAmB,CAAC,MAAM,EAAE,QAAQ;AAAA,EACrD,MAAM,aAAa,mBAAmB,CAAC,MAAM,EAAE,UAAU;AAAA,EACzD,MAAM,SAAS,mBAAmB,CAAC,MAAM,EAAE,MAAM;AAAA,EACjD,MAAM,cAAc,iBAAe;AAAA,EAEnC,OAAO,aAAa,kBAAkB,WAAS,KAAK;AAAA,EACpD,OAAO,cAAc,mBAAmB,WAAS,KAAK;AAAA,EACtD,MAAM,kBAAkB,SAA8C,IAAI;AAAA,EAC1E,MAAM,uBAAuB,SAAoB,IAAI,GAAK;AAAA,EAE1D,MAAM,kBAAkB,cAAY,YAAY;AAAA,IAC/C,WAAW,IAAI;AAAA,IACf,SAAS,IAAI;AAAA,IACb,IAAI;AAAA,MACH,MAAM,SAAS,MAAM,UAAU,cAAc;AAAA,MAC7C,cAAc,MAAM;AAAA,MACpB,YAAY,kBAAkB,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAAA,MACtD,YAAY,kBAAkB,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAAA,MACtD,OAAO;AAAA,MACN,OAAO,KAAK;AAAA,MACb,MAAM,UAAU,eAAe,QAAQ,IAAI,UAAU;AAAA,MACrD,SAAS,OAAO;AAAA,MAChB,OAAO;AAAA,cACN;AAAA,MACD,WAAW,KAAK;AAAA;AAAA,KAEf,CAAC,eAAe,YAAY,UAAU,WAAW,CAAC;AAAA,EAErD,MAAM,kBAAkB,cAAY,YAAY;AAAA,IAC/C,MAAM,SAAS,MAAM,gBAAgB;AAAA,IACrC,IAAI,QAAQ;AAAA,MACX,MAAM,iBAAiB,OAAO,OAAO,OAAO,SAAS,EAAE,KACtD,CAAC,MAAM,EAAE,UACV;AAAA,MACA,MAAM,kBACL,CAAC,OAAO,sBACR,CAAC,kBACD,CAAC,OAAO,KAAK;AAAA,MACd,IAAI,iBAAiB;AAAA,QACpB,QAAQ,IAAI;AAAA,MACb;AAAA,IACD;AAAA,IACA,eAAe,IAAI;AAAA,KACjB,CAAC,iBAAiB,OAAO,CAAC;AAAA,EAE7B,MAAM,cAAc,cAAY,YAAY;AAAA,IAC3C,WAAW,IAAI;AAAA,IACf,SAAS,IAAI;AAAA,IACb,IAAI;AAAA,MACH,MAAM,SAAS,MAAM,UAAU,gBAAgB;AAAA,MAC/C,MAAM,gBAAgB;AAAA,MACtB,OAAO;AAAA,MACN,OAAO,KAAK;AAAA,MACb,MAAM,UAAU,eAAe,QAAQ,IAAI,UAAU;AAAA,MACrD,SAAS,OAAO;AAAA,MAChB,MAAM;AAAA,cACL;AAAA,MACD,WAAW,KAAK;AAAA;AAAA,KAEf,CAAC,iBAAiB,YAAY,QAAQ,CAAC;AAAA,EAE1C,MAAM,eAAe,cACpB,OAAO,eAAuB;AAAA,IAC7B,WAAW,IAAI;AAAA,IACf,SAAS,IAAI;AAAA,IACb,IAAI;AAAA,MACH,MAAM,SAAS,MAAM,UAAU,iBAAiB,UAAU;AAAA,MAC1D,MAAM,gBAAgB;AAAA,MACtB,OAAO;AAAA,MACN,OAAO,KAAK;AAAA,MACb,MAAM,UAAU,eAAe,QAAQ,IAAI,UAAU;AAAA,MACrD,SAAS,OAAO;AAAA,MAChB,MAAM;AAAA,cACL;AAAA,MACD,WAAW,KAAK;AAAA;AAAA,KAGlB,CAAC,iBAAiB,YAAY,QAAQ,CACvC;AAAA,EAEA,MAAM,cAAc,cACnB,OAAO,UAAkB,WAAmB;AAAA,IAC3C,WAAW,IAAI;AAAA,IACf,SAAS,IAAI;AAAA,IACb,IAAI;AAAA,MACH,MAAM,SAAS,MAAM,UAAU,YAAY,UAAU,MAAM;AAAA,MAC3D,MAAM,gBAAgB;AAAA,MACtB,OAAO;AAAA,MACN,OAAO,KAAK;AAAA,MACb,MAAM,UACL,eAAe,QAAQ,IAAI,UAAU;AAAA,MACtC,SAAS,OAAO;AAAA,MAChB,MAAM;AAAA,cACL;AAAA,MACD,WAAW,KAAK;AAAA;AAAA,KAGlB,CAAC,iBAAiB,YAAY,QAAQ,CACvC;AAAA,EAEA,MAAM,iBAAiB,cACtB,OAAO,aAAqB;AAAA,IAC3B,WAAW,IAAI;AAAA,IACf,SAAS,IAAI;AAAA,IACb,IAAI;AAAA,MACH,MAAM,SAAS,MAAM,UAAU,eAAe,QAAQ;AAAA,MACtD,MAAM,gBAAgB;AAAA,MACtB,OAAO;AAAA,MACN,OAAO,KAAK;AAAA,MACb,MAAM,UACL,eAAe,QAAQ,IAAI,UAAU;AAAA,MACtC,SAAS,OAAO;AAAA,MAChB,MAAM;AAAA,cACL;AAAA,MACD,WAAW,KAAK;AAAA;AAAA,KAGlB,CAAC,iBAAiB,YAAY,QAAQ,CACvC;AAAA,EAEA,MAAM,qBAAqB,cAAY,YAAY;AAAA,IAClD,WAAW,IAAI;AAAA,IACf,SAAS,IAAI;AAAA,IACb,IAAI;AAAA,MACH,MAAM,UAAU,mBAAmB;AAAA,MACnC,MAAM,gBAAgB;AAAA,MACtB,QAAQ,KAAK;AAAA,MACZ,OAAO,KAAK;AAAA,MACb,MAAM,UACL,eAAe,QAAQ,IAAI,UAAU;AAAA,MACtC,SAAS,OAAO;AAAA,MAChB,MAAM;AAAA,cACL;AAAA,MACD,WAAW,KAAK;AAAA;AAAA,KAEf,CAAC,iBAAiB,YAAY,UAAU,OAAO,CAAC;AAAA,EAEnD,MAAM,8BAA8B,cAAY,MAAM;AAAA,IACrD,MAAM,SAAS,mBAAmB,SAAS,EAAE;AAAA,IAC7C,IAAI,QAAQ;AAAA,MACX,qBAAqB,UAAU,IAAI,IAClC,OAAO,QAAQ,OAAO,SAAS,EAC7B,OAAO,IAAI,OAAO,EAAE,UAAU,EAC9B,IAAI,EAAE,QAAQ,EAAE,CACnB;AAAA,IACD;AAAA,KACE,CAAC,CAAC;AAAA,EAEL,MAAM,aAAa,cAClB,CAAC,UAAkB,SAAkB;AAAA,IACpC,MAAM,MAAM,UAAU,iBAAiB,UAAU,IAAI;AAAA,IACrD,IAAI,YAAY;AAAA,MACf,4BAA4B;AAAA,MAC5B,OAAO,OAAO,YAAY,EAAE,MAAM,iBAAiB,IAAI,GAAG,GAAG;AAAA,MAC7D,gBAAgB,IAAI;AAAA,MACpB,OAAO;AAAA,IACR;AAAA,IACA,MAAM,QAAQ;AAAA,IACd,MAAM,SAAS;AAAA,IACf,MAAM,OAAO,OAAO,WAAW,OAAO,aAAa,SAAS;AAAA,IAC5D,MAAM,MAAM,OAAO,WAAW,OAAO,cAAc,UAAU;AAAA,IAC7D,MAAM,QAAQ,OAAO,KACpB,KACA,eACA,SAAS,gBAAgB,eAAe,YAAY,2BACrD;AAAA,IACA,OAAO;AAAA,KAER,CAAC,2BAA2B,CAC7B;AAAA,EAEA,MAAM,mBAAmB,cACxB,OAAO,UAAkB,SAAkB;AAAA,IAC1C,QAAQ,KAAK,cAAc,MAAM,UAAU,YAAY,UAAU,IAAI;AAAA,IAErE,IAAI,YAAY;AAAA,MACf,4BAA4B;AAAA,MAC5B,OAAO,OAAO,YAAY,EAAE,MAAM,iBAAiB,IAAI,GAAG,GAAG;AAAA,MAC7D,gBAAgB,IAAI;AAAA,MACpB,OAAO,EAAE,OAAO,MAAM,UAAU;AAAA,IACjC;AAAA,IAEA,MAAM,QAAQ;AAAA,IACd,MAAM,SAAS;AAAA,IACf,MAAM,OAAO,OAAO,WAAW,OAAO,aAAa,SAAS;AAAA,IAC5D,MAAM,MAAM,OAAO,WAAW,OAAO,cAAc,UAAU;AAAA,IAC7D,MAAM,QAAQ,OAAO,KACpB,KACA,eACA,SAAS,gBAAgB,eAAe,YAAY,2BACrD;AAAA,IACA,OAAO,EAAE,OAAO,UAAU;AAAA,KAE3B,CAAC,2BAA2B,CAC7B;AAAA,EAEA,MAAM,oBAAoB,cACzB,OAAO,UAAkB,MAAc,cAAsB;AAAA,IAC5D,WAAW,IAAI;AAAA,IACf,SAAS,IAAI;AAAA,IACb,IAAI;AAAA,MACH,MAAM,UAAU,kBAAkB,UAAU,MAAM,SAAS;AAAA,MAC3D,MAAM,gBAAgB;AAAA,MACtB,OAAO;AAAA,MACN,OAAO,KAAK;AAAA,MACb,MAAM,UACL,eAAe,QAAQ,IAAI,UAAU;AAAA,MACtC,SAAS,OAAO;AAAA,MAChB,MAAM;AAAA,cACL;AAAA,MACD,WAAW,KAAK;AAAA;AAAA,KAGlB,CAAC,iBAAiB,YAAY,QAAQ,CACvC;AAAA,EAEA,YAAU,MAAM;AAAA,IACf,IAAI,CAAC,gBAAgB,CAAC;AAAA,MAAY;AAAA,IAClC,gBAAgB,UAAU,YAAY,MAAM;AAAA,MAC3C,gBAAgB;AAAA,OACd,IAAI;AAAA,IACP,MAAM,UAAU,WAAW,MAAM;AAAA,MAChC,gBAAgB,KAAK;AAAA,OACnB,MAAM;AAAA,IACT,OAAO,MAAM;AAAA,MACZ,cAAc,gBAAgB,OAAO;AAAA,MACrC,aAAa,OAAO;AAAA;AAAA,KAEnB,CAAC,cAAc,eAAe,CAAC;AAAA,EAElC,YAAU,MAAM;AAAA,IACf,IAAI,CAAC,gBAAgB,CAAC;AAAA,MAAY;AAAA,IAClC,MAAM,oBAAoB,OAAO,QAAQ,WAAW,SAAS,EAAE,OAC9D,IAAI,OAAO,EAAE,UACd;AAAA,IACA,MAAM,iBAAiB,kBAAkB,KACxC,EAAE,QAAQ,CAAC,qBAAqB,QAAQ,IAAI,EAAE,CAC/C;AAAA,IACA,IAAI,gBAAgB;AAAA,MACnB,gBAAgB,KAAK;AAAA,IACtB;AAAA,KACE,CAAC,YAAY,YAAY,CAAC;AAAA,EAE7B,YAAU,MAAM;AAAA,IACf,MAAM,qBAAqB,CAAC,UAAwB;AAAA,MACnD,IAAI,MAAM,MAAM,SAAS,iBAAiB;AAAA,QACzC,gBAAgB;AAAA,MACjB;AAAA;AAAA,IAGD,OAAO,iBAAiB,WAAW,kBAAkB;AAAA,IACrD,OAAO,MAAM,OAAO,oBAAoB,WAAW,kBAAkB;AAAA,KACnE,CAAC,eAAe,CAAC;AAAA,EAEpB,MAAM,wBAAwB,cAC7B,OAAO,cAAsB;AAAA,IAC5B,MAAM,SAAS,MAAM,UAAU,sBAAsB,SAAS;AAAA,IAC9D,IAAI,OAAO,WAAW,YAAY;AAAA,MACjC,MAAM,gBAAgB;AAAA,IACvB;AAAA,IACA,OAAO;AAAA,KAER,CAAC,eAAe,CACjB;AAAA,EAEA,MAAM,mBAAmB,cACxB,OAAO,UAAkB;AAAA,IACxB,WAAW,IAAI;AAAA,IACf,SAAS,IAAI;AAAA,IACb,IAAI;AAAA,MACH,MAAM,SAAS,MAAM,UAAU,iBAAiB,KAAK;AAAA,MACrD,MAAM,gBAAgB;AAAA,MACtB,OAAO;AAAA,MACN,OAAO,KAAK;AAAA,MACb,MAAM,UACL,eAAe,QAAQ,IAAI,UAAU;AAAA,MACtC,SAAS,OAAO;AAAA,MAChB,MAAM;AAAA,cACL;AAAA,MACD,WAAW,KAAK;AAAA;AAAA,KAGlB,CAAC,iBAAiB,YAAY,QAAQ,CACvC;AAAA,EAEA,MAAM,2BAA2B,cAAY,YAAY;AAAA,IACxD,WAAW,IAAI;AAAA,IACf,SAAS,IAAI;AAAA,IACb,IAAI;AAAA,MACH,MAAM,SAAS,MAAM,UAAU,yBAAyB;AAAA,MACxD,MAAM,gBAAgB;AAAA,MACtB,OAAO;AAAA,MACN,OAAO,KAAK;AAAA,MACb,MAAM,UACL,eAAe,QACZ,IAAI,UACJ;AAAA,MACJ,SAAS,OAAO;AAAA,MAChB,MAAM;AAAA,cACL;AAAA,MACD,WAAW,KAAK;AAAA;AAAA,KAEf,CAAC,iBAAiB,YAAY,QAAQ,CAAC;AAAA,EAE1C,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,wBAAwB,UAAU,uBAAuB,KAAK,SAAS;AAAA,IACvE;AAAA,IACA,uBAAuB,UAAU,sBAAsB,KAAK,SAAS;AAAA,IACrE;AAAA,IACA;AAAA,IACA,uBAAuB,UAAU,sBAAsB,KAAK,SAAS;AAAA,EACtE;AAAA;;;AC/UD,sBAAS,4BAAW;AAIb,SAAS,cAAc,CAAC,cAAkC;AAAA,EAChE,MAAM,aAAa,aAAa,CAAC,MAAM,EAAE,UAAU;AAAA,EACnD,MAAM,iBAAiB,aAAa,CAAC,MAAM,EAAE,cAAc;AAAA,EAC3D,MAAM,mBAAmB,aAAa,CAAC,MAAM,EAAE,gBAAgB;AAAA,EAC/D,MAAM,aAAa,aAAa,CAAC,MAAM,EAAE,UAAU;AAAA,EACnD,MAAM,WAAW,aAAa,CAAC,MAAM,EAAE,QAAQ;AAAA,EAC/C,MAAM,UAAU,aAAa,CAAC,MAAM,EAAE,OAAO;AAAA,EAC7C,MAAM,kBAAkB,aAAa,CAAC,MAAM,EAAE,eAAe;AAAA,EAC7D,MAAM,YAAY,aAAa,CAAC,MAAM,EAAE,SAAS;AAAA,EACjD,MAAM,UAAU,aAAa,CAAC,MAAM,EAAE,OAAO;AAAA,EAC7C,MAAM,cAAc,aAAa,CAAC,MAAM,EAAE,WAAW;AAAA,EACrD,MAAM,UAAU,aAAa,CAAC,MAAM,EAAE,OAAO;AAAA,EAE7C,MAAM,eAAe,cAAY,YAAY;AAAA,IAC5C,IAAI,iBAAiB,QAAQ;AAAA,MAC5B;AAAA,IACD;AAAA,IAEA,WAAW,IAAI;AAAA,IACf,IAAI;AAAA,MACH,OAAO,UAAU,UAAU,cAAc,MAAM,QAAQ,IAAI;AAAA,QAC1D,UAAU,eAAe;AAAA,QACzB,UAAU,mBAAmB,OAAO;AAAA,QACpC,UAAU,cAAc;AAAA,MACzB,CAAC;AAAA,MAED,IAAI,UAAU;AAAA,QACb,WAAW,SAAS,OAAO;AAAA,QAC3B,iBAAiB,SAAS,aAAa;AAAA,QACvC,SAAS,SAAS,SAAS,IAAI;AAAA,QAC/B,QAAQ,SAAS,QAAQ,IAAI;AAAA,QAC7B,gBAAgB,SAAS,gBAAgB,IAAI;AAAA,QAC7C,UAAU,SAAS,UAAU,IAAI;AAAA,MAClC,EAAO,SAAI,YAAY,cAAc,WAAW,WAAW;AAAA,QAC1D,iBAAiB,WAAW,SAAS;AAAA,MACtC;AAAA,MAEA,IAAI,UAAU;AAAA,QACb,eAAe,SAAS,WAAW;AAAA,QACnC,IAAI,CAAC,YAAY,SAAS,eAAe;AAAA,UACxC,iBAAiB,SAAS,aAAa;AAAA,QACxC;AAAA,MACD;AAAA,MACC,MAAM,WACN;AAAA,MACD,WAAW,KAAK;AAAA;AAAA,KAEf;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EAED,YAAU,MAAM;AAAA,IACf,IAAI,iBAAiB,WAAW,YAAY,QAAQ,gBAAgB,OAAO;AAAA,MAC1E,aAAa;AAAA,IACd;AAAA,KACE,CAAC,cAAc,SAAS,aAAa,YAAY,CAAC;AAAA,EAErD,OAAO;AAAA,IACN;AAAA,EACD;AAAA;;;ACxED,sBAAS,uBAAW;AAKpB,IAAM,eAAc;AAEb,SAAS,gBAAgB,GAAG;AAAA,EAClC,MAAM,aAAa,SAAO,KAAK;AAAA,EAC/B,MAAM,iBAAiB,SAAsB,IAAI;AAAA,EACjD,MAAM,aAAa,aAAa,CAAC,MAAM,EAAE,UAAU;AAAA,EACnD,MAAM,cAAc,cAAc,CAAC,MAAM,EAAE,WAAW;AAAA,EAEtD,YAAU,MAAM;AAAA,IACf,IAAI,WAAW;AAAA,MAAS;AAAA,IAExB,MAAM,SAAS,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAAA,IACzD,MAAM,cAAc,OAAO,IAAI,OAAO;AAAA,IAEtC,MAAM,oBAAoB,aAAa,QAAQ,YAAW;AAAA,IAE1D,IAAI,gBAAgB,aAAa,mBAAmB;AAAA,MACnD,WAAW,UAAU;AAAA,MAErB,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,IAAI;AAAA,MACxC,IAAI,aAAa,OAAO,OAAO;AAAA,MAC/B,OAAO,QAAQ,aAAa,CAAC,GAAG,IAAI,IAAI,SAAS,CAAC;AAAA,MAElD,IAAI,CAAC,mBAAmB;AAAA,QACvB,MAAM,KAAK,2BAA2B;AAAA,QACtC;AAAA,MACD;AAAA,MAEA,eAAe,UAAU,MAAM,QAAQ,qBAAqB;AAAA,MAE5D,IAAI,WAAW;AAAA,MACf,MAAM,cAAc;AAAA,MACpB,MAAM,UAAU;AAAA,MAEhB,MAAM,iBAAiB,MAAM;AAAA,QAC5B,IAAI,eAAe,SAAS;AAAA,UAC3B,YAAY,eAAe,OAAO;AAAA,UAClC,eAAe,UAAU;AAAA,QAC1B;AAAA;AAAA,MAGD,MAAM,cAAc,YAAY;AAAA,QAC/B;AAAA,QACA,IAAI;AAAA,UACH,MAAM,SAAS,MAAM,UAAU,oBAAoB,iBAAiB;AAAA,UAEpE,IAAI,QAAQ,WAAW;AAAA,YACtB,aAAa,WAAW,YAAW;AAAA,YACnC,eAAe;AAAA,YAEf,MAAM,cAAc,MAAM,UAAU,eAAe;AAAA,YACnD,IAAI,aAAa,YAAY,WAAW;AAAA,cACvC,WAAW,YAAY,OAAO;AAAA,YAC/B;AAAA,YAEA,MAAM,QACL,uBAAuB,OAAO,WAAW,QAAQ,CAAC,YACnD;AAAA,YACA;AAAA,UACD;AAAA,UAEA,IAAI,WAAW,aAAa;AAAA,YAC3B,WAAW,aAAa,OAAO;AAAA,UAChC,EAAO;AAAA,YACN,aAAa,WAAW,YAAW;AAAA,YACnC,eAAe;AAAA,YACf,MAAM,KACL,gEACD;AAAA;AAAA,UAEA,MAAM;AAAA,UACP,IAAI,WAAW,aAAa;AAAA,YAC3B,WAAW,aAAa,OAAO;AAAA,UAChC,EAAO;AAAA,YACN,aAAa,WAAW,YAAW;AAAA,YACnC,eAAe;AAAA,YACf,MAAM,MAAM,qDAAqD;AAAA;AAAA;AAAA;AAAA,MAKpE,WAAW,aAAa,IAAI;AAAA,IAC7B;AAAA,KACE,CAAC,YAAY,WAAW,CAAC;AAAA;;;;AJpD7B,IAAM,qBAAqB;AAC3B,IAAM,yBAAyB;AAC/B,IAAM,qBAAqB;AAC3B,IAAM,qBAAqB;AAS3B,IAAM,kBAAkB,OAAK,SAAS,gBAAe;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACwB;AAAA,EACxB,uBACC,OAOE,OAPF;AAAA,IAAK,WAAU;AAAA,IAAf,UAOE;AAAA,sBAND,OAIE,OAJF;AAAA,QAAK,WAAU;AAAA,QAAf,UAIE;AAAA,UAHA;AAAA,0BACD,MAAsD,QAAtD;AAAA,YAAM,WAAU;AAAA,YAAhB,UAA8C;AAAA,WAAQ;AAAA,UACrD;AAAA;AAAA,OACA;AAAA,sBACF,MAAiD,OAAjD;AAAA,QAAK,WAAU;AAAA,QAAf;AAAA,OAAiD;AAAA;AAAA,GAChD;AAAA,CAEH;AAOD,IAAM,aAAa,OAAK,SAAS,WAAU,GAAG,OAAO,SAA0B;AAAA,EAC9E,uBACC,OAGE,OAHF;AAAA,IAAK,WAAU;AAAA,IAAf,UAGE;AAAA,sBAFD,MAAiD,QAAjD;AAAA,QAAM,WAAU;AAAA,QAAhB,UAAyC;AAAA,OAAQ;AAAA,sBACjD,MAAqD,QAArD;AAAA,QAAM,WAAU;AAAA,QAAhB,UAA6C;AAAA,OAAQ;AAAA;AAAA,GACpD;AAAA,CAEH;AAQD,IAAM,YAAY,OAAK,SAAS,UAAS;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,GACkB;AAAA,EAClB,uBACC,OAiBE,OAjBF;AAAA,IAAK,WAAU;AAAA,IAAf,UAiBE;AAAA,sBAhBD,MAAiD,QAAjD;AAAA,QAAM,WAAU;AAAA,QAAhB,UAAyC;AAAA,OAAQ;AAAA,sBACjD,MAcE,UAdF;AAAA,QACC,MAAK;AAAA,QACL,MAAK;AAAA,QACL,gBAAc;AAAA,QACd,SAAS,MAAM,SAAS,CAAC,OAAO;AAAA,QAChC,WAAW,oJACV,UAAU,eAAe;AAAA,QAN3B,0BASC,MAAC,QAAD;AAAA,UACC,WAAW,oEACV,UAAU,kBAAkB,mBACzB,UAAU,0BAA0B;AAAA,SACzC;AAAA,OACC;AAAA;AAAA,GACD;AAAA,CAEH;AAUD,IAAM,YAAY,OAAK,SAAS,UAAS;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACkB;AAAA,EAClB,OAAO,QAAQ,aAAa,WAAS,KAAK;AAAA,EAC1C,MAAM,iBAAiB,QAAQ,KAAK,CAAC,MAAM,EAAE,OAAO,KAAK;AAAA,EAEzD,uBACC,OA0CE,OA1CF;AAAA,IAAK,WAAU;AAAA,IAAf,UA0CE;AAAA,sBAzCD,MAAiD,QAAjD;AAAA,QAAM,WAAU;AAAA,QAAhB,UAAyC;AAAA,OAAQ;AAAA,sBACjD,OAuCE,OAvCF;AAAA,QAAK,WAAU;AAAA,QAAf,UAuCE;AAAA,0BAtCD,OAUE,UAVF;AAAA,YACC,MAAK;AAAA,YACL,SAAS,MAAM,CAAC,YAAY,UAAU,CAAC,MAAM;AAAA,YAC7C;AAAA,YACA,WAAU;AAAA,YAJX,UAUE;AAAA,8BAJD,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UACE,gBAAgB,SAAS,SAAS;AAAA,eAClC;AAAA,8BACF,MAAC,cAAD;AAAA,gBAAa,WAAU;AAAA,eAAU;AAAA;AAAA,WAChC;AAAA,UACD,0BACA;AAAA,sBAwBE;AAAA,8BAtBD,MAAC,OAAD;AAAA,gBACC,WAAU;AAAA,gBACV,SAAS,MAAM,UAAU,KAAK;AAAA,gBAC9B,MAAK;AAAA,eACN;AAAA,8BACA,MAgBE,OAhBF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UACE,QAAQ,IAAI,CAAC,2BACb,MAYE,UAZF;AAAA,kBAEC,MAAK;AAAA,kBACL,SAAS,MAAM;AAAA,oBACd,SAAS,OAAO,EAAE;AAAA,oBAClB,UAAU,KAAK;AAAA;AAAA,kBAEhB,WAAW,wEACV,OAAO,OAAO,QAAQ,gBAAgB;AAAA,kBARxC,UAWE,OAAO;AAAA,mBAVH,OAAO,EAWX,CACF;AAAA,eACA;AAAA;AAAA,WACD;AAAA;AAAA,OAEF;AAAA;AAAA,GACD;AAAA,CAEH;AAEM,IAAM,kBAAkB,OAAK,SAAS,gBAAe,GAAG;AAAA,EAC9D,MAAM,aAAa,iBAAiB,CAAC,UAAU,MAAM,UAAU;AAAA,EAC/D,MAAM,kBAAkB,iBAAiB,CAAC,UAAU,MAAM,eAAe;AAAA,EACzE,MAAM,aAAa,mBAClB,CAAC,MAAM,EAAE,OAAO,uBAAuB,sBACxC;AAAA,EAEA,QAAQ,MAAM,YAAW,UAAU;AAAA,EACnC,QAAQ,MAAM,cAAc,aAAa;AAAA,EACzC,QAAQ,2BAAa,sBAAsB,eAAe;AAAA,EAC1D,MAAM,iBAAiB,kBAAkB;AAAA,EACzC,MAAM,cAAc,aAAa,CAAC,MAAM,EAAE,OAAO;AAAA,EACjD,MAAM,aAAa,aAAa,CAAC,MAAM,EAAE,aAAa;AAAA,EACtD,MAAM,kBAAkB,aAAa,CAAC,MAAM,EAAE,WAAW;AAAA,EACzD,MAAM,cAAc,aAAa,CAAC,MAAM,EAAE,SAAS;AAAA,EACnD,MAAM,iBAAiB,aAAa,CAAC,MAAM,EAAE,cAAc;AAAA,EAG3D,iBAAiB;AAAA,EAEjB,MAAM,UAAU,SAAQ,WAAW,SAAS,MAAM;AAAA,EAClD,QAAQ,cAAc,uBAAuB,eAC5C,UAAU,SAAS,SACpB;AAAA,EAEA,MAAM,oBAAoB,mBAAmB,CAAC,MAAM,EAAE,OAAO;AAAA,EAC7D,MAAM,UAAU,mBAAmB,CAAC,MAAM,EAAE,OAAO;AAAA,EACnD,MAAM,gBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa;AAAA,EAC/D,QAAQ,oBAAoB,cAAc;AAAA,EAE1C,MAAM,uBAAuB,cAAY,YAAY;AAAA,IACpD,OAAO,MAAM,UAAU,iBAAiB;AAAA,KACtC,CAAC,CAAC;AAAA,EAEL,MAAM,kBAAkB,UAAQ,MAAM;AAAA,IACrC,IAAI,CAAC,SAAQ,aAAa,CAAC;AAAA,MAAW,OAAO,CAAC;AAAA,IAC9C,OAAO,QAAO,UACZ,OAAO,CAAC,MAAM,UAAU,EAAE,EAC1B,IAAI,CAAC,OAAO;AAAA,MACZ,IAAI;AAAA,MACJ,OAAO,UAAU,IAAI,SAAS;AAAA,IAC/B,EAAE;AAAA,KACD,CAAC,SAAQ,WAAW,SAAS,CAAC;AAAA,EAEjC,MAAM,eAAe,UAAQ,MAAM;AAAA,IAClC,MAAM,WAAW,SAAQ,UAAU;AAAA,IACnC,IAAI,CAAC,YAAY,CAAC,YAAY;AAAA,MAAW,OAAO,CAAC;AAAA,IACjD,OAAO,UAAU,UAAU,OAAO,IAAI,CAAC,OAAO;AAAA,MAC7C,IAAI,EAAE;AAAA,MACN,OAAO,EAAE;AAAA,IACV,EAAE;AAAA,KACA,CAAC,SAAQ,UAAU,UAAU,SAAS,CAAC;AAAA,EAE1C,MAAM,eAAe,UAAQ,MAAM;AAAA,IAClC,IAAI,CAAC,SAAQ;AAAA,MAAQ,OAAO,CAAC;AAAA,IAC7B,OAAO,QAAO,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,EAAE,EAAE;AAAA,KACnD,CAAC,SAAQ,MAAM,CAAC;AAAA,EAEnB,IAAI,CAAC;AAAA,IAAY,OAAO;AAAA,EAExB,MAAM,uBAAuB,CAAC,aAAqB;AAAA,IAClD,MAAM,aAAa,YAAY,WAAW,SAAS,IAAI;AAAA,IACvD,eAAe,OAAO;AAAA,MACrB;AAAA,MACA,OAAO,cAAc,SAAQ,UAAU;AAAA,MACvC,OAAO;AAAA,IACR,CAAC;AAAA;AAAA,EAGF,MAAM,oBAAoB,CAAC,UAAkB;AAAA,IAC5C,eAAe,OAAO,EAAE,OAAO,OAAO,SAAS,CAAC;AAAA;AAAA,EAGjD,MAAM,oBAAoB,CAAC,UAAkB;AAAA,IAC5C,eAAe,OAAO,EAAE,OAAO,OAAO,SAAS,CAAC;AAAA;AAAA,EAGjD,uBACC,OAuLE,OAvLF;AAAA,IACC,WAAU;AAAA,IACV,OAAO,EAAE,OAAO,WAAW;AAAA,IAF5B,UAuLE;AAAA,sBAnLD,MAAC,cAAD;AAAA,QACC,UAAU;AAAA,QACV,MAAK;AAAA,QACL,UAAU;AAAA,QACV,UAAU;AAAA,QACV,cAAc;AAAA,OACf;AAAA,sBACA,OA2KE,OA3KF;AAAA,QAAK,WAAU;AAAA,QAAf,UA2KE;AAAA,0BA1KD,OAQE,OARF;AAAA,YAAK,WAAU;AAAA,YAAf,UAQE;AAAA,8BAPD,OAGE,OAHF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAGE;AAAA,kCAFD,MAAC,WAAD;AAAA,oBAAU,WAAU;AAAA,mBAAU;AAAA,kCAC9B,MAAwC,QAAxC;AAAA,oBAAM,WAAU;AAAA,oBAAhB;AAAA,mBAAwC;AAAA;AAAA,eACvC;AAAA,8BACF,MAEE,QAFF;AAAA,gBAAQ,SAAQ;AAAA,gBAAQ,MAAK;AAAA,gBAAO,SAAS;AAAA,gBAA7C,0BACC,MAAC,gBAAD;AAAA,kBAAc,WAAU;AAAA,iBAAU;AAAA,eACjC;AAAA;AAAA,WACD;AAAA,0BAEF,OA+JE,OA/JF;AAAA,YAAK,WAAU;AAAA,YAAf,UA+JE;AAAA,8BA9JD,OAyBE,iBAzBF;AAAA,gBACC,OAAM;AAAA,gBACN,sBAAM,MAAC,KAAD;AAAA,kBAAK,WAAU;AAAA,iBAAgC;AAAA,gBAFtD,UAyBE;AAAA,kCArBD,MAAC,WAAD;AAAA,oBACC,OAAM;AAAA,oBACN,OAAO,SAAQ,UAAU,YAAY;AAAA,oBACrC,SAAS;AAAA,oBACT,UAAU;AAAA,oBACV,UAAU,eAAe;AAAA,mBAC1B;AAAA,kCACA,MAAC,WAAD;AAAA,oBACC,OAAM;AAAA,oBACN,OAAO,SAAQ,UAAU,SAAS;AAAA,oBAClC,SAAS;AAAA,oBACT,UAAU;AAAA,oBACV,UAAU,eAAe;AAAA,mBAC1B;AAAA,kCACA,MAAC,WAAD;AAAA,oBACC,OAAM;AAAA,oBACN,OAAO,SAAQ,UAAU,SAAS;AAAA,oBAClC,SAAS;AAAA,oBACT,UAAU;AAAA,oBACV,UAAU,eAAe;AAAA,mBAC1B;AAAA;AAAA,eACC;AAAA,8BAEF,OAoFE,iBApFF;AAAA,gBACC,OAAM;AAAA,gBACN,sBAAM,MAAC,OAAD;AAAA,kBAAM,WAAU;AAAA,iBAAgC;AAAA,gBAFvD,UAoFE;AAAA,kCAhFD,MAAC,WAAD;AAAA,oBACC,OAAM;AAAA,oBACN,SAAS,aAAY;AAAA,oBACrB,UAAU,CAAC,YAAY,kBAAkB,EAAE,SAAS,QAAQ,CAAC;AAAA,mBAC9D;AAAA,kCACA,MAAC,WAAD;AAAA,oBACC,OAAM;AAAA,oBACN,SAAS,aAAY;AAAA,oBACrB,UAAU,CAAC,YACV,kBAAkB,EAAE,eAAe,QAAQ,CAAC;AAAA,mBAE9C;AAAA,kCACA,MAAC,WAAD;AAAA,oBACC,OAAM;AAAA,oBACN,SAAS,aAAY;AAAA,oBACrB,UAAU,CAAC,YACV,kBAAkB,EAAE,kBAAkB,QAAQ,CAAC;AAAA,mBAEjD;AAAA,kCACA,MAAC,WAAD;AAAA,oBACC,OAAM;AAAA,oBACN,SAAS,SAAQ,UAAU,iBAAiB;AAAA,oBAC5C,UAAU,CAAC,YACV,eAAe,OAAO;AAAA,sBACrB,eAAe;AAAA,sBACf,OAAO;AAAA,oBACR,CAAC;AAAA,mBAEH;AAAA,kCACA,MAAC,WAAD;AAAA,oBACC,OAAM;AAAA,oBACN,OAAO,SAAQ,UAAU,kBAAkB;AAAA,oBAC3C,SAAS;AAAA,sBACR,EAAE,IAAI,WAAW,OAAO,UAAU;AAAA,sBAClC,EAAE,IAAI,OAAO,OAAO,MAAM;AAAA,sBAC1B,EAAE,IAAI,UAAU,OAAO,SAAS;AAAA,sBAChC,EAAE,IAAI,QAAQ,OAAO,OAAO;AAAA,sBAC5B,EAAE,IAAI,OAAO,OAAO,MAAM;AAAA,sBAC1B,EAAE,IAAI,SAAS,OAAO,aAAa;AAAA,oBACpC;AAAA,oBACA,UAAU,CAAC,UACV,eAAe,OAAO;AAAA,sBACrB,gBAAgB;AAAA,sBAOhB,OAAO;AAAA,oBACR,CAAC;AAAA,oBAEF,UAAU,eAAe;AAAA,mBAC1B;AAAA,kCACA,MAAC,WAAD;AAAA,oBACC,OAAM;AAAA,oBACN,OAAO,SAAQ,UAAU,gBAAgB;AAAA,oBACzC,SAAS;AAAA,sBACR,EAAE,IAAI,QAAQ,OAAO,qBAAqB;AAAA,sBAC1C,EAAE,IAAI,aAAa,OAAO,iBAAiB;AAAA,sBAC3C,EAAE,IAAI,OAAO,OAAO,YAAY;AAAA,oBACjC;AAAA,oBACA,UAAU,CAAC,UACV,eAAe,OAAO;AAAA,sBACrB,cAAc;AAAA,sBACd,OAAO;AAAA,oBACR,CAAC;AAAA,oBAEF,UAAU,eAAe;AAAA,mBAC1B;AAAA,kCACA,MAAC,WAAD;AAAA,oBACC,OAAM;AAAA,oBACN,SAAS,SAAQ,UAAU,cAAc;AAAA,oBACzC,UAAU,CAAC,YACV,eAAe,OAAO;AAAA,sBACrB,YAAY;AAAA,sBACZ,OAAO;AAAA,oBACR,CAAC;AAAA,mBAEH;AAAA;AAAA,eACC;AAAA,8BAEF,MA8BE,iBA9BF;AAAA,gBACC,OAAM;AAAA,gBACN,sBAAM,MAAC,KAAD;AAAA,kBAAK,WAAU;AAAA,iBAAgC;AAAA,gBACrD,wBACC,MAaE,UAbF;AAAA,kBACC,MAAK;AAAA,kBACL,SAAS,MAAM;AAAA,oBACd,gBAAgB,EAAE,KAAK,MAAM;AAAA,sBAC5B,QAAQ,QAAQ;AAAA,sBAChB,cAAc,IAAI;AAAA,sBAClB,kBAAkB,IAAI;AAAA,qBACtB;AAAA;AAAA,kBAEF,WAAU;AAAA,kBACV,OAAM;AAAA,kBAVP,0BAYC,MAAC,SAAD;AAAA,oBAAQ,WAAU;AAAA,mBAAoC;AAAA,iBACrD;AAAA,gBAjBJ,0BAoBC,MASE,OATF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UACE,SAAQ,WAAW,IAAI,CAAC,6BACxB,MAKE,QALF;AAAA,oBAEC,WAAU;AAAA,oBAFX,UAIE;AAAA,qBAHI,QAIJ,CACF,qBAAK,MAAsD,QAAtD;AAAA,oBAAM,WAAU;AAAA,oBAAhB;AAAA,mBAAsD;AAAA,iBAC3D;AAAA,eACD;AAAA,cAED,SAAQ,WAAW,SAAS,MAAM,qBAClC,MAAC,mBAAD;AAAA,gBACC;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,oBAAoB;AAAA,eACrB;AAAA,8BAGD,MAAC,gBAAD,EAAgB;AAAA;AAAA,WACf;AAAA;AAAA,OACD;AAAA;AAAA,GACD;AAAA,CAEH;AAED,SAAS,oBAAoB,GAAG;AAAA,EAC/B,MAAM,eAAe,aAAa,CAAC,MAAM,EAAE,YAAY;AAAA,EACvD,MAAM,OAAO,aAAa,CAAC,MAAM,EAAE,IAAI;AAAA,EAEvC,IAAI,CAAC,cAAc;AAAA,IAAQ,OAAO;AAAA,EAElC,MAAM,gBAAgB,CAAC,UAAkB;AAAA,IACxC,IAAI,SAAS;AAAA,MAAI,OAAO,KAAK,MAAM,KAAK,EAAE,SAAS;AAAA,IACnD,IAAI,SAAS;AAAA,MAAG,OAAO,MAAM,QAAQ,CAAC;AAAA,IACtC,OAAO,MAAM,QAAQ,CAAC;AAAA;AAAA,EAGvB,uBACC;AAAA,cAqCE;AAAA,sBApCD,MAAC,YAAD;AAAA,QAAY,OAAM;AAAA,QAAO,OAAO,aAAa,YAAY;AAAA,OAAM;AAAA,MAC9D,aAAa,oBAAoB,aACjC,aAAa,gBAAgB,6BAC5B,OAaE,OAbF;AAAA,QAAK,WAAU;AAAA,QAAf,UAaE;AAAA,0BAZD,MAAC,YAAD;AAAA,YACC,OAAM;AAAA,YACN,OAAO,GAAG,cAAc,aAAa,WAAW,OAAO,cAAc,aAAa,eAAe;AAAA,WAClG;AAAA,0BACA,MAOE,OAPF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAAC,OAAD;AAAA,cACC,WAAU;AAAA,cACV,OAAO;AAAA,gBACN,OAAO,GAAG,KAAK,IAAI,KAAM,aAAa,cAAc,aAAa,kBAAmB,GAAG;AAAA,cACxF;AAAA,aACD;AAAA,WACC;AAAA;AAAA,OACD;AAAA,MAEH,QAAQ,KAAK,wBAAwB,qBACrC,MAAC,YAAD;AAAA,QACC,OAAM;AAAA,QACN,OAAO,IAAI,KAAK,sBAAsB,QAAQ,CAAC;AAAA,OAChD;AAAA,MAEA,aAAa,6BACb,MAAC,YAAD;AAAA,QACC,OAAM;AAAA,QACN,OAAO,IAAI,KAAK,aAAa,SAAS,EACpC,mBAAmB,SAAS;AAAA,UAC5B,OAAO;AAAA,UACP,KAAK;AAAA,UACL,MAAM;AAAA,QACP,CAAC,EACA,QAAQ,KAAK,EAAE;AAAA,OAClB;AAAA;AAAA,GAEA;AAAA;AAkBJ,IAAM,oBAAoB,OAAK,SAAS,kBAAiB;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAC0B;AAAA,EAC1B,MAAM,wBAAwB,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,MAAM;AAAA,EAC1E,OAAO,QAAQ,aAAa,WAAS,KAAK;AAAA,EAC1C,OAAO,mBAAmB,wBAAwB,WAAS,KAAK;AAAA,EAChE,OAAO,kBAAkB,uBAAuB,WAAwB,IAAI;AAAA,EAC5E,OAAO,uBAAuB,4BAA4B,WAAS,KAAK;AAAA,EACxE,OAAO,uBAAuB,4BAA4B,WAExD,IAAI;AAAA,EACN,OAAO,kBAAkB,uBAAuB,WAAS,KAAK;AAAA,EAE9D,MAAM,aAAa,cAAY,YAAY;AAAA,IAC1C,IAAI,CAAC;AAAA,MAAY;AAAA,IACjB,MAAM,UAAU,UAAU,UAAU,UAAU;AAAA,IAC9C,UAAU,IAAI;AAAA,IACd,WAAW,MAAM,UAAU,KAAK,GAAG,IAAI;AAAA,KACrC,CAAC,UAAU,CAAC;AAAA,EAEf,MAAM,6BAA6B,YAAY;AAAA,IAC9C,qBAAqB,IAAI;AAAA,IACzB,oBAAoB,KAAK;AAAA,IACzB,oBAAoB,IAAI;AAAA,IACxB,yBAAyB,IAAI;AAAA,IAC7B,yBAAyB,IAAI;AAAA,IAC7B,IAAI;AAAA,MACH,MAAM,SAAS,MAAM,mBAAmB;AAAA,MACxC,oBAAoB,OAAO,UAAU;AAAA,MACpC,OAAO,KAAK;AAAA,MACb,yBACC,eAAe,QAAQ,IAAI,UAAU,8BACtC;AAAA,cACC;AAAA,MACD,yBAAyB,KAAK;AAAA;AAAA;AAAA,EAIhC,MAAM,8BAA8B,MAAM;AAAA,IACzC,IAAI;AAAA,MAAuB;AAAA,IAC3B,qBAAqB,KAAK;AAAA,IAC1B,oBAAoB,KAAK;AAAA,IACzB,oBAAoB,IAAI;AAAA,IACxB,yBAAyB,IAAI;AAAA;AAAA,EAG9B,MAAM,uBAAuB,YAAY;AAAA,IACxC,IAAI,CAAC;AAAA,MAAkB;AAAA,IACvB,MAAM,UAAU,UAAU,UAAU,gBAAgB;AAAA,IACpD,oBAAoB,IAAI;AAAA,IACxB,WAAW,MAAM,oBAAoB,KAAK,GAAG,IAAI;AAAA;AAAA,EAGlD,MAAM,iBAAiB,CAAC,YAA2B;AAAA,IAClD,IAAI,CAAC;AAAA,MAAS,OAAO;AAAA,IACrB,OAAO,GAAG,QAAQ,MAAM,GAAG,CAAC,OAAO,QAAQ,MAAM,EAAE;AAAA;AAAA,EAGpD,MAAM,gBAAgB,CAAC,YAA2B;AAAA,IACjD,IAAI,YAAY;AAAA,MAAM,OAAO;AAAA,IAC7B,OAAO,IAAI,QAAQ,QAAQ,CAAC;AAAA;AAAA,EAG7B,MAAM,oBAAoB,CAAC,YAA2B;AAAA,IACrD,IAAI,YAAY;AAAA,MAAM,OAAO;AAAA,IAC7B,OAAO,GAAG,QAAQ,QAAQ,CAAC;AAAA;AAAA,EAG5B,MAAM,WAAW,eAAe;AAAA,EAEhC,uBACC,OA4JE,iBA5JF;AAAA,IACC,OAAM;AAAA,IACN,sBAAM,MAAC,SAAD;AAAA,MAAQ,WAAU;AAAA,KAAgC;AAAA,IACxD,wBACC,MAUE,UAVF;AAAA,MACC,MAAK;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,MACV,WAAU;AAAA,MACV,OAAM;AAAA,MALP,0BAOC,MAAC,YAAD;AAAA,QACC,WAAW,qCAAqC,cAAc,iBAAiB;AAAA,OAChF;AAAA,KACC;AAAA,IAdJ,UA4JE;AAAA,MA3IA,2BACA;AAAA,kBAqCE;AAAA,0BApCD,MASE,OATF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAOE,OAPF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACC,MAAC,WAAD;AAAA,gBACC,OAAO;AAAA,gBACP,MAAM;AAAA,gBACN,OAAM;AAAA,gBACN,eAAe;AAAA,eAChB;AAAA,aACC;AAAA,WACD;AAAA,0BACF,OAeE,OAfF;AAAA,YAAK,WAAU;AAAA,YAAf,UAeE;AAAA,8BAdD,MAAiD,QAAjD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAiD;AAAA,8BACjD,OAYE,UAZF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,WAAU;AAAA,gBACV,OAAM;AAAA,gBAJP,UAYE;AAAA,kBANA,eAAe,UAAU;AAAA,kBACzB,yBACA,MAAC,SAAD;AAAA,oBAAO,WAAU;AAAA,mBAAyB,oBAE1C,MAAC,OAAD;AAAA,oBAAM,WAAU;AAAA,mBAAgC;AAAA;AAAA,eAEhD;AAAA;AAAA,WACD;AAAA,0BACF,MAAC,sBAAD,EAAsB;AAAA,UACrB,CAAC,yCACD;AAAA,sBAME;AAAA,8BALD,MAAC,YAAD;AAAA,gBAAY,OAAM;AAAA,gBAAU,OAAO,cAAc,WAAW;AAAA,eAAG;AAAA,8BAC/D,MAAC,YAAD;AAAA,gBACC,OAAM;AAAA,gBACN,OAAO,kBAAkB,eAAe;AAAA,eACzC;AAAA;AAAA,WACC;AAAA;AAAA,OAEF,oBAEF;AAAA,kBAgBE;AAAA,0BAfD,MAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAAC,OAAD;AAAA,cAAK,WAAU;AAAA,aAAwD;AAAA,WACtE;AAAA,0BACF,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFD,MAAiD,QAAjD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAiD;AAAA,8BACjD,MAAC,OAAD;AAAA,gBAAK,WAAU;AAAA,eAA0C;AAAA;AAAA,WACxD;AAAA,0BACF,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFD,MAAiD,QAAjD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAiD;AAAA,8BACjD,MAAC,OAAD;AAAA,gBAAK,WAAU;AAAA,eAA0C;AAAA;AAAA,WACxD;AAAA,0BACF,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFD,MAA8C,QAA9C;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAA8C;AAAA,8BAC9C,MAAC,OAAD;AAAA,gBAAK,WAAU;AAAA,eAA0C;AAAA;AAAA,WACxD;AAAA;AAAA,OACD;AAAA,sBAEH,OAQE,QARF;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,SAAS;AAAA,QACT,WAAU;AAAA,QAJX,UAQE;AAAA,0BAFD,MAAC,OAAD;AAAA,YAAM,WAAU;AAAA,WAAU;AAAA,UAN3B;AAAA;AAAA,OAQE;AAAA,sBACF,OAQE,QARF;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,SAAS;AAAA,QACT,WAAU;AAAA,QAJX,UAQE;AAAA,0BAFD,MAAC,KAAD;AAAA,YAAK,WAAU;AAAA,WAAU;AAAA,UAN1B;AAAA;AAAA,OAQE;AAAA,MAED,qCACA,MA2DE,OA3DF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,OAyDE,OAzDF;AAAA,UAAK,WAAU;AAAA,UAAf,UAyDE;AAAA,4BAxDD,OAGE,OAHF;AAAA,cAAK,WAAU;AAAA,cAAf,UAGE;AAAA,gCAFD,MAAC,KAAD;AAAA,kBAAK,WAAU;AAAA,iBAAgC;AAAA,gCAC/C,MAA+D,MAA/D;AAAA,kBAAI,WAAU;AAAA,kBAAd;AAAA,iBAA+D;AAAA;AAAA,aAC9D;AAAA,4BACF,OAmDE,OAnDF;AAAA,cAAK,WAAU;AAAA,cAAf,UAmDE;AAAA,gCAlDD,MAGE,KAHF;AAAA,kBAAG,WAAU;AAAA,kBAAb;AAAA,iBAGE;AAAA,gBAED,yCACA,OAGE,OAHF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAGE;AAAA,oCAFD,MAAC,WAAD;AAAA,sBAAS,WAAU;AAAA,qBAAuB;AAAA,oBAD3C;AAAA;AAAA,iBAGE;AAAA,gBAGF,CAAC,yBAAyB,oCAC1B,OAmBE,OAnBF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAmBE;AAAA,oCAlBD,MAAC,YAAD;AAAA,sBACC,UAAQ;AAAA,sBACR,OAAO;AAAA,sBACP,WAAU;AAAA,qBACX;AAAA,oCACA,OAYE,QAZF;AAAA,sBACC,SAAQ;AAAA,sBACR,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,WAAU;AAAA,sBAJX,UAYE;AAAA,wBANA,mCACA,MAAC,SAAD;AAAA,0BAAO,WAAU;AAAA,yBAAyB,oBAE1C,MAAC,OAAD;AAAA,0BAAM,WAAU;AAAA,yBAAU;AAAA,wBAE1B,mBAAmB,WAAW;AAAA;AAAA,qBAC9B;AAAA;AAAA,iBACD;AAAA,gBAGF,CAAC,yBAAyB,yCAC1B,MAEE,KAFF;AAAA,kBAAG,WAAU;AAAA,kBAAb,UACE;AAAA,iBACA;AAAA,gCAEH,MASE,OATF;AAAA,kBAAK,WAAU;AAAA,kBAAf,0BACC,MAOE,UAPF;AAAA,oBACC,MAAK;AAAA,oBACL,SAAS;AAAA,oBACT,UAAU;AAAA,oBACV,WAAU;AAAA,oBAJX;AAAA,mBAOE;AAAA,iBACD;AAAA;AAAA,aACD;AAAA;AAAA,SACD;AAAA,OACD;AAAA;AAAA,GAEF;AAAA,CAEH;;AK1uBD,iBAAS;AACT,qBAAS;;AAGF,IAAM,wBAAwB,OAAK,SAAS,sBAAqB,GAAG;AAAA,EAC1E,MAAM,aAAa,iBAAiB,CAAC,UAAU,MAAM,UAAU;AAAA,EAC/D,MAAM,gBAAgB,iBAAiB,CAAC,UAAU,MAAM,aAAa;AAAA,EAErE,uBACC,MAWE,UAXF;AAAA,IACC,MAAK;AAAA,IACL,SAAS;AAAA,IACT,WAAW,yGACV,aACG,4BACA;AAAA,IAEJ,OAAM;AAAA,IARP,0BAUC,MAAC,WAAD;AAAA,MAAU,WAAU;AAAA,KAAwC;AAAA,GAC3D;AAAA,CAEH;;ACtBD,iBAAS,oBAAM;AACf;AAAA,WACC;AAAA,kBACA;AAAA,aACA;AAAA,iBACA;AAAA,UACA;AAAA,WACA;AAAA,kBACA;AAAA,WACA;AAAA;AAED,sBAAS;;;ACXT,qBAAS,2BAAU,gCAAa;AAChC,sBAAS,4BAAW,yBAAa;AA0BjC,eAAe,iBAAiB,GAAkC;AAAA,EACjE,MAAM,WAAW,MAAM,MAAM,GAAG,+BAA+B;AAAA,EAC/D,IAAI,CAAC,SAAS,IAAI;AAAA,IACjB,MAAM,IAAI,MAAM,+BAA+B;AAAA,EAChD;AAAA,EACA,OAAO,SAAS,KAAK;AAAA;AAGtB,eAAe,WAAW,GAAiC;AAAA,EAE1D,MAAM,WAAW,MAAM,MAAM,GAAG,gCAAgC;AAAA,IAC/D,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,IAC9C,MAAM,KAAK,UAAU,CAAC,CAAC;AAAA,EACxB,CAAC;AAAA,EACD,OAAO,SAAS,KAAK;AAAA;AAGtB,eAAe,UAAU,GAItB;AAAA,EACF,MAAM,WAAW,MAAM,MAAM,GAAG,+BAA+B;AAAA,IAC9D,QAAQ;AAAA,EACT,CAAC;AAAA,EACD,OAAO,SAAS,KAAK;AAAA;AAGtB,eAAe,aAAa,GAA8B;AAAA,EACzD,MAAM,WAAW,MAAM,MAAM,GAAG,2BAA2B;AAAA,EAC3D,OAAO,SAAS,KAAK;AAAA;AAGf,SAAS,eAAe,GAAG;AAAA,EACjC,MAAM,YAAY,eAAe,CAAC,MAAM,EAAE,SAAS;AAAA,EACnD,MAAM,SAAS,eAAe,CAAC,MAAM,EAAE,MAAM;AAAA,EAC7C,MAAM,WAAW,eAAe,CAAC,MAAM,EAAE,QAAQ;AAAA,EAEjD,MAAM,QAAQ,WAA+B;AAAA,IAC5C,UAAU,CAAC,UAAU,QAAQ;AAAA,IAC7B,SAAS;AAAA,IACT,iBAAiB;AAAA,EAClB,CAAC;AAAA,EAED,YAAU,MAAM;AAAA,IACf,IAAI,MAAM,MAAM;AAAA,MACf,UAAU,MAAM,KAAK,MAAM;AAAA,MAC3B,OAAO,MAAM,KAAK,GAAG;AAAA,MACrB,SAAS,MAAM,KAAK,KAAK;AAAA,IAC1B;AAAA,KACE,CAAC,MAAM,MAAM,WAAW,QAAQ,QAAQ,CAAC;AAAA,EAE5C,OAAO;AAAA;AAGD,SAAS,cAAc,GAAG;AAAA,EAChC,MAAM,cAAc,iBAAe;AAAA,EACnC,MAAM,YAAY,eAAe,CAAC,MAAM,EAAE,SAAS;AAAA,EACnD,MAAM,SAAS,eAAe,CAAC,MAAM,EAAE,MAAM;AAAA,EAC7C,MAAM,WAAW,eAAe,CAAC,MAAM,EAAE,QAAQ;AAAA,EACjD,MAAM,cAAc,eAAe,CAAC,MAAM,EAAE,WAAW;AAAA,EAEvD,OAAO,aAA8C;AAAA,IACpD,YAAY,MAAM,YAAY;AAAA,IAC9B,UAAU,MAAM;AAAA,MACf,UAAU,UAAU;AAAA,MACpB,YAAY,eAAe;AAAA,MAC3B,SAAS,IAAI;AAAA;AAAA,IAEd,WAAW,CAAC,SAAS;AAAA,MACpB,IAAI,KAAK,MAAM,KAAK,KAAK;AAAA,QACxB,UAAU,WAAW;AAAA,QACrB,OAAO,KAAK,GAAG;AAAA,QACf,YAAY,IAAI;AAAA,MACjB,EAAO,SAAI,CAAC,KAAK,IAAI;AAAA,QACpB,UAAU,OAAO;AAAA,QACjB,SAAS,KAAK,SAAS,wBAAwB;AAAA,QAC/C,YAAY,IAAI;AAAA,MACjB;AAAA,MACA,YAAY,kBAAkB,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAAA;AAAA,IAEvD,SAAS,CAAC,UAAU;AAAA,MACnB,UAAU,OAAO;AAAA,MACjB,SAAS,MAAM,OAAO;AAAA,MACtB,YAAY,IAAI;AAAA;AAAA,EAElB,CAAC;AAAA;AAGK,SAAS,aAAa,GAAG;AAAA,EAC/B,MAAM,cAAc,iBAAe;AAAA,EACnC,MAAM,QAAQ,eAAe,CAAC,MAAM,EAAE,KAAK;AAAA,EAE3C,OAAO,aAAY;AAAA,IAClB,YAAY;AAAA,IACZ,WAAW,MAAM;AAAA,MAChB,MAAM;AAAA,MACN,YAAY,kBAAkB,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAAA;AAAA,EAExD,CAAC;AAAA;AAGK,SAAS,WAAW,GAAG;AAAA,EAC7B,MAAM,MAAM,eAAe,CAAC,MAAM,EAAE,GAAG;AAAA,EACvC,MAAM,YAAY,eAAe,CAAC,MAAM,EAAE,SAAS;AAAA,EAEnD,MAAM,QAAQ,WAA2B;AAAA,IACxC,UAAU,CAAC,UAAU,MAAM,GAAG;AAAA,IAC9B,SAAS;AAAA,IACT,SAAS,CAAC,CAAC;AAAA,EACZ,CAAC;AAAA,EAED,YAAU,MAAM;AAAA,IACf,IAAI,MAAM,MAAM,MAAM,MAAM,KAAK,QAAQ;AAAA,MACxC,UAAU,MAAM,KAAK,MAAM;AAAA,IAC5B;AAAA,KACE,CAAC,MAAM,MAAM,SAAS,CAAC;AAAA,EAE1B,OAAO;AAAA;AAGD,SAAS,eAAe,GAAG;AAAA,EACjC,MAAM,YAAY,eAAe,CAAC,MAAM,EAAE,SAAS;AAAA,EACnD,MAAM,SAAS,eAAe,CAAC,MAAM,EAAE,MAAM;AAAA,EAC7C,MAAM,WAAW,eAAe,CAAC,MAAM,EAAE,QAAQ;AAAA,EACjD,MAAM,cAAc,eAAe,CAAC,MAAM,EAAE,WAAW;AAAA,EACvD,MAAM,aAAa,eAAe,CAAC,MAAM,EAAE,UAAU;AAAA,EACrD,MAAM,iBAAiB,SAA2B,IAAI;AAAA,EAEtD,MAAM,UAAU,cAAY,MAAM;AAAA,IACjC,IAAI,eAAe,SAAS;AAAA,MAC3B,eAAe,QAAQ,MAAM;AAAA,IAC9B;AAAA,IAEA,MAAM,KAAK,IAAI,YAAY,GAAG,+BAA+B;AAAA,IAC7D,eAAe,UAAU;AAAA,IAEzB,GAAG,YAAY,CAAC,UAAU;AAAA,MACzB,IAAI;AAAA,QACH,MAAM,OAAO,KAAK,MAAM,MAAM,IAAI;AAAA,QAClC,IAAI,KAAK,SAAS,UAAU;AAAA,UAC3B,UAAU,KAAK,MAAM;AAAA,UACrB,OAAO,KAAK,GAAG;AAAA,UACf,SAAS,KAAK,KAAK;AAAA,UACnB,YAAY,KAAK,QAAQ;AAAA,QAC1B;AAAA,QACC,MAAM;AAAA;AAAA,IAKT,GAAG,UAAU,MAAM;AAAA,MAClB,GAAG,MAAM;AAAA,MACT,eAAe,UAAU;AAAA;AAAA,IAG1B,OAAO,MAAM;AAAA,MACZ,GAAG,MAAM;AAAA,MACT,eAAe,UAAU;AAAA;AAAA,KAExB,CAAC,WAAW,QAAQ,UAAU,WAAW,CAAC;AAAA,EAE7C,YAAU,MAAM;AAAA,IACf,IAAI,YAAY;AAAA,MACf,MAAM,UAAU,QAAQ;AAAA,MACxB,OAAO;AAAA,IACR;AAAA,IACA,OAAO,MAAM;AAAA,MACZ,IAAI,eAAe,SAAS;AAAA,QAC3B,eAAe,QAAQ,MAAM;AAAA,QAC7B,eAAe,UAAU;AAAA,MAC1B;AAAA;AAAA,KAEC,CAAC,YAAY,OAAO,CAAC;AAAA,EAExB,OAAO,EAAE,QAAQ;AAAA;;;;ADrLlB,SAAS,WAAW,CAAC,KAAqB;AAAA,EACzC,IAAI;AAAA,IACH,MAAM,SAAS,IAAI,IAAI,GAAG;AAAA,IAC1B,MAAM,OAAO,OAAO;AAAA,IACpB,IAAI,KAAK,SAAS,IAAI;AAAA,MACrB,OAAO,GAAG,KAAK,MAAM,GAAG,EAAE,OAAO,KAAK,MAAM,EAAE;AAAA,IAC/C;AAAA,IACA,OAAO;AAAA,IACN,MAAM;AAAA,IACP,OAAO,IAAI,SAAS,KAAK,GAAG,IAAI,MAAM,GAAG,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM;AAAA;AAAA;AAI/D,IAAM,gBAAgB,OAAK,SAAS,cAAa,GAAG;AAAA,EAC1D,MAAM,aAAa,eAAe,CAAC,MAAM,EAAE,UAAU;AAAA,EACrD,MAAM,kBAAkB,eAAe,CAAC,MAAM,EAAE,eAAe;AAAA,EAC/D,MAAM,SAAS,eAAe,CAAC,MAAM,EAAE,MAAM;AAAA,EAC7C,MAAM,MAAM,eAAe,CAAC,MAAM,EAAE,GAAG;AAAA,EACvC,MAAM,QAAQ,eAAe,CAAC,MAAM,EAAE,KAAK;AAAA,EAC3C,MAAM,WAAW,eAAe,CAAC,MAAM,EAAE,QAAQ;AAAA,EAEjD,MAAM,eAAc,eAAe;AAAA,EACnC,MAAM,cAAa,cAAc;AAAA,EACjC,OAAO,QAAQ,aAAa,WAAS,KAAK;AAAA,EAE1C,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAEhB,MAAM,gBAAgB,YAAY;AAAA,IACjC,IAAI,KAAK;AAAA,MACR,MAAM,UAAU,UAAU,UAAU,GAAG;AAAA,MACvC,UAAU,IAAI;AAAA,MACd,WAAW,MAAM,UAAU,KAAK,GAAG,IAAI;AAAA,IACxC;AAAA;AAAA,EAGD,MAAM,cAAc,MAAM;AAAA,IACzB,aAAY,OAAO;AAAA;AAAA,EAGpB,MAAM,aAAa,MAAM;AAAA,IACxB,YAAW,OAAO;AAAA;AAAA,EAGnB,IAAI,CAAC;AAAA,IAAY,OAAO;AAAA,EAExB,uBACC,OAqJE,OArJF;AAAA,IAAK,WAAU;AAAA,IAAf,UAqJE;AAAA,sBApJD,OAaE,OAbF;AAAA,QAAK,WAAU;AAAA,QAAf,UAaE;AAAA,0BAZD,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFD,MAAC,QAAD;AAAA,gBAAO,WAAU;AAAA,eAAgC;AAAA,8BACjD,MAAqD,QAArD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAqD;AAAA;AAAA,WACpD;AAAA,0BACF,MAOE,QAPF;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS;AAAA,YACT,OAAM;AAAA,YAJP,0BAMC,MAAC,gBAAD;AAAA,cAAc,WAAU;AAAA,aAAU;AAAA,WACjC;AAAA;AAAA,OACD;AAAA,sBAEF,OAoIE,OApIF;AAAA,QAAK,WAAU;AAAA,QAAf,UAoIE;AAAA,UAnIA,WAAW,0BACX,OAeE,OAfF;AAAA,YAAK,WAAU;AAAA,YAAf,UAeE;AAAA,8BAdD,MAAC,QAAD;AAAA,gBAAO,WAAU;AAAA,eAA0C;AAAA,8BAC3D,MAA+D,MAA/D;AAAA,gBAAI,WAAU;AAAA,gBAAd;AAAA,eAA+D;AAAA,8BAC/D,MAGE,KAHF;AAAA,gBAAG,WAAU;AAAA,gBAAb;AAAA,eAGE;AAAA,8BACF,MAOE,UAPF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,UAAU,aAAY;AAAA,gBACtB,WAAU;AAAA,gBAJX,UAME,aAAY,YAAY,gBAAgB;AAAA,eACxC;AAAA;AAAA,WACD;AAAA,UAGF,WAAW,8BACX,OAQE,OARF;AAAA,YAAK,WAAU;AAAA,YAAf,UAQE;AAAA,8BAPD,MAAC,WAAD;AAAA,gBAAS,WAAU;AAAA,eAAyC;AAAA,8BAC5D,MAAwD,MAAxD;AAAA,gBAAI,WAAU;AAAA,gBAAd;AAAA,eAAwD;AAAA,cACvD,4BACA,MAEE,KAFF;AAAA,gBAAG,WAAU;AAAA,gBAAb,UACE;AAAA,eACA;AAAA;AAAA,WAEF;AAAA,UAGF,WAAW,eAAe,uBAC1B,OAyDE,OAzDF;AAAA,YAAK,WAAU;AAAA,YAAf,UAyDE;AAAA,8BAxDD,OAKE,OALF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAKE;AAAA,kCAJD,MAAC,OAAD;AAAA,oBAAK,WAAU;AAAA,mBAAkD;AAAA,kCACjE,MAEE,QAFF;AAAA,oBAAM,WAAU;AAAA,oBAAhB;AAAA,mBAEE;AAAA;AAAA,eACD;AAAA,8BAEF,MASE,OATF;AAAA,gBAAK,WAAU;AAAA,gBAAf,0BACC,MAOE,OAPF;AAAA,kBAAK,WAAU;AAAA,kBAAf,0BACC,MAAC,YAAD;AAAA,oBACC,OAAO;AAAA,oBACP,MAAM;AAAA,oBACN,OAAM;AAAA,oBACN,eAAe;AAAA,mBAChB;AAAA,iBACC;AAAA,eACD;AAAA,8BAEF,MAEE,KAFF;AAAA,gBAAG,WAAU;AAAA,gBAAb;AAAA,eAEE;AAAA,8BAEF,OAeE,OAfF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAeE;AAAA,kCAdD,MAA6C,QAA7C;AAAA,oBAAM,WAAU;AAAA,oBAAhB;AAAA,mBAA6C;AAAA,kCAC7C,OAYE,UAZF;AAAA,oBACC,MAAK;AAAA,oBACL,SAAS;AAAA,oBACT,WAAU;AAAA,oBACV,OAAM;AAAA,oBAJP,UAYE;AAAA,sBANA,YAAY,GAAG;AAAA,sBACf,yBACA,MAAC,SAAD;AAAA,wBAAO,WAAU;AAAA,uBAAyB,oBAE1C,MAAC,OAAD;AAAA,wBAAM,WAAU;AAAA,uBAAgC;AAAA;AAAA,mBAEhD;AAAA;AAAA,eACD;AAAA,8BAEF,OAOE,UAPF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS,MAAM,QAAQ,GAAG;AAAA,gBAC1B,WAAU;AAAA,gBAHX,UAOE;AAAA,kCAFD,MAAC,eAAD;AAAA,oBAAc,WAAU;AAAA,mBAAc;AAAA,kBALvC;AAAA;AAAA,eAOE;AAAA,8BAEF,MAOE,UAPF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,UAAU,YAAW;AAAA,gBACrB,WAAU;AAAA,gBAJX,UAME,YAAW,YAAY,gBAAgB;AAAA,eACvC;AAAA;AAAA,WACD;AAAA,UAGF,WAAW,2BACX,OAoCE,OApCF;AAAA,YAAK,WAAU;AAAA,YAAf,UAoCE;AAAA,cAnCA,OAAO,SAAS,cAAc,oBAC9B;AAAA,0BAOE;AAAA,kCAND,MAAC,QAAD;AAAA,oBAAO,WAAU;AAAA,mBAA+B;AAAA,kCAChD,MAAuD,MAAvD;AAAA,oBAAI,WAAU;AAAA,oBAAd;AAAA,mBAAuD;AAAA,kCACvD,MAGE,KAHF;AAAA,oBAAG,WAAU;AAAA,oBAAb;AAAA,mBAGE;AAAA;AAAA,eACD,oBAEF;AAAA,0BAME;AAAA,kCALD,MAAC,eAAD;AAAA,oBAAa,WAAU;AAAA,mBAAgC;AAAA,kCACvD,MAA4D,MAA5D;AAAA,oBAAI,WAAU;AAAA,oBAAd;AAAA,mBAA4D;AAAA,kCAC5D,MAEE,KAFF;AAAA,oBAAG,WAAU;AAAA,oBAAb,UACE,SAAS;AAAA,mBACT;AAAA;AAAA,eACD;AAAA,8BAEH,MAgBE,UAhBF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,UACC,aAAY,aAAa,OAAO,SAAS,cAAc;AAAA,gBAExD,WAAU;AAAA,gBACV,OACC,OAAO,SAAS,cAAc,IAC3B,sBACA;AAAA,gBAVL,UAaE,OAAO,SAAS,cAAc,IAC5B,qBACA;AAAA,eACF;AAAA;AAAA,WACD;AAAA;AAAA,OAEF;AAAA;AAAA,GACD;AAAA,CAEH;;AE5ND,iBAAS;AACT,kBAAS;;AAGF,IAAM,sBAAsB,OAAK,SAAS,oBAAmB,GAAG;AAAA,EACtE,MAAM,aAAa,eAAe,CAAC,UAAU,MAAM,UAAU;AAAA,EAC7D,MAAM,gBAAgB,eAAe,CAAC,UAAU,MAAM,aAAa;AAAA,EACnE,MAAM,SAAS,eAAe,CAAC,UAAU,MAAM,MAAM;AAAA,EAErD,MAAM,cAAc,WAAW;AAAA,EAE/B,uBACC,OAcE,UAdF;AAAA,IACC,MAAK;AAAA,IACL,SAAS;AAAA,IACT,WAAW,yGACV,aACG,4BACA;AAAA,IAEJ,OAAM;AAAA,IARP,UAcE;AAAA,sBAJD,MAAC,QAAD;AAAA,QAAO,WAAU;AAAA,OAAwC;AAAA,MACxD,+BACA,MAAC,QAAD;AAAA,QAAM,WAAU;AAAA,OAAyE;AAAA;AAAA,GAEzF;AAAA,CAEH;;AC5BD,iBAAS,oBAAM,2BAAU,0BAAa,wBAAS,uBAAW;AAC1D;AAAA,iBACC;AAAA,kBACA;AAAA;AAAA,kBAEA;AAAA,eACA;AAAA,WACA;AAAA,YACA;AAAA,aACA;AAAA;AAAA,UAEA;AAAA,UACA;AAAA,YACA;AAAA;AAAA;AAMD,2BAAS;;;ACnBT,qBAAS,2BAAU,iCAAa;AAEhC,sBAAS,uBAAW,yBAAQ;AAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBO,SAAS,aAAa,GAAG;AAAA,EAC/B,MAAM,aAAa,YAAY,CAAC,MAAM,EAAE,UAAU;AAAA,EAElD,MAAM,QAAQ,WAAS;AAAA,IACtB,UAAU,CAAC,OAAO,SAAS;AAAA,IAC3B,SAAS,YAAY;AAAA,MACpB,QAAQ,SAAS,MAAM,eAAe;AAAA,MACtC,OAAO;AAAA;AAAA,IAER,iBAAiB;AAAA,EAClB,CAAC;AAAA,EAED,YAAU,MAAM;AAAA,IACf,IAAI,MAAM,MAAM,SAAS;AAAA,MACxB,WAAW,MAAM,KAAK,OAAO;AAAA,IAC9B;AAAA,KACE,CAAC,MAAM,MAAM,UAAU,CAAC;AAAA,EAE3B,OAAO;AAAA;AAGD,SAAS,iBAAiB,GAAG;AAAA,EACnC,MAAM,cAAc,iBAAe;AAAA,EAEnC,OAAO,cAAY;AAAA,IAClB,YAAY,OAAO,SAAiB;AAAA,MACnC,QAAQ,MAAM,UAAU,MAAM,eAAe;AAAA,QAC5C,MAAM,EAAE,KAAK;AAAA,MACd,CAAC;AAAA,MACD,IAAI;AAAA,QAAO,MAAM,IAAI,MAAM,wBAAwB;AAAA,MACnD,MAAM,SAAS;AAAA,MAaf,IAAI,CAAC,OAAO;AAAA,QAAI,MAAM,IAAI,MAAM,OAAO,SAAS,wBAAwB;AAAA,MACxE,OAAO;AAAA;AAAA,IAER,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,SAAS,EAAE,CAAC;AAAA;AAAA,EAEhE,CAAC;AAAA;AAGK,SAAS,gBAAgB,GAAG;AAAA,EAClC,MAAM,cAAc,iBAAe;AAAA,EACnC,MAAM,aAAa,YAAY,CAAC,MAAM,EAAE,UAAU;AAAA,EAElD,OAAO,cAAY;AAAA,IAClB,YAAY,OAAO,SAAiB;AAAA,MACnC,WAAW,MAAM,IAAI;AAAA,MACrB,QAAQ,MAAM,UAAU,MAAM,cAAc;AAAA,QAC3C,MAAM,EAAE,KAAK;AAAA,MACd,CAAC;AAAA,MACD,IAAI;AAAA,QAAO,MAAM,IAAI,MAAM,uBAAuB;AAAA,MAClD,MAAM,SAAS;AAAA,MACf,IAAI,CAAC,OAAO;AAAA,QAAI,MAAM,IAAI,MAAM,OAAO,SAAS,uBAAuB;AAAA,MACvE,OAAO;AAAA;AAAA,IAER,WAAW,CAAC,OAAO,QAAQ,SAAS;AAAA,MACnC,WAAW,MAAM,KAAK;AAAA,MACtB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,SAAS,EAAE,CAAC;AAAA;AAAA,EAEhE,CAAC;AAAA;AAeK,SAAS,eAAe,GAAG;AAAA,EACjC,MAAM,cAAc,iBAAe;AAAA,EAEnC,OAAO,cAAY;AAAA,IAClB,YAAY,OAAO,WAA+B;AAAA,MACjD,QAAQ,MAAM,UAAU,MAAM,aAAa;AAAA,QAC1C,MAAM;AAAA,MACP,CAAC;AAAA,MACD,IAAI;AAAA,QAAO,MAAM,IAAI,MAAM,0BAA0B;AAAA,MACrD,MAAM,SAAS;AAAA,MACf,IAAI,CAAC,OAAO;AAAA,QACX,MAAM,IAAI,MAAM,OAAO,SAAS,0BAA0B;AAAA,MAC3D,OAAO;AAAA;AAAA,IAER,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,SAAS,EAAE,CAAC;AAAA;AAAA,EAEhE,CAAC;AAAA;AAGK,SAAS,kBAAkB,GAAG;AAAA,EACpC,MAAM,cAAc,iBAAe;AAAA,EAEnC,OAAO,cAAY;AAAA,IAClB,YAAY,OAAO,SAAiB;AAAA,MACnC,QAAQ,MAAM,UAAU,MAAM,gBAAgB;AAAA,QAC7C,MAAM,EAAE,KAAK;AAAA,MACd,CAAC;AAAA,MACD,IAAI;AAAA,QAAO,MAAM,IAAI,MAAM,6BAA6B;AAAA,MACxD,MAAM,SAAS;AAAA,MACf,IAAI,CAAC,OAAO;AAAA,QACX,MAAM,IAAI,MAAM,OAAO,SAAS,6BAA6B;AAAA,MAC9D,OAAO;AAAA;AAAA,IAER,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,SAAS,EAAE,CAAC;AAAA;AAAA,EAEhE,CAAC;AAAA;AAGK,SAAS,wBAAwB,GAAG;AAAA,EAC1C,MAAM,cAAc,iBAAe;AAAA,EAEnC,OAAO,cAAY;AAAA,IAClB,YAAY,OAAO,SAAiB;AAAA,MACnC,QAAQ,MAAM,UAAU,MAAM,gBAAgB;AAAA,QAC7C,MAAM,EAAE,KAAK;AAAA,MACd,CAAC;AAAA,MACD,IAAI;AAAA,QAAO,MAAM,IAAI,MAAM,yBAAyB;AAAA,MACpD,MAAM,SAAS;AAAA,MAYf,IAAI,CAAC,OAAO;AAAA,QACX,MAAM,IAAI,MAAM,OAAO,SAAS,yBAAyB;AAAA,MAC1D,OAAO;AAAA;AAAA,IAER,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,SAAS,EAAE,CAAC;AAAA;AAAA,EAEhE,CAAC;AAAA;AAGK,SAAS,gBAAgB,GAAG;AAAA,EAClC,MAAM,cAAc,iBAAe;AAAA,EAEnC,OAAO,cAAY;AAAA,IAClB,YAAY,OAAO,SAAiB;AAAA,MACnC,QAAQ,MAAM,UAAU,MAAM,cAAc;AAAA,QAC3C,MAAM,EAAE,KAAK;AAAA,MACd,CAAC;AAAA,MACD,IAAI;AAAA,QAAO,MAAM,IAAI,MAAM,uBAAuB;AAAA,MAClD,MAAM,SAAS;AAAA,MACf,IAAI,CAAC,OAAO;AAAA,QAAI,MAAM,IAAI,MAAM,OAAO,SAAS,uBAAuB;AAAA,MACvE,OAAO;AAAA;AAAA,IAER,WAAW,MAAM;AAAA,MAChB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,SAAS,EAAE,CAAC;AAAA;AAAA,EAEhE,CAAC;AAAA;AAGK,SAAS,gBAAgB,CAAC,MAAqB;AAAA,EACrD,OAAO,WAAS;AAAA,IACf,UAAU,CAAC,OAAO,QAAQ,IAAI;AAAA,IAC9B,SAAS,YAAY;AAAA,MACpB,IAAI,CAAC;AAAA,QAAM,OAAO,EAAE,eAAe,MAAM;AAAA,MACzC,QAAQ,SAAS,MAAM,iBAAiB;AAAA,QACvC,MAAM,EAAE,KAAK;AAAA,MACd,CAAC;AAAA,MACD,OAAO;AAAA;AAAA,IAKR,SAAS,CAAC,CAAC;AAAA,IACX,iBAAiB;AAAA,EAClB,CAAC;AAAA;AAGK,SAAS,sBAAsB,GAAG;AAAA,EACxC,MAAM,gBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa;AAAA,EACxD,MAAM,mBAAmB,YAAY,CAAC,MAAM,EAAE,gBAAgB;AAAA,EAC9D,MAAM,aAAa,YAAY,CAAC,MAAM,EAAE,UAAU;AAAA,EAClD,MAAM,cAAc,iBAAe;AAAA,EACnC,MAAM,WAAW,SAA8C,IAAI;AAAA,EAEnE,MAAM,cAAc,cAAY,MAAM;AAAA,IACrC,IAAI,SAAS,SAAS;AAAA,MACrB,cAAc,SAAS,OAAO;AAAA,MAC9B,SAAS,UAAU;AAAA,IACpB;AAAA,KACE,CAAC,CAAC;AAAA,EAEL,YAAU,MAAM;AAAA,IACf,IAAI,CAAC,eAAe;AAAA,MACnB,YAAY;AAAA,MACZ;AAAA,IACD;AAAA,IAEA,QAAQ,WAAW,YAAY,aAAa;AAAA,IAC5C,MAAM,UAAU,YAAY,KAAK,OAAO;AAAA,IAExC,SAAS,UAAU,YAAY,YAAY;AAAA,MAC1C,IAAI;AAAA,QACH,QAAQ,SAAS,MAAM,gBAAgB;AAAA,UACtC,MAAM,EAAE,MAAM,WAAW;AAAA,UACzB,MAAM,EAAE,UAAU;AAAA,QACnB,CAAC;AAAA,QAED,MAAM,SAAS;AAAA,QAMf,IAAI,QAAQ,WAAW,YAAY;AAAA,UAClC,YAAY;AAAA,UACZ,iBAAiB,IAAI;AAAA,UACrB,WAAW,YAAY,KAAK;AAAA,UAC5B,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,SAAS,EAAE,CAAC;AAAA,QAC/D,EAAO,SAAI,QAAQ,WAAW,SAAS;AAAA,UACtC,YAAY;AAAA,UACZ,iBAAiB,IAAI;AAAA,UACrB,WAAW,YAAY,KAAK;AAAA,QAC7B;AAAA,QACC,MAAM;AAAA,QACP,YAAY;AAAA,QACZ,iBAAiB,IAAI;AAAA,QACrB,WAAW,YAAY,KAAK;AAAA;AAAA,OAE3B,MAAM;AAAA,IAET,OAAO;AAAA,KACL,CAAC,eAAe,kBAAkB,YAAY,aAAa,WAAW,CAAC;AAAA,EAE1E,OAAO;AAAA;;;AC7QR,iBAAS,oBAAM,2BAAU,yBAAa,uBAAQ;AAC9C,kBAAS,2BAAe,kCAAoB;;AAc5C,SAAS,kBAAkB,CAAC,OAG1B;AAAA,EACD,MAAM,QAAQ,MAAM,KAAK,EAAE,MAAM,KAAK;AAAA,EACtC,OAAO,EAAE,SAAS,MAAM,MAAM,IAAI,MAAM,MAAM,MAAM,CAAC,EAAE;AAAA;AAGxD,SAAS,QAAQ,CAAC,QAAoD;AAAA,EACrE,MAAM,UAAU,OAAO,KAAK;AAAA,EAC5B,IAAI,CAAC;AAAA,IAAS;AAAA,EACd,MAAM,MAA8B,CAAC;AAAA,EACrC,WAAW,QAAQ,QAAQ,MAAM;AAAA,CAAI,GAAG;AAAA,IACvC,MAAM,KAAK,KAAK,QAAQ,GAAG;AAAA,IAC3B,IAAI,KAAK,GAAG;AAAA,MACX,IAAI,KAAK,MAAM,GAAG,EAAE,EAAE,KAAK,KAAK,KAAK,MAAM,KAAK,CAAC,EAAE,KAAK;AAAA,IACzD;AAAA,EACD;AAAA,EACA,OAAO,OAAO,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM;AAAA;AAG5C,SAAS,YAAY,CAAC,WAAuD;AAAA,EAC5E,MAAM,UAAU,UAAU,KAAK;AAAA,EAC/B,IAAI,CAAC;AAAA,IAAS;AAAA,EACd,MAAM,UAAkC,CAAC;AAAA,EACzC,WAAW,QAAQ,QAAQ,MAAM;AAAA,CAAI,GAAG;AAAA,IACvC,MAAM,QAAQ,KAAK,QAAQ,GAAG;AAAA,IAC9B,IAAI,QAAQ,GAAG;AAAA,MACd,QAAQ,KAAK,MAAM,GAAG,KAAK,EAAE,KAAK,KAAK,KAAK,MAAM,QAAQ,CAAC,EAAE,KAAK;AAAA,IACnE;AAAA,EACD;AAAA,EACA,OAAO,OAAO,KAAK,OAAO,EAAE,SAAS,IAAI,UAAU;AAAA;AAG7C,IAAM,oBAAoB,OAAK,SAAS,kBAAiB;AAAA,EAC/D;AAAA,EACA;AAAA,GAC0B;AAAA,EAC1B,OAAO,YAAY,iBAAiB,WAAqB,OAAO;AAAA,EAChE,OAAO,MAAM,WAAW,WAAS,EAAE;AAAA,EACnC,OAAO,YAAY,iBAAiB,WAAS,EAAE;AAAA,EAC/C,OAAO,KAAK,UAAU,WAAS,EAAE;AAAA,EACjC,OAAO,WAAW,gBAAgB,WAAyB,MAAM;AAAA,EACjE,OAAO,YAAY,iBAAiB,WAAS,EAAE;AAAA,EAC/C,OAAO,QAAQ,aAAa,WAAS,EAAE;AAAA,EACvC,OAAO,OAAO,YAAY,WAAmB,QAAQ;AAAA,EACrD,OAAO,OAAO,YAAY,WAAwB,IAAI;AAAA,EAEtD,MAAM,YAAY,gBAAgB;AAAA,EAElC,MAAM,QAAQ,cAAY,MAAM;AAAA,IAC/B,QAAQ,EAAE;AAAA,IACV,cAAc,EAAE;AAAA,IAChB,OAAO,EAAE;AAAA,IACT,aAAa,MAAM;AAAA,IACnB,cAAc,EAAE;AAAA,IAChB,UAAU,EAAE;AAAA,IACZ,SAAS,QAAQ;AAAA,IACjB,SAAS,IAAI;AAAA,IACb,cAAc,OAAO;AAAA,KACnB,CAAC,CAAC;AAAA,EAEL,MAAM,cAAc,cAAY,MAAM;AAAA,IACrC,MAAM;AAAA,IACN,QAAQ;AAAA,KACN,CAAC,OAAO,OAAO,CAAC;AAAA,EAEnB,MAAM,eAAe,cAAY,YAAY;AAAA,IAC5C,SAAS,IAAI;AAAA,IACb,MAAM,cAAc,KAAK,KAAK;AAAA,IAE9B,IAAI,CAAC,aAAa;AAAA,MACjB,SAAS,yBAAyB;AAAA,MAClC;AAAA,IACD;AAAA,IAEA,IAAI;AAAA,MACH,IAAI,eAAe,SAAS;AAAA,QAC3B,MAAM,aAAa,WAAW,KAAK;AAAA,QACnC,IAAI,CAAC,YAAY;AAAA,UAChB,SAAS,qBAAqB;AAAA,UAC9B;AAAA,QACD;AAAA,QACA,IAAI,gBAAgB,KAAK,UAAU,GAAG;AAAA,UACrC,SACC,4EACD;AAAA,UACA;AAAA,QACD;AAAA,QACA,QAAQ,SAAS,SAAS,mBAAmB,UAAU;AAAA,QACvD,MAAM,UAAU,YAAY;AAAA,UAC3B,MAAM;AAAA,UACN,WAAW;AAAA,UACX;AAAA,UACA;AAAA,UACA,KAAK,SAAS,MAAM;AAAA,UACpB;AAAA,QACD,CAAC;AAAA,MACF,EAAO;AAAA,QACN,MAAM,aAAa,IAAI,KAAK;AAAA,QAC5B,IAAI,CAAC,YAAY;AAAA,UAChB,SAAS,iBAAiB;AAAA,UAC1B;AAAA,QACD;AAAA,QACA,MAAM,UAAU,YAAY;AAAA,UAC3B,MAAM;AAAA,UACN;AAAA,UACA,KAAK;AAAA,UACL,SAAS,aAAa,UAAU;AAAA,UAChC;AAAA,QACD,CAAC;AAAA;AAAA,MAEF,YAAY;AAAA,MACX,OAAO,KAAK;AAAA,MACb,SAAS,eAAe,QAAQ,IAAI,UAAU,sBAAsB;AAAA;AAAA,KAEnE;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EAED,MAAM,aAAa,SAAuB,IAAI;AAAA,EAC9C,OAAO,eAAe,oBAAoB,WACzC,SACD;AAAA,EAEA,YAAU,MAAM;AAAA,IACf,MAAM,KAAK,WAAW;AAAA,IACtB,IAAI,CAAC;AAAA,MAAI;AAAA,IACT,MAAM,WAAW,IAAI,eAAe,MAAM;AAAA,MACzC,iBAAiB,GAAG,YAAY;AAAA,KAChC;AAAA,IACD,SAAS,QAAQ,EAAE;AAAA,IACnB,OAAO,MAAM,SAAS,WAAW;AAAA,KAC/B,CAAC,CAAC;AAAA,EAEL,uBACC,MA6NE,OA7NF;AAAA,IAAO;AAAA,IAAgB,SAAS;AAAA,IAAa,OAAM;AAAA,IAAnD,0BACC,MA2NE,OA3NF;AAAA,MACC,WAAU;AAAA,MACV,OAAO,EAAE,QAAQ,kBAAkB,YAAY,gBAAgB,OAAO;AAAA,MAFvE,0BAIC,OAsNE,OAtNF;AAAA,QAAK,KAAK;AAAA,QAAY,WAAU;AAAA,QAAhC,UAsNE;AAAA,0BArND,OAgCE,OAhCF;AAAA,YAAK,WAAU;AAAA,YAAf,UAgCE;AAAA,8BA/BD,MAAC,OAAD;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO;AAAA,kBACN,MAAM,eAAe,UAAU,QAAQ;AAAA,kBACvC,OAAO,eAAe,WAAW,QAAQ;AAAA,gBAC1C;AAAA,eACD;AAAA,8BACA,OAWE,UAXF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS,MAAM,cAAc,OAAO;AAAA,gBACpC,WAAW,kIACV,eAAe,UACZ,oBACA;AAAA,gBANL,UAWE;AAAA,kCAFD,MAAC,WAAD;AAAA,oBAAU,WAAU;AAAA,mBAAU;AAAA,kBAT/B;AAAA;AAAA,eAWE;AAAA,8BACF,OAWE,UAXF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS,MAAM,cAAc,QAAQ;AAAA,gBACrC,WAAW,kIACV,eAAe,WACZ,oBACA;AAAA,gBANL,UAWE;AAAA,kCAFD,MAAC,QAAD;AAAA,oBAAO,WAAU;AAAA,mBAAU;AAAA,kBAT5B;AAAA;AAAA,eAWE;AAAA;AAAA,WACD;AAAA,0BAEF,OAQE,OARF;AAAA,sBAQE;AAAA,8BAPD,MAAgD,OAAhD;AAAA,gBAAK,WAAU;AAAA,gBAAf;AAAA,eAAgD;AAAA,8BAChD,MAAC,OAAD;AAAA,gBACC,OAAO;AAAA,gBACP,UAAU,CAAC,MAAM,QAAQ,EAAE,OAAO,KAAK;AAAA,gBACvC,aAAY;AAAA,gBACZ,WAAS;AAAA,eACV;AAAA;AAAA,WACC;AAAA,UAED,eAAe,0BACf;AAAA,sBAiCE;AAAA,8BAhCD,OAgBE,OAhBF;AAAA,0BAgBE;AAAA,kCAfD,MAAmD,OAAnD;AAAA,oBAAK,WAAU;AAAA,oBAAf;AAAA,mBAAmD;AAAA,kCACnD,MAAC,OAAD;AAAA,oBACC,OAAO;AAAA,oBACP,UAAU,CAAC,MAAM,cAAc,EAAE,OAAO,KAAK;AAAA,oBAC7C,aAAY;AAAA,oBACZ,WAAW,CAAC,MAAM;AAAA,sBACjB,IAAI,EAAE,QAAQ;AAAA,wBAAS,aAAa;AAAA;AAAA,mBAEtC;AAAA,kCACA,OAKE,KALF;AAAA,oBAAG,WAAU;AAAA,oBAAb,UAKE;AAAA,sBALF;AAAA,sBACM;AAAA,sCACL,MAEE,QAFF;AAAA,wBAAM,WAAU;AAAA,wBAAhB;AAAA,uBAEE;AAAA;AAAA,mBACD;AAAA;AAAA,eACD;AAAA,8BACF,OAcE,OAdF;AAAA,0BAcE;AAAA,kCAbD,MAEE,OAFF;AAAA,oBAAK,WAAU;AAAA,oBAAf;AAAA,mBAEE;AAAA,kCACF,MAAC,YAAD;AAAA,oBACC,OAAO;AAAA,oBACP,UAAU,CAAC,MAAM,UAAU,EAAE,OAAO,KAAK;AAAA,oBACzC,aAAa;AAAA;AAAA,oBACb,MAAM;AAAA,oBACN,WAAU;AAAA,mBACX;AAAA,kCACA,MAEE,KAFF;AAAA,oBAAG,WAAU;AAAA,oBAAb;AAAA,mBAEE;AAAA;AAAA,eACD;AAAA;AAAA,WACD,oBAEF;AAAA,sBA+DE;AAAA,8BA9DD,OAUE,OAVF;AAAA,0BAUE;AAAA,kCATD,MAA+C,OAA/C;AAAA,oBAAK,WAAU;AAAA,oBAAf;AAAA,mBAA+C;AAAA,kCAC/C,MAAC,OAAD;AAAA,oBACC,OAAO;AAAA,oBACP,UAAU,CAAC,MAAM,OAAO,EAAE,OAAO,KAAK;AAAA,oBACtC,aAAY;AAAA,oBACZ,WAAW,CAAC,MAAM;AAAA,sBACjB,IAAI,EAAE,QAAQ;AAAA,wBAAS,aAAa;AAAA;AAAA,mBAEtC;AAAA;AAAA,eACC;AAAA,8BACF,OAiCE,OAjCF;AAAA,0BAiCE;AAAA,kCAhCD,MAAqD,OAArD;AAAA,oBAAK,WAAU;AAAA,oBAAf;AAAA,mBAAqD;AAAA,kCACrD,OA8BE,OA9BF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UA8BE;AAAA,sCA7BD,MAAC,OAAD;AAAA,wBACC,WAAU;AAAA,wBACV,OAAO;AAAA,0BACN,MAAM,cAAc,SAAS,QAAQ;AAAA,0BACrC,OAAO,cAAc,QAAQ,QAAQ;AAAA,wBACtC;AAAA,uBACD;AAAA,sCACA,MAUE,UAVF;AAAA,wBACC,MAAK;AAAA,wBACL,SAAS,MAAM,aAAa,MAAM;AAAA,wBAClC,WAAW,sIACV,cAAc,SACX,oBACA;AAAA,wBANL;AAAA,uBAUE;AAAA,sCACF,MAUE,UAVF;AAAA,wBACC,MAAK;AAAA,wBACL,SAAS,MAAM,aAAa,KAAK;AAAA,wBACjC,WAAW,sIACV,cAAc,QACX,oBACA;AAAA,wBANL;AAAA,uBAUE;AAAA;AAAA,mBACD;AAAA;AAAA,eACD;AAAA,8BACF,OAYE,OAZF;AAAA,0BAYE;AAAA,kCAXD,MAAmD,OAAnD;AAAA,oBAAK,WAAU;AAAA,oBAAf;AAAA,mBAAmD;AAAA,kCACnD,MAAC,YAAD;AAAA,oBACC,OAAO;AAAA,oBACP,UAAU,CAAC,MAAM,cAAc,EAAE,OAAO,KAAK;AAAA,oBAC7C,aAAa;AAAA,oBACb,MAAM;AAAA,oBACN,WAAU;AAAA,mBACX;AAAA,kCACA,MAEE,KAFF;AAAA,oBAAG,WAAU;AAAA,oBAAb;AAAA,mBAEE;AAAA;AAAA,eACD;AAAA,8BACF,MAGE,KAHF;AAAA,gBAAG,WAAU;AAAA,gBAAb;AAAA,eAGE;AAAA;AAAA,WACD;AAAA,0BAGH,OAwCE,OAxCF;AAAA,sBAwCE;AAAA,8BAvCD,MAAiD,OAAjD;AAAA,gBAAK,WAAU;AAAA,gBAAf;AAAA,eAAiD;AAAA,8BACjD,OAgCE,OAhCF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAgCE;AAAA,kCA/BD,MAAC,OAAD;AAAA,oBACC,WAAU;AAAA,oBACV,OAAO;AAAA,sBACN,MAAM,UAAU,WAAW,QAAQ;AAAA,sBACnC,OAAO,UAAU,YAAY,QAAQ;AAAA,oBACtC;AAAA,mBACD;AAAA,kCACA,OAWE,UAXF;AAAA,oBACC,MAAK;AAAA,oBACL,SAAS,MAAM,SAAS,QAAQ;AAAA,oBAChC,WAAW,sIACV,UAAU,WACP,oBACA;AAAA,oBANL,UAWE;AAAA,sCAFD,MAAC,QAAD;AAAA,wBAAQ,WAAU;AAAA,uBAAU;AAAA,sBAT7B;AAAA;AAAA,mBAWE;AAAA,kCACF,OAWE,UAXF;AAAA,oBACC,MAAK;AAAA,oBACL,SAAS,MAAM,SAAS,SAAS;AAAA,oBACjC,WAAW,sIACV,UAAU,YACP,oBACA;AAAA,oBANL,UAWE;AAAA,sCAFD,MAAC,WAAD;AAAA,wBAAW,WAAU;AAAA,uBAAU;AAAA,sBAThC;AAAA;AAAA,mBAWE;AAAA;AAAA,eACD;AAAA,8BACF,MAIE,KAJF;AAAA,gBAAG,WAAU;AAAA,gBAAb,UACE,UAAU,WACR,wCACA;AAAA,eACF;AAAA;AAAA,WACD;AAAA,UAED,yBACA,MAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf,UACE;AAAA,WACA;AAAA,0BAGH,OAkBE,OAlBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAkBE;AAAA,8BAjBD,MAEE,QAFF;AAAA,gBAAQ,SAAQ;AAAA,gBAAQ,SAAS;AAAA,gBAAjC;AAAA,eAEE;AAAA,8BACF,MAaE,QAbF;AAAA,gBACC,SAAQ;AAAA,gBACR,SAAS;AAAA,gBACT,UAAU,UAAU;AAAA,gBAHrB,UAKE,UAAU,4BACV;AAAA,4BAGE;AAAA,oCAFD,MAAC,WAAD;AAAA,sBAAS,WAAU;AAAA,qBAA4B;AAAA,oBADhD;AAAA;AAAA,iBAGE,IAEF;AAAA,eAEA;AAAA;AAAA,WACD;AAAA;AAAA,OACD;AAAA,KACD;AAAA,GACD;AAAA,CAEH;;;;AF/VD,IAAM,eAAe,OAAK,SAAS,aAAY;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAME;AAAA,EACF,uBACC,MAoBE,UApBF;AAAA,IACC,MAAK;AAAA,IACL,MAAK;AAAA,IACL,gBAAc;AAAA,IACd,UAAU,YAAY;AAAA,IACtB,SAAS,CAAC,MAAM;AAAA,MACf,EAAE,gBAAgB;AAAA,MAClB,SAAS;AAAA;AAAA,IAEV,WAAW,kLACV,UAAU,iBAAiB;AAAA,IAV7B,0BAaC,MAME,QANF;AAAA,MACC,WAAW,2EACV,UAAU,uBAAuB,uBAC9B,UAAU,mBAAmB;AAAA,MAHlC,UAKE,2BAAW,MAAC,WAAD;AAAA,QAAS,WAAU;AAAA,OAAsC;AAAA,KACpE;AAAA,GACD;AAAA,CAEH;AAED,IAAM,oBAAoB,OAAK,SAAS,kBAAiB;AAAA,EACxD;AAAA,EACA;AAAA,GAIE;AAAA,EACF,OAAO,QAAQ,aAAa,WAAS,KAAK;AAAA,EAE1C,MAAM,aAAa,cAAY,MAAM;AAAA,IACpC,UAAU,UAAU,UAAU,QAAQ,EAAE,KAAK,MAAM;AAAA,MAClD,UAAU,IAAI;AAAA,MACd,WAAW,MAAM,UAAU,KAAK,GAAG,IAAI;AAAA,KACvC;AAAA,KACC,CAAC,QAAQ,CAAC;AAAA,EAEb,uBACC,MAkCE,OAlCF;AAAA,IAAK,WAAU;AAAA,IAAf,0BACC,OAgCE,OAhCF;AAAA,MAAK,WAAU;AAAA,MAAf,UAgCE;AAAA,wBA/BD,OAGE,OAHF;AAAA,UAAK,WAAU;AAAA,UAAf,UAGE;AAAA,4BAFD,MAAC,WAAD;AAAA,cAAS,WAAU;AAAA,aAAqD;AAAA,4BACxE,MAA4D,QAA5D;AAAA,cAAM,WAAU;AAAA,cAAhB;AAAA,aAA4D;AAAA;AAAA,SAC3D;AAAA,wBACF,OAaE,OAbF;AAAA,UAAK,WAAU;AAAA,UAAf,UAaE;AAAA,4BAZD,MAEE,QAFF;AAAA,cAAM,WAAU;AAAA,cAAhB,UACE;AAAA,aACA;AAAA,4BACF,MAOE,UAPF;AAAA,cACC,MAAK;AAAA,cACL,SAAS;AAAA,cACT,WAAU;AAAA,cACV,OAAM;AAAA,cAJP,0BAMC,MAAC,eAAD;AAAA,gBAAe,WAAU;AAAA,eAAc;AAAA,aACtC;AAAA,YACD,0BAAU,MAAkD,QAAlD;AAAA,cAAM,WAAU;AAAA,cAAhB;AAAA,aAAkD;AAAA;AAAA,SAC5D;AAAA,wBACF,OAYE,KAZF;AAAA,UACC,MAAM;AAAA,UACN,QAAO;AAAA,UACP,KAAI;AAAA,UACJ,SAAS,CAAC,MAAM;AAAA,YACf,EAAE,eAAe;AAAA,YACjB,QAAQ,eAAe;AAAA;AAAA,UAExB,WAAU;AAAA,UARX,UAYE;AAAA,YAZF;AAAA,4BAWC,MAAC,eAAD;AAAA,cAAc,WAAU;AAAA,aAAU;AAAA;AAAA,SACjC;AAAA;AAAA,KACD;AAAA,GACD;AAAA,CAEH;AAED,IAAM,gBAAgB,OAAK,SAAS,cAAa;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAUE;AAAA,EACF,OAAO,WAAW,gBAAgB,WAAS,KAAK;AAAA,EAChD,MAAM,WAAW,OAAO,aAAa,OAAO,MAAM,SAAS;AAAA,EAC3D,MAAM,WAAW,OAAO,cAAc,UAAU,OAAO,cAAc;AAAA,EACrE,MAAM,kBAAkB,CAAC,CAAC,WAAW,CAAC,CAAC,kBAAkB,CAAC,OAAO;AAAA,EAEjE,MAAM,eAAe,cAAY,MAAM;AAAA,IACtC,IAAI,OAAO,gBAAgB,CAAC,OAAO,WAAW;AAAA,MAC7C,OAAO;AAAA,IACR,EAAO,SAAI,OAAO,WAAW;AAAA,MAC5B,OAAO;AAAA,IACR,EAAO;AAAA,MACN,QAAQ;AAAA;AAAA,KAEP,CAAC,OAAO,WAAW,OAAO,cAAc,QAAQ,QAAQ,OAAO,CAAC;AAAA,EAEnE,MAAM,cAAc,cAAY,MAAM;AAAA,IACrC,IAAI;AAAA,MAAU,aAAa,CAAC,SAAS,CAAC,IAAI;AAAA,KACxC,CAAC,QAAQ,CAAC;AAAA,EAEb,uBACC,OAqHE,OArHF;AAAA,IACC,WAAW,0DACV,OAAO,YACJ,uCACA,iBACC,yCACA;AAAA,IANN,UAqHE;AAAA,sBA5GD,OA8DE,OA9DF;AAAA,QAAK,WAAU;AAAA,QAAf,UA8DE;AAAA,0BA7DD,MAAC,cAAD;AAAA,YACC,SAAS,OAAO;AAAA,YAChB,SAAS,aAAa;AAAA,YACtB,UAAU;AAAA,WACX;AAAA,0BAEA,OA2BE,OA3BF;AAAA,YAAK,WAAU;AAAA,YAAf,UA2BE;AAAA,8BA1BD,OAQE,OARF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAQE;AAAA,kCAPD,MAA8D,QAA9D;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UAAgD,OAAO;AAAA,mBAAO;AAAA,kBAC7D,4BACA,MAAC,QAAD;AAAA,oBAAO,WAAU;AAAA,mBAA8C;AAAA,kBAE/D,OAAO,gBAAgB,CAAC,OAAO,6BAC/B,MAAC,MAAD;AAAA,oBAAM,WAAU;AAAA,mBAAwC;AAAA;AAAA,eAExD;AAAA,8BACF,OAgBE,OAhBF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAgBE;AAAA,kCAfD,MAIE,QAJF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UACE,WACE,OAAO,MACP,GAAG,OAAO,WAAW,MAAM,OAAO,KAAK,KAAK,GAAG;AAAA,mBACjD;AAAA,kCACF,MASE,QATF;AAAA,oBACC,WAAU;AAAA,oBACV,OAAO,OAAO,UAAU,YAAY,kBAAkB;AAAA,oBAFvD,UAIE,OAAO,UAAU,4BACjB,MAAC,YAAD;AAAA,sBAAW,WAAU;AAAA,qBAAU,oBAE/B,MAAC,SAAD;AAAA,sBAAQ,WAAU;AAAA,qBAAU;AAAA,mBAE5B;AAAA;AAAA,eACD;AAAA;AAAA,WACD;AAAA,0BAEF,OAyBE,OAzBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAyBE;AAAA,cAxBA,4BACA,OAYE,UAZF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,WAAU;AAAA,gBAHX,UAYE;AAAA,kCAPD,MAAC,QAAD;AAAA,oBAAQ,WAAU;AAAA,mBAAU;AAAA,kBAC3B,OAAO,MAAM;AAAA,kBACb,4BACA,MAAC,eAAD;AAAA,oBAAa,WAAU;AAAA,mBAAU,oBAEjC,MAAC,gBAAD;AAAA,oBAAc,WAAU;AAAA,mBAAU;AAAA;AAAA,eAElC;AAAA,8BAEH,MAQE,QARF;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,OAAM;AAAA,gBACN,WAAU;AAAA,gBALX,0BAOC,MAAC,SAAD;AAAA,kBAAQ,WAAU;AAAA,iBAAmD;AAAA,eACpE;AAAA;AAAA,WACD;AAAA;AAAA,OACD;AAAA,MAED,iBAAiB,CAAC,OAAO,6BACzB,MAAC,mBAAD;AAAA,QACC,UAAU,cAAc;AAAA,QACxB,iBAAiB,cAAc;AAAA,OAChC;AAAA,MAGA,CAAC,iBAAiB,kBAAkB,2BACpC,MAkBE,OAlBF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,OAgBE,OAhBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAgBE;AAAA,4BAfD,MAAC,WAAD;AAAA,cAAS,WAAU;AAAA,aAAqD;AAAA,4BACxE,MAA0D,QAA1D;AAAA,cAAM,WAAU;AAAA,cAAhB;AAAA,aAA0D;AAAA,4BAC1D,OAYE,KAZF;AAAA,cACC,MAAM;AAAA,cACN,QAAO;AAAA,cACP,KAAI;AAAA,cACJ,SAAS,CAAC,MAAM;AAAA,gBACf,EAAE,eAAe;AAAA,gBACjB,QAAQ,OAAO;AAAA;AAAA,cAEhB,WAAU;AAAA,cARX,UAYE;AAAA,gBAZF;AAAA,gCAWC,MAAC,eAAD;AAAA,kBAAc,WAAU;AAAA,iBAAU;AAAA;AAAA,aACjC;AAAA;AAAA,SACD;AAAA,OACD;AAAA,MAGF,YAAY,6BACZ,MAYE,OAZF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,MAUE,OAVF;AAAA,UAAK,WAAU;AAAA,UAAf,UACE,OAAO,MAAM,IAAI,CAAC,yBAClB,MAME,QANF;AAAA,YAEC,WAAU;AAAA,YACV,OAAO;AAAA,YAHR,UAKE,KAAK,MAAM,IAAI,EAAE,IAAI;AAAA,aAJjB,IAKJ,CACF;AAAA,SACA;AAAA,OACD;AAAA;AAAA,GAEF;AAAA,CAEH;AAED,SAAS,aAAa,CAAC,MAAqB,iBAA6B;AAAA,EACxE,QAAQ,SAAS,iBAAiB,IAAI;AAAA,EACtC,MAAM,WAAW,SAAO,KAAK;AAAA,EAE7B,YAAU,MAAM;AAAA,IACf,IAAI,MAAM,iBAAiB,CAAC,SAAS,SAAS;AAAA,MAC7C,gBAAgB;AAAA,IACjB;AAAA,IACA,SAAS,UAAU,MAAM,iBAAiB;AAAA,KACxC,CAAC,MAAM,eAAe,eAAe,CAAC;AAAA;AAGnC,IAAM,aAAa,OAAK,SAAS,WAAU,GAAG;AAAA,EACpD,MAAM,aAAa,YAAY,CAAC,MAAM,EAAE,UAAU;AAAA,EAClD,MAAM,kBAAkB,YAAY,CAAC,MAAM,EAAE,eAAe;AAAA,EAC5D,MAAM,UAAU,YAAY,CAAC,MAAM,EAAE,OAAO;AAAA,EAC5C,MAAM,UAAU,YAAY,CAAC,MAAM,EAAE,OAAO;AAAA,EAC5C,MAAM,WAAW,YAAY,CAAC,MAAM,EAAE,QAAQ;AAAA,EAC9C,MAAM,aAAa,YAAY,CAAC,MAAM,EAAE,UAAU;AAAA,EAClD,MAAM,aAAa,YAAY,CAAC,MAAM,EAAE,UAAU;AAAA,EAClD,MAAM,mBAAmB,YAAY,CAAC,MAAM,EAAE,gBAAgB;AAAA,EAE9D,QAAQ,WAAW,eAAe,cAAc;AAAA,EAChD,MAAM,cAAc,kBAAkB;AAAA,EACtC,MAAM,aAAa,iBAAiB;AAAA,EACpC,MAAM,eAAe,mBAAmB;AAAA,EACxC,MAAM,aAAa,yBAAyB;AAAA,EAC5C,MAAM,gBAAgB,uBAAuB;AAAA,EAE7C,OAAO,gBAAgB,qBAAqB,WAAS,KAAK;AAAA,EAC1D,OAAO,eAAe,oBAAoB,WAAwB,IAAI;AAAA,EACtE,OAAO,cAAc,mBAAmB,WAAwB,IAAI;AAAA,EAEpE,MAAM,cAAc,iBAAe;AAAA,EAEnC,MAAM,sBAAsB,cAAY,MAAM;AAAA,IAC7C,IAAI,eAAe;AAAA,MAClB,WAAW,eAAe,IAAI;AAAA,MAC9B,iBAAiB,IAAI;AAAA,MACrB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,SAAS,EAAE,CAAC;AAAA,IAC/D;AAAA,KACE,CAAC,eAAe,YAAY,WAAW,CAAC;AAAA,EAE3C,cAAc,eAAe,mBAAmB;AAAA,EAEhD,YAAU,MAAM;AAAA,IACf,WAAW,QAAQ,SAAS;AAAA,MAC3B,MAAM,SAAS,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI;AAAA,MAClD,IAAI,QAAQ,WAAW;AAAA,QACtB,WAAW,MAAM,KAAK;AAAA,MACvB;AAAA,IACD;AAAA,KACE,CAAC,SAAS,SAAS,UAAU,CAAC;AAAA,EAEjC,MAAM,8BAA8B,cACnC,CACC,MACA,WAMI;AAAA,IACJ,IAAI,OAAO,aAAa,OAAO,YAAY,OAAO,iBAAiB;AAAA,MAClE,iBAAiB;AAAA,QAChB,WAAW,OAAO;AAAA,QAClB,UAAU,OAAO;AAAA,QACjB,iBAAiB,OAAO;AAAA,QACxB,UAAU,OAAO,YAAY;AAAA,QAC7B,YAAY;AAAA,MACb,CAAC;AAAA,MACD,QAAQ,OAAO,eAAe;AAAA,IAC/B;AAAA,KAED,CAAC,gBAAgB,CAClB;AAAA,EAEA,MAAM,aAAa,cAClB,OAAO,SAAiB;AAAA,IACvB,IAAI;AAAA,MACH,WAAW,MAAM,IAAI;AAAA,MACrB,MAAM,SAAS,MAAM,WAAW,YAAY,IAAI;AAAA,MAChD,IAAI,OAAO,aAAa,kBAAkB;AAAA,QACzC,IAAI,OAAO,eAAe;AAAA,UACzB,WAAW,MAAM,KAAK;AAAA,UACtB,YAAY,kBAAkB,EAAE,UAAU,CAAC,OAAO,SAAS,EAAE,CAAC;AAAA,UAC9D;AAAA,QACD;AAAA,QACA,4BAA4B,MAAM,MAAM;AAAA,MACzC,EAAO,SAAI,OAAO,SAAS;AAAA,QAC1B,WAAW,MAAM,OAAO,OAAO;AAAA,QAC/B,iBAAiB,IAAI;AAAA,QACrB,QAAQ,OAAO,OAAO;AAAA,MACvB,EAAO;AAAA,QACN,WAAW,MAAM,KAAK;AAAA;AAAA,MAEtB,MAAM;AAAA,MACP,WAAW,MAAM,KAAK;AAAA,MACtB,WAAW,MAAM,IAAI;AAAA;AAAA,KAGvB;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CACD;AAAA,EAEA,MAAM,cAAc,cACnB,OAAO,SAAiB;AAAA,IACvB,IAAI;AAAA,MACH,WAAW,MAAM,IAAI;AAAA,MACrB,MAAM,SAAS,MAAM,YAAY,YAAY,IAAI;AAAA,MACjD,IAAI,OAAO,aAAa,oBAAoB,CAAC,OAAO,WAAW;AAAA,QAC9D,4BAA4B,MAAM,MAAM;AAAA,MACzC,EAAO,SAAI,OAAO,gBAAgB,OAAO,SAAS;AAAA,QACjD,WAAW,MAAM,OAAO,OAAO;AAAA,QAC/B,iBAAiB,IAAI;AAAA,QACrB,QAAQ,OAAO,OAAO;AAAA,MACvB,EAAO;AAAA,QACN,WAAW,MAAM,KAAK;AAAA;AAAA,MAEtB,MAAM;AAAA,MACP,WAAW,MAAM,KAAK;AAAA,MACtB,WAAW,MAAM,IAAI;AAAA;AAAA,KAGvB,CAAC,aAAa,YAAY,YAAY,2BAA2B,CAClE;AAAA,EAEA,MAAM,gBAAgB,UAAQ,MAAM;AAAA,IACnC,OAAO,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM;AAAA,MAClC,IAAI,EAAE,aAAa,CAAC,EAAE;AAAA,QAAW,OAAO;AAAA,MACxC,IAAI,CAAC,EAAE,aAAa,EAAE;AAAA,QAAW,OAAO;AAAA,MACxC,OAAO,EAAE,KAAK,cAAc,EAAE,IAAI;AAAA,KAClC;AAAA,KACC,CAAC,OAAO,CAAC;AAAA,EAEZ,IAAI,CAAC;AAAA,IAAY,OAAO;AAAA,EAExB,MAAM,iBAAiB,QAAQ,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE;AAAA,EAE1D,uBACC,OAwHE,OAxHF;AAAA,IAAK,WAAU;AAAA,IAAf,UAwHE;AAAA,sBAvHD,OA6BE,OA7BF;AAAA,QAAK,WAAU;AAAA,QAAf,UA6BE;AAAA,0BA5BD,OAQE,OARF;AAAA,YAAK,WAAU;AAAA,YAAf,UAQE;AAAA,8BAPD,MAAC,OAAD;AAAA,gBAAM,WAAU;AAAA,eAAgC;AAAA,8BAChD,MAAmD,QAAnD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAmD;AAAA,cAClD,iBAAiB,qBACjB,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBADA;AAAA,kBADF;AAAA;AAAA,eAEE;AAAA;AAAA,WAEF;AAAA,0BACF,OAkBE,OAlBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAkBE;AAAA,8BAjBD,MAQE,QARF;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS,MAAM,kBAAkB,IAAI;AAAA,gBACrC,OAAM;AAAA,gBACN,WAAU;AAAA,gBALX,0BAOC,MAAC,OAAD;AAAA,kBAAM,WAAU;AAAA,iBAAU;AAAA,eACzB;AAAA,8BACF,MAOE,QAPF;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS;AAAA,gBACT,OAAM;AAAA,gBAJP,0BAMC,MAAC,gBAAD;AAAA,kBAAc,WAAU;AAAA,iBAAU;AAAA,eACjC;AAAA;AAAA,WACD;AAAA;AAAA,OACD;AAAA,sBAEF,MA8CE,OA9CF;AAAA,QAAK,WAAU;AAAA,QAAf,UACE,cAAc,QAAQ,WAAW,oBACjC,OAGE,OAHF;AAAA,UAAK,WAAU;AAAA,UAAf,UAGE;AAAA,4BAFD,MAAC,WAAD;AAAA,cAAS,WAAU;AAAA,aAA4B;AAAA,YADhD;AAAA;AAAA,SAGE,IACC,QAAQ,WAAW,oBACtB,OAiBE,OAjBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAiBE;AAAA,4BAhBD,MAA+B,KAA/B;AAAA;AAAA,aAA+B;AAAA,4BAC/B,OAQE,QARF;AAAA,cACC,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,SAAS,MAAM,kBAAkB,IAAI;AAAA,cACrC,WAAU;AAAA,cAJX,UAQE;AAAA,gCAFD,MAAC,OAAD;AAAA,kBAAM,WAAU;AAAA,iBAAe;AAAA,gBANhC;AAAA;AAAA,aAQE;AAAA,4BACF,OAKE,KALF;AAAA,cAAG,WAAU;AAAA,cAAb,UAKE;AAAA,gBALF;AAAA,gBACmB;AAAA,gCAClB,MAEE,QAFF;AAAA,kBAAM,WAAU;AAAA,kBAAhB;AAAA,iBAEE;AAAA;AAAA,aACD;AAAA;AAAA,SACD,oBAEF,MAkBE,OAlBF;AAAA,UAAK,WAAU;AAAA,UAAf,UACE,cAAc,IAAI,CAAC,2BACnB,MAAC,eAAD;AAAA,YAEC;AAAA,YACA,WAAW,QAAQ,IAAI,OAAO,IAAI;AAAA,YAClC,SAAS,SAAS,IAAI,OAAO,IAAI;AAAA,YACjC,eACC,eAAe,eAAe,OAAO,OAClC,gBACA;AAAA,YAEJ,SAAS,MAAM,YAAY,OAAO,IAAI;AAAA,YACtC,QAAQ,MAAM,WAAW,OAAO,OAAO,IAAI;AAAA,YAC3C,UAAU,MAAM,gBAAgB,OAAO,IAAI;AAAA,YAC3C,QAAQ,MAAM,WAAW,OAAO,IAAI;AAAA,aAZ/B,OAAO,IAab,CACA;AAAA,SACA;AAAA,OAEF;AAAA,sBAEF,MAAC,mBAAD;AAAA,QACC,QAAQ;AAAA,QACR,SAAS,MAAM,kBAAkB,KAAK;AAAA,OACvC;AAAA,sBAEA,OAkCE,OAlCF;AAAA,QACC,QAAQ,CAAC,CAAC;AAAA,QACV,SAAS,MAAM,gBAAgB,IAAI;AAAA,QACnC,OAAM;AAAA,QACN,UAAS;AAAA,QACT,iBAAiB;AAAA,QALlB,UAkCE;AAAA,0BA3BD,OAIE,KAJF;AAAA,YAAG,WAAU;AAAA,YAAb,UAIE;AAAA,cAJF;AAAA,cACiC;AAAA,8BAChC,MAA8D,QAA9D;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAA+C;AAAA,eAAe;AAAA,cAF/D;AAAA;AAAA,WAIE;AAAA,0BACF,OAqBE,OArBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAqBE;AAAA,8BApBD,MAME,QANF;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS,MAAM,gBAAgB,IAAI;AAAA,gBAHpC;AAAA,eAME;AAAA,8BACF,MAYE,QAZF;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,WAAU;AAAA,gBACV,SAAS,MAAM;AAAA,kBACd,IAAI,cAAc;AAAA,oBACjB,aAAa,OAAO,YAAY;AAAA,kBACjC;AAAA,kBACA,gBAAgB,IAAI;AAAA;AAAA,gBARtB;AAAA,eAYE;AAAA;AAAA,WACD;AAAA;AAAA,OACD;AAAA;AAAA,GACD;AAAA,CAEH;;AGviBD,iBAAS;AACT,iBAAS;;AAGF,IAAM,mBAAmB,OAAK,SAAS,iBAAgB,GAAG;AAAA,EAChE,MAAM,aAAa,YAAY,CAAC,UAAU,MAAM,UAAU;AAAA,EAC1D,MAAM,gBAAgB,YAAY,CAAC,UAAU,MAAM,aAAa;AAAA,EAChE,MAAM,UAAU,YAAY,CAAC,UAAU,MAAM,OAAO;AAAA,EAEpD,MAAM,iBAAiB,QAAQ,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE;AAAA,EAE1D,uBACC,OAcE,UAdF;AAAA,IACC,MAAK;AAAA,IACL,SAAS;AAAA,IACT,WAAW,yGACV,aACG,4BACA;AAAA,IAEJ,OAAM;AAAA,IARP,UAcE;AAAA,sBAJD,MAAC,OAAD;AAAA,QAAM,WAAU;AAAA,OAAwC;AAAA,MACvD,iBAAiB,qBACjB,MAAC,QAAD;AAAA,QAAM,WAAU;AAAA,OAA2D;AAAA;AAAA,GAE3E;AAAA,CAEH;;AC5BD,iBAAS,mBAAM;AACf;AAAA,kBACC;AAAA,cACA;AAAA,aACA;AAAA,eACA;AAAA,YACA;AAAA,WACA;AAAA,cACA;AAAA,cACA;AAAA;;;ACTD,qBAAS;AAET,sBAAS;AAGF,SAAS,SAAS,GAAG;AAAA,EAC3B,MAAM,YAAY,eAAe,CAAC,MAAM,EAAE,SAAS;AAAA,EAEnD,MAAM,QAAQ,WAAS;AAAA,IACtB,UAAU,CAAC,QAAQ;AAAA,IACnB,SAAS,YAAY;AAAA,MACpB,OAAO,UAAU,WAAW;AAAA;AAAA,IAE7B,iBAAiB;AAAA,EAClB,CAAC;AAAA,EAED,YAAU,MAAM;AAAA,IACf,IAAI,MAAM,MAAM,QAAQ;AAAA,MACvB,UAAU,MAAM,KAAK,MAAM;AAAA,IAC5B;AAAA,KACE,CAAC,MAAM,MAAM,SAAS,CAAC;AAAA,EAE1B,OAAO;AAAA;AAGD,SAAS,cAAc,CAAC,MAAqB;AAAA,EACnD,OAAO,WAAS;AAAA,IACf,UAAU,CAAC,UAAU,IAAI;AAAA,IACzB,SAAS,YAAY;AAAA,MACpB,IAAI,CAAC;AAAA,QAAM,OAAO;AAAA,MAClB,OAAO,UAAU,SAAS,IAAI;AAAA;AAAA,IAE/B,SAAS,CAAC,CAAC;AAAA,EACZ,CAAC;AAAA;AAGK,SAAS,aAAa,CAAC,MAAqB;AAAA,EAClD,OAAO,WAAS;AAAA,IACf,UAAU,CAAC,UAAU,MAAM,OAAO;AAAA,IAClC,SAAS,YAAY;AAAA,MACpB,IAAI,CAAC;AAAA,QAAM,OAAO;AAAA,MAClB,OAAO,UAAU,cAAc,IAAI;AAAA;AAAA,IAEpC,SAAS,CAAC,CAAC;AAAA,EACZ,CAAC;AAAA;AAGK,SAAS,mBAAmB,CAClC,MACA,UACC;AAAA,EACD,OAAO,WAAS;AAAA,IACf,UAAU,CAAC,UAAU,MAAM,SAAS,QAAQ;AAAA,IAC5C,SAAS,YAAY;AAAA,MACpB,IAAI,CAAC,QAAQ,CAAC;AAAA,QAAU,OAAO;AAAA,MAC/B,OAAO,UAAU,oBAAoB,MAAM,QAAQ;AAAA;AAAA,IAEpD,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;AAAA,EACtB,CAAC;AAAA;;;;ADvCF,IAAM,cAAgD;AAAA,EACrD,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AACT;AAEA,IAAM,eAAuC;AAAA,EAC5C,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AACT;AAEA,SAAS,UAAU,CAAC,OAAuB;AAAA,EAC1C,IAAI,QAAQ;AAAA,IAAM,OAAO,GAAG;AAAA,EAC5B,IAAI,QAAQ,OAAO;AAAA,IAAM,OAAO,IAAI,QAAQ,MAAM,QAAQ,CAAC;AAAA,EAC3D,OAAO,IAAI,SAAS,OAAO,OAAO,QAAQ,CAAC;AAAA;AAGrC,IAAM,gBAAgB,OAAK,SAAS,cAAa,GAAG;AAAA,EAC1D,MAAM,aAAa,eAAe,CAAC,MAAM,EAAE,UAAU;AAAA,EACrD,MAAM,kBAAkB,eAAe,CAAC,MAAM,EAAE,eAAe;AAAA,EAC/D,MAAM,SAAS,eAAe,CAAC,MAAM,EAAE,MAAM;AAAA,EAC7C,MAAM,gBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa;AAAA,EAC3D,MAAM,cAAc,eAAe,CAAC,MAAM,EAAE,WAAW;AAAA,EACvD,MAAM,aAAa,eAAe,CAAC,MAAM,EAAE,UAAU;AAAA,EACrD,MAAM,cAAc,eAAe,CAAC,MAAM,EAAE,WAAW;AAAA,EAEvD,QAAQ,cAAc,UAAU;AAAA,EAChC,QAAQ,MAAM,gBAAgB,eAAe,aAAa;AAAA,EAC1D,QAAQ,MAAM,mBAAmB,cAAc,aAAa;AAAA,EAC5D,MAAM,aAAa,gBAAgB,SAAS,CAAC;AAAA,EAE7C,MAAM,gBAAgB,UAAQ,MAAM;AAAA,IACnC,MAAM,SAAS,IAAI;AAAA,IACnB,WAAW,SAAS,QAAQ;AAAA,MAC3B,MAAM,OAAO,OAAO,IAAI,MAAM,KAAK,KAAK,CAAC;AAAA,MACzC,KAAK,KAAK,KAAK;AAAA,MACf,OAAO,IAAI,MAAM,OAAO,IAAI;AAAA,IAC7B;AAAA,IACA,OAAO;AAAA,KACL,CAAC,MAAM,CAAC;AAAA,EAEX,IAAI,CAAC;AAAA,IAAY,OAAO;AAAA,EAExB,uBACC,OAkJE,OAlJF;AAAA,IAAK,WAAU;AAAA,IAAf,UAkJE;AAAA,sBAjJD,OAaE,OAbF;AAAA,QAAK,WAAU;AAAA,QAAf,UAaE;AAAA,0BAZD,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFD,MAAC,WAAD;AAAA,gBAAU,WAAU;AAAA,eAAgC;AAAA,8BACpD,MAA8C,QAA9C;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAA8C;AAAA;AAAA,WAC7C;AAAA,0BACF,MAOE,QAPF;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS;AAAA,YACT,OAAM;AAAA,YAJP,0BAMC,MAAC,gBAAD;AAAA,cAAc,WAAU;AAAA,aAAU;AAAA,WACjC;AAAA;AAAA,OACD;AAAA,MAED,iBAAiB,8BACjB,OAkEE,OAlEF;AAAA,QAAK,WAAU;AAAA,QAAf,UAkEE;AAAA,0BAjED,MAQE,OARF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACC,MAME,UANF;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAM,YAAY,IAAI;AAAA,cAC/B,WAAU;AAAA,cAHX;AAAA,aAME;AAAA,WACD;AAAA,0BACF,OAeE,OAfF;AAAA,YAAK,WAAU;AAAA,YAAf,UAeE;AAAA,8BAdD,MAA6D,MAA7D;AAAA,gBAAI,WAAU;AAAA,gBAAd,UAA0C,YAAY;AAAA,eAAO;AAAA,8BAC7D,MAEE,KAFF;AAAA,gBAAG,WAAU;AAAA,gBAAb,UACE,YAAY;AAAA,eACZ;AAAA,8BACF,OASE,OATF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UASE;AAAA,kCARD,MAEE,QAFF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UACE,aAAa,YAAY,UAAU,YAAY;AAAA,mBAC/C;AAAA,kBACD,YAAY,2BACZ,MAEE,QAFF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UACE,YAAY;AAAA,mBACZ;AAAA;AAAA,eAEF;AAAA;AAAA,WACD;AAAA,0BAEF,OAsCE,OAtCF;AAAA,YAAK,WAAU;AAAA,YAAf,UAsCE;AAAA,8BArCD,MAEE,OAFF;AAAA,gBAAK,WAAU;AAAA,gBAAf;AAAA,eAEE;AAAA,8BACF,MAaE,UAbF;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS,MAAM,WAAW,IAAI;AAAA,gBAC9B,WAAW,gEACV,gBAAgB,OAAO,cAAc;AAAA,gBAJvC,0BAOC,OAKE,OALF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAKE;AAAA,oCAJD,MAAC,WAAD;AAAA,sBAAU,WAAU;AAAA,qBAAkD;AAAA,oCACtE,MAEE,QAFF;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAEE;AAAA;AAAA,iBACD;AAAA,eACD;AAAA,cACD,WAAW,IAAI,CAAC,yBAChB,MAiBE,UAjBF;AAAA,gBACC,MAAK;AAAA,gBAEL,SAAS,MAAM,WAAW,KAAK,YAAY;AAAA,gBAC3C,WAAW,gEACV,gBAAgB,KAAK,eAAe,cAAc;AAAA,gBALpD,0BAQC,OAQE,OARF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAQE;AAAA,oCAPD,MAAC,WAAD;AAAA,sBAAU,WAAU;AAAA,qBAAkD;AAAA,oCACtE,MAEE,QAFF;AAAA,sBAAM,WAAU;AAAA,sBAAhB,UACE,KAAK;AAAA,qBACL;AAAA,oCACF,MAEE,QAFF;AAAA,sBAAM,WAAU;AAAA,sBAAhB,UACE,WAAW,KAAK,IAAI;AAAA,qBACpB;AAAA;AAAA,iBACD;AAAA,iBAdG,KAAK,YAeT,CACF;AAAA;AAAA,WACA;AAAA;AAAA,OACD,oBAEF,MA2DE,OA3DF;AAAA,QAAK,WAAU;AAAA,QAAf,UACE,4BACA,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,MAAC,WAAD;AAAA,YAAS,WAAU;AAAA,WAA6C;AAAA,SAC/D,IACC,OAAO,WAAW,oBACrB,OAaE,OAbF;AAAA,UAAK,WAAU;AAAA,UAAf,UAaE;AAAA,4BAZD,MAAC,WAAD;AAAA,cAAU,WAAU;AAAA,aAA0C;AAAA,4BAC9D,MAA0D,MAA1D;AAAA,cAAI,WAAU;AAAA,cAAd;AAAA,aAA0D;AAAA,4BAC1D,OASE,KATF;AAAA,cAAG,WAAU;AAAA,cAAb,UASE;AAAA,gBATF;AAAA,gBACkB;AAAA,gCACjB,MAEE,QAFF;AAAA,kBAAM,WAAU;AAAA,kBAAhB;AAAA,iBAEE;AAAA,gBAAM;AAAA,gBAJT;AAAA,gBAKI;AAAA,gCACH,MAEE,QAFF;AAAA,kBAAM,WAAU;AAAA,kBAAhB;AAAA,iBAEE;AAAA;AAAA,aACD;AAAA;AAAA,SACD,oBAEF,MAoCE,OApCF;AAAA,UAAK,WAAU;AAAA,UAAf,UACE,CAAC,OAAO,UAAU,QAAQ,QAAQ,QAAQ,EAAE,IAAI,CAAC,UAAU;AAAA,YAC3D,MAAM,cAAc,cAAc,IAAI,KAAK;AAAA,YAC3C,IAAI,CAAC,aAAa;AAAA,cAAQ,OAAO;AAAA,YACjC,MAAM,YAAY,YAAY,UAAU;AAAA,YACxC,uBACC,OA2BE,OA3BF;AAAA,wBA2BE;AAAA,gCA1BD,OAGE,OAHF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAGE;AAAA,oCAFD,MAAC,WAAD;AAAA,sBAAW,WAAU;AAAA,qBAAU;AAAA,oBAC9B,aAAa,UAAU;AAAA;AAAA,iBACvB;AAAA,gBACD,YAAY,IAAI,CAAC,0BACjB,MAmBE,UAnBF;AAAA,kBACC,MAAK;AAAA,kBAEL,SAAS,MAAM,YAAY,MAAM,IAAI;AAAA,kBACrC,WAAW,gEACV,kBAAkB,MAAM,OAAO,cAAc;AAAA,kBAL/C,0BAQC,OAUE,OAVF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UAUE;AAAA,sCATD,MAAC,WAAD;AAAA,wBAAU,WAAU;AAAA,uBAAkD;AAAA,sCACtE,OAOE,OAPF;AAAA,wBAAK,WAAU;AAAA,wBAAf,UAOE;AAAA,0CAND,MAEE,OAFF;AAAA,4BAAK,WAAU;AAAA,4BAAf,UACE,MAAM;AAAA,2BACN;AAAA,0CACF,MAEE,OAFF;AAAA,4BAAK,WAAU;AAAA,4BAAf,UACE,MAAM;AAAA,2BACN;AAAA;AAAA,uBACD;AAAA;AAAA,mBACD;AAAA,mBAhBG,GAAG,MAAM,SAAS,MAAM,MAiB5B,CACF;AAAA;AAAA,eA1BQ,KA2BR;AAAA,WAEH;AAAA,SACA;AAAA,OAEF;AAAA;AAAA,GAEF;AAAA,CAEH;;AExND,iBAAS;AACT,qBAAS;;AAGF,IAAM,sBAAsB,OAAK,SAAS,oBAAmB,GAAG;AAAA,EACtE,MAAM,aAAa,eAAe,CAAC,UAAU,MAAM,UAAU;AAAA,EAC7D,MAAM,gBAAgB,eAAe,CAAC,UAAU,MAAM,aAAa;AAAA,EAEnE,uBACC,MAWE,UAXF;AAAA,IACC,MAAK;AAAA,IACL,SAAS;AAAA,IACT,WAAW,yGACV,aACG,4BACA;AAAA,IAEJ,OAAM;AAAA,IARP,0BAUC,MAAC,WAAD;AAAA,MAAU,WAAU;AAAA,KAAwC;AAAA,GAC3D;AAAA,CAEH;;ACtBD,iBAAS,qBAAM;AACf,cAAS;AACT,kBAAS;AACT;AAAA,WACC;AAAA,iBACA;AAAA;;AAMD,IAAM,gBAAuC;AAAA,EAC5C,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,GAAG;AAAA,EACH,KAAK;AAAA,EACL,GAAG;AAAA,EACH,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,MAAM;AACP;AAEA,SAAS,aAAa,CAAC,MAAsB;AAAA,EAC5C,MAAM,MAAM,KAAK,MAAM,GAAG,EAAE,IAAI,GAAG,YAAY,KAAK;AAAA,EACpD,OAAO,cAAa,QAAQ;AAAA;AAGtB,IAAM,mBAAmB,OAAK,SAAS,iBAAgB,GAAG;AAAA,EAChE,MAAM,eAAe,eAAe,CAAC,MAAM,EAAE,YAAY;AAAA,EACzD,MAAM,cAAc,eAAe,CAAC,MAAM,EAAE,WAAW;AAAA,EACvD,MAAM,gBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa;AAAA,EAC3D,MAAM,cAAc,eAAe,CAAC,MAAM,EAAE,WAAW;AAAA,EAEvD,QAAQ,MAAM,gBAAgB,eAAe,aAAa;AAAA,EAC1D,QAAQ,MAAM,UAAU,WAAW,gBAAgB,oBAClD,eACA,WACD;AAAA,EAEA,MAAM,aAAa,gBAAgB;AAAA,EACnC,MAAM,UAAU,aAAa,aAAa,UAAU,UAAU;AAAA,EAC9D,MAAM,YAAY,aAAa,CAAC,cAAc;AAAA,EAC9C,MAAM,cAAc,aAAa,aAAc,eAAe;AAAA,EAC9D,MAAM,WAAW,cAAc,WAAW;AAAA,EAE1C,YAAU,MAAM;AAAA,IACf,MAAM,eAAe,CAAC,MAAqB;AAAA,MAC1C,MAAM,SAAS,EAAE;AAAA,MACjB,MAAM,YACL,OAAO,YAAY,WACnB,OAAO,YAAY,cACnB,OAAO;AAAA,MACR,KACE,EAAE,QAAQ,YAAa,EAAE,QAAQ,OAAO,CAAC,cAC1C,cACC;AAAA,QACD,YAAY;AAAA,MACb;AAAA;AAAA,IAGD,SAAS,iBAAiB,WAAW,YAAY;AAAA,IACjD,OAAO,MAAM,SAAS,oBAAoB,WAAW,YAAY;AAAA,KAC/D,CAAC,cAAc,WAAW,CAAC;AAAA,EAE9B,IAAI,CAAC,gBAAgB,CAAC;AAAA,IAAe,OAAO;AAAA,EAE5C,MAAM,cAAc,UAAU,gBAAgB,UAAU,SAAS,MAAM,IACpE,gBACA;AAAA,EAEH,uBACC,OA8DE,OA9DF;AAAA,IAAK,WAAU;AAAA,IAAf,UA8DE;AAAA,sBA7DD,OAsBE,OAtBF;AAAA,QAAK,WAAU;AAAA,QAAf,UAsBE;AAAA,0BArBD,MAOE,QAPF;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS;AAAA,YACT,OAAM;AAAA,YAJP,0BAMC,MAAC,KAAD;AAAA,cAAG,WAAU;AAAA,aAAU;AAAA,WACtB;AAAA,0BACF,OAWE,OAXF;AAAA,YAAK,WAAU;AAAA,YAAf,UAWE;AAAA,8BAVD,MAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UACE;AAAA,eACA;AAAA,8BACF,MAAmD,QAAnD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAmD;AAAA,8BACnD,MAKE,QALF;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO;AAAA,gBAFR,UAIE;AAAA,eACA;AAAA;AAAA,WACD;AAAA,0BACF,MAA4D,QAA5D;AAAA,YAAM,WAAU;AAAA,YAAhB,UAAiD;AAAA,WAAW;AAAA;AAAA,OAC3D;AAAA,sBAEF,MAoCE,OApCF;AAAA,QAAK,WAAU;AAAA,QAAf,UACE,4BACA,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf;AAAA,SAEE,IACC,0BACH,MAwBE,OAxBF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,MAsBE,qBAtBF;AAAA,YACC;AAAA,YACA,OAAO;AAAA,YACP,WAAS;AAAA,YACT,eAAa;AAAA,YACb,WAAW,OAAO;AAAA,cACjB,WAAW;AAAA,YACZ;AAAA,YACA,aAAa;AAAA,cACZ,QAAQ;AAAA,cACR,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,UAAU;AAAA,cACV,YAAY;AAAA,YACb;AAAA,YACA,cAAc;AAAA,cACb,OAAO;AAAA,gBACN,MAAM;AAAA,cACP;AAAA,YACD;AAAA,YAnBD,UAqBE;AAAA,WACA;AAAA,SACD,oBAEF,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf;AAAA,SAEE;AAAA,OAEF;AAAA;AAAA,GACD;AAAA,CAEH;;AC5JD,iBAAS,uBAAM;AACf;AAAA,kBACC;AAAA,iBACA;AAAA,gBACA;AAAA,YACA;AAAA,cACA;AAAA,gBACA;AAAA,eACA;AAAA;;AAQD,IAAM,aAAY;AAClB,IAAM,iBAAgB;AACtB,IAAM,aAAY;AAClB,IAAM,aAAY;AAElB,SAAS,aAAa,GAAG,WAAgC;AAAA,EACxD,MAAM,eAAe,oBAAoB,CAAC,MAAM,EAAE,YAAY;AAAA,EAC9D,MAAM,aAAa,aAAa,IAAI,OAAO;AAAA,EAE3C,QAAQ,MAAM,cAAc,YAAY,SAAS,UAAU;AAAA,EAE3D,IAAI,CAAC;AAAA,IAAY,OAAO;AAAA,EACxB,IAAI,WAAW;AAAA,IACd,uBACC,MAAqE,OAArE;AAAA,MAAK,WAAU;AAAA,MAAf;AAAA,KAAqE;AAAA,EAEvE;AAAA,EAEA,uBACC,MAUE,OAVF;AAAA,IAAK,WAAU;AAAA,IAAf,UACE,MAAM,MAAM,IAAI,CAAC,yBACjB,MAAC,UAAD;AAAA,MAEC,MAAM,KAAK;AAAA,MACX,MAAM,KAAK;AAAA,MACX,MAAM,KAAK;AAAA,MACX,YAAY,KAAK;AAAA,OAJZ,KAAK,IAKX,CACA;AAAA,GACA;AAAA;AAIJ,SAAS,QAAQ;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAME;AAAA,EACF,MAAM,eAAe,oBAAoB,CAAC,MAAM,EAAE,YAAY;AAAA,EAC9D,MAAM,YAAY,oBAAoB,CAAC,MAAM,EAAE,SAAS;AAAA,EACxD,MAAM,WAAW,oBAAoB,CAAC,MAAM,EAAE,QAAQ;AAAA,EACtD,MAAM,eAAe,oBAAoB,CAAC,MAAM,EAAE,YAAY;AAAA,EAC9D,MAAM,aAAa,aAAa,IAAI,IAAI;AAAA,EACxC,MAAM,aAAa,iBAAiB;AAAA,EAEpC,MAAM,cAAc,cAAY,MAAM;AAAA,IACrC,IAAI,SAAS,aAAa;AAAA,MACzB,UAAU,IAAI;AAAA,IACf,EAAO;AAAA,MACN,SAAS,IAAI;AAAA;AAAA,KAEZ,CAAC,MAAM,MAAM,WAAW,QAAQ,CAAC;AAAA,EAEpC,uBACC,OA8BE,OA9BF;AAAA,cA8BE;AAAA,sBA7BD,OA2BE,UA3BF;AAAA,QACC,MAAK;AAAA,QACL,SAAS;AAAA,QACT,WAAW,4GACV,aAAa,6BAA6B,wBACvC,aAAa,eAAe;AAAA,QALjC,UA2BE;AAAA,UApBA,SAAS,8BACT;AAAA,sBAWE;AAAA,cAVA,6BACA,MAAC,eAAD;AAAA,gBAAa,WAAU;AAAA,eAA8C,oBAErE,MAAC,gBAAD;AAAA,gBAAc,WAAU;AAAA,eAA8C;AAAA,cAEtE,6BACA,MAAC,aAAD;AAAA,gBAAY,WAAU;AAAA,eAA0C,oBAEhE,MAAC,SAAD;AAAA,gBAAQ,WAAU;AAAA,eAA0C;AAAA;AAAA,WAE5D,oBAEF;AAAA,sBAGE;AAAA,8BAFD,MAAC,QAAD;AAAA,gBAAM,WAAU;AAAA,eAAoB;AAAA,8BACpC,MAAC,WAAD;AAAA,gBAAU,WAAU;AAAA,eAAkD;AAAA;AAAA,WACrE;AAAA,0BAEH,MAAmC,QAAnC;AAAA,YAAM,WAAU;AAAA,YAAhB,UAA4B;AAAA,WAAO;AAAA;AAAA,OAClC;AAAA,MACD,SAAS,+BAAe,MAAC,eAAD;AAAA,QAAe,SAAS;AAAA,OAAM;AAAA;AAAA,GACtD;AAAA;AAIG,IAAM,qBAAqB,OAAK,SAAS,mBAAkB,GAAG;AAAA,EACpE,MAAM,aAAa,oBAAoB,CAAC,MAAM,EAAE,UAAU;AAAA,EAC1D,MAAM,kBAAkB,oBAAoB,CAAC,MAAM,EAAE,eAAe;AAAA,EACpE,MAAM,aAAa,mBAClB,CAAC,MAAM,EAAE,OAAO,eAAc,cAC/B;AAAA,EAEA,QAAQ,MAAM,UAAU,WAAW,YAAY,YAAY,GAAG;AAAA,EAE9D,IAAI,CAAC;AAAA,IAAY,OAAO;AAAA,EAExB,uBACC,OA+DE,OA/DF;AAAA,IACC,WAAU;AAAA,IACV,OAAO,EAAE,OAAO,WAAW;AAAA,IAF5B,UA+DE;AAAA,sBA3DD,MAAC,cAAD;AAAA,QACC,UAAU;AAAA,QACV,MAAK;AAAA,QACL,UAAU;AAAA,QACV,UAAU;AAAA,QACV,cAAc;AAAA,OACf;AAAA,sBACA,OAmDE,OAnDF;AAAA,QAAK,WAAU;AAAA,QAAf,UAmDE;AAAA,0BAlDD,OAQE,OARF;AAAA,YAAK,WAAU;AAAA,YAAf,UAQE;AAAA,8BAPD,OAGE,OAHF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAGE;AAAA,kCAFD,MAAC,aAAD;AAAA,oBAAY,WAAU;AAAA,mBAAgC;AAAA,kCACtD,MAAqC,QAArC;AAAA,oBAAM,WAAU;AAAA,oBAAhB;AAAA,mBAAqC;AAAA;AAAA,eACpC;AAAA,8BACF,MAEE,QAFF;AAAA,gBAAQ,SAAQ;AAAA,gBAAQ,MAAK;AAAA,gBAAO,SAAS;AAAA,gBAA7C,0BACC,MAAC,gBAAD;AAAA,kBAAc,WAAU;AAAA,iBAAU;AAAA,eACjC;AAAA;AAAA,WACD;AAAA,0BAEF,MAoBE,OApBF;AAAA,YAAK,WAAU;AAAA,YAAf,UACE,4BACA,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE,IACC,CAAC,YAAY,SAAS,MAAM,WAAW,oBAC1C,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE,IAEF,SAAS,MAAM,IAAI,CAAC,yBACnB,MAAC,UAAD;AAAA,cAEC,MAAM,KAAK;AAAA,cACX,MAAM,KAAK;AAAA,cACX,MAAM,KAAK;AAAA,cACX,YAAY,KAAK;AAAA,eAJZ,KAAK,IAKX,CACA;AAAA,WAED;AAAA,0BAEF,OAiBE,OAjBF;AAAA,YAAK,WAAU;AAAA,YAAf,UAiBE;AAAA,8BAhBD,OAGE,OAHF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAGE;AAAA,kCAFD,MAAC,aAAD;AAAA,oBAAY,WAAU;AAAA,mBAAwB;AAAA,kCAC9C,MAA0C,QAA1C;AAAA,oBAAM,WAAU;AAAA,oBAAhB;AAAA,mBAA0C;AAAA;AAAA,eACzC;AAAA,8BACF,MAWE,QAXF;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS,MAAM,QAAQ;AAAA,gBACvB,OAAM;AAAA,gBACN,WAAU;AAAA,gBACV,UAAU;AAAA,gBANX,0BAQC,MAAC,YAAD;AAAA,kBACC,WAAW,WAAW,YAAY,iBAAiB;AAAA,iBACpD;AAAA,eACC;AAAA;AAAA,WACD;AAAA;AAAA,OACD;AAAA;AAAA,GACD;AAAA,CAEH;;AC3LD,iBAAS;AACT,uBAAS;;AAGF,IAAM,2BAA2B,OACvC,SAAS,yBAAwB,GAAG;AAAA,EACnC,MAAM,aAAa,oBAAoB,CAAC,MAAM,EAAE,UAAU;AAAA,EAC1D,MAAM,gBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa;AAAA,EAEhE,uBACC,MAWE,UAXF;AAAA,IACC,MAAK;AAAA,IACL,SAAS;AAAA,IACT,WAAW,yGACV,aACG,4BACA;AAAA,IAEJ,OAAM;AAAA,IARP,0BAUC,MAAC,aAAD;AAAA,MAAY,WAAU;AAAA,KAAwC;AAAA,GAC7D;AAAA,CAGL;;ACxBA,iBAAS,qBAAM;AACf,cAAS;AACT,kBAAS;AACT;AAAA,WACC;AAAA,iBACA;AAAA;;AAMD,IAAM,gBAAuC;AAAA,EAC5C,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,GAAG;AAAA,EACH,KAAK;AAAA,EACL,GAAG;AAAA,EACH,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AACP;AAEA,SAAS,cAAa,CAAC,MAAsB;AAAA,EAC5C,MAAM,MAAM,KAAK,MAAM,GAAG,EAAE,IAAI,GAAG,YAAY,KAAK;AAAA,EACpD,OAAO,cAAa,QAAQ;AAAA;AAGtB,IAAM,kBAAkB,OAAK,SAAS,gBAAe,GAAG;AAAA,EAC9D,MAAM,eAAe,oBAAoB,CAAC,MAAM,EAAE,YAAY;AAAA,EAC9D,MAAM,eAAe,oBAAoB,CAAC,MAAM,EAAE,YAAY;AAAA,EAC9D,MAAM,cAAc,oBAAoB,CAAC,MAAM,EAAE,WAAW;AAAA,EAE5D,QAAQ,MAAM,cAAc,eAAe,YAAY;AAAA,EAEvD,YAAU,MAAM;AAAA,IACf,MAAM,eAAe,CAAC,MAAqB;AAAA,MAC1C,MAAM,SAAS,EAAE;AAAA,MACjB,MAAM,YACL,OAAO,YAAY,WACnB,OAAO,YAAY,cACnB,OAAO;AAAA,MACR,KACE,EAAE,QAAQ,YAAa,EAAE,QAAQ,OAAO,CAAC,cAC1C,cACC;AAAA,QACD,YAAY;AAAA,MACb;AAAA;AAAA,IAGD,SAAS,iBAAiB,WAAW,YAAY;AAAA,IACjD,OAAO,MAAM,SAAS,oBAAoB,WAAW,YAAY;AAAA,KAC/D,CAAC,cAAc,WAAW,CAAC;AAAA,EAE9B,IAAI,CAAC,gBAAgB,CAAC;AAAA,IAAc,OAAO;AAAA,EAE3C,MAAM,cAAc,UAAU,gBAAgB,UAAU,SAAS,MAAM,IACpE,gBACA;AAAA,EACH,MAAM,WAAW,eAAc,YAAY;AAAA,EAE3C,uBACC,OA+DE,OA/DF;AAAA,IAAK,WAAU;AAAA,IAAf,UA+DE;AAAA,sBA9DD,OAuBE,OAvBF;AAAA,QAAK,WAAU;AAAA,QAAf,UAuBE;AAAA,0BAtBD,OAOE,QAPF;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS;AAAA,YACT,OAAM;AAAA,YAJP,0BAMC,OAAC,KAAD;AAAA,cAAG,WAAU;AAAA,aAAU;AAAA,WACtB;AAAA,0BACF,OAYE,OAZF;AAAA,YAAK,WAAU;AAAA,YAAf,UAYE;AAAA,8BAXD,OAKE,QALF;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO;AAAA,gBAFR,UAIE;AAAA,eACA;AAAA,cACD,wBACA,OAEE,QAFF;AAAA,gBAAM,WAAU;AAAA,gBAAhB,UAEE;AAAA,kBADA,KAAK;AAAA,kBADP;AAAA;AAAA,eAEE;AAAA;AAAA,WAEF;AAAA,0BACF,OAA4D,QAA5D;AAAA,YAAM,WAAU;AAAA,YAAhB,UAAiD;AAAA,WAAW;AAAA;AAAA,OAC3D;AAAA,sBAEF,OAoCE,OApCF;AAAA,QAAK,WAAU;AAAA,QAAf,UACE,4BACA,OAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf;AAAA,SAEE,IACC,uBACH,OAwBE,OAxBF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACC,OAsBE,qBAtBF;AAAA,YACC;AAAA,YACA,OAAO;AAAA,YACP,WAAS;AAAA,YACT,eAAa;AAAA,YACb,WAAW,OAAO;AAAA,cACjB,WAAW;AAAA,YACZ;AAAA,YACA,aAAa;AAAA,cACZ,QAAQ;AAAA,cACR,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,UAAU;AAAA,cACV,YAAY;AAAA,YACb;AAAA,YACA,cAAc;AAAA,cACb,OAAO;AAAA,gBACN,MAAM;AAAA,cACP;AAAA,YACD;AAAA,YAnBD,UAqBE,KAAK;AAAA,WACL;AAAA,SACD,oBAEF,OAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf;AAAA,SAEE;AAAA,OAEF;AAAA;AAAA,GACD;AAAA,CAEH;;ACrJD,iBAAS,oBAAM,yBAAU,uBAAW,yBAAQ,0BAAa;AACzD,qBAAS,qBAAU;;;ACDnB,mBAAS;AASF,IAAM,qBAAqB,SAAwB,CAAC,SAAS;AAAA,EACnE,QAAQ;AAAA,EACR,MAAM,MAAM,IAAI,EAAE,QAAQ,KAAK,CAAC;AAAA,EAChC,OAAO,MAAM,IAAI,EAAE,QAAQ,MAAM,CAAC;AAAA,EAClC,QAAQ,MAAM,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,OAAO,EAAE;AACzD,EAAE;;;;ADRF,SAAS,UAAU,CAClB,OACA,QACoC;AAAA,EACpC,MAAM,IAAI,MAAM,YAAY;AAAA,EAC5B,MAAM,IAAI,OAAO,YAAY;AAAA,EAE7B,IAAI,EAAE,WAAW;AAAA,IAAG,OAAO,EAAE,OAAO,MAAM,OAAO,EAAE;AAAA,EACnD,IAAI,EAAE,SAAS,CAAC;AAAA,IAAG,OAAO,EAAE,OAAO,MAAM,OAAO,MAAM,EAAE,QAAQ,CAAC,EAAE;AAAA,EAEnE,IAAI,KAAK;AAAA,EACT,IAAI,QAAQ;AAAA,EACZ,IAAI,eAAe;AAAA,EAEnB,SAAS,KAAK,EAAG,KAAK,EAAE,UAAU,KAAK,EAAE,QAAQ,MAAM;AAAA,IACtD,IAAI,EAAE,QAAQ,EAAE,KAAK;AAAA,MACpB,SAAS;AAAA,MACT,IAAI,iBAAiB,KAAK;AAAA,QAAG,SAAS;AAAA,MACtC,IAAI,OAAO,KAAK,EAAE,KAAK,OAAO,OAAO,EAAE,KAAK,OAAO;AAAA,QAAK,SAAS;AAAA,MACjE,eAAe;AAAA,MACf;AAAA,IACD;AAAA,EACD;AAAA,EAEA,OAAO,EAAE,OAAO,OAAO,EAAE,QAAQ,MAAM;AAAA;AAGjC,IAAM,kBAAkB,OAAK,SAAS,gBAAe,GAAG;AAAA,EAC9D,MAAM,SAAS,mBAAmB,CAAC,MAAM,EAAE,MAAM;AAAA,EACjD,MAAM,QAAQ,mBAAmB,CAAC,MAAM,EAAE,KAAK;AAAA,EAC/C,MAAM,WAAW,oBAAoB,CAAC,MAAM,EAAE,QAAQ;AAAA,EACtD,MAAM,gBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa;AAAA,EAEhE,OAAO,OAAO,YAAY,WAAS,EAAE;AAAA,EACrC,OAAO,eAAe,oBAAoB,WAAS,CAAC;AAAA,EACpD,MAAM,WAAW,SAAyB,IAAI;AAAA,EAC9C,MAAM,UAAU,SAAuB,IAAI;AAAA,EAE3C,QAAQ,MAAM,cAAc,SAAS;AAAA,EAErC,MAAM,aAAa,UAClB,MAAM,IAAI,IAAI,WAAW,gBAAgB,CAAC,CAAC,GAC3C,CAAC,WAAW,YAAY,CACzB;AAAA,EAEA,MAAM,WAAW,UAAQ,MAAM;AAAA,IAC9B,IAAI,CAAC,WAAW;AAAA,MAAO,OAAO,CAAC;AAAA,IAC/B,IAAI,CAAC;AAAA,MAAO,OAAO,UAAU,MAAM,MAAM,GAAG,EAAE;AAAA,IAE9C,MAAM,UAAU,UAAU,MACxB,IAAI,CAAC,UAAU,EAAE,SAAS,WAAW,OAAO,IAAI,EAAE,EAAE,EACpD,OAAO,CAAC,MAAM,EAAE,KAAK,EACrB,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAChC,MAAM,GAAG,EAAE;AAAA,IAEb,OAAO,QAAQ,IAAI,CAAC,MAAM,EAAE,IAAI;AAAA,KAC9B,CAAC,WAAW,OAAO,KAAK,CAAC;AAAA,EAE5B,YAAU,MAAM;AAAA,IACf,IAAI,QAAQ;AAAA,MACX,SAAS,EAAE;AAAA,MACX,iBAAiB,CAAC;AAAA,MAClB,WAAW,MAAM,SAAS,SAAS,MAAM,GAAG,CAAC;AAAA,IAC9C;AAAA,KACE,CAAC,MAAM,CAAC;AAAA,EAEX,YAAU,MAAM;AAAA,IACf,MAAM,OAAO,QAAQ,SAAS,SAAS;AAAA,IAGvC,MAAM,eAAe,EAAE,OAAO,UAAU,CAAC;AAAA,KACvC,CAAC,aAAa,CAAC;AAAA,EAElB,MAAM,eAAe,cACpB,CAAC,SAAiB;AAAA,IACjB,cAAc;AAAA,IACd,SAAS,IAAI;AAAA,IACb,MAAM;AAAA,KAEP,CAAC,eAAe,UAAU,KAAK,CAChC;AAAA,EAEA,MAAM,gBAAgB,cACrB,CAAC,MAA2B;AAAA,IAC3B,IAAI,EAAE,QAAQ,eAAgB,EAAE,WAAW,EAAE,QAAQ,KAAM;AAAA,MAC1D,EAAE,eAAe;AAAA,MACjB,iBAAiB,CAAC,MAAM,KAAK,IAAI,IAAI,GAAG,SAAS,SAAS,CAAC,CAAC;AAAA,IAC7D,EAAO,SAAI,EAAE,QAAQ,aAAc,EAAE,WAAW,EAAE,QAAQ,KAAM;AAAA,MAC/D,EAAE,eAAe;AAAA,MACjB,iBAAiB,CAAC,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC;AAAA,IAC3C,EAAO,SAAI,EAAE,QAAQ,WAAW,SAAS,gBAAgB;AAAA,MACxD,EAAE,eAAe;AAAA,MACjB,aAAa,SAAS,cAAc;AAAA,IACrC,EAAO,SAAI,EAAE,QAAQ,UAAU;AAAA,MAC9B,EAAE,eAAe;AAAA,MACjB,MAAM;AAAA,IACP;AAAA,KAED,CAAC,UAAU,eAAe,cAAc,KAAK,CAC9C;AAAA,EAEA,MAAM,sBAAsB,cAC3B,CAAC,MAAwB;AAAA,IACxB,IAAI,EAAE,WAAW,EAAE;AAAA,MAAe,MAAM;AAAA,KAEzC,CAAC,KAAK,CACP;AAAA,EAEA,IAAI,CAAC;AAAA,IAAQ,OAAO;AAAA,EAEpB,uBACC,OA+EE,OA/EF;AAAA,IACC,MAAK;AAAA,IACL,cAAW;AAAA,IACX,WAAU;AAAA,IACV,SAAS;AAAA,IACT,WAAW,CAAC,MAAM;AAAA,MACjB,IAAI,EAAE,QAAQ;AAAA,QAAU,MAAM;AAAA;AAAA,IANhC,0BASC,OAqEE,OArEF;AAAA,MAAK,WAAU;AAAA,MAAf,UAqEE;AAAA,wBApED,OAiBE,OAjBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAiBE;AAAA,4BAhBD,OAAC,SAAD;AAAA,cAAQ,WAAU;AAAA,aAA8C;AAAA,4BAChE,OAAC,SAAD;AAAA,cACC,KAAK;AAAA,cACL,MAAK;AAAA,cACL,OAAO;AAAA,cACP,UAAU,CAAC,MAAM;AAAA,gBAChB,SAAS,EAAE,OAAO,KAAK;AAAA,gBACvB,iBAAiB,CAAC;AAAA;AAAA,cAEnB,WAAW;AAAA,cACX,aAAY;AAAA,cACZ,WAAU;AAAA,aACX;AAAA,4BACA,OAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE;AAAA;AAAA,SACD;AAAA,wBAEF,OA8BE,OA9BF;AAAA,UAAK,KAAK;AAAA,UAAS,WAAU;AAAA,UAA7B,UACE,SAAS,WAAW,oBACpB,OAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf,UACE,QAAQ,sBAAsB;AAAA,WAC9B,IAEF,SAAS,IAAI,CAAC,MAAM,QAAQ;AAAA,YAC3B,MAAM,YAAY,WAAW,IAAI,IAAI;AAAA,YACrC,uBACC,OAiBE,UAjBF;AAAA,cAEC,MAAK;AAAA,cACL,SAAS,MAAM,aAAa,IAAI;AAAA,cAChC,WAAW,gFACV,QAAQ,gBACL,qCACA,0CACA,YAAY,eAAe;AAAA,cARhC,UAiBE;AAAA,gCAPD,OAAC,WAAD;AAAA,kBAAU,WAAU;AAAA,iBAAkD;AAAA,gCACtE,OAAC,iBAAD;AAAA,kBAAiB,MAAM;AAAA,kBAAM;AAAA,iBAAc;AAAA,gBAC1C,6BACA,OAEE,QAFF;AAAA,kBAAM,WAAU;AAAA,kBAAhB;AAAA,iBAEE;AAAA;AAAA,eAdE,IAgBJ;AAAA,WAEH;AAAA,SAED;AAAA,QAED,SAAS,SAAS,qBAClB,OAcE,OAdF;AAAA,UAAK,WAAU;AAAA,UAAf,UAcE;AAAA,4BAbD,OAKE,QALF;AAAA,wBAKE;AAAA,gCAJD,OAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf;AAAA,iBAEE;AAAA,gBAAK;AAAA,gBAHR;AAAA;AAAA,aAKE;AAAA,4BACF,OAKE,QALF;AAAA,wBAKE;AAAA,gCAJD,OAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf;AAAA,iBAEE;AAAA,gBAAK;AAAA,gBAHR;AAAA;AAAA,aAKE;AAAA,4BACF,OAAmD,QAAnD;AAAA,cAAM,WAAU;AAAA,cAAhB,UAAmD;AAAA,gBAAxB,SAAS;AAAA,gBAApC;AAAA;AAAA,aAAmD;AAAA;AAAA,SAClD;AAAA;AAAA,KAEF;AAAA,GACD;AAAA,CAEH;AAED,SAAS,eAAe,GAAG,MAAM,SAA0C;AAAA,EAC1E,IAAI,CAAC,OAAO;AAAA,IACX,uBAAO,OAAqD,QAArD;AAAA,MAAM,WAAU;AAAA,MAAhB,UAA8C;AAAA,KAAO;AAAA,EAC7D;AAAA,EAEA,MAAM,YAAY,KAAK,YAAY;AAAA,EACnC,MAAM,aAAa,MAAM,YAAY;AAAA,EACrC,MAAM,MAAM,UAAU,QAAQ,UAAU;AAAA,EAExC,IAAI,OAAO,GAAG;AAAA,IACb,uBACC,OAME,QANF;AAAA,MAAM,WAAU;AAAA,MAAhB,UAME;AAAA,QALA,KAAK,MAAM,GAAG,GAAG;AAAA,wBAClB,OAEE,QAFF;AAAA,UAAM,WAAU;AAAA,UAAhB,UACE,KAAK,MAAM,KAAK,MAAM,MAAM,MAAM;AAAA,SAClC;AAAA,QACD,KAAK,MAAM,MAAM,MAAM,MAAM;AAAA;AAAA,KAC7B;AAAA,EAEJ;AAAA,EAEA,uBAAO,OAAqD,QAArD;AAAA,IAAM,WAAU;AAAA,IAAhB,UAA8C;AAAA,GAAO;AAAA;;AE7N7D,iBAAS;;;ACAT,iBAAS,qBAAM,yBAAW,sBAAU;AACpC;AAAA,UACC;AAAA,WACA;AAAA,gBACA;AAAA,aACA;AAAA,OACA;AAAA,SACA;AAAA,kBACA;AAAA,gBACA;AAAA,eACA;AAAA;AAED,sBAAS;;AA4EF,IAAM,oBAAoB,OAAK,SAAS,kBAAiB;AAAA,EAC/D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAC0B;AAAA,EAC1B,OAAO,QAAQ,aAAa,WAAS,KAAK;AAAA,EAC1C,OAAO,aAAa,kBAAkB,WAAS,KAAK;AAAA,EACpD,OAAO,mBAAmB,wBAAwB,WAAS,KAAK;AAAA,EAChE,OAAO,kBAAkB,uBAAuB,WAAS,EAAE;AAAA,EAC3D,OAAO,mBAAmB,wBAAwB,WAAS,KAAK;AAAA,EAChE,OAAO,mBAAmB,wBAAwB,WACjD,IACD;AAAA,EACA,OAAO,gBAAgB,qBAAqB,WAAwB,IAAI;AAAA,EACxE,OAAO,aAAa,kBAAkB,WAAS,EAAE;AAAA,EACjD,OAAO,kBAAkB,uBAAuB,WAAwB,IAAI;AAAA,EAC5E,OAAO,kBAAkB,uBAAuB,WAAwB,IAAI;AAAA,EAC5E,OAAO,cAAc,mBAAmB,WAI9B,IAAI;AAAA,EACd,OAAO,gBAAgB,qBAAqB,WAAS,EAAE;AAAA,EACvD,OAAO,kBAAkB,uBAAuB,WAAS,KAAK;AAAA,EAC9D,OAAO,gBAAgB,qBAAqB,WAAS,KAAK;AAAA,EAC1D,OAAO,eAAe,oBAAoB,WAKhC,IAAI;AAAA,EACd,OAAO,gBAAgB,qBAAqB,WAAS,KAAK;AAAA,EAC1D,OAAO,cAAc,mBAAmB,WAAwB,IAAI;AAAA,EACpE,OAAO,iBAAiB,sBAAsB,WAC7C,OACD;AAAA,EACA,OAAO,mBAAmB,wBAAwB,WAAS,EAAE;AAAA,EAC7D,OAAO,oBAAoB,yBAAyB,WAAS,KAAK;AAAA,EAClE,OAAO,oBAAoB,yBAAyB,WAAS,KAAK;AAAA,EAClE,OAAO,oBAAoB,yBAAyB,WAI1C,IAAI;AAAA,EACd,OAAO,oBAAoB,yBAAyB,WAU1C,IAAI;AAAA,EACd,OAAO,mBAAmB,wBAAwB,WAAS,KAAK;AAAA,EAChE,OAAO,kBAAkB,uBAAuB,WAAS,KAAK;AAAA,EAC9D,OAAO,gBAAgB,qBAAqB,WAAS,KAAK;AAAA,EAC1D,MAAM,iBAAiB,SAAsC,SAAS;AAAA,EACtE,MAAM,sBAAsB,SAAO,KAAK;AAAA,EACxC,MAAM,mBAAmB,SAAO,uBAAuB;AAAA,EACvD,iBAAiB,UAAU;AAAA,EAC3B,MAAM,UAAU,aAAa,CAAC,MAAM,EAAE,OAAO;AAAA,EAC7C,MAAM,cAAc,aAAa,CAAC,MAAM,EAAE,WAAW;AAAA,EACrD,MAAM,OAAO,aAAa,CAAC,MAAM,EAAE,IAAI;AAAA,EACvC,MAAM,eAAe,aAAa,CAAC,MAAM,EAAE,YAAY;AAAA,EACvD,MAAM,mBAAmB,aAAa,CAAC,MAAM,EAAE,SAAS;AAAA,EACxD,MAAM,iBAAiB,SAAyB,IAAI;AAAA,EACpD,MAAM,oBAAoB,SAAyB,IAAI;AAAA,EACvD,MAAM,sBAAsB,SAA4B,IAAI;AAAA,EAC5D,MAAM,mBAAmB,aAAa,CAAC,MAAM,EAAE,gBAAgB;AAAA,EAC/D,MAAM,qBAAqB,SAAO,KAAK;AAAA,EACvC,QAAQ,iBAAiB,eAAe,MAAM;AAAA,EAC9C,MAAM,gBAAgB,MAAM,yBAAyB,WAAW;AAAA,EAChE,MAAM,kBAAkB,cAAc,SACnC,OAAO,aAAa,oBAAoB,GAAG,QAAQ,CAAC,cACpD,IAAI,cAAc,QAAQ,CAAC;AAAA,EAG9B,YAAU,MAAM;AAAA,IACf,IAAI,mBAAmB,WAAW,CAAC,kBAAkB;AAAA,MAEpD,aAAa;AAAA,IACd;AAAA,IACA,mBAAmB,UAAU;AAAA,KAC3B,CAAC,kBAAkB,YAAY,CAAC;AAAA,EAEnC,YAAU,MAAM;AAAA,IACf,IAAI,CAAC,WAAW,KAAK,cAAc,CAAC,aAAa;AAAA,MAChD,eAAe,IAAI;AAAA,MACnB,cAAc,EAAE,QAAQ,MAAM,eAAe,KAAK,CAAC;AAAA,IACpD;AAAA,KACE,CAAC,WAAW,KAAK,YAAY,eAAe,WAAW,CAAC;AAAA,EAE3D,YAAU,MAAM;AAAA,IACf,IAAI,kBAAkB,eAAe,SAAS;AAAA,MAC7C,eAAe,QAAQ,MAAM;AAAA,IAC9B;AAAA,KACE,CAAC,cAAc,CAAC;AAAA,EAEnB,YAAU,MAAM;AAAA,IACf,IAAI,gBAAgB,kBAAkB,SAAS;AAAA,MAC9C,kBAAkB,QAAQ,MAAM;AAAA,IACjC;AAAA,KACE,CAAC,YAAY,CAAC;AAAA,EAEjB,YAAU,MAAM;AAAA,IACf,IAAI,qBAAqB,oBAAoB,SAAS;AAAA,MACrD,oBAAoB,QAAQ,MAAM;AAAA,IACnC;AAAA,KACE,CAAC,iBAAiB,CAAC;AAAA,EAEtB,YAAU,MAAM;AAAA,IACf,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,iBAAiB;AAAA,MAAS;AAAA,IACpE,oBAAoB,UAAU;AAAA,IAC9B,MAAM,iBAAiB,KAAK,KAC1B,cAAc,YAAY,KAAK,OAAO,MACvC,IACD;AAAA,IACA,MAAM,eAAe,MAAM;AAAA,MAC1B,eAAe,UAAU,WAAW,YAAY;AAAA,QAC/C,IAAI,oBAAoB;AAAA,UAAS;AAAA,QACjC,IAAI;AAAA,UACH,MAAM,SAAS,iBAAiB;AAAA,UAChC,IAAI,CAAC;AAAA,YAAQ;AAAA,UACb,MAAM,SAAS,MAAM,OAAO,cAAc,SAAS;AAAA,UACnD,IAAI,oBAAoB;AAAA,YAAS;AAAA,UACjC,IAAI,OAAO,WAAW,YAAY;AAAA,YACjC,iBAAiB,IAAI;AAAA,YACrB,kBAAkB,KAAK;AAAA,YACvB,gBAAgB,IAAI;AAAA,YACpB,oBAAoB,KAAK;AAAA,UAC1B,EAAO,SAAI,OAAO,WAAW,SAAS;AAAA,YACrC,gBAAgB,OAAO,SAAS,sBAAsB;AAAA,YACtD,kBAAkB,KAAK;AAAA,UACxB,EAAO;AAAA,YACN,aAAa;AAAA;AAAA,UAEb,MAAM;AAAA,UACP,IAAI,CAAC,oBAAoB;AAAA,YAAS,aAAa;AAAA;AAAA,SAE9C,cAAc;AAAA;AAAA,IAElB,aAAa;AAAA,IACb,MAAM,UAAU,WAAW,MAAM;AAAA,MAChC,kBAAkB,KAAK;AAAA,MACvB,gBAAgB,4CAA4C;AAAA,OAC1D,MAAM;AAAA,IACT,OAAO,MAAM;AAAA,MACZ,oBAAoB,UAAU;AAAA,MAC9B,IAAI,eAAe;AAAA,QAAS,aAAa,eAAe,OAAO;AAAA,MAC/D,aAAa,OAAO;AAAA;AAAA,KAEnB,CAAC,gBAAgB,aAAa,CAAC;AAAA,EAElC,MAAM,aAAa,YAAY;AAAA,IAC9B,IAAI,WAAW,KAAK,WAAW;AAAA,MAC9B,MAAM,UAAU,UAAU,UAAU,WAAW,KAAK,SAAS;AAAA,MAC7D,UAAU,IAAI;AAAA,MACd,WAAW,MAAM,UAAU,KAAK,GAAG,IAAI;AAAA,IACxC;AAAA;AAAA,EAGD,MAAM,kBAAkB,CAAC,SACxB,GAAG,KAAK,MAAM,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE;AAAA,EAEvC,MAAM,oBAAoB,OAAO,eAAuB;AAAA,IACvD,IAAI,CAAC,YAAY,KAAK;AAAA,MAAG;AAAA,IACzB,IAAI;AAAA,MACH,MAAM,cAAc,YAAY,YAAY,KAAK,CAAC;AAAA,MAClD,kBAAkB,IAAI;AAAA,MACtB,eAAe,EAAE;AAAA,MAChB,MAAM;AAAA;AAAA,EAGT,MAAM,uBAAuB,OAAO,eAAuB;AAAA,IAC1D,IAAI,qBAAqB,YAAY;AAAA,MACpC,oBAAoB,UAAU;AAAA,MAC9B,IAAI;AAAA,QACH,MAAM,iBAAiB,UAAU;AAAA,gBAChC;AAAA,QACD,oBAAoB,IAAI;AAAA,QACxB,oBAAoB,IAAI;AAAA;AAAA,IAE1B,EAAO;AAAA,MACN,oBAAoB,UAAU;AAAA;AAAA;AAAA,EAIhC,MAAM,qBAAqB,MAAM;AAAA,IAChC,oBAAoB,IAAI;AAAA;AAAA,EAGzB,MAAM,kCAAkC,MAAM;AAAA,IAC7C,IAAI,CAAC;AAAA,MAA0B;AAAA,IAC/B,kBAAkB,IAAI;AAAA,IACtB,gBAAgB,IAAI;AAAA,IACpB,yBAAyB,EACvB,KAAK,CAAC,SAAS;AAAA,MACf,iBAAiB,IAAI;AAAA,MACrB,kBAAkB,KAAK;AAAA,KACvB,EACA,MAAM,CAAC,QAAQ;AAAA,MACf,gBACC,eAAe,QAAQ,IAAI,UAAU,6BACtC;AAAA,MACA,kBAAkB,KAAK;AAAA,KACvB;AAAA;AAAA,EAGH,MAAM,mBAAmB,OAAO,YAAoB,SAAkB;AAAA,IACrE,IAAI,eAAe,aAAa;AAAA,MAC/B,gBAAgB,EAAE,UAAU,YAAY,WAAW,MAAM,KAAK,CAAC;AAAA,IAChE,EAAO,SAAI,eAAe,WAAW;AAAA,MACpC,mBAAmB,OAAO;AAAA,MAC1B,qBAAqB,EAAE;AAAA,MACvB,sBAAsB,IAAI;AAAA,MAC1B,sBAAsB,IAAI;AAAA,MAC1B,kBAAkB,KAAK;AAAA,MACvB,iBAAiB,IAAI;AAAA,MACrB,gBAAgB,IAAI;AAAA,MACpB,oBAAoB,IAAI;AAAA,MAExB,IAAI,yBAAyB;AAAA,QAC5B,wBAAwB,EACtB,KAAK,CAAC,YAAY,sBAAsB,OAAO,CAAC,EAChD,MAAM,MAAM,EAAE;AAAA,MACjB;AAAA,MAEA,IAAI,yBAAyB;AAAA,QAC5B,wBAAwB,EACtB,KAAK,CAAC,gBAAgB,sBAAsB,WAAW,CAAC,EACxD,MAAM,MAAM,EAAE;AAAA,MACjB;AAAA,MAEA,gCAAgC;AAAA,IACjC,EAAO;AAAA,MACN,aAAa,YAAY,IAAI;AAAA;AAAA;AAAA,EAI/B,MAAM,kBAAkB,YAAY;AAAA,IACnC,IAAI,CAAC;AAAA,MAAc;AAAA,IACnB,kBAAkB,IAAI;AAAA,IACtB,IAAI;AAAA,MACH,QAAQ,cAAc,MAAM,mBAC3B,aAAa,UACb,aAAa,IACd;AAAA,MACA,gBAAgB,KAAK,cAAc,UAAU,CAAC;AAAA,MAC7C,OAAO,KAAK;AAAA,MACb,QAAQ,MAAM,0BAA0B,GAAG;AAAA;AAAA,IAE5C,kBAAkB,KAAK;AAAA;AAAA,EAGxB,MAAM,qBAAqB,YAAY;AAAA,IACtC,IAAI,CAAC,gBAAgB,CAAC,aAAa,aAAa,CAAC,eAAe,KAAK;AAAA,MACpE;AAAA,IACD,oBAAoB,IAAI;AAAA,IACxB,IAAI;AAAA,MACH,MAAM,oBACL,aAAa,UACb,eAAe,KAAK,GACpB,aAAa,SACd;AAAA,MACA,gBAAgB,IAAI;AAAA,MACpB,kBAAkB,EAAE;AAAA,MACnB,MAAM;AAAA,IACR,oBAAoB,KAAK;AAAA;AAAA,EAG1B,MAAM,oBAAoB,MAAM;AAAA,IAC/B,gBAAgB,IAAI;AAAA,IACpB,kBAAkB,EAAE;AAAA;AAAA,EAGrB,MAAM,0BAA0B,MAAM;AAAA,IACrC,IAAI,CAAC;AAAA,MAAe;AAAA,IACpB,QAAQ,cAAc,eAAe;AAAA,IACrC,kBAAkB,IAAI;AAAA;AAAA,EAGvB,MAAM,0BAA0B,CAAC,SAA4B;AAAA,IAC5D,mBAAmB,IAAI;AAAA,IACvB,gBAAgB,IAAI;AAAA,IACpB,IAAI,SAAS,SAAS;AAAA,MACrB,kBAAkB,KAAK;AAAA,IACxB;AAAA,IACA,IAAI,SAAS,WAAW,CAAC,iBAAiB,CAAC,gBAAgB;AAAA,MAC1D,gCAAgC;AAAA,IACjC;AAAA;AAAA,EAGD,MAAM,yBAAyB,YAAY;AAAA,IAC1C,IAAI,CAAC,kBAAkB,KAAK,KAAK,CAAC;AAAA,MAAoB;AAAA,IACtD,sBAAsB,IAAI;AAAA,IAC1B,gBAAgB,IAAI;AAAA,IACpB,IAAI;AAAA,MACH,MAAM,mBAAmB,kBAAkB,KAAK,CAAC;AAAA,MACjD,oBAAoB;AAAA,MACnB,OAAO,KAAK;AAAA,MACb,gBACC,eAAe,QAAQ,IAAI,UAAU,8BACtC;AAAA,cACC;AAAA,MACD,sBAAsB,KAAK;AAAA;AAAA;AAAA,EAI7B,MAAM,4BAA4B,YAAY;AAAA,IAC7C,IAAI,CAAC;AAAA,MAA4B;AAAA,IACjC,sBAAsB,IAAI;AAAA,IAC1B,gBAAgB,IAAI;AAAA,IACpB,IAAI;AAAA,MACH,MAAM,2BAA2B;AAAA,MACjC,oBAAoB;AAAA,MACnB,OAAO,KAAK;AAAA,MACb,gBACC,eAAe,QACZ,IAAI,UACJ,wCACJ;AAAA,cACC;AAAA,MACD,sBAAsB,KAAK;AAAA;AAAA;AAAA,EAI7B,MAAM,wBAAwB,YAAY;AAAA,IACzC,IAAI,CAAC;AAAA,MAAe;AAAA,IACpB,MAAM,UAAU,UAAU,UAAU,cAAc,QAAQ;AAAA,IAC1D,qBAAqB,IAAI;AAAA,IACzB,WAAW,MAAM,qBAAqB,KAAK,GAAG,IAAI;AAAA;AAAA,EAGnD,MAAM,sBAAsB,MAAM;AAAA,IACjC,iBAAiB,IAAI;AAAA,IACrB,kBAAkB,KAAK;AAAA,IACvB,gBAAgB,IAAI;AAAA,IACpB,qBAAqB,EAAE;AAAA,IACvB,sBAAsB,KAAK;AAAA,IAC3B,sBAAsB,KAAK;AAAA,IAC3B,mBAAmB,OAAO;AAAA,IAC1B,qBAAqB,KAAK;AAAA,IAC1B,oBAAoB,KAAK;AAAA,IACzB,kBAAkB,KAAK;AAAA,IACvB,oBAAoB,UAAU;AAAA,IAC9B,IAAI,eAAe,SAAS;AAAA,MAC3B,aAAa,eAAe,OAAO;AAAA,MACnC,eAAe,UAAU;AAAA,IAC1B;AAAA;AAAA,EAGD,MAAM,yBAAyB,MAAM;AAAA,IACpC,qBAAqB,IAAI;AAAA,IACzB,oBAAoB,EAAE;AAAA,IACtB,qBAAqB,IAAI;AAAA;AAAA,EAG1B,MAAM,0BAA0B,MAAM;AAAA,IACrC,IAAI;AAAA,MAAmB;AAAA,IACvB,qBAAqB,KAAK;AAAA,IAC1B,qBAAqB,IAAI;AAAA,IACzB,oBAAoB,EAAE;AAAA;AAAA,EAGvB,MAAM,qBAAqB,YAAY;AAAA,IACtC,IAAI,CAAC,iBAAiB,KAAK,KAAK;AAAA,MAAmB;AAAA,IACnD,qBAAqB,IAAI;AAAA,IACzB,qBAAqB,IAAI;AAAA,IACzB,IAAI;AAAA,MACH,MAAM,eAAe,iBAAiB,KAAK,CAAC;AAAA,MAC5C,qBAAqB,KAAK;AAAA,MAC1B,oBAAoB,EAAE;AAAA,MACtB,aAAa;AAAA,MACZ,OAAO,KAAK;AAAA,MACb,qBACC,eAAe,QAAQ,IAAI,UAAU,yBACtC;AAAA,cACC;AAAA,MACD,qBAAqB,KAAK;AAAA;AAAA;AAAA,EAI5B,MAAM,sBAAsB,OAAO,QAAQ,WAAW,SAAS,EAAE,OAChE,EAAE,IAAI,UAAU,KAAK,cAAc,OAAO,MAC3C;AAAA,EACA,MAAM,wBAAwB,OAAO,QAAQ,WAAW,SAAS,EAAE,OAClE,EAAE,IAAI,UAAU,CAAC,KAAK,cAAc,OAAO,MAC5C;AAAA,EAEA,uBACC,OAyqBE,OAzqBF;AAAA,IAAK,WAAU;AAAA,IAAf,UAyqBE;AAAA,MAxqBA,CAAC,8BACD,OAWE,OAXF;AAAA,QAAK,WAAU;AAAA,QAAf,UAWE;AAAA,0BAVD,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFD,OAAC,cAAD;AAAA,gBAAc,UAAS;AAAA,gBAAO,MAAM;AAAA,eAAI;AAAA,8BACxC,OAAsD,QAAtD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAsD;AAAA;AAAA,WACrD;AAAA,UACD,CAAC,8BACD,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFD,OAAC,QAAD;AAAA,gBAAM,WAAU;AAAA,eAAoC;AAAA,cADrD;AAAA;AAAA,WAGE;AAAA;AAAA,OAEF;AAAA,sBAIH,OAgTE,OAhTF;AAAA,QACC,WAAW,sCAAsC,aAAa,2BAA2B;AAAA,QAD1F,0BAGC,OA4SE,OA5SF;AAAA,UAAK,WAAU;AAAA,UAAf,UA4SE;AAAA,4BA1SD,OASE,OATF;AAAA,cAAK,WAAU;AAAA,cAAf,UASE;AAAA,gCARD,OAEE,MAFF;AAAA,kBAAI,WAAU;AAAA,kBAAd,UACE,aAAa,qBAAqB;AAAA,iBAClC;AAAA,gCACF,OAIE,KAJF;AAAA,kBAAG,WAAU;AAAA,kBAAb,UACE,aACE,sEACA;AAAA,iBACF;AAAA;AAAA,aACD;AAAA,4BAEF,OA8RE,OA9RF;AAAA,cAAK,WAAU;AAAA,cAAf,UA8RE;AAAA,gCA5RD,OAiGE,OAjGF;AAAA,4CACC,OA+FE,OA/FF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UACE,WAAW,KAAK,cAAc,WAAW,KAAK,4BAC9C,OAuFE,OAvFF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UAuFE;AAAA,wCArFD,OAQE,OARF;AAAA,0BAAK,WAAU;AAAA,0BAAf,UAQE;AAAA,4CAPD,OAAC,cAAD;AAAA,8BAAc,UAAS;AAAA,8BAAO,MAAM;AAAA,6BAAI;AAAA,4CACxC,OAEE,QAFF;AAAA,8BAAM,WAAU;AAAA,8BAAhB;AAAA,6BAEE;AAAA,4CACF,OAEE,QAFF;AAAA,8BAAM,WAAU;AAAA,8BAAhB;AAAA,6BAEE;AAAA;AAAA,yBACD;AAAA,wCAEF,OAQE,OARF;AAAA,0BAAK,WAAU;AAAA,0BAAf,0BACC,OAME,OANF;AAAA,4BAAK,WAAU;AAAA,4BAAf,0BACC,OAAC,YAAD;AAAA,8BACC,OAAO,WAAW,KAAK;AAAA,8BACvB,MAAM;AAAA,8BACN,OAAM;AAAA,6BACP;AAAA,2BACC;AAAA,yBACD;AAAA,wCAEF,OAqCE,OArCF;AAAA,0BAAK,WAAU;AAAA,0BAAf,UAqCE;AAAA,4CApCD,OAWE,UAXF;AAAA,8BACC,MAAK;AAAA,8BACL,SAAS;AAAA,8BACT,WAAU;AAAA,8BAHX,UAWE;AAAA,gCANA,gBAAgB,WAAW,KAAK,SAAS;AAAA,gCACzC,yBACA,OAAC,SAAD;AAAA,kCAAO,WAAU;AAAA,iCAA6B,oBAE9C,OAAC,OAAD;AAAA,kCAAM,WAAU;AAAA,iCAAoC;AAAA;AAAA,6BAEpD;AAAA,4CAEF,OAsBE,OAtBF;AAAA,8BAAK,WAAU;AAAA,8BAAf,UAsBE;AAAA,gDArBD,OAgBE,OAhBF;AAAA,kCAAK,WAAU;AAAA,kCAAf,UAgBE;AAAA,oDAfD,OAIE,OAJF;AAAA,sCAAK,WAAU;AAAA,sCAAf,0BACC,OAEE,QAFF;AAAA,wCAAM,WAAU;AAAA,wCAAhB,UACE;AAAA,uCACA;AAAA,qCACD;AAAA,oDACF,OASE,UATF;AAAA,sCACC,MAAK;AAAA,sCACL,SAAS;AAAA,sCACT,UAAU;AAAA,sCACV,WAAU;AAAA,sCAJX,0BAMC,OAAC,aAAD;AAAA,wCACC,WAAW,WAAW,mBAAmB,iBAAiB;AAAA,uCAC3D;AAAA,qCACC;AAAA;AAAA,iCACD;AAAA,gDACF,OAGE,QAHF;AAAA,kCAAM,WAAU;AAAA,kCAAhB,UAGE;AAAA,oCAHF;AAAA,qCACY,WAAW,GAAG,QAAQ,CAAC;AAAA,oCADnC;AAAA,oCACgD;AAAA,qCAC7C,eAAe,GAAG,QAAQ,CAAC;AAAA,oCAF9B;AAAA;AAAA,iCAGE;AAAA;AAAA,6BACD;AAAA;AAAA,yBACD;AAAA,wCAGF,OAME,OANF;AAAA,0BAAK,WAAU;AAAA,0BAAf,UAME;AAAA,4CALD,OAAC,OAAD;AAAA,8BAAK,WAAU;AAAA,6BAAwB;AAAA,4CACvC,OAEE,QAFF;AAAA,8BAAM,WAAU;AAAA,8BAAhB;AAAA,6BAEE;AAAA,4CACF,OAAC,OAAD;AAAA,8BAAK,WAAU;AAAA,6BAAwB;AAAA;AAAA,yBACtC;AAAA,wCAEF,OAOE,UAPF;AAAA,0BACC,MAAK;AAAA,0BACL,SAAS;AAAA,0BACT,WAAU;AAAA,0BAHX,UAOE;AAAA,4CAFD,OAAC,aAAD;AAAA,8BAAY,WAAU;AAAA,6BAAU;AAAA,4BALjC;AAAA;AAAA,yBAOE;AAAA,wCAEF,OAOE,UAPF;AAAA,0BACC,MAAK;AAAA,0BACL,SAAS;AAAA,0BACT,WAAU;AAAA,0BAHX,UAOE;AAAA,4CAFD,OAAC,MAAD;AAAA,8BAAK,WAAU;AAAA,6BAAU;AAAA,4BAL1B;AAAA;AAAA,yBAOE;AAAA;AAAA,qBACD,oBAEF,OAEE,OAFF;AAAA,sBAAK,WAAU;AAAA,sBAAf,0BACC,OAAC,WAAD;AAAA,wBAAS,WAAU;AAAA,uBAA6C;AAAA,qBAC/D;AAAA,mBAEF;AAAA,iBACD;AAAA,gCAGF,OAuLE,OAvLF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAuLE;AAAA,oCArLD,OAkFE,OAlFF;AAAA,gCAkFE;AAAA,wCAjFD,OASE,OATF;AAAA,0BAAK,WAAU;AAAA,0BAAf,UASE;AAAA,4CARD,OAEE,MAFF;AAAA,8BAAI,WAAU;AAAA,8BAAd;AAAA,6BAEE;AAAA,4BACD,oBAAoB,SAAS,qBAC7B,OAEE,QAFF;AAAA,8BAAM,WAAU;AAAA,8BAAhB,UAEE;AAAA,gCADA,oBAAoB;AAAA,gCADtB;AAAA;AAAA,6BAEE;AAAA;AAAA,yBAEF;AAAA,wBAED,oBAAoB,WAAW,oBAC/B,OAEE,OAFF;AAAA,0BAAK,WAAU;AAAA,0BAAf;AAAA,yBAEE,oBAEF,OA+DE,OA/DF;AAAA,0BAAK,WAAU;AAAA,0BAAf,UACE,oBAAoB,IAAI,EAAE,IAAI,0BAC9B,OA2DE,OA3DF;AAAA,4BAEC,WAAW,mFACV,qBAAqB,KAClB,mDACA;AAAA,4BALL,UA2DE;AAAA,8CAnDD,OAAC,cAAD;AAAA,gCAAc,UAAU;AAAA,gCAAI,MAAM;AAAA,+BAAI;AAAA,8CACtC,OAQE,QARF;AAAA,gCACC,WAAW,yCACV,qBAAqB,KAClB,qBACA;AAAA,gCAJL,UAOE,KAAK;AAAA,+BACL;AAAA,8BACD,qBAAqB,sBACrB,OAEE,QAFF;AAAA,gCAAM,WAAU;AAAA,gCAAhB,UACE,KAAK,SAAS,UAAU,UAAU;AAAA,+BAClC;AAAA,8BAEF,qBAAqB,qBACrB,OAuBE,OAvBF;AAAA,gCAAK,WAAU;AAAA,gCAAf,UAuBE;AAAA,kDAtBD,OAEE,QAFF;AAAA,oCAAM,WAAU;AAAA,oCAAhB;AAAA,mCAEE;AAAA,kDACF,OAWE,UAXF;AAAA,oCACC,MAAK;AAAA,oCACL,SAAS,MAAM,qBAAqB,EAAE;AAAA,oCACtC,UAAU,qBAAqB;AAAA,oCAC/B,WAAU;AAAA,oCAJX,UAME,qBAAqB,qBACrB,OAAC,WAAD;AAAA,sCAAS,WAAU;AAAA,qCAAuB,IAE1C;AAAA,mCAEA;AAAA,kDACF,OAME,UANF;AAAA,oCACC,MAAK;AAAA,oCACL,SAAS;AAAA,oCACT,WAAU;AAAA,oCAHX;AAAA,mCAME;AAAA;AAAA,+BACD,IAEF,OAAO,0BACN,OAME,UANF;AAAA,gCACC,MAAK;AAAA,gCACL,SAAS,MAAM,qBAAqB,EAAE;AAAA,gCACtC,WAAU;AAAA,gCAHX,0BAKC,OAAC,KAAD;AAAA,kCAAG,WAAU;AAAA,iCAAU;AAAA,+BACtB;AAAA;AAAA,6BAvDC,EA0DJ,CACF;AAAA,yBACA;AAAA;AAAA,qBAEF;AAAA,oCAGF,OA+FE,OA/FF;AAAA,gCA+FE;AAAA,wCA9FD,OAEE,MAFF;AAAA,0BAAI,WAAU;AAAA,0BAAd;AAAA,yBAEE;AAAA,wCACF,OA0FE,OA1FF;AAAA,0BAAK,WAAU;AAAA,0BAAf,UACE,sBAAsB,IAAI,EAAE,IAAI,0BAChC,OAsFE,OAtFF;AAAA,sCACE,mBAAmB,qBACnB,OAqCE,OArCF;AAAA,8BAAK,WAAU;AAAA,8BAAf,UAqCE;AAAA,gDApCD,OAEE,OAFF;AAAA,kCAAK,WAAU;AAAA,kCAAf,0BACC,OAAC,cAAD;AAAA,oCAAc,UAAU;AAAA,oCAAI,MAAM;AAAA,mCAAI;AAAA,iCACrC;AAAA,gDACF,OAAC,SAAD;AAAA,kCACC,KAAK;AAAA,kCACL,MAAK;AAAA,kCACL,OAAO;AAAA,kCACP,UAAU,CAAC,MAAM,eAAe,EAAE,OAAO,KAAK;AAAA,kCAC9C,aAAa,GAAG,KAAK;AAAA,kCACrB,WAAU;AAAA,kCACV,WAAW,CAAC,MAAM;AAAA,oCACjB,IAAI,EAAE,QAAQ;AAAA,sCAAS,kBAAkB,EAAE;AAAA,oCAC3C,IAAI,EAAE,QAAQ,UAAU;AAAA,sCACvB,kBAAkB,IAAI;AAAA,sCACtB,eAAe,EAAE;AAAA,oCAClB;AAAA;AAAA,iCAEF;AAAA,gDACA,OAOE,UAPF;AAAA,kCACC,MAAK;AAAA,kCACL,SAAS,MAAM,kBAAkB,EAAE;AAAA,kCACnC,UAAU,CAAC,YAAY,KAAK;AAAA,kCAC5B,WAAU;AAAA,kCAJX;AAAA,iCAOE;AAAA,gDACF,OASE,UATF;AAAA,kCACC,MAAK;AAAA,kCACL,SAAS,MAAM;AAAA,oCACd,kBAAkB,IAAI;AAAA,oCACtB,eAAe,EAAE;AAAA;AAAA,kCAElB,WAAU;AAAA,kCANX,0BAQC,OAAC,KAAD;AAAA,oCAAG,WAAU;AAAA,mCAAU;AAAA,iCACtB;AAAA;AAAA,6BACD,oBAEF,OA2CE,OA3CF;AAAA,8BAAK,WAAU;AAAA,8BAAf,UA2CE;AAAA,gDA1CD,OAUE,OAVF;AAAA,kCAAK,WAAU;AAAA,kCAAf,UAUE;AAAA,oDATD,OAAC,cAAD;AAAA,sCAAc,UAAU;AAAA,sCAAI,MAAM;AAAA,qCAAI;AAAA,oDACtC,OAOE,OAPF;AAAA,sCAAK,WAAU;AAAA,sCAAf,UAOE;AAAA,wDAND,OAEE,OAFF;AAAA,0CAAK,WAAU;AAAA,0CAAf,UACE,KAAK;AAAA,yCACL;AAAA,wDACF,OAEE,OAFF;AAAA,0CAAK,WAAU;AAAA,0CAAf,UAEE;AAAA,4CADA,KAAK;AAAA,4CADP;AAAA;AAAA,yCAEE;AAAA;AAAA,qCACD;AAAA;AAAA,iCACD;AAAA,gDACF,OA8BE,OA9BF;AAAA,kCAAK,WAAU;AAAA,kCAAf,UA8BE;AAAA,oCA7BA,OAAO,6BACP,OAOE,UAPF;AAAA,sCACC,MAAK;AAAA,sCACL,SAAS,MAAM,kBAAkB,EAAE;AAAA,sCACnC,WAAU;AAAA,sCAHX,UAOE;AAAA,wDAFD,OAAC,MAAD;AAAA,0CAAK,WAAU;AAAA,yCAAc;AAAA,wCAL9B;AAAA;AAAA,qCAOE;AAAA,oCAEF,KAAK,iCACL,OAgBE,UAhBF;AAAA,sCACC,MAAK;AAAA,sCACL,SAAS,MACR,iBACC,IACA,OAAO,cAAc,QAAQ,SAC9B;AAAA,sCAED,WAAU;AAAA,sCARX,UAgBE;AAAA,wDAND,OAAC,gBAAD;AAAA,0CAAc,WAAU;AAAA,yCAAc;AAAA,wCACrC,OAAO,cACL,QACA,OAAO,YACN,UACA;AAAA;AAAA,qCACH;AAAA;AAAA,iCAEF;AAAA;AAAA,6BACD;AAAA,6BApFM,EAsFR,CACF;AAAA,yBACA;AAAA;AAAA,qBACD;AAAA;AAAA,iBACD;AAAA;AAAA,aACD;AAAA;AAAA,SACD;AAAA,OACD;AAAA,sBAGF,OA0BE,OA1BF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,OAwBE,OAxBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAwBE;AAAA,YAvBA,CAAC,8BACD,OAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf;AAAA,aAEE;AAAA,YAEF,6BACA,OAME,UANF;AAAA,cACC,MAAK;AAAA,cACL,SAAS;AAAA,cACT,WAAU;AAAA,cAHX;AAAA,aAME,oBAEF,OAOE,UAPF;AAAA,cACC,MAAK;AAAA,cACL,SAAS;AAAA,cACT,WAAU;AAAA,cAHX,UAOE;AAAA,gBAPF;AAAA,gCAMC,OAAC,aAAD;AAAA,kBAAY,WAAU;AAAA,iBAAU;AAAA;AAAA,aAC/B;AAAA;AAAA,SAEF;AAAA,OACD;AAAA,MAED,qCACA,OAoDE,OApDF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,OAkDE,OAlDF;AAAA,UAAK,WAAU;AAAA,UAAf,UAkDE;AAAA,4BAjDD,OAGE,OAHF;AAAA,cAAK,WAAU;AAAA,cAAf,UAGE;AAAA,gCAFD,OAAC,cAAD;AAAA,kBAAc,UAAS;AAAA,kBAAO,MAAM;AAAA,iBAAI;AAAA,gCACxC,OAA0D,MAA1D;AAAA,kBAAI,WAAU;AAAA,kBAAd;AAAA,iBAA0D;AAAA;AAAA,aACzD;AAAA,4BACF,OA4CE,OA5CF;AAAA,cAAK,WAAU;AAAA,cAAf,UA4CE;AAAA,gCA3CD,OAGE,KAHF;AAAA,kBAAG,WAAU;AAAA,kBAAb;AAAA,iBAGE;AAAA,gCACF,OAAC,YAAD;AAAA,kBACC,KAAK;AAAA,kBACL,OAAO;AAAA,kBACP,UAAU,CAAC,MAAM,oBAAoB,EAAE,OAAO,KAAK;AAAA,kBACnD,aAAY;AAAA,kBACZ,WAAU;AAAA,kBACV,WAAW,CAAC,MAAM;AAAA,oBACjB,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,SAAS;AAAA,sBAClD,EAAE,eAAe;AAAA,sBACjB,mBAAmB;AAAA,oBACpB;AAAA,oBACA,IAAI,EAAE,QAAQ;AAAA,sBAAU,wBAAwB;AAAA;AAAA,iBAElD;AAAA,gBACC,qCACA,OAA8D,KAA9D;AAAA,kBAAG,WAAU;AAAA,kBAAb,UAA0C;AAAA,iBAAoB;AAAA,gCAE/D,OAqBE,OArBF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAqBE;AAAA,oCApBD,OAOE,UAPF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,UAAU;AAAA,sBACV,WAAU;AAAA,sBAJX;AAAA,qBAOE;AAAA,oCACF,OAWE,UAXF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,UAAU,CAAC,iBAAiB,KAAK,KAAK;AAAA,sBACtC,WAAU;AAAA,sBAJX,UAME,oCACA,OAAC,WAAD;AAAA,wBAAS,WAAU;AAAA,uBAAuB,IAE1C;AAAA,qBAEA;AAAA;AAAA,iBACD;AAAA;AAAA,aACD;AAAA;AAAA,SACD;AAAA,OACD;AAAA,MAIF,gCACA,OAsFE,OAtFF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,OAoFE,OApFF;AAAA,UAAK,WAAU;AAAA,UAAf,UAoFE;AAAA,4BAnFD,OAOE,OAPF;AAAA,cAAK,WAAU;AAAA,cAAf,UAOE;AAAA,gCAND,OAAC,cAAD;AAAA,kBAAc,UAAU,aAAa;AAAA,kBAAU,MAAM;AAAA,iBAAI;AAAA,gCACzD,OAIE,MAJF;AAAA,kBAAI,WAAU;AAAA,kBAAd,UAIE;AAAA,oBAJF;AAAA,oBACS;AAAA,oBACP,WAAW,UAAU,aAAa,WAAW,SAC7C,aAAa;AAAA;AAAA,iBACb;AAAA;AAAA,aACD;AAAA,YAED,CAAC,aAAa,4BACd,OAgCE,OAhCF;AAAA,cAAK,WAAU;AAAA,cAAf,UAgCE;AAAA,gCA/BD,OAME,KANF;AAAA,kBAAG,WAAU;AAAA,kBAAb,UAME;AAAA,oBANF;AAAA,oBACyB;AAAA,oBACvB,WAAW,UAAU,aAAa,WAAW,SAC7C,aAAa;AAAA,oBAAU;AAAA,oBAHzB;AAAA;AAAA,iBAME;AAAA,gCACF,OAuBE,OAvBF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAuBE;AAAA,oCAtBD,OAME,UANF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,WAAU;AAAA,sBAHX;AAAA,qBAME;AAAA,oCACF,OAcE,UAdF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,UAAU;AAAA,sBACV,WAAU;AAAA,sBAJX,UAME,iCACA,OAAC,WAAD;AAAA,wBAAS,WAAU;AAAA,uBAAuB,oBAE1C;AAAA,kCAGE;AAAA,0BAHF;AAAA,0CAEC,OAAC,gBAAD;AAAA,4BAAc,WAAU;AAAA,2BAAU;AAAA;AAAA,uBACjC;AAAA,qBAEF;AAAA;AAAA,iBACD;AAAA;AAAA,aACD,oBAEF,OAqCE,OArCF;AAAA,cAAK,WAAU;AAAA,cAAf,UAqCE;AAAA,gCApCD,OAEE,KAFF;AAAA,kBAAG,WAAU;AAAA,kBAAb;AAAA,iBAEE;AAAA,gCACF,OAAC,SAAD;AAAA,kBACC,MAAK;AAAA,kBACL,KAAK;AAAA,kBACL,OAAO;AAAA,kBACP,UAAU,CAAC,MAAM,kBAAkB,EAAE,OAAO,KAAK;AAAA,kBACjD,aAAY;AAAA,kBACZ,WAAU;AAAA,kBACV,WAAW,CAAC,MAAM;AAAA,oBACjB,IAAI,EAAE,QAAQ;AAAA,sBAAS,mBAAmB;AAAA,oBAC1C,IAAI,EAAE,QAAQ;AAAA,sBAAU,kBAAkB;AAAA;AAAA,iBAE5C;AAAA,gCACA,OAoBE,OApBF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAoBE;AAAA,oCAnBD,OAME,UANF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,WAAU;AAAA,sBAHX;AAAA,qBAME;AAAA,oCACF,OAWE,UAXF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,UAAU,CAAC,eAAe,KAAK,KAAK;AAAA,sBACpC,WAAU;AAAA,sBAJX,UAME,mCACA,OAAC,WAAD;AAAA,wBAAS,WAAU;AAAA,uBAAuB,IAE1C;AAAA,qBAEA;AAAA;AAAA,iBACD;AAAA;AAAA,aACD;AAAA;AAAA,SAEF;AAAA,OACD;AAAA,MAIF,oCACA,OAkLE,OAlLF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,OAgLE,OAhLF;AAAA,UAAK,WAAU;AAAA,UAAf,UAgLE;AAAA,4BA/KD,OAGE,OAHF;AAAA,cAAK,WAAU;AAAA,cAAf,UAGE;AAAA,gCAFD,OAAC,cAAD;AAAA,kBAAc,UAAS;AAAA,kBAAU,MAAM;AAAA,iBAAI;AAAA,gCAC3C,OAA8D,MAA9D;AAAA,kBAAI,WAAU;AAAA,kBAAd;AAAA,iBAA8D;AAAA;AAAA,aAC7D;AAAA,4BACF,OA0KE,OA1KF;AAAA,cAAK,WAAU;AAAA,cAAf,UA0KE;AAAA,gCAzKD,OAuBE,OAvBF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAuBE;AAAA,oCAtBD,OAUE,UAVF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS,MAAM,wBAAwB,OAAO;AAAA,sBAC9C,WAAW,gEACV,oBAAoB,UACjB,kCACA;AAAA,sBANL;AAAA,qBAUE;AAAA,oCACF,OAUE,UAVF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS,MAAM,wBAAwB,OAAO;AAAA,sBAC9C,WAAW,gEACV,oBAAoB,UACjB,kCACA;AAAA,sBANL;AAAA,qBAUE;AAAA;AAAA,iBACD;AAAA,gBAED,oBAAoB,0BACpB;AAAA,4BA4BE;AAAA,oCA3BD,OAEE,KAFF;AAAA,sBAAG,WAAU;AAAA,sBAAb;AAAA,qBAEE;AAAA,oCACF,OAuBE,OAvBF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UACE,iCACA,OAEE,OAFF;AAAA,wBAAK,WAAU;AAAA,wBAAf,0BACC,OAAC,OAAD;AAAA,0BAAK,WAAU;AAAA,yBAA0C;AAAA,uBACxD,IACC,gCACH;AAAA,kCAeE;AAAA,0CAdD,OAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB,UACE,cAAc;AAAA,2BACd;AAAA,0CACF,OAUE,UAVF;AAAA,4BACC,MAAK;AAAA,4BACL,SAAS;AAAA,4BACT,WAAU;AAAA,4BAHX,UAKE,oCACA,OAAC,SAAD;AAAA,8BAAO,WAAU;AAAA,6BAAyB,oBAE1C,OAAC,OAAD;AAAA,8BAAM,WAAU;AAAA,6BAAU;AAAA,2BAE1B;AAAA;AAAA,uBACD,IACC;AAAA,qBACH;AAAA;AAAA,iBACD,oBAEF;AAAA,4BAuCE;AAAA,oCAtCD,OAEE,KAFF;AAAA,sBAAG,WAAU;AAAA,sBAAb;AAAA,qBAEE;AAAA,oCACF,OAAC,SAAD;AAAA,sBACC,MAAK;AAAA,sBACL,OAAO;AAAA,sBACP,UAAU,CAAC,MAAM,qBAAqB,EAAE,OAAO,KAAK;AAAA,sBACpD,aAAY;AAAA,sBACZ,WAAU;AAAA,qBACX;AAAA,oBACC,oBAAoB,SAAS,6BAC7B,OAWE,UAXF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,UAAU;AAAA,sBACV,WAAU;AAAA,sBAJX,UAME,qCACA,OAAC,WAAD;AAAA,wBAAS,WAAU;AAAA,uBAAuB,IAE1C;AAAA,qBAEA;AAAA,oBAEF,oBAAoB,SAAS,aAC7B,CAAC,mBAAmB,SAAS,iCAC5B,OAGE,KAHF;AAAA,sBAAG,WAAU;AAAA,sBAAb,UACE,mBAAmB,SAAS,UAC5B;AAAA,qBACA;AAAA,oBAEH,sBACA,CAAC,mBAAmB,SAAS,aAC7B,mBAAmB,SAAS,0BAC3B,OAEE,KAFF;AAAA,sBAAG,WAAU;AAAA,sBAAb,UACE,mBAAmB,SAAS;AAAA,qBAC5B;AAAA;AAAA,iBAEH;AAAA,gBAGF,sBACA,mBAAmB,aAAa,SAAS,qBACxC,OAcE,OAdF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UACE,mBAAmB,aAAa,IAAI,CAAC,2BACrC,OAUE,OAVF;AAAA,8BAUE;AAAA,sBATA,OAAO;AAAA,sBADT;AAAA,sBACkB;AAAA,sBAChB,OAAO,aACL,OAAO,QACN,OAAO,QACP,GAAG,OAAO,cAAc,qBACzB;AAAA,sBACF,OAAO,yBAAyB,OAAO,gBACrC,sBAAsB,OAAO,mBAC7B;AAAA;AAAA,qBATM,OAAO,MAUf,CACF;AAAA,iBACA;AAAA,gBAGH,gCACA,OAEE,KAFF;AAAA,kBAAG,WAAU;AAAA,kBAAb,UACE;AAAA,iBACA;AAAA,gBAGF,kBAAkB,oBAAoB,2BACtC,OAGE,OAHF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAGE;AAAA,oCAFD,OAAC,WAAD;AAAA,sBAAS,WAAU;AAAA,qBAAuB;AAAA,oBAD3C;AAAA;AAAA,iBAGE;AAAA,gCAGH,OAsCE,OAtCF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAsCE;AAAA,oCArCD,OAME,UANF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,WAAU;AAAA,sBAHX;AAAA,qBAME;AAAA,oBACD,oBAAoB,0BACpB,OAcE,UAdF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,UAAU,kBAAkB;AAAA,sBAC5B,WAAU;AAAA,sBAJX,UAME,kBAAkB,iCAClB,OAAC,WAAD;AAAA,wBAAS,WAAU;AAAA,uBAAuB,oBAE1C;AAAA,kCAGE;AAAA,0BAHF;AAAA,0CAEC,OAAC,gBAAD;AAAA,4BAAc,WAAU;AAAA,2BAAU;AAAA;AAAA,uBACjC;AAAA,qBAEF,oBAEF,OAWE,UAXF;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS;AAAA,sBACT,UAAU,CAAC,kBAAkB,KAAK,KAAK;AAAA,sBACvC,WAAU;AAAA,sBAJX,UAME,qCACA,OAAC,WAAD;AAAA,wBAAS,WAAU;AAAA,uBAAuB,IAE1C;AAAA,qBAEA;AAAA;AAAA,iBAEF;AAAA;AAAA,aACD;AAAA;AAAA,SACD;AAAA,OACD;AAAA;AAAA,GAEF;AAAA,CAEH;;;AC3pCD,iBAAS,oBAAM,yBAAU,sBAAW,kBAAO;AAC3C,oBAAS,kCAAoB,0BAAU;;AAiChC,IAAM,eAAe,OAAK,SAAS,aAAY;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,GACQ;AAAA,EACrB,OAAO,SAAQ,aAAa,WAA4B,IAAI;AAAA,EAC5D,OAAO,WAAW,gBAAgB,WAA2B,IAAI;AAAA,EACjE,OAAO,WAAW,gBAAgB,WAAS,IAAI;AAAA,EAC/C,OAAO,UAAU,eAAe,WAAS,KAAK;AAAA,EAE9C,OAAO,kBAAkB,uBAAuB,WAAS,MAAM;AAAA,EAC/D,OAAO,eAAe,oBAAoB,WAAS,WAAW;AAAA,EAC9D,OAAO,eAAe,oBAAoB,WACzC,WAAW,SAAS,SAAS,OAC9B;AAAA,EACA,OAAO,kBAAkB,uBAAuB,WAE9C,WAAW,SAAS,gBAAgB,WAAW;AAAA,EACjD,OAAO,YAAY,iBAAiB,WAAS,KAAK;AAAA,EAClD,MAAM,yBAAyB,SAAO,KAAK;AAAA,EAE3C,MAAM,aAAa,OAAM;AAAA,EACzB,MAAM,UAAU,OAAM;AAAA,EACtB,MAAM,UAAU,OAAM;AAAA,EACtB,MAAM,aAAa,OAAM;AAAA,EAEzB,YAAU,MAAM;AAAA,IACf,MAAM,aAAa,YAAY;AAAA,MAC9B,IAAI;AAAA,QACH,OAAO,YAAY,cAAc,MAAM,QAAQ,IAAI;AAAA,UAClD,UAAU,UAAU;AAAA,UACpB,UAAU,aAAa;AAAA,QACxB,CAAC;AAAA,QACD,UAAU,UAAU;AAAA,QACpB,aAAa,UAAU;AAAA,QACvB,MAAM,cAAc,YAAY,UAAU,YAAY;AAAA,QACtD,MAAM,WAAW,YAAY,UAAU,SAAS;AAAA,QAChD,MAAM,oBAAoB,aAAa,cAAc,QAAQ,SAAS;AAAA,QACtE,MAAM,mBAAmB,oBAAoB,cAAc;AAAA,QAC3D,MAAM,gBACL,qBACA,WAAW,aAAa,OAAO,KAC9B,CAAC,MAAsB,EAAE,OAAO,QACjC,IACG,WACA,aAAa,mBAAmB,SAAS,IAAI,MAAM;AAAA,QACvD,oBAAoB,gBAAgB;AAAA,QACpC,iBAAiB,aAAa;AAAA,QAC9B,IAAI,YAAY,UAAU,OAAO;AAAA,UAChC,iBAAiB,WAAW,SAAS,KAAK;AAAA,QAC3C;AAAA,QACA,IAAI,YAAY,UAAU,cAAc;AAAA,UACvC,oBAAoB,WAAW,SAAS,YAAY;AAAA,QACrD;AAAA,QACA,IAAI,YAAY,UAAU,YAAY;AAAA,UACrC,cAAc,WAAW,SAAS,UAAU;AAAA,QAC7C;AAAA,QACC,MAAM,WACN;AAAA,QACD,aAAa,KAAK;AAAA;AAAA;AAAA,IAGpB,WAAW;AAAA,KACT,CAAC,CAAC;AAAA,EAEL,YAAU,MAAM;AAAA,IACf,IAAI,SAAQ,QAAQ,QAAQ;AAAA,MAC3B,MAAM,SAAS,QAAO;AAAA,MACtB,IAAI,CAAC,iBAAiB,CAAC,OAAO,SAAS,aAAa,GAAG;AAAA,QACtD,iBAAiB,OAAO,SAAS,OAAO,IAAI,UAAU,OAAO,EAAE;AAAA,MAChE;AAAA,IACD;AAAA,KACE,CAAC,SAAQ,aAAa,CAAC;AAAA,EAE1B,YAAU,MAAM;AAAA,IACf,IAAI,YAAY,qBAAqB,uBAAuB,SAAS;AAAA,MACpE,MAAM,iBAAiB,UAAU;AAAA,MACjC,IAAI,CAAC,eAAe,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,aAAa,GAAG;AAAA,QAC/D,iBAAiB,eAAe,OAAO,IAAI,MAAM,EAAE;AAAA,MACpD;AAAA,IACD;AAAA,KACE,CAAC,kBAAkB,WAAW,aAAa,CAAC;AAAA,EAE/C,MAAM,eAAe,YAAY;AAAA,IAChC,YAAY,IAAI;AAAA,IAChB,IAAI;AAAA,MACH,MAAM,UAAU,eAAe;AAAA,QAC9B,UAAU;AAAA,QACV,OAAO;AAAA,QACP,OAAO;AAAA,QACP,cAAc;AAAA,QACd;AAAA,QACA,kBAAkB,SAAQ,UAAU,oBAAoB;AAAA,QACxD,OAAO;AAAA,MACR,CAAC;AAAA,MACD,MAAM,WAAW;AAAA,MAChB,MAAM,WACN;AAAA,MACD,YAAY,KAAK;AAAA;AAAA;AAAA,EAInB,IAAI,WAAW;AAAA,IACd,uBACC,OAEE,OAFF;AAAA,MAAK,WAAU;AAAA,MAAf,0BACC,OAAC,WAAD;AAAA,QAAS,WAAU;AAAA,OAA6C;AAAA,KAC/D;AAAA,EAEJ;AAAA,EAEA,MAAM,qBAAqB,SAAQ,UAAU,OAC5C,CAAC,OACC,WAAW,UAAU,IAAI,cAAc,MAAM,WAC9C,YAAY,IAAI,QAAQ,SAAS,CACnC,KAAK,CAAC,MAAM;AAAA,EAEZ,MAAM,wBAAwB,YAAY,mBAAmB,UAAU,CAAC;AAAA,EAExE,uBACC,OA6ME,OA7MF;AAAA,IAAK,WAAU;AAAA,IAAf,UA6ME;AAAA,MA5MA,CAAC,8BACD,OASE,OATF;AAAA,QAAK,WAAU;AAAA,QAAf,UASE;AAAA,0BARD,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFD,OAAC,cAAD;AAAA,gBAAc,UAAS;AAAA,gBAAO,MAAM;AAAA,eAAI;AAAA,8BACxC,OAAsD,QAAtD;AAAA,gBAAM,WAAU;AAAA,gBAAhB;AAAA,eAAsD;AAAA;AAAA,WACrD;AAAA,0BACF,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFD,OAAC,QAAD;AAAA,gBAAM,WAAU;AAAA,eAAmC;AAAA,cADpD;AAAA;AAAA,WAGE;AAAA;AAAA,OACD;AAAA,sBAIH,OA6JE,OA7JF;AAAA,QACC,WAAW,sCAAsC,aAAa,2BAA2B;AAAA,QAD1F,0BAGC,OAyJE,OAzJF;AAAA,UAAK,WAAU;AAAA,UAAf,UAyJE;AAAA,4BAvJD,OAOE,OAPF;AAAA,cAAK,WAAU;AAAA,cAAf,UAOE;AAAA,gCAND,OAEE,MAFF;AAAA,kBAAI,WAAU;AAAA,kBAAd;AAAA,iBAEE;AAAA,gCACF,OAEE,KAFF;AAAA,kBAAG,WAAU;AAAA,kBAAb;AAAA,iBAEE;AAAA;AAAA,aACD;AAAA,4BAGF,OA4IE,OA5IF;AAAA,cAAK,WAAU;AAAA,cAAf,UA4IE;AAAA,gCA1ID,OAyBE,OAzBF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAyBE;AAAA,oCAxBD,OAKE,SALF;AAAA,sBACC,SAAS;AAAA,sBACT,WAAU;AAAA,sBAFX;AAAA,qBAKE;AAAA,oCACF,OAiBE,OAjBF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UAiBE;AAAA,wCAhBD,OAcE,UAdF;AAAA,0BACC,IAAI;AAAA,0BACJ,OAAO;AAAA,0BACP,UAAU,CAAC,MAAM;AAAA,4BAChB,uBAAuB,UAAU;AAAA,4BACjC,oBAAoB,EAAE,OAAO,KAAK;AAAA;AAAA,0BAEnC,WAAU;AAAA,0BAPX,UASE,mBAAmB,IAAI,CAAC,sBACxB,OAEE,UAFF;AAAA,4BAAgB,OAAO;AAAA,4BAAvB,UACE,WAAW,UAAU,IAAI,SAAS;AAAA,6BADvB,CAEX,CACF;AAAA,yBACA;AAAA,wCACF,OAAC,eAAD;AAAA,0BAAa,WAAU;AAAA,yBAA8F;AAAA;AAAA,qBACpH;AAAA;AAAA,iBACD;AAAA,gCAGF,OAsBE,OAtBF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAsBE;AAAA,oCArBD,OAKE,SALF;AAAA,sBACC,SAAS;AAAA,sBACT,WAAU;AAAA,sBAFX;AAAA,qBAKE;AAAA,oCACF,OAcE,OAdF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UAcE;AAAA,wCAbD,OAWE,UAXF;AAAA,0BACC,IAAI;AAAA,0BACJ,OAAO;AAAA,0BACP,UAAU,CAAC,MAAM,iBAAiB,EAAE,OAAO,KAAK;AAAA,0BAChD,WAAU;AAAA,0BAJX,UAME,sBAAsB,IAAI,CAAC,sBAC3B,OAEE,UAFF;AAAA,4BAAmB,OAAO,EAAE;AAAA,4BAA5B,UACE,EAAE,SAAS,EAAE;AAAA,6BADF,EAAE,EAEb,CACF;AAAA,yBACA;AAAA,wCACF,OAAC,eAAD;AAAA,0BAAa,WAAU;AAAA,yBAA8F;AAAA;AAAA,qBACpH;AAAA;AAAA,iBACD;AAAA,gCAGF,OAsBE,OAtBF;AAAA,4BAsBE;AAAA,oCArBD,OAKE,SALF;AAAA,sBACC,SAAS;AAAA,sBACT,WAAU;AAAA,sBAFX;AAAA,qBAKE;AAAA,oCACF,OAcE,OAdF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UAcE;AAAA,wCAbD,OAWE,UAXF;AAAA,0BACC,IAAI;AAAA,0BACJ,OAAO;AAAA,0BACP,UAAU,CAAC,MAAM,iBAAiB,EAAE,OAAO,KAAK;AAAA,0BAChD,WAAU;AAAA,0BAJX,WAMG,SAAQ,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,sBACnC,OAEE,UAFF;AAAA,4BAAgB,OAAO;AAAA,4BAAvB,UACE;AAAA,6BADW,CAEX,CACF;AAAA,yBACA;AAAA,wCACF,OAAC,eAAD;AAAA,0BAAa,WAAU;AAAA,yBAA8F;AAAA;AAAA,qBACpH;AAAA;AAAA,iBACD;AAAA,gCAGF,OA6BE,OA7BF;AAAA,4BA6BE;AAAA,oCA5BD,OAKE,SALF;AAAA,sBACC,SAAS;AAAA,sBACT,WAAU;AAAA,sBAFX;AAAA,qBAKE;AAAA,oCACF,OAkBE,OAlBF;AAAA,sBAAK,WAAU;AAAA,sBAAf,UAkBE;AAAA,wCAjBD,OAeE,UAfF;AAAA,0BACC,IAAI;AAAA,0BACJ,OAAO;AAAA,0BACP,UAAU,CAAC,MACV,oBACC,EAAE,OAAO,KACV;AAAA,0BAED,WAAU;AAAA,0BARX,UAeE;AAAA,4CALD,OAAgD,UAAhD;AAAA,8BAAQ,OAAM;AAAA,8BAAd;AAAA,6BAAgD;AAAA,4CAChD,OAEE,UAFF;AAAA,8BAAQ,OAAM;AAAA,8BAAd;AAAA,6BAEE;AAAA,4CACF,OAA8C,UAA9C;AAAA,8BAAQ,OAAM;AAAA,8BAAd;AAAA,6BAA8C;AAAA;AAAA,yBAC7C;AAAA,wCACF,OAAC,eAAD;AAAA,0BAAa,WAAU;AAAA,yBAA8F;AAAA;AAAA,qBACpH;AAAA,oCACF,OAEE,KAFF;AAAA,sBAAG,WAAU;AAAA,sBAAb;AAAA,qBAEE;AAAA;AAAA,iBACD;AAAA,gCAGF,OA2BE,OA3BF;AAAA,kBAAK,WAAU;AAAA,kBAAf,0BACC,OAyBE,OAzBF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UAyBE;AAAA,sCAxBD,OAQE,OARF;AAAA,kCAQE;AAAA,0CAPD,OAEE,QAFF;AAAA,4BAAM,WAAU;AAAA,4BAAhB;AAAA,2BAEE;AAAA,0CACF,OAGE,KAHF;AAAA,4BAAG,WAAU;AAAA,4BAAb;AAAA,2BAGE;AAAA;AAAA,uBACD;AAAA,sCACF,OAcE,UAdF;AAAA,wBACC,MAAK;AAAA,wBACL,MAAK;AAAA,wBACL,gBAAc;AAAA,wBACd,SAAS,MAAM,cAAc,CAAC,UAAU;AAAA,wBACxC,WAAW,oJACV,aAAa,eAAe;AAAA,wBAN9B,0BASC,OAAC,QAAD;AAAA,0BACC,WAAW,oEACV,aAAa,kBAAkB,mBAC5B,aAAa,0BAA0B;AAAA,yBAC5C;AAAA,uBACC;AAAA;AAAA,mBACD;AAAA,iBACD;AAAA;AAAA,aACD;AAAA;AAAA,SACD;AAAA,OACD;AAAA,sBAGF,OA6BE,OA7BF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACC,OA2BE,OA3BF;AAAA,UAAK,WAAU;AAAA,UAAf,UA2BE;AAAA,4BA1BD,OAOE,UAPF;AAAA,cACC,MAAK;AAAA,cACL,SAAS;AAAA,cACT,WAAU;AAAA,cAHX,UAOE;AAAA,gCAFD,OAAC,WAAD;AAAA,kBAAW,WAAU;AAAA,iBAAU;AAAA,gBALhC;AAAA;AAAA,aAOE;AAAA,4BACF,OAiBE,UAjBF;AAAA,cACC,MAAK;AAAA,cACL,SAAS;AAAA,cACT,UAAU;AAAA,cACV,WAAU;AAAA,cAJX,UAME,2BACA;AAAA,0BAGE;AAAA,kCAFD,OAAC,WAAD;AAAA,oBAAS,WAAU;AAAA,mBAAuB;AAAA,kBAD3C;AAAA;AAAA,eAGE,oBAEF;AAAA,0BAGE;AAAA,kBAHF;AAAA,kCAEC,OAAC,WAAD;AAAA,oBAAU,WAAU;AAAA,mBAAU;AAAA;AAAA,eAC7B;AAAA,aAEF;AAAA;AAAA,SACD;AAAA,OACD;AAAA;AAAA,GACD;AAAA,CAEH;;;;AF9VM,IAAM,kBAAkB,OAAK,SAAS,gBAAe;AAAA,EAC3D,aAAa;AAAA,GACW;AAAA,EACxB,MAAM,SAAS,mBAAmB,CAAC,MAAM,EAAE,MAAM;AAAA,EACjD,MAAM,cAAc,mBAAmB,CAAC,MAAM,EAAE,WAAW;AAAA,EAC3D,MAAM,aAAa,mBAAmB,CAAC,MAAM,EAAE,UAAU;AAAA,EACzD,MAAM,aAAa,mBAAmB,CAAC,MAAM,EAAE,UAAU;AAAA,EACzD,MAAM,WAAW,mBAAmB,CAAC,MAAM,EAAE,QAAQ;AAAA,EACrD,MAAM,WAAW,mBAAmB,CAAC,MAAM,EAAE,QAAQ;AAAA,EACrD,MAAM,QAAQ,mBAAmB,CAAC,MAAM,EAAE,KAAK;AAAA,EAC/C,MAAM,iBAAiB,aAAa,CAAC,MAAM,EAAE,cAAc;AAAA,EAE3D;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACG,cAAc;AAAA,EAElB,IAAI,CAAC,UAAU,CAAC;AAAA,IAAY,OAAO;AAAA,EAEnC,uBACC,OAiCE,OAjCF;AAAA,IAAK,WAAU;AAAA,IAAf,UAiCE;AAAA,MAhCA,gBAAgB,4BAChB,OAAC,mBAAD;AAAA,QACC;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,eAAe;AAAA,QACf,kBAAkB;AAAA,QAClB,cAAc;AAAA,QACd,oBAAoB;AAAA,QACpB,qBAAqB;AAAA,QACrB,aAAa;AAAA,QACb,QAAQ;AAAA,QACR;AAAA,QACA,SAAS;AAAA,QACT;AAAA,QACA,0BAA0B;AAAA,QAC1B,yBAAyB;AAAA,QACzB,yBAAyB;AAAA,QACzB,oBAAoB;AAAA,QACpB,4BAA4B;AAAA,QAC5B,yBAAyB;AAAA,OAC1B;AAAA,MAGA,gBAAgB,8BAChB,OAAC,cAAD;AAAA,QACC;AAAA,QACA,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR;AAAA,OACD;AAAA;AAAA,GAEA;AAAA,CAEH;",
181
- "debugId": "C7869F0D61A1655E64756E2164756E21",
179
+ "mappings": "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",
180
+ "debugId": "1F5E71CC6119565564756E2164756E21",
182
181
  "names": []
183
182
  }