@rodrigocoliveira/agno-react 1.4.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +32 -46
  2. package/dist/hooks/useAgnoToolExecution.d.ts +7 -11
  3. package/dist/hooks/useAgnoToolExecution.d.ts.map +1 -1
  4. package/dist/index.d.ts +7 -6
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +2353 -1043
  7. package/dist/index.js.map +31 -6
  8. package/dist/index.mjs +2371 -1040
  9. package/dist/index.mjs.map +31 -6
  10. package/dist/ui/components/chart.d.ts +63 -0
  11. package/dist/ui/components/chart.d.ts.map +1 -0
  12. package/dist/ui/composed/AgnoMessageItem.d.ts +12 -24
  13. package/dist/ui/composed/AgnoMessageItem.d.ts.map +1 -1
  14. package/dist/ui/composed/agno-chat/agno-chat.d.ts +25 -3
  15. package/dist/ui/composed/agno-chat/agno-chat.d.ts.map +1 -1
  16. package/dist/ui/composed/agno-chat/context.d.ts +4 -3
  17. package/dist/ui/composed/agno-chat/context.d.ts.map +1 -1
  18. package/dist/ui/composed/agno-chat/messages.d.ts +9 -15
  19. package/dist/ui/composed/agno-chat/messages.d.ts.map +1 -1
  20. package/dist/ui/composed/agno-chat/render-tool.d.ts +11 -0
  21. package/dist/ui/composed/agno-chat/render-tool.d.ts.map +1 -0
  22. package/dist/ui/composed/agno-chat/tool-building-blocks.d.ts +7 -0
  23. package/dist/ui/composed/agno-chat/tool-building-blocks.d.ts.map +1 -0
  24. package/dist/ui/composed/agno-message/content.d.ts +2 -0
  25. package/dist/ui/composed/agno-message/content.d.ts.map +1 -0
  26. package/dist/ui/composed/agno-message/context.d.ts +21 -0
  27. package/dist/ui/composed/agno-message/context.d.ts.map +1 -0
  28. package/dist/ui/composed/agno-message/footer.d.ts +6 -0
  29. package/dist/ui/composed/agno-message/footer.d.ts.map +1 -0
  30. package/dist/ui/composed/agno-message/index.d.ts +13 -0
  31. package/dist/ui/composed/agno-message/index.d.ts.map +1 -0
  32. package/dist/ui/composed/agno-message/media.d.ts +2 -0
  33. package/dist/ui/composed/agno-message/media.d.ts.map +1 -0
  34. package/dist/ui/composed/agno-message/message.d.ts +41 -0
  35. package/dist/ui/composed/agno-message/message.d.ts.map +1 -0
  36. package/dist/ui/composed/agno-message/reasoning.d.ts +2 -0
  37. package/dist/ui/composed/agno-message/reasoning.d.ts.map +1 -0
  38. package/dist/ui/composed/agno-message/references.d.ts +2 -0
  39. package/dist/ui/composed/agno-message/references.d.ts.map +1 -0
  40. package/dist/ui/composed/agno-message/tools.d.ts +7 -0
  41. package/dist/ui/composed/agno-message/tools.d.ts.map +1 -0
  42. package/dist/ui/composed/generative-components/card-grid.d.ts +4 -0
  43. package/dist/ui/composed/generative-components/card-grid.d.ts.map +1 -0
  44. package/dist/ui/composed/generative-components/charts.d.ts +7 -0
  45. package/dist/ui/composed/generative-components/charts.d.ts.map +1 -0
  46. package/dist/ui/composed/index.d.ts +10 -0
  47. package/dist/ui/composed/index.d.ts.map +1 -1
  48. package/dist/ui/index.d.ts +12 -0
  49. package/dist/ui/index.d.ts.map +1 -1
  50. package/dist/ui/primitives/badge.d.ts +1 -1
  51. package/dist/ui/primitives/button.d.ts +1 -1
  52. package/dist/ui/primitives/command.d.ts +1 -1
  53. package/dist/ui.js +1305 -640
  54. package/dist/ui.js.map +20 -7
  55. package/dist/ui.mjs +1306 -636
  56. package/dist/ui.mjs.map +20 -7
  57. package/package.json +8 -3
  58. package/dist/components/GenerativeUIRenderer.d.ts +0 -21
  59. package/dist/components/GenerativeUIRenderer.d.ts.map +0 -1
  60. package/dist/utils/component-registry.d.ts +0 -63
  61. package/dist/utils/component-registry.d.ts.map +0 -1
package/dist/ui.js.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/ui/lib/cn.ts", "../src/ui/lib/format-timestamp.ts", "../src/ui/lib/file-utils.ts", "../src/ui/primitives/button.tsx", "../src/ui/primitives/badge.tsx", "../src/ui/primitives/avatar.tsx", "../src/ui/primitives/input-group.tsx", "../src/ui/primitives/collapsible.tsx", "../src/ui/primitives/tooltip.tsx", "../src/ui/primitives/accordion.tsx", "../src/ui/primitives/dropdown-menu.tsx", "../src/ui/primitives/hover-card.tsx", "../src/ui/primitives/select.tsx", "../src/ui/primitives/command.tsx", "../src/ui/primitives/dialog.tsx", "../src/ui/components/message.tsx", "../src/ui/components/conversation.tsx", "../src/ui/components/response.tsx", "../src/ui/components/tool.tsx", "../src/ui/components/code-block.tsx", "../src/ui/components/artifact.tsx", "../src/ui/components/streaming-indicator.tsx", "../src/ui/components/audio-recorder.tsx", "../src/ui/components/smart-timestamp.tsx", "../src/ui/components/file-preview-card.tsx", "../src/ui/components/file-preview-modal.tsx", "../src/ui/components/image-lightbox.tsx", "../src/ui/components/prompt-input/context.ts", "../src/ui/components/prompt-input/provider.tsx", "../src/ui/components/prompt-input/prompt-input.tsx", "../src/ui/components/prompt-input/textarea.tsx", "../src/ui/components/prompt-input/attachments.tsx", "../src/ui/components/prompt-input/footer.tsx", "../src/ui/components/prompt-input/buttons.tsx", "../src/ui/components/prompt-input/drop-zone.tsx", "../src/ui/components/prompt-input/speech.tsx", "../src/ui/components/prompt-input/model-select.tsx", "../src/ui/components/prompt-input/tabs.tsx", "../src/ui/components/prompt-input/command.tsx", "../src/ui/composed/AgnoMessageItem.tsx", "../src/ui/composed/AgnoChatInput.tsx", "../src/ui/composed/agno-chat/agno-chat.tsx", "../src/ui/composed/agno-chat/context.ts", "../src/ui/composed/agno-chat/messages.tsx", "../src/ui/composed/agno-chat/suggested-prompts.tsx", "../src/ui/composed/agno-chat/empty-state.tsx", "../src/ui/composed/agno-chat/error-bar.tsx", "../src/ui/composed/agno-chat/input.tsx", "../src/ui/composed/agno-chat/index.ts"],
3
+ "sources": ["../src/ui/lib/cn.ts", "../src/ui/lib/format-timestamp.ts", "../src/ui/lib/file-utils.ts", "../src/ui/primitives/button.tsx", "../src/ui/primitives/badge.tsx", "../src/ui/primitives/avatar.tsx", "../src/ui/primitives/input-group.tsx", "../src/ui/primitives/collapsible.tsx", "../src/ui/primitives/tooltip.tsx", "../src/ui/primitives/accordion.tsx", "../src/ui/primitives/dropdown-menu.tsx", "../src/ui/primitives/hover-card.tsx", "../src/ui/primitives/select.tsx", "../src/ui/primitives/command.tsx", "../src/ui/primitives/dialog.tsx", "../src/ui/components/message.tsx", "../src/ui/components/conversation.tsx", "../src/ui/components/response.tsx", "../src/ui/components/tool.tsx", "../src/ui/components/code-block.tsx", "../src/ui/components/artifact.tsx", "../src/ui/components/streaming-indicator.tsx", "../src/ui/components/audio-recorder.tsx", "../src/ui/components/smart-timestamp.tsx", "../src/ui/components/file-preview-card.tsx", "../src/ui/components/file-preview-modal.tsx", "../src/ui/components/image-lightbox.tsx", "../src/ui/components/prompt-input/context.ts", "../src/ui/components/prompt-input/provider.tsx", "../src/ui/components/prompt-input/prompt-input.tsx", "../src/ui/components/prompt-input/textarea.tsx", "../src/ui/components/prompt-input/attachments.tsx", "../src/ui/components/prompt-input/footer.tsx", "../src/ui/components/prompt-input/buttons.tsx", "../src/ui/components/prompt-input/drop-zone.tsx", "../src/ui/components/prompt-input/speech.tsx", "../src/ui/components/prompt-input/model-select.tsx", "../src/ui/components/prompt-input/tabs.tsx", "../src/ui/components/prompt-input/command.tsx", "../src/ui/composed/agno-message/message.tsx", "../src/ui/composed/agno-message/context.ts", "../src/ui/composed/agno-message/reasoning.tsx", "../src/ui/composed/agno-message/media.tsx", "../src/ui/composed/agno-chat/context.ts", "../src/ui/composed/agno-chat/tool-building-blocks.tsx", "../src/ui/composed/agno-message/tools.tsx", "../src/ui/composed/agno-message/content.tsx", "../src/ui/composed/agno-message/references.tsx", "../src/ui/composed/agno-message/footer.tsx", "../src/ui/composed/AgnoMessageItem.tsx", "../src/ui/composed/AgnoChatInput.tsx", "../src/ui/composed/agno-chat/render-tool.ts", "../src/ui/composed/generative-components/charts.tsx", "../src/ui/components/chart.tsx", "../src/ui/composed/generative-components/card-grid.tsx", "../src/ui/composed/agno-chat/agno-chat.tsx", "../src/ui/composed/agno-chat/messages.tsx", "../src/ui/composed/agno-chat/suggested-prompts.tsx", "../src/ui/composed/agno-chat/empty-state.tsx", "../src/ui/composed/agno-chat/error-bar.tsx", "../src/ui/composed/agno-chat/input.tsx", "../src/ui/composed/agno-chat/index.ts"],
4
4
  "sourcesContent": [
5
5
  "import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n",
6
6
  "/**\n * Smart timestamp formatting utilities using Intl.DateTimeFormat (zero deps).\n */\n\n/**\n * Formats a date with smart relative context:\n * - Today: \"09:06 AM\"\n * - This year: \"Feb 19\"\n * - Other year: \"Feb 18, 2025\"\n */\nexport function formatSmartTimestamp(date: Date): string {\n const now = new Date();\n const isToday =\n date.getFullYear() === now.getFullYear() &&\n date.getMonth() === now.getMonth() &&\n date.getDate() === now.getDate();\n\n if (isToday) {\n return new Intl.DateTimeFormat(undefined, {\n hour: 'numeric',\n minute: '2-digit',\n hour12: true,\n }).format(date);\n }\n\n const isSameYear = date.getFullYear() === now.getFullYear();\n\n if (isSameYear) {\n return new Intl.DateTimeFormat(undefined, {\n month: 'short',\n day: 'numeric',\n }).format(date);\n }\n\n return new Intl.DateTimeFormat(undefined, {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n }).format(date);\n}\n\n/**\n * Formats a full timestamp for tooltip display.\n * Always shows: \"Feb 19, 2026, 09:50 AM\"\n */\nexport function formatFullTimestamp(date: Date): string {\n return new Intl.DateTimeFormat(undefined, {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n hour: 'numeric',\n minute: '2-digit',\n hour12: true,\n }).format(date);\n}\n",
@@ -41,18 +41,31 @@
41
41
  "import { cn } from '../../lib/cn';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../../primitives/select';\nimport type { ComponentProps } from 'react';\n\nexport type PromptInputModelSelectProps = ComponentProps<typeof Select>;\nexport const PromptInputModelSelect = (props: PromptInputModelSelectProps) => <Select {...props} />;\n\nexport type PromptInputModelSelectTriggerProps = ComponentProps<typeof SelectTrigger>;\n\nexport const PromptInputModelSelectTrigger = ({\n className,\n ...props\n}: PromptInputModelSelectTriggerProps) => (\n <SelectTrigger\n className={cn(\n 'border-none bg-transparent font-medium text-muted-foreground shadow-none transition-colors',\n 'hover:bg-accent hover:text-foreground [&[aria-expanded=\"true\"]]:bg-accent [&[aria-expanded=\"true\"]]:text-foreground',\n className,\n )}\n {...props}\n />\n);\n\nexport type PromptInputModelSelectContentProps = ComponentProps<typeof SelectContent>;\nexport const PromptInputModelSelectContent = ({ className, ...props }: PromptInputModelSelectContentProps) => (\n <SelectContent className={cn(className)} {...props} />\n);\n\nexport type PromptInputModelSelectItemProps = ComponentProps<typeof SelectItem>;\nexport const PromptInputModelSelectItem = ({ className, ...props }: PromptInputModelSelectItemProps) => (\n <SelectItem className={cn(className)} {...props} />\n);\n\nexport type PromptInputModelSelectValueProps = ComponentProps<typeof SelectValue>;\nexport const PromptInputModelSelectValue = ({ className, ...props }: PromptInputModelSelectValueProps) => (\n <SelectValue className={cn(className)} {...props} />\n);\n",
42
42
  "import { cn } from '../../lib/cn';\nimport type { HTMLAttributes } from 'react';\n\nexport type PromptInputTabsListProps = HTMLAttributes<HTMLDivElement>;\nexport const PromptInputTabsList = ({ className, ...props }: PromptInputTabsListProps) => (\n <div className={cn(className)} {...props} />\n);\n\nexport type PromptInputTabProps = HTMLAttributes<HTMLDivElement>;\nexport const PromptInputTab = ({ className, ...props }: PromptInputTabProps) => (\n <div className={cn(className)} {...props} />\n);\n\nexport type PromptInputTabLabelProps = HTMLAttributes<HTMLHeadingElement>;\nexport const PromptInputTabLabel = ({ className, ...props }: PromptInputTabLabelProps) => (\n <h3 className={cn('mb-2 px-3 font-medium text-muted-foreground text-xs', className)} {...props} />\n);\n\nexport type PromptInputTabBodyProps = HTMLAttributes<HTMLDivElement>;\nexport const PromptInputTabBody = ({ className, ...props }: PromptInputTabBodyProps) => (\n <div className={cn('space-y-1', className)} {...props} />\n);\n\nexport type PromptInputTabItemProps = HTMLAttributes<HTMLDivElement>;\nexport const PromptInputTabItem = ({ className, ...props }: PromptInputTabItemProps) => (\n <div className={cn('flex items-center gap-2 px-3 py-2 text-xs hover:bg-accent', className)} {...props} />\n);\n",
43
43
  "import { cn } from '../../lib/cn';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from '../../primitives/command';\nimport type { ComponentProps } from 'react';\n\nexport type PromptInputCommandProps = ComponentProps<typeof Command>;\nexport const PromptInputCommand = ({ className, ...props }: PromptInputCommandProps) => (\n <Command className={cn(className)} {...props} />\n);\n\nexport type PromptInputCommandInputProps = ComponentProps<typeof CommandInput>;\nexport const PromptInputCommandInput = ({ className, ...props }: PromptInputCommandInputProps) => (\n <CommandInput className={cn(className)} {...props} />\n);\n\nexport type PromptInputCommandListProps = ComponentProps<typeof CommandList>;\nexport const PromptInputCommandList = ({ className, ...props }: PromptInputCommandListProps) => (\n <CommandList className={cn(className)} {...props} />\n);\n\nexport type PromptInputCommandEmptyProps = ComponentProps<typeof CommandEmpty>;\nexport const PromptInputCommandEmpty = ({ className, ...props }: PromptInputCommandEmptyProps) => (\n <CommandEmpty className={cn(className)} {...props} />\n);\n\nexport type PromptInputCommandGroupProps = ComponentProps<typeof CommandGroup>;\nexport const PromptInputCommandGroup = ({ className, ...props }: PromptInputCommandGroupProps) => (\n <CommandGroup className={cn(className)} {...props} />\n);\n\nexport type PromptInputCommandItemProps = ComponentProps<typeof CommandItem>;\nexport const PromptInputCommandItem = ({ className, ...props }: PromptInputCommandItemProps) => (\n <CommandItem className={cn(className)} {...props} />\n);\n\nexport type PromptInputCommandSeparatorProps = ComponentProps<typeof CommandSeparator>;\nexport const PromptInputCommandSeparator = ({ className, ...props }: PromptInputCommandSeparatorProps) => (\n <CommandSeparator className={cn(className)} {...props} />\n);\n",
44
- "import { useState } from 'react';\nimport type { ChatMessage, ToolCall } from '@rodrigocoliveira/agno-types';\nimport { GenerativeUIRenderer } from '@rodrigocoliveira/agno-react';\nimport { Response } from '../components/response';\nimport { Tool, ToolContent, ToolHeader, ToolInput, ToolOutput } from '../components/tool';\nimport { Artifact } from '../components/artifact';\nimport { SmartTimestamp } from '../components/smart-timestamp';\nimport { FilePreviewCard } from '../components/file-preview-card';\nimport { FilePreviewModal } from '../components/file-preview-modal';\nimport { ImageLightbox } from '../components/image-lightbox';\nimport type { FilePreviewFile } from '../components/file-preview-card';\nimport type { LightboxImage } from '../components/image-lightbox';\nimport { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '../primitives/accordion';\nimport { cn } from '../lib/cn';\nimport { formatSmartTimestamp } from '../lib/format-timestamp';\nimport type { ToolState } from '../types';\nimport type { AgnoMessageClassNames, AgnoMessageAvatars, AgnoMessageActions } from '../types';\nimport type { ReactNode } from 'react';\nimport type { ToolResultRenderer } from './agno-chat/context';\nimport {\n AlertCircle,\n FileIcon,\n FileText,\n Image as ImageIcon,\n Lightbulb,\n Music,\n Paperclip,\n Video,\n} from 'lucide-react';\n\nexport interface AgnoMessageItemProps {\n message: ChatMessage;\n className?: string;\n classNames?: AgnoMessageClassNames;\n /** Custom render for the entire message content area */\n renderContent?: (message: ChatMessage) => ReactNode;\n /** Custom render for individual tool calls */\n renderToolCall?: (tool: NonNullable<ChatMessage['tool_calls']>[0], index: number) => ReactNode;\n /** Custom render for media sections */\n renderMedia?: (message: ChatMessage) => ReactNode;\n /** Grouped avatar configuration */\n avatars?: AgnoMessageAvatars;\n /** Grouped action buttons configuration with visibility control */\n actions?: AgnoMessageActions;\n /** Whether this is the last assistant message in the conversation (used for visibility logic) */\n isLastAssistantMessage?: boolean;\n /** Show reasoning steps (default: true) */\n showReasoning?: boolean;\n /** Show references (default: true) */\n showReferences?: boolean;\n /** Show timestamp (default: true) */\n showTimestamp?: boolean;\n /** Show generative UI renders (default: true) */\n showGenerativeUI?: boolean;\n /** Show tool call details (default: true) */\n showToolCalls?: boolean;\n /** Enable file preview cards with click-to-open modal (default: true) */\n showFilePreview?: boolean;\n /** Enable image lightbox on click (default: true) */\n showImageLightbox?: boolean;\n /** Custom timestamp formatter */\n formatTimestamp?: (date: Date) => string;\n /** Per-tool renderers shown inline in chat after a HITL tool completes, and on session reload */\n toolResultRenderers?: Record<string, ToolResultRenderer>;\n}\n\nconst defaultFormatTimestamp = formatSmartTimestamp;\n\nconst getToolState = (tool: NonNullable<ChatMessage['tool_calls']>[0]): ToolState => {\n return tool.tool_call_error ? 'output-error' : 'output-available';\n};\n\ntype PreviewState =\n | { type: 'image'; images: LightboxImage[]; initialIndex: number }\n | { type: 'file'; file: FilePreviewFile }\n | null;\n\nexport function AgnoMessageItem({\n message,\n className,\n classNames,\n renderContent,\n renderToolCall,\n renderMedia,\n avatars,\n actions,\n isLastAssistantMessage = false,\n showReasoning = true,\n showReferences = true,\n showTimestamp = true,\n showGenerativeUI = true,\n showToolCalls = true,\n showFilePreview = true,\n showImageLightbox = true,\n formatTimestamp,\n toolResultRenderers,\n}: AgnoMessageItemProps) {\n const isUser = message.role === 'user';\n const hasError = message.streamingError;\n const toolsWithUI = message.tool_calls?.filter((tool) => (tool as ToolCall & { ui_component?: any }).ui_component) || [];\n\n const [preview, setPreview] = useState<PreviewState>(null);\n\n const isCustomTimestamp = !!formatTimestamp;\n const resolvedFormatTimestamp = formatTimestamp ?? defaultFormatTimestamp;\n\n const openImageLightbox = (images: LightboxImage[], index: number) => {\n if (!showImageLightbox) return;\n setPreview({ type: 'image', images, initialIndex: index });\n };\n\n const openFilePreview = (file: FilePreviewFile) => {\n if (!showFilePreview) return;\n setPreview({ type: 'file', file });\n };\n\n const closePreview = () => setPreview(null);\n\n return (\n <div className={cn('py-5 first:pt-2', isUser ? 'flex justify-end' : '', classNames?.root, className)}>\n {isUser ? (\n /* User message */\n <div className=\"flex items-start gap-2.5 max-w-[80%] flex-row-reverse\">\n {avatars?.user}\n <div className=\"space-y-1.5 flex flex-col items-end min-w-0\">\n {/* Attachments row — images + files side-by-side as uniform cards */}\n {((message.images && message.images.length > 0) ||\n (message.audio && message.audio.length > 0) ||\n (message.files && message.files.length > 0)) && (\n <div className=\"flex flex-wrap gap-2 justify-end\">\n {/* Image thumbnails as square cards */}\n {message.images?.map((img, idx) => (\n <FilePreviewCard\n key={`img-${idx}`}\n file={{ name: img.revised_prompt || `Image ${idx + 1}`, type: 'image/png', url: img.url }}\n onClick={\n showImageLightbox\n ? () =>\n openImageLightbox(\n message.images!.map((i) => ({ url: i.url, alt: i.revised_prompt })),\n idx,\n )\n : undefined\n }\n />\n ))}\n {/* Audio chips */}\n {message.audio?.map((audio, idx) => (\n <div\n key={`audio-${idx}`}\n className=\"flex items-center gap-1.5 rounded-lg border border-border bg-muted/50 px-2.5 py-1.5 text-xs text-foreground self-end\"\n >\n <Music className=\"h-3.5 w-3.5 text-muted-foreground\" />\n <span className=\"truncate max-w-[150px]\">{audio.id || `Audio ${idx + 1}`}</span>\n </div>\n ))}\n {/* File cards */}\n {message.files?.map((file, idx) =>\n showFilePreview ? (\n <FilePreviewCard\n key={`file-${idx}`}\n file={{ name: file.name, type: file.type, url: file.url, size: file.size }}\n onClick={() =>\n openFilePreview({ name: file.name, type: file.type, url: file.url, size: file.size })\n }\n />\n ) : (\n <div\n key={`file-${idx}`}\n className=\"flex items-center gap-1.5 rounded-lg border border-border bg-muted/50 px-2.5 py-1.5 text-xs text-foreground self-end\"\n >\n <FileIcon className=\"h-3.5 w-3.5 text-muted-foreground\" />\n <span className=\"truncate max-w-[150px]\">{file.name}</span>\n </div>\n ),\n )}\n </div>\n )}\n {/* Message bubble — text only */}\n {message.content && (\n <div\n className={cn(\n 'rounded-2xl rounded-br-md px-4 py-2.5',\n classNames?.user?.bubble ?? 'bg-primary text-primary-foreground',\n hasError && 'opacity-70',\n )}\n >\n <p className=\"text-sm whitespace-pre-wrap\">{message.content}</p>\n </div>\n )}\n {(showTimestamp || actions?.user) && (\n <div className=\"flex items-center justify-end gap-1.5 px-1\">\n {actions?.user && (\n <div className=\"flex items-center gap-1\">\n {actions.user(message)}\n </div>\n )}\n <SmartTimestamp\n date={new Date(message.created_at * 1000)}\n formatShort={isCustomTimestamp ? resolvedFormatTimestamp : undefined}\n className=\"text-[11px] text-muted-foreground\"\n />\n {hasError && <AlertCircle className=\"h-3 w-3 text-destructive\" />}\n </div>\n )}\n </div>\n </div>\n ) : (\n /* Assistant message */\n <div className=\"flex items-start gap-3 group/message\">\n {avatars?.assistant}\n <div className={cn('flex-1 min-w-0 space-y-3', classNames?.assistant?.container)}>\n {/* Custom content render */}\n {renderContent ? (\n renderContent(message)\n ) : (\n <>\n {/* Reasoning Steps */}\n {showReasoning &&\n message.extra_data?.reasoning_steps &&\n message.extra_data.reasoning_steps.length > 0 && (\n <div className={cn('space-y-2 pt-1', classNames?.assistant?.reasoning)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Lightbulb className=\"h-3.5 w-3.5\" />\n Reasoning ({message.extra_data.reasoning_steps.length} steps)\n </div>\n <Accordion type=\"multiple\" className=\"w-full\">\n {message.extra_data.reasoning_steps.map((step, idx) => (\n <AccordionItem key={idx} value={`reasoning-${idx}`} className=\"border-muted\">\n <AccordionTrigger className=\"text-xs py-1.5 hover:no-underline\">\n {step.title || `Step ${idx + 1}`}\n </AccordionTrigger>\n <AccordionContent className=\"space-y-1.5 text-xs text-muted-foreground\">\n {step.action && (\n <div>\n <span className=\"font-medium text-foreground\">Action:</span> {step.action}\n </div>\n )}\n {step.reasoning && (\n <div>\n <span className=\"font-medium text-foreground\">Reasoning:</span> {step.reasoning}\n </div>\n )}\n {step.result && (\n <div>\n <span className=\"font-medium text-foreground\">Result:</span> {step.result}\n </div>\n )}\n {step.confidence !== undefined && (\n <div>\n <span className=\"font-medium text-foreground\">Confidence:</span>{' '}\n {(step.confidence * 100).toFixed(1)}%\n </div>\n )}\n </AccordionContent>\n </AccordionItem>\n ))}\n </Accordion>\n </div>\n )}\n\n {/* Main Content */}\n {message.content && (\n <div className=\"prose prose-sm dark:prose-invert max-w-none prose-p:leading-relaxed prose-pre:bg-muted prose-pre:border prose-pre:border-border\">\n <Response>{message.content}</Response>\n </div>\n )}\n\n {/* Generative UI */}\n {showGenerativeUI && toolsWithUI.length > 0 && (\n <div className=\"space-y-3\">\n {toolsWithUI.map((tool) => {\n const uiComponent = (tool as ToolCall & { ui_component?: any }).ui_component;\n return (\n <div key={tool.tool_call_id}>\n {uiComponent.layout === 'artifact' ? (\n <Artifact>\n <GenerativeUIRenderer spec={uiComponent} className=\"w-full p-2\" />\n </Artifact>\n ) : (\n <GenerativeUIRenderer spec={uiComponent} className=\"w-full\" />\n )}\n </div>\n );\n })}\n </div>\n )}\n\n {/* Tool result renderers — shown after HITL execution and on session reload */}\n {toolResultRenderers && message.tool_calls?.map((tool) => {\n const renderer = toolResultRenderers[tool.tool_name];\n const content = (tool.result ?? tool.content) as string | undefined;\n if (!renderer || !content) return null;\n return (\n <div key={`result-${tool.tool_call_id}`}>\n {renderer(tool.tool_args, content)}\n </div>\n );\n })}\n\n {/* Media - custom or default */}\n {renderMedia\n ? renderMedia(message)\n : (() => {\n const mediaClassName = classNames?.assistant?.media;\n return (\n <>\n {/* Images */}\n {message.images && message.images.length > 0 && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <ImageIcon className=\"h-3.5 w-3.5\" />\n Images ({message.images.length})\n </div>\n <div className=\"grid grid-cols-2 gap-2\">\n {message.images.map((img, idx) => (\n <div key={idx} className=\"space-y-1\">\n {showImageLightbox ? (\n <button\n type=\"button\"\n onClick={() =>\n openImageLightbox(\n message.images!.map((i) => ({ url: i.url, alt: i.revised_prompt })),\n idx,\n )\n }\n className=\"group relative w-full overflow-hidden rounded-lg border border-border cursor-pointer hover:border-primary/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring transition-colors\"\n >\n <img\n src={img.url}\n alt={img.revised_prompt || 'Generated image'}\n className=\"w-full rounded-lg\"\n />\n </button>\n ) : (\n <img\n src={img.url}\n alt={img.revised_prompt || 'Generated image'}\n className=\"w-full rounded-lg border border-border\"\n />\n )}\n {img.revised_prompt && (\n <p className=\"text-[11px] text-muted-foreground italic px-0.5\">\n {img.revised_prompt}\n </p>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {/* Videos */}\n {message.videos && message.videos.length > 0 && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Video className=\"h-3.5 w-3.5\" />\n Videos ({message.videos.length})\n </div>\n <div className=\"space-y-2\">\n {message.videos.map((video, idx) => (\n <div key={idx}>\n {video.url ? (\n <video\n src={video.url}\n controls\n className=\"w-full rounded-lg border border-border\"\n />\n ) : (\n <div className=\"bg-muted/50 border border-border p-2.5 rounded-lg text-xs text-muted-foreground\">\n Video ID: {video.id} (ETA: {video.eta}s)\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {/* Audio */}\n {message.audio && message.audio.length > 0 && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Music className=\"h-3.5 w-3.5\" />\n Audio ({message.audio.length})\n </div>\n <div className=\"space-y-2\">\n {message.audio.map((audio, idx) => (\n <div key={idx}>\n {audio.url ? (\n <audio src={audio.url} controls className=\"w-full\" />\n ) : audio.base64_audio ? (\n <audio\n src={`data:${audio.mime_type || 'audio/wav'};base64,${audio.base64_audio}`}\n controls\n className=\"w-full\"\n />\n ) : (\n <div className=\"bg-muted/50 border border-border p-2.5 rounded-lg text-xs text-muted-foreground\">\n Audio data unavailable\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {/* File Attachments */}\n {message.files && message.files.length > 0 && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Paperclip className=\"h-3.5 w-3.5\" />\n Files ({message.files.length})\n </div>\n <div className=\"flex flex-wrap gap-2\">\n {message.files.map((file, idx) =>\n showFilePreview ? (\n <FilePreviewCard\n key={idx}\n file={{ name: file.name, type: file.type, url: file.url, size: file.size }}\n onClick={() =>\n openFilePreview({ name: file.name, type: file.type, url: file.url, size: file.size })\n }\n />\n ) : (\n <div\n key={idx}\n className=\"flex items-center gap-2 rounded-lg border border-border px-3 py-2 text-xs bg-muted/30 hover:bg-muted/50 transition-colors\"\n >\n <FileIcon className=\"h-3.5 w-3.5 shrink-0 text-muted-foreground\" />\n <span className=\"truncate max-w-[180px]\">{file.name}</span>\n {file.size && (\n <span className=\"text-muted-foreground/70\">\n ({(file.size / 1024).toFixed(1)}KB)\n </span>\n )}\n {file.url && /^https?:\\/\\//i.test(file.url) && (\n <a\n href={file.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-primary hover:underline font-medium\"\n >\n View\n </a>\n )}\n </div>\n ),\n )}\n </div>\n </div>\n )}\n\n {/* Response Audio (TTS) */}\n {message.response_audio && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Music className=\"h-3.5 w-3.5\" />\n Response Audio\n </div>\n {message.response_audio.transcript && (\n <div className=\"text-xs italic bg-muted/50 border border-border p-2.5 rounded-lg text-muted-foreground\">\n \"{message.response_audio.transcript}\"\n </div>\n )}\n {message.response_audio.content && (\n <audio\n src={`data:audio/wav;base64,${message.response_audio.content}`}\n controls\n className=\"w-full\"\n />\n )}\n </div>\n )}\n </>\n );\n })()}\n\n {/* Tool Calls */}\n {showToolCalls && message.tool_calls && message.tool_calls.length > 0 && (\n <div className={cn('space-y-2 pt-1', classNames?.assistant?.toolCalls)}>\n {message.tool_calls.map((tool, idx) =>\n renderToolCall ? (\n renderToolCall(tool, idx)\n ) : (\n <Tool key={tool.tool_call_id || idx} defaultOpen={idx === 0}>\n <ToolHeader title={tool.tool_name} type=\"tool-use\" state={getToolState(tool)} />\n <ToolContent>\n <ToolInput input={tool.tool_args} />\n {tool.content && (\n <ToolOutput\n output={tool.content}\n errorText={tool.tool_call_error ? 'Tool execution failed' : undefined}\n />\n )}\n </ToolContent>\n </Tool>\n ),\n )}\n </div>\n )}\n\n {/* References */}\n {showReferences &&\n message.extra_data?.references &&\n message.extra_data.references.length > 0 && (\n <div className={cn('space-y-2 pt-1', classNames?.assistant?.references)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <FileText className=\"h-3.5 w-3.5\" />\n References ({message.extra_data.references.length})\n </div>\n <div className=\"space-y-2\">\n {message.extra_data.references.map((refData, idx) => (\n <div key={idx} className=\"text-xs space-y-1.5\">\n {refData.query && (\n <div className=\"font-medium text-foreground\">Query: {refData.query}</div>\n )}\n {refData.references.map((ref, refIdx) => (\n <div key={refIdx} className=\"bg-muted/50 border border-border p-2.5 rounded-lg\">\n <div className=\"italic text-muted-foreground mb-1\">\"{ref.content}\"</div>\n <div className=\"text-muted-foreground/70\">\n Source: {ref.name} (chunk {ref.meta_data.chunk}/{ref.meta_data.chunk_size})\n </div>\n </div>\n ))}\n </div>\n ))}\n </div>\n </div>\n )}\n </>\n )}\n\n {/* Footer: actions + timestamp, left-aligned */}\n {(actions?.assistant || showTimestamp || hasError) && (\n <div className=\"flex items-center gap-2 pt-1\">\n {actions?.assistant && (() => {\n const visibility = actions.visibility ?? 'visible';\n // For 'last-assistant' mode, only render on the last assistant message\n if (visibility === 'last-assistant' && !isLastAssistantMessage) return null;\n\n const useHover =\n visibility === 'hover' ||\n (visibility === 'hover-last-visible' && !isLastAssistantMessage);\n\n return (\n <div\n className={cn(\n 'flex items-center gap-1 transition-opacity',\n useHover && 'opacity-0 group-hover/message:opacity-100',\n classNames?.assistant?.actions,\n )}\n >\n {actions.assistant(message)}\n </div>\n );\n })()}\n {hasError && (\n <span className=\"flex items-center gap-1 text-[11px] text-destructive\">\n <AlertCircle className=\"h-3 w-3\" />\n Error\n </span>\n )}\n {showTimestamp && (\n <SmartTimestamp\n date={new Date(message.created_at * 1000)}\n formatShort={isCustomTimestamp ? resolvedFormatTimestamp : undefined}\n className=\"text-[11px] text-muted-foreground\"\n />\n )}\n </div>\n )}\n </div>\n </div>\n )}\n\n {/* Image Lightbox */}\n {preview?.type === 'image' && (\n <ImageLightbox\n open\n onOpenChange={(open) => { if (!open) closePreview(); }}\n images={preview.images}\n initialIndex={preview.initialIndex}\n />\n )}\n\n {/* File Preview Modal */}\n {preview?.type === 'file' && (\n <FilePreviewModal\n open\n onOpenChange={(open) => { if (!open) closePreview(); }}\n file={preview.file}\n />\n )}\n </div>\n );\n}\n",
44
+ "import { useMemo, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport type { ChatMessage } from '@rodrigocoliveira/agno-types';\nimport { AlertCircle, FileIcon, Music } from 'lucide-react';\nimport { SmartTimestamp } from '../../components/smart-timestamp';\nimport { FilePreviewCard } from '../../components/file-preview-card';\nimport { FilePreviewModal } from '../../components/file-preview-modal';\nimport { ImageLightbox } from '../../components/image-lightbox';\nimport type { FilePreviewFile } from '../../components/file-preview-card';\nimport type { LightboxImage } from '../../components/image-lightbox';\nimport { formatSmartTimestamp } from '../../lib/format-timestamp';\nimport { cn } from '../../lib/cn';\nimport type {\n AgnoMessageClassNames,\n AgnoMessageActions,\n AgnoMessageAvatars,\n} from '../../types';\nimport type { RenderTool } from '../agno-chat/render-tool';\nimport { AgnoMessageContext } from './context';\nimport type { AgnoMessageContextValue } from './context';\nimport { AgnoMessageReasoning } from './reasoning';\nimport { AgnoMessageMedia } from './media';\nimport { AgnoMessageTools } from './tools';\nimport { AgnoMessageContent } from './content';\nimport { AgnoMessageReferences } from './references';\nimport { AgnoMessageFooter } from './footer';\n\nexport interface AgnoMessageProps {\n message: ChatMessage;\n className?: string;\n classNames?: AgnoMessageClassNames;\n avatars?: AgnoMessageAvatars;\n actions?: AgnoMessageActions;\n isLastAssistantMessage?: boolean;\n showFilePreview?: boolean;\n showImageLightbox?: boolean;\n showTimestamp?: boolean;\n formatTimestamp?: (date: Date) => string;\n renderTool?: RenderTool;\n /**\n * Custom slot composition for assistant messages. If provided, replaces the\n * default ordering. Use `<AgnoMessage.Reasoning />`, `<AgnoMessage.Media />`,\n * `<AgnoMessage.Tools />`, `<AgnoMessage.Content />`, `<AgnoMessage.References />`,\n * `<AgnoMessage.Footer />` in any order. User messages ignore this — their layout\n * is fixed.\n */\n children?: ReactNode;\n}\n\ntype PreviewState =\n | { type: 'image'; images: LightboxImage[]; initialIndex: number }\n | { type: 'file'; file: FilePreviewFile }\n | null;\n\nfunction DefaultAssistantComposition({ showTimestamp }: { showTimestamp: boolean }) {\n return (\n <>\n <AgnoMessageReasoning />\n <AgnoMessageMedia />\n <AgnoMessageTools />\n <AgnoMessageContent />\n <AgnoMessageReferences />\n <AgnoMessageFooter showTimestamp={showTimestamp} />\n </>\n );\n}\n\nexport function AgnoMessage({\n message,\n className,\n classNames,\n avatars,\n actions,\n isLastAssistantMessage = false,\n showFilePreview = true,\n showImageLightbox = true,\n showTimestamp = true,\n formatTimestamp,\n renderTool,\n children,\n}: AgnoMessageProps) {\n const isUser = message.role === 'user';\n const hasError = message.streamingError;\n const [preview, setPreview] = useState<PreviewState>(null);\n\n const isCustomTimestamp = !!formatTimestamp;\n const resolvedFormatTimestamp = formatTimestamp ?? formatSmartTimestamp;\n\n const ctx = useMemo<AgnoMessageContextValue>(\n () => ({\n message,\n isLastAssistantMessage,\n classNames,\n actions,\n avatars,\n formatTimestamp,\n showFilePreview,\n showImageLightbox,\n openImageLightbox: (images, index) => {\n if (!showImageLightbox) return;\n setPreview({ type: 'image', images, initialIndex: index });\n },\n openFilePreview: (file) => {\n if (!showFilePreview) return;\n setPreview({ type: 'file', file });\n },\n renderTool,\n }),\n [\n message,\n isLastAssistantMessage,\n classNames,\n actions,\n avatars,\n formatTimestamp,\n showFilePreview,\n showImageLightbox,\n renderTool,\n ],\n );\n\n const closePreview = () => setPreview(null);\n\n return (\n <AgnoMessageContext.Provider value={ctx}>\n <div className={cn('py-5 first:pt-2', isUser ? 'flex justify-end' : '', classNames?.root, className)}>\n {isUser ? (\n <UserMessageLayout\n message={message}\n classNames={classNames}\n avatars={avatars}\n actions={actions}\n isCustomTimestamp={isCustomTimestamp}\n resolvedFormatTimestamp={resolvedFormatTimestamp}\n showTimestamp={showTimestamp}\n showImageLightbox={showImageLightbox}\n showFilePreview={showFilePreview}\n openImageLightbox={ctx.openImageLightbox}\n openFilePreview={ctx.openFilePreview}\n hasError={hasError}\n />\n ) : (\n <div className=\"flex items-start gap-3 group/message\">\n {avatars?.assistant}\n <div className={cn('flex-1 min-w-0 space-y-3', classNames?.assistant?.container)}>\n {children ?? <DefaultAssistantComposition showTimestamp={showTimestamp} />}\n </div>\n </div>\n )}\n\n {preview?.type === 'image' && (\n <ImageLightbox\n open\n onOpenChange={(open) => { if (!open) closePreview(); }}\n images={preview.images}\n initialIndex={preview.initialIndex}\n />\n )}\n {preview?.type === 'file' && (\n <FilePreviewModal\n open\n onOpenChange={(open) => { if (!open) closePreview(); }}\n file={preview.file}\n />\n )}\n </div>\n </AgnoMessageContext.Provider>\n );\n}\n\nAgnoMessage.Reasoning = AgnoMessageReasoning;\nAgnoMessage.Media = AgnoMessageMedia;\nAgnoMessage.Tools = AgnoMessageTools;\nAgnoMessage.Content = AgnoMessageContent;\nAgnoMessage.References = AgnoMessageReferences;\nAgnoMessage.Footer = AgnoMessageFooter;\n\ninterface UserMessageLayoutProps {\n message: ChatMessage;\n classNames?: AgnoMessageClassNames;\n avatars?: AgnoMessageAvatars;\n actions?: AgnoMessageActions;\n isCustomTimestamp: boolean;\n resolvedFormatTimestamp: (date: Date) => string;\n showTimestamp: boolean;\n showImageLightbox: boolean;\n showFilePreview: boolean;\n openImageLightbox: (images: LightboxImage[], idx: number) => void;\n openFilePreview: (file: FilePreviewFile) => void;\n hasError?: boolean;\n}\n\nfunction UserMessageLayout({\n message,\n classNames,\n avatars,\n actions,\n isCustomTimestamp,\n resolvedFormatTimestamp,\n showTimestamp,\n showImageLightbox,\n showFilePreview,\n openImageLightbox,\n openFilePreview,\n hasError,\n}: UserMessageLayoutProps) {\n return (\n <div className=\"flex items-start gap-2.5 max-w-[80%] flex-row-reverse\">\n {avatars?.user}\n <div className=\"space-y-1.5 flex flex-col items-end min-w-0\">\n {((message.images && message.images.length > 0) ||\n (message.audio && message.audio.length > 0) ||\n (message.files && message.files.length > 0)) && (\n <div className=\"flex flex-wrap gap-2 justify-end\">\n {message.images?.map((img, idx) => (\n <FilePreviewCard\n key={`img-${idx}`}\n file={{ name: img.revised_prompt || `Image ${idx + 1}`, type: 'image/png', url: img.url }}\n onClick={\n showImageLightbox\n ? () =>\n openImageLightbox(\n message.images!.map((i) => ({ url: i.url, alt: i.revised_prompt })),\n idx,\n )\n : undefined\n }\n />\n ))}\n {message.audio?.map((audio, idx) => (\n <div\n key={`audio-${idx}`}\n className=\"flex items-center gap-1.5 rounded-lg border border-border bg-muted/50 px-2.5 py-1.5 text-xs text-foreground self-end\"\n >\n <Music className=\"h-3.5 w-3.5 text-muted-foreground\" />\n <span className=\"truncate max-w-[150px]\">{audio.id || `Audio ${idx + 1}`}</span>\n </div>\n ))}\n {message.files?.map((file, idx) =>\n showFilePreview ? (\n <FilePreviewCard\n key={`file-${idx}`}\n file={{ name: file.name, type: file.type, url: file.url, size: file.size }}\n onClick={() =>\n openFilePreview({ name: file.name, type: file.type, url: file.url, size: file.size })\n }\n />\n ) : (\n <div\n key={`file-${idx}`}\n className=\"flex items-center gap-1.5 rounded-lg border border-border bg-muted/50 px-2.5 py-1.5 text-xs text-foreground self-end\"\n >\n <FileIcon className=\"h-3.5 w-3.5 text-muted-foreground\" />\n <span className=\"truncate max-w-[150px]\">{file.name}</span>\n </div>\n ),\n )}\n </div>\n )}\n {message.content && (\n <div\n className={cn(\n 'rounded-2xl rounded-br-md px-4 py-2.5',\n classNames?.user?.bubble ?? 'bg-primary text-primary-foreground',\n hasError && 'opacity-70',\n )}\n >\n <p className=\"text-sm whitespace-pre-wrap\">{message.content}</p>\n </div>\n )}\n {(showTimestamp || actions?.user) && (\n <div className=\"flex items-center justify-end gap-1.5 px-1\">\n {actions?.user && (\n <div className=\"flex items-center gap-1\">\n {actions.user(message)}\n </div>\n )}\n <SmartTimestamp\n date={new Date(message.created_at * 1000)}\n formatShort={isCustomTimestamp ? resolvedFormatTimestamp : undefined}\n className=\"text-[11px] text-muted-foreground\"\n />\n {hasError && <AlertCircle className=\"h-3 w-3 text-destructive\" />}\n </div>\n )}\n </div>\n </div>\n );\n}\n\n",
45
+ "import { createContext, useContext } from 'react';\nimport type { ChatMessage } from '@rodrigocoliveira/agno-types';\nimport type { FilePreviewFile } from '../../components/file-preview-card';\nimport type { LightboxImage } from '../../components/image-lightbox';\nimport type {\n AgnoMessageClassNames,\n AgnoMessageActions,\n AgnoMessageAvatars,\n} from '../../types';\nimport type { RenderTool } from '../agno-chat/render-tool';\n\nexport interface AgnoMessageContextValue {\n message: ChatMessage;\n isLastAssistantMessage: boolean;\n classNames?: AgnoMessageClassNames;\n actions?: AgnoMessageActions;\n avatars?: AgnoMessageAvatars;\n formatTimestamp?: (date: Date) => string;\n showFilePreview: boolean;\n showImageLightbox: boolean;\n openImageLightbox: (images: LightboxImage[], index: number) => void;\n openFilePreview: (file: FilePreviewFile) => void;\n renderTool?: RenderTool;\n}\n\nexport const AgnoMessageContext = createContext<AgnoMessageContextValue | null>(null);\n\nexport function useAgnoMessageContext(): AgnoMessageContextValue {\n const ctx = useContext(AgnoMessageContext);\n if (!ctx) {\n throw new Error(\n 'useAgnoMessageContext must be used within an <AgnoMessage> provider. ' +\n 'Wrap your slots with <AgnoMessage message={...}>.',\n );\n }\n return ctx;\n}\n",
46
+ "import { Lightbulb } from 'lucide-react';\nimport { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '../../primitives/accordion';\nimport { cn } from '../../lib/cn';\nimport { useAgnoMessageContext } from './context';\n\nexport function AgnoMessageReasoning() {\n const { message, classNames } = useAgnoMessageContext();\n const steps = message.extra_data?.reasoning_steps;\n if (!steps || steps.length === 0) return null;\n\n return (\n <div className={cn('space-y-2 pt-1', classNames?.assistant?.reasoning)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Lightbulb className=\"h-3.5 w-3.5\" />\n Reasoning ({steps.length} steps)\n </div>\n <Accordion type=\"multiple\" className=\"w-full\">\n {steps.map((step, idx) => (\n <AccordionItem key={idx} value={`reasoning-${idx}`} className=\"border-muted\">\n <AccordionTrigger className=\"text-xs py-1.5 hover:no-underline\">\n {step.title || `Step ${idx + 1}`}\n </AccordionTrigger>\n <AccordionContent className=\"space-y-1.5 text-xs text-muted-foreground\">\n {step.action && (\n <div>\n <span className=\"font-medium text-foreground\">Action:</span> {step.action}\n </div>\n )}\n {step.reasoning && (\n <div>\n <span className=\"font-medium text-foreground\">Reasoning:</span> {step.reasoning}\n </div>\n )}\n {step.result && (\n <div>\n <span className=\"font-medium text-foreground\">Result:</span> {step.result}\n </div>\n )}\n {step.confidence !== undefined && (\n <div>\n <span className=\"font-medium text-foreground\">Confidence:</span>{' '}\n {(step.confidence * 100).toFixed(1)}%\n </div>\n )}\n </AccordionContent>\n </AccordionItem>\n ))}\n </Accordion>\n </div>\n );\n}\n",
47
+ "import { FileIcon, Image as ImageIcon, Music, Paperclip, Video } from 'lucide-react';\nimport { FilePreviewCard } from '../../components/file-preview-card';\nimport { cn } from '../../lib/cn';\nimport { useAgnoMessageContext } from './context';\n\nexport function AgnoMessageMedia() {\n const {\n message,\n classNames,\n showImageLightbox,\n showFilePreview,\n openImageLightbox,\n openFilePreview,\n } = useAgnoMessageContext();\n const mediaClassName = classNames?.assistant?.media;\n\n const hasImages = !!message.images && message.images.length > 0;\n const hasVideos = !!message.videos && message.videos.length > 0;\n const hasAudio = !!message.audio && message.audio.length > 0;\n const hasFiles = !!message.files && message.files.length > 0;\n const hasResponseAudio = !!message.response_audio;\n\n if (!hasImages && !hasVideos && !hasAudio && !hasFiles && !hasResponseAudio) return null;\n\n return (\n <>\n {hasImages && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <ImageIcon className=\"h-3.5 w-3.5\" />\n Images ({message.images!.length})\n </div>\n <div className=\"grid grid-cols-2 gap-2\">\n {message.images!.map((img, idx) => (\n <div key={idx} className=\"space-y-1\">\n {showImageLightbox ? (\n <button\n type=\"button\"\n onClick={() =>\n openImageLightbox(\n message.images!.map((i) => ({ url: i.url, alt: i.revised_prompt })),\n idx,\n )\n }\n className=\"group relative w-full overflow-hidden rounded-lg border border-border cursor-pointer hover:border-primary/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring transition-colors\"\n >\n <img\n src={img.url}\n alt={img.revised_prompt || 'Generated image'}\n className=\"w-full rounded-lg\"\n />\n </button>\n ) : (\n <img\n src={img.url}\n alt={img.revised_prompt || 'Generated image'}\n className=\"w-full rounded-lg border border-border\"\n />\n )}\n {img.revised_prompt && (\n <p className=\"text-[11px] text-muted-foreground italic px-0.5\">\n {img.revised_prompt}\n </p>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {hasVideos && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Video className=\"h-3.5 w-3.5\" />\n Videos ({message.videos!.length})\n </div>\n <div className=\"space-y-2\">\n {message.videos!.map((video, idx) => (\n <div key={idx}>\n {video.url ? (\n <video src={video.url} controls className=\"w-full rounded-lg border border-border\" />\n ) : (\n <div className=\"bg-muted/50 border border-border p-2.5 rounded-lg text-xs text-muted-foreground\">\n Video ID: {video.id} (ETA: {video.eta}s)\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {hasAudio && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Music className=\"h-3.5 w-3.5\" />\n Audio ({message.audio!.length})\n </div>\n <div className=\"space-y-2\">\n {message.audio!.map((audio, idx) => (\n <div key={idx}>\n {audio.url ? (\n <audio src={audio.url} controls className=\"w-full\" />\n ) : audio.base64_audio ? (\n <audio\n src={`data:${audio.mime_type || 'audio/wav'};base64,${audio.base64_audio}`}\n controls\n className=\"w-full\"\n />\n ) : (\n <div className=\"bg-muted/50 border border-border p-2.5 rounded-lg text-xs text-muted-foreground\">\n Audio data unavailable\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {hasFiles && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Paperclip className=\"h-3.5 w-3.5\" />\n Files ({message.files!.length})\n </div>\n <div className=\"flex flex-wrap gap-2\">\n {message.files!.map((file, idx) =>\n showFilePreview ? (\n <FilePreviewCard\n key={idx}\n file={{ name: file.name, type: file.type, url: file.url, size: file.size }}\n onClick={() =>\n openFilePreview({ name: file.name, type: file.type, url: file.url, size: file.size })\n }\n />\n ) : (\n <div\n key={idx}\n className=\"flex items-center gap-2 rounded-lg border border-border px-3 py-2 text-xs bg-muted/30 hover:bg-muted/50 transition-colors\"\n >\n <FileIcon className=\"h-3.5 w-3.5 shrink-0 text-muted-foreground\" />\n <span className=\"truncate max-w-[180px]\">{file.name}</span>\n {file.size && (\n <span className=\"text-muted-foreground/70\">\n ({(file.size / 1024).toFixed(1)}KB)\n </span>\n )}\n {file.url && /^https?:\\/\\//i.test(file.url) && (\n <a\n href={file.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-primary hover:underline font-medium\"\n >\n View\n </a>\n )}\n </div>\n ),\n )}\n </div>\n </div>\n )}\n\n {hasResponseAudio && message.response_audio && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Music className=\"h-3.5 w-3.5\" />\n Response Audio\n </div>\n {message.response_audio.transcript && (\n <div className=\"text-xs italic bg-muted/50 border border-border p-2.5 rounded-lg text-muted-foreground\">\n \"{message.response_audio.transcript}\"\n </div>\n )}\n {message.response_audio.content && (\n <audio\n src={`data:audio/wav;base64,${message.response_audio.content}`}\n controls\n className=\"w-full\"\n />\n )}\n </div>\n )}\n </>\n );\n}\n",
48
+ "import { createContext, useContext } from 'react';\nimport type { RefObject } from 'react';\nimport type { ChatMessage, ClientState, ToolCall } from '@rodrigocoliveira/agno-types';\nimport type { RenderTool } from './render-tool';\n\nexport interface AgnoChatContextValue {\n // From useAgnoChat()\n messages: ChatMessage[];\n sendMessage: (\n message: string | FormData,\n options?: { headers?: Record<string, string>; params?: Record<string, string> },\n ) => Promise<void>;\n clearMessages: () => void;\n cancelRun: () => Promise<void>;\n isStreaming: boolean;\n isRefreshing: boolean;\n isCancelling: boolean;\n currentRunId?: string;\n error?: string;\n state: ClientState;\n\n // From useAgnoToolExecution()\n isPaused: boolean;\n isExecuting: boolean;\n pendingTools: ToolCall[];\n executeAndContinue: () => Promise<void>;\n executeTools: (tools: ToolCall[]) => Promise<ToolCall[]>;\n continueWithResults: (\n tools: ToolCall[],\n options?: { headers?: Record<string, string>; params?: Record<string, string> },\n ) => Promise<void>;\n executionError?: string;\n\n // Derived convenience\n handleSend: (message: string | FormData) => Promise<void>;\n inputDisabled: boolean;\n\n // Drop zone\n dropZoneContainerRef?: RefObject<HTMLElement | null>;\n\n // Tool rendering\n renderTool?: RenderTool;\n isDebug: boolean;\n}\n\nexport const AgnoChatContext = createContext<AgnoChatContextValue | null>(null);\n\nexport function useAgnoChatContext(): AgnoChatContextValue {\n const ctx = useContext(AgnoChatContext);\n if (!ctx) {\n throw new Error(\n 'useAgnoChatContext must be used within an <AgnoChat> provider. ' +\n 'Wrap your component tree with <AgnoChat>.',\n );\n }\n return ctx;\n}\n",
49
+ "import type { ToolCall } from '@rodrigocoliveira/agno-types';\nimport { Tool, ToolContent, ToolHeader, ToolInput, ToolOutput } from '../../components/tool';\nimport type { ToolState } from '../../types';\n\nexport interface ToolDebugCardProps {\n tool: ToolCall;\n defaultOpen?: boolean;\n}\n\nconst getToolState = (tool: ToolCall): ToolState =>\n tool.tool_call_error ? 'output-error' : 'output-available';\n\nexport function ToolDebugCard({ tool, defaultOpen }: ToolDebugCardProps) {\n const output = tool.result ?? tool.content;\n return (\n <Tool defaultOpen={defaultOpen}>\n <ToolHeader title={tool.tool_name} type=\"tool-use\" state={getToolState(tool)} />\n <ToolContent>\n <ToolInput input={tool.tool_args} />\n {output ? (\n <ToolOutput\n output={output}\n errorText={tool.tool_call_error ? 'Tool execution failed' : undefined}\n />\n ) : null}\n </ToolContent>\n </Tool>\n );\n}\n",
50
+ "import type { ReactNode } from 'react';\nimport { cn } from '../../lib/cn';\nimport { useAgnoChatContext } from '../agno-chat/context';\nimport { ToolDebugCard } from '../agno-chat/tool-building-blocks';\nimport type { RenderTool } from '../agno-chat/render-tool';\nimport { useAgnoMessageContext } from './context';\n\nexport interface AgnoMessageToolsProps {\n /** Override the `renderTool` from context for this slot only */\n renderTool?: RenderTool;\n}\n\nexport function AgnoMessageTools({ renderTool: renderToolProp }: AgnoMessageToolsProps = {}) {\n const { message, classNames, renderTool: ctxMsgRenderTool } = useAgnoMessageContext();\n const { renderTool: ctxChatRenderTool, isDebug } = useAgnoChatContext();\n const renderTool = renderToolProp ?? ctxMsgRenderTool ?? ctxChatRenderTool;\n\n if (!message.tool_calls || message.tool_calls.length === 0) return null;\n\n return (\n <div className={cn('space-y-2 pt-1', classNames?.assistant?.toolCalls)}>\n {message.tool_calls.map((tool, idx) => {\n const defaultRender = (): ReactNode =>\n isDebug ? <ToolDebugCard tool={tool} defaultOpen={idx === 0} /> : null;\n const node = renderTool\n ? renderTool(tool, { index: idx, isDebug, defaultRender })\n : defaultRender();\n if (node === null || node === undefined) return null;\n return <div key={tool.tool_call_id || idx}>{node}</div>;\n })}\n </div>\n );\n}\n",
51
+ "import { Response } from '../../components/response';\nimport { useAgnoMessageContext } from './context';\n\nexport function AgnoMessageContent() {\n const { message } = useAgnoMessageContext();\n if (!message.content) return null;\n return (\n <div className=\"prose prose-sm dark:prose-invert max-w-none prose-p:leading-relaxed prose-pre:bg-muted prose-pre:border prose-pre:border-border\">\n <Response>{message.content}</Response>\n </div>\n );\n}\n",
52
+ "import { FileText } from 'lucide-react';\nimport { cn } from '../../lib/cn';\nimport { useAgnoMessageContext } from './context';\n\nexport function AgnoMessageReferences() {\n const { message, classNames } = useAgnoMessageContext();\n const references = message.extra_data?.references;\n if (!references || references.length === 0) return null;\n\n return (\n <div className={cn('space-y-2 pt-1', classNames?.assistant?.references)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <FileText className=\"h-3.5 w-3.5\" />\n References ({references.length})\n </div>\n <div className=\"space-y-2\">\n {references.map((refData, idx) => (\n <div key={idx} className=\"text-xs space-y-1.5\">\n {refData.query && (\n <div className=\"font-medium text-foreground\">Query: {refData.query}</div>\n )}\n {refData.references.map((ref, refIdx) => (\n <div key={refIdx} className=\"bg-muted/50 border border-border p-2.5 rounded-lg\">\n <div className=\"italic text-muted-foreground mb-1\">\"{ref.content}\"</div>\n <div className=\"text-muted-foreground/70\">\n Source: {ref.name} (chunk {ref.meta_data.chunk}/{ref.meta_data.chunk_size})\n </div>\n </div>\n ))}\n </div>\n ))}\n </div>\n </div>\n );\n}\n",
53
+ "import { AlertCircle } from 'lucide-react';\nimport { SmartTimestamp } from '../../components/smart-timestamp';\nimport { formatSmartTimestamp } from '../../lib/format-timestamp';\nimport { cn } from '../../lib/cn';\nimport { useAgnoMessageContext } from './context';\n\nexport interface AgnoMessageFooterProps {\n /** Show timestamp (default: true) */\n showTimestamp?: boolean;\n}\n\nexport function AgnoMessageFooter({ showTimestamp = true }: AgnoMessageFooterProps = {}) {\n const { message, classNames, actions, isLastAssistantMessage, formatTimestamp } =\n useAgnoMessageContext();\n const hasError = message.streamingError;\n const isCustomTimestamp = !!formatTimestamp;\n const resolvedFormatTimestamp = formatTimestamp ?? formatSmartTimestamp;\n\n if (!actions?.assistant && !showTimestamp && !hasError) return null;\n\n return (\n <div className=\"flex items-center gap-2 pt-1\">\n {actions?.assistant && (() => {\n const visibility = actions.visibility ?? 'visible';\n if (visibility === 'last-assistant' && !isLastAssistantMessage) return null;\n\n const useHover =\n visibility === 'hover' ||\n (visibility === 'hover-last-visible' && !isLastAssistantMessage);\n\n return (\n <div\n className={cn(\n 'flex items-center gap-1 transition-opacity',\n useHover && 'opacity-0 group-hover/message:opacity-100',\n classNames?.assistant?.actions,\n )}\n >\n {actions.assistant(message)}\n </div>\n );\n })()}\n {hasError && (\n <span className=\"flex items-center gap-1 text-[11px] text-destructive\">\n <AlertCircle className=\"h-3 w-3\" />\n Error\n </span>\n )}\n {showTimestamp && (\n <SmartTimestamp\n date={new Date(message.created_at * 1000)}\n formatShort={isCustomTimestamp ? resolvedFormatTimestamp : undefined}\n className=\"text-[11px] text-muted-foreground\"\n />\n )}\n </div>\n );\n}\n",
54
+ "import type { ChatMessage } from '@rodrigocoliveira/agno-types';\nimport type { AgnoMessageClassNames, AgnoMessageAvatars, AgnoMessageActions } from '../types';\nimport type { RenderTool } from './agno-chat/render-tool';\nimport { AgnoMessage } from './agno-message/message';\n\nexport interface AgnoMessageItemProps {\n message: ChatMessage;\n className?: string;\n classNames?: AgnoMessageClassNames;\n avatars?: AgnoMessageAvatars;\n actions?: AgnoMessageActions;\n isLastAssistantMessage?: boolean;\n /** Show reasoning steps (default: true). Omit `<AgnoMessage.Reasoning />` in custom compositions for finer control. */\n showReasoning?: boolean;\n /** Show references (default: true). Omit `<AgnoMessage.References />` in custom compositions for finer control. */\n showReferences?: boolean;\n showTimestamp?: boolean;\n showFilePreview?: boolean;\n showImageLightbox?: boolean;\n formatTimestamp?: (date: Date) => string;\n renderTool?: RenderTool;\n}\n\n/**\n * Default message renderer used by `<AgnoChat.Messages>`. Renders the standard\n * slot order: Reasoning → Media → Tools → Content → References → Footer.\n *\n * For custom orderings or omissions, use `<AgnoMessage>` directly with the\n * sub-components: `<AgnoMessage.Content />`, `<AgnoMessage.Tools />`, etc.\n */\nexport function AgnoMessageItem({\n message,\n className,\n classNames,\n avatars,\n actions,\n isLastAssistantMessage = false,\n showReasoning = true,\n showReferences = true,\n showTimestamp = true,\n showFilePreview = true,\n showImageLightbox = true,\n formatTimestamp,\n renderTool,\n}: AgnoMessageItemProps) {\n return (\n <AgnoMessage\n message={message}\n className={className}\n classNames={classNames}\n avatars={avatars}\n actions={actions}\n isLastAssistantMessage={isLastAssistantMessage}\n showTimestamp={showTimestamp}\n showFilePreview={showFilePreview}\n showImageLightbox={showImageLightbox}\n formatTimestamp={formatTimestamp}\n renderTool={renderTool}\n >\n {showReasoning && <AgnoMessage.Reasoning />}\n <AgnoMessage.Media />\n <AgnoMessage.Tools />\n <AgnoMessage.Content />\n {showReferences && <AgnoMessage.References />}\n <AgnoMessage.Footer showTimestamp={showTimestamp} />\n </AgnoMessage>\n );\n}\n",
45
55
  "import {\n PromptInput,\n PromptInputProvider,\n PromptInputBody,\n PromptInputTextarea,\n PromptInputFooter,\n PromptInputTools,\n PromptInputSubmit,\n PromptInputHeader,\n PromptInputAttachments,\n PromptInputAttachment,\n PromptInputActionMenu,\n PromptInputActionMenuTrigger,\n PromptInputActionMenuContent,\n PromptInputActionAddAttachments,\n PromptInputDropZone,\n usePromptInputController,\n usePromptInputAttachments,\n type PromptInputMessage,\n} from '../components/prompt-input';\nimport type { PromptInputDropZoneProps } from '../components/prompt-input/drop-zone';\nimport { AudioRecorder } from '../components/audio-recorder';\nimport type { AudioRecorderLabels } from '../components/audio-recorder';\nimport { Button } from '../primitives/button';\nimport { CircleStop } from 'lucide-react';\nimport { cn } from '../lib/cn';\nimport type { AudioConfig, ChatStatus, FileUploadConfig } from '../types';\nimport type { ReactNode, RefObject } from 'react';\n\nconst DEFAULT_ACCEPTED_FILE_TYPES =\n 'image/*,audio/*,.pdf,.doc,.docx,.txt,.csv,.xlsx,.xls,.ppt,.pptx,.md,.json,.xml';\n\n/** Normalize `audio` prop: `true` → default config, `false`/`undefined` → undefined */\nfunction normalizeAudio(audio: AudioConfig | boolean | undefined): AudioConfig | undefined {\n if (audio === true) return { enabled: true };\n if (!audio) return undefined;\n return audio;\n}\n\nexport interface AgnoChatInputProps {\n onSend: (message: string | FormData) => void;\n disabled?: boolean;\n placeholder?: string;\n className?: string;\n /** File upload configuration */\n fileUpload?: FileUploadConfig;\n /**\n * Audio recording/transcription configuration.\n * Pass `true` for send-mode defaults, or an `AudioConfig` object.\n *\n * @example\n * audio={true}\n * audio={{ enabled: true, mode: 'transcribe', endpoint: 'http://...' }}\n */\n audio?: AudioConfig | boolean;\n /** Show attachments button (default: true) */\n showAttachments?: boolean;\n /** Override chat status for submit button icon */\n status?: ChatStatus;\n /** Whether a run is currently streaming */\n isStreaming?: boolean;\n /** Called when the user clicks stop during streaming */\n onCancel?: () => void;\n /** Show a stop button that cancels the run while streaming (default: false) */\n allowCancelRun?: boolean;\n /** Extra tools to add to the toolbar */\n extraTools?: ReactNode;\n /** Ref to a container element for rendering the drop zone overlay via portal */\n dropZoneContainerRef?: RefObject<HTMLElement | null>;\n /** Props forwarded to PromptInputDropZone (className, label) */\n dropZoneProps?: Partial<Pick<PromptInputDropZoneProps, 'label' | 'className'>>;\n}\n\nfunction dataUrlToBlob(dataUrl: string): Blob {\n const [header, base64] = dataUrl.split(',');\n const mime = header.match(/:(.*?);/)?.[1] || 'application/octet-stream';\n const bytes = atob(base64);\n const buf = new Uint8Array(bytes.length);\n for (let i = 0; i < bytes.length; i++) {\n buf[i] = bytes.charCodeAt(i);\n }\n return new Blob([buf], { type: mime });\n}\n\n/** Stop button shown during streaming when allowCancelRun is enabled */\nfunction CancelButton({ onCancel }: { onCancel: () => void }) {\n return (\n <Button\n type=\"button\"\n variant=\"destructive\"\n size=\"icon\"\n className=\"h-8 w-8 rounded-lg\"\n onClick={onCancel}\n aria-label=\"Stop\"\n >\n <CircleStop className=\"size-4\" />\n </Button>\n );\n}\n\n/** Submit button disabled until text exists */\nfunction SubmitButton({ disabled, status }: { disabled?: boolean; status?: ChatStatus }) {\n const { textInput } = usePromptInputController();\n const hasText = textInput.value.trim().length > 0;\n return <PromptInputSubmit disabled={disabled || !hasText} status={status} />;\n}\n\n/** Only renders the attachment header when files are present */\nfunction AttachmentHeader() {\n const { files } = usePromptInputAttachments();\n if (files.length === 0) return null;\n return (\n <PromptInputHeader>\n <PromptInputAttachments>\n {(attachment) => <PromptInputAttachment data={attachment} />}\n </PromptInputAttachments>\n </PromptInputHeader>\n );\n}\n\n/** Internal wrapper that accesses PromptInput context to set transcribed text */\nfunction TranscribeAudioRecorder({\n endpoint,\n headers,\n disabled,\n parseResponse,\n onRequestPermission,\n labels,\n}: {\n endpoint: string;\n headers?: Record<string, string>;\n disabled?: boolean;\n parseResponse?: (data: unknown) => string;\n onRequestPermission?: () => Promise<boolean>;\n labels?: AudioRecorderLabels;\n}) {\n const { textInput } = usePromptInputController();\n return (\n <AudioRecorder\n mode=\"transcribe\"\n transcriptionEndpoint={endpoint}\n transcriptionHeaders={headers}\n parseTranscriptionResponse={parseResponse}\n onRequestPermission={onRequestPermission}\n onRecordingComplete={() => {}}\n onTranscriptionComplete={(text) => {\n const current = textInput.value;\n textInput.setInput(current + (current ? ' ' : '') + text);\n }}\n disabled={disabled}\n labels={labels}\n />\n );\n}\n\nexport function AgnoChatInput({\n onSend,\n disabled,\n placeholder,\n className,\n fileUpload,\n audio,\n showAttachments = true,\n status,\n isStreaming,\n onCancel,\n allowCancelRun = false,\n extraTools,\n dropZoneContainerRef,\n dropZoneProps,\n}: AgnoChatInputProps) {\n const resolvedAudio = normalizeAudio(audio);\n const audioEnabled = resolvedAudio?.enabled ?? false;\n const audioMode = resolvedAudio?.mode ?? 'send';\n\n const handleSubmit = (message: PromptInputMessage) => {\n const text = message.text?.trim() || '';\n const files = message.files || [];\n\n if (!text) return;\n\n if (files.length === 0) {\n onSend(text);\n return;\n }\n\n const formData = new FormData();\n formData.append('message', text);\n\n for (const file of files) {\n if (!file.url) continue;\n const blob = file.url.startsWith('data:') ? dataUrlToBlob(file.url) : null;\n if (!blob) continue;\n const fileName = file.filename || 'file';\n formData.append('files', blob, fileName);\n }\n\n onSend(formData);\n };\n\n const handleAudioRecording = (blob: Blob) => {\n const formData = new FormData();\n formData.append('message', 'Audio message');\n formData.append('files', blob, `recording-${Date.now()}.wav`);\n onSend(formData);\n };\n\n const computedStatus = status ?? (disabled ? 'submitted' : undefined);\n const showCancelButton = allowCancelRun && isStreaming && onCancel;\n\n return (\n <PromptInputProvider>\n <PromptInput\n onSubmit={handleSubmit}\n accept={fileUpload?.accept ?? DEFAULT_ACCEPTED_FILE_TYPES}\n multiple={fileUpload?.multiple ?? true}\n maxFiles={fileUpload?.maxFiles}\n maxFileSize={fileUpload?.maxFileSize}\n globalDrop={!!dropZoneContainerRef}\n dragListenerTarget={dropZoneContainerRef}\n className={cn('w-full', className)}\n >\n <AttachmentHeader />\n <PromptInputBody>\n <PromptInputTextarea\n placeholder={placeholder || 'Type your message... (Enter to send, Shift+Enter for new line)'}\n disabled={disabled}\n />\n </PromptInputBody>\n <PromptInputFooter>\n <PromptInputTools>\n {showAttachments && (\n <PromptInputActionMenu>\n <PromptInputActionMenuTrigger />\n <PromptInputActionMenuContent>\n <PromptInputActionAddAttachments label=\"Add files\" />\n </PromptInputActionMenuContent>\n </PromptInputActionMenu>\n )}\n {audioEnabled &&\n (audioMode === 'transcribe' && resolvedAudio?.endpoint ? (\n <TranscribeAudioRecorder\n endpoint={resolvedAudio.endpoint}\n headers={resolvedAudio.headers}\n disabled={disabled}\n parseResponse={resolvedAudio.parseResponse}\n onRequestPermission={resolvedAudio.requestPermission}\n labels={resolvedAudio.labels as AudioRecorderLabels | undefined}\n />\n ) : (\n <AudioRecorder\n onRecordingComplete={handleAudioRecording}\n disabled={disabled}\n onRequestPermission={resolvedAudio?.requestPermission}\n labels={resolvedAudio?.labels as AudioRecorderLabels | undefined}\n />\n ))}\n {extraTools}\n </PromptInputTools>\n {showCancelButton ? (\n <CancelButton onCancel={onCancel} />\n ) : (\n <SubmitButton disabled={disabled} status={computedStatus} />\n )}\n </PromptInputFooter>\n {showAttachments && <PromptInputDropZone {...dropZoneProps} container={dropZoneContainerRef} />}\n </PromptInput>\n </PromptInputProvider>\n );\n}\n",
46
- "import { useCallback, useMemo, useRef } from 'react';\nimport type { HTMLAttributes, ReactNode } from 'react';\nimport { useAgnoChat, useAgnoToolExecution } from '@rodrigocoliveira/agno-react';\nimport type { ToolHandler } from '@rodrigocoliveira/agno-react';\nimport { AgnoChatContext } from './context';\nimport type { AgnoChatContextValue, ToolResultRenderer } from './context';\nimport { cn } from '../../lib/cn';\n\nexport interface AgnoChatRootProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n toolHandlers?: Record<string, ToolHandler>;\n autoExecuteTools?: boolean;\n toolResultRenderers?: Record<string, ToolResultRenderer>;\n}\n\nexport function AgnoChatRoot({\n children,\n toolHandlers = {},\n autoExecuteTools = true,\n toolResultRenderers,\n className,\n ...divProps\n}: AgnoChatRootProps) {\n const chat = useAgnoChat();\n const toolExec = useAgnoToolExecution(toolHandlers, autoExecuteTools, {\n skipHydration: toolResultRenderers ? Object.keys(toolResultRenderers) : undefined,\n });\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n // Stable ref so handleSend never changes identity\n const sendRef = useRef(chat.sendMessage);\n sendRef.current = chat.sendMessage;\n\n const handleSend = useCallback(async (message: string | FormData) => {\n try {\n await sendRef.current(message);\n } catch {\n // Error is surfaced via the error state\n }\n }, []);\n\n // Destructure individual values for stable dependency tracking\n const {\n messages,\n sendMessage,\n clearMessages,\n cancelRun,\n isStreaming,\n isRefreshing,\n isCancelling,\n currentRunId,\n error,\n state,\n } = chat;\n\n const {\n isPaused,\n isExecuting,\n pendingTools,\n executeAndContinue,\n executeTools,\n continueWithResults,\n executionError,\n } = toolExec;\n\n const contextValue = useMemo<AgnoChatContextValue>(\n () => ({\n // chat\n messages,\n sendMessage,\n clearMessages,\n cancelRun,\n isStreaming,\n isRefreshing,\n isCancelling: isCancelling ?? false,\n currentRunId,\n error,\n state,\n\n // tool execution\n isPaused,\n isExecuting,\n pendingTools,\n executeAndContinue,\n executeTools,\n continueWithResults,\n executionError,\n\n // derived\n handleSend,\n inputDisabled: isStreaming || isPaused,\n\n // drop zone\n dropZoneContainerRef: containerRef,\n\n // tool result renderers\n toolResultRenderers,\n }),\n [\n messages,\n sendMessage,\n clearMessages,\n cancelRun,\n isStreaming,\n isRefreshing,\n isCancelling,\n currentRunId,\n error,\n state,\n isPaused,\n isExecuting,\n pendingTools,\n executeAndContinue,\n executeTools,\n continueWithResults,\n executionError,\n handleSend,\n toolResultRenderers,\n ],\n );\n\n return (\n <AgnoChatContext.Provider value={contextValue}>\n <div ref={containerRef} className={cn('relative h-full flex flex-col', className)} {...divProps}>\n {children}\n </div>\n </AgnoChatContext.Provider>\n );\n}\n",
47
- "import { createContext, useContext } from 'react';\nimport type { RefObject, ReactNode } from 'react';\nimport type { ChatMessage, ClientState, ToolCall } from '@rodrigocoliveira/agno-types';\n\nexport type ToolResultRenderer = (args: Record<string, any>, content: string) => ReactNode;\n\nexport interface AgnoChatContextValue {\n // From useAgnoChat()\n messages: ChatMessage[];\n sendMessage: (\n message: string | FormData,\n options?: { headers?: Record<string, string>; params?: Record<string, string> },\n ) => Promise<void>;\n clearMessages: () => void;\n cancelRun: () => Promise<void>;\n isStreaming: boolean;\n isRefreshing: boolean;\n isCancelling: boolean;\n currentRunId?: string;\n error?: string;\n state: ClientState;\n\n // From useAgnoToolExecution()\n isPaused: boolean;\n isExecuting: boolean;\n pendingTools: ToolCall[];\n executeAndContinue: () => Promise<void>;\n executeTools: (tools: ToolCall[]) => Promise<ToolCall[]>;\n continueWithResults: (\n tools: ToolCall[],\n options?: { headers?: Record<string, string>; params?: Record<string, string> },\n ) => Promise<void>;\n executionError?: string;\n\n // Derived convenience\n handleSend: (message: string | FormData) => Promise<void>;\n inputDisabled: boolean;\n\n // Drop zone\n dropZoneContainerRef?: RefObject<HTMLElement | null>;\n\n // Tool result renderers\n toolResultRenderers?: Record<string, ToolResultRenderer>;\n}\n\nexport const AgnoChatContext = createContext<AgnoChatContextValue | null>(null);\n\nexport function useAgnoChatContext(): AgnoChatContextValue {\n const ctx = useContext(AgnoChatContext);\n if (!ctx) {\n throw new Error(\n 'useAgnoChatContext must be used within an <AgnoChat> provider. ' +\n 'Wrap your component tree with <AgnoChat>.',\n );\n }\n return ctx;\n}\n",
48
- "import type { ChatMessage, ToolCall } from '@rodrigocoliveira/agno-types';\nimport { isValidElement, useEffect, useRef, type ReactNode } from 'react';\nimport {\n Conversation,\n ConversationContent,\n ConversationEmptyState,\n ConversationScrollButton,\n useStickToBottomContext,\n} from '../../components/conversation';\nimport { StreamingIndicator } from '../../components/streaming-indicator';\nimport { AgnoMessageItem } from '../AgnoMessageItem';\nimport type { AgnoMessageItemProps } from '../AgnoMessageItem';\nimport { AgnoChatSuggestedPrompts } from './suggested-prompts';\nimport { useAgnoChatContext } from './context';\nimport type { ToolResultRenderer } from './context';\nimport { cn } from '../../lib/cn';\nimport { Bot } from 'lucide-react';\nimport type {\n AgnoMessageClassNames,\n AgnoMessageAvatars,\n AgnoMessageActions,\n SuggestedPrompt,\n ScrollBehaviorConfig,\n} from '../../types';\n\nexport interface AgnoChatMessagesProps {\n className?: string;\n renderMessage?: (message: ChatMessage, index: number) => ReactNode;\n\n /** Grouped avatar configuration */\n avatars?: AgnoMessageAvatars;\n\n /** Grouped action buttons configuration with visibility control */\n actions?: AgnoMessageActions;\n\n // ── Message display options ────────────────────────────────────────\n /** Show reasoning steps (default: true) */\n showReasoning?: boolean;\n /** Show references (default: true) */\n showReferences?: boolean;\n /** Show timestamp (default: true) */\n showTimestamp?: boolean;\n /** Show generative UI renders (default: true) */\n showGenerativeUI?: boolean;\n /** Show tool call details (default: true) */\n showToolCalls?: boolean;\n /** Enable file preview cards with click-to-open modal (default: true) */\n showFilePreview?: boolean;\n /** Enable image lightbox on click (default: true) */\n showImageLightbox?: boolean;\n /** Custom render for individual tool calls */\n renderToolCall?: (tool: ToolCall, index: number) => ReactNode;\n /** Custom render for the entire message content area */\n renderContent?: (message: ChatMessage) => ReactNode;\n /** Custom render for media sections */\n renderMedia?: (message: ChatMessage) => ReactNode;\n /** Custom timestamp formatter */\n formatTimestamp?: (date: Date) => string;\n /** ClassNames override map for message item sections */\n messageClassNames?: AgnoMessageClassNames;\n /** Per-tool renderers for displaying results inline in chat (live and on session reload) */\n toolResultRenderers?: Record<string, ToolResultRenderer>;\n\n // ── Empty state ──────────────────────────────────────────────────\n emptyState?: ReactNode;\n suggestedPrompts?: SuggestedPrompt[];\n /** Custom empty state via children — takes priority over emptyState prop */\n children?: ReactNode;\n\n // ── Thinking indicator ───────────────────────────────────────────\n /** Show the thinking indicator while waiting for the first response content (default: true) */\n showThinkingIndicator?: boolean;\n /** Custom component to render instead of the default thinking indicator */\n renderThinkingIndicator?: ReactNode;\n\n // ── Scroll behavior ──────────────────────────────────────────────\n /**\n * Customize the auto-scroll behavior (powered by `use-stick-to-bottom`).\n * Defaults to `{ initial: 'smooth', resize: 'instant' }` — smooth initial\n * scroll, instant snap during streaming to avoid spring oscillation on\n * markdown/code/table reflow.\n */\n scrollBehavior?: ScrollBehaviorConfig;\n\n // ── Scroll-to-bottom button ──────────────────────────────────────\n /**\n * Controls the floating \"scroll to bottom\" button that appears when the\n * user scrolls up during streaming (the default affordance to resume\n * following the stream).\n *\n * - `undefined` (default) → render the built-in button\n * - `false` → hide the button entirely\n * - `true` → render the built-in button (same as default; useful for clarity)\n * - `{ className }` → render the built-in button with custom classes\n * - `ReactNode` → render your own element instead. Your component will be\n * placed inside `<Conversation>`, so it can use `useStickToBottomContext()`\n * to read `isAtBottom` and call `scrollToBottom()`.\n */\n scrollToBottomButton?: boolean | ReactNode | { className?: string };\n}\n\n/** Scrolls to bottom only when the user sends a new message */\nfunction ScrollOnNewUserMessage({ messageCount }: { messageCount: number }) {\n const { scrollToBottom } = useStickToBottomContext();\n const prevCount = useRef(messageCount);\n\n useEffect(() => {\n if (messageCount > prevCount.current) {\n scrollToBottom('smooth');\n }\n prevCount.current = messageCount;\n }, [messageCount, scrollToBottom]);\n\n return null;\n}\n\nconst DEFAULT_PROMPTS: SuggestedPrompt[] = [\n { text: 'What can you help me with?' },\n { text: 'Explain how you work' },\n];\n\nexport function AgnoChatMessages({\n className,\n renderMessage,\n avatars,\n actions,\n // Message display options\n showReasoning,\n showReferences,\n showTimestamp,\n showGenerativeUI,\n showToolCalls,\n showFilePreview,\n showImageLightbox,\n renderToolCall,\n renderContent,\n renderMedia,\n formatTimestamp,\n messageClassNames,\n // Empty state\n emptyState,\n suggestedPrompts = DEFAULT_PROMPTS,\n children,\n // Thinking indicator\n showThinkingIndicator = true,\n renderThinkingIndicator,\n toolResultRenderers: propToolResultRenderers,\n scrollBehavior,\n scrollToBottomButton,\n}: AgnoChatMessagesProps) {\n const { messages, isStreaming, toolResultRenderers: contextToolResultRenderers } = useAgnoChatContext();\n const toolResultRenderers = propToolResultRenderers ?? contextToolResultRenderers;\n const lastMessage = messages[messages.length - 1];\n const isThinking = showThinkingIndicator && isStreaming && (!lastMessage || lastMessage.role !== 'user') && !lastMessage?.content;\n\n // Resolve the scroll-to-bottom button prop into a rendered node (or null to hide).\n const resolvedScrollButton: ReactNode = (() => {\n if (scrollToBottomButton === false) return null;\n if (scrollToBottomButton === undefined || scrollToBottomButton === true) {\n return <ConversationScrollButton />;\n }\n if (isValidElement(scrollToBottomButton)) return scrollToBottomButton;\n if (\n typeof scrollToBottomButton === 'object' &&\n scrollToBottomButton !== null &&\n 'className' in scrollToBottomButton\n ) {\n return <ConversationScrollButton className={scrollToBottomButton.className} />;\n }\n // Any other ReactNode shape (string, number, fragment, array)\n return scrollToBottomButton as ReactNode;\n })();\n\n // Find the index of the last assistant message (for visibility logic)\n let lastAssistantIndex = -1;\n for (let i = messages.length - 1; i >= 0; i--) {\n if (messages[i].role !== 'user') {\n lastAssistantIndex = i;\n break;\n }\n }\n\n // Build message item props from direct props\n const messageItemProps: Partial<Omit<AgnoMessageItemProps, 'message'>> = {\n ...(showReasoning !== undefined && { showReasoning }),\n ...(showReferences !== undefined && { showReferences }),\n ...(showTimestamp !== undefined && { showTimestamp }),\n ...(showGenerativeUI !== undefined && { showGenerativeUI }),\n ...(showToolCalls !== undefined && { showToolCalls }),\n ...(showFilePreview !== undefined && { showFilePreview }),\n ...(showImageLightbox !== undefined && { showImageLightbox }),\n ...(renderToolCall !== undefined && { renderToolCall }),\n ...(renderContent !== undefined && { renderContent }),\n ...(renderMedia !== undefined && { renderMedia }),\n ...(formatTimestamp !== undefined && { formatTimestamp }),\n ...(messageClassNames !== undefined && { classNames: messageClassNames }),\n ...(toolResultRenderers !== undefined && { toolResultRenderers }),\n };\n\n const resolvedEmptyState = children ??\n emptyState ?? (\n <div className=\"flex flex-col items-center gap-6\">\n <div className=\"relative\">\n <div className=\"h-16 w-16 rounded-2xl bg-primary/10 flex items-center justify-center\">\n <Bot className=\"h-8 w-8 text-primary\" />\n </div>\n <div className=\"absolute -bottom-1 -right-1 h-5 w-5 rounded-full bg-green-500 border-2 border-background flex items-center justify-center\">\n <span className=\"h-2 w-2 rounded-full bg-white animate-pulse\" />\n </div>\n </div>\n <div className=\"space-y-2 text-center\">\n <h3 className=\"text-xl font-semibold tracking-tight\">Welcome to Agno Chat</h3>\n <p className=\"text-muted-foreground text-sm max-w-sm\">\n Start a conversation with your AI agent. Ask questions, explore ideas, or run tools.\n </p>\n </div>\n {suggestedPrompts.length > 0 && <AgnoChatSuggestedPrompts prompts={suggestedPrompts} />}\n </div>\n );\n\n return (\n <Conversation className={cn('relative flex-1 w-full', className)} scrollBehavior={scrollBehavior}>\n <ScrollOnNewUserMessage messageCount={messages.length} />\n <ConversationContent className=\"max-w-3xl mx-auto\">\n {messages.length === 0 ? (\n <ConversationEmptyState>{resolvedEmptyState}</ConversationEmptyState>\n ) : (\n messages.map((message, index) => {\n // Hide the empty placeholder while the thinking indicator is shown\n if (isThinking && index === messages.length - 1 && message === lastMessage) return null;\n return renderMessage ? (\n renderMessage(message, index)\n ) : (\n <AgnoMessageItem\n key={`msg-${index}-${message.created_at}`}\n message={message}\n avatars={avatars}\n actions={actions}\n isLastAssistantMessage={index === lastAssistantIndex}\n {...messageItemProps}\n />\n );\n })\n )}\n\n {isThinking && (\n <div className=\"py-2\">\n {renderThinkingIndicator ?? <StreamingIndicator avatar={avatars?.assistant} />}\n </div>\n )}\n </ConversationContent>\n {resolvedScrollButton}\n </Conversation>\n );\n}\n",
56
+ "import type { ReactNode } from 'react';\nimport type { ToolCall } from '@rodrigocoliveira/agno-types';\n\nexport type ToolRenderArgs = {\n index: number;\n isDebug: boolean;\n defaultRender: () => ReactNode;\n};\n\nexport type RenderTool = (tool: ToolCall, args: ToolRenderArgs) => ReactNode | null;\n\nexport type ToolEntry = false | RenderTool;\n\nexport function byToolName(\n map: Record<string, ToolEntry>,\n fallback?: RenderTool,\n): RenderTool {\n return (tool, args) => {\n // hasOwnProperty guard so tool names like 'toString' / 'constructor' /\n // '__proto__' don't resolve to Object.prototype methods.\n if (!Object.prototype.hasOwnProperty.call(map, tool.tool_name)) {\n return fallback ? fallback(tool, args) : args.defaultRender();\n }\n const entry = map[tool.tool_name];\n if (entry === false) return null;\n return entry(tool, args);\n };\n}\n",
57
+ "import {\n BarChart as RechartsBarChart,\n Bar,\n LineChart as RechartsLineChart,\n Line,\n AreaChart as RechartsAreaChart,\n Area,\n PieChart as RechartsPieChart,\n Pie,\n Cell,\n XAxis,\n YAxis,\n CartesianGrid,\n Legend,\n} from 'recharts';\nimport type { ChartComponentSpec, ChartSeries } from '@rodrigocoliveira/agno-types';\nimport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from '../../components/chart';\n\nconst DEFAULT_COLORS = [\n 'hsl(var(--chart-1))',\n 'hsl(var(--chart-2))',\n 'hsl(var(--chart-3))',\n 'hsl(var(--chart-4))',\n 'hsl(var(--chart-5))',\n];\n\nfunction generateChartConfig(series: ChartSeries[] = []): ChartConfig {\n const config: ChartConfig = {};\n series.forEach((item, index) => {\n config[item.key] = {\n label: item.label || item.key,\n color: item.color || DEFAULT_COLORS[index % DEFAULT_COLORS.length],\n };\n });\n return config;\n}\n\nfunction EmptyState({ message = 'No data available' }: { message?: string }) {\n return (\n <div className=\"flex items-center justify-center h-[350px] border rounded-md bg-muted/10\">\n <p className=\"text-sm text-muted-foreground\">{message}</p>\n </div>\n );\n}\n\nexport type ChartProps = ChartComponentSpec['props'];\n\nexport function BarChart(props: ChartProps) {\n const { data, xKey, bars = [], showLegend = true, showGrid = true, height = 350 } = props;\n if (!data || data.length === 0) return <EmptyState />;\n const config = generateChartConfig(bars);\n return (\n <ChartContainer config={config} className=\"h-[350px]\">\n <RechartsBarChart data={data} height={height as number}>\n {showGrid && <CartesianGrid strokeDasharray=\"3 3\" />}\n <XAxis dataKey={xKey} />\n <YAxis />\n <ChartTooltip content={<ChartTooltipContent />} />\n {showLegend && <Legend />}\n {bars.map((bar) => (\n <Bar\n key={bar.key}\n dataKey={bar.key}\n fill={bar.color || `var(--color-${bar.key})`}\n radius={[4, 4, 0, 0]}\n />\n ))}\n </RechartsBarChart>\n </ChartContainer>\n );\n}\n\nexport function LineChart(props: ChartProps) {\n const { data, xKey, lines = [], showLegend = true, showGrid = true, height = 350 } = props;\n if (!data || data.length === 0) return <EmptyState />;\n const config = generateChartConfig(lines);\n return (\n <ChartContainer config={config} className=\"h-[350px]\">\n <RechartsLineChart data={data} height={height as number}>\n {showGrid && <CartesianGrid strokeDasharray=\"3 3\" />}\n <XAxis dataKey={xKey} />\n <YAxis />\n <ChartTooltip content={<ChartTooltipContent />} />\n {showLegend && <Legend />}\n {lines.map((line) => (\n <Line\n key={line.key}\n type=\"monotone\"\n dataKey={line.key}\n stroke={line.color || `var(--color-${line.key})`}\n strokeWidth={2}\n dot={{ r: 4 }}\n />\n ))}\n </RechartsLineChart>\n </ChartContainer>\n );\n}\n\nexport function AreaChart(props: ChartProps) {\n const { data, xKey, areas = [], showLegend = true, showGrid = true, height = 350 } = props;\n if (!data || data.length === 0) return <EmptyState />;\n const config = generateChartConfig(areas);\n return (\n <ChartContainer config={config} className=\"h-[350px]\">\n <RechartsAreaChart data={data} height={height as number}>\n {showGrid && <CartesianGrid strokeDasharray=\"3 3\" />}\n <XAxis dataKey={xKey} />\n <YAxis />\n <ChartTooltip content={<ChartTooltipContent />} />\n {showLegend && <Legend />}\n {areas.map((area) => (\n <Area\n key={area.key}\n type=\"monotone\"\n dataKey={area.key}\n stroke={area.color || `var(--color-${area.key})`}\n fill={area.color || `var(--color-${area.key})`}\n fillOpacity={0.6}\n />\n ))}\n </RechartsAreaChart>\n </ChartContainer>\n );\n}\n\nexport function PieChart(props: ChartProps) {\n const { data, pie, showLegend = true, height = 350 } = props;\n if (!data || data.length === 0 || !pie) return <EmptyState />;\n const nameKey = pie.nameKey || 'name';\n const config = generateChartConfig(\n data.map((item: any) => ({\n key: item[nameKey],\n label: item[nameKey],\n }))\n );\n return (\n <ChartContainer config={config} className=\"h-[350px]\">\n <RechartsPieChart height={height as number}>\n <Pie\n data={data}\n dataKey={pie.dataKey}\n nameKey={nameKey}\n cx=\"50%\"\n cy=\"50%\"\n outerRadius={100}\n label={pie.label}\n >\n {data.map((_entry: any, index: number) => (\n <Cell key={`cell-${index}`} fill={DEFAULT_COLORS[index % DEFAULT_COLORS.length]} />\n ))}\n </Pie>\n <ChartTooltip content={<ChartTooltipContent />} />\n {showLegend && <Legend />}\n </RechartsPieChart>\n </ChartContainer>\n );\n}\n",
58
+ "import * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\n\nimport { cn } from \"../lib/cn\"\n\nconst THEMES = { light: \"\", dark: \".dark\" } as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n )\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\")\n }\n\n return context\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n config: ChartConfig\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"]\n }\n>(({ id, className, children, config, ...props }, ref) => {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-chart={chartId}\n ref={ref}\n className={cn(\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n )\n})\nChartContainer.displayName = \"Chart\"\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([, config]) => config.theme || config.color\n )\n\n if (!colorConfig.length) {\n return null\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\n\")}\n}\n`\n )\n .join(\"\\n\"),\n }}\n />\n )\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nconst ChartTooltipContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n nameKey?: string\n labelKey?: string\n }\n>(\n (\n {\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n },\n ref\n ) => {\n const { config } = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n )\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\n\n return (\n <div\n ref={ref}\n className={cn(\n \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload\n .filter((item) => item.type !== \"none\")\n .map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color || item.payload.fill || item.color\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n }\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"font-mono font-medium tabular-nums text-foreground\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n }\n)\nChartTooltipContent.displayName = \"ChartTooltip\"\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> &\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\n hideIcon?: boolean\n nameKey?: string\n }\n>(\n (\n { className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey },\n ref\n ) => {\n const { config } = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n )}\n >\n {payload\n .filter((item) => item.type !== \"none\")\n .map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n <div\n key={item.value}\n className={cn(\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n }\n)\nChartLegendContent.displayName = \"ChartLegend\"\n\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n",
59
+ "import type { CardGridComponentSpec } from '@rodrigocoliveira/agno-types';\nimport { Button } from '../../primitives/button';\nimport { cn } from '../../lib/cn';\n\nexport type CardGridProps = CardGridComponentSpec['props'];\n\nexport function CardGrid(props: CardGridProps) {\n const { cards, columns = { default: 1, md: 2, lg: 3 }, variant = 'default' } = props;\n\n if (!cards || cards.length === 0) {\n return (\n <div className=\"flex items-center justify-center p-8 border rounded-md bg-muted/10\">\n <p className=\"text-sm text-muted-foreground\">No items available</p>\n </div>\n );\n }\n\n const gridCols = {\n default: columns.default || 1,\n sm: columns.sm,\n md: columns.md || 2,\n lg: columns.lg || 3,\n xl: columns.xl,\n };\n\n const gridClass = cn(\n 'grid gap-4',\n gridCols.default === 1 ? 'grid-cols-1' : `grid-cols-${gridCols.default}`,\n gridCols.sm && `sm:grid-cols-${gridCols.sm}`,\n gridCols.md && `md:grid-cols-${gridCols.md}`,\n gridCols.lg && `lg:grid-cols-${gridCols.lg}`,\n gridCols.xl && `xl:grid-cols-${gridCols.xl}`,\n );\n\n const cardClass = cn(\n 'rounded-lg border bg-card text-card-foreground shadow-sm',\n variant === 'bordered' && 'border-2',\n variant === 'elevated' && 'shadow-lg',\n );\n\n return (\n <div className={gridClass}>\n {cards.map((card) => (\n <div key={card.id} className={cardClass}>\n {card.image && (\n <div className=\"aspect-video w-full overflow-hidden rounded-t-lg\">\n <img\n src={card.image}\n alt={card.title}\n className=\"h-full w-full object-cover\"\n />\n </div>\n )}\n <div className=\"flex flex-col space-y-1.5 p-6\">\n <h3 className=\"text-lg font-semibold leading-none tracking-tight\">{card.title}</h3>\n {card.description && (\n <p className=\"text-sm text-muted-foreground\">{card.description}</p>\n )}\n </div>\n {card.metadata && Object.keys(card.metadata).length > 0 && (\n <div className=\"px-6 pb-4\">\n <dl className=\"space-y-1 text-sm\">\n {Object.entries(card.metadata).map(([key, value]) => (\n <div key={key} className=\"flex justify-between\">\n <dt className=\"text-muted-foreground\">{key}:</dt>\n <dd className=\"font-medium\">{String(value)}</dd>\n </div>\n ))}\n </dl>\n </div>\n )}\n {card.actions && card.actions.length > 0 && (\n <div className=\"flex items-center gap-2 p-6 pt-0\">\n {card.actions.map((action, index) => (\n <Button\n key={index}\n variant={action.variant || 'default'}\n size=\"sm\"\n onClick={() => {\n if (action.onClick) {\n window.dispatchEvent(\n new CustomEvent('generative-ui-action', {\n detail: { action: action.onClick, cardId: card.id },\n }),\n );\n }\n }}\n >\n {action.label}\n </Button>\n ))}\n </div>\n )}\n </div>\n ))}\n </div>\n );\n}\n",
60
+ "import { useCallback, useMemo, useRef } from 'react';\nimport type { HTMLAttributes, ReactNode } from 'react';\nimport { useAgnoChat, useAgnoToolExecution } from '@rodrigocoliveira/agno-react';\nimport type { ToolHandler } from '@rodrigocoliveira/agno-react';\nimport { AgnoChatContext } from './context';\nimport type { AgnoChatContextValue } from './context';\nimport type { RenderTool } from './render-tool';\nimport { cn } from '../../lib/cn';\n\nfunction resolveDebug(debug?: boolean): boolean {\n if (typeof debug === 'boolean') return debug;\n // Default-off: only auto-enable when NODE_ENV is explicitly 'development'.\n // Avoids leaking the debug card in production builds where `process` exists\n // but `process.env` is missing or NODE_ENV is unset (some edge runtimes,\n // partial polyfills, builds without bundler substitution).\n return typeof process !== 'undefined' && process.env?.NODE_ENV === 'development';\n}\n\nexport interface AgnoChatRootProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n toolHandlers?: Record<string, ToolHandler>;\n autoExecuteTools?: boolean;\n /**\n * Single per-tool render function. Receives the tool plus `{ index, isDebug, defaultRender }`.\n * Return `null` to hide, return `defaultRender()` to fall back to the library default,\n * or return your own JSX. Use the `byToolName` helper for the common dispatch-by-name case.\n */\n renderTool?: RenderTool;\n /**\n * When true, the default tool rendering includes the debug card. When false, only\n * user-facing content renders (generative UI from `tool.ui_component`, plus whatever\n * a custom `renderTool` returns).\n *\n * Default: auto-detected via `process.env.NODE_ENV !== 'production'`. Set explicitly\n * to investigate bugs in production (`debug={true}`) or preview the prod experience\n * in dev (`debug={false}`).\n */\n debug?: boolean;\n /**\n * Tool names whose handlers should NOT be re-invoked when a saved session is loaded.\n * Use this for interactive tools whose handlers cause side effects (open a modal,\n * navigate, fire a mutation) — re-running them on session reload would replay those\n * effects. The tool's stored `result` is still rendered from history.\n */\n skipToolsOnSessionLoad?: string[];\n}\n\nexport function AgnoChatRoot({\n children,\n toolHandlers = {},\n autoExecuteTools = true,\n renderTool,\n debug,\n skipToolsOnSessionLoad,\n className,\n ...divProps\n}: AgnoChatRootProps) {\n const chat = useAgnoChat();\n const toolExec = useAgnoToolExecution(toolHandlers, autoExecuteTools, {\n skipToolsOnSessionLoad,\n });\n\n const containerRef = useRef<HTMLDivElement>(null);\n const isDebug = resolveDebug(debug);\n\n const sendRef = useRef(chat.sendMessage);\n sendRef.current = chat.sendMessage;\n\n const handleSend = useCallback(async (message: string | FormData) => {\n try {\n await sendRef.current(message);\n } catch {\n // Error is surfaced via the error state\n }\n }, []);\n\n const {\n messages,\n sendMessage,\n clearMessages,\n cancelRun,\n isStreaming,\n isRefreshing,\n isCancelling,\n currentRunId,\n error,\n state,\n } = chat;\n\n const {\n isPaused,\n isExecuting,\n pendingTools,\n executeAndContinue,\n executeTools,\n continueWithResults,\n executionError,\n } = toolExec;\n\n const contextValue = useMemo<AgnoChatContextValue>(\n () => ({\n messages,\n sendMessage,\n clearMessages,\n cancelRun,\n isStreaming,\n isRefreshing,\n isCancelling: isCancelling ?? false,\n currentRunId,\n error,\n state,\n isPaused,\n isExecuting,\n pendingTools,\n executeAndContinue,\n executeTools,\n continueWithResults,\n executionError,\n handleSend,\n inputDisabled: isStreaming || isPaused,\n dropZoneContainerRef: containerRef,\n renderTool,\n isDebug,\n }),\n [\n messages,\n sendMessage,\n clearMessages,\n cancelRun,\n isStreaming,\n isRefreshing,\n isCancelling,\n currentRunId,\n error,\n state,\n isPaused,\n isExecuting,\n pendingTools,\n executeAndContinue,\n executeTools,\n continueWithResults,\n executionError,\n handleSend,\n renderTool,\n isDebug,\n ],\n );\n\n return (\n <AgnoChatContext.Provider value={contextValue}>\n <div ref={containerRef} className={cn('relative h-full flex flex-col', className)} {...divProps}>\n {children}\n </div>\n </AgnoChatContext.Provider>\n );\n}\n",
61
+ "import type { ChatMessage } from '@rodrigocoliveira/agno-types';\nimport { isValidElement, useEffect, useRef, type ReactNode } from 'react';\nimport {\n Conversation,\n ConversationContent,\n ConversationEmptyState,\n ConversationScrollButton,\n useStickToBottomContext,\n} from '../../components/conversation';\nimport { StreamingIndicator } from '../../components/streaming-indicator';\nimport { AgnoMessageItem } from '../AgnoMessageItem';\nimport type { AgnoMessageItemProps } from '../AgnoMessageItem';\nimport { AgnoChatSuggestedPrompts } from './suggested-prompts';\nimport { useAgnoChatContext } from './context';\nimport type { RenderTool } from './render-tool';\nimport { cn } from '../../lib/cn';\nimport { Bot } from 'lucide-react';\nimport type {\n AgnoMessageClassNames,\n AgnoMessageAvatars,\n AgnoMessageActions,\n SuggestedPrompt,\n ScrollBehaviorConfig,\n} from '../../types';\n\nexport interface AgnoChatMessagesProps {\n className?: string;\n renderMessage?: (message: ChatMessage, index: number) => ReactNode;\n\n /** Grouped avatar configuration */\n avatars?: AgnoMessageAvatars;\n\n /** Grouped action buttons configuration with visibility control */\n actions?: AgnoMessageActions;\n\n // ── Message display options ────────────────────────────────────────\n /** Show reasoning steps (default: true) */\n showReasoning?: boolean;\n /** Show references (default: true) */\n showReferences?: boolean;\n /** Show timestamp (default: true) */\n showTimestamp?: boolean;\n /** Enable file preview cards with click-to-open modal (default: true) */\n showFilePreview?: boolean;\n /** Enable image lightbox on click (default: true) */\n showImageLightbox?: boolean;\n /** Custom timestamp formatter */\n formatTimestamp?: (date: Date) => string;\n /** ClassNames override map for message item sections */\n messageClassNames?: AgnoMessageClassNames;\n /**\n * Per-tool render function. Overrides the `renderTool` configured on `<AgnoChat>`\n * for this messages list. Use the `byToolName` helper for the common\n * dispatch-by-name case.\n */\n renderTool?: RenderTool;\n\n // ── Empty state ──────────────────────────────────────────────────\n emptyState?: ReactNode;\n suggestedPrompts?: SuggestedPrompt[];\n /** Custom empty state via children — takes priority over emptyState prop */\n children?: ReactNode;\n\n // ── Thinking indicator ───────────────────────────────────────────\n /** Show the thinking indicator while waiting for the first response content (default: true) */\n showThinkingIndicator?: boolean;\n /** Custom component to render instead of the default thinking indicator */\n renderThinkingIndicator?: ReactNode;\n\n // ── Scroll behavior ──────────────────────────────────────────────\n /**\n * Customize the auto-scroll behavior (powered by `use-stick-to-bottom`).\n * Defaults to `{ initial: 'smooth', resize: 'instant' }` — smooth initial\n * scroll, instant snap during streaming to avoid spring oscillation on\n * markdown/code/table reflow.\n */\n scrollBehavior?: ScrollBehaviorConfig;\n\n // ── Scroll-to-bottom button ──────────────────────────────────────\n /**\n * Controls the floating \"scroll to bottom\" button that appears when the\n * user scrolls up during streaming (the default affordance to resume\n * following the stream).\n *\n * - `undefined` (default) → render the built-in button\n * - `false` → hide the button entirely\n * - `true` → render the built-in button (same as default; useful for clarity)\n * - `{ className }` → render the built-in button with custom classes\n * - `ReactNode` → render your own element instead. Your component will be\n * placed inside `<Conversation>`, so it can use `useStickToBottomContext()`\n * to read `isAtBottom` and call `scrollToBottom()`.\n */\n scrollToBottomButton?: boolean | ReactNode | { className?: string };\n}\n\n/** Scrolls to bottom only when the user sends a new message */\nfunction ScrollOnNewUserMessage({ messageCount }: { messageCount: number }) {\n const { scrollToBottom } = useStickToBottomContext();\n const prevCount = useRef(messageCount);\n\n useEffect(() => {\n if (messageCount > prevCount.current) {\n scrollToBottom('smooth');\n }\n prevCount.current = messageCount;\n }, [messageCount, scrollToBottom]);\n\n return null;\n}\n\nconst DEFAULT_PROMPTS: SuggestedPrompt[] = [\n { text: 'What can you help me with?' },\n { text: 'Explain how you work' },\n];\n\nexport function AgnoChatMessages({\n className,\n renderMessage,\n avatars,\n actions,\n // Message display options\n showReasoning,\n showReferences,\n showTimestamp,\n showFilePreview,\n showImageLightbox,\n formatTimestamp,\n messageClassNames,\n // Empty state\n emptyState,\n suggestedPrompts = DEFAULT_PROMPTS,\n children,\n // Thinking indicator\n showThinkingIndicator = true,\n renderThinkingIndicator,\n renderTool: propRenderTool,\n scrollBehavior,\n scrollToBottomButton,\n}: AgnoChatMessagesProps) {\n const { messages, isStreaming } = useAgnoChatContext();\n const lastMessage = messages[messages.length - 1];\n const isThinking = showThinkingIndicator && isStreaming && (!lastMessage || lastMessage.role !== 'user') && !lastMessage?.content;\n\n // Resolve the scroll-to-bottom button prop into a rendered node (or null to hide).\n const resolvedScrollButton: ReactNode = (() => {\n if (scrollToBottomButton === false) return null;\n if (scrollToBottomButton === undefined || scrollToBottomButton === true) {\n return <ConversationScrollButton />;\n }\n if (isValidElement(scrollToBottomButton)) return scrollToBottomButton;\n if (\n typeof scrollToBottomButton === 'object' &&\n scrollToBottomButton !== null &&\n 'className' in scrollToBottomButton\n ) {\n return <ConversationScrollButton className={scrollToBottomButton.className} />;\n }\n // Any other ReactNode shape (string, number, fragment, array)\n return scrollToBottomButton as ReactNode;\n })();\n\n // Find the index of the last assistant message (for visibility logic)\n let lastAssistantIndex = -1;\n for (let i = messages.length - 1; i >= 0; i--) {\n if (messages[i].role !== 'user') {\n lastAssistantIndex = i;\n break;\n }\n }\n\n // Build message item props from direct props\n const messageItemProps: Partial<Omit<AgnoMessageItemProps, 'message'>> = {\n ...(showReasoning !== undefined && { showReasoning }),\n ...(showReferences !== undefined && { showReferences }),\n ...(showTimestamp !== undefined && { showTimestamp }),\n ...(showFilePreview !== undefined && { showFilePreview }),\n ...(showImageLightbox !== undefined && { showImageLightbox }),\n ...(formatTimestamp !== undefined && { formatTimestamp }),\n ...(messageClassNames !== undefined && { classNames: messageClassNames }),\n ...(propRenderTool !== undefined && { renderTool: propRenderTool }),\n };\n\n const resolvedEmptyState = children ??\n emptyState ?? (\n <div className=\"flex flex-col items-center gap-6\">\n <div className=\"relative\">\n <div className=\"h-16 w-16 rounded-2xl bg-primary/10 flex items-center justify-center\">\n <Bot className=\"h-8 w-8 text-primary\" />\n </div>\n <div className=\"absolute -bottom-1 -right-1 h-5 w-5 rounded-full bg-green-500 border-2 border-background flex items-center justify-center\">\n <span className=\"h-2 w-2 rounded-full bg-white animate-pulse\" />\n </div>\n </div>\n <div className=\"space-y-2 text-center\">\n <h3 className=\"text-xl font-semibold tracking-tight\">Welcome to Agno Chat</h3>\n <p className=\"text-muted-foreground text-sm max-w-sm\">\n Start a conversation with your AI agent. Ask questions, explore ideas, or run tools.\n </p>\n </div>\n {suggestedPrompts.length > 0 && <AgnoChatSuggestedPrompts prompts={suggestedPrompts} />}\n </div>\n );\n\n return (\n <Conversation className={cn('relative flex-1 w-full', className)} scrollBehavior={scrollBehavior}>\n <ScrollOnNewUserMessage messageCount={messages.length} />\n <ConversationContent className=\"max-w-3xl mx-auto\">\n {messages.length === 0 ? (\n <ConversationEmptyState>{resolvedEmptyState}</ConversationEmptyState>\n ) : (\n messages.map((message, index) => {\n // Hide the empty placeholder while the thinking indicator is shown\n if (isThinking && index === messages.length - 1 && message === lastMessage) return null;\n return renderMessage ? (\n renderMessage(message, index)\n ) : (\n <AgnoMessageItem\n key={`msg-${index}-${message.created_at}`}\n message={message}\n avatars={avatars}\n actions={actions}\n isLastAssistantMessage={index === lastAssistantIndex}\n {...messageItemProps}\n />\n );\n })\n )}\n\n {isThinking && (\n <div className=\"py-2\">\n {renderThinkingIndicator ?? <StreamingIndicator avatar={avatars?.assistant} />}\n </div>\n )}\n </ConversationContent>\n {resolvedScrollButton}\n </Conversation>\n );\n}\n",
49
62
  "import { useAgnoChatContext } from './context';\nimport { cn } from '../../lib/cn';\nimport type { SuggestedPrompt } from '../../types';\n\nexport interface AgnoChatSuggestedPromptsProps {\n className?: string;\n prompts: SuggestedPrompt[];\n}\n\nexport function AgnoChatSuggestedPrompts({ className, prompts }: AgnoChatSuggestedPromptsProps) {\n const { handleSend } = useAgnoChatContext();\n\n if (prompts.length === 0) return null;\n\n return (\n <div className={cn('grid grid-cols-2 gap-2 w-full max-w-md', className)}>\n {prompts.map((prompt, idx) => (\n <button\n key={idx}\n onClick={() => handleSend(prompt.text)}\n className=\"flex items-center gap-2 px-3 py-2.5 rounded-xl border border-border bg-card hover:bg-accent/50 hover:border-primary/20 transition-all duration-200 text-left text-sm group\"\n >\n {prompt.icon && (\n <span className=\"text-muted-foreground group-hover:text-primary transition-colors\">\n {prompt.icon}\n </span>\n )}\n <span className=\"text-muted-foreground group-hover:text-foreground transition-colors text-xs leading-snug\">\n {prompt.text}\n </span>\n </button>\n ))}\n </div>\n );\n}\n",
50
63
  "import type { HTMLAttributes, ReactNode } from 'react';\nimport { cn } from '../../lib/cn';\n\nexport interface AgnoChatEmptyStateProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport function AgnoChatEmptyState({ children, className, ...props }: AgnoChatEmptyStateProps) {\n return (\n <div className={cn('flex flex-col items-center gap-6', className)} {...props}>\n {children}\n </div>\n );\n}\n",
51
64
  "import { useState, useEffect, useRef } from 'react';\nimport type { ReactNode } from 'react';\nimport { useAgnoChatContext } from './context';\nimport { cn } from '../../lib/cn';\n\nexport interface AgnoChatErrorBarProps {\n className?: string;\n /** Override the displayed error message with a user-friendly string */\n text?: string;\n /** Icon element rendered before the message */\n icon?: ReactNode;\n /** Show a dismiss button to manually close the bar */\n dismissible?: boolean;\n /** Auto-hide timeout in ms (default 10000). Set 0 to disable auto-hide. */\n timeout?: number;\n /** Fully custom content — when provided, replaces the default icon + text layout */\n children?: ReactNode | ((error: string) => ReactNode);\n}\n\nexport function AgnoChatErrorBar({\n className,\n text,\n icon,\n dismissible = false,\n timeout = 10000,\n children,\n}: AgnoChatErrorBarProps) {\n const { error, executionError } = useAgnoChatContext();\n const [hidden, setHidden] = useState(false);\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const rawMessage = error || executionError;\n\n // Reset hidden state and start timer when the error changes\n useEffect(() => {\n if (!rawMessage) return;\n\n setHidden(false);\n\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n\n if (timeout > 0) {\n timerRef.current = setTimeout(() => {\n setHidden(true);\n }, timeout);\n }\n\n return () => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n };\n }, [rawMessage, timeout]);\n\n if (!rawMessage || hidden) return null;\n\n const displayMessage = text ?? rawMessage;\n\n // Render function children or ReactNode children\n const renderContent = () => {\n if (children) {\n return typeof children === 'function' ? children(rawMessage) : children;\n }\n\n return (\n <div className=\"flex items-center gap-2 max-w-3xl mx-auto\">\n {icon && <span className=\"shrink-0\">{icon}</span>}\n <p className=\"text-sm text-destructive flex-1\">{displayMessage}</p>\n {dismissible && (\n <button\n type=\"button\"\n onClick={() => setHidden(true)}\n className=\"shrink-0 text-destructive/60 hover:text-destructive transition-colors\"\n aria-label=\"Dismiss error\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </button>\n )}\n </div>\n );\n };\n\n return (\n <div\n className={cn(\n 'px-4 py-2.5 bg-destructive/5 border-t border-destructive/20',\n className,\n )}\n >\n {renderContent()}\n </div>\n );\n}\n",
52
65
  "import type { ReactNode } from 'react';\nimport { useAgnoChatContext } from './context';\nimport { AgnoChatInput } from '../AgnoChatInput';\nimport type { PromptInputDropZoneProps } from '../../components/prompt-input/drop-zone';\nimport { cn } from '../../lib/cn';\nimport type { AudioConfig, FileUploadConfig } from '../../types';\n\nexport interface AgnoChatInputRenderProps {\n onSend: (message: string | FormData) => Promise<void>;\n disabled: boolean;\n isStreaming: boolean;\n isPaused: boolean;\n}\n\nexport interface AgnoChatInputAreaProps {\n className?: string;\n children?: (props: AgnoChatInputRenderProps) => ReactNode;\n placeholder?: string;\n fileUpload?: FileUploadConfig;\n /**\n * Audio recording/transcription configuration.\n * Pass `true` for send-mode defaults, or an `AudioConfig` object.\n *\n * @example\n * audio={true}\n * audio={{ enabled: true, mode: 'transcribe', endpoint: 'http://...' }}\n */\n audio?: AudioConfig | boolean;\n /** Show attachments button (default: true) */\n showAttachments?: boolean;\n /** Extra tools to add to the toolbar */\n extraTools?: ReactNode;\n /** Show a stop button that cancels the run while streaming (default: false) */\n allowCancelRun?: boolean;\n /** Props forwarded to PromptInputDropZone (className, label) */\n dropZoneProps?: Partial<Pick<PromptInputDropZoneProps, 'label' | 'className'>>;\n}\n\nexport function AgnoChatInputArea({\n className,\n children,\n placeholder,\n fileUpload,\n audio,\n showAttachments,\n extraTools,\n allowCancelRun = false,\n dropZoneProps,\n}: AgnoChatInputAreaProps) {\n const { handleSend, inputDisabled, isStreaming, isPaused, cancelRun, dropZoneContainerRef } = useAgnoChatContext();\n\n return (\n <div className={cn('border-t border-border bg-background/80 backdrop-blur-sm', className)}>\n <div className=\"mx-auto px-4 py-2\">\n {children ? (\n children({ onSend: handleSend, disabled: inputDisabled, isStreaming, isPaused })\n ) : (\n <AgnoChatInput\n onSend={handleSend}\n disabled={inputDisabled}\n isStreaming={isStreaming}\n onCancel={cancelRun}\n allowCancelRun={allowCancelRun}\n placeholder={placeholder ?? 'Message your agent...'}\n fileUpload={fileUpload}\n audio={audio}\n showAttachments={showAttachments}\n extraTools={extraTools}\n dropZoneContainerRef={dropZoneContainerRef}\n dropZoneProps={dropZoneProps}\n />\n )}\n </div>\n </div>\n );\n}\n",
53
66
  "import { AgnoChatRoot } from './agno-chat';\nimport { AgnoChatMessages } from './messages';\nimport { AgnoChatEmptyState } from './empty-state';\nimport { AgnoChatSuggestedPrompts } from './suggested-prompts';\nimport { AgnoChatErrorBar } from './error-bar';\nimport { AgnoChatInputArea } from './input';\n\n// Re-export context hook and types\nexport { useAgnoChatContext } from './context';\nexport type { AgnoChatContextValue } from './context';\n\n// Re-export individual sub-components for tree-shaking / named imports\nexport { AgnoChatRoot } from './agno-chat';\nexport type { AgnoChatRootProps } from './agno-chat';\nexport { AgnoChatMessages } from './messages';\nexport type { AgnoChatMessagesProps } from './messages';\nexport { AgnoChatEmptyState } from './empty-state';\nexport type { AgnoChatEmptyStateProps } from './empty-state';\nexport { AgnoChatSuggestedPrompts } from './suggested-prompts';\nexport type { AgnoChatSuggestedPromptsProps } from './suggested-prompts';\nexport { AgnoChatErrorBar } from './error-bar';\nexport type { AgnoChatErrorBarProps } from './error-bar';\nexport { AgnoChatInputArea } from './input';\nexport type { AgnoChatInputAreaProps, AgnoChatInputRenderProps } from './input';\n\n// Compound component via Object.assign (type-safe, no double cast)\nconst AgnoChat = Object.assign(AgnoChatRoot, {\n Messages: AgnoChatMessages,\n EmptyState: AgnoChatEmptyState,\n SuggestedPrompts: AgnoChatSuggestedPrompts,\n ErrorBar: AgnoChatErrorBar,\n Input: AgnoChatInputArea,\n});\n\nexport { AgnoChat };\n"
54
67
  ],
55
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAsC,IAAtC;AACwB,IAAxB;AAEO,SAAS,EAAE,IAAI,QAAsB;AAAA,EAC1C,OAAO,8BAAQ,iBAAK,MAAM,CAAC;AAAA;;ACMtB,SAAS,oBAAoB,CAAC,MAAoB;AAAA,EACvD,MAAM,MAAM,IAAI;AAAA,EAChB,MAAM,UACJ,KAAK,YAAY,MAAM,IAAI,YAAY,KACvC,KAAK,SAAS,MAAM,IAAI,SAAS,KACjC,KAAK,QAAQ,MAAM,IAAI,QAAQ;AAAA,EAEjC,IAAI,SAAS;AAAA,IACX,OAAO,IAAI,KAAK,eAAe,WAAW;AAAA,MACxC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV,CAAC,EAAE,OAAO,IAAI;AAAA,EAChB;AAAA,EAEA,MAAM,aAAa,KAAK,YAAY,MAAM,IAAI,YAAY;AAAA,EAE1D,IAAI,YAAY;AAAA,IACd,OAAO,IAAI,KAAK,eAAe,WAAW;AAAA,MACxC,OAAO;AAAA,MACP,KAAK;AAAA,IACP,CAAC,EAAE,OAAO,IAAI;AAAA,EAChB;AAAA,EAEA,OAAO,IAAI,KAAK,eAAe,WAAW;AAAA,IACxC,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,EACR,CAAC,EAAE,OAAO,IAAI;AAAA;AAOT,SAAS,mBAAmB,CAAC,MAAoB;AAAA,EACtD,OAAO,IAAI,KAAK,eAAe,WAAW;AAAA,IACxC,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV,CAAC,EAAE,OAAO,IAAI;AAAA;;AChDT,SAAS,kBAAkB,CAAC,UAAoC;AAAA,EACrE,IAAI,CAAC;AAAA,IAAU,OAAO;AAAA,EACtB,IAAI,SAAS,WAAW,QAAQ;AAAA,IAAG,OAAO;AAAA,EAC1C,IAAI,aAAa;AAAA,IAAmB,OAAO;AAAA,EAC3C,IAAI,SAAS,WAAW,OAAO;AAAA,IAAG,OAAO;AAAA,EACzC,IAAI,SAAS,WAAW,QAAQ;AAAA,IAAG,OAAO;AAAA,EAC1C,IAAI,SAAS,WAAW,QAAQ;AAAA,IAAG,OAAO;AAAA,EAC1C,OAAO;AAAA;AAOF,SAAS,cAAc,CAAC,OAAuB;AAAA,EACpD,IAAI,UAAU;AAAA,IAAG,OAAO;AAAA,EACxB,MAAM,QAAQ,CAAC,KAAK,MAAM,MAAM,MAAM,IAAI;AAAA,EAC1C,MAAM,IAAI;AAAA,EACV,MAAM,IAAI,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,CAAC;AAAA,EAClD,MAAM,QAAQ,QAAQ,KAAK,IAAI,GAAG,CAAC;AAAA,EACnC,OAAO,GAAG,QAAQ,MAAM,IAAI,QAAQ,MAAM,QAAQ,CAAC,KAAK,MAAM;AAAA;AAOzD,SAAS,gBAAgB,CAAC,UAAkB,UAA2B;AAAA,EAC5E,MAAM,UAAU,SAAS,YAAY,GAAG;AAAA,EACxC,IAAI,YAAY,MAAM,YAAY,GAAG;AAAA,IACnC,OAAO,SAAS,MAAM,UAAU,CAAC,EAAE,YAAY;AAAA,EACjD;AAAA,EAEA,IAAI,UAAU;AAAA,IACZ,OAAO,kBAAkB,QAAQ;AAAA,EACnC;AAAA,EACA,OAAO;AAAA;AAGT,IAAM,YAAoC;AAAA,EACxC,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,gCAAgC;AAAA,EAChC,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,2EAA2E;AAAA,EAC3E,4BAA4B;AAAA,EAC5B,qEAAqE;AAAA,EACrE,iCAAiC;AAAA,EACjC,6EAA6E;AAAA,EAC7E,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,mBAAmB;AACrB;AAEA,SAAS,iBAAiB,CAAC,UAA0B;AAAA,EACnD,IAAI,UAAU;AAAA,IAAW,OAAO,UAAU;AAAA,EAE1C,MAAM,UAAU,SAAS,MAAM,GAAG,EAAE;AAAA,EACpC,IAAI,WAAW,CAAC,QAAQ,SAAS,GAAG,KAAK,CAAC,QAAQ,SAAS,GAAG,GAAG;AAAA,IAC/D,OAAO,QAAQ,YAAY;AAAA,EAC7B;AAAA,EACA,OAAO;AAAA;AAMF,SAAS,aAAa,CAAC,UAA4B;AAAA,EACxD,MAAM,OAAO,mBAAmB,QAAQ;AAAA,EACxC,OAAO,SAAS,WAAW,SAAS;AAAA;;AC9Ef,IAAvB;AACqB,IAArB;AACuC,IAAvC;;AAGA,IAAM,iBAAiB,oCACrB,ySACA;AAAA,EACE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,MACb,SAAS;AAAA,MACT,WAAW;AAAA,MACX,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACF,CACF;AAQA,IAAM,SAAe,iBACnB,GAAG,WAAW,SAAS,MAAM,UAAU,UAAU,SAAS,QAAQ;AAAA,EAChE,MAAM,OAAO,UAAU,yBAAO;AAAA,EAC9B,uBAAO,gBAAC,MAAD;AAAA,IAAM,WAAW,GAAG,eAAe,EAAE,SAAS,MAAM,UAAU,CAAC,CAAC;AAAA,IAAG;AAAA,OAAc;AAAA,GAAO;AAAA,CAEnG;AACA,OAAO,cAAc;;AC1CkB,IAAvC;;AAGA,IAAM,gBAAgB,qCACpB,wKACA;AAAA,EACE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,MACX,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CACF;AAIA,SAAS,KAAK,GAAG,WAAW,YAAY,SAAqB;AAAA,EAC3D,uBAAO,iBAAC,OAAD;AAAA,IAAK,WAAW,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS;AAAA,OAAO;AAAA,GAAO;AAAA;;ACxBxD,IAAvB;AACiC,IAAjC;;AAGA,IAAM,SAAe,kBAGnB,GAAG,cAAc,SAAS,wBAC1B,iBAAiB,sBAAjB;AAAA,EACE;AAAA,EACA,WAAW,GAAG,iEAAiE,SAAS;AAAA,KACpF;AAAA,CACN,CACD;AACD,OAAO,cAA8B,qBAAK;AAE1C,IAAM,cAAoB,kBAGxB,GAAG,cAAc,SAAS,wBAC1B,iBAAiB,uBAAjB;AAAA,EAAuB;AAAA,EAAU,WAAW,GAAG,+BAA+B,SAAS;AAAA,KAAO;AAAA,CAAO,CACtG;AACD,YAAY,cAA8B,sBAAM;AAEhD,IAAM,iBAAuB,kBAG3B,GAAG,cAAc,SAAS,wBAC1B,iBAAiB,0BAAjB;AAAA,EACE;AAAA,EACA,WAAW,GAAG,wEAAwE,SAAS;AAAA,KAC3F;AAAA,CACN,CACD;AACD,eAAe,cAA8B,yBAAS;;AClC/B,IAAvB;AACuC,IAAvC;;AAKA,IAAM,QAAc,kBAClB,GAAG,WAAW,SAAS,SAAS,QAAQ;AAAA,EACtC,uBACE,iBAAC,SAAD;AAAA,IACE;AAAA,IACA,WAAW,GACT,2WACA,SACF;AAAA,IACA;AAAA,OACI;AAAA,GACN;AAAA,CAGN;AACA,MAAM,cAAc;AAGpB,IAAM,WAAiB,kBACrB,GAAG,cAAc,SAAS,QAAQ;AAAA,EAChC,uBACE,iBAAC,YAAD;AAAA,IACE,WAAW,GACT,6QACA,SACF;AAAA,IACA;AAAA,OACI;AAAA,GACN;AAAA,CAGN;AACA,SAAS,cAAc;AAEvB,SAAS,UAAU,GAAG,cAAc,SAAsC;AAAA,EACxE,uBACE,iBAAC,OAAD;AAAA,IACE,aAAU;AAAA,IACV,MAAK;AAAA,IACL,WAAW,GACT,4JACA,8BACA,mDACA,iDACA,kIACA,8HACA,4HACA,kLACA,SACF;AAAA,OACI;AAAA,GACN;AAAA;AAIJ,IAAM,0BAA0B,qCAC9B,2PACA;AAAA,EACE,UAAU;AAAA,IACR,OAAO;AAAA,MACL,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,eAAe;AAAA,MACf,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,EACT;AACF,CACF;AAEA,SAAS,eAAe;AAAA,EACtB;AAAA,EACA,QAAQ;AAAA,KACL;AAAA,GAC0E;AAAA,EAC7E,uBACE,iBAAC,OAAD;AAAA,IACE,MAAK;AAAA,IACL,aAAU;AAAA,IACV,cAAY;AAAA,IACZ,WAAW,GAAG,wBAAwB,EAAE,MAAM,CAAC,GAAG,SAAS;AAAA,IAC3D,SAAS,CAAC,MAAM;AAAA,MACd,IAAK,EAAE,OAAuB,QAAQ,QAAQ,GAAG;AAAA,QAC/C;AAAA,MACF;AAAA,MACA,EAAE,cAAc,eAAe,cAAc,OAAO,GAAG,MAAM;AAAA;AAAA,OAE3D;AAAA,GACN;AAAA;AAIJ,IAAM,2BAA2B,qCAAI,+CAA+C;AAAA,EAClF,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;AAED,SAAS,gBAAgB;AAAA,EACvB;AAAA,EACA,OAAO;AAAA,EACP,UAAU;AAAA,EACV,OAAO;AAAA,KACJ;AAAA,GACiG;AAAA,EACpG,uBACE,iBAAC,QAAD;AAAA,IACE;AAAA,IACA,aAAW;AAAA,IACX;AAAA,IACA,WAAW,GAAG,yBAAyB,EAAE,KAAK,CAAC,GAAG,SAAS;AAAA,OACvD;AAAA,GACN;AAAA;AAIJ,SAAS,cAAc,GAAG,cAAc,SAAuC;AAAA,EAC7E,uBACE,iBAAC,QAAD;AAAA,IACE,WAAW,GACT,0HACA,SACF;AAAA,OACI;AAAA,GACN;AAAA;AAIJ,SAAS,eAAe,GAAG,cAAc,SAAwC;AAAA,EAC/E,uBACE,iBAAC,OAAD;AAAA,IACE,aAAU;AAAA,IACV,WAAW,GAAG,oGAAoG,SAAS;AAAA,OACvH;AAAA,GACN;AAAA;AAIJ,SAAS,kBAAkB,GAAG,cAAc,SAA2C;AAAA,EACrF,uBACE,iBAAC,UAAD;AAAA,IACE,aAAU;AAAA,IACV,WAAW,GACT,6IACA,SACF;AAAA,OACI;AAAA,GACN;AAAA;;ACnKkC,IAAtC;AAEA,IAAM,cAAmC;AACzC,IAAM,sBAA0C;AAChD,IAAM,sBAA0C;;ACJzB,IAAvB;AACkC,IAAlC;;AAGA,IAAM,kBAAmC;AACzC,IAAM,UAA2B;AACjC,IAAM,iBAAkC;AAExC,IAAM,iBAAuB,kBAG3B,GAAG,WAAW,aAAa,MAAM,SAAS,wBAC1C,iBAUmB,yBAVnB;AAAA,4BACE,iBAAkB,0BAAlB;AAAA,IACE;AAAA,IACA;AAAA,IACA,WAAW,GACT,uaACA,SACF;AAAA,OACI;AAAA,GACN;AAAA,CACA,CACH;AACD,eAAe,cAA+B,yBAAQ;;ACxB/B,IAAvB;AACoC,IAApC;AAC4B,IAA5B;;AAGA,IAAM,YAA+B;AAErC,IAAM,gBAAsB,kBAG1B,GAAG,cAAc,SAAS,wBAC1B,iBAAoB,yBAApB;AAAA,EAAyB;AAAA,EAAU,WAAW,GAAG,YAAY,SAAS;AAAA,KAAO;AAAA,CAAO,CACrF;AACD,cAAc,cAAc;AAE5B,IAAM,mBAAyB,kBAG7B,GAAG,WAAW,aAAa,SAAS,wBACpC,iBAYqB,2BAZrB;AAAA,EAA2B,WAAU;AAAA,EAArC,0BACE,kBAUqB,4BAVrB;AAAA,IACE;AAAA,IACA,WAAW,GACT,kJACA,SACF;AAAA,OACI;AAAA,IANN,UAUE;AAAA,MAFC;AAAA,sBACD,iBAAC,iCAAD;AAAA,QAAa,WAAU;AAAA,OAA2E;AAAA;AAAA,GAClG;AAAA,CACF,CACH;AACD,iBAAiB,cAAiC,2BAAQ;AAE1D,IAAM,mBAAyB,kBAG7B,GAAG,WAAW,aAAa,SAAS,wBACpC,iBAMqB,4BANrB;AAAA,EACE;AAAA,EACA,WAAU;AAAA,KACN;AAAA,EAHN,0BAKE,iBAAwD,OAAxD;AAAA,IAAK,WAAW,GAAG,aAAa,SAAS;AAAA,IAAzC;AAAA,GAAwD;AAAA,CACxD,CACH;AACD,iBAAiB,cAAiC,2BAAQ;;AC/CnC,IAAvB;AACuC,IAAvC;AAC4C,IAA5C;;AAGA,IAAM,eAAqC;AAC3C,IAAM,sBAA4C;AAClD,IAAM,oBAA0C;AAChD,IAAM,qBAA2C;AACjD,IAAM,kBAAwC;AAC9C,IAAM,yBAA+C;AAErD,IAAM,yBAA+B,kBAGnC,GAAG,WAAW,OAAO,aAAa,SAAS,wBAC3C,kBAWwB,kCAXxB;AAAA,EACE;AAAA,EACA,WAAW,GACT,0MACA,SAAS,QACT,SACF;AAAA,KACI;AAAA,EAPN,UAWE;AAAA,IAFC;AAAA,oBACD,iBAAC,mCAAD;AAAA,MAAc,WAAU;AAAA,KAAU;AAAA;AAAA,CAClC,CACH;AACD,uBAAuB,cAAoC,iCAAW;AAEtE,IAAM,yBAA+B,kBAGnC,GAAG,cAAc,SAAS,wBAC1B,iBAAuB,kCAAvB;AAAA,EACE;AAAA,EACA,WAAW,GACT,ifACA,SACF;AAAA,KACI;AAAA,CACN,CACD;AACD,uBAAuB,cAAoC,iCAAW;AAEtE,IAAM,sBAA4B,kBAGhC,GAAG,WAAW,aAAa,MAAM,SAAS,wBAC1C,iBAWwB,8BAXxB;AAAA,4BACE,iBAAuB,+BAAvB;AAAA,IACE;AAAA,IACA;AAAA,IACA,WAAW,GACT,sLACA,4YACA,SACF;AAAA,OACI;AAAA,GACN;AAAA,CACA,CACH;AACD,oBAAoB,cAAoC,8BAAQ;AAEhE,IAAM,mBAAyB,kBAG7B,GAAG,WAAW,UAAU,SAAS,wBACjC,iBAAuB,4BAAvB;AAAA,EACE;AAAA,EACA,WAAW,GACT,yQACA,SAAS,QACT,SACF;AAAA,KACI;AAAA,CACN,CACD;AACD,iBAAiB,cAAoC,2BAAK;AAE1D,IAAM,2BAAiC,kBAGrC,GAAG,WAAW,UAAU,YAAY,SAAS,wBAC7C,kBAewB,oCAfxB;AAAA,EACE;AAAA,EACA,WAAW,GACT,wOACA,SACF;AAAA,EACA;AAAA,KACI;AAAA,EAPN,UAeE;AAAA,oBANA,iBAIE,QAJF;AAAA,MAAM,WAAU;AAAA,MAAhB,0BACE,iBAEwB,qCAFxB;AAAA,kCACE,iBAAC,4BAAD;AAAA,UAAO,WAAU;AAAA,SAAU;AAAA,OAC3B;AAAA,KACF;AAAA,IACD;AAAA;AAAA,CACD,CACH;AACD,yBAAyB,cAAoC,mCAAa;AAE1E,IAAM,wBAA8B,kBAGlC,GAAG,WAAW,aAAa,SAAS,wBACpC,kBAcwB,iCAdxB;AAAA,EACE;AAAA,EACA,WAAW,GACT,wOACA,SACF;AAAA,KACI;AAAA,EANN,UAcE;AAAA,oBANA,iBAIE,QAJF;AAAA,MAAM,WAAU;AAAA,MAAhB,0BACE,iBAEwB,qCAFxB;AAAA,kCACE,iBAAC,6BAAD;AAAA,UAAQ,WAAU;AAAA,SAAuB;AAAA,OACzC;AAAA,KACF;AAAA,IACD;AAAA;AAAA,CACD,CACH;AACD,sBAAsB,cAAoC,gCAAU;AAEpE,IAAM,oBAA0B,kBAG9B,GAAG,WAAW,UAAU,SAAS,wBACjC,iBAAuB,6BAAvB;AAAA,EACE;AAAA,EACA,WAAW,GAAG,qCAAqC,SAAS,QAAQ,SAAS;AAAA,KACzE;AAAA,CACN,CACD;AACD,kBAAkB,cAAoC,4BAAM;AAE5D,IAAM,wBAA8B,kBAGlC,GAAG,cAAc,SAAS,wBAC1B,iBAAuB,iCAAvB;AAAA,EAAiC;AAAA,EAAU,WAAW,GAAG,4BAA4B,SAAS;AAAA,KAAO;AAAA,CAAO,CAC7G;AACD,sBAAsB,cAAoC,gCAAU;AAEpE,IAAM,uBAAuB,GAAG,cAAc,YAAmD;AAAA,EAC/F,uBAAO,iBAAC,QAAD;AAAA,IAAM,WAAW,GAAG,8CAA8C,SAAS;AAAA,OAAO;AAAA,GAAO;AAAA;AAElG,qBAAqB,cAAc;;ACrJZ,IAAvB;AACoC,IAApC;;AAGA,IAAM,YAA+B;AACrC,IAAM,mBAAsC;AAE5C,IAAM,mBAAyB,kBAG7B,GAAG,WAAW,QAAQ,UAAU,aAAa,MAAM,SAAS,wBAC5D,iBAAoB,4BAApB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW,GACT,meACA,SACF;AAAA,KACI;AAAA,CACN,CACD;AACD,iBAAiB,cAAiC,2BAAQ;;ACtBnC,IAAvB;AACiC,IAAjC;AAC8C,IAA9C;;AAGA,IAAM,SAAyB;AAC/B,IAAM,cAA8B;AACpC,IAAM,cAA8B;AAEpC,IAAM,gBAAsB,kBAG1B,GAAG,WAAW,aAAa,SAAS,wBACpC,kBAYkB,yBAZlB;AAAA,EACE;AAAA,EACA,WAAW,GACT,kUACA,SACF;AAAA,KACI;AAAA,EANN,UAYE;AAAA,IAJC;AAAA,oBACD,iBAEkB,sBAFlB;AAAA,MAAsB,SAAO;AAAA,MAA7B,0BACE,iBAAC,kCAAD;AAAA,QAAa,WAAU;AAAA,OAAqB;AAAA,KAC5C;AAAA;AAAA,CACF,CACH;AACD,cAAc,cAA8B,wBAAQ;AAEpD,IAAM,uBAA6B,kBAGjC,GAAG,cAAc,SAAS,wBAC1B,iBAMkB,gCANlB;AAAA,EACE;AAAA,EACA,WAAW,GAAG,wDAAwD,SAAS;AAAA,KAC3E;AAAA,EAHN,0BAKE,iBAAC,gCAAD;AAAA,IAAW,WAAU;AAAA,GAAU;AAAA,CAC/B,CACH;AACD,qBAAqB,cAA8B,+BAAe;AAElE,IAAM,yBAA+B,kBAGnC,GAAG,cAAc,SAAS,wBAC1B,iBAMkB,kCANlB;AAAA,EACE;AAAA,EACA,WAAW,GAAG,wDAAwD,SAAS;AAAA,KAC3E;AAAA,EAHN,0BAKE,iBAAC,kCAAD;AAAA,IAAa,WAAU;AAAA,GAAU;AAAA,CACjC,CACH;AACD,uBAAuB,cAA8B,iCAAiB;AAEtE,IAAM,gBAAsB,kBAG1B,GAAG,WAAW,UAAU,WAAW,aAAa,SAAS,wBACzD,iBAuBkB,wBAvBlB;AAAA,4BACE,kBAqBkB,yBArBlB;AAAA,IACE;AAAA,IACA,WAAW,GACT,ijBACA,aAAa,YACX,mIACF,SACF;AAAA,IACA;AAAA,OACI;AAAA,IATN,UAqBE;AAAA,sBAVA,iBAAC,sBAAD,EAAsB;AAAA,sBACtB,iBAOkB,0BAPlB;AAAA,QACE,WAAW,GACT,OACA,aAAa,YAAY,yFAC3B;AAAA,QAJF;AAAA,OAOE;AAAA,sBACF,iBAAC,wBAAD,EAAwB;AAAA;AAAA,GACxB;AAAA,CACF,CACH;AACD,cAAc,cAA8B,wBAAQ;AAEpD,IAAM,cAAoB,kBAGxB,GAAG,cAAc,SAAS,wBAC1B,iBAAiB,uBAAjB;AAAA,EAAuB;AAAA,EAAU,WAAW,GAAG,qCAAqC,SAAS;AAAA,KAAO;AAAA,CAAO,CAC5G;AACD,YAAY,cAA8B,sBAAM;AAEhD,IAAM,aAAmB,kBAGvB,GAAG,WAAW,aAAa,SAAS,wBACpC,kBAckB,sBAdlB;AAAA,EACE;AAAA,EACA,WAAW,GACT,6NACA,SACF;AAAA,KACI;AAAA,EANN,UAcE;AAAA,oBANA,iBAIE,QAJF;AAAA,MAAM,WAAU;AAAA,MAAhB,0BACE,iBAEkB,+BAFlB;AAAA,kCACE,iBAAC,4BAAD;AAAA,UAAO,WAAU;AAAA,SAAU;AAAA,OAC3B;AAAA,KACF;AAAA,oBACF,iBAAsD,0BAAtD;AAAA;AAAA,KAAsC;AAAA;AAAA,CACtC,CACH;AACD,WAAW,cAA8B,qBAAK;AAE9C,IAAM,kBAAwB,kBAG5B,GAAG,cAAc,SAAS,wBAC1B,iBAAiB,2BAAjB;AAAA,EAA2B;AAAA,EAAU,WAAW,GAAG,4BAA4B,SAAS;AAAA,KAAO;AAAA,CAAO,CACvG;AACD,gBAAgB,cAA8B,0BAAU;;AC5HjC,IAAvB;AAC4C,IAA5C;AACuB,IAAvB;;AAGA,IAAM,UAAgB,kBAGpB,GAAG,cAAc,SAAS,wBAC1B,kBAAC,qBAAD;AAAA,EACE;AAAA,EACA,WAAW,GAAG,6FAA6F,SAAS;AAAA,KAChH;AAAA,CACN,CACD;AACD,QAAQ,cAAc,oBAAiB;AAEvC,IAAM,eAAqB,kBAGzB,GAAG,cAAc,SAAS,wBAC1B,mBAUE,OAVF;AAAA,EAAK,WAAU;AAAA,EAAkC,sBAAmB;AAAA,EAApE,UAUE;AAAA,oBATA,kBAAC,6BAAD;AAAA,MAAQ,WAAU;AAAA,KAAmC;AAAA,oBACrD,kBAAC,oBAAiB,OAAlB;AAAA,MACE;AAAA,MACA,WAAW,GACT,0JACA,SACF;AAAA,SACI;AAAA,KACN;AAAA;AAAA,CACA,CACH;AACD,aAAa,cAAc,oBAAiB,MAAM;AAElD,IAAM,cAAoB,kBAGxB,GAAG,cAAc,SAAS,wBAC1B,kBAAC,oBAAiB,MAAlB;AAAA,EACE;AAAA,EACA,WAAW,GAAG,mDAAmD,SAAS;AAAA,KACtE;AAAA,CACN,CACD;AACD,YAAY,cAAc,oBAAiB,KAAK;AAEhD,IAAM,eAAqB,kBAGzB,CAAC,OAAO,wBAAQ,kBAAC,oBAAiB,OAAlB;AAAA,EAAwB;AAAA,EAAU,WAAU;AAAA,KAA+B;AAAA,CAAO,CAAE;AACtG,aAAa,cAAc,oBAAiB,MAAM;AAElD,IAAM,eAAqB,kBAGzB,GAAG,cAAc,SAAS,wBAC1B,kBAAC,oBAAiB,OAAlB;AAAA,EACE;AAAA,EACA,WAAW,GACT,0NACA,SACF;AAAA,KACI;AAAA,CACN,CACD;AACD,aAAa,cAAc,oBAAiB,MAAM;AAElD,IAAM,mBAAyB,kBAG7B,GAAG,cAAc,SAAS,wBAC1B,kBAAC,oBAAiB,WAAlB;AAAA,EAA4B;AAAA,EAAU,WAAW,GAAG,wBAAwB,SAAS;AAAA,KAAO;AAAA,CAAO,CACpG;AACD,iBAAiB,cAAc,oBAAiB,UAAU;AAE1D,IAAM,cAAoB,kBAGxB,GAAG,cAAc,SAAS,wBAC1B,kBAAC,oBAAiB,MAAlB;AAAA,EACE;AAAA,EACA,WAAW,GACT,2TACA,SACF;AAAA,KACI;AAAA,CACN,CACD;AACD,YAAY,cAAc,oBAAiB,KAAK;AAEhD,IAAM,kBAAkB,GAAG,cAAc,YAAmD;AAAA,EAC1F,uBAAO,kBAAC,QAAD;AAAA,IAAM,WAAW,GAAG,yDAAyD,SAAS;AAAA,OAAO;AAAA,GAAO;AAAA;AAE7G,gBAAgB,cAAc;;AC9FP,IAAvB;AACiC,IAAjC;AACuC,IAAvC;AACkB,IAAlB;;AAGA,IAAM,SAAyB;AAE/B,IAAM,gBAAgC;AAEtC,IAAM,eAA+B;AAErC,IAAM,cAA8B;AAEpC,IAAM,gBAAsB,mBAG1B,GAAG,cAAc,SAAS,wBAC1B,kBAAiB,yBAAjB;AAAA,EACE;AAAA,EACA,WAAW,GACT,0JACA,SACF;AAAA,KACI;AAAA,CACN,CACD;AACD,cAAc,cAA8B,wBAAQ;AAEpD,IAAM,wBAAwB,qCAC5B,6dACA;AAAA,EACE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CACF;AAMA,IAAM,gBAAsB,mBAG1B,GAAG,WAAW,SAAS,aAAa,SAAS,wBAC7C,mBAaE,cAbF;AAAA,YAaE;AAAA,oBAZA,kBAAC,eAAD,EAAe;AAAA,oBACf,mBAUkB,yBAVlB;AAAA,MACE;AAAA,MACA,WAAW,GAAG,sBAAsB,EAAE,QAAQ,CAAC,GAAG,SAAS;AAAA,SACvD;AAAA,MAHN,UAUE;AAAA,QALC;AAAA,wBACD,mBAGkB,uBAHlB;AAAA,UAAuB,WAAU;AAAA,UAAjC,UAGE;AAAA,4BAFA,kBAAC,wBAAD;AAAA,cAAG,WAAU;AAAA,aAAU;AAAA,4BACvB,kBAAiC,QAAjC;AAAA,cAAM,WAAU;AAAA,cAAhB;AAAA,aAAiC;AAAA;AAAA,SACjC;AAAA;AAAA,KACF;AAAA;AAAA,CACF,CACH;AACD,cAAc,cAA8B,wBAAQ;AAEpD,IAAM,eAAe,GAAG,cAAc,4BACpC,kBAAC,OAAD;AAAA,EAAK,WAAW,GAAG,sDAAsD,SAAS;AAAA,KAAO;AAAA,CAAO;AAElG,aAAa,cAAc;AAE3B,IAAM,eAAe,GAAG,cAAc,4BACpC,kBAAC,OAAD;AAAA,EACE,WAAW,GAAG,iEAAiE,SAAS;AAAA,KACpF;AAAA,CACN;AAEF,aAAa,cAAc;AAE3B,IAAM,cAAoB,mBAGxB,GAAG,cAAc,SAAS,wBAC1B,kBAAiB,uBAAjB;AAAA,EACE;AAAA,EACA,WAAW,GAAG,qDAAqD,SAAS;AAAA,KACxE;AAAA,CACN,CACD;AACD,YAAY,cAA8B,sBAAM;AAEhD,IAAM,oBAA0B,mBAG9B,GAAG,cAAc,SAAS,wBAC1B,kBAAiB,6BAAjB;AAAA,EACE;AAAA,EACA,WAAW,GAAG,iCAAiC,SAAS;AAAA,KACpD;AAAA,CACN,CACD;AACD,kBAAkB,cAA8B,4BAAY;;ACtGrB,IAAvC;AAAA;AAOO,IAAM,UAAU,GAAG,WAAW,SAAS,4BAC5C,kBAAC,OAAD;AAAA,EACE,WAAW,GACT,sDACA,SAAS,SAAS,YAAY,6CAC9B,SACF;AAAA,KACI;AAAA,CACN;AAGF,IAAM,yBAAyB,qCAC7B,0DACA;AAAA,EACE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CACF;AAIO,IAAM,iBAAiB,GAAG,UAAU,WAAW,YAAY,4BAChE,kBAEE,OAFF;AAAA,EAAK,WAAW,GAAG,uBAAuB,EAAE,SAAS,UAAU,CAAC,CAAC;AAAA,KAAO;AAAA,EAAxE;AAAA,CAEE;AAQG,IAAM,gBAAgB,GAAG,KAAK,MAAM,cAAc,4BACvD,mBAGE,QAHF;AAAA,EAAQ,WAAW,GAAG,6BAA6B,SAAS;AAAA,KAAO;AAAA,EAAnE,UAGE;AAAA,oBAFA,kBAAC,aAAD;AAAA,MAAa,KAAI;AAAA,MAAG,WAAU;AAAA,MAAY;AAAA,KAAU;AAAA,oBACpD,kBAA6C,gBAA7C;AAAA,gBAAiB,MAAM,MAAM,GAAG,CAAC,KAAK;AAAA,KAAO;AAAA;AAAA,CAC7C;;ACzD0B,IAA9B;AAE4B,IAA5B;AACuD,IAAvD;AA6DwC,IAAxC;AAAA;AAtDO,IAAM,eAAe,GAAG,WAAW,mBAAmB,YAA+B;AAAA,EAC1F,MAAM,UAAU,gBAAgB,WAAW;AAAA,EAC3C,MAAM,SAAS,gBAAgB,UAAU;AAAA,EAEzC,uBACE,kBAAC,0CAAD;AAAA,IACE,WAAW,GAAG,mCAAmC,SAAS;AAAA,IAC1D;AAAA,IACA;AAAA,OACK,gBAAgB,YAAY,aAAa,EAAE,SAAS,eAAe,QAAQ;AAAA,OAC3E,gBAAgB,cAAc,aAAa,EAAE,WAAW,eAAe,UAAU;AAAA,OACjF,gBAAgB,SAAS,aAAa,EAAE,MAAM,eAAe,KAAK;AAAA,IACvE,MAAK;AAAA,OACD;AAAA,GACN;AAAA;AAMG,IAAM,sBAAsB,GAAG,cAAc,4BAClD,kBAAC,yCAAc,SAAf;AAAA,EAAuB,WAAW,GAAG,OAAO,SAAS;AAAA,KAAO;AAAA,CAAO;AAS9D,IAAM,yBAAyB;AAAA,EACpC;AAAA,EACA,QAAQ;AAAA,EACR,cAAc;AAAA,EACd;AAAA,EACA;AAAA,KACG;AAAA,sBAEH,kBAaE,OAbF;AAAA,EACE,WAAW,GAAG,6EAA6E,SAAS;AAAA,KAChG;AAAA,EAFN,UAIG,4BACC;AAAA,cAME;AAAA,MALC,wBAAQ,kBAA+C,OAA/C;AAAA,QAAK,WAAU;AAAA,QAAf,UAAwC;AAAA,OAAO;AAAA,sBACxD,mBAGE,OAHF;AAAA,QAAK,WAAU;AAAA,QAAf,UAGE;AAAA,0BAFA,kBAA6C,MAA7C;AAAA,YAAI,WAAU;AAAA,YAAd,UAAqC;AAAA,WAAQ;AAAA,UAC5C,+BAAe,kBAA4D,KAA5D;AAAA,YAAG,WAAU;AAAA,YAAb,UAA8C;AAAA,WAAc;AAAA;AAAA,OAC5E;AAAA;AAAA,GACF;AAAA,CAEJ;AAOG,IAAM,2BAA2B,GAAG,cAAc,YAA2C;AAAA,EAClG,QAAQ,YAAY,mBAAmB,mDAAwB;AAAA,EAE/D,MAAM,uBAAuB,yBAAY,MAAM;AAAA,IAC7C,eAAe;AAAA,KACd,CAAC,cAAc,CAAC;AAAA,EAEnB,OACE,CAAC,8BACC,kBASE,QATF;AAAA,IACE,WAAW,GAAG,gEAAgE,SAAS;AAAA,IACvF,SAAS;AAAA,IACT,MAAK;AAAA,IACL,MAAK;AAAA,IACL,SAAQ;AAAA,OACJ;AAAA,IANN,0BAQE,kBAAC,oCAAD;AAAA,MAAe,WAAU;AAAA,KAAS;AAAA,GAClC;AAAA;;ACvFkC,IAA1C;AAC2B,IAA3B;AAAA;AAIO,IAAM,WAAW,mBACtB,GAAG,cAAc,4BACf,kBAAC,8BAAD;AAAA,EACE,WAAW,GAAG,0DAA0D,SAAS;AAAA,KAC7E;AAAA,CACN,GAEF,CAAC,WAAW,cAAc,UAAU,aAAa,UAAU,QAC7D;AAEA,SAAS,cAAc;;ACLhB,IAPP;AAS+B,IAA/B;;;ACXoC,IAApC;AASO,IARP;AAAA;AAoBA,IAAM,mBAAmB,4BAAoC;AAAA,EAC3D,MAAM;AACR,CAAC;AAKD,eAAe,aAAa,CAAC,MAAc,UAAkB,kBAAkB,OAAkC;AAAA,EAC/G,IAAI;AAAA,IACF,MAAM,QAAQ,MAAa;AAAA,IAC3B,MAAM,wBAAwB,kBAC1B;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,IAAI,CAAC,MAAW,MAAc;AAAA,UAC5B,KAAK,SAAS,QAAQ;AAAA,YACpB,MAAM;AAAA,YACN,SAAS;AAAA,YACT,YAAY;AAAA,cACV,WAAW,CAAC,gBAAgB,YAAY,QAAQ,cAAc,eAAe,uBAAuB;AAAA,YACtG;AAAA,YACA,UAAU,CAAC,EAAE,MAAM,QAAQ,OAAO,OAAO,IAAI,EAAE,CAAC;AAAA,UAClD,CAAC;AAAA;AAAA,MAEL;AAAA,IACF,IACA,CAAC;AAAA,IAEL,OAAO,OAAO,QAAQ,MAAM,QAAQ,IAAI;AAAA,MACtC,MAAM,WAAW,MAAM,EAAE,MAAM,UAAiB,OAAO,aAAa,cAAc,sBAAsB,CAAC;AAAA,MACzG,MAAM,WAAW,MAAM,EAAE,MAAM,UAAiB,OAAO,gBAAgB,cAAc,sBAAsB,CAAC;AAAA,IAC9G,CAAC;AAAA,IACD,OAAO,CAAC,OAAO,IAAI;AAAA,IACnB,MAAM;AAAA,IAEN,OAAO,CAAC,IAAI,EAAE;AAAA;AAAA;AAIX,IAAM,YAAY;AAAA,EACvB;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB;AAAA,EACA;AAAA,KACG;AAAA,MACiB;AAAA,EACpB,OAAO,MAAM,WAAW,uBAAiB,EAAE;AAAA,EAC3C,OAAO,UAAU,eAAe,uBAAiB,EAAE;AAAA,EACnD,MAAM,cAAc,qBAAO,CAAC;AAAA,EAE5B,wBAAU,MAAM;AAAA,IACd,MAAM,KAAK,EAAE,YAAY;AAAA,IACzB,cAAc,MAAM,UAAU,eAAe,EAAE,KAAK,EAAE,OAAO,UAAU;AAAA,MACrE,IAAI,OAAO,YAAY,SAAS;AAAA,QAC9B,QAAQ,KAAK;AAAA,QACb,YAAY,IAAI;AAAA,MAClB;AAAA,KACD;AAAA,KACA,CAAC,MAAM,UAAU,eAAe,CAAC;AAAA,EAEpC,MAAM,cAAc,CAAC,QAAQ,CAAC;AAAA,EAE9B,uBACE,kBA4BE,iBAAiB,UA5BnB;AAAA,IAA2B,OAAO,EAAE,KAAK;AAAA,IAAzC,0BACE,kBA0BE,OA1BF;AAAA,MACE,WAAW,GACT,yFACA,SACF;AAAA,SACI;AAAA,MALN,0BAOE,mBAkBE,OAlBF;AAAA,QAAK,WAAU;AAAA,QAAf,UAkBE;AAAA,UAjBC,8BACC,kBAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACE,kBAA4C,QAA5C;AAAA,cAAM,WAAU;AAAA,cAAhB,UAAqC;AAAA,aAAO;AAAA,WAC5C,oBAEF;AAAA,sBASE;AAAA,8BARA,kBAAC,OAAD;AAAA,gBACE,WAAU;AAAA,gBACV,yBAAyB,EAAE,QAAQ,KAAK;AAAA,eAC1C;AAAA,8BACA,kBAAC,OAAD;AAAA,gBACE,WAAU;AAAA,gBACV,yBAAyB,EAAE,QAAQ,SAAS;AAAA,eAC9C;AAAA;AAAA,WACA;AAAA,UAEH,4BAAY,kBAA4E,OAA5E;AAAA,YAAK,WAAU;AAAA,YAAf;AAAA,WAA4E;AAAA;AAAA,OACzF;AAAA,KACF;AAAA,GACF;AAAA;AAUC,IAAM,sBAAsB;AAAA,EACjC;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,KACG;AAAA,MAC2B;AAAA,EAC9B,OAAO,UAAU,eAAe,uBAAS,KAAK;AAAA,EAC9C,QAAQ,SAAS,yBAAW,gBAAgB;AAAA,EAE5C,MAAM,kBAAkB,YAAY;AAAA,IAClC,IAAI,OAAO,WAAW,eAAe,CAAC,WAAW,WAAW,WAAW;AAAA,MACrE,UAAU,IAAI,MAAM,6BAA6B,CAAC;AAAA,MAClD;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACF,MAAM,UAAU,UAAU,UAAU,IAAI;AAAA,MACxC,YAAY,IAAI;AAAA,MAChB,SAAS;AAAA,MACT,WAAW,MAAM,YAAY,KAAK,GAAG,OAAO;AAAA,MAC5C,OAAO,OAAO;AAAA,MACd,UAAU,KAAc;AAAA;AAAA;AAAA,EAI5B,MAAM,QAAO,WAAW,iCAAY;AAAA,EAEpC,uBACE,kBAEE,QAFF;AAAA,IAAQ,WAAW,GAAG,YAAY,SAAS;AAAA,IAAG,SAAS;AAAA,IAAiB,MAAK;AAAA,IAAO,SAAQ;AAAA,OAAY;AAAA,IAAxG,UACG,4BAAY,kBAAC,OAAD;AAAA,MAAM,MAAM;AAAA,KAAI;AAAA,GAC7B;AAAA;;;;AD3IC,IAAM,OAAO,GAAG,cAAc,4BACnC,kBAAC,aAAD;AAAA,EAAa,WAAW,GAAG,2CAA2C,SAAS;AAAA,KAAO;AAAA,CAAO;AAU/F,IAAM,iBAAiB,CAAC,WAAsB;AAAA,EAC5C,MAAM,SAAiC;AAAA,IACrC,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACnB,sBAAsB;AAAA,IACtB,sBAAsB;AAAA,IACtB,oBAAoB;AAAA,IACpB,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,EACnB;AAAA,EAEA,MAAM,QAAmC;AAAA,IACvC,mCAAmB,kBAAC,iCAAD;AAAA,MAAY,WAAU;AAAA,KAAS;AAAA,IAClD,mCAAmB,kBAAC,gCAAD;AAAA,MAAW,WAAU;AAAA,KAAuB;AAAA,IAC/D,sCAAsB,kBAAC,gCAAD;AAAA,MAAW,WAAU;AAAA,KAAyB;AAAA,IACpE,sCAAsB,kBAAC,sCAAD;AAAA,MAAiB,WAAU;AAAA,KAAuB;AAAA,IACxE,oCAAoB,kBAAC,sCAAD;AAAA,MAAiB,WAAU;AAAA,KAAwB;AAAA,IACvE,gCAAgB,kBAAC,kCAAD;AAAA,MAAa,WAAU;AAAA,KAAsB;AAAA,IAC7D,iCAAiB,kBAAC,kCAAD;AAAA,MAAa,WAAU;AAAA,KAAyB;AAAA,EACnE;AAAA,EAEA,uBACE,mBAGE,OAHF;AAAA,IAAO,WAAU;AAAA,IAA+B,SAAQ;AAAA,IAAxD,UAGE;AAAA,MAFC,MAAM;AAAA,MACN,OAAO;AAAA;AAAA,GACR;AAAA;AAIC,IAAM,aAAa,GAAG,WAAW,OAAO,MAAM,UAAU,4BAC7D,mBAOE,qBAPF;AAAA,EAAoB,WAAW,GAAG,4DAA4D,SAAS;AAAA,KAAO;AAAA,EAA9G,UAOE;AAAA,oBANA,mBAIE,OAJF;AAAA,MAAK,WAAU;AAAA,MAAf,UAIE;AAAA,wBAHA,kBAAC,iCAAD;AAAA,UAAY,WAAU;AAAA,SAA+B;AAAA,wBACrD,kBAAgG,QAAhG;AAAA,UAAM,WAAU;AAAA,UAAhB,UAAuC,SAAS,MAAM,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK;AAAA,SAAS;AAAA,QAC/F,eAAe,KAAK;AAAA;AAAA,KACrB;AAAA,oBACF,kBAAC,sCAAD;AAAA,MAAiB,WAAU;AAAA,KAAuF;AAAA;AAAA,CAClH;AAKG,IAAM,cAAc,GAAG,cAAc,4BAC1C,kBAAC,qBAAD;AAAA,EACE,WAAW,GACT,iNACA,SACF;AAAA,KACI;AAAA,CACN;AAOK,IAAM,YAAY,GAAG,WAAW,UAAU,4BAC/C,mBAKE,OALF;AAAA,EAAK,WAAW,GAAG,iCAAiC,SAAS;AAAA,KAAO;AAAA,EAApE,UAKE;AAAA,oBAJA,kBAA8F,MAA9F;AAAA,MAAI,WAAU;AAAA,MAAd;AAAA,KAA8F;AAAA,oBAC9F,kBAEE,OAFF;AAAA,MAAK,WAAU;AAAA,MAAf,0BACE,kBAAC,WAAD;AAAA,QAAW,MAAM,KAAK,UAAU,OAAO,MAAM,CAAC;AAAA,QAAG,UAAS;AAAA,OAAO;AAAA,KACjE;AAAA;AAAA,CACF;AAQG,IAAM,aAAa,GAAG,WAAW,QAAQ,cAAc,YAA6B;AAAA,EACzF,IAAI,EAAE,UAAU,YAAY;AAAA,IAC1B,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,yBAAS,kBAA4B,OAA5B;AAAA,cAAM;AAAA,GAAsB;AAAA,EAEzC,IAAI,OAAO,WAAW,YAAY,CAAC,6BAAe,MAAM,GAAG;AAAA,IACzD,yBAAS,kBAAC,WAAD;AAAA,MAAW,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC;AAAA,MAAG,UAAS;AAAA,KAAO;AAAA,EAC7E,EAAO,SAAI,OAAO,WAAW,UAAU;AAAA,IACrC,yBAAS,kBAAC,WAAD;AAAA,MAAW,MAAM;AAAA,MAAQ,UAAS;AAAA,KAAO;AAAA,EACpD;AAAA,EAEA,uBACE,mBAaE,OAbF;AAAA,IAAK,WAAW,GAAG,iBAAiB,SAAS;AAAA,OAAO;AAAA,IAApD,UAaE;AAAA,sBAZA,kBAEE,MAFF;AAAA,QAAI,WAAU;AAAA,QAAd,UACG,YAAY,UAAU;AAAA,OACvB;AAAA,sBACF,mBAQE,OARF;AAAA,QACE,WAAW,GACT,uDACA,YAAY,uCAAuC,6BACrD;AAAA,QAJF,UAQE;AAAA,UAFC,6BAAa,kBAAkB,OAAlB;AAAA,sBAAM;AAAA,WAAY;AAAA,UAC/B;AAAA;AAAA,OACD;AAAA;AAAA,GACF;AAAA;;AE3HiC,IAAvC;AAAA;AAKO,IAAM,WAAW,GAAG,cAAc,4BACvC,kBAAC,OAAD;AAAA,EACE,WAAW,GAAG,2EAA2E,SAAS;AAAA,KAC9F;AAAA,CACN;AAKK,IAAM,iBAAiB,GAAG,cAAc,4BAC7C,kBAAC,OAAD;AAAA,EAAK,WAAW,GAAG,oEAAoE,SAAS;AAAA,KAAO;AAAA,CAAO;AAKzG,IAAM,gBAAgB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,UAAU;AAAA,KACP;AAAA,sBAEH,mBASE,QATF;AAAA,EACE,WAAW,GAAG,0DAA0D,SAAS;AAAA,EACjF;AAAA,EACA,MAAK;AAAA,EACL;AAAA,KACI;AAAA,EALN,UASE;AAAA,IAFC,4BAAY,kBAAC,4BAAD;AAAA,MAAO,WAAU;AAAA,KAAS;AAAA,oBACvC,kBAAiC,QAAjC;AAAA,MAAM,WAAU;AAAA,MAAhB;AAAA,KAAiC;AAAA;AAAA,CACjC;AAKG,IAAM,gBAAgB,GAAG,cAAc,4BAC5C,kBAAC,KAAD;AAAA,EAAG,WAAW,GAAG,uCAAuC,SAAS;AAAA,KAAO;AAAA,CAAO;AAK1E,IAAM,sBAAsB,GAAG,cAAc,4BAClD,kBAAC,KAAD;AAAA,EAAG,WAAW,GAAG,iCAAiC,SAAS;AAAA,KAAO;AAAA,CAAO;AAKpE,IAAM,kBAAkB,GAAG,cAAc,4BAC9C,kBAAC,OAAD;AAAA,EAAK,WAAW,GAAG,2BAA2B,SAAS;AAAA,KAAO;AAAA,CAAO;AAShE,IAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,MAAM;AAAA,EACN;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,UAAU;AAAA,KACP;AAAA,MACsB;AAAA,EACzB,MAAM,yBACJ,mBASE,QATF;AAAA,IACE,WAAW,GAAG,0DAA0D,SAAS;AAAA,IACjF;AAAA,IACA,MAAK;AAAA,IACL;AAAA,OACI;AAAA,IALN,UASE;AAAA,MAFC,wBAAO,kBAAC,OAAD;AAAA,QAAM,WAAU;AAAA,OAAS,IAAK;AAAA,sBACtC,kBAA8C,QAA9C;AAAA,QAAM,WAAU;AAAA,QAAhB,UAA2B,SAAS;AAAA,OAAU;AAAA;AAAA,GAC9C;AAAA,EAGJ,IAAI,SAAS;AAAA,IACX,uBACE,kBAOE,iBAPF;AAAA,gCACE,mBAKE,SALF;AAAA,kBAKE;AAAA,0BAJA,kBAAkC,gBAAlC;AAAA,YAAgB,SAAO;AAAA,YAAvB,UAAyB;AAAA,WAAS;AAAA,0BAClC,kBAEE,gBAFF;AAAA,sCACE,kBAAc,KAAd;AAAA,wBAAI;AAAA,aAAU;AAAA,WACd;AAAA;AAAA,OACF;AAAA,KACF;AAAA,EAEN;AAAA,EAEA,OAAO;AAAA;AAKF,IAAM,kBAAkB,GAAG,cAAc,4BAC9C,kBAAC,OAAD;AAAA,EAAK,WAAW,GAAG,4BAA4B,SAAS;AAAA,KAAO;AAAA,CAAO;;AC3GpD,IAApB;AAAA;AASO,SAAS,kBAAkB,GAAG,WAAW,MAAM,WAAW,SAAkC;AAAA,EACjG,uBACE,mBAWE,OAXF;AAAA,IAAK,WAAW,GAAG,+BAA+B,SAAS;AAAA,OAAO;AAAA,IAAlE,UAWE;AAAA,MAVC,0BACC,kBAEE,OAFF;AAAA,QAAK,WAAU;AAAA,QAAf,UACG,wBAAQ,kBAAC,2BAAD;AAAA,UAAK,WAAU;AAAA,SAAuB;AAAA,OAC/C;AAAA,sBAEJ,mBAIE,OAJF;AAAA,QAAK,WAAU;AAAA,QAAf,UAIE;AAAA,0BAHA,kBAAC,QAAD;AAAA,YAAM,WAAU;AAAA,WAAmD;AAAA,0BACnE,kBAAC,QAAD;AAAA,YAAM,WAAU;AAAA,WAA2E;AAAA,0BAC3F,kBAAC,QAAD;AAAA,YAAM,WAAU;AAAA,WAA2E;AAAA;AAAA,OAC3F;AAAA;AAAA,GACF;AAAA;;ACvBmD,IAAzD;AACqC,IAArC;;AAoCA,SAAS,SAAS,CAAC,SAAuB,YAA0B;AAAA,EAClE,MAAM,cAAc;AAAA,EACpB,MAAM,gBAAgB;AAAA,EACtB,MAAM,WAAW,aAAa,eAAe,gBAAgB;AAAA,EAC7D,MAAM,aAAa,eAAe,gBAAgB;AAAA,EAClD,MAAM,aAAa,QAAQ,UAAU,gBAAgB;AAAA,EACrD,MAAM,SAAS,IAAI,YAAY,KAAK,UAAU;AAAA,EAC9C,MAAM,OAAO,IAAI,SAAS,MAAM;AAAA,EAEhC,YAAY,MAAM,GAAG,MAAM;AAAA,EAC3B,KAAK,UAAU,GAAG,KAAK,YAAY,IAAI;AAAA,EACvC,YAAY,MAAM,GAAG,MAAM;AAAA,EAC3B,YAAY,MAAM,IAAI,MAAM;AAAA,EAC5B,KAAK,UAAU,IAAI,IAAI,IAAI;AAAA,EAC3B,KAAK,UAAU,IAAI,GAAG,IAAI;AAAA,EAC1B,KAAK,UAAU,IAAI,aAAa,IAAI;AAAA,EACpC,KAAK,UAAU,IAAI,YAAY,IAAI;AAAA,EACnC,KAAK,UAAU,IAAI,UAAU,IAAI;AAAA,EACjC,KAAK,UAAU,IAAI,YAAY,IAAI;AAAA,EACnC,KAAK,UAAU,IAAI,eAAe,IAAI;AAAA,EACtC,YAAY,MAAM,IAAI,MAAM;AAAA,EAC5B,KAAK,UAAU,IAAI,YAAY,IAAI;AAAA,EAEnC,IAAI,SAAS;AAAA,EACb,SAAS,IAAI,EAAG,IAAI,QAAQ,QAAQ,KAAK;AAAA,IACvC,MAAM,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,GAAG,QAAQ,EAAE,CAAC;AAAA,IAC9C,KAAK,SAAS,QAAQ,IAAI,IAAI,IAAI,QAAS,IAAI,OAAQ,IAAI;AAAA,IAC3D,UAAU;AAAA,EACZ;AAAA,EAEA,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,MAAM,YAAY,CAAC;AAAA;AAGjD,SAAS,WAAW,CAAC,MAAgB,QAAgB,KAAa;AAAA,EAChE,SAAS,IAAI,EAAG,IAAI,IAAI,QAAQ,KAAK;AAAA,IACnC,KAAK,SAAS,SAAS,GAAG,IAAI,WAAW,CAAC,CAAC;AAAA,EAC7C;AAAA;AAGF,SAAS,gBAAgB,GAAW;AAAA,EAClC,MAAM,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBb,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAAA,EAChE,OAAO,IAAI,gBAAgB,IAAI;AAAA;AAG1B,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA,yBAAyB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,GACqB;AAAA,EACrB,OAAO,aAAa,kBAAkB,uBAAS,KAAK;AAAA,EACpD,OAAO,gBAAgB,qBAAqB,uBAAS,KAAK;AAAA,EAC1D,OAAO,UAAU,eAAe,uBAAS,CAAC;AAAA,EAC1C,OAAO,aAAa,kBAAkB,uBAAS,IAAI;AAAA,EACnD,MAAM,YAAY,qBAA2B,IAAI;AAAA,EACjD,MAAM,kBAAkB,qBAA4B,IAAI;AAAA,EACxD,MAAM,iBAAiB,qBAAgC,IAAI;AAAA,EAC3D,MAAM,YAAY,qBAAuB,CAAC,CAAC;AAAA,EAC3C,MAAM,WAAW,qBAA8C,IAAI;AAAA,EACnE,MAAM,gBAAgB,qBAAsB,IAAI;AAAA,EAChD,MAAM,6BAA6B,qBAAO,uBAAuB;AAAA,EACjE,2BAA2B,UAAU;AAAA,EAErC,wBAAU,MAAM;AAAA,IACd,IAAI,OAAO,WAAW,eAAe,CAAC,UAAU,cAAc,cAAc;AAAA,MAC1E,eAAe,KAAK;AAAA,IACtB;AAAA,IACA,OAAO,MAAM;AAAA,MACX,IAAI,SAAS;AAAA,QAAS,cAAc,SAAS,OAAO;AAAA,MACpD,IAAI,eAAe,SAAS;AAAA,QAC1B,eAAe,QAAQ,KAAK,YAAY,MAAM;AAAA,QAC9C,eAAe,QAAQ,WAAW;AAAA,QAClC,eAAe,UAAU;AAAA,MAC3B;AAAA,MACA,IAAI,gBAAgB,SAAS;AAAA,QAC3B,gBAAgB,QAAQ,MAAM;AAAA,QAC9B,gBAAgB,UAAU;AAAA,MAC5B;AAAA,MACA,IAAI,UAAU,SAAS;AAAA,QACrB,UAAU,QAAQ,UAAU,EAAE,QAAQ,CAAC,UAAU,MAAM,KAAK,CAAC;AAAA,QAC7D,UAAU,UAAU;AAAA,MACtB;AAAA,MACA,IAAI,cAAc;AAAA,QAAS,IAAI,gBAAgB,cAAc,OAAO;AAAA;AAAA,KAErE,CAAC,CAAC;AAAA,EAEL,MAAM,iBAAiB,0BAAY,YAAY;AAAA,IAC7C,IAAI;AAAA,MACF,IAAI,qBAAqB;AAAA,QACvB,MAAM,UAAU,MAAM,oBAAoB;AAAA,QAC1C,IAAI,CAAC;AAAA,UAAS;AAAA,MAChB;AAAA,MACA,MAAM,SAAS,MAAM,UAAU,aAAa,aAAa,EAAE,OAAO,KAAK,CAAC;AAAA,MACxE,UAAU,UAAU;AAAA,MAEpB,MAAM,eAAe,IAAI;AAAA,MACzB,gBAAgB,UAAU;AAAA,MAE1B,MAAM,aAAa,iBAAiB;AAAA,MACpC,cAAc,UAAU;AAAA,MACxB,MAAM,aAAa,aAAa,UAAU,UAAU;AAAA,MAEpD,MAAM,SAAS,aAAa,wBAAwB,MAAM;AAAA,MAC1D,MAAM,cAAc,IAAI,iBAAiB,cAAc,oBAAoB;AAAA,MAC3E,eAAe,UAAU;AAAA,MACzB,UAAU,UAAU,CAAC;AAAA,MAErB,YAAY,KAAK,YAAY,CAAC,MAAM;AAAA,QAClC,IAAI,EAAE,gBAAgB,cAAc;AAAA,UAClC,UAAU,QAAQ,KAAK,EAAE,IAAI;AAAA,QAC/B;AAAA;AAAA,MAGF,OAAO,QAAQ,WAAW;AAAA,MAC1B,YAAY,QAAQ,aAAa,WAAW;AAAA,MAE5C,eAAe,IAAI;AAAA,MACnB,YAAY,CAAC;AAAA,MAEb,SAAS,UAAU,YAAY,MAAM;AAAA,QACnC,YAAY,CAAC,SAAS,OAAO,CAAC;AAAA,SAC7B,IAAI;AAAA,MACP,MAAM;AAAA,MACN,QAAQ,MAAM,2BAA2B;AAAA;AAAA,KAE1C,CAAC,mBAAmB,CAAC;AAAA,EAExB,MAAM,gBAAgB,0BAAY,YAAY;AAAA,IAC5C,IAAI,eAAe,SAAS;AAAA,MAC1B,eAAe,QAAQ,KAAK,YAAY,MAAM;AAAA,MAC9C,eAAe,QAAQ,WAAW;AAAA,MAClC,eAAe,UAAU;AAAA,IAC3B;AAAA,IAEA,MAAM,eAAe,gBAAgB;AAAA,IACrC,IAAI,UAAuB;AAAA,IAC3B,IAAI,cAAc;AAAA,MAChB,MAAM,aAAa,aAAa;AAAA,MAEhC,MAAM,cAAc,UAAU,QAAQ,OAAO,CAAC,KAAK,UAAU,MAAM,MAAM,QAAQ,CAAC;AAAA,MAClF,MAAM,SAAS,IAAI,aAAa,WAAW;AAAA,MAC3C,IAAI,SAAS;AAAA,MACb,WAAW,SAAS,UAAU,SAAS;AAAA,QACrC,OAAO,IAAI,OAAO,MAAM;AAAA,QACxB,UAAU,MAAM;AAAA,MAClB;AAAA,MACA,UAAU,UAAU,CAAC;AAAA,MAErB,UAAU,UAAU,QAAQ,UAAU;AAAA,MAEtC,aAAa,MAAM;AAAA,MACnB,gBAAgB,UAAU;AAAA,IAC5B;AAAA,IAEA,IAAI,UAAU,SAAS;AAAA,MACrB,UAAU,QAAQ,UAAU,EAAE,QAAQ,CAAC,UAAU,MAAM,KAAK,CAAC;AAAA,MAC7D,UAAU,UAAU;AAAA,IACtB;AAAA,IAEA,IAAI,cAAc,SAAS;AAAA,MACzB,IAAI,gBAAgB,cAAc,OAAO;AAAA,MACzC,cAAc,UAAU;AAAA,IAC1B;AAAA,IAEA,eAAe,KAAK;AAAA,IACpB,IAAI,SAAS,SAAS;AAAA,MACpB,cAAc,SAAS,OAAO;AAAA,MAC9B,SAAS,UAAU;AAAA,IACrB;AAAA,IAEA,IAAI,CAAC;AAAA,MAAS;AAAA,IAEd,IAAI,SAAS,gBAAgB,uBAAuB;AAAA,MAClD,kBAAkB,IAAI;AAAA,MACtB,MAAM,WAAW,IAAI;AAAA,MACrB,SAAS,OAAO,wBAAwB,SAAS,eAAe;AAAA,MAChE,IAAI;AAAA,QACF,MAAM,MAAM,MAAM,MAAM,uBAAuB;AAAA,UAC7C,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,aAAa;AAAA,UACb,MAAM;AAAA,QACR,CAAC;AAAA,QACD,MAAM,OAAO,MAAM,IAAI,KAAK;AAAA,QAC5B,MAAM,OAAO,6BACT,2BAA2B,IAAI,IAC/B,KAAK,QAAQ,KAAK,cAAc,KAAK,kBAAkB,OAAO,SAAS,WAAW,OAAO;AAAA,QAC7F,IAAI;AAAA,UAAM,2BAA2B,UAAU,IAAI;AAAA,QACnD,OAAO,KAAK;AAAA,QACZ,QAAQ,MAAM,yBAAyB,GAAG;AAAA,gBAC1C;AAAA,QACA,kBAAkB,KAAK;AAAA;AAAA,IAE3B,EAAO;AAAA,MACL,oBAAoB,OAAO;AAAA;AAAA,KAE5B,CAAC,qBAAqB,MAAM,uBAAuB,sBAAsB,wBAAwB,0BAA0B,CAAC;AAAA,EAE/H,MAAM,iBAAiB;AAAA,IACrB,aAAa,QAAQ,eAAe;AAAA,IACpC,eAAe,QAAQ,iBAAiB;AAAA,IACxC,cAAc,QAAQ,gBAAgB;AAAA,EACxC;AAAA,EAEA,MAAM,iBAAiB,CAAC,YAAoB;AAAA,IAC1C,MAAM,IAAI,KAAK,MAAM,UAAU,EAAE;AAAA,IACjC,MAAM,IAAI,UAAU;AAAA,IACpB,OAAO,GAAG,KAAK,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG;AAAA;AAAA,EAG7C,IAAI,CAAC;AAAA,IAAa,OAAO;AAAA,EAEzB,uBACE,mBA0BE,OA1BF;AAAA,IAAK,WAAW,GAAG,2BAA2B,SAAS;AAAA,IAAvD,UA0BE;AAAA,MAzBC,+BACC,kBAA+F,QAA/F;AAAA,QAAM,WAAU;AAAA,QAAhB,UAAoE,eAAe,QAAQ;AAAA,OAAI;AAAA,MAEhG,iCACC,mBAGE,QAHF;AAAA,QAAM,WAAU;AAAA,QAAhB,UAGE;AAAA,0BAFA,kBAAC,+BAAD;AAAA,YAAS,WAAU;AAAA,WAAwB;AAAA,UAC1C,eAAe;AAAA;AAAA,OAChB,oBAEF,kBAcE,QAdF;AAAA,QACE,MAAK;AAAA,QACL,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,WAAW,GAAG,WAAW,eAAe,yCAAyC;AAAA,QACjF;AAAA,QACA,SAAS,cAAc,gBAAgB;AAAA,QACvC,OAAO,cAAc,eAAe,gBAAgB,eAAe;AAAA,QAPrE,UASG,8BACC,kBAAC,8BAAD;AAAA,UAAQ,WAAU;AAAA,SAAsB,oBAExC,kBAAC,2BAAD;AAAA,UAAK,WAAU;AAAA,SAAS;AAAA,OAE1B;AAAA;AAAA,GAEJ;AAAA;;;ACrSC,SAAS,cAAc,GAAG,MAAM,aAAa,aAAkC;AAAA,EACpF,MAAM,YAAY,cAAc,YAAY,IAAI,IAAI,qBAAqB,IAAI;AAAA,EAC7E,MAAM,WAAW,oBAAoB,IAAI;AAAA,EAEzC,uBACE,kBASE,iBATF;AAAA,8BACE,mBAOE,SAPF;AAAA,gBAOE;AAAA,wBANA,kBAEE,gBAFF;AAAA,UAAgB,SAAO;AAAA,UAAvB,0BACE,kBAAyC,QAAzC;AAAA,YAAM;AAAA,YAAN,UAA6B;AAAA,WAAY;AAAA,SACzC;AAAA,wBACF,kBAEE,gBAFF;AAAA,oCACE,kBAAe,KAAf;AAAA,sBAAI;AAAA,WAAW;AAAA,SACf;AAAA;AAAA,KACF;AAAA,GACF;AAAA;;ACtB2B,IAAjC;AAAA;AAgBA,SAAS,QAAQ,GAAG,OAAwB;AAAA,EAC1C,IAAI,CAAC;AAAA,IAAK,OAAO;AAAA,EACjB,uBACE,kBAEE,QAFF;AAAA,IAAM,WAAU;AAAA,IAAhB,UACG;AAAA,GACD;AAAA;AAIC,SAAS,eAAe,GAAG,MAAM,SAAS,aAAmC;AAAA,EAClF,MAAM,cAAc,mBAAmB,KAAK,IAAI;AAAA,EAChD,MAAM,cAAc,CAAC,CAAC;AAAA,EACtB,MAAM,MAAM,iBAAiB,KAAK,MAAM,KAAK,IAAI;AAAA,EAEjD,MAAM,WAAW,GACf,sGACA,eAAe,mKACf,SACF;AAAA,EAGA,IAAI,gBAAgB,WAAW,KAAK,KAAK;AAAA,IACvC,uBACE,mBAQE,UARF;AAAA,MAAQ,MAAK;AAAA,MAAS;AAAA,MAAkB,UAAU,CAAC;AAAA,MAAa,WAAW;AAAA,MAA3E,UAQE;AAAA,wBAPA,kBAAC,OAAD;AAAA,UAAK,KAAK,KAAK;AAAA,UAAK,KAAK,KAAK;AAAA,UAAM,WAAU;AAAA,SAA6B;AAAA,wBAC3E,kBAAC,UAAD;AAAA,UAAU;AAAA,SAAU;AAAA,QACnB,+BACC,kBAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACE,kBAAC,8BAAD;AAAA,YAAQ,WAAU;AAAA,WAA0E;AAAA,SAC5F;AAAA;AAAA,KAEJ;AAAA,EAEN;AAAA,EAGA,IAAI,gBAAgB,SAAS,KAAK,KAAK;AAAA,IACrC,uBACE,mBAoBE,UApBF;AAAA,MAAQ,MAAK;AAAA,MAAS;AAAA,MAAkB,UAAU,CAAC;AAAA,MAAa,WAAW;AAAA,MAA3E,UAoBE;AAAA,wBAnBA,kBAYE,OAZF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACE,kBAUE,UAVF;AAAA,YACE,MAAM,GAAG,KAAK;AAAA,YACd,MAAK;AAAA,YACL,WAAU;AAAA,YACV,cAAY,KAAK;AAAA,YAJnB,0BAOE,kBAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACE,kBAAC,gCAAD;AAAA,gBAAU,WAAU;AAAA,eAAmC;AAAA,aACvD;AAAA,WACF;AAAA,SACF;AAAA,wBACF,kBAAC,UAAD;AAAA,UAAU;AAAA,SAAU;AAAA,QACnB,+BACC,kBAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACE,kBAAC,8BAAD;AAAA,YAAQ,WAAU;AAAA,WAAqF;AAAA,SACvG;AAAA;AAAA,KAEJ;AAAA,EAEN;AAAA,EAGA,uBACE,mBAkBE,UAlBF;AAAA,IAAQ,MAAK;AAAA,IAAS;AAAA,IAAkB,UAAU,CAAC;AAAA,IAAa,WAAW;AAAA,IAA3E,UAkBE;AAAA,sBAjBA,kBAEE,OAFF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACE,kBAAC,gCAAD;AAAA,UAAU,WAAU;AAAA,SAAmC;AAAA,OACvD;AAAA,sBAGF,mBASE,OATF;AAAA,QAAK,WAAU;AAAA,QAAf,UASE;AAAA,0BARA,kBAEE,KAFF;AAAA,YAAG,WAAU;AAAA,YAAqD,OAAO,KAAK;AAAA,YAA9E,UACG,KAAK;AAAA,WACN;AAAA,UACD,KAAK,QAAQ,QAAQ,KAAK,OAAO,qBAChC,kBAEE,KAFF;AAAA,YAAG,WAAU;AAAA,YAAb,UACG,eAAe,KAAK,IAAI;AAAA,WACzB;AAAA;AAAA,OAEJ;AAAA,sBAEF,kBAAC,UAAD;AAAA,QAAU;AAAA,OAAU;AAAA;AAAA,GACpB;AAAA;;AC5F6B,IAAnC;AAAA;AASO,SAAS,gBAAgB,GAAG,MAAM,cAAc,QAA+B;AAAA,EACpF,IAAI,CAAC;AAAA,IAAM,OAAO;AAAA,EAElB,MAAM,cAAc,mBAAmB,KAAK,IAAI;AAAA,EAChD,MAAM,aAAa,cAAc,KAAK,IAAI,KAAK,CAAC,CAAC,KAAK;AAAA,EAEtD,uBACE,kBA6DE,QA7DF;AAAA,IAAQ;AAAA,IAAY;AAAA,IAApB,UACG,gBAAgB,WAAW,KAAK,sBAC/B,mBAOE,eAPF;AAAA,MAAe,SAAQ;AAAA,MAAW,oBAAkB;AAAA,MAApD,UAOE;AAAA,wBANA,kBAA8C,aAA9C;AAAA,UAAa,WAAU;AAAA,UAAvB,UAAkC,KAAK;AAAA,SAAO;AAAA,wBAC9C,kBAAC,OAAD;AAAA,UACE,KAAK,KAAK;AAAA,UACV,KAAK,KAAK;AAAA,UACV,WAAU;AAAA,SACZ;AAAA;AAAA,KACA,IACA,gBAAgB,SAAS,KAAK,sBAChC,mBAoBE,eApBF;AAAA,MAAe,SAAQ;AAAA,MAAW,WAAU;AAAA,MAAoB,oBAAkB;AAAA,MAAlF,UAoBE;AAAA,wBAnBA,kBAA8C,aAA9C;AAAA,UAAa,WAAU;AAAA,UAAvB,UAAkC,KAAK;AAAA,SAAO;AAAA,wBAC9C,kBAiBE,UAjBF;AAAA,UACE,MAAM,KAAK;AAAA,UACX,MAAK;AAAA,UACL,WAAU;AAAA,UAHZ,0BAKE,mBAWE,OAXF;AAAA,YAAK,WAAU;AAAA,YAAf,UAWE;AAAA,8BAVA,kBAA8C,KAA9C;AAAA,gBAAG,WAAU;AAAA,gBAAb;AAAA,eAA8C;AAAA,8BAC9C,mBAQE,KARF;AAAA,gBACE,MAAM,KAAK;AAAA,gBACX,QAAO;AAAA,gBACP,KAAI;AAAA,gBACJ,WAAU;AAAA,gBAJZ,UAQE;AAAA,kCAFA,kBAAC,gCAAD;AAAA,oBAAU,WAAU;AAAA,mBAAU;AAAA,kBANhC;AAAA,kBAOY,KAAK;AAAA;AAAA,eACf;AAAA;AAAA,WACF;AAAA,SACF;AAAA;AAAA,KACF,oBAEF,mBA0BE,eA1BF;AAAA,gBA0BE;AAAA,wBAzBA,mBASE,cATF;AAAA,oBASE;AAAA,4BARA,mBAGE,aAHF;AAAA,cAAa,WAAU;AAAA,cAAvB,UAGE;AAAA,gCAFA,kBAAC,gCAAD;AAAA,kBAAU,WAAU;AAAA,iBAAgC;AAAA,gBACnD,KAAK;AAAA;AAAA,aACN;AAAA,4BACF,mBAGE,mBAHF;AAAA,wBAGE;AAAA,gBAFC,KAAK,QAAQ,QAAQ,KAAK,OAAO,qBAAK,kBAAmC,QAAnC;AAAA,4BAAO,eAAe,KAAK,IAAI;AAAA,iBAAI;AAAA,gBACzE,CAAC,8BAAc,kBAA0D,QAA1D;AAAA;AAAA,iBAA0D;AAAA;AAAA,aAC1E;AAAA;AAAA,SACF;AAAA,wBACF,mBAcE,OAdF;AAAA,UAAK,WAAU;AAAA,UAAf,UAcE;AAAA,4BAbA,kBAAC,gCAAD;AAAA,cAAU,WAAU;AAAA,aAAY;AAAA,4BAChC,kBAA8C,KAA9C;AAAA,cAAG,WAAU;AAAA,cAAb;AAAA,aAA8C;AAAA,YAC7C,KAAK,OAAO,gBAAgB,KAAK,KAAK,GAAG,qBACxC,mBAQE,KARF;AAAA,cACE,MAAM,KAAK;AAAA,cACX,QAAO;AAAA,cACP,KAAI;AAAA,cACJ,WAAU;AAAA,cAJZ,UAQE;AAAA,gCAFA,kBAAC,gCAAD;AAAA,kBAAU,WAAU;AAAA,iBAAU;AAAA,gBANhC;AAAA;AAAA,aAQE;AAAA;AAAA,SAEJ;AAAA;AAAA,KACF;AAAA,GAEJ;AAAA;;ACrF2C,IAAjD;AAE0C,IAA1C;;AAeO,SAAS,aAAa,GAAG,MAAM,cAAc,QAAQ,eAAe,KAAyB;AAAA,EAClG,OAAO,cAAc,mBAAmB,uBAAS,YAAY;AAAA,EAC7D,MAAM,cAAc,OAAO,SAAS;AAAA,EAEpC,wBAAU,MAAM;AAAA,IACd,IAAI;AAAA,MAAM,gBAAgB,YAAY;AAAA,KACrC,CAAC,MAAM,YAAY,CAAC;AAAA,EAEvB,MAAM,SAAS,0BAAY,MAAM;AAAA,IAC/B,gBAAgB,CAAC,OAAO,IAAI,KAAK,OAAO,MAAM;AAAA,KAC7C,CAAC,OAAO,MAAM,CAAC;AAAA,EAElB,MAAM,SAAS,0BAAY,MAAM;AAAA,IAC/B,gBAAgB,CAAC,OAAO,IAAI,IAAI,OAAO,UAAU,OAAO,MAAM;AAAA,KAC7D,CAAC,OAAO,MAAM,CAAC;AAAA,EAElB,wBAAU,MAAM;AAAA,IACd,IAAI,CAAC,QAAQ,CAAC;AAAA,MAAa;AAAA,IAC3B,MAAM,UAAU,CAAC,MAAqB;AAAA,MACpC,IAAI,EAAE,QAAQ;AAAA,QAAc,OAAO;AAAA,MACnC,IAAI,EAAE,QAAQ;AAAA,QAAa,OAAO;AAAA;AAAA,IAEpC,OAAO,iBAAiB,WAAW,OAAO;AAAA,IAC1C,OAAO,MAAM,OAAO,oBAAoB,WAAW,OAAO;AAAA,KACzD,CAAC,MAAM,aAAa,QAAQ,MAAM,CAAC;AAAA,EAEtC,IAAI,OAAO,WAAW;AAAA,IAAG,OAAO;AAAA,EAChC,MAAM,UAAU,OAAO;AAAA,EACvB,IAAI,CAAC;AAAA,IAAS,OAAO;AAAA,EAErB,uBACE,kBA2CE,QA3CF;AAAA,IAAQ;AAAA,IAAY;AAAA,IAApB,0BACE,mBAyCE,eAzCF;AAAA,MAAe,SAAQ;AAAA,MAAW,oBAAkB;AAAA,MAApD,UAyCE;AAAA,wBAxCA,kBAEE,aAFF;AAAA,UAAa,WAAU;AAAA,UAAvB,UACG,QAAQ,OAAO,SAAS,eAAe,QAAQ,OAAO;AAAA,SACvD;AAAA,wBACF,mBAoCE,OApCF;AAAA,UAAK,WAAU;AAAA,UAAf,UAoCE;AAAA,4BAnCA,kBAAC,OAAD;AAAA,cACE,KAAK,QAAQ;AAAA,cACb,KAAK,QAAQ,OAAO;AAAA,cACpB,WAAU;AAAA,aACZ;AAAA,YAEC,+BACC;AAAA,wBA0BE;AAAA,gCAzBA,mBAUE,UAVF;AAAA,kBACE,MAAK;AAAA,kBACL,SAAS;AAAA,kBACT,WAAW,GACT,oFACA,6GACF;AAAA,kBANF,UAUE;AAAA,oCAFA,kBAAC,mCAAD;AAAA,sBAAa,WAAU;AAAA,qBAAU;AAAA,oCACjC,kBAA0C,QAA1C;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAA0C;AAAA;AAAA,iBAC1C;AAAA,gCACF,mBAUE,UAVF;AAAA,kBACE,MAAK;AAAA,kBACL,SAAS;AAAA,kBACT,WAAW,GACT,qFACA,6GACF;AAAA,kBANF,UAUE;AAAA,oCAFA,kBAAC,oCAAD;AAAA,sBAAc,WAAU;AAAA,qBAAU;AAAA,oCAClC,kBAAsC,QAAtC;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAAsC;AAAA;AAAA,iBACtC;AAAA,gCACF,mBAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAEE;AAAA,oBADC,eAAe;AAAA,oBADlB;AAAA,oBACwB,OAAO;AAAA;AAAA,iBAC7B;AAAA;AAAA,aACF;AAAA;AAAA,SAEJ;AAAA;AAAA,KACF;AAAA,GACF;AAAA;;AC3FoC,IAA1C;AAyBO,IAAM,wBAAwB,4BAAiD,IAAI;AACnF,IAAM,6BAA6B,4BAAyC,IAAI;AAChF,IAAM,0BAA0B,4BAAyC,IAAI;AAE7E,IAAM,2BAA2B,MAAM;AAAA,EAC5C,MAAM,MAAM,yBAAW,qBAAqB;AAAA,EAC5C,IAAI,CAAC,KAAK;AAAA,IACR,MAAM,IAAI,MAAM,qFAAqF;AAAA,EACvG;AAAA,EACA,OAAO;AAAA;AAGF,IAAM,mCAAmC,MAAM,yBAAW,qBAAqB;AAE/E,IAAM,yBAAyB,MAAM;AAAA,EAC1C,MAAM,MAAM,yBAAW,0BAA0B;AAAA,EACjD,IAAI,CAAC,KAAK;AAAA,IACR,MAAM,IAAI,MAAM,mFAAmF;AAAA,EACrG;AAAA,EACA,OAAO;AAAA;AAGF,IAAM,iCAAiC,MAAM,yBAAW,0BAA0B;AAElF,IAAM,4BAA4B,MAAM;AAAA,EAC7C,MAAM,WAAW,+BAA+B;AAAA,EAChD,MAAM,QAAQ,yBAAW,uBAAuB;AAAA,EAChD,MAAM,UAAU,YAAY;AAAA,EAC5B,IAAI,CAAC,SAAS;AAAA,IACZ,MAAM,IAAI,MAAM,oFAAoF;AAAA,EACtG;AAAA,EACA,OAAO;AAAA;AAOF,IAAM,kBAAkB,4BAAoC,EAAE,gBAAgB,MAAM,CAAC;AAErF,IAAM,yBAAyB,MAAM,yBAAW,eAAe;;AChEf,IAAvD;;AAKA,SAAS,UAAU,GAAW;AAAA,EAC5B,IAAI,OAAO,WAAW,eAAe,OAAO,OAAO,eAAe,YAAY;AAAA,IAC5E,OAAO,OAAO,WAAW;AAAA,EAC3B;AAAA,EACA,OAAO,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,SAAS,EAAE;AAAA;AAO9D,SAAS,mBAAmB,GAAG,cAAc,mBAAmB,IAAI,YAAsC;AAAA,EAC/G,OAAO,WAAW,gBAAgB,uBAAS,gBAAgB;AAAA,EAC3D,MAAM,aAAa,0BAAY,MAAM,aAAa,EAAE,GAAG,CAAC,CAAC;AAAA,EAEzD,OAAO,WAAW,gBAAgB,uBAA8C,CAAC,CAAC;AAAA,EAClF,MAAM,eAAe,qBAAgC,IAAI;AAAA,EACzD,MAAM,UAAU,qBAAmB,MAAM,EAAE;AAAA,EAE3C,MAAM,MAAM,0BAAY,CAAC,UAA6B;AAAA,IACpD,MAAM,WAAW,MAAM,KAAK,KAAK;AAAA,IACjC,IAAI,SAAS,WAAW;AAAA,MAAG;AAAA,IAE3B,aAAa,CAAC,SACZ,KAAK,OACH,SAAS,IAAI,CAAC,UAAU;AAAA,MACtB,IAAI,WAAW;AAAA,MACf,MAAM;AAAA,MACN,KAAK,IAAI,gBAAgB,IAAI;AAAA,MAC7B,WAAW,KAAK;AAAA,MAChB,UAAU,KAAK;AAAA,IACjB,EAAE,CACJ,CACF;AAAA,KACC,CAAC,CAAC;AAAA,EAEL,MAAM,SAAS,0BAAY,CAAC,OAAe;AAAA,IACzC,aAAa,CAAC,SAAS;AAAA,MACrB,MAAM,QAAQ,KAAK,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE;AAAA,MAC1C,IAAI,OAAO;AAAA,QAAK,IAAI,gBAAgB,MAAM,GAAG;AAAA,MAC7C,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;AAAA,KACtC;AAAA,KACA,CAAC,CAAC;AAAA,EAEL,MAAM,QAAQ,0BAAY,MAAM;AAAA,IAC9B,aAAa,CAAC,SAAS;AAAA,MACrB,WAAW,KAAK;AAAA,QAAM,IAAI,EAAE;AAAA,UAAK,IAAI,gBAAgB,EAAE,GAAG;AAAA,MAC1D,OAAO,CAAC;AAAA,KACT;AAAA,KACA,CAAC,CAAC;AAAA,EAEL,MAAM,iBAAiB,0BAAY,MAAM;AAAA,IACvC,QAAQ,UAAU;AAAA,KACjB,CAAC,CAAC;AAAA,EAEL,MAAM,cAAc,sBAClB,OAAO;AAAA,IACL,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IACA,CAAC,WAAW,KAAK,QAAQ,OAAO,cAAc,CAChD;AAAA,EAEA,MAAM,sBAAsB,0BAC1B,CAAC,KAAyC,SAAqB;AAAA,IAC7D,aAAa,UAAU,IAAI;AAAA,IAC3B,QAAQ,UAAU;AAAA,KAEpB,CAAC,CACH;AAAA,EAEA,MAAM,aAAa,sBACjB,OAAO;AAAA,IACL,WAAW,EAAE,OAAO,WAAW,UAAU,cAAc,OAAO,WAAW;AAAA,IACzE;AAAA,IACA;AAAA,EACF,IACA,CAAC,WAAW,YAAY,aAAa,mBAAmB,CAC1D;AAAA,EAEA,uBACE,kBAEE,sBAAsB,UAFxB;AAAA,IAAgC,OAAO;AAAA,IAAvC,0BACE,kBAAqE,2BAA2B,UAAhG;AAAA,MAAqC,OAAO;AAAA,MAA5C;AAAA,KAAqE;AAAA,GACrE;AAAA;;ACzF4D,IAAlE;;AAIA,SAAS,WAAU,GAAW;AAAA,EAC5B,IAAI,OAAO,WAAW,eAAe,OAAO,OAAO,eAAe,YAAY;AAAA,IAC5E,OAAO,OAAO,WAAW;AAAA,EAC3B;AAAA,EACA,OAAO,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,SAAS,EAAE;AAAA;AAoB9D,IAAM,cAAc;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,KACG;AAAA,MACmB;AAAA,EACtB,MAAM,aAAa,iCAAiC;AAAA,EACpD,MAAM,gBAAgB,CAAC,CAAC;AAAA,EAExB,MAAM,WAAW,qBAAgC,IAAI;AAAA,EACrD,MAAM,UAAU,qBAA+B,IAAI;AAAA,EAEnD,OAAO,OAAO,YAAY,uBAA8C,CAAC,CAAC;AAAA,EAC1E,MAAM,QAAQ,gBAAgB,WAAW,YAAY,QAAQ;AAAA,EAE7D,OAAO,gBAAgB,qBAAqB,uBAAS,KAAK;AAAA,EAC1D,MAAM,cAAc,qBAAO,CAAC;AAAA,EAE5B,MAAM,sBAAsB,0BAAY,MAAM;AAAA,IAC5C,SAAS,SAAS,MAAM;AAAA,KACvB,CAAC,CAAC;AAAA,EAEL,MAAM,gBAAgB,0BACpB,CAAC,MAAY;AAAA,IACX,IAAI,CAAC,UAAU,OAAO,KAAK,MAAM;AAAA,MAAI,OAAO;AAAA,IAC5C,MAAM,WAAW,OAAO,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,OAAO;AAAA,IACtE,WAAW,WAAW,UAAU;AAAA,MAC9B,IAAI,QAAQ,SAAS,IAAI,GAAG;AAAA,QAC1B,MAAM,SAAS,QAAQ,MAAM,GAAG,EAAE;AAAA,QAClC,IAAI,EAAE,KAAK,WAAW,MAAM;AAAA,UAAG,OAAO;AAAA,MACxC,EAAO,SAAI,QAAQ,WAAW,GAAG,GAAG;AAAA,QAClC,MAAM,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,GAAG,EAAE,IAAI;AAAA,QAChD,IAAI,OAAO,IAAI,UAAU,QAAQ,YAAY;AAAA,UAAG,OAAO;AAAA,MACzD,EAAO,SAAI,EAAE,SAAS,SAAS;AAAA,QAC7B,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,OAAO;AAAA,KAET,CAAC,MAAM,CACT;AAAA,EAEA,MAAM,WAAW,0BACf,CAAC,aAAgC;AAAA,IAC/B,MAAM,WAAW,MAAM,KAAK,QAAQ;AAAA,IACpC,MAAM,WAAW,SAAS,OAAO,CAAC,MAAM,cAAc,CAAC,CAAC;AAAA,IACxD,IAAI,SAAS,UAAU,SAAS,WAAW,GAAG;AAAA,MAC5C,UAAU,EAAE,MAAM,UAAU,SAAS,qCAAqC,CAAC;AAAA,MAC3E;AAAA,IACF;AAAA,IACA,MAAM,aAAa,CAAC,MAAa,cAAc,EAAE,QAAQ,cAAc;AAAA,IACvE,MAAM,QAAQ,SAAS,OAAO,UAAU;AAAA,IACxC,IAAI,SAAS,SAAS,KAAK,MAAM,WAAW,GAAG;AAAA,MAC7C,UAAU,EAAE,MAAM,iBAAiB,SAAS,qCAAqC,CAAC;AAAA,MAClF;AAAA,IACF;AAAA,IAEA,SAAS,CAAC,SAAS;AAAA,MACjB,MAAM,WAAW,OAAO,aAAa,WAAW,KAAK,IAAI,GAAG,WAAW,KAAK,MAAM,IAAI;AAAA,MACtF,MAAM,SAAS,OAAO,aAAa,WAAW,MAAM,MAAM,GAAG,QAAQ,IAAI;AAAA,MACzE,IAAI,OAAO,aAAa,YAAY,MAAM,SAAS,UAAU;AAAA,QAC3D,UAAU,EAAE,MAAM,aAAa,SAAS,uCAAuC,CAAC;AAAA,MAClF;AAAA,MACA,MAAM,OAA4C,CAAC;AAAA,MACnD,WAAW,QAAQ,QAAQ;AAAA,QACzB,KAAK,KAAK;AAAA,UACR,IAAI,YAAW;AAAA,UACf,MAAM;AAAA,UACN,KAAK,IAAI,gBAAgB,IAAI;AAAA,UAC7B,WAAW,KAAK;AAAA,UAChB,UAAU,KAAK;AAAA,QACjB,CAAC;AAAA,MACH;AAAA,MACA,OAAO,KAAK,OAAO,IAAI;AAAA,KACxB;AAAA,KAEH,CAAC,eAAe,UAAU,aAAa,OAAO,CAChD;AAAA,EAEA,MAAM,MAAM,gBACR,CAAC,aAAgC,WAAW,YAAY,IAAI,QAAQ,IACpE;AAAA,EAEJ,MAAM,SAAS,gBACX,CAAC,OAAe,WAAW,YAAY,OAAO,EAAE,IAChD,CAAC,OACC,SAAS,CAAC,SAAS;AAAA,IACjB,MAAM,QAAQ,KAAK,KAAK,CAAC,SAAS,KAAK,OAAO,EAAE;AAAA,IAChD,IAAI,OAAO;AAAA,MAAK,IAAI,gBAAgB,MAAM,GAAG;AAAA,IAC7C,OAAO,KAAK,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE;AAAA,GAC5C;AAAA,EAEP,MAAM,QAAQ,gBACV,MAAM,WAAW,YAAY,MAAM,IACnC,MACE,SAAS,CAAC,SAAS;AAAA,IACjB,WAAW,QAAQ;AAAA,MAAM,IAAI,KAAK;AAAA,QAAK,IAAI,gBAAgB,KAAK,GAAG;AAAA,IACnE,OAAO,CAAC;AAAA,GACT;AAAA,EAEP,MAAM,iBAAiB,gBACnB,MAAM,WAAW,YAAY,eAAe,IAC5C;AAAA,EAEJ,wBAAU,MAAM;AAAA,IACd,IAAI,CAAC;AAAA,MAAe;AAAA,IACpB,WAAW,oBAAoB,UAAU,MAAM,SAAS,SAAS,MAAM,CAAC;AAAA,KACvE,CAAC,eAAe,UAAU,CAAC;AAAA,EAE9B,wBAAU,MAAM;AAAA,IACd,IAAI,mBAAmB,SAAS,WAAW,MAAM,WAAW,GAAG;AAAA,MAC7D,SAAS,QAAQ,QAAQ;AAAA,IAC3B;AAAA,KACC,CAAC,OAAO,eAAe,CAAC;AAAA,EAE3B,wBAAU,MAAM;AAAA,IACd,IAAI;AAAA,MAAY;AAAA,IAChB,MAAM,OAAO,QAAQ;AAAA,IACrB,IAAI,CAAC;AAAA,MAAM;AAAA,IAEX,MAAM,aAAa,CAAC,MAAiB;AAAA,MACnC,IAAI,EAAE,cAAc,OAAO,SAAS,OAAO;AAAA,QAAG,EAAE,eAAe;AAAA;AAAA,IAEjE,MAAM,cAAc,CAAC,MAAiB;AAAA,MACpC,IAAI,EAAE,cAAc,OAAO,SAAS,OAAO,GAAG;AAAA,QAC5C,EAAE,eAAe;AAAA,QACjB,YAAY;AAAA,QACZ,IAAI,YAAY,YAAY;AAAA,UAAG,kBAAkB,IAAI;AAAA,MACvD;AAAA;AAAA,IAEF,MAAM,cAAc,CAAC,OAAkB;AAAA,MACrC,YAAY;AAAA,MACZ,IAAI,YAAY,YAAY;AAAA,QAAG,kBAAkB,KAAK;AAAA;AAAA,IAExD,MAAM,SAAS,CAAC,MAAiB;AAAA,MAC/B,IAAI,EAAE,cAAc,OAAO,SAAS,OAAO;AAAA,QAAG,EAAE,eAAe;AAAA,MAC/D,YAAY,UAAU;AAAA,MACtB,kBAAkB,KAAK;AAAA,MACvB,IAAI,EAAE,cAAc,SAAS,EAAE,aAAa,MAAM,SAAS;AAAA,QAAG,IAAI,EAAE,aAAa,KAAK;AAAA;AAAA,IAExF,KAAK,iBAAiB,YAAY,UAAU;AAAA,IAC5C,KAAK,iBAAiB,aAAa,WAAW;AAAA,IAC9C,KAAK,iBAAiB,aAAa,WAAW;AAAA,IAC9C,KAAK,iBAAiB,QAAQ,MAAM;AAAA,IACpC,OAAO,MAAM;AAAA,MACX,KAAK,oBAAoB,YAAY,UAAU;AAAA,MAC/C,KAAK,oBAAoB,aAAa,WAAW;AAAA,MACjD,KAAK,oBAAoB,aAAa,WAAW;AAAA,MACjD,KAAK,oBAAoB,QAAQ,MAAM;AAAA;AAAA,KAExC,CAAC,KAAK,UAAU,CAAC;AAAA,EAEpB,wBAAU,MAAM;AAAA,IACd,IAAI,CAAC;AAAA,MAAY;AAAA,IAEjB,MAAM,SAAS,oBAAoB,WAAW;AAAA,IAE9C,MAAM,aAAa,CAAC,MAAiB;AAAA,MACnC,IAAI,EAAE,cAAc,OAAO,SAAS,OAAO;AAAA,QAAG,EAAE,eAAe;AAAA;AAAA,IAEjE,MAAM,cAAc,CAAC,MAAiB;AAAA,MACpC,IAAI,EAAE,cAAc,OAAO,SAAS,OAAO,GAAG;AAAA,QAC5C,EAAE,eAAe;AAAA,QACjB,YAAY;AAAA,QACZ,IAAI,YAAY,YAAY;AAAA,UAAG,kBAAkB,IAAI;AAAA,MACvD;AAAA;AAAA,IAEF,MAAM,cAAc,CAAC,OAAkB;AAAA,MACrC,YAAY;AAAA,MACZ,IAAI,YAAY,YAAY;AAAA,QAAG,kBAAkB,KAAK;AAAA;AAAA,IAExD,MAAM,SAAS,CAAC,MAAiB;AAAA,MAC/B,IAAI,EAAE,cAAc,OAAO,SAAS,OAAO;AAAA,QAAG,EAAE,eAAe;AAAA,MAC/D,YAAY,UAAU;AAAA,MACtB,kBAAkB,KAAK;AAAA,MACvB,IAAI,EAAE,cAAc,SAAS,EAAE,aAAa,MAAM,SAAS;AAAA,QAAG,IAAI,EAAE,aAAa,KAAK;AAAA;AAAA,IAExF,OAAO,iBAAiB,YAAY,UAA2B;AAAA,IAC/D,OAAO,iBAAiB,aAAa,WAA4B;AAAA,IACjE,OAAO,iBAAiB,aAAa,WAA4B;AAAA,IACjE,OAAO,iBAAiB,QAAQ,MAAuB;AAAA,IACvD,OAAO,MAAM;AAAA,MACX,OAAO,oBAAoB,YAAY,UAA2B;AAAA,MAClE,OAAO,oBAAoB,aAAa,WAA4B;AAAA,MACpE,OAAO,oBAAoB,aAAa,WAA4B;AAAA,MACpE,OAAO,oBAAoB,QAAQ,MAAuB;AAAA;AAAA,KAE3D,CAAC,KAAK,YAAY,kBAAkB,CAAC;AAAA,EAExC,MAAM,WAAW,qBAAO,KAAK;AAAA,EAC7B,SAAS,UAAU;AAAA,EAEnB,wBACE,MAAM,MAAM;AAAA,IACV,IAAI,CAAC,eAAe;AAAA,MAClB,WAAW,KAAK,SAAS;AAAA,QAAS,IAAI,EAAE;AAAA,UAAK,IAAI,gBAAgB,EAAE,GAAG;AAAA,IACxE;AAAA,KAEF,CAAC,aAAa,CAChB;AAAA,EAEA,MAAM,eAAqD,CAAC,UAAU;AAAA,IACpE,IAAI,MAAM,cAAc;AAAA,MAAO,IAAI,MAAM,cAAc,KAAK;AAAA;AAAA,EAG9D,MAAM,0BAA0B,OAAO,QAAiC;AAAA,IACtE,MAAM,WAAW,MAAM,MAAM,GAAG;AAAA,IAChC,MAAM,OAAO,MAAM,SAAS,KAAK;AAAA,IACjC,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,MACtC,MAAM,SAAS,IAAI;AAAA,MACnB,OAAO,YAAY,MAAM,QAAQ,OAAO,MAAgB;AAAA,MACxD,OAAO,UAAU;AAAA,MACjB,OAAO,cAAc,IAAI;AAAA,KAC1B;AAAA;AAAA,EAGH,MAAM,MAAM,sBACV,OAAO;AAAA,IACL,OAAO,MAAM,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,KAAK,GAAG,EAAE;AAAA,IACrD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,EAChB,IACA,CAAC,OAAO,KAAK,QAAQ,OAAO,cAAc,CAC5C;AAAA,EAEA,MAAM,eAAkD,CAAC,UAAU;AAAA,IACjE,MAAM,eAAe;AAAA,IAErB,MAAM,OAAO,MAAM;AAAA,IACnB,MAAM,OAAO,gBACT,WAAW,UAAU,SACpB,MAAM;AAAA,MACL,MAAM,WAAW,IAAI,SAAS,IAAI;AAAA,MAClC,OAAQ,SAAS,IAAI,SAAS,KAAgB;AAAA,OAC7C;AAAA,IAEP,IAAI,CAAC;AAAA,MAAe,KAAK,MAAM;AAAA,IAE/B,QAAQ,IACN,MAAM,IAAI,SAAS,OAAO,WAAW;AAAA,MACnC,IAAI,KAAK,OAAO,KAAK,IAAI,WAAW,OAAO,GAAG;AAAA,QAC5C,OAAO,KAAK,MAAM,KAAK,MAAM,wBAAwB,KAAK,GAAG,EAAE;AAAA,MACjE;AAAA,MACA,OAAO;AAAA,KACR,CACH,EAAE,KAAK,CAAC,mBAAqC;AAAA,MAC3C,IAAI;AAAA,QACF,MAAM,SAAS,SAAS,EAAE,MAAM,OAAO,eAAe,GAAG,KAAK;AAAA,QAC9D,IAAI,kBAAkB,SAAS;AAAA,UAC7B,OACG,KAAK,MAAM;AAAA,YACV,MAAM;AAAA,YACN,IAAI;AAAA,cAAe,WAAW,UAAU,MAAM;AAAA,WAC/C,EACA,MAAM,MAAM,EAAE;AAAA,QACnB,EAAO;AAAA,UACL,MAAM;AAAA,UACN,IAAI;AAAA,YAAe,WAAW,UAAU,MAAM;AAAA;AAAA,QAEhD,MAAM;AAAA,KAGT;AAAA;AAAA,EAGH,MAAM,gBAAgB,sBAAQ,OAAO,EAAE,eAAe,IAAI,CAAC,cAAc,CAAC;AAAA,EAE1E,MAAM,wBACJ,kBAcE,gBAAgB,UAdlB;AAAA,IAA0B,OAAO;AAAA,IAAjC,0BACE,mBAYE,QAZF;AAAA,MAAM,WAAW,GAAG,mBAAmB,SAAS;AAAA,MAAG,UAAU;AAAA,MAAc,KAAK;AAAA,SAAa;AAAA,MAA7F,UAYE;AAAA,wBAXA,kBAAC,SAAD;AAAA,UACE;AAAA,UACA,cAAW;AAAA,UACX,WAAU;AAAA,UACV;AAAA,UACA,UAAU;AAAA,UACV,KAAK;AAAA,UACL,OAAM;AAAA,UACN,MAAK;AAAA,SACP;AAAA,wBACA,kBAAwB,YAAxB;AAAA;AAAA,SAAwB;AAAA;AAAA,KACxB;AAAA,GACF;AAAA,EAGJ,OAAO,gBAAgB,wBAAQ,kBAAuD,wBAAwB,UAA/E;AAAA,IAAkC,OAAO;AAAA,IAAzC,UAA+C;AAAA,GAAQ;AAAA;;ACrU/D,IAAzB;;AAKO,IAAM,sBAAsB;AAAA,EACjC;AAAA,EACA;AAAA,EACA,cAAc;AAAA,KACX;AAAA,MAC2B;AAAA,EAC9B,MAAM,aAAa,iCAAiC;AAAA,EACpD,MAAM,cAAc,0BAA0B;AAAA,EAC9C,OAAO,aAAa,kBAAkB,wBAAS,KAAK;AAAA,EAEpD,MAAM,gBAA2D,CAAC,MAAM;AAAA,IACtE,IAAI,EAAE,QAAQ,SAAS;AAAA,MACrB,IAAI,eAAe,EAAE,YAAY;AAAA,QAAa;AAAA,MAC9C,IAAI,EAAE;AAAA,QAAU;AAAA,MAChB,EAAE,eAAe;AAAA,MACjB,EAAE,cAAc,MAAM,cAAc;AAAA,IACtC;AAAA,IAEA,IAAI,EAAE,QAAQ,eAAe,EAAE,cAAc,UAAU,MAAM,YAAY,MAAM,SAAS,GAAG;AAAA,MACzF,EAAE,eAAe;AAAA,MACjB,MAAM,iBAAiB,YAAY,MAAM,GAAG,EAAE;AAAA,MAC9C,IAAI;AAAA,QAAgB,YAAY,OAAO,eAAe,EAAE;AAAA,IAC1D;AAAA;AAAA,EAGF,MAAM,cAA0D,CAAC,UAAU;AAAA,IACzE,MAAM,QAAQ,MAAM,eAAe;AAAA,IACnC,IAAI,CAAC;AAAA,MAAO;AAAA,IAEZ,MAAM,QAAgB,CAAC;AAAA,IACvB,WAAW,QAAQ,OAAO;AAAA,MACxB,IAAI,KAAK,SAAS,QAAQ;AAAA,QACxB,MAAM,OAAO,KAAK,UAAU;AAAA,QAC5B,IAAI;AAAA,UAAM,MAAM,KAAK,IAAI;AAAA,MAC3B;AAAA,IACF;AAAA,IAEA,IAAI,MAAM,SAAS,GAAG;AAAA,MACpB,MAAM,eAAe;AAAA,MACrB,YAAY,IAAI,KAAK;AAAA,IACvB;AAAA;AAAA,EAGF,MAAM,kBAAkB,aACpB;AAAA,IACE,OAAO,WAAW,UAAU;AAAA,IAC5B,UAAU,CAAC,MAAwC;AAAA,MACjD,WAAW,UAAU,SAAS,EAAE,cAAc,KAAK;AAAA,MACnD,WAAW,CAAC;AAAA;AAAA,EAEhB,IACA,EAAE,SAAS;AAAA,EAEf,uBACE,kBAAC,oBAAD;AAAA,IACE,WAAW,GAAG,6CAA6C,SAAS;AAAA,IACpE,MAAM;AAAA,IACN,MAAK;AAAA,IACL,kBAAkB,MAAM,eAAe,KAAK;AAAA,IAC5C,oBAAoB,MAAM,eAAe,IAAI;AAAA,IAC7C,WAAW;AAAA,IACX,SAAS;AAAA,IACT;AAAA,OACI;AAAA,OACA;AAAA,GACN;AAAA;;ACrEqD,IAAzD;AAEyB,IAAzB;;AASO,SAAS,qBAAqB,GAAG,MAAM,cAAc,SAAqC;AAAA,EAC/F,MAAM,cAAc,0BAA0B;AAAA,EAE9C,MAAM,WAAW,KAAK,YAAY;AAAA,EAClC,MAAM,UAAU,KAAK,WAAW,WAAW,QAAQ,KAAK,KAAK;AAAA,EAC7D,MAAM,UAAU,KAAK,WAAW,WAAW,QAAQ;AAAA,EACnD,MAAM,kBAAkB,aAAa,UAAU,UAAU,UAAU,UAAU;AAAA,EAE7E,uBACE,mBA6DE,WA7DF;AAAA,IAAW,WAAW;AAAA,IAAG,YAAY;AAAA,IAArC,UA6DE;AAAA,sBA5DA,kBAuCE,kBAvCF;AAAA,QAAkB,SAAO;AAAA,QAAzB,0BACE,mBAqCE,OArCF;AAAA,UACE,WAAW,GACT,0NACA,SACF;AAAA,aAEI;AAAA,UANN,UAqCE;AAAA,4BA7BA,mBA2BE,OA3BF;AAAA,cAAK,WAAU;AAAA,cAAf,UA2BE;AAAA,gCA1BA,kBAYE,OAZF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UACG,0BACC,kBAAC,OAAD;AAAA,oBAAK,KAAK,YAAY;AAAA,oBAAc,WAAU;AAAA,oBAAsB,QAAQ;AAAA,oBAAI,KAAK,KAAK;AAAA,oBAAK,OAAO;AAAA,mBAAI,IACxG,0BACF,kBAEE,OAFF;AAAA,oBAAK,WAAU;AAAA,oBAAf,0BACE,kBAAC,+BAAD;AAAA,sBAAS,WAAU;AAAA,qBAAS;AAAA,mBAC5B,oBAEF,kBAEE,OAFF;AAAA,oBAAK,WAAU;AAAA,oBAAf,0BACE,kBAAC,qCAAD;AAAA,sBAAe,WAAU;AAAA,qBAAS;AAAA,mBAClC;AAAA,iBAEJ;AAAA,gCACF,mBAYE,QAZF;AAAA,kBACE,cAAW;AAAA,kBACX,WAAU;AAAA,kBACV,SAAS,CAAC,MAAM;AAAA,oBACd,EAAE,gBAAgB;AAAA,oBAClB,YAAY,OAAO,KAAK,EAAE;AAAA;AAAA,kBAE5B,MAAK;AAAA,kBACL,SAAQ;AAAA,kBARV,UAYE;AAAA,oCAFA,kBAAC,6BAAD,EAAO;AAAA,oCACP,kBAAkC,QAAlC;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAAkC;AAAA;AAAA,iBAClC;AAAA;AAAA,aACF;AAAA,4BACF,kBAAqD,QAArD;AAAA,cAAM,WAAU;AAAA,cAAhB,UAAmC;AAAA,aAAkB;AAAA;AAAA,WA/BhD,KAAK,EAgCV;AAAA,OACF;AAAA,sBACF,kBAmBE,kBAnBF;AAAA,QAAkB,OAAM;AAAA,QAAQ,WAAU;AAAA,QAA1C,0BACE,mBAiBE,OAjBF;AAAA,UAAK,WAAU;AAAA,UAAf,UAiBE;AAAA,YAhBC,2BACC,kBAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACE,kBAAC,OAAD;AAAA,gBAAK,KAAK,YAAY;AAAA,gBAAsB,WAAU;AAAA,gBAAuC,QAAQ;AAAA,gBAAK,KAAK,KAAK;AAAA,gBAAK,OAAO;AAAA,eAAK;AAAA,aACrI;AAAA,YAEH,WAAW,KAAK,uBACf,kBAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACE,kBAAC,SAAD;AAAA,gBAAO,KAAK,KAAK;AAAA,gBAAK,UAAQ;AAAA,gBAAC,WAAU;AAAA,eAAS;AAAA,aAClD;AAAA,4BAEJ,kBAKE,OALF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACE,mBAGE,OAHF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAGE;AAAA,kCAFA,kBAA8G,MAA9G;AAAA,oBAAI,WAAU;AAAA,oBAAd,UAA6D,aAAa,UAAU,UAAU;AAAA,mBAAgB;AAAA,kBAC7G,KAAK,6BAAa,kBAAkF,KAAlF;AAAA,oBAAG,WAAU;AAAA,oBAAb,UAAiE,KAAK;AAAA,mBAAY;AAAA;AAAA,eACrG;AAAA,aACF;AAAA;AAAA,SACF;AAAA,OACF;AAAA;AAAA,GACF;AAAA;AAQC,SAAS,sBAAsB,GAAG,YAAyC;AAAA,EAChF,MAAM,cAAc,0BAA0B;AAAA,EAC9C,IAAI,CAAC,YAAY,MAAM;AAAA,IAAQ,OAAO;AAAA,EACtC,OAAO,YAAY,MAAM,IAAI,CAAC,yBAAS,kBAA0C,yBAA1C;AAAA,cAAyB,SAAS,IAAI;AAAA,KAAvB,KAAK,EAAsB,CAAS;AAAA;AAOrF,IAAM,kCAAkC;AAAA,EAC7C,QAAQ;AAAA,KACL;AAAA,MACuC;AAAA,EAC1C,MAAM,cAAc,0BAA0B;AAAA,EAE9C,uBACE,mBAOE,kBAPF;AAAA,OACM;AAAA,IACJ,UAAU,MAAM;AAAA,MACd,YAAY,eAAe;AAAA;AAAA,IAH/B,UAOE;AAAA,sBADA,kBAAC,iCAAD;AAAA,QAAW,WAAU;AAAA,OAAc;AAAA,MANrC;AAAA,MAMyC;AAAA;AAAA,GACvC;AAAA;;;AC/GC,IAAM,kBAAkB,GAAG,cAAc,4BAC9C,kBAAC,OAAD;AAAA,EAAK,WAAW,GAAG,YAAY,SAAS;AAAA,KAAO;AAAA,CAAO;AAKjD,IAAM,oBAAoB,GAAG,cAAc,4BAChD,kBAAC,iBAAD;AAAA,EAAiB,OAAM;AAAA,EAAc,WAAW,GAAG,0CAA0C,SAAS;AAAA,KAAO;AAAA,CAAO;AAK/G,IAAM,oBAAoB,GAAG,cAAc,4BAChD,kBAAC,iBAAD;AAAA,EAAiB,OAAM;AAAA,EAAY,WAAW,GAAG,yBAAyB,SAAS;AAAA,KAAO;AAAA,CAAO;AAK5F,IAAM,mBAAmB,GAAG,cAAc,4BAC/C,kBAAC,OAAD;AAAA,EAAK,WAAW,GAAG,2BAA2B,SAAS;AAAA,KAAO;AAAA,CAAO;;ACjBJ,IAAnE;AAC8C,IAA9C;AAAA;AAKO,IAAM,oBAAoB;AAAA,EAC/B,UAAU;AAAA,EACV;AAAA,EACA;AAAA,KACG;AAAA,MACyB;AAAA,EAC5B,MAAM,UAAU,SAAS,wBAAS,MAAM,MAAM,QAAQ,IAAI,IAAI,OAAO;AAAA,EAErE,uBAAO,kBAAC,kBAAD;AAAA,IAAkB,WAAW,GAAG,SAAS;AAAA,IAAG,MAAM;AAAA,IAAS,MAAK;AAAA,IAAS;AAAA,OAAsB;AAAA,GAAO;AAAA;AAOxG,IAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AAAA,EACP;AAAA,EACA;AAAA,KACG;AAAA,MACyB;AAAA,EAC5B,IAAI,wBAAO,kBAAC,gCAAD;AAAA,IAAU,WAAU;AAAA,GAAS;AAAA,EAExC,IAAI,WAAW,aAAa;AAAA,IAC1B,wBAAO,kBAAC,mCAAD;AAAA,MAAa,WAAU;AAAA,KAAsB;AAAA,EACtD,EAAO,SAAI,WAAW,aAAa;AAAA,IACjC,wBAAO,kBAAC,kCAAD;AAAA,MAAY,WAAU;AAAA,KAAS;AAAA,EACxC,EAAO,SAAI,WAAW,SAAS;AAAA,IAC7B,wBAAO,kBAAC,6BAAD;AAAA,MAAO,WAAU;AAAA,KAAS;AAAA,EACnC;AAAA,EAEA,uBACE,kBAEE,kBAFF;AAAA,IAAkB,cAAW;AAAA,IAAS,WAAW,GAAG,SAAS;AAAA,IAAG;AAAA,IAAY,MAAK;AAAA,IAAS;AAAA,OAAsB;AAAA,IAAhH,UACG,YAAY;AAAA,GACb;AAAA;AAKC,IAAM,wBAAwB,CAAC,0BAAsC,kBAAC,cAAD;AAAA,KAAkB;AAAA,CAAO;AAI9F,IAAM,+BAA+B;AAAA,EAC1C;AAAA,EACA;AAAA,KACG;AAAA,sBAEH,kBAIE,qBAJF;AAAA,EAAqB,SAAO;AAAA,EAA5B,0BACE,kBAEE,mBAFF;AAAA,IAAmB;AAAA,OAA0B;AAAA,IAA7C,UACG,4BAAY,kBAAC,gCAAD;AAAA,MAAU,WAAU;AAAA,KAAS;AAAA,GAC1C;AAAA,CACF;AAIG,IAAM,+BAA+B;AAAA,EAC1C;AAAA,KACG;AAAA,sBACoC,kBAAC,qBAAD;AAAA,EAAqB,OAAM;AAAA,EAAQ,WAAW,GAAG,SAAS;AAAA,KAAO;AAAA,CAAO;AAG1G,IAAM,4BAA4B;AAAA,EACvC;AAAA,KACG;AAAA,sBACiC,kBAAC,kBAAD;AAAA,EAAkB,WAAW,GAAG,SAAS;AAAA,KAAO;AAAA,CAAO;;ACjFtE,IAAvB;AAC6B,IAA7B;;AAUO,IAAM,sBAAsB;AAAA,EACjC,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,KACG;AAAA,MAC2B;AAAA,EAC9B,QAAQ,mBAAmB,uBAAuB;AAAA,EAElD,MAAM,0BACJ,mBAeE,OAfF;AAAA,IACE,WAAW,GACT,6CACA,mDACA,oDACA,iDACA,mCACA,iBAAiB,gBAAgB,aACjC,SACF;AAAA,IACA,eAAa,CAAC;AAAA,OACV;AAAA,IAXN,UAeE;AAAA,sBAFA,kBAAC,8BAAD;AAAA,QAAQ,WAAU;AAAA,OAAU;AAAA,sBAC5B,kBAAoD,QAApD;AAAA,QAAM,WAAU;AAAA,QAAhB,UAA4C;AAAA,OAAQ;AAAA;AAAA,GACpD;AAAA,EAGJ,IAAI,WAAW,SAAS;AAAA,IACtB,OAAO,8BAAa,SAAS,UAAU,OAAO;AAAA,EAChD;AAAA,EAEA,OAAO;AAAA;;ACzCe,IAAxB;AAEyD,IAAzD;;AAsDO,IAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA,OAAO;AAAA,KACJ;AAAA,MAC+B;AAAA,EAClC,OAAO,aAAa,kBAAkB,wBAAS,KAAK;AAAA,EACpD,OAAO,aAAa,kBAAkB,wBAAmC,IAAI;AAAA,EAC7E,MAAM,iBAAiB,sBAAiC,IAAI;AAAA,EAC5D,MAAM,2BAA2B,sBAAO,qBAAqB;AAAA,EAC7D,yBAAyB,UAAU;AAAA,EACnC,MAAM,aAAa,iCAAiC;AAAA,EAEpD,yBAAU,MAAM;AAAA,IACd,IAAI,OAAO,WAAW,iBAAgB,uBAAuB,YAAU,6BAA6B,UAAS;AAAA,MAC3G,MAAM,wBAAwB,OAAO,qBAAqB,OAAO;AAAA,MACjE,MAAM,oBAAoB,IAAI;AAAA,MAE9B,kBAAkB,aAAa;AAAA,MAC/B,kBAAkB,iBAAiB;AAAA,MACnC,kBAAkB,OAAO;AAAA,MAEzB,kBAAkB,UAAU,MAAM,eAAe,IAAI;AAAA,MACrD,kBAAkB,QAAQ,MAAM,eAAe,KAAK;AAAA,MAEpD,kBAAkB,WAAW,CAAC,UAAU;AAAA,QACtC,IAAI,kBAAkB;AAAA,QACtB,MAAM,UAAU,MAAM,KAAK,MAAM,OAAO;AAAA,QACxC,WAAW,UAAU,SAAS;AAAA,UAC5B,IAAI,OAAO;AAAA,YAAS,mBAAmB,OAAO,IAAI,cAAc;AAAA,QAClE;AAAA,QACA,IAAI,iBAAiB;AAAA,UACnB,IAAI,YAAY;AAAA,YACd,MAAM,UAAU,WAAW,UAAU;AAAA,YACrC,MAAM,WAAW,WAAW,UAAU,MAAM,MAAM;AAAA,YAClD,WAAW,UAAU,SAAS,QAAQ;AAAA,UACxC;AAAA,UACA,yBAAyB,UAAU,eAAe;AAAA,QACpD;AAAA;AAAA,MAGF,kBAAkB,UAAU,CAAC,UAAU;AAAA,QACrC,QAAQ,MAAM,6BAA6B,MAAM,KAAK;AAAA,QACtD,eAAe,KAAK;AAAA;AAAA,MAGtB,eAAe,UAAU;AAAA,MACzB,eAAe,iBAAiB;AAAA,IAClC;AAAA,IAEA,OAAO,MAAM;AAAA,MACX,IAAI,eAAe;AAAA,QAAS,eAAe,QAAQ,KAAK;AAAA;AAAA,KAEzD,CAAC,IAAI,CAAC;AAAA,EAET,MAAM,kBAAkB,2BAAY,MAAM;AAAA,IACxC,IAAI,CAAC;AAAA,MAAa;AAAA,IAClB,IAAI;AAAA,MAAa,YAAY,KAAK;AAAA,IAC7B;AAAA,kBAAY,MAAM;AAAA,KACtB,CAAC,aAAa,WAAW,CAAC;AAAA,EAE7B,uBACE,kBAWE,mBAXF;AAAA,IACE,WAAW,GACT,wCACA,eAAe,kDACf,SACF;AAAA,IACA,UAAU,CAAC;AAAA,IACX,SAAS;AAAA,OACL;AAAA,IARN,0BAUE,kBAAC,+BAAD;AAAA,MAAS,WAAU;AAAA,KAAS;AAAA,GAC5B;AAAA;;;AC7HC,IAAM,yBAAyB,CAAC,0BAAuC,kBAAC,QAAD;AAAA,KAAY;AAAA,CAAO;AAI1F,IAAM,gCAAgC;AAAA,EAC3C;AAAA,KACG;AAAA,sBAEH,kBAAC,eAAD;AAAA,EACE,WAAW,GACT,8FACA,uHACA,SACF;AAAA,KACI;AAAA,CACN;AAIK,IAAM,gCAAgC,GAAG,cAAc,4BAC5D,kBAAC,eAAD;AAAA,EAAe,WAAW,GAAG,SAAS;AAAA,KAAO;AAAA,CAAO;AAI/C,IAAM,6BAA6B,GAAG,cAAc,4BACzD,kBAAC,YAAD;AAAA,EAAY,WAAW,GAAG,SAAS;AAAA,KAAO;AAAA,CAAO;AAI5C,IAAM,8BAA8B,GAAG,cAAc,4BAC1D,kBAAC,aAAD;AAAA,EAAa,WAAW,GAAG,SAAS;AAAA,KAAO;AAAA,CAAO;;;AC/B7C,IAAM,sBAAsB,GAAG,cAAc,4BAClD,kBAAC,OAAD;AAAA,EAAK,WAAW,GAAG,SAAS;AAAA,KAAO;AAAA,CAAO;AAIrC,IAAM,iBAAiB,GAAG,cAAc,4BAC7C,kBAAC,OAAD;AAAA,EAAK,WAAW,GAAG,SAAS;AAAA,KAAO;AAAA,CAAO;AAIrC,IAAM,sBAAsB,GAAG,cAAc,4BAClD,kBAAC,MAAD;AAAA,EAAI,WAAW,GAAG,uDAAuD,SAAS;AAAA,KAAO;AAAA,CAAO;AAI3F,IAAM,qBAAqB,GAAG,cAAc,4BACjD,kBAAC,OAAD;AAAA,EAAK,WAAW,GAAG,aAAa,SAAS;AAAA,KAAO;AAAA,CAAO;AAIlD,IAAM,qBAAqB,GAAG,cAAc,4BACjD,kBAAC,OAAD;AAAA,EAAK,WAAW,GAAG,6DAA6D,SAAS;AAAA,KAAO;AAAA,CAAO;;;ACZlG,IAAM,qBAAqB,GAAG,cAAc,4BACjD,kBAAC,SAAD;AAAA,EAAS,WAAW,GAAG,SAAS;AAAA,KAAO;AAAA,CAAO;AAIzC,IAAM,0BAA0B,GAAG,cAAc,4BACtD,kBAAC,cAAD;AAAA,EAAc,WAAW,GAAG,SAAS;AAAA,KAAO;AAAA,CAAO;AAI9C,IAAM,yBAAyB,GAAG,cAAc,4BACrD,kBAAC,aAAD;AAAA,EAAa,WAAW,GAAG,SAAS;AAAA,KAAO;AAAA,CAAO;AAI7C,IAAM,0BAA0B,GAAG,cAAc,4BACtD,kBAAC,cAAD;AAAA,EAAc,WAAW,GAAG,SAAS;AAAA,KAAO;AAAA,CAAO;AAI9C,IAAM,0BAA0B,GAAG,cAAc,4BACtD,kBAAC,cAAD;AAAA,EAAc,WAAW,GAAG,SAAS;AAAA,KAAO;AAAA,CAAO;AAI9C,IAAM,yBAAyB,GAAG,cAAc,4BACrD,kBAAC,aAAD;AAAA,EAAa,WAAW,GAAG,SAAS;AAAA,KAAO;AAAA,CAAO;AAI7C,IAAM,8BAA8B,GAAG,cAAc,4BAC1D,kBAAC,kBAAD;AAAA,EAAkB,WAAW,GAAG,SAAS;AAAA,KAAO;AAAA,CAAO;;AC5ChC,IAAzB;AAEqC,IAArC;AA0BO,IATP;AAAA;AA+CA,IAAM,yBAAyB;AAE/B,IAAM,eAAe,CAAC,SAA+D;AAAA,EACnF,OAAO,KAAK,kBAAkB,iBAAiB;AAAA;AAQ1C,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,yBAAyB;AAAA,EACzB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB;AAAA,EACA;AAAA,GACuB;AAAA,EACvB,MAAM,SAAS,QAAQ,SAAS;AAAA,EAChC,MAAM,WAAW,QAAQ;AAAA,EACzB,MAAM,cAAc,QAAQ,YAAY,OAAO,CAAC,SAAU,KAA2C,YAAY,KAAK,CAAC;AAAA,EAEvH,OAAO,SAAS,cAAc,wBAAuB,IAAI;AAAA,EAEzD,MAAM,oBAAoB,CAAC,CAAC;AAAA,EAC5B,MAAM,0BAA0B,mBAAmB;AAAA,EAEnD,MAAM,oBAAoB,CAAC,QAAyB,UAAkB;AAAA,IACpE,IAAI,CAAC;AAAA,MAAmB;AAAA,IACxB,WAAW,EAAE,MAAM,SAAS,QAAQ,cAAc,MAAM,CAAC;AAAA;AAAA,EAG3D,MAAM,kBAAkB,CAAC,SAA0B;AAAA,IACjD,IAAI,CAAC;AAAA,MAAiB;AAAA,IACtB,WAAW,EAAE,MAAM,QAAQ,KAAK,CAAC;AAAA;AAAA,EAGnC,MAAM,eAAe,MAAM,WAAW,IAAI;AAAA,EAE1C,uBACE,mBA4dE,OA5dF;AAAA,IAAK,WAAW,GAAG,mBAAmB,SAAS,qBAAqB,IAAI,YAAY,MAAM,SAAS;AAAA,IAAnG,UA4dE;AAAA,MA3dC,yBAEC,mBAoFE,OApFF;AAAA,QAAK,WAAU;AAAA,QAAf,UAoFE;AAAA,UAnFC,SAAS;AAAA,0BACV,mBAiFE,OAjFF;AAAA,YAAK,WAAU;AAAA,YAAf,UAiFE;AAAA,eA/EG,QAAQ,UAAU,QAAQ,OAAO,SAAS,KAC1C,QAAQ,SAAS,QAAQ,MAAM,SAAS,KACxC,QAAQ,SAAS,QAAQ,MAAM,SAAS,sBACzC,mBA+CE,OA/CF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UA+CE;AAAA,kBA7CC,QAAQ,QAAQ,IAAI,CAAC,KAAK,wBACzB,kBAAC,iBAAD;AAAA,oBAEE,MAAM,EAAE,MAAM,IAAI,kBAAkB,SAAS,MAAM,KAAK,MAAM,aAAa,KAAK,IAAI,IAAI;AAAA,oBACxF,SACE,oBACI,MACE,kBACE,QAAQ,OAAQ,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,eAAe,EAAE,GAClE,GACF,IACF;AAAA,qBATD,OAAO,KAWd,CACD;AAAA,kBAEA,QAAQ,OAAO,IAAI,CAAC,OAAO,wBAC1B,mBAME,OANF;AAAA,oBAEE,WAAU;AAAA,oBAFZ,UAME;AAAA,sCAFA,kBAAC,6BAAD;AAAA,wBAAO,WAAU;AAAA,uBAAoC;AAAA,sCACrD,kBAA2E,QAA3E;AAAA,wBAAM,WAAU;AAAA,wBAAhB,UAA0C,MAAM,MAAM,SAAS,MAAM;AAAA,uBAAM;AAAA;AAAA,qBAJtE,SAAS,KAKd,CACH;AAAA,kBAEA,QAAQ,OAAO,IAAI,CAAC,MAAM,QACzB,kCACE,kBAAC,iBAAD;AAAA,oBAEE,MAAM,EAAE,MAAM,KAAK,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK;AAAA,oBACzE,SAAS,MACP,gBAAgB,EAAE,MAAM,KAAK,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,CAAC;AAAA,qBAHjF,QAAQ,KAKf,oBAEA,mBAME,OANF;AAAA,oBAEE,WAAU;AAAA,oBAFZ,UAME;AAAA,sCAFA,kBAAC,gCAAD;AAAA,wBAAU,WAAU;AAAA,uBAAoC;AAAA,sCACxD,kBAAsD,QAAtD;AAAA,wBAAM,WAAU;AAAA,wBAAhB,UAA0C,KAAK;AAAA,uBAAO;AAAA;AAAA,qBAJjD,QAAQ,KAKb,CAEN;AAAA;AAAA,eACA;AAAA,cAGH,QAAQ,2BACP,kBAQE,OARF;AAAA,gBACE,WAAW,GACT,yCACA,YAAY,MAAM,UAAU,sCAC5B,YAAY,YACd;AAAA,gBALF,0BAOE,kBAA8D,KAA9D;AAAA,kBAAG,WAAU;AAAA,kBAAb,UAA4C,QAAQ;AAAA,iBAAU;AAAA,eAC9D;AAAA,eAEF,iBAAiB,SAAS,yBAC1B,mBAYE,OAZF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAYE;AAAA,kBAXC,SAAS,wBACR,kBAEE,OAFF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UACG,QAAQ,KAAK,OAAO;AAAA,mBACrB;AAAA,kCAEJ,kBAAC,gBAAD;AAAA,oBACE,MAAM,IAAI,KAAK,QAAQ,aAAa,IAAI;AAAA,oBACxC,aAAa,oBAAoB,0BAA0B;AAAA,oBAC3D,WAAU;AAAA,mBACZ;AAAA,kBACC,4BAAY,kBAAC,mCAAD;AAAA,oBAAa,WAAU;AAAA,mBAA2B;AAAA;AAAA,eAC/D;AAAA;AAAA,WAEJ;AAAA;AAAA,OACF,oBAGF,mBA6WE,OA7WF;AAAA,QAAK,WAAU;AAAA,QAAf,UA6WE;AAAA,UA5WC,SAAS;AAAA,0BACV,mBA0WE,OA1WF;AAAA,YAAK,WAAW,GAAG,4BAA4B,YAAY,WAAW,SAAS;AAAA,YAA/E,UA0WE;AAAA,cAxWC,gBACC,cAAc,OAAO,oBAErB;AAAA,0BA2TE;AAAA,kBAzTC,iBACC,QAAQ,YAAY,mBACpB,QAAQ,WAAW,gBAAgB,SAAS,qBAC1C,mBAqCE,OArCF;AAAA,oBAAK,WAAW,GAAG,kBAAkB,YAAY,WAAW,SAAS;AAAA,oBAArE,UAqCE;AAAA,sCApCA,mBAGE,OAHF;AAAA,wBAAK,WAAU;AAAA,wBAAf,UAGE;AAAA,0CAFA,kBAAC,iCAAD;AAAA,4BAAW,WAAU;AAAA,2BAAc;AAAA,0BADrC;AAAA,0BAEc,QAAQ,WAAW,gBAAgB;AAAA,0BAFjD;AAAA;AAAA,uBAGE;AAAA,sCACF,kBA+BE,WA/BF;AAAA,wBAAW,MAAK;AAAA,wBAAW,WAAU;AAAA,wBAArC,UACG,QAAQ,WAAW,gBAAgB,IAAI,CAAC,MAAM,wBAC7C,mBA2BE,eA3BF;AAAA,0BAAyB,OAAO,aAAa;AAAA,0BAAO,WAAU;AAAA,0BAA9D,UA2BE;AAAA,4CA1BA,kBAEE,kBAFF;AAAA,8BAAkB,WAAU;AAAA,8BAA5B,UACG,KAAK,SAAS,QAAQ,MAAM;AAAA,6BAC7B;AAAA,4CACF,mBAsBE,kBAtBF;AAAA,8BAAkB,WAAU;AAAA,8BAA5B,UAsBE;AAAA,gCArBC,KAAK,0BACJ,mBAEE,OAFF;AAAA,4CAEE;AAAA,oDADA,kBAAuD,QAAvD;AAAA,sCAAM,WAAU;AAAA,sCAAhB;AAAA,qCAAuD;AAAA,oCADzD;AAAA,oCACgE,KAAK;AAAA;AAAA,iCACnE;AAAA,gCAEH,KAAK,6BACJ,mBAEE,OAFF;AAAA,4CAEE;AAAA,oDADA,kBAA0D,QAA1D;AAAA,sCAAM,WAAU;AAAA,sCAAhB;AAAA,qCAA0D;AAAA,oCAD5D;AAAA,oCACmE,KAAK;AAAA;AAAA,iCACtE;AAAA,gCAEH,KAAK,0BACJ,mBAEE,OAFF;AAAA,4CAEE;AAAA,oDADA,kBAAuD,QAAvD;AAAA,sCAAM,WAAU;AAAA,sCAAhB;AAAA,qCAAuD;AAAA,oCADzD;AAAA,oCACgE,KAAK;AAAA;AAAA,iCACnE;AAAA,gCAEH,KAAK,eAAe,6BACnB,mBAGE,OAHF;AAAA,4CAGE;AAAA,oDAFA,kBAA2D,QAA3D;AAAA,sCAAM,WAAU;AAAA,sCAAhB;AAAA,qCAA2D;AAAA,oCAAM;AAAA,qCAC/D,KAAK,aAAa,KAAK,QAAQ,CAAC;AAAA,oCAFpC;AAAA;AAAA,iCAGE;AAAA;AAAA,6BAEJ;AAAA;AAAA,2BA1BgB,GA2BlB,CACH;AAAA,uBACD;AAAA;AAAA,mBACF;AAAA,kBAIL,QAAQ,2BACP,kBAEE,OAFF;AAAA,oBAAK,WAAU;AAAA,oBAAf,0BACE,kBAA6B,UAA7B;AAAA,gCAAW,QAAQ;AAAA,qBAAU;AAAA,mBAC7B;AAAA,kBAIH,oBAAoB,YAAY,SAAS,qBACxC,kBAeE,OAfF;AAAA,oBAAK,WAAU;AAAA,oBAAf,UACG,YAAY,IAAI,CAAC,SAAS;AAAA,sBACzB,MAAM,cAAe,KAA2C;AAAA,sBAChE,uBACE,kBAQE,OARF;AAAA,kCACG,YAAY,WAAW,6BACtB,kBAEE,UAFF;AAAA,oDACE,kBAAC,wCAAD;AAAA,4BAAsB,MAAM;AAAA,4BAAa,WAAU;AAAA,2BAAa;AAAA,yBAChE,oBAEF,kBAAC,wCAAD;AAAA,0BAAsB,MAAM;AAAA,0BAAa,WAAU;AAAA,yBAAS;AAAA,yBANtD,KAAK,YAQb;AAAA,qBAEL;AAAA,mBACD;AAAA,kBAIH,uBAAuB,QAAQ,YAAY,IAAI,CAAC,SAAS;AAAA,oBACxD,MAAM,WAAW,oBAAoB,KAAK;AAAA,oBAC1C,MAAM,UAAW,KAAK,UAAU,KAAK;AAAA,oBACrC,IAAI,CAAC,YAAY,CAAC;AAAA,sBAAS,OAAO;AAAA,oBAClC,uBACE,kBAEE,OAFF;AAAA,gCACG,SAAS,KAAK,WAAW,OAAO;AAAA,uBADzB,UAAU,KAAK,cAEvB;AAAA,mBAEL;AAAA,kBAGA,cACG,YAAY,OAAO,KAClB,MAAM;AAAA,oBACL,MAAM,iBAAiB,YAAY,WAAW;AAAA,oBAC9C,uBACE;AAAA,gCAyKE;AAAA,wBAvKC,QAAQ,UAAU,QAAQ,OAAO,SAAS,qBACzC,mBAwCE,OAxCF;AAAA,0BAAK,WAAW,GAAG,kBAAkB,cAAc;AAAA,0BAAnD,UAwCE;AAAA,4CAvCA,mBAGE,OAHF;AAAA,8BAAK,WAAU;AAAA,8BAAf,UAGE;AAAA,gDAFA,kBAAC,6BAAD;AAAA,kCAAW,WAAU;AAAA,iCAAc;AAAA,gCADrC;AAAA,gCAEW,QAAQ,OAAO;AAAA,gCAF1B;AAAA;AAAA,6BAGE;AAAA,4CACF,kBAkCE,OAlCF;AAAA,8BAAK,WAAU;AAAA,8BAAf,UACG,QAAQ,OAAO,IAAI,CAAC,KAAK,wBACxB,mBA8BE,OA9BF;AAAA,gCAAe,WAAU;AAAA,gCAAzB,UA8BE;AAAA,kCA7BC,oCACC,kBAeE,UAfF;AAAA,oCACE,MAAK;AAAA,oCACL,SAAS,MACP,kBACE,QAAQ,OAAQ,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,eAAe,EAAE,GAClE,GACF;AAAA,oCAEF,WAAU;AAAA,oCARZ,0BAUE,kBAAC,OAAD;AAAA,sCACE,KAAK,IAAI;AAAA,sCACT,KAAK,IAAI,kBAAkB;AAAA,sCAC3B,WAAU;AAAA,qCACZ;AAAA,mCACA,oBAEF,kBAAC,OAAD;AAAA,oCACE,KAAK,IAAI;AAAA,oCACT,KAAK,IAAI,kBAAkB;AAAA,oCAC3B,WAAU;AAAA,mCACZ;AAAA,kCAED,IAAI,kCACH,kBAEE,KAFF;AAAA,oCAAG,WAAU;AAAA,oCAAb,UACG,IAAI;AAAA,mCACL;AAAA;AAAA,iCA5BI,GA8BR,CACH;AAAA,6BACD;AAAA;AAAA,yBACF;AAAA,wBAIH,QAAQ,UAAU,QAAQ,OAAO,SAAS,qBACzC,mBAsBE,OAtBF;AAAA,0BAAK,WAAW,GAAG,kBAAkB,cAAc;AAAA,0BAAnD,UAsBE;AAAA,4CArBA,mBAGE,OAHF;AAAA,8BAAK,WAAU;AAAA,8BAAf,UAGE;AAAA,gDAFA,kBAAC,6BAAD;AAAA,kCAAO,WAAU;AAAA,iCAAc;AAAA,gCADjC;AAAA,gCAEW,QAAQ,OAAO;AAAA,gCAF1B;AAAA;AAAA,6BAGE;AAAA,4CACF,kBAgBE,OAhBF;AAAA,8BAAK,WAAU;AAAA,8BAAf,UACG,QAAQ,OAAO,IAAI,CAAC,OAAO,wBAC1B,kBAYE,OAZF;AAAA,0CACG,MAAM,sBACL,kBAAC,SAAD;AAAA,kCACE,KAAK,MAAM;AAAA,kCACX,UAAQ;AAAA,kCACR,WAAU;AAAA,iCACZ,oBAEA,mBAEE,OAFF;AAAA,kCAAK,WAAU;AAAA,kCAAf,UAEE;AAAA,oCAFF;AAAA,oCACa,MAAM;AAAA,oCADnB;AAAA,oCAC8B,MAAM;AAAA,oCADpC;AAAA;AAAA,iCAEE;AAAA,iCAVI,GAYR,CACH;AAAA,6BACD;AAAA;AAAA,yBACF;AAAA,wBAIH,QAAQ,SAAS,QAAQ,MAAM,SAAS,qBACvC,mBAwBE,OAxBF;AAAA,0BAAK,WAAW,GAAG,kBAAkB,cAAc;AAAA,0BAAnD,UAwBE;AAAA,4CAvBA,mBAGE,OAHF;AAAA,8BAAK,WAAU;AAAA,8BAAf,UAGE;AAAA,gDAFA,kBAAC,6BAAD;AAAA,kCAAO,WAAU;AAAA,iCAAc;AAAA,gCADjC;AAAA,gCAEU,QAAQ,MAAM;AAAA,gCAFxB;AAAA;AAAA,6BAGE;AAAA,4CACF,kBAkBE,OAlBF;AAAA,8BAAK,WAAU;AAAA,8BAAf,UACG,QAAQ,MAAM,IAAI,CAAC,OAAO,wBACzB,kBAcE,OAdF;AAAA,0CACG,MAAM,sBACL,kBAAC,SAAD;AAAA,kCAAO,KAAK,MAAM;AAAA,kCAAK,UAAQ;AAAA,kCAAC,WAAU;AAAA,iCAAS,IACjD,MAAM,+BACR,kBAAC,SAAD;AAAA,kCACE,KAAK,QAAQ,MAAM,aAAa,sBAAsB,MAAM;AAAA,kCAC5D,UAAQ;AAAA,kCACR,WAAU;AAAA,iCACZ,oBAEA,kBAEE,OAFF;AAAA,kCAAK,WAAU;AAAA,kCAAf;AAAA,iCAEE;AAAA,iCAZI,GAcR,CACH;AAAA,6BACD;AAAA;AAAA,yBACF;AAAA,wBAIH,QAAQ,SAAS,QAAQ,MAAM,SAAS,qBACvC,mBAyCE,OAzCF;AAAA,0BAAK,WAAW,GAAG,kBAAkB,cAAc;AAAA,0BAAnD,UAyCE;AAAA,4CAxCA,mBAGE,OAHF;AAAA,8BAAK,WAAU;AAAA,8BAAf,UAGE;AAAA,gDAFA,kBAAC,iCAAD;AAAA,kCAAW,WAAU;AAAA,iCAAc;AAAA,gCADrC;AAAA,gCAEU,QAAQ,MAAM;AAAA,gCAFxB;AAAA;AAAA,6BAGE;AAAA,4CACF,kBAmCE,OAnCF;AAAA,8BAAK,WAAU;AAAA,8BAAf,UACG,QAAQ,MAAM,IAAI,CAAC,MAAM,QACxB,kCACE,kBAAC,iBAAD;AAAA,gCAEE,MAAM,EAAE,MAAM,KAAK,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK;AAAA,gCACzE,SAAS,MACP,gBAAgB,EAAE,MAAM,KAAK,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,CAAC;AAAA,iCAHjF,GAKP,oBAEA,mBAqBE,OArBF;AAAA,gCAEE,WAAU;AAAA,gCAFZ,UAqBE;AAAA,kDAjBA,kBAAC,gCAAD;AAAA,oCAAU,WAAU;AAAA,mCAA6C;AAAA,kDACjE,kBAAsD,QAAtD;AAAA,oCAAM,WAAU;AAAA,oCAAhB,UAA0C,KAAK;AAAA,mCAAO;AAAA,kCACrD,KAAK,wBACJ,mBAEE,QAFF;AAAA,oCAAM,WAAU;AAAA,oCAAhB,UAEE;AAAA,sCAFF;AAAA,uCACK,KAAK,OAAO,MAAM,QAAQ,CAAC;AAAA,sCADhC;AAAA;AAAA,mCAEE;AAAA,kCAEH,KAAK,OAAO,gBAAgB,KAAK,KAAK,GAAG,qBACxC,kBAOE,KAPF;AAAA,oCACE,MAAM,KAAK;AAAA,oCACX,QAAO;AAAA,oCACP,KAAI;AAAA,oCACJ,WAAU;AAAA,oCAJZ;AAAA,mCAOE;AAAA;AAAA,iCAlBC,GAoBL,CAEN;AAAA,6BACA;AAAA;AAAA,yBACF;AAAA,wBAIH,QAAQ,kCACP,mBAiBE,OAjBF;AAAA,0BAAK,WAAW,GAAG,kBAAkB,cAAc;AAAA,0BAAnD,UAiBE;AAAA,4CAhBA,mBAGE,OAHF;AAAA,8BAAK,WAAU;AAAA,8BAAf,UAGE;AAAA,gDAFA,kBAAC,6BAAD;AAAA,kCAAO,WAAU;AAAA,iCAAc;AAAA,gCADjC;AAAA;AAAA,6BAGE;AAAA,4BACD,QAAQ,eAAe,8BACtB,mBAEE,OAFF;AAAA,8BAAK,WAAU;AAAA,8BAAf,UAEE;AAAA,gCAFF;AAAA,gCACI,QAAQ,eAAe;AAAA,gCAD3B;AAAA;AAAA,6BAEE;AAAA,4BAEH,QAAQ,eAAe,2BACtB,kBAAC,SAAD;AAAA,8BACE,KAAK,yBAAyB,QAAQ,eAAe;AAAA,8BACrD,UAAQ;AAAA,8BACR,WAAU;AAAA,6BACZ;AAAA;AAAA,yBAEF;AAAA;AAAA,qBAEJ;AAAA,qBAEH;AAAA,kBAGN,iBAAiB,QAAQ,cAAc,QAAQ,WAAW,SAAS,qBAClE,kBAmBE,OAnBF;AAAA,oBAAK,WAAW,GAAG,kBAAkB,YAAY,WAAW,SAAS;AAAA,oBAArE,UACG,QAAQ,WAAW,IAAI,CAAC,MAAM,QAC7B,iBACE,eAAe,MAAM,GAAG,oBAExB,mBAWE,MAXF;AAAA,sBAAqC,aAAa,QAAQ;AAAA,sBAA1D,UAWE;AAAA,wCAVA,kBAAC,YAAD;AAAA,0BAAY,OAAO,KAAK;AAAA,0BAAW,MAAK;AAAA,0BAAW,OAAO,aAAa,IAAI;AAAA,yBAAG;AAAA,wCAC9E,mBAQE,aARF;AAAA,oCAQE;AAAA,4CAPA,kBAAC,WAAD;AAAA,8BAAW,OAAO,KAAK;AAAA,6BAAW;AAAA,4BACjC,KAAK,2BACJ,kBAAC,YAAD;AAAA,8BACE,QAAQ,KAAK;AAAA,8BACb,WAAW,KAAK,kBAAkB,0BAA0B;AAAA,6BAC9D;AAAA;AAAA,yBAEF;AAAA;AAAA,uBAVO,KAAK,gBAAgB,GAW9B,CAEN;AAAA,mBACA;AAAA,kBAIH,kBACC,QAAQ,YAAY,cACpB,QAAQ,WAAW,WAAW,SAAS,qBACrC,mBAsBE,OAtBF;AAAA,oBAAK,WAAW,GAAG,kBAAkB,YAAY,WAAW,UAAU;AAAA,oBAAtE,UAsBE;AAAA,sCArBA,mBAGE,OAHF;AAAA,wBAAK,WAAU;AAAA,wBAAf,UAGE;AAAA,0CAFA,kBAAC,gCAAD;AAAA,4BAAU,WAAU;AAAA,2BAAc;AAAA,0BADpC;AAAA,0BAEe,QAAQ,WAAW,WAAW;AAAA,0BAF7C;AAAA;AAAA,uBAGE;AAAA,sCACF,kBAgBE,OAhBF;AAAA,wBAAK,WAAU;AAAA,wBAAf,UACG,QAAQ,WAAW,WAAW,IAAI,CAAC,SAAS,wBAC3C,mBAYE,OAZF;AAAA,0BAAe,WAAU;AAAA,0BAAzB,UAYE;AAAA,4BAXC,QAAQ,yBACP,mBAAqE,OAArE;AAAA,8BAAK,WAAU;AAAA,8BAAf,UAAqE;AAAA,gCAArE;AAAA,gCAAqD,QAAQ;AAAA;AAAA,6BAAQ;AAAA,4BAEtE,QAAQ,WAAW,IAAI,CAAC,KAAK,2BAC5B,mBAKE,OALF;AAAA,8BAAkB,WAAU;AAAA,8BAA5B,UAKE;AAAA,gDAJA,mBAAoE,OAApE;AAAA,kCAAK,WAAU;AAAA,kCAAf,UAAoE;AAAA,oCAApE;AAAA,oCAAqD,IAAI;AAAA,oCAAzD;AAAA;AAAA,iCAAoE;AAAA,gDACpE,mBAEE,OAFF;AAAA,kCAAK,WAAU;AAAA,kCAAf,UAEE;AAAA,oCAFF;AAAA,oCACW,IAAI;AAAA,oCADf;AAAA,oCAC6B,IAAI,UAAU;AAAA,oCAD3C;AAAA,oCACmD,IAAI,UAAU;AAAA,oCADjE;AAAA;AAAA,iCAEE;AAAA;AAAA,+BAJM,MAKR,CACH;AAAA;AAAA,2BAXO,GAYR,CACH;AAAA,uBACD;AAAA;AAAA,mBACF;AAAA;AAAA,eAEN;AAAA,eAIF,SAAS,aAAa,iBAAiB,6BACvC,mBAmCE,OAnCF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAmCE;AAAA,kBAlCC,SAAS,cAAc,MAAM;AAAA,oBAC5B,MAAM,aAAa,QAAQ,cAAc;AAAA,oBAEzC,IAAI,eAAe,oBAAoB,CAAC;AAAA,sBAAwB,OAAO;AAAA,oBAEvE,MAAM,WACJ,eAAe,WACd,eAAe,wBAAwB,CAAC;AAAA,oBAE3C,uBACE,kBAQE,OARF;AAAA,sBACE,WAAW,GACT,8CACA,YAAY,6CACZ,YAAY,WAAW,OACzB;AAAA,sBALF,UAOG,QAAQ,UAAU,OAAO;AAAA,qBAC1B;AAAA,qBAEH;AAAA,kBACF,4BACC,mBAGE,QAHF;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UAGE;AAAA,sCAFA,kBAAC,mCAAD;AAAA,wBAAa,WAAU;AAAA,uBAAU;AAAA,sBADnC;AAAA;AAAA,mBAGE;AAAA,kBAEH,iCACC,kBAAC,gBAAD;AAAA,oBACE,MAAM,IAAI,KAAK,QAAQ,aAAa,IAAI;AAAA,oBACxC,aAAa,oBAAoB,0BAA0B;AAAA,oBAC3D,WAAU;AAAA,mBACZ;AAAA;AAAA,eAEF;AAAA;AAAA,WAEJ;AAAA;AAAA,OACF;AAAA,MAIH,SAAS,SAAS,2BACjB,kBAAC,eAAD;AAAA,QACE,MAAI;AAAA,QACJ,cAAc,CAAC,SAAS;AAAA,UAAE,IAAI,CAAC;AAAA,YAAM,aAAa;AAAA;AAAA,QAClD,QAAQ,QAAQ;AAAA,QAChB,cAAc,QAAQ;AAAA,OACxB;AAAA,MAID,SAAS,SAAS,0BACjB,kBAAC,kBAAD;AAAA,QACE,MAAI;AAAA,QACJ,cAAc,CAAC,SAAS;AAAA,UAAE,IAAI,CAAC;AAAA,YAAM,aAAa;AAAA;AAAA,QAClD,MAAM,QAAQ;AAAA,OAChB;AAAA;AAAA,GAEF;AAAA;;AC3jBqB,IAA3B;;AAKA,IAAM,8BACJ;AAGF,SAAS,cAAc,CAAC,OAAmE;AAAA,EACzF,IAAI,UAAU;AAAA,IAAM,OAAO,EAAE,SAAS,KAAK;AAAA,EAC3C,IAAI,CAAC;AAAA,IAAO;AAAA,EACZ,OAAO;AAAA;AAqCT,SAAS,aAAa,CAAC,SAAuB;AAAA,EAC5C,OAAO,QAAQ,UAAU,QAAQ,MAAM,GAAG;AAAA,EAC1C,MAAM,OAAO,OAAO,MAAM,SAAS,IAAI,MAAM;AAAA,EAC7C,MAAM,QAAQ,KAAK,MAAM;AAAA,EACzB,MAAM,MAAM,IAAI,WAAW,MAAM,MAAM;AAAA,EACvC,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,IACrC,IAAI,KAAK,MAAM,WAAW,CAAC;AAAA,EAC7B;AAAA,EACA,OAAO,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,MAAM,KAAK,CAAC;AAAA;AAIvC,SAAS,YAAY,GAAG,YAAsC;AAAA,EAC5D,uBACE,kBASE,QATF;AAAA,IACE,MAAK;AAAA,IACL,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,WAAU;AAAA,IACV,SAAS;AAAA,IACT,cAAW;AAAA,IANb,0BAQE,kBAAC,kCAAD;AAAA,MAAY,WAAU;AAAA,KAAS;AAAA,GAC/B;AAAA;AAKN,SAAS,YAAY,GAAG,UAAU,UAAuD;AAAA,EACvF,QAAQ,cAAc,yBAAyB;AAAA,EAC/C,MAAM,UAAU,UAAU,MAAM,KAAK,EAAE,SAAS;AAAA,EAChD,uBAAO,kBAAC,mBAAD;AAAA,IAAmB,UAAU,YAAY,CAAC;AAAA,IAAS;AAAA,GAAgB;AAAA;AAI5E,SAAS,gBAAgB,GAAG;AAAA,EAC1B,QAAQ,UAAU,0BAA0B;AAAA,EAC5C,IAAI,MAAM,WAAW;AAAA,IAAG,OAAO;AAAA,EAC/B,uBACE,kBAIE,mBAJF;AAAA,8BACE,kBAEE,wBAFF;AAAA,gBACG,CAAC,+BAAe,kBAAC,uBAAD;AAAA,QAAuB,MAAM;AAAA,OAAY;AAAA,KAC1D;AAAA,GACF;AAAA;AAKN,SAAS,uBAAuB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAQC;AAAA,EACD,QAAQ,cAAc,yBAAyB;AAAA,EAC/C,uBACE,kBAAC,eAAD;AAAA,IACE,MAAK;AAAA,IACL,uBAAuB;AAAA,IACvB,sBAAsB;AAAA,IACtB,4BAA4B;AAAA,IAC5B;AAAA,IACA,qBAAqB,MAAM;AAAA,IAC3B,yBAAyB,CAAC,SAAS;AAAA,MACjC,MAAM,UAAU,UAAU;AAAA,MAC1B,UAAU,SAAS,WAAW,UAAU,MAAM,MAAM,IAAI;AAAA;AAAA,IAE1D;AAAA,IACA;AAAA,GACF;AAAA;AAIG,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,GACqB;AAAA,EACrB,MAAM,gBAAgB,eAAe,KAAK;AAAA,EAC1C,MAAM,eAAe,eAAe,WAAW;AAAA,EAC/C,MAAM,YAAY,eAAe,QAAQ;AAAA,EAEzC,MAAM,eAAe,CAAC,YAAgC;AAAA,IACpD,MAAM,OAAO,QAAQ,MAAM,KAAK,KAAK;AAAA,IACrC,MAAM,QAAQ,QAAQ,SAAS,CAAC;AAAA,IAEhC,IAAI,CAAC;AAAA,MAAM;AAAA,IAEX,IAAI,MAAM,WAAW,GAAG;AAAA,MACtB,OAAO,IAAI;AAAA,MACX;AAAA,IACF;AAAA,IAEA,MAAM,WAAW,IAAI;AAAA,IACrB,SAAS,OAAO,WAAW,IAAI;AAAA,IAE/B,WAAW,QAAQ,OAAO;AAAA,MACxB,IAAI,CAAC,KAAK;AAAA,QAAK;AAAA,MACf,MAAM,OAAO,KAAK,IAAI,WAAW,OAAO,IAAI,cAAc,KAAK,GAAG,IAAI;AAAA,MACtE,IAAI,CAAC;AAAA,QAAM;AAAA,MACX,MAAM,WAAW,KAAK,YAAY;AAAA,MAClC,SAAS,OAAO,SAAS,MAAM,QAAQ;AAAA,IACzC;AAAA,IAEA,OAAO,QAAQ;AAAA;AAAA,EAGjB,MAAM,uBAAuB,CAAC,SAAe;AAAA,IAC3C,MAAM,WAAW,IAAI;AAAA,IACrB,SAAS,OAAO,WAAW,eAAe;AAAA,IAC1C,SAAS,OAAO,SAAS,MAAM,aAAa,KAAK,IAAI,OAAO;AAAA,IAC5D,OAAO,QAAQ;AAAA;AAAA,EAGjB,MAAM,iBAAiB,WAAW,WAAW,cAAc;AAAA,EAC3D,MAAM,mBAAmB,kBAAkB,eAAe;AAAA,EAE1D,uBACE,kBAwDE,qBAxDF;AAAA,8BACE,mBAsDE,aAtDF;AAAA,MACE,UAAU;AAAA,MACV,QAAQ,YAAY,UAAU;AAAA,MAC9B,UAAU,YAAY,YAAY;AAAA,MAClC,UAAU,YAAY;AAAA,MACtB,aAAa,YAAY;AAAA,MACzB,YAAY,CAAC,CAAC;AAAA,MACd,oBAAoB;AAAA,MACpB,WAAW,GAAG,UAAU,SAAS;AAAA,MARnC,UAsDE;AAAA,wBA5CA,kBAAC,kBAAD,EAAkB;AAAA,wBAClB,kBAKE,iBALF;AAAA,oCACE,kBAAC,qBAAD;AAAA,YACE,aAAa,eAAe;AAAA,YAC5B;AAAA,WACF;AAAA,SACA;AAAA,wBACF,mBAmCE,mBAnCF;AAAA,oBAmCE;AAAA,4BAlCA,mBA4BE,kBA5BF;AAAA,wBA4BE;AAAA,gBA3BC,mCACC,mBAKE,uBALF;AAAA,4BAKE;AAAA,oCAJA,kBAAC,8BAAD,EAA8B;AAAA,oCAC9B,kBAEE,8BAFF;AAAA,gDACE,kBAAC,iCAAD;AAAA,wBAAiC,OAAM;AAAA,uBAAY;AAAA,qBACnD;AAAA;AAAA,iBACF;AAAA,gBAEH,iBACE,cAAc,gBAAgB,eAAe,2BAC5C,kBAAC,yBAAD;AAAA,kBACE,UAAU,cAAc;AAAA,kBACxB,SAAS,cAAc;AAAA,kBACvB;AAAA,kBACA,eAAe,cAAc;AAAA,kBAC7B,qBAAqB,cAAc;AAAA,kBACnC,QAAQ,cAAc;AAAA,iBACxB,oBAEA,kBAAC,eAAD;AAAA,kBACE,qBAAqB;AAAA,kBACrB;AAAA,kBACA,qBAAqB,eAAe;AAAA,kBACpC,QAAQ,eAAe;AAAA,iBACzB;AAAA,gBAEH;AAAA;AAAA,aACD;AAAA,YACD,mCACC,kBAAC,cAAD;AAAA,cAAc;AAAA,aAAoB,oBAElC,kBAAC,cAAD;AAAA,cAAc;AAAA,cAAoB,QAAQ;AAAA,aAAgB;AAAA;AAAA,SAE5D;AAAA,QACD,mCAAmB,kBAAC,qBAAD;AAAA,aAAyB;AAAA,UAAe,WAAW;AAAA,SAAsB;AAAA;AAAA,KAC7F;AAAA,GACF;AAAA;;AC3QuC,IAA7C;AAEkD,IAAlD;;;ACF0C,IAA1C;AA6CO,IAAM,kBAAkB,6BAA2C,IAAI;AAEvE,SAAS,kBAAkB,GAAyB;AAAA,EACzD,MAAM,MAAM,0BAAW,eAAe;AAAA,EACtC,IAAI,CAAC,KAAK;AAAA,IACR,MAAM,IAAI,MACR,oEACE,2CACJ;AAAA,EACF;AAAA,EACA,OAAO;AAAA;;;;ADxCF,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA,eAAe,CAAC;AAAA,EAChB,mBAAmB;AAAA,EACnB;AAAA,EACA;AAAA,KACG;AAAA,GACiB;AAAA,EACpB,MAAM,OAAO,+BAAY;AAAA,EACzB,MAAM,WAAW,wCAAqB,cAAc,kBAAkB;AAAA,IACpE,eAAe,sBAAsB,OAAO,KAAK,mBAAmB,IAAI;AAAA,EAC1E,CAAC;AAAA,EAED,MAAM,eAAe,sBAAuB,IAAI;AAAA,EAGhD,MAAM,UAAU,sBAAO,KAAK,WAAW;AAAA,EACvC,QAAQ,UAAU,KAAK;AAAA,EAEvB,MAAM,aAAa,2BAAY,OAAO,YAA+B;AAAA,IACnE,IAAI;AAAA,MACF,MAAM,QAAQ,QAAQ,OAAO;AAAA,MAC7B,MAAM;AAAA,KAGP,CAAC,CAAC;AAAA,EAGL;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAAA,EAEJ;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAAA,EAEJ,MAAM,eAAe,uBACnB,OAAO;AAAA,IAEL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc,gBAAgB;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAGA;AAAA,IACA,eAAe,eAAe;AAAA,IAG9B,sBAAsB;AAAA,IAGtB;AAAA,EACF,IACA;AAAA,IACE;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,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AAAA,EAEA,uBACE,kBAIE,gBAAgB,UAJlB;AAAA,IAA0B,OAAO;AAAA,IAAjC,0BACE,kBAEE,OAFF;AAAA,MAAK,KAAK;AAAA,MAAc,WAAW,GAAG,iCAAiC,SAAS;AAAA,SAAO;AAAA,MAAvF;AAAA,KAEE;AAAA,GACF;AAAA;;;AE9H4D,IAAlE;;;;ACQO,SAAS,wBAAwB,GAAG,WAAW,WAA0C;AAAA,EAC9F,QAAQ,eAAe,mBAAmB;AAAA,EAE1C,IAAI,QAAQ,WAAW;AAAA,IAAG,OAAO;AAAA,EAEjC,uBACE,kBAiBE,OAjBF;AAAA,IAAK,WAAW,GAAG,0CAA0C,SAAS;AAAA,IAAtE,UACG,QAAQ,IAAI,CAAC,QAAQ,wBACpB,mBAaE,UAbF;AAAA,MAEE,SAAS,MAAM,WAAW,OAAO,IAAI;AAAA,MACrC,WAAU;AAAA,MAHZ,UAaE;AAAA,QARC,OAAO,wBACN,kBAEE,QAFF;AAAA,UAAM,WAAU;AAAA,UAAhB,UACG,OAAO;AAAA,SACR;AAAA,wBAEJ,kBAEE,QAFF;AAAA,UAAM,WAAU;AAAA,UAAhB,UACG,OAAO;AAAA,SACR;AAAA;AAAA,OAXG,GAYL,CACH;AAAA,GACD;AAAA;;;ADhBc,IAApB;AAAA;AAsFA,SAAS,sBAAsB,GAAG,gBAA0C;AAAA,EAC1E,QAAQ,mBAAmB,oDAAwB;AAAA,EACnD,MAAM,YAAY,sBAAO,YAAY;AAAA,EAErC,yBAAU,MAAM;AAAA,IACd,IAAI,eAAe,UAAU,SAAS;AAAA,MACpC,eAAe,QAAQ;AAAA,IACzB;AAAA,IACA,UAAU,UAAU;AAAA,KACnB,CAAC,cAAc,cAAc,CAAC;AAAA,EAEjC,OAAO;AAAA;AAGT,IAAM,kBAAqC;AAAA,EACzC,EAAE,MAAM,6BAA6B;AAAA,EACrC,EAAE,MAAM,uBAAuB;AACjC;AAEO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA,mBAAmB;AAAA,EACnB;AAAA,EAEA,wBAAwB;AAAA,EACxB;AAAA,EACA,qBAAqB;AAAA,EACrB;AAAA,EACA;AAAA,GACwB;AAAA,EACxB,QAAQ,UAAU,aAAa,qBAAqB,+BAA+B,mBAAmB;AAAA,EACtG,MAAM,sBAAsB,2BAA2B;AAAA,EACvD,MAAM,cAAc,SAAS,SAAS,SAAS;AAAA,EAC/C,MAAM,aAAa,yBAAyB,gBAAgB,CAAC,eAAe,YAAY,SAAS,WAAW,CAAC,aAAa;AAAA,EAG1H,MAAM,wBAAmC,MAAM;AAAA,IAC7C,IAAI,yBAAyB;AAAA,MAAO,OAAO;AAAA,IAC3C,IAAI,yBAAyB,aAAa,yBAAyB,MAAM;AAAA,MACvE,uBAAO,kBAAC,0BAAD,EAA0B;AAAA,IACnC;AAAA,IACA,IAAI,8BAAe,oBAAoB;AAAA,MAAG,OAAO;AAAA,IACjD,IACE,OAAO,yBAAyB,YAChC,yBAAyB,QACzB,eAAe,sBACf;AAAA,MACA,uBAAO,kBAAC,0BAAD;AAAA,QAA0B,WAAW,qBAAqB;AAAA,OAAW;AAAA,IAC9E;AAAA,IAEA,OAAO;AAAA,KACN;AAAA,EAGH,IAAI,qBAAqB;AAAA,EACzB,SAAS,IAAI,SAAS,SAAS,EAAG,KAAK,GAAG,KAAK;AAAA,IAC7C,IAAI,SAAS,GAAG,SAAS,QAAQ;AAAA,MAC/B,qBAAqB;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAAA,EAGA,MAAM,mBAAmE;AAAA,OACnE,kBAAkB,aAAa,EAAE,cAAc;AAAA,OAC/C,mBAAmB,aAAa,EAAE,eAAe;AAAA,OACjD,kBAAkB,aAAa,EAAE,cAAc;AAAA,OAC/C,qBAAqB,aAAa,EAAE,iBAAiB;AAAA,OACrD,kBAAkB,aAAa,EAAE,cAAc;AAAA,OAC/C,oBAAoB,aAAa,EAAE,gBAAgB;AAAA,OACnD,sBAAsB,aAAa,EAAE,kBAAkB;AAAA,OACvD,mBAAmB,aAAa,EAAE,eAAe;AAAA,OACjD,kBAAkB,aAAa,EAAE,cAAc;AAAA,OAC/C,gBAAgB,aAAa,EAAE,YAAY;AAAA,OAC3C,oBAAoB,aAAa,EAAE,gBAAgB;AAAA,OACnD,sBAAsB,aAAa,EAAE,YAAY,kBAAkB;AAAA,OACnE,wBAAwB,aAAa,EAAE,oBAAoB;AAAA,EACjE;AAAA,EAEA,MAAM,qBAAqB,YACzB,8BACE,mBAgBE,OAhBF;AAAA,IAAK,WAAU;AAAA,IAAf,UAgBE;AAAA,sBAfA,mBAOE,OAPF;AAAA,QAAK,WAAU;AAAA,QAAf,UAOE;AAAA,0BANA,kBAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACE,kBAAC,2BAAD;AAAA,cAAK,WAAU;AAAA,aAAuB;AAAA,WACtC;AAAA,0BACF,kBAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACE,kBAAC,QAAD;AAAA,cAAM,WAAU;AAAA,aAA8C;AAAA,WAC9D;AAAA;AAAA,OACF;AAAA,sBACF,mBAKE,OALF;AAAA,QAAK,WAAU;AAAA,QAAf,UAKE;AAAA,0BAJA,kBAA2E,MAA3E;AAAA,YAAI,WAAU;AAAA,YAAd;AAAA,WAA2E;AAAA,0BAC3E,kBAEE,KAFF;AAAA,YAAG,WAAU;AAAA,YAAb;AAAA,WAEE;AAAA;AAAA,OACF;AAAA,MACD,iBAAiB,SAAS,qBAAK,kBAAC,0BAAD;AAAA,QAA0B,SAAS;AAAA,OAAkB;AAAA;AAAA,GACrF;AAAA,EAGN,uBACE,mBA+BE,cA/BF;AAAA,IAAc,WAAW,GAAG,0BAA0B,SAAS;AAAA,IAAG;AAAA,IAAlE,UA+BE;AAAA,sBA9BA,kBAAC,wBAAD;AAAA,QAAwB,cAAc,SAAS;AAAA,OAAQ;AAAA,sBACvD,mBA2BE,qBA3BF;AAAA,QAAqB,WAAU;AAAA,QAA/B,UA2BE;AAAA,UA1BC,SAAS,WAAW,oBACnB,kBAA8C,wBAA9C;AAAA,sBAAyB;AAAA,WAAqB,IAE9C,SAAS,IAAI,CAAC,SAAS,UAAU;AAAA,YAE/B,IAAI,cAAc,UAAU,SAAS,SAAS,KAAK,YAAY;AAAA,cAAa,OAAO;AAAA,YACnF,OAAO,gBACL,cAAc,SAAS,KAAK,oBAE5B,kBAAC,iBAAD;AAAA,cAEE;AAAA,cACA;AAAA,cACA;AAAA,cACA,wBAAwB,UAAU;AAAA,iBAC9B;AAAA,eALC,OAAO,SAAS,QAAQ,YAM/B;AAAA,WAEH;AAAA,UAGF,8BACC,kBAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf,UACG,2CAA2B,kBAAC,oBAAD;AAAA,cAAoB,QAAQ,SAAS;AAAA,aAAW;AAAA,WAC5E;AAAA;AAAA,OAEJ;AAAA,MACD;AAAA;AAAA,GACD;AAAA;;;;AErPC,SAAS,kBAAkB,GAAG,UAAU,cAAc,SAAkC;AAAA,EAC7F,uBACE,kBAEE,OAFF;AAAA,IAAK,WAAW,GAAG,oCAAoC,SAAS;AAAA,OAAO;AAAA,IAAvE;AAAA,GAEE;AAAA;;;ACXsC,IAA5C;;AAmBO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,UAAU;AAAA,EACV;AAAA,GACwB;AAAA,EACxB,QAAQ,OAAO,mBAAmB,mBAAmB;AAAA,EACrD,OAAO,QAAQ,aAAa,wBAAS,KAAK;AAAA,EAC1C,MAAM,WAAW,sBAA6C,IAAI;AAAA,EAElE,MAAM,aAAa,SAAS;AAAA,EAG5B,yBAAU,MAAM;AAAA,IACd,IAAI,CAAC;AAAA,MAAY;AAAA,IAEjB,UAAU,KAAK;AAAA,IAEf,IAAI,SAAS,SAAS;AAAA,MACpB,aAAa,SAAS,OAAO;AAAA,MAC7B,SAAS,UAAU;AAAA,IACrB;AAAA,IAEA,IAAI,UAAU,GAAG;AAAA,MACf,SAAS,UAAU,WAAW,MAAM;AAAA,QAClC,UAAU,IAAI;AAAA,SACb,OAAO;AAAA,IACZ;AAAA,IAEA,OAAO,MAAM;AAAA,MACX,IAAI,SAAS,SAAS;AAAA,QACpB,aAAa,SAAS,OAAO;AAAA,QAC7B,SAAS,UAAU;AAAA,MACrB;AAAA;AAAA,KAED,CAAC,YAAY,OAAO,CAAC;AAAA,EAExB,IAAI,CAAC,cAAc;AAAA,IAAQ,OAAO;AAAA,EAElC,MAAM,iBAAiB,QAAQ;AAAA,EAG/B,MAAM,gBAAgB,MAAM;AAAA,IAC1B,IAAI,UAAU;AAAA,MACZ,OAAO,OAAO,aAAa,aAAa,SAAS,UAAU,IAAI;AAAA,IACjE;AAAA,IAEA,uBACE,mBA0BE,OA1BF;AAAA,MAAK,WAAU;AAAA,MAAf,UA0BE;AAAA,QAzBC,wBAAQ,kBAAmC,QAAnC;AAAA,UAAM,WAAU;AAAA,UAAhB,UAA4B;AAAA,SAAO;AAAA,wBAC5C,kBAAiE,KAAjE;AAAA,UAAG,WAAU;AAAA,UAAb,UAAgD;AAAA,SAAiB;AAAA,QAChE,+BACC,kBAoBE,UApBF;AAAA,UACE,MAAK;AAAA,UACL,SAAS,MAAM,UAAU,IAAI;AAAA,UAC7B,WAAU;AAAA,UACV,cAAW;AAAA,UAJb,0BAME,mBAaE,OAbF;AAAA,YACE,OAAM;AAAA,YACN,OAAM;AAAA,YACN,QAAO;AAAA,YACP,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,QAAO;AAAA,YACP,aAAY;AAAA,YACZ,eAAc;AAAA,YACd,gBAAe;AAAA,YATjB,UAaE;AAAA,8BAFA,kBAAC,QAAD;AAAA,gBAAM,GAAE;AAAA,eAAa;AAAA,8BACrB,kBAAC,QAAD;AAAA,gBAAM,GAAE;AAAA,eAAa;AAAA;AAAA,WACrB;AAAA,SACF;AAAA;AAAA,KAEJ;AAAA;AAAA,EAIN,uBACE,kBAOE,OAPF;AAAA,IACE,WAAW,GACT,+DACA,SACF;AAAA,IAJF,UAMG,cAAc;AAAA,GACf;AAAA;;;;ACrEC,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,GACyB;AAAA,EACzB,QAAQ,YAAY,eAAe,aAAa,UAAU,WAAW,yBAAyB,mBAAmB;AAAA,EAEjH,uBACE,kBAqBE,OArBF;AAAA,IAAK,WAAW,GAAG,4DAA4D,SAAS;AAAA,IAAxF,0BACE,kBAmBE,OAnBF;AAAA,MAAK,WAAU;AAAA,MAAf,UACG,WACC,SAAS,EAAE,QAAQ,YAAY,UAAU,eAAe,aAAa,SAAS,CAAC,oBAE/E,kBAAC,eAAD;AAAA,QACE,QAAQ;AAAA,QACR,UAAU;AAAA,QACV;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA,aAAa,eAAe;AAAA,QAC5B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,OACF;AAAA,KAEF;AAAA,GACF;AAAA;;;AC/CN,IAAM,WAAW,OAAO,OAAO,cAAc;AAAA,EAC3C,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,OAAO;AACT,CAAC;",
56
- "debugId": "81B6F63AF2B96BA664756E2164756E21",
68
+ "mappings": "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",
69
+ "debugId": "DF0422349E1C62CD64756E2164756E21",
57
70
  "names": []
58
71
  }