From 8d30fec938fb822b180fd9fda99db4c81c8a6798 Mon Sep 17 00:00:00 2001 From: ai-business-hql Date: Fri, 27 Jun 2025 11:52:22 +0800 Subject: [PATCH] feat: temp --- backend/controller/llm_api.py | 15 +- backend/service/mcp-client.py | 5 +- dist/copilot_web/App-Cc-9V8CS.js | 14 + dist/copilot_web/DebugGuide-DlOSuqF7.js | 4 + .../ParameterDebugInterfaceV2-CMlIMJWN.js | 38 +++ dist/copilot_web/WorkflowOption-Cs32ZDad.js | 4 + dist/copilot_web/assets/cc-icon-DfxqqsZi.svg | 14 + dist/copilot_web/assets/input-CSq6s1bF.css | 1 + dist/copilot_web/assets/logo-BTZhX0BN.png | Bin 0 -> 46281 bytes dist/copilot_web/fonts.css | 1 + dist/copilot_web/input.js | 38 +++ .../message-components-CP6ZQyhw.js | 147 +++++++++ dist/copilot_web/queuePrompt-Cm8deVJl.js | 4 + dist/copilot_web/vendor-markdown-Mq66gLHN.js | 306 ++++++++++++++++++ dist/copilot_web/vendor-react-6F4zURhM.js | 20 ++ dist/copilot_web/vendor-ui-l0sNRNKZ.js | 4 + dist/copilot_web/workflowChat-CQWc5SUC.js | 150 +++++++++ package-lock.json | 6 + 18 files changed, 758 insertions(+), 13 deletions(-) create mode 100644 dist/copilot_web/App-Cc-9V8CS.js create mode 100644 dist/copilot_web/DebugGuide-DlOSuqF7.js create mode 100644 dist/copilot_web/ParameterDebugInterfaceV2-CMlIMJWN.js create mode 100644 dist/copilot_web/WorkflowOption-Cs32ZDad.js create mode 100644 dist/copilot_web/assets/cc-icon-DfxqqsZi.svg create mode 100644 dist/copilot_web/assets/input-CSq6s1bF.css create mode 100644 dist/copilot_web/assets/logo-BTZhX0BN.png create mode 100644 dist/copilot_web/fonts.css create mode 100644 dist/copilot_web/input.js create mode 100644 dist/copilot_web/message-components-CP6ZQyhw.js create mode 100644 dist/copilot_web/queuePrompt-Cm8deVJl.js create mode 100644 dist/copilot_web/vendor-markdown-Mq66gLHN.js create mode 100644 dist/copilot_web/vendor-react-6F4zURhM.js create mode 100644 dist/copilot_web/vendor-ui-l0sNRNKZ.js create mode 100644 dist/copilot_web/workflowChat-CQWc5SUC.js create mode 100644 package-lock.json diff --git a/backend/controller/llm_api.py b/backend/controller/llm_api.py index 508fc7f..6df652f 100644 --- a/backend/controller/llm_api.py +++ b/backend/controller/llm_api.py @@ -8,21 +8,16 @@ import server # LLM model configuration llm_config: List[Dict[str, Any]] = [ + { + "label": "gemini-2.5-flash", + "name": "gemini-2.5-flash-preview-04-17", + "image_enable": True + }, { "label": "gpt-4.1", "name": "gpt-4.1-2025-04-14-GlobalStandard", "image_enable": True, }, - { - "label": "gpt-4o-mini", - "name": "gpt-4o-mini", - "image_enable": True, - }, - { - "label": "gemini-2.5-flash", - "name": "gemini-2.5-flash-preview-04-17", - "image_enable": True - }, { "label": "qwen-plus", "name": "qwen-plus", diff --git a/backend/service/mcp-client.py b/backend/service/mcp-client.py index e25ed25..4a9c379 100644 --- a/backend/service/mcp-client.py +++ b/backend/service/mcp-client.py @@ -85,8 +85,7 @@ async def comfyui_agent_invoke(messages: List[Dict[str, Any]], images: List[Imag You must adhere to the following constraints to complete the task: -- [Important!] Respond must in the language used by the user in their question. Regardless of the language returned by the tools being called, please return the results based on the language used in the user's query. For example, if user ask by English, you must return in English. -- Use only one tool for each decision you make. +- [Important!] Respond must in the language used by the user in their question. Regardless of the language returned by the tools being called, please return the results based on the language used in the user's query. For example, if user ask by English, you must return - Ensure that the commands or tools you invoke are within the provided tool list. - If the execution of a command or tool fails, try changing the parameters or their format before attempting again. - Your generated responses must follow the factual information given above. Do not make up information. @@ -98,6 +97,7 @@ You must adhere to the following constraints to complete the task: - Before performing any analysis or calculation, ensure that all sub-concepts involved have been defined. - Printing the entire content of a file is strictly prohibited, as such actions have high costs and can lead to unforeseen consequences. - Ensure that when you call a tool, you have obtained all the input variables for that tool, and do not fabricate any input values for it. +- When the user's intent is to get workflows or generate images with specific requirements, call both recall_workflow and gen_workflow tools simultaneously to provide comprehensive workflow options. - When the user's intent is to query, return the query result directly without attempting to assist the user in performing operations. - When the user's intent is to get prompts for image generation (like Stable Diffusion). Use specific descriptive language with proper weight modifiers (e.g., (word:1.2)), prefer English terms, and separate elements with commas. Include quality terms (high quality, detailed), style specifications (realistic, anime), lighting (cinematic, golden hour), and composition (wide shot, close up) as needed. When appropriate, include negative prompts to exclude unwanted elements. Return words divided by commas directly without any additional text. - When a user pastes text that appears to be an error message (containing terms like "Failed", "Error", or stack traces), prioritize providing troubleshooting help rather than invoking search tools. Follow these steps: @@ -113,7 +113,6 @@ You must adhere to the following constraints to complete the task: - Alternative approaches if the extension is problematic 5. Suggest preventative measures to avoid similar errors 6. Do NOT automatically invoke search_node or other tools when processing error messages unless specifically requested -- When user provides images, analyze them carefully and incorporate the visual information into your responses and recommendations. - Ensure your responses do not contain illegal or offensive information. """, mcp_servers=[server], diff --git a/dist/copilot_web/App-Cc-9V8CS.js b/dist/copilot_web/App-Cc-9V8CS.js new file mode 100644 index 0000000..4c608f1 --- /dev/null +++ b/dist/copilot_web/App-Cc-9V8CS.js @@ -0,0 +1,14 @@ +function getImportPath(filename) { + return `./${filename}`; + } + const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["copilot_web/workflowChat-CQWc5SUC.js","copilot_web/input.js","copilot_web/vendor-markdown-Mq66gLHN.js","copilot_web/vendor-react-6F4zURhM.js","copilot_web/message-components-CP6ZQyhw.js","copilot_web/assets/input-CSq6s1bF.css","copilot_web/fonts.css"].map(path => { + const apiBase = window.comfyAPI?.api?.api?.api_base; + if (apiBase) { + // 有 API base 时,使用完整路径 + return `${apiBase.substring(1)}/${path}`; + } else { + // 没有 API base 时,使用相对路径 + return `./${path}`; + } + }))))=>i.map(i=>d[i]); +import{_ as a}from"./input.js";import{j as t}from"./vendor-markdown-Mq66gLHN.js";import{r,R as i}from"./vendor-react-6F4zURhM.js";import{C as n}from"./message-components-CP6ZQyhw.js";/* empty css */const o={EXPLAIN_NODE:"copilot:explain-node"},d=i.lazy(()=>a(()=>import(getImportPath("workflowChat-CQWc5SUC.js")).then(e=>e.w),__vite__mapDeps([0,1,2,3,4,5,6])).then(e=>({default:e.default})));function p(){const[e,s]=r.useState(!1);return r.useEffect(()=>{const l=()=>{s(!0)};return window.addEventListener(o.EXPLAIN_NODE,l),()=>window.removeEventListener(o.EXPLAIN_NODE,l)},[]),t.jsx(n,{children:t.jsx("div",{className:"h-full w-full flex flex-col",children:t.jsx(r.Suspense,{fallback:t.jsx("div",{className:"h-full w-full flex items-center justify-center",children:"Loading..."}),children:t.jsx(d,{visible:!0,triggerUsage:e,onUsageTriggered:()=>s(!1)})})})})}export{p as default}; diff --git a/dist/copilot_web/DebugGuide-DlOSuqF7.js b/dist/copilot_web/DebugGuide-DlOSuqF7.js new file mode 100644 index 0000000..251a052 --- /dev/null +++ b/dist/copilot_web/DebugGuide-DlOSuqF7.js @@ -0,0 +1,4 @@ +function getImportPath(filename) { + return `./${filename}`; + } + import{j as r}from"./vendor-markdown-Mq66gLHN.js";import{r as f}from"./vendor-react-6F4zURhM.js";import{B as b,a as m,g as l,W as w}from"./message-components-CP6ZQyhw.js";import{q as h}from"./queuePrompt-Cm8deVJl.js";import"./workflowChat-CQWc5SUC.js";import"./input.js";/* empty css */function O({content:g,name:d="Assistant",avatar:y,onAddMessage:i}){const[a,c]=f.useState(!1);let u;try{u=JSON.parse(g)}catch(s){return console.error("Failed to parse message content:",s),null}const p=async()=>{if(!a){c(!0);try{const s=await m.graphToPrompt();console.log("Current workflow:",s);const e=await h([]);if(console.log("Queue response:",e),e.error||e.node_errors)await x(e);else{const t={id:l(),role:"ai",content:JSON.stringify({text:"Great! I tested your workflow and it appears to be working correctly. No errors were found during the validation process.",ext:[]}),format:"markdown",name:"Assistant"};i?.(t)}}finally{c(!1)}}},x=async s=>{try{const e=await m.graphToPrompt();let t="",n=null;for await(const o of w.streamDebugAgent(s,e))o.text&&(t=o.text,o.ext&&(n=o.ext));if(t){const o={id:l(),role:"ai",content:JSON.stringify({text:t,ext:n||[]}),format:"markdown",name:"Assistant"};i?.(o)}}catch(e){console.error("Error calling debug agent:",e);const t=e,n={id:l(),role:"ai",content:JSON.stringify({text:`I encountered an error while analyzing your workflow: ${t.message||"Unknown error"}`,ext:[]}),format:"markdown",name:"Assistant"};i?.(n)}};return r.jsx(b,{name:d,children:r.jsxs("div",{className:"space-y-3",children:[r.jsx("div",{className:"text-sm text-gray-600 mb-3",children:u.text}),r.jsxs("div",{className:"flex items-center gap-3 p-3 bg-blue-50 rounded-lg border border-blue-200",children:[r.jsx("div",{className:"flex-1",children:r.jsx("p",{className:"text-sm text-blue-800",children:"Would you like me to help debug this workflow?"})}),r.jsx("button",{onClick:p,disabled:a,className:`px-4 py-2 rounded-md transition-colors text-sm font-medium ${a?"bg-gray-400 text-gray-600 cursor-not-allowed":"bg-blue-500 hover:bg-blue-600 text-white"}`,children:a?"Debugging...":"Debug"})]})]})})}export{O as DebugGuide}; diff --git a/dist/copilot_web/ParameterDebugInterfaceV2-CMlIMJWN.js b/dist/copilot_web/ParameterDebugInterfaceV2-CMlIMJWN.js new file mode 100644 index 0000000..b7dcd1b --- /dev/null +++ b/dist/copilot_web/ParameterDebugInterfaceV2-CMlIMJWN.js @@ -0,0 +1,38 @@ +function getImportPath(filename) { + return `./${filename}`; + } + import{j as e}from"./vendor-markdown-Mq66gLHN.js";import{r as k}from"./vendor-react-6F4zURhM.js";import{u as ve,a as ee,g as ie,W as se}from"./message-components-CP6ZQyhw.js";import{m as ht,i as gt}from"./workflowChat-CQWc5SUC.js";import{g as pt,q as ft,a as bt}from"./queuePrompt-Cm8deVJl.js";import"./input.js";/* empty css */const yt=({selectedNodes:t,handleParamSelect:s,selectedParams:r,handleNext:l,handleClose:o})=>{const n=t.flatMap(i=>(i.widgets||[]).map(x=>x.name)).some(i=>r[i]===!0);return e.jsxs("div",{className:"bg-white rounded-lg shadow-sm border border-gray-200 p-4",children:[e.jsxs("div",{className:"mb-4 border-b pb-2 flex justify-between items-center",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-base font-medium text-gray-800",children:"Select parameters"}),e.jsx("p",{className:"text-xs text-gray-500",children:"multiple selections supported"})]}),e.jsx("button",{className:"text-gray-400 hover:text-gray-600",onClick:o,children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),t.map((i,x)=>{const m=i.title||"Unknown Node",u=i.widgets||[];return e.jsxs("div",{className:"border rounded-md mb-4 overflow-hidden",children:[e.jsx("div",{className:"bg-gray-50 px-3 py-2 text-sm font-medium text-gray-700 border-b",children:m}),e.jsx("div",{className:"p-4 space-y-3",children:e.jsx("div",{className:"flex items-center gap-3 flex-wrap",children:u.map((d,p)=>{const y=d.name;return e.jsxs("div",{className:"flex items-center",children:[e.jsx("div",{className:`w-5 h-5 rounded-full border flex items-center justify-center ${r[y]?"border-red-500 bg-red-100":"border-gray-300"}`,onClick:j=>s(y,j),children:r[y]&&e.jsx("div",{className:"w-3 h-3 rounded-full bg-red-500"})}),e.jsx("span",{className:"ml-2 text-gray-700 text-xs",children:y})]},`widget-${p}`)})})})]},`node-${x}`)}),e.jsx("div",{className:"mt-6 flex justify-center",children:e.jsx("button",{onClick:i=>l(i),disabled:!n,className:`px-3 py-1.5 text-xs ${n?"bg-pink-200 text-pink-700 hover:bg-pink-300":"bg-gray-200 text-gray-500 cursor-not-allowed"} rounded-md transition-colors`,children:"Next"})})]})},jt=({selectedNodes:t,paramTestValues:s,selectedParams:r,updateParamTestValues:l,toggleDropdown:o,openDropdowns:a,handleTestValueSelect:n,searchTerms:i,handleSearch:x,handleSelectAll:m,handleNext:u,handlePrevious:d,handleClose:p,inputValues:y,setInputValues:j,textInputs:M,handleTextInputChange:$,handleAddTextInput:w,handleRemoveTextInput:E,openAiWritingModal:f})=>{const N=(g,S,I,U=0)=>{if(g=isNaN(g)?0:g,S=isNaN(S)?100:S,I=isNaN(I)||I<=0?1:I,S{!t||t.length===0||t.forEach(g=>{const S=g.id.toString(),I=g.widgets||{};Object.values(I).forEach(b=>{const P=b.name;if(!r[P])return;if(!(s[S]?.[P]?.length>0)&&b.type==="number"){const v=b.options?.min||0,B=b.options?.max||100;let O=(b.options?.step||10)/10;O<.1&&(O=.1);const _=b.options?.precision||0,R=N(v,B,O,_);if(R.length>0){l(S,P,R);const z=`${S}_${P}`;j(C=>({...C,[z]:{min:v.toString(),max:B.toString(),step:O.toString()}}))}}if(b.type==="customtext"||b.type.toLowerCase().includes("text")){const v=`${S}_${P}`,B=M[v]||[""];JSON.stringify(B)!==JSON.stringify(s[S]?.[P]||[""])&&l(S,P,B)}})})},[t,r,s,M,l,j,N]),e.jsxs("div",{className:"bg-white rounded-lg shadow-sm border border-gray-200 p-4",children:[e.jsxs("div",{className:"mb-4 border-b pb-2 flex justify-between items-center",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-base font-medium text-gray-800",children:"Set test values"}),e.jsx("p",{className:"text-xs text-gray-500",children:"Configure the test values for each parameter"})]}),e.jsx("button",{className:"text-gray-400 hover:text-gray-600",onClick:p,children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),t.length>0?t.map((g,S)=>{const I=g.widgets||{},U=Object.values(I),b=g.id;return e.jsxs("div",{className:"border rounded-md mb-4 overflow-hidden",children:[e.jsxs("div",{className:"bg-gray-50 px-3 py-2 text-xs font-medium text-gray-700 border-b flex justify-between items-center",children:[e.jsxs("span",{children:[g.type," (ID: ",b,")"]}),e.jsx("button",{className:"text-gray-400 hover:text-gray-600",onClick:P=>p(P,S),children:e.jsx("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),e.jsx("div",{className:"p-4 space-y-4",children:U.map((P,T)=>{const v=P.name;if(!r[v])return null;const B=`${b}_${v}`;if(P.type==="customtext"||P.type.toLowerCase().includes("text")){const O=M[B]||[""];return e.jsxs("div",{className:"border-b pb-3",children:[e.jsxs("div",{className:"flex justify-between items-center mb-2",children:[e.jsxs("label",{className:"text-xs font-medium text-gray-700",children:[v,":"]}),e.jsxs("button",{className:"px-2 py-1 bg-blue-100 text-blue-700 rounded text-xs flex items-center hover:bg-blue-200 transition-colors",onClick:()=>f(b,v),children:[e.jsx("svg",{className:"w-3 h-3 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})}),"AI Writing"]})]}),e.jsx("div",{className:"space-y-2",children:O.map((_,R)=>e.jsxs("div",{className:"flex items-start",children:[e.jsx("textarea",{className:`flex-1 border ${_?"border-gray-300":"border-red-500"} rounded p-2 text-xs resize-y`,rows:2,placeholder:"Enter text...",value:_,onChange:z=>$(b,v,R,z.target.value),required:!0}),e.jsx("button",{className:"ml-2 text-red-500 hover:text-red-700",onClick:()=>E(b,v,R),title:"Remove",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},R))}),e.jsxs("button",{className:"mt-2 px-2 py-1 border border-dashed border-gray-300 rounded text-xs text-gray-600 hover:bg-gray-50 flex items-center",onClick:()=>w(b,v),children:[e.jsx("svg",{className:"w-3 h-3 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 6v6m0 0v6m0-6h6m-6 0H6"})}),"Add Text"]})]},T)}if(P.type==="number"){const O=P.options?.min||0,_=P.options?.max||100,R=(P.options?.step||10)/10,z=P.options?.precision||0,C=N(O,_,R,z),F=y[B]||{min:O.toString(),max:_.toString(),step:R.toString()};return e.jsxs("div",{className:"border-b pb-3",children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsxs("label",{className:"text-xs font-medium text-gray-700",children:[v,":"]}),e.jsx("div",{className:"w-4"})]}),e.jsxs("div",{className:"flex space-x-2 items-center",children:[e.jsx("label",{className:"text-xs text-gray-600",children:"Min"}),e.jsx("input",{type:"text",className:"w-12 h-6 border border-gray-300 rounded text-xs px-2",value:F.min,required:!0,onClick:L=>{L.preventDefault(),L.stopPropagation()},onChange:L=>{L.preventDefault(),L.stopPropagation();const D=L.target.value;if(j(A=>({...A,[B]:{...A[B],min:D}})),D===""||!isNaN(parseFloat(D))){const A=D===""?0:parseFloat(D),H=parseFloat(F.max||_.toString()),G=parseFloat(F.step||R.toString()),J=N(A,H,G,z);l(b,v,J)}}}),e.jsx("label",{className:"text-xs text-gray-600",children:"Max"}),e.jsx("input",{type:"text",className:"w-12 h-6 border border-gray-300 rounded text-xs px-2",value:F.max,onClick:L=>{L.preventDefault(),L.stopPropagation()},required:!0,onChange:L=>{L.preventDefault(),L.stopPropagation();const D=L.target.value;if(j(A=>({...A,[B]:{...A[B],max:D}})),D===""||!isNaN(parseFloat(D))){const A=parseFloat(F.min||O.toString()),H=D===""?A:parseFloat(D),G=parseFloat(F.step||R.toString()),J=N(A,H,G,z);l(b,v,J)}}}),e.jsx("label",{className:"text-xs text-gray-600",children:"Step"}),e.jsx("input",{type:"text",className:"w-12 h-6 border border-gray-300 rounded text-xs px-2",value:F.step,required:!0,onClick:L=>{L.preventDefault(),L.stopPropagation()},onChange:L=>{L.preventDefault(),L.stopPropagation();const D=L.target.value;if(j(A=>({...A,[B]:{...A[B],step:D}})),D===""||!isNaN(parseFloat(D))&&parseFloat(D)>0){const A=parseFloat(F.min||O.toString()),H=parseFloat(F.max||_.toString());let G=D===""?1:parseFloat(D);G<.1&&(G=.1);const J=N(A,H,G,z);l(b,v,J)}}})]}),e.jsxs("div",{className:"mt-1",children:[e.jsx("label",{className:"text-xs text-gray-600",children:"Test values"}),e.jsx("div",{className:"mt-1 flex flex-wrap gap-1",children:(()=>{const L=s[b]?.[v]||C;if(L.length<=10)return L.map((D,A)=>e.jsxs("div",{className:"px-2 py-0.5 bg-blue-100 text-blue-800 rounded-md flex items-center text-xs cursor-pointer hover:bg-blue-200",onClick:H=>{H.stopPropagation(),n(b,v,D,H)},children:[e.jsx("span",{children:D}),e.jsx("svg",{className:"w-4 h-4 ml-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})]},A));{const D=L.slice(0,5),A=L.slice(L.length-5);return e.jsxs(e.Fragment,{children:[D.map((H,G)=>e.jsxs("div",{className:"px-2 py-0.5 bg-blue-100 text-blue-800 rounded-md flex items-center text-xs cursor-pointer hover:bg-blue-200",onClick:J=>{J.stopPropagation(),n(b,v,H,J)},children:[e.jsx("span",{children:H}),e.jsx("svg",{className:"w-4 h-4 ml-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})]},`first-${G}`)),e.jsx("div",{className:"px-2 py-0.5 bg-gray-100 text-gray-600 rounded-md flex items-center text-xs",children:"..."}),A.map((H,G)=>e.jsxs("div",{className:"px-2 py-0.5 bg-blue-100 text-blue-800 rounded-md flex items-center text-xs cursor-pointer hover:bg-blue-200",onClick:J=>{J.stopPropagation(),n(b,v,H,J)},children:[e.jsx("span",{children:H}),e.jsx("svg",{className:"w-4 h-4 ml-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})]},`last-${G}`))]})}})()})]}),e.jsx("div",{className:"mt-1",children:e.jsx("p",{className:"text-xs text-gray-500",children:"Values are distributed evenly between Min and Max"})})]},T)}else if(P.type==="combo"){const O=P.options?.values||[],_=`${b}_${v}`,R=C=>typeof C=="string"?C:C&&typeof C=="object"&&"name"in C?C.name:String(C),z=C=>typeof C=="object"&&C!==null&&"name"in C?C.name:C;return e.jsxs("div",{className:"border-b pb-3",children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("label",{className:"text-xs font-medium text-gray-700",children:v}),e.jsxs("div",{className:"relative dropdown-container",children:[e.jsxs("button",{className:`appearance-none border ${(s[b]?.[v]||[]).length===0?"border-red-500":"border-gray-300"} rounded px-2 py-0.5 pr-6 text-xs flex items-center bg-white text-gray-700`,onClick:C=>{C.preventDefault(),C.stopPropagation(),o(b,v,C)},"data-dropdown":_,children:[e.jsx("span",{children:(s[b]?.[v]||[]).length>0?`${v}: ${(s[b]?.[v]||[]).length} selected`:`Select ${v}`}),e.jsx("div",{className:"ml-2",children:e.jsx("svg",{className:"fill-current h-4 w-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",children:e.jsx("path",{d:"M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z"})})})]}),a[_]&&e.jsxs("div",{className:"absolute z-[9999] mt-1 w-64 bg-white border border-gray-300 rounded-md shadow-lg dropdown-menu",style:{position:"fixed",top:typeof a[_]=="object"?`${a[_].y}px`:"0px",left:typeof a[_]=="object"?`${a[_].x}px`:"0px",maxHeight:"300px",overflowY:"auto"},children:[e.jsx("div",{className:"p-2 border-b sticky top-0 bg-white",children:e.jsx("input",{type:"text",className:"w-full px-2 py-0.5 text-xs border border-gray-300 rounded",placeholder:"Search...",value:i[_]||"",onChange:C=>{C.preventDefault(),C.stopPropagation(),x(b,v,C.target.value)},onClick:C=>{C.preventDefault(),C.stopPropagation()},autoFocus:!0})}),e.jsxs("div",{className:"px-3 py-1.5 bg-gray-50 border-b cursor-pointer text-xs flex items-center text-gray-700 hover:bg-gray-100",onClick:C=>{C.preventDefault(),C.stopPropagation();const L=O.filter(D=>!i[_]||R(D).toLowerCase().includes((i[_]||"").toLowerCase())).map(z);m(b,v,L)},children:[e.jsx("div",{className:`w-4 h-4 mr-2 border rounded-sm flex items-center justify-center ${O.length>0&&(s[b]?.[v]||[]).length===O.length?"bg-blue-500 border-blue-500":(s[b]?.[v]||[]).length>0?"bg-blue-500 border-blue-500 opacity-50":"border-gray-300"}`,children:(s[b]?.[v]||[]).length>0&&e.jsx("svg",{className:"w-3 h-3 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})}),e.jsx("span",{className:"font-medium",children:O.length>0&&(s[b]?.[v]||[]).length===O.length?"Deselect All":"Select All"})]}),e.jsxs("div",{className:"max-h-60 overflow-y-auto",children:[O.filter(C=>!i[_]||R(C).toLowerCase().includes((i[_]||"").toLowerCase())).map((C,F)=>e.jsxs("div",{className:"px-3 py-1.5 hover:bg-gray-100 cursor-pointer text-xs flex items-center text-gray-700",onClick:L=>{L.preventDefault(),L.stopPropagation(),n(b,v,z(C),L)},children:[e.jsx("div",{className:`w-4 h-4 mr-2 border rounded-sm flex items-center justify-center ${(s[b]?.[v]||[]).includes(z(C))?"bg-blue-500 border-blue-500":"border-gray-300"}`,children:(s[b]?.[v]||[]).includes(z(C))&&e.jsx("svg",{className:"w-3 h-3 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})}),e.jsx("span",{className:"whitespace-normal overflow-hidden text-ellipsis",children:R(C)})]},F)),O.filter(C=>!i[_]||R(C).toLowerCase().includes((i[_]||"").toLowerCase())).length===0&&e.jsx("div",{className:"px-3 py-4 text-sm text-gray-500 text-center",children:"No matching options"})]})]})]})]}),e.jsxs("div",{className:"mt-2",children:[e.jsx("label",{className:"text-xs text-gray-600",children:"Test values"}),(s[b]?.[v]||[]).length===0&&e.jsx("div",{className:"text-xs text-red-500 mt-1",children:"Please select at least one value"}),e.jsx("div",{className:"mt-1 flex flex-wrap gap-1",children:(s[b]?.[v]||[]).map((C,F)=>e.jsxs("div",{className:"px-2 py-0.5 bg-blue-100 text-blue-800 rounded-md flex items-center text-xs",children:[e.jsx("span",{children:C}),e.jsx("svg",{className:"w-4 h-4 ml-1 cursor-pointer hover:text-blue-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",onClick:L=>{L.preventDefault(),L.stopPropagation(),n(b,v,C,L)},children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})]},F))})]})]},T)}else return e.jsxs("div",{className:"border-b pb-3",children:[e.jsx("div",{className:"flex justify-between items-center",children:e.jsx("label",{className:"text-xs font-medium text-gray-700",children:v})}),e.jsxs("div",{className:"mt-2",children:[e.jsx("label",{className:"text-xs text-gray-600",children:"Test values"}),e.jsxs("div",{className:"mt-1 flex flex-wrap gap-1",children:[(s[b]?.[v]||[]).map((O,_)=>e.jsxs("div",{className:"px-2 py-0.5 bg-blue-100 text-blue-800 rounded-md flex items-center text-xs",children:[e.jsx("span",{children:O}),e.jsx("svg",{className:"w-4 h-4 ml-1 cursor-pointer hover:text-blue-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",onClick:R=>{R.preventDefault(),R.stopPropagation(),n(b,v,O,R)},children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})]},_)),e.jsxs("button",{className:"px-2 py-0.5 border border-dashed border-blue-300 text-blue-600 rounded-md text-xs flex items-center hover:bg-blue-50",onClick:O=>{O.preventDefault(),O.stopPropagation();const _=`${v}${(s[b]?.[v]||[]).length+1}`;l(b,v,[...s[b]?.[v]||[],_])},children:[e.jsx("svg",{className:"w-4 h-4 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 6v6m0 0v6m0-6h6m-6 0H6"})}),e.jsx("span",{children:"Add"})]})]})]})]},T)})})]},S)}):e.jsx("div",{className:"border rounded-md mb-4 p-4 text-center text-gray-500",children:"No nodes selected. Please select a node in the workflow to configure parameters."}),e.jsxs("div",{className:"mt-6 flex justify-between",children:[e.jsx("button",{onClick:g=>d(g),className:"px-3 py-1.5 text-xs bg-gray-100 text-gray-800 rounded-md hover:bg-gray-200 transition-colors",children:"Previous"}),e.jsx("button",{onClick:g=>u(g),className:"px-3 py-1.5 text-xs bg-pink-200 text-pink-700 rounded-md hover:bg-pink-300 transition-colors",children:"Next"})]})]})},vt=({selectedNodes:t,paramTestValues:s,selectedParams:r,totalCount:l,errorMessage:o,handlePrevious:a,handleStartGeneration:n,handleClose:i})=>{const[x,m]=k.useState([]),[u,d]=k.useState(null),[p,y]=k.useState(!1),{dispatch:j}=ve(),M=()=>{const w=Object.values(ee.graph._nodes_by_id),E=[],f=[];for(const g of w)g.type==="SaveImage"?E.push(g.id):g.type==="PreviewImage"&&f.push(g.id);const N=[...E,...f];m(N),N.length===1?d(N[0]):N.length>1&&(y(!0),d(null))};k.useEffect(()=>{M()},[]),k.useEffect(()=>{const w=()=>{if(!ee.canvas.selected_nodes)return;const E=Object.values(ee.canvas.selected_nodes);if(E.length===0)return;const f=E[0];f&&(f.type==="SaveImage"||f.type==="PreviewImage")&&(console.log("Selected image node:",f.id),d(f.id))};return document.addEventListener("click",w),()=>{document.removeEventListener("click",w)}},[]);const $=w=>{if(w&&(w.preventDefault(),w.stopPropagation()),x.length>1&&!u){y(!0);return}n(w,u||void 0)};return e.jsxs("div",{className:"bg-white rounded-lg shadow-sm border border-gray-200 p-4",children:[e.jsxs("div",{className:"mb-4 border-b pb-2 flex justify-between items-center",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-base font-medium text-gray-800",children:"Conform combinations"}),e.jsxs("p",{className:"text-xs text-gray-500",children:["In the selected parameter combinations, there are ",l," total runs. Each run will generate a separate image."]})]}),e.jsx("button",{className:"text-gray-400 hover:text-gray-600",onClick:i,children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),p&&x.length>1&&e.jsx("div",{className:"mb-4 p-3 bg-yellow-50 border border-yellow-200 rounded-md text-amber-600 text-xs",children:e.jsxs("div",{className:"flex items-start",children:[e.jsx("div",{className:"flex-shrink-0 mt-0.5",children:e.jsx("svg",{className:"h-3 w-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}),e.jsx("div",{className:"ml-2",children:u===null?`Multiple SaveImage and PreviewImage nodes detected with IDs ${x.join(",")}. Please click the node on canvas.`:`Current node ID is ${u}, please click Start Generation again`})]})}),o&&e.jsx("div",{className:"mb-4 p-3 bg-red-50 border border-red-200 rounded-md text-red-600 text-xs",children:e.jsxs("div",{className:"flex items-start",children:[e.jsx("div",{className:"flex-shrink-0 mt-0.5",children:e.jsx("svg",{className:"h-3 w-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}),e.jsx("div",{className:"ml-2",children:o})]})}),t.length>0?t.map((w,E)=>{const f=w.type||"Unknown Node",N=w.widgets||[],g=w.id;return e.jsxs("div",{className:"border rounded-md mb-4 overflow-hidden",children:[e.jsxs("div",{className:"bg-gray-50 px-3 py-2 text-xs font-medium text-gray-700 border-b",children:[f," (ID: ",g,")"]}),e.jsx("div",{className:"p-4 space-y-3",children:N.map((S,I)=>{const U=S.name;if(!r[U])return null;const b=s[g]?.[U]||[],P=Array.isArray(b)?`[${b.join(", ")}]`:JSON.stringify(b);return e.jsxs("div",{className:IT.preventDefault()})})]},I)})})]},E)}):e.jsx("div",{className:"border rounded-md mb-4 p-4 text-center text-gray-500 text-xs",children:"No nodes selected. Please select a node in the workflow to configure parameters."}),e.jsxs("div",{className:"mt-6 flex justify-between",children:[e.jsx("button",{onClick:w=>a(w),className:"px-3 py-1.5 text-xs bg-gray-100 text-gray-800 rounded-md hover:bg-gray-200 transition-colors",children:"Previous"}),e.jsx("button",{onClick:w=>$(w),className:`px-3 py-1.5 text-xs rounded-md transition-colors ${x.length>1&&!u?"bg-gray-200 text-gray-500 cursor-not-allowed":"bg-pink-200 text-pink-700 hover:bg-pink-300"}`,disabled:x.length>1&&!u,children:"Generate & Compare"})]})]})},Nt=({selectedNodes:t,paramTestValues:s,selectedParams:r,totalCount:l,completedCount:o,errorMessage:a,handleClose:n,setIsProcessing:i,setCurrentScreen:x,cleanupPolling:m})=>{const u=d=>{d.preventDefault(),d.stopPropagation(),ht({clear:!0}),gt(),m&&m(),i(!1),x(2)};return e.jsxs("div",{className:"bg-white rounded-lg shadow-sm border border-gray-200 p-4 relative",children:[e.jsx("div",{className:"absolute inset-0 bg-gray-500 bg-opacity-30 flex flex-col items-center justify-center z-10",children:e.jsxs("div",{className:"text-center text-gray-800 bg-white p-4 rounded-lg shadow-lg",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:"Processing..."}),e.jsxs("div",{className:"text-xs mb-3",children:["Completed ",o," of ",l," runs"]}),e.jsx("div",{className:"w-48 h-2 bg-gray-200 rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-pink-500 transition-all duration-200",style:{width:`${o/l*100}%`}})}),e.jsxs("div",{className:"mt-2 text-xs text-gray-600",children:["Already generated ",o," images"]}),e.jsx("button",{onClick:u,className:"mt-4 px-3 py-1.5 text-xs bg-gray-200 text-gray-800 rounded-md hover:bg-gray-300 transition-colors",children:"Cancel"})]})}),e.jsxs("div",{className:"mb-4 border-b pb-2 flex justify-between items-center",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-base font-medium text-gray-800",children:"Confirm Test Configuration"}),e.jsxs("p",{className:"text-xs text-gray-500",children:["In the selected parameter combinations, there are ",l," total runs. Each run will generate a separate image."]})]}),e.jsx("button",{className:"text-gray-400 hover:text-gray-600",onClick:n,children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),a&&e.jsx("div",{className:"mb-4 p-3 bg-red-50 border border-red-200 rounded-md text-red-600 text-xs",children:e.jsxs("div",{className:"flex items-start",children:[e.jsx("div",{className:"flex-shrink-0 mt-0.5",children:e.jsx("svg",{className:"h-3 w-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}),e.jsx("div",{className:"ml-2",children:a})]})}),t.length>0?t.map((d,p)=>{const y=d.type||"Unknown Node",j=d.widgets||[],M=d.id;return e.jsxs("div",{className:"border rounded-md mb-4 overflow-hidden",children:[e.jsxs("div",{className:"bg-gray-50 px-3 py-2 text-xs font-medium text-gray-700 border-b",children:[y," (ID: ",M,")"]}),e.jsx("div",{className:"p-4 space-y-3",children:j.map(($,w)=>{const E=$.name;if(!r[E])return null;const f=s[M]?.[E]||[],N=Array.isArray(f)?`[${f.join(", ")}]`:JSON.stringify(f);return e.jsxs("div",{className:wg.preventDefault()})})]},w)})})]},p)}):e.jsx("div",{className:"border rounded-md mb-4 p-4 text-center text-gray-500",children:"No nodes selected. Please select a node in the workflow to configure parameters."})]})},te=({visible:t,imageUrl:s,params:r,onClose:l})=>{if(!t)return null;const o=()=>{if(!r||!r.nodeParams)return null;const a=Object.entries(r.nodeParams).map(([n,i])=>{const x=r.nodeNames?.[n]||r.selectedNodeInfoMap&&r.selectedNodeInfoMap[n]||(n.includes("text")?"Text Node":`Node ${n}`),m=Object.entries(i).filter(([u,d])=>typeof d!="object"||d===null).map(([u,d])=>e.jsxs("div",{className:"pl-4 text-sm py-1 flex",children:[e.jsx("span",{className:"text-gray-600 dark:text-gray-400 mr-2",children:"-"}),e.jsxs("span",{className:"font-medium mr-1",children:[u,":"]}),e.jsx("span",{className:"text-gray-700 dark:text-gray-300 break-all",children:String(d)})]},u));return e.jsxs("div",{className:"mb-4",children:[e.jsx("div",{className:"font-semibold text-pink-600 dark:text-pink-400 text-base py-1 border-b border-gray-200 dark:border-gray-700 mb-2",children:x}),m.length>0?m:e.jsx("div",{className:"pl-4 text-sm text-gray-500 italic",children:"nodeParams is null"})]},n)});return e.jsx("div",{className:"overflow-y-auto max-h-full",children:a.length>0?a:e.jsx("div",{className:"text-sm text-gray-500 italic",children:"nodeParams is null"})})};return e.jsx("div",{className:"fixed inset-0 bg-black/40 backdrop-blur-sm flex items-center justify-center z-50",onClick:l,children:e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-2xl flex flex-row w-[90%] max-w-6xl max-h-[90vh] relative m-4 overflow-hidden",onClick:a=>a.stopPropagation(),style:{display:"flex",flexDirection:"row"},children:[e.jsx("button",{className:"absolute top-2 right-2 text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 p-1 z-10",onClick:l,children:e.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),e.jsx("div",{className:"w-[65%] border-r border-gray-200 dark:border-gray-700",children:e.jsx("div",{className:"p-4 h-full flex items-center justify-center",children:e.jsx("img",{src:s,alt:"Enlarged image",className:"max-w-full max-h-[calc(90vh-2rem)] object-contain"})})}),e.jsx("div",{className:"w-[35%] h-full overflow-hidden flex flex-col",children:e.jsxs("div",{className:"p-4 flex-1 overflow-y-auto",children:[e.jsx("h3",{className:"text-lg font-medium text-gray-800 dark:text-gray-200 mb-4",children:"Parameters"}),r&&!r.nodeParams&&Object.entries(r).filter(([a,n])=>a!=="nodeParams"&&typeof n!="object").map(([a,n])=>e.jsxs("div",{className:"py-1 text-sm text-gray-600 dark:text-gray-300",children:[e.jsxs("span",{className:"font-medium",children:[a,":"]})," ",String(n)]},a)),e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-300",children:o()})]})})]})})},wt=({generatedImages:t,selectedImageIndex:s,handleSelectImage:r,handleApplySelected:l,handlePrevious:o,handleClose:a,currentPage:n,handlePageChange:i,imagesPerPage:x,notificationVisible:m,modalVisible:u,modalImageUrl:d,modalImageParams:p,openImageModal:y,closeImageModal:j})=>{const M=Math.ceil(t.length/x),$=(n-1)*x,w=Math.min($+x,t.length),E=t.slice($,w);return e.jsxs("div",{className:"bg-white rounded-lg shadow-sm border border-gray-200 p-4",children:[e.jsxs("div",{className:"mb-4 border-b pb-2 flex justify-between items-center",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-base font-medium text-gray-800",children:"Generation Complete"}),e.jsxs("p",{className:"text-xs text-gray-500",children:["All ",t.length," images have been generated."]})]}),e.jsx("button",{className:"text-gray-400 hover:text-gray-600",onClick:a,children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),m&&e.jsx("div",{className:"fixed top-4 right-4 bg-green-100 border-l-4 border-green-500 text-green-700 p-3 shadow-md rounded animate-fade-in-out z-50",children:e.jsxs("div",{className:"flex items-center",children:[e.jsx("div",{className:"py-1",children:e.jsx("svg",{className:"h-4 w-4 text-green-500 mr-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})}),e.jsx("p",{className:"text-xs",children:"Parameters has been applied."})]})}),e.jsx(te,{visible:u,imageUrl:d,params:p||{},onClose:j}),e.jsx("div",{className:"grid grid-cols-3 gap-4 mb-6",children:E.map((f,N)=>{const g=$+N;return e.jsxs("div",{className:`relative rounded-lg overflow-hidden border ${s===g?"border-pink-500 ring-2 ring-pink-300":"border-gray-200"}`,onClick:S=>r(g,S),children:[e.jsx("button",{className:"absolute top-2 right-2 bg-white bg-opacity-75 rounded-full p-0.5 text-gray-600 hover:text-gray-900 shadow-sm z-10",onClick:S=>y(f.url,f.params,S),children:e.jsx("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5v-4m0 4h-4m4 0l-5-5"})})}),e.jsx("div",{className:"aspect-square",children:e.jsx("img",{src:f.url,alt:`Generated image ${g+1}`,className:"w-full h-full object-cover"})}),e.jsx("div",{className:"p-2 text-xs text-gray-600 bg-white max-h-16 overflow-y-auto",children:Object.entries(f.params).filter(([S,I])=>S!=="nodeParams"&&typeof I!="object").map(([S,I])=>e.jsxs("div",{children:[S,": ",String(I)]},S))})]},g)})}),M>1&&e.jsxs("div",{className:"flex justify-center items-center space-x-2 mt-4 mb-4",children:[e.jsx("button",{onClick:f=>i(1,f),disabled:n===1,className:`px-2 py-1 rounded ${n===1?"text-gray-400 cursor-not-allowed":"text-gray-700 hover:bg-gray-100"}`,children:e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:[e.jsx("path",{fillRule:"evenodd",d:"M15.707 15.707a1 1 0 01-1.414 0l-5-5a1 1 0 010-1.414l5-5a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 010 1.414z",clipRule:"evenodd"}),e.jsx("path",{fillRule:"evenodd",d:"M8.707 15.707a1 1 0 01-1.414 0l-5-5a1 1 0 010-1.414l5-5a1 1 0 111.414 1.414L4.414 10l4.293 4.293a1 1 0 010 1.414z",clipRule:"evenodd"})]})}),e.jsx("button",{onClick:f=>i(n-1,f),disabled:n===1,className:`px-2 py-1 rounded ${n===1?"text-gray-400 cursor-not-allowed":"text-gray-700 hover:bg-gray-100"}`,children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:e.jsx("path",{fillRule:"evenodd",d:"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",clipRule:"evenodd"})})}),e.jsxs("div",{className:"px-2 py-1 text-xs text-gray-800",children:["Page ",n," of ",M]}),e.jsx("button",{onClick:f=>i(n+1,f),disabled:n===M,className:`px-2 py-1 rounded ${n===M?"text-gray-400 cursor-not-allowed":"text-gray-700 hover:bg-gray-100"}`,children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:e.jsx("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})})}),e.jsx("button",{onClick:f=>i(M,f),disabled:n===M,className:`px-2 py-1 rounded ${n===M?"text-gray-400 cursor-not-allowed":"text-gray-700 hover:bg-gray-100"}`,children:e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:[e.jsx("path",{fillRule:"evenodd",d:"M4.293 15.707a1 1 0 001.414 0l5-5a1 1 0 000-1.414l-5-5a1 1 0 00-1.414 1.414L8.586 10 4.293 14.293a1 1 0 000 1.414z",clipRule:"evenodd"}),e.jsx("path",{fillRule:"evenodd",d:"M11.293 15.707a1 1 0 001.414 0l5-5a1 1 0 000-1.414l-5-5a1 1 0 00-1.414 1.414L15.586 10l-4.293 4.293a1 1 0 000 1.414z",clipRule:"evenodd"})]})})]}),e.jsx("div",{className:"mt-6 flex justify-end",children:e.jsx("button",{onClick:f=>l(f),className:"px-3 py-1.5 text-xs bg-pink-200 text-pink-700 rounded-md hover:bg-pink-300 transition-colors",disabled:s===null,children:"Apply Selected"})})]})},kt=({visible:t,aiWritingModalText:s,setAiWritingModalText:r,aiGeneratedTexts:l,aiSelectedTexts:o,aiWritingLoading:a,aiWritingError:n,handleAiWriting:i,toggleTextSelection:x,addSelectedTexts:m,onClose:u})=>t?e.jsx("div",{className:"fixed inset-0 bg-black flex items-center justify-center z-50",children:e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-2xl w-full max-w-2xl max-h-[90vh] flex flex-col",children:[e.jsxs("div",{className:"p-4 border-b border-gray-200 dark:border-gray-700 flex justify-between items-center",children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:"AI Writing Assistant"}),e.jsx("button",{className:"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200",onClick:u,children:e.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),e.jsxs("div",{className:"p-4 overflow-y-auto flex-1",children:[e.jsxs("div",{className:"mb-4",children:[e.jsx("p",{className:"text-sm text-gray-700 dark:text-gray-300 mb-2",children:"Enter text and AI will generate variations"}),e.jsx("textarea",{className:`w-full px-4 py-3 border border-gray-200 dark:border-gray-600 rounded-lg text-gray-900 dark:text-white + bg-gray-50 dark:bg-gray-700 + placeholder-gray-500 dark:placeholder-gray-400 + focus:border-blue-500 dark:focus:border-blue-400 + focus:ring-2 focus:ring-blue-500/20 dark:focus:ring-blue-400/20 + focus:outline-none`,rows:3,placeholder:"Enter some text here...",value:s,onChange:d=>r(d.target.value)}),e.jsx("button",{className:`mt-2 px-4 py-2 rounded-lg text-sm flex items-center transition-colors ${a?"bg-gray-300 dark:bg-gray-600 text-gray-500 dark:text-gray-400 cursor-not-allowed":"bg-blue-600 hover:bg-blue-700 dark:bg-blue-500 dark:hover:bg-blue-600 text-white"}`,onClick:i,disabled:a,children:a?e.jsxs(e.Fragment,{children:[e.jsxs("svg",{className:"animate-spin -ml-1 mr-2 h-4 w-4 text-gray-500 dark:text-gray-400",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[e.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),e.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Generating..."]}):e.jsx(e.Fragment,{children:"Generate"})})]}),n&&e.jsx("div",{className:"mb-4 p-3 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800/20 rounded-md text-red-700 dark:text-red-400 text-sm",children:n}),l.length>0&&e.jsxs("div",{className:"mb-4",children:[e.jsx("p",{className:"text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:"Generated variations (select items to add):"}),e.jsx("div",{className:"space-y-2 max-h-[40vh] overflow-y-auto p-2",children:l.map((d,p)=>e.jsxs("div",{className:"flex items-start border border-gray-200 dark:border-gray-600 rounded-md p-2",children:[e.jsx("div",{className:"mr-2 mt-1",children:e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:"checkbox",id:`text${p+1}`,checked:!!o[`text${p+1}`],onChange:()=>x(`text${p+1}`),className:"sr-only"}),e.jsx("div",{className:`h-4 w-4 rounded border ${o[`text${p+1}`]?"bg-blue-600 dark:bg-blue-500 border-blue-600 dark:border-blue-500":"border-gray-300 dark:border-gray-600"} flex items-center justify-center cursor-pointer`,onClick:()=>x(`text${p+1}`),children:o[`text${p+1}`]&&e.jsx("svg",{className:"h-3 w-3 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})})]})}),e.jsx("label",{htmlFor:`text${p+1}`,className:"text-sm text-gray-700 dark:text-gray-300 cursor-pointer flex-1",children:d})]},p))})]})]}),e.jsxs("div",{className:"p-4 border-t border-gray-200 dark:border-gray-700 flex justify-end flex-shrink-0",children:[e.jsx("button",{className:`px-5 py-2.5 text-gray-700 dark:text-gray-200 bg-white dark:bg-gray-800 hover:bg-gray-100 dark:hover:bg-gray-700 + rounded-lg font-medium transition-colors mr-3`,onClick:u,children:"Cancel"}),e.jsx("button",{className:`px-5 py-2.5 rounded-lg font-medium transition-colors ${Object.values(o).every(d=>!d)?"bg-gray-300 dark:bg-gray-600 text-gray-500 dark:text-gray-400 cursor-not-allowed":"bg-blue-600 hover:bg-blue-700 dark:bg-blue-500 dark:hover:bg-blue-600 text-white"}`,onClick:m,disabled:Object.values(o).every(d=>!d),children:"Add Selected"})]})]})}):null,je=t=>{const s=[],r={};if(Object.keys(t).forEach(a=>{const n=parseInt(a),i=t[a]||{},x=Object.keys(i).filter(u=>i[u]&&i[u].length>0);if(x.length===0)return;const m=[[]];x.forEach(u=>{const d=i[u],p=[];m.forEach(y=>{d.forEach(j=>{const M=[...y,{nodeId:n,paramName:u,paramValue:String(j)}];p.push(M)})}),m.length=0,m.push(...p)}),r[a]=m}),Object.keys(r).length===0)return s;if(Object.keys(r).length===1){const a=Object.keys(r)[0];return r[a]}const l=Object.keys(r);let o=r[l[0]];for(let a=1;a{n.forEach(m=>{i.push([...x,...m])})}),o=i}return o},St=(t,s)=>{const r={};r.nodeParams={};const l=je(t);return s{const n=a.nodeId.toString(),i=a.paramName,x=a.paramValue;r.nodeParams[n]||(r.nodeParams[n]={}),r.nodeParams[n][i]=x,r[i]=x}),r},Te="parameter_debug_history",De=30,Ae=async(t,s,r,l,o)=>{try{const a=Be(),n={id:ie(),timestamp:Date.now(),title:Ne(t,s),nodeName:t,params:{...s,nodeNames:{...s.nodeNames||{},[t.split("<")[0]]:t.split("<")[0]}},generatedImages:r,totalCount:l,workflow:o};return a.unshift(n),a.length>De&&a.splice(De),localStorage.setItem(Te,JSON.stringify(a)),n}catch(a){return console.error("Error saving parameter debug history:",a),null}},Be=()=>{try{const t=localStorage.getItem(Te);if(t)return JSON.parse(t)}catch(t){console.error("Error loading parameter debug history:",t)}return[]},Re=t=>{const s=new Date(t);return`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")} ${String(s.getHours()).padStart(2,"0")}:${String(s.getMinutes()).padStart(2,"0")}`},Ne=(t,s)=>{if(s.nodeParams)return Object.entries(s.nodeParams).map(([a,n])=>{let i=t;s.selectedNodeInfoMap&&s.selectedNodeInfoMap[a]&&(i=s.selectedNodeInfoMap[a]);const x=Object.keys(n).slice(0,3);return`${i}<${x.join(",")}>`}).join(";");const r=Object.keys(s).filter(l=>l!=="nodeParams"&&l!=="selectedNodeInfoMap").slice(0,3);return`${t}<${r.join(",")}>`},Ct=({historyItems:t,onViewHistoryItem:s,onClose:r})=>e.jsxs("div",{className:"bg-white rounded-lg shadow-sm border border-gray-200 p-4 flex flex-col h-full",children:[e.jsxs("div",{className:"mb-4 border-b pb-2 flex justify-between items-center",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-base font-medium text-gray-800",children:"Experiments History"}),e.jsxs("p",{className:"text-xs text-gray-500",children:["Last ",t.length," experiments"]})]}),e.jsx("button",{className:"text-gray-400 hover:text-gray-600",onClick:r,children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),t.length===0?e.jsx("div",{className:"flex-1 flex items-center justify-center text-gray-500 text-sm",children:"No history items found"}):e.jsx("div",{className:"flex-1 overflow-y-auto",children:t.map(l=>e.jsxs("div",{className:"border border-gray-200 rounded-lg mb-3 overflow-hidden",children:[e.jsxs("div",{className:"bg-gray-50 py-2 px-3 flex items-center justify-between border-b",children:[e.jsx("div",{className:"text-[14px] text-gray-600",children:Re(l.timestamp)}),e.jsx("button",{onClick:()=>s(l),className:"px-3 py-1 text-xs bg-pink-200 text-pink-700 rounded-md hover:bg-pink-300 transition-colors",children:"view"})]}),e.jsx("div",{className:"p-3",children:e.jsx("div",{className:"text-[10px] font-medium text-gray-700",children:Ne(l.nodeName,l.params)})})]},l.id))})]}),Lt=({historyItem:t,selectedImageIndex:s,handleSelectImage:r,handleClose:l,currentPage:o,handlePageChange:a,imagesPerPage:n,modalVisible:i,modalImageUrl:x,modalImageParams:m,openImageModal:u,closeImageModal:d})=>{const{timestamp:p,nodeName:y,generatedImages:j,params:M}=t,$=Math.ceil(j.length/n),w=(o-1)*n,E=Math.min(w+n,j.length),f=j.slice(w,E);return e.jsxs("div",{className:"bg-white rounded-lg shadow-sm border border-gray-200 p-4",children:[e.jsxs("div",{className:"mb-4 border-b pb-2 flex justify-between items-start",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-base font-medium text-gray-800",children:Ne(y,M)}),e.jsxs("p",{className:"text-xs text-gray-500",children:[Re(p)," • ",j.length," images"]})]}),e.jsx("button",{className:"text-gray-400 hover:text-gray-600 mt-0",onClick:l,children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),e.jsx(te,{visible:i,imageUrl:x,params:m?{...m,nodeNames:{[t.nodeName.split("<")[0]]:t.nodeName.split("<")[0]}}:void 0,onClose:d}),e.jsx("div",{className:"grid grid-cols-3 gap-4 mb-6",children:f.map((N,g)=>{const S=w+g;return e.jsxs("div",{className:`relative rounded-lg overflow-hidden border ${s===S?"border-pink-500 ring-2 ring-pink-300":"border-gray-200"}`,onClick:I=>r(S,I),children:[e.jsx("button",{className:"absolute top-2 right-2 bg-white bg-opacity-75 rounded-full p-0.5 text-gray-600 hover:text-gray-900 shadow-sm z-10",onClick:I=>u(N.url,N.params,I),children:e.jsx("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5v-4m0 4h-4m4 0l-5-5"})})}),e.jsx("div",{className:"aspect-square",children:e.jsx("img",{src:N.url,alt:`Generated image ${S+1}`,className:"w-full h-full object-cover"})})]},S)})}),$>1&&e.jsxs("div",{className:"flex justify-center items-center space-x-2 mt-4 mb-4",children:[e.jsx("button",{onClick:N=>a(1,N),disabled:o===1,className:`px-2 py-1 rounded ${o===1?"text-gray-400 cursor-not-allowed":"text-gray-700 hover:bg-gray-100"}`,children:e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:[e.jsx("path",{fillRule:"evenodd",d:"M15.707 15.707a1 1 0 01-1.414 0l-5-5a1 1 0 010-1.414l5-5a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 010 1.414z",clipRule:"evenodd"}),e.jsx("path",{fillRule:"evenodd",d:"M8.707 15.707a1 1 0 01-1.414 0l-5-5a1 1 0 010-1.414l5-5a1 1 0 111.414 1.414L4.414 10l4.293 4.293a1 1 0 010 1.414z",clipRule:"evenodd"})]})}),e.jsx("button",{onClick:N=>a(o-1,N),disabled:o===1,className:`px-2 py-1 rounded ${o===1?"text-gray-400 cursor-not-allowed":"text-gray-700 hover:bg-gray-100"}`,children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:e.jsx("path",{fillRule:"evenodd",d:"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",clipRule:"evenodd"})})}),e.jsxs("div",{className:"px-2 py-1 text-xs text-gray-800",children:["Page ",o," of ",$]}),e.jsx("button",{onClick:N=>a(o+1,N),disabled:o===$,className:`px-2 py-1 rounded ${o===$?"text-gray-400 cursor-not-allowed":"text-gray-700 hover:bg-gray-100"}`,children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:e.jsx("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})})}),e.jsx("button",{onClick:N=>a($,N),disabled:o===$,className:`px-2 py-1 rounded ${o===$?"text-gray-400 cursor-not-allowed":"text-gray-700 hover:bg-gray-100"}`,children:e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:[e.jsx("path",{fillRule:"evenodd",d:"M4.293 15.707a1 1 0 001.414 0l5-5a1 1 0 000-1.414l-5-5a1 1 0 00-1.414 1.414L8.586 10 4.293 14.293a1 1 0 000 1.414z",clipRule:"evenodd"}),e.jsx("path",{fillRule:"evenodd",d:"M11.293 15.707a1 1 0 001.414 0l5-5a1 1 0 000-1.414l-5-5a1 1 0 00-1.414 1.414L15.586 10l-4.293 4.293a1 1 0 000 1.414z",clipRule:"evenodd"})]})})]})]})},Mt=` + @keyframes highlight-pulse { + 0% { + box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.5); + } + 70% { + box-shadow: 0 0 0 15px rgba(59, 130, 246, 0); + } + 100% { + box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); + } + } + + .highlight-pulse { + animation: highlight-pulse 1.5s infinite; + border: 2px solid #3b82f6; + } + + @keyframes fade-in-out { + 0% { opacity: 0; transform: translateY(-20px); } + 10% { opacity: 1; transform: translateY(0); } + 90% { opacity: 1; transform: translateY(0); } + 100% { opacity: 0; transform: translateY(-20px); } + } + + .animate-fade-in-out { + animation: fade-in-out 3s forwards; + } +`,re="parameter_debug_state",We=t=>{try{localStorage.setItem(re,JSON.stringify(t))}catch(s){console.error("Error saving parameter debug state:",s)}},$t=()=>{try{const t=localStorage.getItem(re);if(t)return JSON.parse(t)}catch(t){console.error("Error loading parameter debug state:",t)}return null},Et=()=>{try{localStorage.removeItem(re)}catch(t){console.error("Error clearing parameter debug state:",t)}},Pt=(t,s,r,l,o,a)=>{const n=`${t}_${s}`;a(x=>{const m=[...x[n]||[]];return m[r]=l,{...x,[n]:m}});const i=[...o[n]||[]];return i[r]=l,i},_t=(t,s,r,l)=>{const o=`${t}_${s}`;return l(a=>{const n=[...a[o]||[]];return n.push(""),{...a,[o]:n}}),[...r[o]||[],""]},Ot=(t,s,r,l,o)=>{const a=`${t}_${s}`;o(i=>{const x=[...i[a]||[]];return x.splice(r,1),{...i,[a]:x}});const n=[...l[a]||[]];return n.splice(r,1),n},It=(t,s,r,l,o)=>{r.preventDefault(),r.stopPropagation();const a=`${t}_${s}`;o(n=>{if(n[a]&&typeof n[a]=="object"?n[a].isOpen:!!n[a])return{...n,[a]:!1};{let x=0,m=0;if(r.currentTarget){const p=r.currentTarget.getBoundingClientRect();x=p.left,m=p.bottom}else x=r.clientX,m=r.clientY+20;const u=window.innerWidth,d=250;return x+d>u&&(x=u-d-10),x<0&&(x=10),{...n,[a]:{isOpen:!0,x,y:m}}}})},Dt=(t,s,r,l,o)=>{o(a=>{const n={...a};return n[t]||(n[t]={}),n[t][s]=r,n})},At=(t,s,r,l,o,a)=>{a&&(a.preventDefault(),a.stopPropagation()),o(n=>{const i={...n};i[t]||(i[t]={}),i[t][s]||(i[t][s]=[]);const x=i[t][s];return x.includes(r)?i[t][s]=x.filter(m=>m!==r):i[t][s]=[...x,r],i})},Wt=(t,s,r,l,o)=>{const a=`${t}_${s}`;o(n=>({...n,[a]:r}))},Tt=(t,s,r,l,o)=>{if(!l[t]){o(t,s,r);return}const a=l[t][s]||[];r.length===a.length?o(t,s,[]):o(t,s,[...r])},Bt=(t,s,r,l,o,a)=>{a&&(a.preventDefault(),a.stopPropagation());const n=s[t];if(r(i=>({...i,[t]:!n})),n){const i={...l};Object.keys(i).forEach(x=>{i[x][t]&&delete i[x][t]}),o(i)}},Rt=(t,s,r,l,o,a,n)=>{n.preventDefault(),n.stopPropagation();const i={...s};if(s.nodeParams){const x={};Object.keys(s.nodeParams).forEach(m=>{const u=r.find(d=>d.id.toString()===m);x[m]=u?u.title||`Node ${m}`:`Node ${m}`}),i.nodeNames=x}else if(Object.keys(s).length>0){const x={};Object.entries(s).forEach(([m,u])=>{(typeof u!="object"||u===null)&&(x[m]=u)}),Object.keys(x).length>0&&(i.nodeParams={default:x},i.nodeNames={default:s.node_name||s.nodeName||"参数"})}l(t),o(i),a(!0)},zt=(t,s)=>{s&&(s.preventDefault(),s.stopPropagation()),t(!1)},Ft=(t,s,r,l,o,a,n,i,x,m,u)=>{if(u&&(u.preventDefault(),u.stopPropagation()),t===0){const d={...l};Object.keys(d).forEach(p=>{const y=d[p];Object.keys(y).forEach(j=>{r[j]||delete y[j]})}),o(d)}if(t===1){const d={...l};n.forEach(y=>{const j=y.id.toString(),M=y.widgets||{};Object.values(M).forEach($=>{const w=$.name;if(r[w]&&($.type==="customtext"||$.type.toLowerCase().includes("text"))){const E=`${j}_${w}`,f=a[E]||[""];d[j]=d[j]||{},d[j][w]=f}})}),o(d);const p=m(d);i(p.length)}x(null),s(d=>Math.min(d+1,2))},Ht=(t,s,r,l,o,a,n,i,x,m)=>{if(m&&(m.preventDefault(),m.stopPropagation()),x(null),n&&i(!1),t===1){const u=r.map(y=>y.id.toString()),d=Object.keys(l),p={...l};d.forEach(y=>{u.includes(y)||delete p[y]}),o(p)}if(t===2||n){const u={...l};Object.entries(a).forEach(([d,p])=>{if(!p||p.length===0)return;const[y,j]=d.split("_");r.some(M=>M.id.toString()===y)&&(u[y]=u[y]||{},JSON.stringify(u[y][j])!==JSON.stringify(p)&&(u[y][j]=p))}),o(u)}s(u=>Math.max(u-1,0))},Gt=(t,s,r,l,o)=>{o&&(o.preventDefault(),o.stopPropagation()),l(Math.max(1,Math.min(t,Math.ceil(r.length/s))))},Ut=async(t,s,r,l,o,a,n,i,x,m,u,d,p,y)=>{p&&(p.preventDefault(),p.stopPropagation()),Fe(m,x);const j=u(t),M=j.length;if(M>100){o(`Cannot generate more than 100 images at once (currently: ${M} images)`);return}o(null),r(!0),l(0),console.log("Generated parameter combinations:",j);let $=null;try{$=(await d.graphToPrompt()).output}catch(N){console.error("Error capturing workflow data:",N)}if(se.trackEvent({event_type:"start_generation",message_type:"parameter_debug",message_id:s,data:{workflow:$,all_params:t,count:M}}),j.length===0){o("No valid parameter combinations found. Please check your parameter selections."),r(!1);return}let w=y||null;if(w===null){const N=pt();N!==null&&(w=N)}if(w===null){o("Please select a SaveImage or PreviewImage node first."),r(!1);return}const E={};Object.keys(t).forEach(N=>{const g=d.graph._nodes_by_id[N];g&&(E[N]=g.type||g.comfyClass||"Unknown Node")});const f=[];try{const N=Date.now().toString();x.current=N;for(const P of j){const T=await ft(P);T.prompt_id?f.push(T.prompt_id):(console.error("Failed to get prompt_id from response:",T),f.push(""))}const g=Array(j.length).fill(null).map((P,T)=>({url:`https://source.unsplash.com/random/300x300?sig=${Math.random()}`,params:St(t,T)}));a(g);const S=Date.now(),I=5*60*1e3,U=Object.keys(t)[0],b=E[U]||"Unknown Node";ze(f,w,g,N,S,I,x,m,a,l,r,n,i,b,t,M,$,E)}catch(N){console.error("Error generating images:",N),r(!1)}},ze=async(t,s,r,l,o,a,n,i,x,m,u,d,p,y,j,M,$,w)=>{if(n.current!==l){console.log("Another polling session has started, stopping this one");return}if(Date.now()-o>a){if(console.log("Timeout reached while waiting for images"),n.current===l&&(u(!1),d(!0),p(1),r.length>0&&y&&j)){const f=r[0].params;w&&(f.selectedNodeInfoMap=w),Ae(y,f,r,M||r.length,$)}return}let E=0;for(let f=0;f0&&y&&j)){const f=r[0].params;w&&(f.selectedNodeInfoMap=w),Ae(y,f,r,M||r.length,$)}return}n.current===l&&(i.current=setTimeout(()=>{ze(t,s,r,l,o,a,n,i,x,m,u,d,p,y,j,M,$,w)},2e3))},Fe=(t,s)=>{t.current&&(clearTimeout(t.current),t.current=null),s.current=null},Jt=async(t,s,r,l,o,a)=>{if(!t.trim()){l("Please enter some text to generate variations");return}r(!0),l(null),o([]),a({});try{const n=await se.generateSDPrompts(t);o(n),se.trackEvent({event_type:"prompt_generate",message_type:"parameter_debug",message_id:s,data:{input_text:t,generated_texts:n}});const i={};n.forEach((x,m)=>{i[`text${m+1}`]=!1}),a(i)}catch(n){console.error("Error generating text:",n),l("Failed to generate text variations. Please try again.")}finally{r(!1)}},Kt=(t,s)=>{s(r=>({...r,[t]:!r[t]}))},Yt=(t,s,r,l,o,a,n,i,x,m)=>{const u=`${t}_${s}`,d=Object.entries(r).filter(([y,j])=>j).map(([y])=>{const j=parseInt(y.replace("text",""))-1;return l[j]});if(d.length===0)return;i(y=>{const j=[...y[u]||[]];return{...y,[u]:[...j,...d]}}),se.trackEvent({event_type:"prompt_apply",message_type:"parameter_debug",message_id:a,data:{input_text:o,generated_texts:l,selected_texts:d}});const p=[...n[u]||[],...d];x(t,s,p),m(!1)},Vt=(t,s,r,l,o,a,n,i,x,m)=>{r(!0),l(t),o(s),a(""),n([]),i({}),x(!1),m(null)},qt=(t,s,r,l,o,a,n,i,x,m,u,d,p,y,j,M,$,w,E,f,N,g,S,I,U,b,P,T,v,B=!1)=>{t(0),s({Steps:!0,CFG:!0,sampler_name:!0,threshold:!1,prompt:!1}),r(ie()),l(),o(!1),a(!1),n(0),i(12),x(null),m(Array(12).fill(null).map((O,_)=>({url:`https://source.unsplash.com/random/300x300?sig=${Math.random()}`,params:{step:_%3===0?5:_%3===1?10:15,sampler_name:"euler",cfg:1}}))),u({}),d({}),p({}),y({}),j(1),M(null),$(!1),w(!1),E(""),f(null),N({}),g(!1),S(""),I([]),U(!1),b(""),P(""),T(null),v({}),B&&Et()},Xt=(t,s,r)=>{r&&(r.preventDefault(),r.stopPropagation()),s(t)},Qt=async(t,s,r,l,o,a,n)=>{if(n&&(n.preventDefault(),n.stopPropagation()),t!==null){console.log(`Applied image ${t+1} with parameters:`,s[t].params);let i=1;if(o){for(const m in o)if(o[m])for(const u in o[m]){const d=o[m][u];if(d){let p=1;Array.isArray(d)?p=d.length>0?d.length:1:typeof d=="object"&&d!==null&&(p=Object.keys(d).length>0?Object.keys(d).length:1),i=i*p}}}se.trackEvent({event_type:"parameter_debug_apply",message_type:"parameter_debug",message_id:l,data:{workflow:(await r.graphToPrompt()).output,selected_params:s[t].params,all_params:o,count:i}});const x=s[t].params;x.nodeParams&&(Object.entries(x.nodeParams).forEach(([m,u])=>{const d=r.graph._nodes_by_id[m];!d||!d.widgets||Object.entries(u).forEach(([p,y])=>{for(const j of d.widgets)if(j.name===p){j.value=y;break}})}),r.graph.setDirtyCanvas(!1,!0),a(!0),setTimeout(()=>{a(!1)},3e3))}},Zt=(t,s,r,l,o,a,n)=>{if(n&&(n.preventDefault(),n.stopPropagation()),t===1&&r!==void 0){const i=[...s];i[r],i.splice(r,1),i.length===0?o&&(l({type:"SET_SCREEN_STATE",payload:null}),a(!0),o()):l({type:"SET_SELECTED_NODE",payload:i});return}o&&(l({type:"SET_SCREEN_STATE",payload:null}),a(!0),o())},es=({selectedNodes:t,visible:s,onClose:r})=>{const[l,o]=k.useState(0),[a,n]=k.useState({Steps:!0,CFG:!0,sampler_name:!0,threshold:!1,prompt:!1}),[i,x]=k.useState(ie()),[m,u]=k.useState(!1),[d,p]=k.useState(!1),[y,j]=k.useState(0),[M,$]=k.useState(12),[w,E]=k.useState(null),[f,N]=k.useState(()=>Array(12).fill(null).map((c,h)=>({url:`https://source.unsplash.com/random/300x300?sig=${Math.random()}`,params:{step:h%3===0?5:h%3===1?10:15,sampler_name:"euler",cfg:1}}))),[g,S]=k.useState({}),[I,U]=k.useState({}),[b,P]=k.useState({}),[T,v]=k.useState({}),[B,O]=k.useState(1),_=6,[R,z]=k.useState(null),[C,F]=k.useState(!1),[L,D]=k.useState(!1),[A,H]=k.useState(""),[G,J]=k.useState(null),[Y,V]=k.useState({}),[He,ne]=k.useState(!1),[ce,de]=k.useState(""),[we,xe]=k.useState([]),[Ge,me]=k.useState(!1),[Ue,ke]=k.useState(""),[Je,Se]=k.useState(""),[Ke,ue]=k.useState(null),[Ce,ae]=k.useState({}),[he,ge]=k.useState(!1),[Ye,Ve]=k.useState([]),[Le,pe]=k.useState(null),{dispatch:fe}=ve(),Me=k.useRef(null),$e=k.useRef(null),[qe,oe]=k.useState(()=>s);k.useEffect(()=>{if(he){const c=Be();Ve(c)}},[he]);const Xe=async()=>{Jt(ce,i,me,ue,xe,ae)},Qe=(c,h,W,K)=>{const Q=Pt(c,h,W,K,Y,V);q(c,h,Q)},Ze=(c,h)=>{const W=_t(c,h,Y,V);q(c,h,W)},et=(c,h,W)=>{const K=Ot(c,h,W,Y,V);q(c,h,K)},tt=c=>{Kt(c,ae)},st=()=>{Yt(Ue,Je,Ce,we,ce,i,Y,V,q,ne)},rt=(c,h)=>{Vt(c,h,ne,ke,Se,de,xe,ae,me,ue)},Ee=c=>{c&&(c.preventDefault(),c.stopPropagation()),ge(h=>!h)},nt=c=>{pe(c),ge(!1),N(c.generatedImages||[]),E(null),O(1)},at=c=>{c&&(c.preventDefault(),c.stopPropagation()),pe(null)};k.useEffect(()=>{if(!t||t.length===0)return;const c={...g},h=t.map(K=>K.id.toString());Object.keys(c).forEach(K=>{h.includes(K)||delete c[K]}),t.forEach(K=>{const Q=K.id.toString();c[Q]||(c[Q]={})}),JSON.stringify(c)!==JSON.stringify(g)&&S(c)},[t,g]),k.useEffect(()=>{fe({type:"SET_SCREEN_STATE",payload:{currentScreen:l,isProcessing:m,isCompleted:d}})},[l,m,d,fe]),k.useEffect(()=>{const c=document.createElement("style");return c.textContent=Mt,document.head.appendChild(c),()=>{document.head.removeChild(c)}},[]),k.useEffect(()=>{const c=h=>{if(Object.values(I).some(W=>W)){const W=h.target,K=!!W.closest(".dropdown-menu"),Q=!!W.closest("[data-dropdown]");!K&&!Q&&U({})}};return document.addEventListener("mousedown",c),()=>{document.removeEventListener("mousedown",c)}},[I]),k.useEffect(()=>{s&&(JSON.parse(localStorage.getItem(re)||"{}").task_id||x(ie()))},[s]),k.useEffect(()=>{if(s){oe(!0);try{const c=localStorage.getItem(re);if(c){const h=JSON.parse(c);if(!t||t.length===0){console.log("Not restoring parameter debug state: no nodes selected"),oe(!1);return}h.currentScreen!==void 0&&o(h.currentScreen),h.selectedParams&&n(h.selectedParams),h.task_id&&x(h.task_id);const W=h.generatedImages&&h.generatedImages.length>0;h.isProcessing!==void 0&&!h.isProcessing&&u(!1),h.isCompleted!==void 0&&W&&p(h.isCompleted),h.completedCount!==void 0&&j(h.completedCount),h.totalCount!==void 0&&$(h.totalCount),h.selectedImageIndex!==void 0&&E(h.selectedImageIndex),h.generatedImages&&N(h.generatedImages),h.paramTestValues&&S(h.paramTestValues),h.searchTerms&&P(h.searchTerms),h.inputValues&&v(h.inputValues),h.currentPage!==void 0&&O(h.currentPage),h.textInputs&&V(h.textInputs)}}catch(c){console.error("Error loading parameter debug state:",c)}finally{setTimeout(()=>{oe(!1)},50)}}else oe(!0);return()=>{if(!s)return;We({currentScreen:l,selectedParams:a,task_id:i,isProcessing:m,isCompleted:d,completedCount:y,totalCount:M,selectedImageIndex:w,generatedImages:f,paramTestValues:g,searchTerms:b,inputValues:T,currentPage:B,textInputs:Y})}},[s]);const ot=(c=!1)=>{qt(o,n,x,ye,u,p,j,$,E,N,S,U,P,v,O,z,F,D,H,J,V,ne,de,xe,me,ke,Se,ue,ae,c),ge(!1),pe(null)};k.useEffect(()=>{if(!s)return;const c=setTimeout(()=>{We({currentScreen:l,selectedParams:a,task_id:i,isProcessing:m,isCompleted:d,completedCount:y,totalCount:M,selectedImageIndex:w,generatedImages:f,paramTestValues:g,searchTerms:b,inputValues:T,currentPage:B,textInputs:Y})},500);return()=>clearTimeout(c)},[s,l,a,i,m,d,y,M,w,f,g,b,T,B,Y]);const Pe=c=>{Ft(l,o,a,g,S,Y,t,$,z,je,c)},be=c=>{Ht(l,o,t,g,S,Y,d,p,z,c)},lt=(c,h)=>{Bt(c,a,n,g,S,h)},it=(c,h,W)=>{It(c,h,W,I,U)},q=(c,h,W)=>{Dt(c,h,W,g,S)},ct=(c,h,W,K)=>{At(c,h,W,g,S,K)},dt=(c,h,W)=>{Wt(c,h,W,b,P)},xt=(c,h,W)=>{Tt(c,h,W,g,q)},_e=(c,h)=>{Gt(c,_,f,O,h)},ye=()=>{Fe(Me,$e)};k.useEffect(()=>()=>{ye()},[]);const mt=async(c,h)=>{Ut(g,i,u,j,z,N,p,O,$e,Me,je,ee,c,h)},Oe=(c,h)=>{Xt(c,E,h)},Ie=(c,h,W)=>{Rt(c,h,t,H,J,D,W)},Z=c=>{zt(D,c)},ut=async c=>{Qt(w,f,ee,i,g,F,c)},X=(c,h)=>{Zt(l,t,h,fe,r,ot,c)},le=()=>e.jsx(e.Fragment,{children:e.jsx(te,{visible:L,imageUrl:A,params:G||{},onClose:Z})});return Le?e.jsx("div",{className:"flex-1 overflow-y-auto bg-gray-50 p-4",onClick:c=>c.stopPropagation(),children:e.jsx(Lt,{historyItem:Le,selectedImageIndex:w,handleSelectImage:Oe,handleClose:at,currentPage:B,handlePageChange:_e,imagesPerPage:_,modalVisible:L,modalImageUrl:A,modalImageParams:G,openImageModal:Ie,closeImageModal:Z})}):he?e.jsx("div",{className:"flex-1 overflow-y-auto bg-gray-50 p-4 flex flex-col h-full max-h-[80vh]",onClick:c=>c.stopPropagation(),children:e.jsx(Ct,{historyItems:Ye,onViewHistoryItem:nt,onClose:Ee})}):qe&&s&&t.length>0?e.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center p-8 bg-gray-50 overflow-y-auto",onClick:c=>c.stopPropagation(),children:[e.jsxs("div",{className:"p-8 rounded-lg shadow-sm relative flex flex-col items-center",children:[e.jsx("div",{className:"w-8 h-8 border-4 border-blue-500 border-t-transparent rounded-full animate-spin"}),e.jsx("div",{className:"mt-4 text-gray-600 text-sm",children:"Loading interface..."})]}),e.jsx(te,{visible:L,imageUrl:A,params:G||{},onClose:Z})]}):!s||t.length===0?e.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center p-8 bg-gray-50 overflow-y-auto",onClick:c=>c.stopPropagation(),children:[e.jsxs("div",{className:"max-w-lg p-8 rounded-lg shadow-sm border border-blue-100 relative",children:[e.jsxs("div",{className:"absolute top-3 right-3 flex",children:[e.jsx("button",{className:"text-blue-500 hover:text-blue-700 mr-2",onClick:Ee,title:"Show History",children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:e.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z",clipRule:"evenodd"})})}),e.jsx("button",{className:"text-gray-400 hover:text-gray-600",onClick:X,children:e.jsx("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),e.jsxs("div",{className:"mb-6 text-center",children:[e.jsx("h3",{className:"text-base font-bold text-blue-600 mb-2",children:"GenLab"}),e.jsx("div",{className:"h-1 w-16 bg-blue-500 mx-auto rounded-full mb-4"})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"text-left mb-4",children:[e.jsx("h3",{className:"text-sm font-medium text-gray-800 mb-3",children:"Batch-test parameters & find the best combo in one click."}),e.jsx("div",{className:"h-px w-full bg-gray-200 my-4"})]}),e.jsxs("div",{className:"text-left",children:[e.jsx("h4",{className:"text-base font-medium text-gray-800 mb-4",children:"How to use"}),e.jsxs("div",{className:"space-y-2 mb-4",children:[e.jsxs("p",{className:"text-sm text-gray-700",children:[e.jsx("span",{className:"font-bold",children:"1 - "}),"Click any node(hold Shift to select multiple nodes)"]}),e.jsxs("p",{className:"text-sm text-gray-700",children:[e.jsx("span",{className:"font-bold",children:"2 - "}),"Set parameter ranges and start batch generation."]})]}),e.jsx("div",{className:"h-px w-full bg-gray-200 my-4"}),e.jsx("p",{className:"text-sm text-blue-600 mt-6",children:"Let's select a node to begin!"})]})]})]}),e.jsx(te,{visible:L,imageUrl:A,params:G||{},onClose:Z})]}):d?e.jsx("div",{className:"flex-1 overflow-y-auto bg-gray-50 p-4",onClick:c=>c.stopPropagation(),children:e.jsx(wt,{generatedImages:f,selectedImageIndex:w,handleSelectImage:Oe,handleApplySelected:ut,handlePrevious:be,handleClose:X,currentPage:B,handlePageChange:_e,imagesPerPage:_,notificationVisible:C,modalVisible:L,modalImageUrl:A,modalImageParams:G,openImageModal:Ie,closeImageModal:Z})}):m?e.jsxs("div",{className:"flex-1 overflow-y-auto bg-gray-50 p-4",onClick:c=>c.stopPropagation(),children:[e.jsx(Nt,{selectedNodes:t,paramTestValues:g,selectedParams:a,totalCount:M,completedCount:y,errorMessage:R,handleClose:X,setIsProcessing:u,setCurrentScreen:o,cleanupPolling:ye}),e.jsx(le,{})]}):l===0?e.jsxs("div",{className:"flex-1 overflow-y-auto bg-gray-50 p-4 flex flex-col h-full max-h-[80vh]",onClick:c=>c.stopPropagation(),children:[e.jsx(yt,{selectedNodes:t,handleParamSelect:lt,selectedParams:a,handleNext:Pe,handleClose:X}),e.jsx(le,{})]}):l===1?e.jsxs("div",{className:"flex-1 overflow-y-auto bg-gray-50 p-4 flex flex-col h-full max-h-[80vh]",onClick:c=>c.stopPropagation(),children:[e.jsx(jt,{selectedNodes:t,paramTestValues:g,selectedParams:a,updateParamTestValues:q,toggleDropdown:it,openDropdowns:I,handleTestValueSelect:ct,searchTerms:b,handleSearch:dt,handleSelectAll:xt,handleNext:Pe,handlePrevious:be,handleClose:X,inputValues:T,setInputValues:v,textInputs:Y,handleTextInputChange:Qe,handleAddTextInput:Ze,handleRemoveTextInput:et,openAiWritingModal:rt}),e.jsx(kt,{visible:He,aiWritingModalText:ce,setAiWritingModalText:de,aiGeneratedTexts:we,aiSelectedTexts:Ce,aiWritingLoading:Ge,aiWritingError:Ke,handleAiWriting:Xe,toggleTextSelection:tt,addSelectedTexts:st,onClose:()=>ne(!1)}),e.jsx(le,{})]}):e.jsxs("div",{className:"flex-1 overflow-y-auto bg-gray-50 p-4 flex flex-col h-full max-h-[80vh]",onClick:c=>c.stopPropagation(),children:[e.jsx(vt,{selectedNodes:t,paramTestValues:g,selectedParams:a,totalCount:M,errorMessage:R,handlePrevious:be,handleStartGeneration:mt,handleClose:X}),e.jsx(le,{})]})},is=t=>{const{dispatch:s}=ve(),[r,l]=k.useState(!1);return k.useEffect(()=>{if(t.visible&&!r){const o=$t();o&&o.screenState&&s({type:"SET_SCREEN_STATE",payload:{currentScreen:o.currentScreen,isProcessing:o.isProcessing,isCompleted:o.isCompleted}}),l(!0)}},[t.visible,r,s]),k.useEffect(()=>()=>{t.visible||s({type:"SET_SCREEN_STATE",payload:null})},[t.visible,s]),e.jsx(es,{...t})};export{is as ParameterDebugInterface}; diff --git a/dist/copilot_web/WorkflowOption-Cs32ZDad.js b/dist/copilot_web/WorkflowOption-Cs32ZDad.js new file mode 100644 index 0000000..7390a3b --- /dev/null +++ b/dist/copilot_web/WorkflowOption-Cs32ZDad.js @@ -0,0 +1,4 @@ +function getImportPath(filename) { + return `./${filename}`; + } + import{j as s}from"./vendor-markdown-Mq66gLHN.js";import{W as x,g as j,a as d}from"./message-components-CP6ZQyhw.js";import{r as P}from"./vendor-react-6F4zURhM.js";function G({content:C,name:D="Assistant",avatar:H,latestInput:N,installedNodes:z,onAddMessage:y}){const _=JSON.parse(C),v=_.ext?.find(e=>e.type==="workflow")?.data||[],[p,g]=P.useState({}),W=async e=>{if(!e.id){console.error("No workflow id provided");return}const i=String(e.id);if(!p[i]){g(t=>({...t,[i]:!0})),x.trackEvent({event_type:"workflow_accept",message_type:"workflow",message_id:_.message_id,data:{workflow_id:e.id,workflow_name:e.name}});try{const t=await x.getOptimizedWorkflow(e.id,N);if(t.workflow){const r=new Set;if(t.workflow.nodes)for(const o of t.workflow.nodes)r.add(o.type);else for(const o of Object.values(t.workflow))r.add(o.class_type);const a=Array.from(r).filter(o=>!z.includes(o));if(console.log("[WorkflowOption] Missing node types:",a),a.length>0){try{console.log("[WorkflowOption] Fetching info for missing nodes");const o=await x.batchGetNodeInfo(a);console.log("[WorkflowOption] Received node infos:",o);const m={text:"",ext:[{type:"node_install_guide",data:o.map(l=>({name:l.name,repository_url:l.github_url}))}]},c={id:j(),role:"ai",content:JSON.stringify(m),format:"markdown",name:"Assistant",metadata:{pendingWorkflow:t.workflow,optimizedParams:t.optimized_params}};y?.(c)}catch(o){console.error("[WorkflowOption] Error fetching node info:",o),alert("Error checking required nodes. Please try again.")}finally{g(o=>({...o,[i]:!1}))}return}O(t.workflow,t.optimized_params)}}catch(t){console.error("Failed to optimize workflow:",t),alert("Failed to optimize workflow. Please try again.")}finally{g(t=>({...t,[i]:!1}))}}},O=(e,i)=>{if(e.nodes)d.loadGraphData(e);else{d.loadApiJson(e);const r=Object.keys(e),a=Object.keys(d.graph._nodes_by_id)[0],o=d.graph._nodes_by_id[a],m=o?o.pos[0]:0,c=o?o.pos[1]:0,l=250,f=60,A=20,E=60,b=50,I=1e3;let k=m,h=c,u=0;for(const F of r){const n=d.graph._nodes_by_id[F];if(n){u>I&&(k+=l+E,u=0,h=c);const M=n.inputs?n.inputs.length:0,S=n.outputs?n.outputs.length:0,J=n.widgets?n.widgets.length:0,L=Math.max(M,S)+J,w=A*L+f;n.size[0]=l,n.size[1]=w,n.pos[0]=k,n.pos[1]=h,u+=w+b,h+=w+b}}}for(const[r,a,o,m,c]of i){const l=d.graph._nodes_by_id[r].widgets;for(const f of l)f.name===m&&(f.value=c)}d.graph.setDirtyCanvas(!1,!0);const t={id:j(),role:"tool",content:JSON.stringify({text:"The workflow has been successfully loaded to the canvas",ext:[]}),format:"markdown",name:"Assistant"};y?.(t)};return s.jsx("div",{className:"space-y-3",children:v.length>0&&s.jsx("div",{className:"flex flex-col space-y-4",children:v.map((e,i)=>{const t=e.id?String(e.id):"";return s.jsxs("div",{className:"flex items-center gap-4 p-4 rounded-lg border border-gray-200 hover:bg-gray-50",children:[e.image&&s.jsx("img",{src:e.image,alt:e.name,className:"w-14 h-14 object-cover rounded-lg",onError:r=>{const a=r.target;a.onerror=null,a.src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56' fill='none'%3E%3Crect width='56' height='56' fill='%23F3F4F6'/%3E%3Cpath d='M28 28C30.2091 28 32 26.2091 32 24C32 21.7909 30.2091 20 28 20C25.7909 20 24 21.7909 24 24C24 26.2091 25.7909 28 28 28Z' fill='%239CA3AF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18.7253 37.6307C19.8278 35.1533 22.6897 33.6 26 33.6H30C33.3103 33.6 36.1722 35.1533 37.2747 37.6307C37.6419 38.4561 37.0611 39.2 36.1694 39.2H19.8306C18.9389 39.2 18.3581 38.4561 18.7253 37.6307Z' fill='%239CA3AF'/%3E%3C/svg%3E"}}),s.jsxs("div",{className:"flex-1 break-words flex flex-col h-[4.5rem] justify-between",children:[s.jsx("div",{children:s.jsx("h3",{className:"font-medium text-sm line-clamp-2 h-10 overflow-hidden",children:e.name})}),s.jsxs("div",{className:"flex justify-between items-center mt-1",children:[e.description&&s.jsxs("div",{className:"relative group",children:[s.jsx("div",{className:"w-5 h-5 flex items-center justify-center text-gray-500 cursor-help",children:s.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-4 h-4",children:s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9 5.25h.008v.008H12v-.008z"})})}),s.jsx("div",{className:"absolute bottom-full left-0 mb-2 hidden group-hover:block",children:s.jsx("div",{className:"bg-gray-900 text-white text-xs rounded-md py-2 px-3 min-w-[400px] whitespace-normal break-words",children:e.description})})]}),s.jsx("button",{onClick:()=>W(e),disabled:p[t],className:`px-3 py-1.5 ${p[t]?"bg-gray-400 cursor-not-allowed":"bg-blue-500 hover:bg-blue-600"} text-white rounded-md transition-colors text-xs`,children:p[t]?"Loading...":"Accept"})]})]})]},i)})})})}export{G as WorkflowOption}; diff --git a/dist/copilot_web/assets/cc-icon-DfxqqsZi.svg b/dist/copilot_web/assets/cc-icon-DfxqqsZi.svg new file mode 100644 index 0000000..872a387 --- /dev/null +++ b/dist/copilot_web/assets/cc-icon-DfxqqsZi.svg @@ -0,0 +1,14 @@ + + + + Generated by IcoMoon + + + + \ No newline at end of file diff --git a/dist/copilot_web/assets/input-CSq6s1bF.css b/dist/copilot_web/assets/input-CSq6s1bF.css new file mode 100644 index 0000000..7ac446f --- /dev/null +++ b/dist/copilot_web/assets/input-CSq6s1bF.css @@ -0,0 +1 @@ +#comfyui-copilot-plugin *,#comfyui-copilot-plugin :before,#comfyui-copilot-plugin :after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }#comfyui-copilot-plugin ::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }#comfyui-copilot-plugin .container{width:100%}@media (min-width: 640px){#comfyui-copilot-plugin .container{max-width:640px}}@media (min-width: 768px){#comfyui-copilot-plugin .container{max-width:768px}}@media (min-width: 1024px){#comfyui-copilot-plugin .container{max-width:1024px}}@media (min-width: 1280px){#comfyui-copilot-plugin .container{max-width:1280px}}@media (min-width: 1536px){#comfyui-copilot-plugin .container{max-width:1536px}}#comfyui-copilot-plugin .prose,#comfyui-copilot-plugin .prose-neutral{--tw-prose-links: inherit;--tw-prose-headings: inherit}#comfyui-copilot-plugin .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}#comfyui-copilot-plugin .\!visible{visibility:visible!important}#comfyui-copilot-plugin .visible{visibility:visible}#comfyui-copilot-plugin .invisible{visibility:hidden}#comfyui-copilot-plugin .collapse{visibility:collapse}#comfyui-copilot-plugin .static{position:static}#comfyui-copilot-plugin .fixed{position:fixed}#comfyui-copilot-plugin .absolute{position:absolute}#comfyui-copilot-plugin .relative{position:relative}#comfyui-copilot-plugin .sticky{position:sticky}#comfyui-copilot-plugin .inset-0{inset:0}#comfyui-copilot-plugin .inset-y-0{top:0;bottom:0}#comfyui-copilot-plugin .-bottom-1{bottom:-.25rem}#comfyui-copilot-plugin .-right-1{right:-.25rem}#comfyui-copilot-plugin .-top-1{top:-.25rem}#comfyui-copilot-plugin .-top-10{top:-2.5rem}#comfyui-copilot-plugin .-top-6{top:-1.5rem}#comfyui-copilot-plugin .bottom-0{bottom:0}#comfyui-copilot-plugin .bottom-1{bottom:.25rem}#comfyui-copilot-plugin .bottom-2{bottom:.5rem}#comfyui-copilot-plugin .bottom-3{bottom:.75rem}#comfyui-copilot-plugin .bottom-full{bottom:100%}#comfyui-copilot-plugin .left-0{left:0}#comfyui-copilot-plugin .left-1\/2{left:50%}#comfyui-copilot-plugin .left-3{left:.75rem}#comfyui-copilot-plugin .right-0{right:0}#comfyui-copilot-plugin .right-1\.5{right:.375rem}#comfyui-copilot-plugin .right-12{right:3rem}#comfyui-copilot-plugin .right-2{right:.5rem}#comfyui-copilot-plugin .right-3{right:.75rem}#comfyui-copilot-plugin .right-4{right:1rem}#comfyui-copilot-plugin .top-0{top:0}#comfyui-copilot-plugin .top-1\/2{top:50%}#comfyui-copilot-plugin .top-2{top:.5rem}#comfyui-copilot-plugin .top-3{top:.75rem}#comfyui-copilot-plugin .top-4{top:1rem}#comfyui-copilot-plugin .z-10{z-index:10}#comfyui-copilot-plugin .z-50{z-index:50}#comfyui-copilot-plugin .z-\[9999\]{z-index:9999}#comfyui-copilot-plugin .m-4{margin:1rem}#comfyui-copilot-plugin .\!my-0\.5{margin-top:.125rem!important;margin-bottom:.125rem!important}#comfyui-copilot-plugin .\!my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}#comfyui-copilot-plugin .mx-auto{margin-left:auto;margin-right:auto}#comfyui-copilot-plugin .my-4{margin-top:1rem;margin-bottom:1rem}#comfyui-copilot-plugin .-ml-1{margin-left:-.25rem}#comfyui-copilot-plugin .mb-1{margin-bottom:.25rem}#comfyui-copilot-plugin .mb-2{margin-bottom:.5rem}#comfyui-copilot-plugin .mb-3{margin-bottom:.75rem}#comfyui-copilot-plugin .mb-4{margin-bottom:1rem}#comfyui-copilot-plugin .mb-6{margin-bottom:1.5rem}#comfyui-copilot-plugin .ml-1{margin-left:.25rem}#comfyui-copilot-plugin .ml-2{margin-left:.5rem}#comfyui-copilot-plugin .ml-3{margin-left:.75rem}#comfyui-copilot-plugin .mr-1{margin-right:.25rem}#comfyui-copilot-plugin .mr-2{margin-right:.5rem}#comfyui-copilot-plugin .mr-3{margin-right:.75rem}#comfyui-copilot-plugin .mt-0{margin-top:0}#comfyui-copilot-plugin .mt-0\.5{margin-top:.125rem}#comfyui-copilot-plugin .mt-1{margin-top:.25rem}#comfyui-copilot-plugin .mt-12{margin-top:3rem}#comfyui-copilot-plugin .mt-2{margin-top:.5rem}#comfyui-copilot-plugin .mt-4{margin-top:1rem}#comfyui-copilot-plugin .mt-6{margin-top:1.5rem}#comfyui-copilot-plugin .line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}#comfyui-copilot-plugin .block{display:block}#comfyui-copilot-plugin .inline{display:inline}#comfyui-copilot-plugin .flex{display:flex}#comfyui-copilot-plugin .inline-flex{display:inline-flex}#comfyui-copilot-plugin .table{display:table}#comfyui-copilot-plugin .grid{display:grid}#comfyui-copilot-plugin .contents{display:contents}#comfyui-copilot-plugin .hidden{display:none}#comfyui-copilot-plugin .aspect-square{aspect-ratio:1 / 1}#comfyui-copilot-plugin .h-0{height:0px}#comfyui-copilot-plugin .h-1{height:.25rem}#comfyui-copilot-plugin .h-10{height:2.5rem}#comfyui-copilot-plugin .h-14{height:3.5rem}#comfyui-copilot-plugin .h-2{height:.5rem}#comfyui-copilot-plugin .h-20{height:5rem}#comfyui-copilot-plugin .h-3{height:.75rem}#comfyui-copilot-plugin .h-3\.5{height:.875rem}#comfyui-copilot-plugin .h-4{height:1rem}#comfyui-copilot-plugin .h-5{height:1.25rem}#comfyui-copilot-plugin .h-6{height:1.5rem}#comfyui-copilot-plugin .h-7{height:1.75rem}#comfyui-copilot-plugin .h-8{height:2rem}#comfyui-copilot-plugin .h-\[4\.5rem\]{height:4.5rem}#comfyui-copilot-plugin .h-auto{height:auto}#comfyui-copilot-plugin .h-full{height:100%}#comfyui-copilot-plugin .h-px{height:1px}#comfyui-copilot-plugin .max-h-16{max-height:4rem}#comfyui-copilot-plugin .max-h-60{max-height:15rem}#comfyui-copilot-plugin .max-h-\[400px\]{max-height:400px}#comfyui-copilot-plugin .max-h-\[40vh\]{max-height:40vh}#comfyui-copilot-plugin .max-h-\[80vh\]{max-height:80vh}#comfyui-copilot-plugin .max-h-\[90vh\]{max-height:90vh}#comfyui-copilot-plugin .max-h-\[calc\(90vh-2rem\)\]{max-height:calc(90vh - 2rem)}#comfyui-copilot-plugin .max-h-full{max-height:100%}#comfyui-copilot-plugin .min-h-\[80px\]{min-height:80px}#comfyui-copilot-plugin .w-1{width:.25rem}#comfyui-copilot-plugin .w-1\/2{width:50%}#comfyui-copilot-plugin .w-12{width:3rem}#comfyui-copilot-plugin .w-14{width:3.5rem}#comfyui-copilot-plugin .w-16{width:4rem}#comfyui-copilot-plugin .w-2{width:.5rem}#comfyui-copilot-plugin .w-3{width:.75rem}#comfyui-copilot-plugin .w-3\.5{width:.875rem}#comfyui-copilot-plugin .w-4{width:1rem}#comfyui-copilot-plugin .w-48{width:12rem}#comfyui-copilot-plugin .w-5{width:1.25rem}#comfyui-copilot-plugin .w-64{width:16rem}#comfyui-copilot-plugin .w-7{width:1.75rem}#comfyui-copilot-plugin .w-8{width:2rem}#comfyui-copilot-plugin .w-96{width:24rem}#comfyui-copilot-plugin .w-\[100\%\]{width:100%}#comfyui-copilot-plugin .w-\[35\%\]{width:35%}#comfyui-copilot-plugin .w-\[480px\]{width:480px}#comfyui-copilot-plugin .w-\[500px\]{width:500px}#comfyui-copilot-plugin .w-\[65\%\]{width:65%}#comfyui-copilot-plugin .w-\[90\%\]{width:90%}#comfyui-copilot-plugin .w-\[calc\(50\%-0\.25rem\)\]{width:calc(50% - .25rem)}#comfyui-copilot-plugin .w-full{width:100%}#comfyui-copilot-plugin .min-w-0{min-width:0px}#comfyui-copilot-plugin .min-w-\[400px\]{min-width:400px}#comfyui-copilot-plugin .max-w-2xl{max-width:42rem}#comfyui-copilot-plugin .max-w-6xl{max-width:72rem}#comfyui-copilot-plugin .max-w-full{max-width:100%}#comfyui-copilot-plugin .max-w-lg{max-width:32rem}#comfyui-copilot-plugin .flex-1{flex:1 1 0%}#comfyui-copilot-plugin .flex-shrink-0{flex-shrink:0}#comfyui-copilot-plugin .-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#comfyui-copilot-plugin .-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#comfyui-copilot-plugin .-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#comfyui-copilot-plugin .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#comfyui-copilot-plugin{@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}}#comfyui-copilot-plugin .animate-bounce{animation:bounce 1s infinite}#comfyui-copilot-plugin{@keyframes spin{to{transform:rotate(360deg)}}}#comfyui-copilot-plugin .animate-spin{animation:spin 1s linear infinite}#comfyui-copilot-plugin .cursor-ew-resize{cursor:ew-resize}#comfyui-copilot-plugin .cursor-help{cursor:help}#comfyui-copilot-plugin .cursor-not-allowed{cursor:not-allowed}#comfyui-copilot-plugin .cursor-pointer{cursor:pointer}#comfyui-copilot-plugin .resize-none{resize:none}#comfyui-copilot-plugin .resize-y{resize:vertical}#comfyui-copilot-plugin .resize{resize:both}#comfyui-copilot-plugin .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}#comfyui-copilot-plugin .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}#comfyui-copilot-plugin .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}#comfyui-copilot-plugin .flex-row{flex-direction:row}#comfyui-copilot-plugin .flex-col{flex-direction:column}#comfyui-copilot-plugin .flex-wrap{flex-wrap:wrap}#comfyui-copilot-plugin .items-start{align-items:flex-start}#comfyui-copilot-plugin .items-center{align-items:center}#comfyui-copilot-plugin .justify-end{justify-content:flex-end}#comfyui-copilot-plugin .justify-center{justify-content:center}#comfyui-copilot-plugin .justify-between{justify-content:space-between}#comfyui-copilot-plugin .gap-1{gap:.25rem}#comfyui-copilot-plugin .gap-2{gap:.5rem}#comfyui-copilot-plugin .gap-3{gap:.75rem}#comfyui-copilot-plugin .gap-4{gap:1rem}#comfyui-copilot-plugin .space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}#comfyui-copilot-plugin .space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}#comfyui-copilot-plugin .space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}#comfyui-copilot-plugin .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}#comfyui-copilot-plugin .space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}#comfyui-copilot-plugin .space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}#comfyui-copilot-plugin .overflow-hidden{overflow:hidden}#comfyui-copilot-plugin .overflow-visible{overflow:visible}#comfyui-copilot-plugin .overflow-x-auto{overflow-x:auto}#comfyui-copilot-plugin .overflow-y-auto{overflow-y:auto}#comfyui-copilot-plugin .scroll-smooth{scroll-behavior:smooth}#comfyui-copilot-plugin .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#comfyui-copilot-plugin .text-ellipsis{text-overflow:ellipsis}#comfyui-copilot-plugin .whitespace-normal{white-space:normal}#comfyui-copilot-plugin .whitespace-nowrap{white-space:nowrap}#comfyui-copilot-plugin .whitespace-pre-wrap{white-space:pre-wrap}#comfyui-copilot-plugin .break-words{overflow-wrap:break-word}#comfyui-copilot-plugin .break-all{word-break:break-all}#comfyui-copilot-plugin .rounded{border-radius:.25rem}#comfyui-copilot-plugin .rounded-full{border-radius:9999px}#comfyui-copilot-plugin .rounded-lg{border-radius:.5rem}#comfyui-copilot-plugin .rounded-md{border-radius:.375rem}#comfyui-copilot-plugin .rounded-sm{border-radius:.125rem}#comfyui-copilot-plugin .rounded-xl{border-radius:.75rem}#comfyui-copilot-plugin .border{border-width:1px}#comfyui-copilot-plugin .border-0{border-width:0px}#comfyui-copilot-plugin .border-2{border-width:2px}#comfyui-copilot-plugin .border-4{border-width:4px}#comfyui-copilot-plugin .border-b{border-bottom-width:1px}#comfyui-copilot-plugin .border-b-2{border-bottom-width:2px}#comfyui-copilot-plugin .border-l-4{border-left-width:4px}#comfyui-copilot-plugin .border-r{border-right-width:1px}#comfyui-copilot-plugin .border-t{border-top-width:1px}#comfyui-copilot-plugin .border-solid{border-style:solid}#comfyui-copilot-plugin .border-dashed{border-style:dashed}#comfyui-copilot-plugin .border-none{border-style:none}#comfyui-copilot-plugin .border-\[\#979797\]{--tw-border-opacity: 1;border-color:rgb(151 151 151 / var(--tw-border-opacity, 1))}#comfyui-copilot-plugin .border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}#comfyui-copilot-plugin .border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}#comfyui-copilot-plugin .border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}#comfyui-copilot-plugin .border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}#comfyui-copilot-plugin .border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}#comfyui-copilot-plugin .border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}#comfyui-copilot-plugin .border-gray-100{border-color:color-mix(in srgb,var(--p-text-color) 10%,transparent)}#comfyui-copilot-plugin .border-gray-200{border-color:color-mix(in srgb,var(--p-text-color) 20%,transparent)}#comfyui-copilot-plugin .border-gray-300{border-color:color-mix(in srgb,var(--p-text-color) 30%,transparent)}#comfyui-copilot-plugin .border-gray-700{border-color:color-mix(in srgb,var(--p-text-color) 70%,transparent)}#comfyui-copilot-plugin .border-gray-900{border-color:color-mix(in srgb,var(--p-text-color) 90%,transparent)}#comfyui-copilot-plugin .border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}#comfyui-copilot-plugin .border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}#comfyui-copilot-plugin .border-pink-500{--tw-border-opacity: 1;border-color:rgb(236 72 153 / var(--tw-border-opacity, 1))}#comfyui-copilot-plugin .border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}#comfyui-copilot-plugin .border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}#comfyui-copilot-plugin .border-transparent{border-color:transparent}#comfyui-copilot-plugin .border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}#comfyui-copilot-plugin .border-t-gray-800{border-top-color:color-mix(in srgb,var(--p-text-color) 80%,transparent)}#comfyui-copilot-plugin .border-t-transparent{border-top-color:transparent}#comfyui-copilot-plugin .bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}#comfyui-copilot-plugin .bg-black\/40{background-color:#0006}#comfyui-copilot-plugin .bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}#comfyui-copilot-plugin .bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}#comfyui-copilot-plugin .bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}#comfyui-copilot-plugin .bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}#comfyui-copilot-plugin .bg-gray-100{background-color:color-mix(in srgb,var(--p-text-color) 10%,transparent)}#comfyui-copilot-plugin .bg-gray-200{background-color:color-mix(in srgb,var(--p-text-color) 20%,transparent)}#comfyui-copilot-plugin .bg-gray-300{background-color:color-mix(in srgb,var(--p-text-color) 30%,transparent)}#comfyui-copilot-plugin .bg-gray-400{background-color:color-mix(in srgb,var(--p-text-color) 40%,transparent)}#comfyui-copilot-plugin .bg-gray-50{background-color:color-mix(in srgb,var(--p-text-color) 5%,transparent)}#comfyui-copilot-plugin .bg-gray-500{background-color:color-mix(in srgb,var(--p-text-color) 50%,transparent)}#comfyui-copilot-plugin .bg-gray-700{background-color:color-mix(in srgb,var(--p-text-color) 70%,transparent)}#comfyui-copilot-plugin .bg-gray-800{background-color:color-mix(in srgb,var(--p-text-color) 80%,transparent)}#comfyui-copilot-plugin .bg-gray-900{background-color:color-mix(in srgb,var(--p-text-color) 90%,transparent)}#comfyui-copilot-plugin .bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}#comfyui-copilot-plugin .bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}#comfyui-copilot-plugin .bg-pink-200{--tw-bg-opacity: 1;background-color:rgb(251 207 232 / var(--tw-bg-opacity, 1))}#comfyui-copilot-plugin .bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}#comfyui-copilot-plugin .bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}#comfyui-copilot-plugin .bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}#comfyui-copilot-plugin .bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}#comfyui-copilot-plugin .bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}#comfyui-copilot-plugin .bg-transparent{background-color:transparent}#comfyui-copilot-plugin .bg-white{background-color:var(--p-panel-background)}#comfyui-copilot-plugin .bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}#comfyui-copilot-plugin .bg-opacity-30{--tw-bg-opacity: .3}#comfyui-copilot-plugin .bg-opacity-50{--tw-bg-opacity: .5}#comfyui-copilot-plugin .bg-opacity-75{--tw-bg-opacity: .75}#comfyui-copilot-plugin .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}#comfyui-copilot-plugin .from-amber-50{--tw-gradient-from: #fffbeb var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 251 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}#comfyui-copilot-plugin .to-amber-100{--tw-gradient-to: #fef3c7 var(--tw-gradient-to-position)}#comfyui-copilot-plugin .fill-current{fill:currentColor}#comfyui-copilot-plugin .object-contain{-o-object-fit:contain;object-fit:contain}#comfyui-copilot-plugin .object-cover{-o-object-fit:cover;object-fit:cover}#comfyui-copilot-plugin .p-0\.5{padding:.125rem}#comfyui-copilot-plugin .p-1{padding:.25rem}#comfyui-copilot-plugin .p-1\.5{padding:.375rem}#comfyui-copilot-plugin .p-2{padding:.5rem}#comfyui-copilot-plugin .p-3{padding:.75rem}#comfyui-copilot-plugin .p-4{padding:1rem}#comfyui-copilot-plugin .p-6{padding:1.5rem}#comfyui-copilot-plugin .p-8{padding:2rem}#comfyui-copilot-plugin .px-1{padding-left:.25rem;padding-right:.25rem}#comfyui-copilot-plugin .px-1\.5{padding-left:.375rem;padding-right:.375rem}#comfyui-copilot-plugin .px-2{padding-left:.5rem;padding-right:.5rem}#comfyui-copilot-plugin .px-3{padding-left:.75rem;padding-right:.75rem}#comfyui-copilot-plugin .px-4{padding-left:1rem;padding-right:1rem}#comfyui-copilot-plugin .px-5{padding-left:1.25rem;padding-right:1.25rem}#comfyui-copilot-plugin .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}#comfyui-copilot-plugin .py-1{padding-top:.25rem;padding-bottom:.25rem}#comfyui-copilot-plugin .py-1\.5{padding-top:.375rem;padding-bottom:.375rem}#comfyui-copilot-plugin .py-2{padding-top:.5rem;padding-bottom:.5rem}#comfyui-copilot-plugin .py-2\.5{padding-top:.625rem;padding-bottom:.625rem}#comfyui-copilot-plugin .py-3{padding-top:.75rem;padding-bottom:.75rem}#comfyui-copilot-plugin .py-4{padding-top:1rem;padding-bottom:1rem}#comfyui-copilot-plugin .py-8{padding-top:2rem;padding-bottom:2rem}#comfyui-copilot-plugin .pb-10{padding-bottom:2.5rem}#comfyui-copilot-plugin .pb-2{padding-bottom:.5rem}#comfyui-copilot-plugin .pb-3{padding-bottom:.75rem}#comfyui-copilot-plugin .pl-4{padding-left:1rem}#comfyui-copilot-plugin .pr-12{padding-right:3rem}#comfyui-copilot-plugin .pr-4{padding-right:1rem}#comfyui-copilot-plugin .pr-6{padding-right:1.5rem}#comfyui-copilot-plugin .pt-1{padding-top:.25rem}#comfyui-copilot-plugin .pt-2{padding-top:.5rem}#comfyui-copilot-plugin .pt-6{padding-top:1.5rem}#comfyui-copilot-plugin .text-left{text-align:left}#comfyui-copilot-plugin .text-center{text-align:center}#comfyui-copilot-plugin .\!text-\[11px\]{font-size:11px!important}#comfyui-copilot-plugin .text-\[10px\]{font-size:10px}#comfyui-copilot-plugin .text-\[11px\]{font-size:11px}#comfyui-copilot-plugin .text-\[12px\]{font-size:12px}#comfyui-copilot-plugin .text-\[14px\]{font-size:14px}#comfyui-copilot-plugin .text-base{font-size:1rem;line-height:1.5rem}#comfyui-copilot-plugin .text-lg{font-size:1.125rem;line-height:1.75rem}#comfyui-copilot-plugin .text-sm{font-size:.875rem;line-height:1.25rem}#comfyui-copilot-plugin .text-xl{font-size:1.25rem;line-height:1.75rem}#comfyui-copilot-plugin .text-xs{font-size:.75rem;line-height:1rem}#comfyui-copilot-plugin .font-bold{font-weight:700}#comfyui-copilot-plugin .font-medium{font-weight:500}#comfyui-copilot-plugin .font-semibold{font-weight:600}#comfyui-copilot-plugin .italic{font-style:italic}#comfyui-copilot-plugin .leading-relaxed{line-height:1.625}#comfyui-copilot-plugin .leading-snug{line-height:1.375}#comfyui-copilot-plugin .text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-gray-300{color:color-mix(in srgb,var(--p-text-color) 30%,transparent)}#comfyui-copilot-plugin .text-gray-400{color:color-mix(in srgb,var(--p-text-color) 40%,transparent)}#comfyui-copilot-plugin .text-gray-500{color:color-mix(in srgb,var(--p-text-color) 50%,transparent)}#comfyui-copilot-plugin .text-gray-600{color:color-mix(in srgb,var(--p-text-color) 60%,transparent)}#comfyui-copilot-plugin .text-gray-700{color:color-mix(in srgb,var(--p-text-color) 70%,transparent)}#comfyui-copilot-plugin .text-gray-800{color:color-mix(in srgb,var(--p-text-color) 80%,transparent)}#comfyui-copilot-plugin .text-gray-900{color:color-mix(in srgb,var(--p-text-color) 90%,transparent)}#comfyui-copilot-plugin .text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-green-900{--tw-text-opacity: 1;color:rgb(20 83 45 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-pink-600{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-pink-700{--tw-text-opacity: 1;color:rgb(190 24 93 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}#comfyui-copilot-plugin .text-white{color:var(--p-panel-background)}#comfyui-copilot-plugin .underline{text-decoration-line:underline}#comfyui-copilot-plugin .placeholder-gray-500::-moz-placeholder{color:color-mix(in srgb,var(--p-text-color) 50%,transparent)}#comfyui-copilot-plugin .placeholder-gray-500::placeholder{color:color-mix(in srgb,var(--p-text-color) 50%,transparent)}#comfyui-copilot-plugin .opacity-0{opacity:0}#comfyui-copilot-plugin .opacity-25{opacity:.25}#comfyui-copilot-plugin .opacity-40{opacity:.4}#comfyui-copilot-plugin .opacity-50{opacity:.5}#comfyui-copilot-plugin .opacity-75{opacity:.75}#comfyui-copilot-plugin .shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#comfyui-copilot-plugin .shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#comfyui-copilot-plugin .shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#comfyui-copilot-plugin .shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#comfyui-copilot-plugin .shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#comfyui-copilot-plugin .shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#comfyui-copilot-plugin .outline-none{outline:2px solid transparent;outline-offset:2px}#comfyui-copilot-plugin .ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}#comfyui-copilot-plugin .ring-pink-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(249 168 212 / var(--tw-ring-opacity, 1))}#comfyui-copilot-plugin .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#comfyui-copilot-plugin .backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}#comfyui-copilot-plugin .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#comfyui-copilot-plugin .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#comfyui-copilot-plugin .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#comfyui-copilot-plugin .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#comfyui-copilot-plugin .duration-200{transition-duration:.2s}#comfyui-copilot-plugin{height:100%;display:flex;flex-direction:column}#comfyui-copilot-plugin h1,#comfyui-copilot-plugin h2,#comfyui-copilot-plugin h3,#comfyui-copilot-plugin h4,#comfyui-copilot-plugin h5,#comfyui-copilot-plugin h6,#comfyui-copilot-plugin p,#comfyui-copilot-plugin ul,#comfyui-copilot-plugin ol,#comfyui-copilot-plugin button,#comfyui-copilot-plugin input,#comfyui-copilot-plugin textarea,#comfyui-copilot-plugin select{margin:0;padding:0;font-size:100%;font-weight:400}#comfyui-copilot-plugin *{box-sizing:border-box;border-width:0;border-style:solid}#comfyui-copilot-plugin img,#comfyui-copilot-plugin svg,#comfyui-copilot-plugin video,#comfyui-copilot-plugin canvas,#comfyui-copilot-plugin audio,#comfyui-copilot-plugin iframe,#comfyui-copilot-plugin embed,#comfyui-copilot-plugin object{display:block;vertical-align:middle}#comfyui-copilot-plugin button{background-color:transparent;background-image:none}.hover\:border-b-2:hover{border-bottom-width:2px}.hover\:border-blue-300:hover{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.hover\:border-blue-500:hover{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.hover\:bg-amber-200\/50:hover{background-color:#fde68a80}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-200:hover{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{background-color:color-mix(in srgb,var(--p-text-color) 10%,transparent)}.hover\:bg-gray-200:hover{background-color:color-mix(in srgb,var(--p-text-color) 20%,transparent)}.hover\:bg-gray-300:hover{background-color:color-mix(in srgb,var(--p-text-color) 30%,transparent)}.hover\:bg-gray-50:hover{background-color:color-mix(in srgb,var(--p-text-color) 5%,transparent)}.hover\:bg-green-200:hover{--tw-bg-opacity: 1;background-color:rgb(187 247 208 / var(--tw-bg-opacity, 1))}.hover\:bg-pink-300:hover{--tw-bg-opacity: 1;background-color:rgb(249 168 212 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-200:hover{--tw-bg-opacity: 1;background-color:rgb(233 213 255 / var(--tw-bg-opacity, 1))}.hover\:text-amber-700:hover{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.hover\:text-amber-800:hover{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-gray-600:hover{color:color-mix(in srgb,var(--p-text-color) 60%,transparent)}.hover\:text-gray-700:hover{color:color-mix(in srgb,var(--p-text-color) 70%,transparent)}.hover\:text-gray-900:hover{color:color-mix(in srgb,var(--p-text-color) 90%,transparent)}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-sm:hover{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-blue-500\/20:focus{--tw-ring-color: rgb(59 130 246 / .2)}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-100{opacity:1}.prose-headings\:font-semibold :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){font-weight:600}.prose-h1\:text-base :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1rem;line-height:1.5rem}.prose-h2\:text-sm :is(:where(h2):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.875rem;line-height:1.25rem}.prose-h3\:text-xs :is(:where(h3):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.75rem;line-height:1rem}.prose-h4\:text-xs :is(:where(h4):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.75rem;line-height:1rem}.prose-p\:text-xs :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.75rem;line-height:1rem}.prose-a\:font-medium :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){font-weight:500}.prose-a\:text-amber-700 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.prose-a\:underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-line:underline}.hover\:prose-a\:text-amber-800 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.prose-code\:text-xs :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.75rem;line-height:1rem}.prose-pre\:text-xs :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.75rem;line-height:1rem}.prose-ol\:text-xs :is(:where(ol):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.75rem;line-height:1rem}.prose-ul\:text-xs :is(:where(ul):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.75rem;line-height:1rem}.prose-li\:text-xs :is(:where(li):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.75rem;line-height:1rem}@media (prefers-color-scheme: dark){.dark\:border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.dark\:border-gray-600{border-color:color-mix(in srgb,var(--p-text-color) 60%,transparent)}.dark\:border-gray-700{border-color:color-mix(in srgb,var(--p-text-color) 70%,transparent)}.dark\:border-red-800\/20{border-color:#991b1b33}.dark\:bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-600{background-color:color-mix(in srgb,var(--p-text-color) 60%,transparent)}.dark\:bg-gray-700{background-color:color-mix(in srgb,var(--p-text-color) 70%,transparent)}.dark\:bg-gray-800{background-color:color-mix(in srgb,var(--p-text-color) 80%,transparent)}.dark\:bg-green-900\/20{background-color:#14532d33}.dark\:bg-red-900\/20{background-color:#7f1d1d33}.dark\:text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-gray-100{color:color-mix(in srgb,var(--p-text-color) 10%,transparent)}.dark\:text-gray-200{color:color-mix(in srgb,var(--p-text-color) 20%,transparent)}.dark\:text-gray-300{color:color-mix(in srgb,var(--p-text-color) 30%,transparent)}.dark\:text-gray-400{color:color-mix(in srgb,var(--p-text-color) 40%,transparent)}.dark\:text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-pink-400{--tw-text-opacity: 1;color:rgb(244 114 182 / var(--tw-text-opacity, 1))}.dark\:text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-white{color:var(--p-panel-background)}.dark\:placeholder-gray-400::-moz-placeholder{color:color-mix(in srgb,var(--p-text-color) 40%,transparent)}.dark\:placeholder-gray-400::placeholder{color:color-mix(in srgb,var(--p-text-color) 40%,transparent)}.dark\:hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-700:hover{background-color:color-mix(in srgb,var(--p-text-color) 70%,transparent)}.dark\:hover\:text-blue-300:hover{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:hover\:text-gray-200:hover{color:color-mix(in srgb,var(--p-text-color) 20%,transparent)}.dark\:hover\:text-white:hover{color:var(--p-panel-background)}.dark\:focus\:border-blue-400:focus{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.dark\:focus\:ring-blue-400\/20:focus{--tw-ring-color: rgb(96 165 250 / .2)}}.\[\&\>\*\]\:\!my-1>*{margin-top:.25rem!important;margin-bottom:.25rem!important} diff --git a/dist/copilot_web/assets/logo-BTZhX0BN.png b/dist/copilot_web/assets/logo-BTZhX0BN.png new file mode 100644 index 0000000000000000000000000000000000000000..3237ccfa0e36bc926d0eb560d1c8006ce3e157fe GIT binary patch literal 46281 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 { + const apiBase = window.comfyAPI?.api?.api?.api_base; + if (apiBase) { + // 有 API base 时,使用完整路径 + return `${apiBase.substring(1)}/${path}`; + } else { + // 没有 API base 时,使用相对路径 + return `./${path}`; + } + }))))=>i.map(i=>d[i]); +import{j as Fu}from"./vendor-markdown-Mq66gLHN.js";import{r as d0,a as Pv,g as ly,R as s0}from"./vendor-react-6F4zURhM.js";import{w as ay,a as ty}from"./message-components-CP6ZQyhw.js";/* empty css */const uy="modulepreload",ey=function(l){return"/"+l},Jc={},ny=function(a,t,u){let e=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const f=document.querySelector("meta[property=csp-nonce]"),c=f?.nonce||f?.getAttribute("nonce");e=Promise.allSettled(t.map(i=>{if(i=ey(i),i in Jc)return;Jc[i]=!0;const h=i.endsWith(".css"),b=h?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${i}"]${b}`))return;const S=document.createElement("link");if(S.rel=h?"stylesheet":uy,h||(S.as="script"),S.crossOrigin="",S.href=i,c&&S.setAttribute("nonce",c),document.head.appendChild(S),h)return new Promise((d,m)=>{S.addEventListener("load",d),S.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${i}`)))})}))}function n(f){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=f,window.dispatchEvent(c),!c.defaultPrevented)throw f}return e.then(f=>{for(const c of f||[])c.status==="rejected"&&n(c.reason);return a().catch(n)})};var m0={exports:{}},an={},S0={exports:{}},b0={};/** + * @license React + * scheduler.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */(function(l){function a(A,N){var _=A.length;A.push(N);l:for(;0<_;){var k=_-1>>>1,el=A[k];if(0>>1;ke(zn,_))xae(ku,zn)?(A[k]=ku,A[xa]=_,k=xa):(A[k]=zn,A[$u]=_,k=$u);else if(xae(ku,_))A[k]=ku,A[xa]=_,k=xa;else break l}}return N}function e(A,N){var _=A.sortIndex-N.sortIndex;return _!==0?_:A.id-N.id}if(l.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var n=performance;l.unstable_now=function(){return n.now()}}else{var f=Date,c=f.now();l.unstable_now=function(){return f.now()-c}}var i=[],h=[],b=1,S=null,d=3,m=!1,M=!1,E=!1,X=!1,y=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,s=typeof setImmediate<"u"?setImmediate:null;function g(A){for(var N=t(h);N!==null;){if(N.callback===null)u(h);else if(N.startTime<=A)u(h),N.sortIndex=N.expirationTime,a(i,N);else break;N=t(h)}}function z(A){if(E=!1,g(A),!M)if(t(i)!==null)M=!0,U||(U=!0,da());else{var N=t(h);N!==null&&on(z,N.startTime-A)}}var U=!1,T=-1,D=5,$=-1;function B(){return X?!0:!(l.unstable_now()-$A&&B());){var k=S.callback;if(typeof k=="function"){S.callback=null,d=S.priorityLevel;var el=k(S.expirationTime<=A);if(A=l.unstable_now(),typeof el=="function"){S.callback=el,g(A),N=!0;break a}S===t(i)&&u(i),g(A)}else u(i);S=t(i)}if(S!==null)N=!0;else{var Wu=t(h);Wu!==null&&on(z,Wu.startTime-A),N=!1}}break l}finally{S=null,d=_,m=!1}N=void 0}}finally{N?da():U=!1}}}var da;if(typeof s=="function")da=function(){s(Nl)};else if(typeof MessageChannel<"u"){var Lc=new MessageChannel,Iv=Lc.port2;Lc.port1.onmessage=Nl,da=function(){Iv.postMessage(null)}}else da=function(){y(Nl,0)};function on(A,N){T=y(function(){A(l.unstable_now())},N)}l.unstable_IdlePriority=5,l.unstable_ImmediatePriority=1,l.unstable_LowPriority=4,l.unstable_NormalPriority=3,l.unstable_Profiling=null,l.unstable_UserBlockingPriority=2,l.unstable_cancelCallback=function(A){A.callback=null},l.unstable_forceFrameRate=function(A){0>A||125k?(A.sortIndex=_,a(h,A),t(i)===null&&A===t(h)&&(E?(v(T),T=-1):E=!0,on(z,_-k))):(A.sortIndex=el,a(i,A),M||m||(M=!0,U||(U=!0,da()))),A},l.unstable_shouldYield=B,l.unstable_wrapCallback=function(A){var N=d;return function(){var _=d;d=N;try{return A.apply(this,arguments)}finally{d=_}}}})(b0);S0.exports=b0;var fy=S0.exports;/** + * @license React + * react-dom-client.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var ul=fy,g0=d0,cy=Pv;function o(l){var a="https://react.dev/errors/"+l;if(1yt||(l.current=nf[yt],nf[yt]=null,yt--)}function J(l,a){yt++,nf[yt]=l.current,l.current=a}var Jl=Wl(null),ou=Wl(null),Oa=Wl(null),Oe=Wl(null);function Ue(l,a){switch(J(Oa,a),J(ou,l),J(Jl,null),a.nodeType){case 9:case 11:l=(l=a.documentElement)&&(l=l.namespaceURI)?Ii(l):0;break;default:if(l=a.tagName,a=a.namespaceURI)a=Ii(a),l=jv(a,l);else switch(l){case"svg":l=1;break;case"math":l=2;break;default:l=0}}il(Jl),J(Jl,l)}function Nt(){il(Jl),il(ou),il(Oa)}function ff(l){l.memoizedState!==null&&J(Oe,l);var a=Jl.current,t=jv(a,l.type);a!==t&&(J(ou,l),J(Jl,t))}function He(l){ou.current===l&&(il(Jl),il(ou)),Oe.current===l&&(il(Oe),_u._currentValue=pa)}var cf=Object.prototype.hasOwnProperty,If=ul.unstable_scheduleCallback,An=ul.unstable_cancelCallback,sy=ul.unstable_shouldYield,my=ul.unstable_requestPaint,rl=ul.unstable_now,Sy=ul.unstable_getCurrentPriorityLevel,M0=ul.unstable_ImmediatePriority,D0=ul.unstable_UserBlockingPriority,_e=ul.unstable_NormalPriority,by=ul.unstable_LowPriority,O0=ul.unstable_IdlePriority,gy=ul.log,oy=ul.unstable_setDisableYieldValue,Yu=null,Dl=null;function Ta(l){if(typeof gy=="function"&&oy(l),Dl&&typeof Dl.setStrictMode=="function")try{Dl.setStrictMode(Yu,l)}catch{}}var Ol=Math.clz32?Math.clz32:Ty,zy=Math.log,Ay=Math.LN2;function Ty(l){return l>>>=0,l===0?32:31-(zy(l)/Ay|0)|0}var Pu=256,le=4194304;function Va(l){var a=l&42;if(a!==0)return a;switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function tn(l,a,t){var u=l.pendingLanes;if(u===0)return 0;var e=0,n=l.suspendedLanes,f=l.pingedLanes;l=l.warmLanes;var c=u&134217727;return c!==0?(u=c&~n,u!==0?e=Va(u):(f&=c,f!==0?e=Va(f):t||(t=c&~l,t!==0&&(e=Va(t))))):(c=u&~n,c!==0?e=Va(c):f!==0?e=Va(f):t||(t=u&~l,t!==0&&(e=Va(t)))),e===0?0:a!==0&&a!==e&&!(a&n)&&(n=e&-e,t=a&-a,n>=t||n===32&&(t&4194048)!==0)?a:e}function Xu(l,a){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&a)===0}function Ey(l,a){switch(l){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function U0(){var l=Pu;return Pu<<=1,!(Pu&4194048)&&(Pu=256),l}function H0(){var l=le;return le<<=1,!(le&62914560)&&(le=4194304),l}function Tn(l){for(var a=[],t=0;31>t;t++)a.push(l);return a}function Gu(l,a){l.pendingLanes|=a,a!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function My(l,a,t,u,e,n){var f=l.pendingLanes;l.pendingLanes=t,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=t,l.entangledLanes&=t,l.errorRecoveryDisabledLanes&=t,l.shellSuspendCounter=0;var c=l.entanglements,i=l.expirationTimes,h=l.hiddenUpdates;for(t=f&~t;0)":-1e||i[u]!==h[e]){var b=` +`+i[u].replace(" at new "," at ");return l.displayName&&b.includes("")&&(b=b.replace("",l.displayName)),b}while(1<=u&&0<=e);break}}}finally{Mn=!1,Error.prepareStackTrace=t}return(t=l?l.displayName||l.name:"")?ft(t):""}function Ny(l){switch(l.tag){case 26:case 27:case 5:return ft(l.type);case 16:return ft("Lazy");case 13:return ft("Suspense");case 19:return ft("SuspenseList");case 0:case 15:return Dn(l.type,!1);case 11:return Dn(l.type.render,!1);case 1:return Dn(l.type,!0);case 31:return ft("Activity");default:return""}}function Ic(l){try{var a="";do a+=Ny(l),l=l.return;while(l);return a}catch(t){return` +Error generating stack: `+t.message+` +`+t.stack}}function Rl(l){switch(typeof l){case"bigint":case"boolean":case"number":case"string":case"undefined":return l;case"object":return l;default:return""}}function Y0(l){var a=l.type;return(l=l.nodeName)&&l.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function qy(l){var a=Y0(l)?"checked":"value",t=Object.getOwnPropertyDescriptor(l.constructor.prototype,a),u=""+l[a];if(!l.hasOwnProperty(a)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var e=t.get,n=t.set;return Object.defineProperty(l,a,{configurable:!0,get:function(){return e.call(this)},set:function(f){u=""+f,n.call(this,f)}}),Object.defineProperty(l,a,{enumerable:t.enumerable}),{getValue:function(){return u},setValue:function(f){u=""+f},stopTracking:function(){l._valueTracker=null,delete l[a]}}}}function Ne(l){l._valueTracker||(l._valueTracker=qy(l))}function X0(l){if(!l)return!1;var a=l._valueTracker;if(!a)return!0;var t=a.getValue(),u="";return l&&(u=Y0(l)?l.checked?"true":"false":l.value),l=u,l!==t?(a.setValue(l),!0):!1}function qe(l){if(l=l||(typeof document<"u"?document:void 0),typeof l>"u")return null;try{return l.activeElement||l.body}catch{return l.body}}var Ry=/[\n"\\]/g;function Xl(l){return l.replace(Ry,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function yf(l,a,t,u,e,n,f,c){l.name="",f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?l.type=f:l.removeAttribute("type"),a!=null?f==="number"?(a===0&&l.value===""||l.value!=a)&&(l.value=""+Rl(a)):l.value!==""+Rl(a)&&(l.value=""+Rl(a)):f!=="submit"&&f!=="reset"||l.removeAttribute("value"),a!=null?hf(l,f,Rl(a)):t!=null?hf(l,f,Rl(t)):u!=null&&l.removeAttribute("value"),e==null&&n!=null&&(l.defaultChecked=!!n),e!=null&&(l.checked=e&&typeof e!="function"&&typeof e!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?l.name=""+Rl(c):l.removeAttribute("name")}function G0(l,a,t,u,e,n,f,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(l.type=n),a!=null||t!=null){if(!(n!=="submit"&&n!=="reset"||a!=null))return;t=t!=null?""+Rl(t):"",a=a!=null?""+Rl(a):t,c||a===l.value||(l.value=a),l.defaultValue=a}u=u??e,u=typeof u!="function"&&typeof u!="symbol"&&!!u,l.checked=c?l.checked:!!u,l.defaultChecked=!!u,f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(l.name=f)}function hf(l,a,t){a==="number"&&qe(l.ownerDocument)===l||l.defaultValue===""+t||(l.defaultValue=""+t)}function Et(l,a,t,u){if(l=l.options,a){a={};for(var e=0;e"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),sf=!1;if(ca)try{var wt={};Object.defineProperty(wt,"passive",{get:function(){sf=!0}}),window.addEventListener("test",wt,wt),window.removeEventListener("test",wt,wt)}catch{sf=!1}var Ea=null,ec=null,me=null;function V0(){if(me)return me;var l,a=ec,t=a.length,u,e="value"in Ea?Ea.value:Ea.textContent,n=e.length;for(l=0;l=eu),ni=" ",fi=!1;function C0(l,a){switch(l){case"keyup":return nh.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function p0(l){return l=l.detail,typeof l=="object"&&"data"in l?l.data:null}var st=!1;function ch(l,a){switch(l){case"compositionend":return p0(a);case"keypress":return a.which!==32?null:(fi=!0,ni);case"textInput":return l=a.data,l===ni&&fi?null:l;default:return null}}function ih(l,a){if(st)return l==="compositionend"||!fc&&C0(l,a)?(l=V0(),me=ec=Ea=null,st=!1,l):null;switch(l){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1=a)return{node:t,offset:a-l};l=u}l:{for(;t;){if(t.nextSibling){t=t.nextSibling;break l}t=t.parentNode}t=void 0}t=hi(t)}}function w0(l,a){return l&&a?l===a?!0:l&&l.nodeType===3?!1:a&&a.nodeType===3?w0(l,a.parentNode):"contains"in l?l.contains(a):l.compareDocumentPosition?!!(l.compareDocumentPosition(a)&16):!1:!1}function W0(l){l=l!=null&&l.ownerDocument!=null&&l.ownerDocument.defaultView!=null?l.ownerDocument.defaultView:window;for(var a=qe(l.document);a instanceof l.HTMLIFrameElement;){try{var t=typeof a.contentWindow.location.href=="string"}catch{t=!1}if(t)l=a.contentWindow;else break;a=qe(l.document)}return a}function cc(l){var a=l&&l.nodeName&&l.nodeName.toLowerCase();return a&&(a==="input"&&(l.type==="text"||l.type==="search"||l.type==="tel"||l.type==="url"||l.type==="password")||a==="textarea"||l.contentEditable==="true")}var bh=ca&&"documentMode"in document&&11>=document.documentMode,mt=null,mf=null,fu=null,Sf=!1;function si(l,a,t){var u=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;Sf||mt==null||mt!==qe(u)||(u=mt,"selectionStart"in u&&cc(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),fu&&Tu(fu,u)||(fu=u,u=We(mf,"onSelect"),0>=f,e-=f,aa=1<<32-Ol(a)+e|t<n?n:8;var f=O.T,c={};O.T=c,_c(l,!1,a,t);try{var i=e(),h=O.S;if(h!==null&&h(c,i),i!==null&&typeof i=="object"&&typeof i.then=="function"){var b=Oh(i,u);du(l,a,b,Ul(l))}else du(l,a,u,Ul(l))}catch(S){du(l,a,{then:function(){},status:"rejected",reason:S},Ul())}finally{Q.p=n,O.T=f}}function qh(){}function _f(l,a,t,u){if(l.tag!==5)throw Error(o(476));var e=Y1(l).queue;B1(l,e,a,pa,t===null?qh:function(){return X1(l),t(u)})}function Y1(l){var a=l.memoizedState;if(a!==null)return a;a={memoizedState:pa,baseState:pa,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ia,lastRenderedState:pa},next:null};var t={};return a.next={memoizedState:t,baseState:t,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ia,lastRenderedState:t},next:null},l.memoizedState=a,l=l.alternate,l!==null&&(l.memoizedState=a),a}function X1(l){var a=Y1(l).next.queue;du(l,a,{},Ul())}function Hc(){return sl(_u)}function G1(){return ll().memoizedState}function Q1(){return ll().memoizedState}function Rh(l){for(var a=l.return;a!==null;){switch(a.tag){case 24:case 3:var t=Ul();l=Ua(t);var u=Ha(a,l,t);u!==null&&(Hl(u,a,t),vu(u,a,t)),a={cache:sc()},l.payload=a;return}a=a.return}}function Bh(l,a,t){var u=Ul();t={lane:u,revertLane:0,action:t,hasEagerState:!1,eagerState:null,next:null},dn(l)?x1(a,t):(t=vc(l,a,t,u),t!==null&&(Hl(t,l,u),j1(t,a,u)))}function Z1(l,a,t){var u=Ul();du(l,a,t,u)}function du(l,a,t,u){var e={lane:u,revertLane:0,action:t,hasEagerState:!1,eagerState:null,next:null};if(dn(l))x1(a,e);else{var n=l.alternate;if(l.lanes===0&&(n===null||n.lanes===0)&&(n=a.lastRenderedReducer,n!==null))try{var f=a.lastRenderedState,c=n(f,t);if(e.hasEagerState=!0,e.eagerState=c,_l(c,f))return cn(l,a,e,0),C===null&&fn(),!1}catch{}finally{}if(t=vc(l,a,e,u),t!==null)return Hl(t,l,u),j1(t,a,u),!0}return!1}function _c(l,a,t,u){if(u={lane:2,revertLane:Qc(),action:u,hasEagerState:!1,eagerState:null,next:null},dn(l)){if(a)throw Error(o(479))}else a=vc(l,t,u,2),a!==null&&Hl(a,l,2)}function dn(l){var a=l.alternate;return l===H||a!==null&&a===H}function x1(l,a){Ot=Qe=!0;var t=l.pending;t===null?a.next=a:(a.next=t.next,t.next=a),l.pending=a}function j1(l,a,t){if(t&4194048){var u=a.lanes;u&=l.pendingLanes,t|=u,a.lanes=t,N0(l,t)}}var xe={readContext:sl,use:yn,useCallback:F,useContext:F,useEffect:F,useImperativeHandle:F,useLayoutEffect:F,useInsertionEffect:F,useMemo:F,useReducer:F,useRef:F,useState:F,useDebugValue:F,useDeferredValue:F,useTransition:F,useSyncExternalStore:F,useId:F,useHostTransitionStatus:F,useFormState:F,useActionState:F,useOptimistic:F,useMemoCache:F,useCacheRefresh:F},V1={readContext:sl,use:yn,useCallback:function(l,a){return Sl().memoizedState=[l,a===void 0?null:a],l},useContext:sl,useEffect:Ni,useImperativeHandle:function(l,a,t){t=t!=null?t.concat([l]):null,ze(4194308,4,H1.bind(null,a,l),t)},useLayoutEffect:function(l,a){return ze(4194308,4,l,a)},useInsertionEffect:function(l,a){ze(4,2,l,a)},useMemo:function(l,a){var t=Sl();a=a===void 0?null:a;var u=l();if(Ia){Ta(!0);try{l()}finally{Ta(!1)}}return t.memoizedState=[u,a],u},useReducer:function(l,a,t){var u=Sl();if(t!==void 0){var e=t(a);if(Ia){Ta(!0);try{t(a)}finally{Ta(!1)}}}else e=a;return u.memoizedState=u.baseState=e,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:e},u.queue=l,l=l.dispatch=Bh.bind(null,H,l),[u.memoizedState,l]},useRef:function(l){var a=Sl();return l={current:l},a.memoizedState=l},useState:function(l){l=Uf(l);var a=l.queue,t=Z1.bind(null,H,a);return a.dispatch=t,[l.memoizedState,t]},useDebugValue:Oc,useDeferredValue:function(l,a){var t=Sl();return Uc(t,l,a)},useTransition:function(){var l=Uf(!1);return l=B1.bind(null,H,l.queue,!0,!1),Sl().memoizedState=l,[!1,l]},useSyncExternalStore:function(l,a,t){var u=H,e=Sl();if(G){if(t===void 0)throw Error(o(407));t=t()}else{if(t=a(),C===null)throw Error(o(349));Y&124||s1(u,a,t)}e.memoizedState=t;var n={value:t,getSnapshot:a};return e.queue=n,Ni(S1.bind(null,u,n,l),[l]),u.flags|=2048,Xt(9,hn(),m1.bind(null,u,n,t,a),null),t},useId:function(){var l=Sl(),a=C.identifierPrefix;if(G){var t=ta,u=aa;t=(u&~(1<<32-Ol(u)-1)).toString(32)+t,a="«"+a+"R"+t,t=Ze++,0D?($=T,T=null):$=T.sibling;var B=d(y,T,s[D],g);if(B===null){T===null&&(T=$);break}l&&T&&B.alternate===null&&a(y,T),v=n(B,v,D),U===null?z=B:U.sibling=B,U=B,T=$}if(D===s.length)return t(y,T),G&&Ka(y,D),z;if(T===null){for(;DD?($=T,T=null):$=T.sibling;var Nl=d(y,T,B.value,g);if(Nl===null){T===null&&(T=$);break}l&&T&&Nl.alternate===null&&a(y,T),v=n(Nl,v,D),U===null?z=Nl:U.sibling=Nl,U=Nl,T=$}if(B.done)return t(y,T),G&&Ka(y,D),z;if(T===null){for(;!B.done;D++,B=s.next())B=S(y,B.value,g),B!==null&&(v=n(B,v,D),U===null?z=B:U.sibling=B,U=B);return G&&Ka(y,D),z}for(T=u(T);!B.done;D++,B=s.next())B=m(T,y,D,B.value,g),B!==null&&(l&&B.alternate!==null&&T.delete(B.key===null?D:B.key),v=n(B,v,D),U===null?z=B:U.sibling=B,U=B);return l&&T.forEach(function(da){return a(y,da)}),G&&Ka(y,D),z}function X(y,v,s,g){if(typeof s=="object"&&s!==null&&s.type===vt&&s.key===null&&(s=s.props.children),typeof s=="object"&&s!==null){switch(s.$$typeof){case Iu:l:{for(var z=s.key;v!==null;){if(v.key===z){if(z=s.type,z===vt){if(v.tag===7){t(y,v.sibling),g=e(v,s.props.children),g.return=y,y=g;break l}}else if(v.elementType===z||typeof z=="object"&&z!==null&&z.$$typeof===Sa&&qi(z)===v.type){t(y,v.sibling),g=e(v,s.props),kt(g,s),g.return=y,y=g;break l}t(y,v);break}else a(y,v);v=v.sibling}s.type===vt?(g=La(s.props.children,y.mode,g,s.key),g.return=y,y=g):(g=be(s.type,s.key,s.props,null,y.mode,g),kt(g,s),g.return=y,y=g)}return f(y);case lu:l:{for(z=s.key;v!==null;){if(v.key===z)if(v.tag===4&&v.stateNode.containerInfo===s.containerInfo&&v.stateNode.implementation===s.implementation){t(y,v.sibling),g=e(v,s.children||[]),g.return=y,y=g;break l}else{t(y,v);break}else a(y,v);v=v.sibling}g=Yn(s,y.mode,g),g.return=y,y=g}return f(y);case Sa:return z=s._init,s=z(s._payload),X(y,v,s,g)}if(au(s))return M(y,v,s,g);if(rt(s)){if(z=rt(s),typeof z!="function")throw Error(o(150));return s=z.call(s),E(y,v,s,g)}if(typeof s.then=="function")return X(y,v,ne(s),g);if(s.$$typeof===la)return X(y,v,ue(y,s),g);fe(y,s)}return typeof s=="string"&&s!==""||typeof s=="number"||typeof s=="bigint"?(s=""+s,v!==null&&v.tag===6?(t(y,v.sibling),g=e(v,s),g.return=y,y=g):(t(y,v),g=Bn(s,y.mode,g),g.return=y,y=g),f(y)):t(y,v)}return function(y,v,s,g){try{Du=0;var z=X(y,v,s,g);return Ht=null,z}catch(T){if(T===Ku||T===vn)throw T;var U=Ml(29,T,null,y.mode);return U.lanes=g,U.return=y,U}finally{}}}var Gt=C1(!0),p1=C1(!1),Zl=Wl(null),wl=null;function oa(l){var a=l.alternate;J(tl,tl.current&1),J(Zl,l),wl===null&&(a===null||Yt.current!==null||a.memoizedState!==null)&&(wl=l)}function L1(l){if(l.tag===22){if(J(tl,tl.current),J(Zl,l),wl===null){var a=l.alternate;a!==null&&a.memoizedState!==null&&(wl=l)}}else za()}function za(){J(tl,tl.current),J(Zl,Zl.current)}function ea(l){il(Zl),wl===l&&(wl=null),il(tl)}var tl=Wl(0);function je(l){for(var a=l;a!==null;){if(a.tag===13){var t=a.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||Jf(t)))return a}else if(a.tag===19&&a.memoizedProps.revealOrder!==void 0){if(a.flags&128)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===l)break;for(;a.sibling===null;){if(a.return===null||a.return===l)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}function Qn(l,a,t,u){a=l.memoizedState,t=t(u,a),t=t==null?a:p({},a,t),l.memoizedState=t,l.lanes===0&&(l.updateQueue.baseState=t)}var Nf={enqueueSetState:function(l,a,t){l=l._reactInternals;var u=Ul(),e=Ua(u);e.payload=a,t!=null&&(e.callback=t),a=Ha(l,e,u),a!==null&&(Hl(a,l,u),vu(a,l,u))},enqueueReplaceState:function(l,a,t){l=l._reactInternals;var u=Ul(),e=Ua(u);e.tag=1,e.payload=a,t!=null&&(e.callback=t),a=Ha(l,e,u),a!==null&&(Hl(a,l,u),vu(a,l,u))},enqueueForceUpdate:function(l,a){l=l._reactInternals;var t=Ul(),u=Ua(t);u.tag=2,a!=null&&(u.callback=a),a=Ha(l,u,t),a!==null&&(Hl(a,l,t),vu(a,l,t))}};function Ri(l,a,t,u,e,n,f){return l=l.stateNode,typeof l.shouldComponentUpdate=="function"?l.shouldComponentUpdate(u,n,f):a.prototype&&a.prototype.isPureReactComponent?!Tu(t,u)||!Tu(e,n):!0}function Bi(l,a,t,u){l=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(t,u),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(t,u),a.state!==l&&Nf.enqueueReplaceState(a,a.state,null)}function Pa(l,a){var t=a;if("ref"in a){t={};for(var u in a)u!=="ref"&&(t[u]=a[u])}if(l=l.defaultProps){t===a&&(t=p({},t));for(var e in l)t[e]===void 0&&(t[e]=l[e])}return t}var Ve=typeof reportError=="function"?reportError:function(l){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var a=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof l=="object"&&l!==null&&typeof l.message=="string"?String(l.message):String(l),error:l});if(!window.dispatchEvent(a))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",l);return}console.error(l)};function J1(l){Ve(l)}function r1(l){console.error(l)}function w1(l){Ve(l)}function Ke(l,a){try{var t=l.onUncaughtError;t(a.value,{componentStack:a.stack})}catch(u){setTimeout(function(){throw u})}}function Yi(l,a,t){try{var u=l.onCaughtError;u(t.value,{componentStack:t.stack,errorBoundary:a.tag===1?a.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function qf(l,a,t){return t=Ua(t),t.tag=3,t.payload={element:null},t.callback=function(){Ke(l,a)},t}function W1(l){return l=Ua(l),l.tag=3,l}function $1(l,a,t,u){var e=t.type.getDerivedStateFromError;if(typeof e=="function"){var n=u.value;l.payload=function(){return e(n)},l.callback=function(){Yi(a,t,u)}}var f=t.stateNode;f!==null&&typeof f.componentDidCatch=="function"&&(l.callback=function(){Yi(a,t,u),typeof e!="function"&&(_a===null?_a=new Set([this]):_a.add(this));var c=u.stack;this.componentDidCatch(u.value,{componentStack:c!==null?c:""})})}function Xh(l,a,t,u,e){if(t.flags|=32768,u!==null&&typeof u=="object"&&typeof u.then=="function"){if(a=t.alternate,a!==null&&ju(a,t,e,!0),t=Zl.current,t!==null){switch(t.tag){case 13:return wl===null?xf():t.alternate===null&&W===0&&(W=3),t.flags&=-257,t.flags|=65536,t.lanes=e,u===Ef?t.flags|=16384:(a=t.updateQueue,a===null?t.updateQueue=new Set([u]):a.add(u),wn(l,u,e)),!1;case 22:return t.flags|=65536,u===Ef?t.flags|=16384:(a=t.updateQueue,a===null?(a={transitions:null,markerInstances:null,retryQueue:new Set([u])},t.updateQueue=a):(t=a.retryQueue,t===null?a.retryQueue=new Set([u]):t.add(u)),wn(l,u,e)),!1}throw Error(o(435,t.tag))}return wn(l,u,e),xf(),!1}if(G)return a=Zl.current,a!==null?(!(a.flags&65536)&&(a.flags|=256),a.flags|=65536,a.lanes=e,u!==gf&&(l=Error(o(422),{cause:u}),Eu(Gl(l,t)))):(u!==gf&&(a=Error(o(423),{cause:u}),Eu(Gl(a,t))),l=l.current.alternate,l.flags|=65536,e&=-e,l.lanes|=e,u=Gl(u,t),e=qf(l.stateNode,u,e),Xn(l,e),W!==4&&(W=2)),!1;var n=Error(o(520),{cause:u});if(n=Gl(n,t),Su===null?Su=[n]:Su.push(n),W!==4&&(W=2),a===null)return!0;u=Gl(u,t),t=a;do{switch(t.tag){case 3:return t.flags|=65536,l=e&-e,t.lanes|=l,l=qf(t.stateNode,u,l),Xn(t,l),!1;case 1:if(a=t.type,n=t.stateNode,(t.flags&128)===0&&(typeof a.getDerivedStateFromError=="function"||n!==null&&typeof n.componentDidCatch=="function"&&(_a===null||!_a.has(n))))return t.flags|=65536,e&=-e,t.lanes|=e,e=W1(e),$1(e,l,t,u),Xn(t,e),!1}t=t.return}while(t!==null);return!1}var k1=Error(o(461)),cl=!1;function vl(l,a,t,u){a.child=l===null?p1(a,null,t,u):Gt(a,l.child,t,u)}function Xi(l,a,t,u,e){t=t.render;var n=a.ref;if("ref"in u){var f={};for(var c in u)c!=="ref"&&(f[c]=u[c])}else f=u;return Fa(a),u=oc(l,a,t,f,n,e),c=zc(),l!==null&&!cl?(Ac(l,a,e),va(l,a,e)):(G&&c&&hc(a),a.flags|=1,vl(l,a,u,e),a.child)}function Gi(l,a,t,u,e){if(l===null){var n=t.type;return typeof n=="function"&&!yc(n)&&n.defaultProps===void 0&&t.compare===null?(a.tag=15,a.type=n,F1(l,a,n,u,e)):(l=be(t.type,null,u,a,a.mode,e),l.ref=a.ref,l.return=a,a.child=l)}if(n=l.child,!Nc(l,e)){var f=n.memoizedProps;if(t=t.compare,t=t!==null?t:Tu,t(f,u)&&l.ref===a.ref)return va(l,a,e)}return a.flags|=1,l=na(n,u),l.ref=a.ref,l.return=a,a.child=l}function F1(l,a,t,u,e){if(l!==null){var n=l.memoizedProps;if(Tu(n,u)&&l.ref===a.ref)if(cl=!1,a.pendingProps=u=n,Nc(l,e))l.flags&131072&&(cl=!0);else return a.lanes=l.lanes,va(l,a,e)}return Rf(l,a,t,u,e)}function I1(l,a,t){var u=a.pendingProps,e=u.children,n=l!==null?l.memoizedState:null;if(u.mode==="hidden"){if(a.flags&128){if(u=n!==null?n.baseLanes|t:t,l!==null){for(e=a.child=l.child,n=0;e!==null;)n=n|e.lanes|e.childLanes,e=e.sibling;a.childLanes=n&~u}else a.childLanes=0,a.child=null;return Qi(l,a,u,t)}if(t&536870912)a.memoizedState={baseLanes:0,cachePool:null},l!==null&&ge(a,n!==null?n.cachePool:null),n!==null?Mi(a,n):Of(),L1(a);else return a.lanes=a.childLanes=536870912,Qi(l,a,n!==null?n.baseLanes|t:t,t)}else n!==null?(ge(a,n.cachePool),Mi(a,n),za(),a.memoizedState=null):(l!==null&&ge(a,null),Of(),za());return vl(l,a,e,t),a.child}function Qi(l,a,t,u){var e=mc();return e=e===null?null:{parent:al._currentValue,pool:e},a.memoizedState={baseLanes:t,cachePool:e},l!==null&&ge(a,null),Of(),L1(a),l!==null&&ju(l,a,u,!0),null}function Ae(l,a){var t=a.ref;if(t===null)l!==null&&l.ref!==null&&(a.flags|=4194816);else{if(typeof t!="function"&&typeof t!="object")throw Error(o(284));(l===null||l.ref!==t)&&(a.flags|=4194816)}}function Rf(l,a,t,u,e){return Fa(a),t=oc(l,a,t,u,void 0,e),u=zc(),l!==null&&!cl?(Ac(l,a,e),va(l,a,e)):(G&&u&&hc(a),a.flags|=1,vl(l,a,t,e),a.child)}function Zi(l,a,t,u,e,n){return Fa(a),a.updateQueue=null,t=h1(a,u,t,e),y1(l),u=zc(),l!==null&&!cl?(Ac(l,a,n),va(l,a,n)):(G&&u&&hc(a),a.flags|=1,vl(l,a,t,n),a.child)}function xi(l,a,t,u,e){if(Fa(a),a.stateNode===null){var n=gt,f=t.contextType;typeof f=="object"&&f!==null&&(n=sl(f)),n=new t(u,n),a.memoizedState=n.state!==null&&n.state!==void 0?n.state:null,n.updater=Nf,a.stateNode=n,n._reactInternals=a,n=a.stateNode,n.props=u,n.state=a.memoizedState,n.refs={},Sc(a),f=t.contextType,n.context=typeof f=="object"&&f!==null?sl(f):gt,n.state=a.memoizedState,f=t.getDerivedStateFromProps,typeof f=="function"&&(Qn(a,t,f,u),n.state=a.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof n.getSnapshotBeforeUpdate=="function"||typeof n.UNSAFE_componentWillMount!="function"&&typeof n.componentWillMount!="function"||(f=n.state,typeof n.componentWillMount=="function"&&n.componentWillMount(),typeof n.UNSAFE_componentWillMount=="function"&&n.UNSAFE_componentWillMount(),f!==n.state&&Nf.enqueueReplaceState(n,n.state,null),hu(a,u,n,e),yu(),n.state=a.memoizedState),typeof n.componentDidMount=="function"&&(a.flags|=4194308),u=!0}else if(l===null){n=a.stateNode;var c=a.memoizedProps,i=Pa(t,c);n.props=i;var h=n.context,b=t.contextType;f=gt,typeof b=="object"&&b!==null&&(f=sl(b));var S=t.getDerivedStateFromProps;b=typeof S=="function"||typeof n.getSnapshotBeforeUpdate=="function",c=a.pendingProps!==c,b||typeof n.UNSAFE_componentWillReceiveProps!="function"&&typeof n.componentWillReceiveProps!="function"||(c||h!==f)&&Bi(a,n,u,f),ba=!1;var d=a.memoizedState;n.state=d,hu(a,u,n,e),yu(),h=a.memoizedState,c||d!==h||ba?(typeof S=="function"&&(Qn(a,t,S,u),h=a.memoizedState),(i=ba||Ri(a,t,i,u,d,h,f))?(b||typeof n.UNSAFE_componentWillMount!="function"&&typeof n.componentWillMount!="function"||(typeof n.componentWillMount=="function"&&n.componentWillMount(),typeof n.UNSAFE_componentWillMount=="function"&&n.UNSAFE_componentWillMount()),typeof n.componentDidMount=="function"&&(a.flags|=4194308)):(typeof n.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=u,a.memoizedState=h),n.props=u,n.state=h,n.context=f,u=i):(typeof n.componentDidMount=="function"&&(a.flags|=4194308),u=!1)}else{n=a.stateNode,Mf(l,a),f=a.memoizedProps,b=Pa(t,f),n.props=b,S=a.pendingProps,d=n.context,h=t.contextType,i=gt,typeof h=="object"&&h!==null&&(i=sl(h)),c=t.getDerivedStateFromProps,(h=typeof c=="function"||typeof n.getSnapshotBeforeUpdate=="function")||typeof n.UNSAFE_componentWillReceiveProps!="function"&&typeof n.componentWillReceiveProps!="function"||(f!==S||d!==i)&&Bi(a,n,u,i),ba=!1,d=a.memoizedState,n.state=d,hu(a,u,n,e),yu();var m=a.memoizedState;f!==S||d!==m||ba||l!==null&&l.dependencies!==null&&Xe(l.dependencies)?(typeof c=="function"&&(Qn(a,t,c,u),m=a.memoizedState),(b=ba||Ri(a,t,b,u,d,m,i)||l!==null&&l.dependencies!==null&&Xe(l.dependencies))?(h||typeof n.UNSAFE_componentWillUpdate!="function"&&typeof n.componentWillUpdate!="function"||(typeof n.componentWillUpdate=="function"&&n.componentWillUpdate(u,m,i),typeof n.UNSAFE_componentWillUpdate=="function"&&n.UNSAFE_componentWillUpdate(u,m,i)),typeof n.componentDidUpdate=="function"&&(a.flags|=4),typeof n.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof n.componentDidUpdate!="function"||f===l.memoizedProps&&d===l.memoizedState||(a.flags|=4),typeof n.getSnapshotBeforeUpdate!="function"||f===l.memoizedProps&&d===l.memoizedState||(a.flags|=1024),a.memoizedProps=u,a.memoizedState=m),n.props=u,n.state=m,n.context=i,u=b):(typeof n.componentDidUpdate!="function"||f===l.memoizedProps&&d===l.memoizedState||(a.flags|=4),typeof n.getSnapshotBeforeUpdate!="function"||f===l.memoizedProps&&d===l.memoizedState||(a.flags|=1024),u=!1)}return n=u,Ae(l,a),u=(a.flags&128)!==0,n||u?(n=a.stateNode,t=u&&typeof t.getDerivedStateFromError!="function"?null:n.render(),a.flags|=1,l!==null&&u?(a.child=Gt(a,l.child,null,e),a.child=Gt(a,null,t,e)):vl(l,a,t,e),a.memoizedState=n.state,l=a.child):l=va(l,a,e),l}function ji(l,a,t,u){return xu(),a.flags|=256,vl(l,a,t,u),a.child}var Zn={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function xn(l){return{baseLanes:l,cachePool:n1()}}function jn(l,a,t){return l=l!==null?l.childLanes&~t:0,a&&(l|=Ql),l}function P1(l,a,t){var u=a.pendingProps,e=!1,n=(a.flags&128)!==0,f;if((f=n)||(f=l!==null&&l.memoizedState===null?!1:(tl.current&2)!==0),f&&(e=!0,a.flags&=-129),f=(a.flags&32)!==0,a.flags&=-33,l===null){if(G){if(e?oa(a):za(),G){var c=w,i;if(i=c){l:{for(i=c,c=pl;i.nodeType!==8;){if(!c){c=null;break l}if(i=Vl(i.nextSibling),i===null){c=null;break l}}c=i}c!==null?(a.memoizedState={dehydrated:c,treeContext:Ja!==null?{id:aa,overflow:ta}:null,retryLane:536870912,hydrationErrors:null},i=Ml(18,null,null,0),i.stateNode=c,i.return=a,a.child=i,ml=a,w=null,i=!0):i=!1}i||ka(a)}if(c=a.memoizedState,c!==null&&(c=c.dehydrated,c!==null))return Jf(c)?a.lanes=32:a.lanes=536870912,null;ea(a)}return c=u.children,u=u.fallback,e?(za(),e=a.mode,c=Ce({mode:"hidden",children:c},e),u=La(u,e,t,null),c.return=a,u.return=a,c.sibling=u,a.child=c,e=a.child,e.memoizedState=xn(t),e.childLanes=jn(l,f,t),a.memoizedState=Zn,u):(oa(a),Bf(a,c))}if(i=l.memoizedState,i!==null&&(c=i.dehydrated,c!==null)){if(n)a.flags&256?(oa(a),a.flags&=-257,a=Vn(l,a,t)):a.memoizedState!==null?(za(),a.child=l.child,a.flags|=128,a=null):(za(),e=u.fallback,c=a.mode,u=Ce({mode:"visible",children:u.children},c),e=La(e,c,t,null),e.flags|=2,u.return=a,e.return=a,u.sibling=e,a.child=u,Gt(a,l.child,null,t),u=a.child,u.memoizedState=xn(t),u.childLanes=jn(l,f,t),a.memoizedState=Zn,a=e);else if(oa(a),Jf(c)){if(f=c.nextSibling&&c.nextSibling.dataset,f)var h=f.dgst;f=h,u=Error(o(419)),u.stack="",u.digest=f,Eu({value:u,source:null,stack:null}),a=Vn(l,a,t)}else if(cl||ju(l,a,t,!1),f=(t&l.childLanes)!==0,cl||f){if(f=C,f!==null&&(u=t&-t,u=u&42?1:Pf(u),u=u&(f.suspendedLanes|t)?0:u,u!==0&&u!==i.retryLane))throw i.retryLane=u,Ct(l,u),Hl(f,l,u),k1;c.data==="$?"||xf(),a=Vn(l,a,t)}else c.data==="$?"?(a.flags|=192,a.child=l.child,a=null):(l=i.treeContext,w=Vl(c.nextSibling),ml=a,G=!0,ra=null,pl=!1,l!==null&&(Bl[Yl++]=aa,Bl[Yl++]=ta,Bl[Yl++]=Ja,aa=l.id,ta=l.overflow,Ja=a),a=Bf(a,u.children),a.flags|=4096);return a}return e?(za(),e=u.fallback,c=a.mode,i=l.child,h=i.sibling,u=na(i,{mode:"hidden",children:u.children}),u.subtreeFlags=i.subtreeFlags&65011712,h!==null?e=na(h,e):(e=La(e,c,t,null),e.flags|=2),e.return=a,u.return=a,u.sibling=e,a.child=u,u=e,e=a.child,c=l.child.memoizedState,c===null?c=xn(t):(i=c.cachePool,i!==null?(h=al._currentValue,i=i.parent!==h?{parent:h,pool:h}:i):i=n1(),c={baseLanes:c.baseLanes|t,cachePool:i}),e.memoizedState=c,e.childLanes=jn(l,f,t),a.memoizedState=Zn,u):(oa(a),t=l.child,l=t.sibling,t=na(t,{mode:"visible",children:u.children}),t.return=a,t.sibling=null,l!==null&&(f=a.deletions,f===null?(a.deletions=[l],a.flags|=16):f.push(l)),a.child=t,a.memoizedState=null,t)}function Bf(l,a){return a=Ce({mode:"visible",children:a},l.mode),a.return=l,l.child=a}function Ce(l,a){return l=Ml(22,l,null,a),l.lanes=0,l.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},l}function Vn(l,a,t){return Gt(a,l.child,null,t),l=Bf(a,a.pendingProps.children),l.flags|=2,a.memoizedState=null,l}function Vi(l,a,t){l.lanes|=a;var u=l.alternate;u!==null&&(u.lanes|=a),zf(l.return,a,t)}function Kn(l,a,t,u,e){var n=l.memoizedState;n===null?l.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:u,tail:t,tailMode:e}:(n.isBackwards=a,n.rendering=null,n.renderingStartTime=0,n.last=u,n.tail=t,n.tailMode=e)}function lv(l,a,t){var u=a.pendingProps,e=u.revealOrder,n=u.tail;if(vl(l,a,u.children,t),u=tl.current,u&2)u=u&1|2,a.flags|=128;else{if(l!==null&&l.flags&128)l:for(l=a.child;l!==null;){if(l.tag===13)l.memoizedState!==null&&Vi(l,t,a);else if(l.tag===19)Vi(l,t,a);else if(l.child!==null){l.child.return=l,l=l.child;continue}if(l===a)break l;for(;l.sibling===null;){if(l.return===null||l.return===a)break l;l=l.return}l.sibling.return=l.return,l=l.sibling}u&=1}switch(J(tl,u),e){case"forwards":for(t=a.child,e=null;t!==null;)l=t.alternate,l!==null&&je(l)===null&&(e=t),t=t.sibling;t=e,t===null?(e=a.child,a.child=null):(e=t.sibling,t.sibling=null),Kn(a,!1,e,t,n);break;case"backwards":for(t=null,e=a.child,a.child=null;e!==null;){if(l=e.alternate,l!==null&&je(l)===null){a.child=e;break}l=e.sibling,e.sibling=t,t=e,e=l}Kn(a,!0,t,null,n);break;case"together":Kn(a,!1,null,null,void 0);break;default:a.memoizedState=null}return a.child}function va(l,a,t){if(l!==null&&(a.dependencies=l.dependencies),Ga|=a.lanes,!(t&a.childLanes))if(l!==null){if(ju(l,a,t,!1),(t&a.childLanes)===0)return null}else return null;if(l!==null&&a.child!==l.child)throw Error(o(153));if(a.child!==null){for(l=a.child,t=na(l,l.pendingProps),a.child=t,t.return=a;l.sibling!==null;)l=l.sibling,t=t.sibling=na(l,l.pendingProps),t.return=a;t.sibling=null}return a.child}function Nc(l,a){return l.lanes&a?!0:(l=l.dependencies,!!(l!==null&&Xe(l)))}function Gh(l,a,t){switch(a.tag){case 3:Ue(a,a.stateNode.containerInfo),ga(a,al,l.memoizedState.cache),xu();break;case 27:case 5:ff(a);break;case 4:Ue(a,a.stateNode.containerInfo);break;case 10:ga(a,a.type,a.memoizedProps.value);break;case 13:var u=a.memoizedState;if(u!==null)return u.dehydrated!==null?(oa(a),a.flags|=128,null):t&a.child.childLanes?P1(l,a,t):(oa(a),l=va(l,a,t),l!==null?l.sibling:null);oa(a);break;case 19:var e=(l.flags&128)!==0;if(u=(t&a.childLanes)!==0,u||(ju(l,a,t,!1),u=(t&a.childLanes)!==0),e){if(u)return lv(l,a,t);a.flags|=128}if(e=a.memoizedState,e!==null&&(e.rendering=null,e.tail=null,e.lastEffect=null),J(tl,tl.current),u)break;return null;case 22:case 23:return a.lanes=0,I1(l,a,t);case 24:ga(a,al,l.memoizedState.cache)}return va(l,a,t)}function av(l,a,t){if(l!==null)if(l.memoizedProps!==a.pendingProps)cl=!0;else{if(!Nc(l,t)&&!(a.flags&128))return cl=!1,Gh(l,a,t);cl=!!(l.flags&131072)}else cl=!1,G&&a.flags&1048576&&u1(a,Ye,a.index);switch(a.lanes=0,a.tag){case 16:l:{l=a.pendingProps;var u=a.elementType,e=u._init;if(u=e(u._payload),a.type=u,typeof u=="function")yc(u)?(l=Pa(u,l),a.tag=1,a=xi(null,a,u,l,t)):(a.tag=0,a=Rf(null,a,u,l,t));else{if(u!=null){if(e=u.$$typeof,e===kf){a.tag=11,a=Xi(null,a,u,l,t);break l}else if(e===Ff){a.tag=14,a=Gi(null,a,u,l,t);break l}}throw a=ef(u)||u,Error(o(306,a,""))}}return a;case 0:return Rf(l,a,a.type,a.pendingProps,t);case 1:return u=a.type,e=Pa(u,a.pendingProps),xi(l,a,u,e,t);case 3:l:{if(Ue(a,a.stateNode.containerInfo),l===null)throw Error(o(387));u=a.pendingProps;var n=a.memoizedState;e=n.element,Mf(l,a),hu(a,u,null,t);var f=a.memoizedState;if(u=f.cache,ga(a,al,u),u!==n.cache&&Af(a,[al],t,!0),yu(),u=f.element,n.isDehydrated)if(n={element:u,isDehydrated:!1,cache:f.cache},a.updateQueue.baseState=n,a.memoizedState=n,a.flags&256){a=ji(l,a,u,t);break l}else if(u!==e){e=Gl(Error(o(424)),a),Eu(e),a=ji(l,a,u,t);break l}else{switch(l=a.stateNode.containerInfo,l.nodeType){case 9:l=l.body;break;default:l=l.nodeName==="HTML"?l.ownerDocument.body:l}for(w=Vl(l.firstChild),ml=a,G=!0,ra=null,pl=!0,t=p1(a,null,u,t),a.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling}else{if(xu(),u===e){a=va(l,a,t);break l}vl(l,a,u,t)}a=a.child}return a;case 26:return Ae(l,a),l===null?(t=u0(a.type,null,a.pendingProps,null))?a.memoizedState=t:G||(t=a.type,l=a.pendingProps,u=$e(Oa.current).createElement(t),u[dl]=a,u[ol]=l,hl(u,t,l),fl(u),a.stateNode=u):a.memoizedState=u0(a.type,l.memoizedProps,a.pendingProps,l.memoizedState),null;case 27:return ff(a),l===null&&G&&(u=a.stateNode=Kv(a.type,a.pendingProps,Oa.current),ml=a,pl=!0,e=w,Za(a.type)?(rf=e,w=Vl(u.firstChild)):w=e),vl(l,a,a.pendingProps.children,t),Ae(l,a),l===null&&(a.flags|=4194304),a.child;case 5:return l===null&&G&&((e=u=w)&&(u=vd(u,a.type,a.pendingProps,pl),u!==null?(a.stateNode=u,ml=a,w=Vl(u.firstChild),pl=!1,e=!0):e=!1),e||ka(a)),ff(a),e=a.type,n=a.pendingProps,f=l!==null?l.memoizedProps:null,u=n.children,pf(e,n)?u=null:f!==null&&pf(e,f)&&(a.flags|=32),a.memoizedState!==null&&(e=oc(l,a,Hh,null,null,t),_u._currentValue=e),Ae(l,a),vl(l,a,u,t),a.child;case 6:return l===null&&G&&((l=t=w)&&(t=yd(t,a.pendingProps,pl),t!==null?(a.stateNode=t,ml=a,w=null,l=!0):l=!1),l||ka(a)),null;case 13:return P1(l,a,t);case 4:return Ue(a,a.stateNode.containerInfo),u=a.pendingProps,l===null?a.child=Gt(a,null,u,t):vl(l,a,u,t),a.child;case 11:return Xi(l,a,a.type,a.pendingProps,t);case 7:return vl(l,a,a.pendingProps,t),a.child;case 8:return vl(l,a,a.pendingProps.children,t),a.child;case 12:return vl(l,a,a.pendingProps.children,t),a.child;case 10:return u=a.pendingProps,ga(a,a.type,u.value),vl(l,a,u.children,t),a.child;case 9:return e=a.type._context,u=a.pendingProps.children,Fa(a),e=sl(e),u=u(e),a.flags|=1,vl(l,a,u,t),a.child;case 14:return Gi(l,a,a.type,a.pendingProps,t);case 15:return F1(l,a,a.type,a.pendingProps,t);case 19:return lv(l,a,t);case 31:return u=a.pendingProps,t=a.mode,u={mode:u.mode,children:u.children},l===null?(t=Ce(u,t),t.ref=a.ref,a.child=t,t.return=a,a=t):(t=na(l.child,u),t.ref=a.ref,a.child=t,t.return=a,a=t),a;case 22:return I1(l,a,t);case 24:return Fa(a),u=sl(al),l===null?(e=mc(),e===null&&(e=C,n=sc(),e.pooledCache=n,n.refCount++,n!==null&&(e.pooledCacheLanes|=t),e=n),a.memoizedState={parent:u,cache:e},Sc(a),ga(a,al,e)):(l.lanes&t&&(Mf(l,a),hu(a,null,null,t),yu()),e=l.memoizedState,n=a.memoizedState,e.parent!==u?(e={parent:u,cache:u},a.memoizedState=e,a.lanes===0&&(a.memoizedState=a.updateQueue.baseState=e),ga(a,al,u)):(u=n.cache,ga(a,al,u),u!==e.cache&&Af(a,[al],t,!0))),vl(l,a,a.pendingProps.children,t),a.child;case 29:throw a.pendingProps}throw Error(o(156,a.tag))}function Fl(l){l.flags|=4}function Ki(l,a){if(a.type!=="stylesheet"||a.state.loading&4)l.flags&=-16777217;else if(l.flags|=16777216,!Lv(a)){if(a=Zl.current,a!==null&&((Y&4194048)===Y?wl!==null:(Y&62914560)!==Y&&!(Y&536870912)||a!==wl))throw iu=Ef,f1;l.flags|=8192}}function ce(l,a){a!==null&&(l.flags|=4),l.flags&16384&&(a=l.tag!==22?H0():536870912,l.lanes|=a,Qt|=a)}function Ft(l,a){if(!G)switch(l.tailMode){case"hidden":a=l.tail;for(var t=null;a!==null;)a.alternate!==null&&(t=a),a=a.sibling;t===null?l.tail=null:t.sibling=null;break;case"collapsed":t=l.tail;for(var u=null;t!==null;)t.alternate!==null&&(u=t),t=t.sibling;u===null?a||l.tail===null?l.tail=null:l.tail.sibling=null:u.sibling=null}}function r(l){var a=l.alternate!==null&&l.alternate.child===l.child,t=0,u=0;if(a)for(var e=l.child;e!==null;)t|=e.lanes|e.childLanes,u|=e.subtreeFlags&65011712,u|=e.flags&65011712,e.return=l,e=e.sibling;else for(e=l.child;e!==null;)t|=e.lanes|e.childLanes,u|=e.subtreeFlags,u|=e.flags,e.return=l,e=e.sibling;return l.subtreeFlags|=u,l.childLanes=t,a}function Qh(l,a,t){var u=a.pendingProps;switch(dc(a),a.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return r(a),null;case 1:return r(a),null;case 3:return t=a.stateNode,u=null,l!==null&&(u=l.memoizedState.cache),a.memoizedState.cache!==u&&(a.flags|=2048),fa(al),Nt(),t.pendingContext&&(t.context=t.pendingContext,t.pendingContext=null),(l===null||l.child===null)&&($t(a)?Fl(a):l===null||l.memoizedState.isDehydrated&&!(a.flags&256)||(a.flags|=1024,gi())),r(a),null;case 26:return t=a.memoizedState,l===null?(Fl(a),t!==null?(r(a),Ki(a,t)):(r(a),a.flags&=-16777217)):t?t!==l.memoizedState?(Fl(a),r(a),Ki(a,t)):(r(a),a.flags&=-16777217):(l.memoizedProps!==u&&Fl(a),r(a),a.flags&=-16777217),null;case 27:He(a),t=Oa.current;var e=a.type;if(l!==null&&a.stateNode!=null)l.memoizedProps!==u&&Fl(a);else{if(!u){if(a.stateNode===null)throw Error(o(166));return r(a),null}l=Jl.current,$t(a)?Si(a):(l=Kv(e,u,t),a.stateNode=l,Fl(a))}return r(a),null;case 5:if(He(a),t=a.type,l!==null&&a.stateNode!=null)l.memoizedProps!==u&&Fl(a);else{if(!u){if(a.stateNode===null)throw Error(o(166));return r(a),null}if(l=Jl.current,$t(a))Si(a);else{switch(e=$e(Oa.current),l){case 1:l=e.createElementNS("http://www.w3.org/2000/svg",t);break;case 2:l=e.createElementNS("http://www.w3.org/1998/Math/MathML",t);break;default:switch(t){case"svg":l=e.createElementNS("http://www.w3.org/2000/svg",t);break;case"math":l=e.createElementNS("http://www.w3.org/1998/Math/MathML",t);break;case"script":l=e.createElement("div"),l.innerHTML="