@ai-group/chat-sdk 0.3.2 → 0.3.3

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.
@@ -79,10 +79,18 @@ var XAiProvider = (0, import_react.forwardRef)(({
79
79
  (0, import_copy_to_clipboard.default)(text);
80
80
  import_antd.message.success("复制成功");
81
81
  break;
82
- case 2:
83
- setMessages((prev) => prev.filter((item) => item.id !== id && item.type !== "SuggestionMessage"));
84
- import_antd.message.success("删除成功");
82
+ case 2: {
83
+ const idx = messages.findIndex((item) => item.id === id);
84
+ if (idx >= 0) {
85
+ if (messages.length - idx <= 2) {
86
+ setMessages((prev) => prev.filter((item) => item.id !== id && item.type !== "SuggestionMessage"));
87
+ } else {
88
+ setMessages((prev) => prev.filter((item) => item.id !== id));
89
+ }
90
+ import_antd.message.success("删除成功");
91
+ }
85
92
  break;
93
+ }
86
94
  }
87
95
  };
88
96
  const handleSuggestMessageClick = (_item, id) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/XAiProvider/index.tsx"],
4
- "sourcesContent": ["import React, { forwardRef, useImperativeHandle } from 'react';\nimport { message, Divider } from 'antd';\nimport { v4 as uuidV4 } from 'uuid';\nimport copy from 'copy-to-clipboard';\nimport { XProvider } from '@ant-design/x';\nimport { XAiContext } from '@/context/AiProviderContext';\nimport { XAiProviderProps, XAiProviderHandle } from '@/types/XAiProvider';\nimport useAgentGenerator from '@/hooks/useAgentGenerator';\nimport userIcon from '@/assets/user.png';\n\nconst XAiProvider = forwardRef<XAiProviderHandle, XAiProviderProps>(({\n url,\n token,\n config,\n providerId = 'defaultId',\n onSuccess,\n onError,\n children,\n}, ref) => {\n // 使用 useAgentGenerator Hook 管理消息状态\n const { appInfo, chat, stopChat, reChat, messages, loading, setCurrentSession, setMessages } = useAgentGenerator({ url, token, config, onError, onSuccess });\n\n const { appName, icon } = appInfo || {};\n\n useImperativeHandle(ref, () => ({\n chat,\n stopChat,\n reChat,\n getAppInfo: () => appInfo,\n getMessages: () => messages,\n setMessages,\n setCurrentSession,\n }), [appInfo, messages, chat, stopChat, reChat, setMessages, setCurrentSession]);\n\n // 发送消息\n const handleSendMessage = (_type: string, content: string) => {\n chat(content);\n };\n\n // 清空消息\n const handleClearMessage = () => {\n stopChat();\n setMessages([]);\n setCurrentSession(uuidV4());\n };\n\n // 工具栏按钮点击\n const handleActions = (index: number, actionData: any) => {\n const { content, id } = actionData || {};\n const { text = '' } = content;\n switch (index) {\n case 0:\n reChat();\n break;\n case 1:\n copy(text);\n message.success('复制成功');\n break;\n case 2:\n // 删除该条消息及建议类消息\n setMessages((prev) => prev.filter((item) => item.id !== id && item.type !== 'SuggestionMessage'));\n message.success('删除成功');\n break;\n }\n };\n\n // 建议消息点击\n const handleSuggestMessageClick = (_item: any, id: string) => {\n setMessages((prev: any[]) => prev.filter((m: any) => m.id !== id));\n };\n\n const ToolTip = (messageData: any) => {\n const finalResult = (messageData?.think || []).find((item: any) => item.actionName === 'FINISHED');\n if (!finalResult) return null;\n const { cost, token: tokenCount } = finalResult.extra || {};\n if (!cost && !token) return null;\n return (\n <div style={{ display: 'flex', alignItems: 'center', fontSize: '12px', color: '#949494', flex: 1, paddingRight: '40px' }}>\n { (cost !== undefined && cost !== null) && <div>{cost}s</div> }\n { tokenCount && <Divider type=\"vertical\" /> }\n { tokenCount && <div>{ tokenCount } tokens</div> }\n </div>\n );\n };\n\n return (\n <XProvider>\n <XAiContext.Provider value={{\n avatar: <img src={icon} alt=\"智能体头像\" />,\n userAvatar: <img src={userIcon} alt=\"用户头像\" />,\n emptyStateImage: icon,\n emptyStateText: appName,\n footerTips: '内容由AI生成,无法确保真实准确,仅供参考',\n providerId,\n token,\n messages,\n loading,\n error: null,\n messageTooltip: ToolTip,\n onSend: handleSendMessage,\n onClear: handleClearMessage,\n onStop: stopChat,\n onSuggestMessageClick: handleSuggestMessageClick,\n onMessagesActionsCallback: handleActions,\n isInProvider: true,\n }}\n >\n {children}\n </XAiContext.Provider>\n </XProvider>\n );\n});\n\nexport default XAiProvider;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import React, { forwardRef, useImperativeHandle } from 'react';\nimport { message, Divider } from 'antd';\nimport { v4 as uuidV4 } from 'uuid';\nimport copy from 'copy-to-clipboard';\nimport { XProvider } from '@ant-design/x';\nimport { XAiContext } from '@/context/AiProviderContext';\nimport { XAiProviderProps, XAiProviderHandle } from '@/types/XAiProvider';\nimport useAgentGenerator from '@/hooks/useAgentGenerator';\nimport userIcon from '@/assets/user.png';\n\nconst XAiProvider = forwardRef<XAiProviderHandle, XAiProviderProps>(({\n url,\n token,\n config,\n providerId = 'defaultId',\n onSuccess,\n onError,\n children,\n}, ref) => {\n // 使用 useAgentGenerator Hook 管理消息状态\n const { appInfo, chat, stopChat, reChat, messages, loading, setCurrentSession, setMessages } = useAgentGenerator({ url, token, config, onError, onSuccess });\n\n const { appName, icon } = appInfo || {};\n\n useImperativeHandle(ref, () => ({\n chat,\n stopChat,\n reChat,\n getAppInfo: () => appInfo,\n getMessages: () => messages,\n setMessages,\n setCurrentSession,\n }), [appInfo, messages, chat, stopChat, reChat, setMessages, setCurrentSession]);\n\n // 发送消息\n const handleSendMessage = (_type: string, content: string) => {\n chat(content);\n };\n\n // 清空消息\n const handleClearMessage = () => {\n stopChat();\n setMessages([]);\n setCurrentSession(uuidV4());\n };\n\n // 工具栏按钮点击\n const handleActions = (index: number, actionData: any) => {\n const { content, id } = actionData || {};\n const { text = '' } = content;\n switch (index) {\n case 0:\n reChat();\n break;\n case 1:\n copy(text);\n message.success('复制成功');\n break;\n case 2: {\n const idx = messages.findIndex((item) => item.id === id);\n if (idx >= 0) {\n // 删除该条消息及建议类消息\n if (messages.length - idx <= 2) {\n setMessages((prev) => prev.filter((item) => item.id !== id && item.type !== 'SuggestionMessage'));\n } else {\n // 非最新消息 只删除该条消息\n setMessages((prev) => prev.filter((item) => item.id !== id));\n }\n message.success('删除成功');\n }\n break;\n }\n }\n };\n\n // 建议消息点击\n const handleSuggestMessageClick = (_item: any, id: string) => {\n setMessages((prev: any[]) => prev.filter((m: any) => m.id !== id));\n };\n\n const ToolTip = (messageData: any) => {\n const finalResult = (messageData?.think || []).find((item: any) => item.actionName === 'FINISHED');\n if (!finalResult) return null;\n const { cost, token: tokenCount } = finalResult.extra || {};\n if (!cost && !token) return null;\n return (\n <div style={{ display: 'flex', alignItems: 'center', fontSize: '12px', color: '#949494', flex: 1, paddingRight: '40px' }}>\n { (cost !== undefined && cost !== null) && <div>{cost}s</div> }\n { tokenCount && <Divider type=\"vertical\" /> }\n { tokenCount && <div>{ tokenCount } tokens</div> }\n </div>\n );\n };\n\n return (\n <XProvider>\n <XAiContext.Provider value={{\n avatar: <img src={icon} alt=\"智能体头像\" />,\n userAvatar: <img src={userIcon} alt=\"用户头像\" />,\n emptyStateImage: icon,\n emptyStateText: appName,\n footerTips: '内容由AI生成,无法确保真实准确,仅供参考',\n providerId,\n token,\n messages,\n loading,\n error: null,\n messageTooltip: ToolTip,\n onSend: handleSendMessage,\n onClear: handleClearMessage,\n onStop: stopChat,\n onSuggestMessageClick: handleSuggestMessageClick,\n onMessagesActionsCallback: handleActions,\n isInProvider: true,\n }}\n >\n {children}\n </XAiContext.Provider>\n </XProvider>\n );\n});\n\nexport default XAiProvider;\n"],
5
+ "mappings": "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",
6
6
  "names": ["useAgentGenerator", "uuidV4", "copy", "React", "userIcon"]
7
7
  }
@@ -80,14 +80,30 @@ var XAiProvider = /*#__PURE__*/forwardRef(function (_ref, ref) {
80
80
  message.success('复制成功');
81
81
  break;
82
82
  case 2:
83
- // 删除该条消息及建议类消息
84
- setMessages(function (prev) {
85
- return prev.filter(function (item) {
86
- return item.id !== id && item.type !== 'SuggestionMessage';
83
+ {
84
+ var idx = messages.findIndex(function (item) {
85
+ return item.id === id;
87
86
  });
88
- });
89
- message.success('删除成功');
90
- break;
87
+ if (idx >= 0) {
88
+ // 删除该条消息及建议类消息
89
+ if (messages.length - idx <= 2) {
90
+ setMessages(function (prev) {
91
+ return prev.filter(function (item) {
92
+ return item.id !== id && item.type !== 'SuggestionMessage';
93
+ });
94
+ });
95
+ } else {
96
+ // 非最新消息 只删除该条消息
97
+ setMessages(function (prev) {
98
+ return prev.filter(function (item) {
99
+ return item.id !== id;
100
+ });
101
+ });
102
+ }
103
+ message.success('删除成功');
104
+ }
105
+ break;
106
+ }
91
107
  }
92
108
  };
93
109
 
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","useImperativeHandle","message","Divider","v4","uuidV4","copy","XProvider","XAiContext","useAgentGenerator","userIcon","jsxs","_jsxs","jsx","_jsx","XAiProvider","_ref","ref","url","token","config","_ref$providerId","providerId","onSuccess","onError","children","_useAgentGenerator","appInfo","chat","stopChat","reChat","messages","loading","setCurrentSession","setMessages","_ref2","appName","icon","getAppInfo","getMessages","handleSendMessage","_type","content","handleClearMessage","handleActions","index","actionData","_ref3","id","_content$text","text","success","prev","filter","item","type","handleSuggestMessageClick","_item","m","ToolTip","messageData","finalResult","think","find","actionName","_ref4","extra","cost","tokenCount","style","display","alignItems","fontSize","color","flex","paddingRight","undefined","Provider","value","avatar","src","alt","userAvatar","emptyStateImage","emptyStateText","footerTips","error","messageTooltip","onSend","onClear","onStop","onSuggestMessageClick","onMessagesActionsCallback","isInProvider"],"sources":["../../../../src/components/XAiProvider/index.tsx"],"sourcesContent":["import React, { forwardRef, useImperativeHandle } from 'react';\nimport { message, Divider } from 'antd';\nimport { v4 as uuidV4 } from 'uuid';\nimport copy from 'copy-to-clipboard';\nimport { XProvider } from '@ant-design/x';\nimport { XAiContext } from '@/context/AiProviderContext';\nimport { XAiProviderProps, XAiProviderHandle } from '@/types/XAiProvider';\nimport useAgentGenerator from '@/hooks/useAgentGenerator';\nimport userIcon from '@/assets/user.png';\n\nconst XAiProvider = forwardRef<XAiProviderHandle, XAiProviderProps>(({\n url,\n token,\n config,\n providerId = 'defaultId',\n onSuccess,\n onError,\n children,\n}, ref) => {\n // 使用 useAgentGenerator Hook 管理消息状态\n const { appInfo, chat, stopChat, reChat, messages, loading, setCurrentSession, setMessages } = useAgentGenerator({ url, token, config, onError, onSuccess });\n\n const { appName, icon } = appInfo || {};\n\n useImperativeHandle(ref, () => ({\n chat,\n stopChat,\n reChat,\n getAppInfo: () => appInfo,\n getMessages: () => messages,\n setMessages,\n setCurrentSession,\n }), [appInfo, messages, chat, stopChat, reChat, setMessages, setCurrentSession]);\n\n // 发送消息\n const handleSendMessage = (_type: string, content: string) => {\n chat(content);\n };\n\n // 清空消息\n const handleClearMessage = () => {\n stopChat();\n setMessages([]);\n setCurrentSession(uuidV4());\n };\n\n // 工具栏按钮点击\n const handleActions = (index: number, actionData: any) => {\n const { content, id } = actionData || {};\n const { text = '' } = content;\n switch (index) {\n case 0:\n reChat();\n break;\n case 1:\n copy(text);\n message.success('复制成功');\n break;\n case 2:\n // 删除该条消息及建议类消息\n setMessages((prev) => prev.filter((item) => item.id !== id && item.type !== 'SuggestionMessage'));\n message.success('删除成功');\n break;\n }\n };\n\n // 建议消息点击\n const handleSuggestMessageClick = (_item: any, id: string) => {\n setMessages((prev: any[]) => prev.filter((m: any) => m.id !== id));\n };\n\n const ToolTip = (messageData: any) => {\n const finalResult = (messageData?.think || []).find((item: any) => item.actionName === 'FINISHED');\n if (!finalResult) return null;\n const { cost, token: tokenCount } = finalResult.extra || {};\n if (!cost && !token) return null;\n return (\n <div style={{ display: 'flex', alignItems: 'center', fontSize: '12px', color: '#949494', flex: 1, paddingRight: '40px' }}>\n { (cost !== undefined && cost !== null) && <div>{cost}s</div> }\n { tokenCount && <Divider type=\"vertical\" /> }\n { tokenCount && <div>{ tokenCount } tokens</div> }\n </div>\n );\n };\n\n return (\n <XProvider>\n <XAiContext.Provider value={{\n avatar: <img src={icon} alt=\"智能体头像\" />,\n userAvatar: <img src={userIcon} alt=\"用户头像\" />,\n emptyStateImage: icon,\n emptyStateText: appName,\n footerTips: '内容由AI生成,无法确保真实准确,仅供参考',\n providerId,\n token,\n messages,\n loading,\n error: null,\n messageTooltip: ToolTip,\n onSend: handleSendMessage,\n onClear: handleClearMessage,\n onStop: stopChat,\n onSuggestMessageClick: handleSuggestMessageClick,\n onMessagesActionsCallback: handleActions,\n isInProvider: true,\n }}\n >\n {children}\n </XAiContext.Provider>\n </XProvider>\n );\n});\n\nexport default XAiProvider;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","forwardRef","useImperativeHandle","message","Divider","v4","uuidV4","copy","XProvider","XAiContext","useAgentGenerator","userIcon","jsxs","_jsxs","jsx","_jsx","XAiProvider","_ref","ref","url","token","config","_ref$providerId","providerId","onSuccess","onError","children","_useAgentGenerator","appInfo","chat","stopChat","reChat","messages","loading","setCurrentSession","setMessages","_ref2","appName","icon","getAppInfo","getMessages","handleSendMessage","_type","content","handleClearMessage","handleActions","index","actionData","_ref3","id","_content$text","text","success","idx","findIndex","item","length","prev","filter","type","handleSuggestMessageClick","_item","m","ToolTip","messageData","finalResult","think","find","actionName","_ref4","extra","cost","tokenCount","style","display","alignItems","fontSize","color","flex","paddingRight","undefined","Provider","value","avatar","src","alt","userAvatar","emptyStateImage","emptyStateText","footerTips","error","messageTooltip","onSend","onClear","onStop","onSuggestMessageClick","onMessagesActionsCallback","isInProvider"],"sources":["../../../../src/components/XAiProvider/index.tsx"],"sourcesContent":["import React, { forwardRef, useImperativeHandle } from 'react';\nimport { message, Divider } from 'antd';\nimport { v4 as uuidV4 } from 'uuid';\nimport copy from 'copy-to-clipboard';\nimport { XProvider } from '@ant-design/x';\nimport { XAiContext } from '@/context/AiProviderContext';\nimport { XAiProviderProps, XAiProviderHandle } from '@/types/XAiProvider';\nimport useAgentGenerator from '@/hooks/useAgentGenerator';\nimport userIcon from '@/assets/user.png';\n\nconst XAiProvider = forwardRef<XAiProviderHandle, XAiProviderProps>(({\n url,\n token,\n config,\n providerId = 'defaultId',\n onSuccess,\n onError,\n children,\n}, ref) => {\n // 使用 useAgentGenerator Hook 管理消息状态\n const { appInfo, chat, stopChat, reChat, messages, loading, setCurrentSession, setMessages } = useAgentGenerator({ url, token, config, onError, onSuccess });\n\n const { appName, icon } = appInfo || {};\n\n useImperativeHandle(ref, () => ({\n chat,\n stopChat,\n reChat,\n getAppInfo: () => appInfo,\n getMessages: () => messages,\n setMessages,\n setCurrentSession,\n }), [appInfo, messages, chat, stopChat, reChat, setMessages, setCurrentSession]);\n\n // 发送消息\n const handleSendMessage = (_type: string, content: string) => {\n chat(content);\n };\n\n // 清空消息\n const handleClearMessage = () => {\n stopChat();\n setMessages([]);\n setCurrentSession(uuidV4());\n };\n\n // 工具栏按钮点击\n const handleActions = (index: number, actionData: any) => {\n const { content, id } = actionData || {};\n const { text = '' } = content;\n switch (index) {\n case 0:\n reChat();\n break;\n case 1:\n copy(text);\n message.success('复制成功');\n break;\n case 2: {\n const idx = messages.findIndex((item) => item.id === id);\n if (idx >= 0) {\n // 删除该条消息及建议类消息\n if (messages.length - idx <= 2) {\n setMessages((prev) => prev.filter((item) => item.id !== id && item.type !== 'SuggestionMessage'));\n } else {\n // 非最新消息 只删除该条消息\n setMessages((prev) => prev.filter((item) => item.id !== id));\n }\n message.success('删除成功');\n }\n break;\n }\n }\n };\n\n // 建议消息点击\n const handleSuggestMessageClick = (_item: any, id: string) => {\n setMessages((prev: any[]) => prev.filter((m: any) => m.id !== id));\n };\n\n const ToolTip = (messageData: any) => {\n const finalResult = (messageData?.think || []).find((item: any) => item.actionName === 'FINISHED');\n if (!finalResult) return null;\n const { cost, token: tokenCount } = finalResult.extra || {};\n if (!cost && !token) return null;\n return (\n <div style={{ display: 'flex', alignItems: 'center', fontSize: '12px', color: '#949494', flex: 1, paddingRight: '40px' }}>\n { (cost !== undefined && cost !== null) && <div>{cost}s</div> }\n { tokenCount && <Divider type=\"vertical\" /> }\n { tokenCount && <div>{ tokenCount } tokens</div> }\n </div>\n );\n };\n\n return (\n <XProvider>\n <XAiContext.Provider value={{\n avatar: <img src={icon} alt=\"智能体头像\" />,\n userAvatar: <img src={userIcon} alt=\"用户头像\" />,\n emptyStateImage: icon,\n emptyStateText: appName,\n footerTips: '内容由AI生成,无法确保真实准确,仅供参考',\n providerId,\n token,\n messages,\n loading,\n error: null,\n messageTooltip: ToolTip,\n onSend: handleSendMessage,\n onClear: handleClearMessage,\n onStop: stopChat,\n onSuggestMessageClick: handleSuggestMessageClick,\n onMessagesActionsCallback: handleActions,\n isInProvider: true,\n }}\n >\n {children}\n </XAiContext.Provider>\n </XProvider>\n );\n});\n\nexport default XAiProvider;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,mBAAmB,QAAQ,OAAO;AAC9D,SAASC,OAAO,EAAEC,OAAO,QAAQ,MAAM;AACvC,SAASC,EAAE,IAAIC,MAAM,QAAQ,MAAM;AACnC,OAAOC,IAAI,MAAM,mBAAmB;AACpC,SAASC,SAAS,QAAQ,eAAe;AACzC,SAASC,UAAU;AAEnB,OAAOC,iBAAiB;AACxB,OAAOC,QAAQ;AAA0B,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAEzC,IAAMC,WAAW,gBAAGf,UAAU,CAAsC,UAAAgB,IAAA,EAQjEC,GAAG,EAAK;EAAA,IAPTC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,KAAK,GAAAH,IAAA,CAALG,KAAK;IACLC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IAAAC,eAAA,GAAAL,IAAA,CACNM,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,WAAW,GAAAA,eAAA;IACxBE,SAAS,GAAAP,IAAA,CAATO,SAAS;IACTC,OAAO,GAAAR,IAAA,CAAPQ,OAAO;IACPC,QAAQ,GAAAT,IAAA,CAARS,QAAQ;EAER;EACA,IAAAC,kBAAA,GAA+FjB,iBAAiB,CAAC;MAAES,GAAG,EAAHA,GAAG;MAAEC,KAAK,EAALA,KAAK;MAAEC,MAAM,EAANA,MAAM;MAAEI,OAAO,EAAPA,OAAO;MAAED,SAAS,EAATA;IAAU,CAAC,CAAC;IAApJI,OAAO,GAAAD,kBAAA,CAAPC,OAAO;IAAEC,IAAI,GAAAF,kBAAA,CAAJE,IAAI;IAAEC,QAAQ,GAAAH,kBAAA,CAARG,QAAQ;IAAEC,MAAM,GAAAJ,kBAAA,CAANI,MAAM;IAAEC,QAAQ,GAAAL,kBAAA,CAARK,QAAQ;IAAEC,OAAO,GAAAN,kBAAA,CAAPM,OAAO;IAAEC,iBAAiB,GAAAP,kBAAA,CAAjBO,iBAAiB;IAAEC,WAAW,GAAAR,kBAAA,CAAXQ,WAAW;EAE1F,IAAAC,KAAA,GAA0BR,OAAO,IAAI,CAAC,CAAC;IAA/BS,OAAO,GAAAD,KAAA,CAAPC,OAAO;IAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI;EAErBpC,mBAAmB,CAACgB,GAAG,EAAE;IAAA,OAAO;MAC9BW,IAAI,EAAJA,IAAI;MACJC,QAAQ,EAARA,QAAQ;MACRC,MAAM,EAANA,MAAM;MACNQ,UAAU,EAAE,SAAAA,WAAA;QAAA,OAAMX,OAAO;MAAA;MACzBY,WAAW,EAAE,SAAAA,YAAA;QAAA,OAAMR,QAAQ;MAAA;MAC3BG,WAAW,EAAXA,WAAW;MACXD,iBAAiB,EAAjBA;IACF,CAAC;EAAA,CAAC,EAAE,CAACN,OAAO,EAAEI,QAAQ,EAAEH,IAAI,EAAEC,QAAQ,EAAEC,MAAM,EAAEI,WAAW,EAAED,iBAAiB,CAAC,CAAC;;EAEhF;EACA,IAAMO,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,KAAa,EAAEC,OAAe,EAAK;IAC5Dd,IAAI,CAACc,OAAO,CAAC;EACf,CAAC;;EAED;EACA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAA,EAAS;IAC/Bd,QAAQ,CAAC,CAAC;IACVK,WAAW,CAAC,EAAE,CAAC;IACfD,iBAAiB,CAAC5B,MAAM,CAAC,CAAC,CAAC;EAC7B,CAAC;;EAED;EACA,IAAMuC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAa,EAAEC,UAAe,EAAK;IACxD,IAAAC,KAAA,GAAwBD,UAAU,IAAI,CAAC,CAAC;MAAhCJ,OAAO,GAAAK,KAAA,CAAPL,OAAO;MAAEM,EAAE,GAAAD,KAAA,CAAFC,EAAE;IACnB,IAAAC,aAAA,GAAsBP,OAAO,CAArBQ,IAAI;MAAJA,IAAI,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IACjB,QAAQJ,KAAK;MACX,KAAK,CAAC;QACJf,MAAM,CAAC,CAAC;QACR;MACF,KAAK,CAAC;QACJxB,IAAI,CAAC4C,IAAI,CAAC;QACVhD,OAAO,CAACiD,OAAO,CAAC,MAAM,CAAC;QACvB;MACF,KAAK,CAAC;QAAE;UACN,IAAMC,GAAG,GAAGrB,QAAQ,CAACsB,SAAS,CAAC,UAACC,IAAI;YAAA,OAAKA,IAAI,CAACN,EAAE,KAAKA,EAAE;UAAA,EAAC;UACxD,IAAII,GAAG,IAAI,CAAC,EAAE;YACZ;YACA,IAAIrB,QAAQ,CAACwB,MAAM,GAAGH,GAAG,IAAI,CAAC,EAAE;cAC9BlB,WAAW,CAAC,UAACsB,IAAI;gBAAA,OAAKA,IAAI,CAACC,MAAM,CAAC,UAACH,IAAI;kBAAA,OAAKA,IAAI,CAACN,EAAE,KAAKA,EAAE,IAAIM,IAAI,CAACI,IAAI,KAAK,mBAAmB;gBAAA,EAAC;cAAA,EAAC;YACnG,CAAC,MAAM;cACL;cACAxB,WAAW,CAAC,UAACsB,IAAI;gBAAA,OAAKA,IAAI,CAACC,MAAM,CAAC,UAACH,IAAI;kBAAA,OAAKA,IAAI,CAACN,EAAE,KAAKA,EAAE;gBAAA,EAAC;cAAA,EAAC;YAC9D;YACA9C,OAAO,CAACiD,OAAO,CAAC,MAAM,CAAC;UACzB;UACA;QACF;IACF;EACF,CAAC;;EAED;EACA,IAAMQ,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIC,KAAU,EAAEZ,EAAU,EAAK;IAC5Dd,WAAW,CAAC,UAACsB,IAAW;MAAA,OAAKA,IAAI,CAACC,MAAM,CAAC,UAACI,CAAM;QAAA,OAAKA,CAAC,CAACb,EAAE,KAAKA,EAAE;MAAA,EAAC;IAAA,EAAC;EACpE,CAAC;EAED,IAAMc,OAAO,GAAG,SAAVA,OAAOA,CAAIC,WAAgB,EAAK;IACpC,IAAMC,WAAW,GAAG,CAAC,CAAAD,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEE,KAAK,KAAI,EAAE,EAAEC,IAAI,CAAC,UAACZ,IAAS;MAAA,OAAKA,IAAI,CAACa,UAAU,KAAK,UAAU;IAAA,EAAC;IAClG,IAAI,CAACH,WAAW,EAAE,OAAO,IAAI;IAC7B,IAAAI,KAAA,GAAoCJ,WAAW,CAACK,KAAK,IAAI,CAAC,CAAC;MAAnDC,IAAI,GAAAF,KAAA,CAAJE,IAAI;MAASC,UAAU,GAAAH,KAAA,CAAjBjD,KAAK;IACnB,IAAI,CAACmD,IAAI,IAAI,CAACnD,KAAK,EAAE,OAAO,IAAI;IAChC,oBACEP,KAAA;MAAK4D,KAAK,EAAE;QAAEC,OAAO,EAAE,MAAM;QAAEC,UAAU,EAAE,QAAQ;QAAEC,QAAQ,EAAE,MAAM;QAAEC,KAAK,EAAE,SAAS;QAAEC,IAAI,EAAE,CAAC;QAAEC,YAAY,EAAE;MAAO,CAAE;MAAArD,QAAA,GACpH6C,IAAI,KAAKS,SAAS,IAAIT,IAAI,KAAK,IAAI,iBAAK1D,KAAA;QAAAa,QAAA,GAAM6C,IAAI,EAAC,GAAC;MAAA,CAAK,CAAC,EAC3DC,UAAU,iBAAIzD,IAAA,CAACX,OAAO;QAACuD,IAAI,EAAC;MAAU,CAAE,CAAC,EACzCa,UAAU,iBAAI3D,KAAA;QAAAa,QAAA,GAAO8C,UAAU,EAAE,SAAO;MAAA,CAAK,CAAC;IAAA,CAC7C,CAAC;EAEV,CAAC;EAED,oBACEzD,IAAA,CAACP,SAAS;IAAAkB,QAAA,eACRX,IAAA,CAACN,UAAU,CAACwE,QAAQ;MAACC,KAAK,EAAE;QAC1BC,MAAM,eAAEpE,IAAA;UAAKqE,GAAG,EAAE9C,IAAK;UAAC+C,GAAG,EAAC;QAAO,CAAE,CAAC;QACtCC,UAAU,eAAEvE,IAAA;UAAKqE,GAAG,EAAEzE,QAAS;UAAC0E,GAAG,EAAC;QAAM,CAAE,CAAC;QAC7CE,eAAe,EAAEjD,IAAI;QACrBkD,cAAc,EAAEnD,OAAO;QACvBoD,UAAU,EAAE,uBAAuB;QACnClE,UAAU,EAAVA,UAAU;QACVH,KAAK,EAALA,KAAK;QACLY,QAAQ,EAARA,QAAQ;QACRC,OAAO,EAAPA,OAAO;QACPyD,KAAK,EAAE,IAAI;QACXC,cAAc,EAAE5B,OAAO;QACvB6B,MAAM,EAAEnD,iBAAiB;QACzBoD,OAAO,EAAEjD,kBAAkB;QAC3BkD,MAAM,EAAEhE,QAAQ;QAChBiE,qBAAqB,EAAEnC,yBAAyB;QAChDoC,yBAAyB,EAAEnD,aAAa;QACxCoD,YAAY,EAAE;MAChB,CAAE;MAAAvE,QAAA,EAECA;IAAQ,CACU;EAAC,CACb,CAAC;AAEhB,CAAC,CAAC;AAEF,eAAeV,WAAW"}