autoforge-ai 0.1.18 → 0.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -4
- package/auth.py +16 -6
- package/autonomous_agent_demo.py +2 -2
- package/package.json +1 -1
- package/server/routers/agent.py +6 -7
- package/server/routers/settings.py +4 -4
- package/server/services/browser_view_service.py +280 -0
- package/server/websocket.py +98 -1
- package/start.py +2 -2
- package/ui/dist/assets/index-B5-x5jW8.js +96 -0
- package/ui/dist/assets/index-DkJ1zszK.css +1 -0
- package/ui/dist/assets/vendor-utils-CnTXttNm.js +2 -0
- package/ui/dist/index.html +3 -3
- package/ui/dist/assets/index-DXm5cuJA.js +0 -96
- package/ui/dist/assets/index-DlYws_VI.css +0 -1
- package/ui/dist/assets/vendor-utils-CJmVD20L.js +0 -2
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import{a as zp,u as vt,d as Ve,e as Je,r as f,j as n,g as Tp,Q as Ep,f as Ap}from"./vendor-query-CcgjkJlA.js";import{r as Dp,S as Sh,R as _p,C as Mp,a as Nh,T as kp,D as Op,P as Rp,O as Up,b as Bp,c as Ch,d as Lp,e as Hp,f as qp,g as Gp,I as Qp,h as Yp,i as Xp,j as Vp,k as Kp,l as Zp,m as Fp,n as wh,u as $p,o as Jp,p as Wp,q as zh,A as Ip,s as rl,t as Th,v as Pp,w as ey,x as Eh,y as ty,z as ay,B as ny}from"./vendor-radix-DIVIznMB.js";import{c as Li,t as ly,a as sy,I as iy,B as Au,U as cy,F as Vi,b as Du,C as ra,d as $t,E as _u,X as ct,e as ua,R as en,P as Ki,S as Ii,L as Ce,Z as Ah,A as Dh,W as ml,f as hl,g as Qi,h as Yi,i as Gm,H as ry,j as Zi,k as Qm,l as uy,m as Nu,T as Ea,n as xs,o as an,p as tn,G as xl,M as Mu,q as Pi,r as ol,s as Nn,u as oy,v as dl,w as dy,x as fy,y as my,z as _h,D as hy,J as Ym,K as xy,N as gy,O as py,Q as yy,V as vy,Y as Cu,_ as by,$ as jy,a0 as Fi,a1 as Sy,a2 as Ny,a3 as Mh,a4 as kh,a5 as Oh,a6 as Cy,a7 as wy,a8 as zy,a9 as Ty,aa as Ey,ab as Rh,ac as Uh,ad as Xm,ae as Ay,af as Dy,ag as _y,ah as My,ai as ky,aj as Oy,ak as Ry,al as Uy,am as By,an as Ly}from"./vendor-utils-CJmVD20L.js";import{M as Hy,r as qy}from"./vendor-markdown-BxiGvyag.js";import{D as Gy,o as Qy}from"./vendor-xterm-DP_gxef0.js";import{r as Yy,M as Xy,u as Vy,a as Ky,i as Zy,C as Fy,B as $y,b as Jy,c as Wy,P as ul,H as Vm}from"./vendor-flow-CSXy01ye.js";(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const m of document.querySelectorAll('link[rel="modulepreload"]'))o(m);new MutationObserver(m=>{for(const x of m)if(x.type==="childList")for(const p of x.addedNodes)p.tagName==="LINK"&&p.rel==="modulepreload"&&o(p)}).observe(document,{childList:!0,subtree:!0});function d(m){const x={};return m.integrity&&(x.integrity=m.integrity),m.referrerPolicy&&(x.referrerPolicy=m.referrerPolicy),m.crossOrigin==="use-credentials"?x.credentials="include":m.crossOrigin==="anonymous"?x.credentials="omit":x.credentials="same-origin",x}function o(m){if(m.ep)return;m.ep=!0;const x=d(m);fetch(m.href,x)}})();var vu={exports:{}},os={},bu={exports:{}},ju={};var Km;function Iy(){return Km||(Km=1,(function(i){function r(y,D){var ee=y.length;y.push(D);e:for(;0<ee;){var te=ee-1>>>1,oe=y[te];if(0<m(oe,D))y[te]=D,y[ee]=oe,ee=te;else break e}}function d(y){return y.length===0?null:y[0]}function o(y){if(y.length===0)return null;var D=y[0],ee=y.pop();if(ee!==D){y[0]=ee;e:for(var te=0,oe=y.length,ie=oe>>>1;te<ie;){var he=2*(te+1)-1,V=y[he],fe=he+1,me=y[fe];if(0>m(V,ee))fe<oe&&0>m(me,V)?(y[te]=me,y[fe]=ee,te=fe):(y[te]=V,y[he]=ee,te=he);else if(fe<oe&&0>m(me,ee))y[te]=me,y[fe]=ee,te=fe;else break e}}return D}function m(y,D){var ee=y.sortIndex-D.sortIndex;return ee!==0?ee:y.id-D.id}if(i.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var x=performance;i.unstable_now=function(){return x.now()}}else{var p=Date,v=p.now();i.unstable_now=function(){return p.now()-v}}var g=[],S=[],T=1,E=null,L=3,w=!1,O=!1,B=!1,z=!1,_=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function G(y){for(var D=d(S);D!==null;){if(D.callback===null)o(S);else if(D.startTime<=y)o(S),D.sortIndex=D.expirationTime,r(g,D);else break;D=d(S)}}function J(y){if(B=!1,G(y),!O)if(d(g)!==null)O=!0,P||(P=!0,R());else{var D=d(S);D!==null&&$(J,D.startTime-y)}}var P=!1,X=-1,ae=5,q=-1;function le(){return z?!0:!(i.unstable_now()-q<ae)}function I(){if(z=!1,P){var y=i.unstable_now();q=y;var D=!0;try{e:{O=!1,B&&(B=!1,b(X),X=-1),w=!0;var ee=L;try{t:{for(G(y),E=d(g);E!==null&&!(E.expirationTime>y&&le());){var te=E.callback;if(typeof te=="function"){E.callback=null,L=E.priorityLevel;var oe=te(E.expirationTime<=y);if(y=i.unstable_now(),typeof oe=="function"){E.callback=oe,G(y),D=!0;break t}E===d(g)&&o(g),G(y)}else o(g);E=d(g)}if(E!==null)D=!0;else{var ie=d(S);ie!==null&&$(J,ie.startTime-y),D=!1}}break e}finally{E=null,L=ee,w=!1}D=void 0}}finally{D?R():P=!1}}}var R;if(typeof N=="function")R=function(){N(I)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,Z=W.port2;W.port1.onmessage=I,R=function(){Z.postMessage(null)}}else R=function(){_(I,0)};function $(y,D){X=_(function(){y(i.unstable_now())},D)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(y){y.callback=null},i.unstable_forceFrameRate=function(y){0>y||125<y?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):ae=0<y?Math.floor(1e3/y):5},i.unstable_getCurrentPriorityLevel=function(){return L},i.unstable_next=function(y){switch(L){case 1:case 2:case 3:var D=3;break;default:D=L}var ee=L;L=D;try{return y()}finally{L=ee}},i.unstable_requestPaint=function(){z=!0},i.unstable_runWithPriority=function(y,D){switch(y){case 1:case 2:case 3:case 4:case 5:break;default:y=3}var ee=L;L=y;try{return D()}finally{L=ee}},i.unstable_scheduleCallback=function(y,D,ee){var te=i.unstable_now();switch(typeof ee=="object"&&ee!==null?(ee=ee.delay,ee=typeof ee=="number"&&0<ee?te+ee:te):ee=te,y){case 1:var oe=-1;break;case 2:oe=250;break;case 5:oe=1073741823;break;case 4:oe=1e4;break;default:oe=5e3}return oe=ee+oe,y={id:T++,callback:D,priorityLevel:y,startTime:ee,expirationTime:oe,sortIndex:-1},ee>te?(y.sortIndex=ee,r(S,y),d(g)===null&&y===d(S)&&(B?(b(X),X=-1):B=!0,$(J,ee-te))):(y.sortIndex=oe,r(g,y),O||w||(O=!0,P||(P=!0,R()))),y},i.unstable_shouldYield=le,i.unstable_wrapCallback=function(y){var D=L;return function(){var ee=L;L=D;try{return y.apply(this,arguments)}finally{L=ee}}}})(ju)),ju}var Zm;function Py(){return Zm||(Zm=1,bu.exports=Iy()),bu.exports}var Fm;function e0(){if(Fm)return os;Fm=1;var i=Py(),r=zp(),d=Dp();function o(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function m(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function x(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function p(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function v(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function g(e){if(x(e)!==e)throw Error(o(188))}function S(e){var t=e.alternate;if(!t){if(t=x(e),t===null)throw Error(o(188));return t!==e?null:e}for(var a=e,l=t;;){var s=a.return;if(s===null)break;var c=s.alternate;if(c===null){if(l=s.return,l!==null){a=l;continue}break}if(s.child===c.child){for(c=s.child;c;){if(c===a)return g(s),e;if(c===l)return g(s),t;c=c.sibling}throw Error(o(188))}if(a.return!==l.return)a=s,l=c;else{for(var u=!1,h=s.child;h;){if(h===a){u=!0,a=s,l=c;break}if(h===l){u=!0,l=s,a=c;break}h=h.sibling}if(!u){for(h=c.child;h;){if(h===a){u=!0,a=c,l=s;break}if(h===l){u=!0,l=c,a=s;break}h=h.sibling}if(!u)throw Error(o(189))}}if(a.alternate!==l)throw Error(o(190))}if(a.tag!==3)throw Error(o(188));return a.stateNode.current===a?e:t}function T(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=T(e),t!==null)return t;e=e.sibling}return null}var E=Object.assign,L=Symbol.for("react.element"),w=Symbol.for("react.transitional.element"),O=Symbol.for("react.portal"),B=Symbol.for("react.fragment"),z=Symbol.for("react.strict_mode"),_=Symbol.for("react.profiler"),b=Symbol.for("react.consumer"),N=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),J=Symbol.for("react.suspense"),P=Symbol.for("react.suspense_list"),X=Symbol.for("react.memo"),ae=Symbol.for("react.lazy"),q=Symbol.for("react.activity"),le=Symbol.for("react.memo_cache_sentinel"),I=Symbol.iterator;function R(e){return e===null||typeof e!="object"?null:(e=I&&e[I]||e["@@iterator"],typeof e=="function"?e:null)}var W=Symbol.for("react.client.reference");function Z(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===W?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case B:return"Fragment";case _:return"Profiler";case z:return"StrictMode";case J:return"Suspense";case P:return"SuspenseList";case q:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case O:return"Portal";case N:return e.displayName||"Context";case b:return(e._context.displayName||"Context")+".Consumer";case G:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case X:return t=e.displayName||null,t!==null?t:Z(e.type)||"Memo";case ae:t=e._payload,e=e._init;try{return Z(e(t))}catch{}}return null}var $=Array.isArray,y=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,D=d.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ee={pending:!1,data:null,method:null,action:null},te=[],oe=-1;function ie(e){return{current:e}}function he(e){0>oe||(e.current=te[oe],te[oe]=null,oe--)}function V(e,t){oe++,te[oe]=e.current,e.current=t}var fe=ie(null),me=ie(null),Xe=ie(null),bt=ie(null);function pt(e,t){switch(V(Xe,t),V(me,e),V(fe,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?om(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=om(t),e=dm(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}he(fe),V(fe,e)}function ne(){he(fe),he(me),he(Xe)}function ue(e){e.memoizedState!==null&&V(bt,e);var t=fe.current,a=dm(t,e.type);t!==a&&(V(me,e),V(fe,a))}function Oe(e){me.current===e&&(he(fe),he(me)),bt.current===e&&(he(bt),is._currentValue=ee)}var gt,tt;function lt(e){if(gt===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);gt=t&&t[1]||"",tt=-1<a.stack.indexOf(`
|
|
2
|
-
at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
3
|
-
`+gt+e+tt}var Qe=!1;function Se(e,t){if(!e||Qe)return"";Qe=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(t){var K=function(){throw Error()};if(Object.defineProperty(K.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(K,[])}catch(H){var U=H}Reflect.construct(e,[],K)}else{try{K.call()}catch(H){U=H}e.call(K.prototype)}}else{try{throw Error()}catch(H){U=H}(K=e())&&typeof K.catch=="function"&&K.catch(function(){})}}catch(H){if(H&&U&&typeof H.stack=="string")return[H.stack,U.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var s=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");s&&s.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var c=l.DetermineComponentFrameRoot(),u=c[0],h=c[1];if(u&&h){var j=u.split(`
|
|
4
|
-
`),k=h.split(`
|
|
5
|
-
`);for(s=l=0;l<j.length&&!j[l].includes("DetermineComponentFrameRoot");)l++;for(;s<k.length&&!k[s].includes("DetermineComponentFrameRoot");)s++;if(l===j.length||s===k.length)for(l=j.length-1,s=k.length-1;1<=l&&0<=s&&j[l]!==k[s];)s--;for(;1<=l&&0<=s;l--,s--)if(j[l]!==k[s]){if(l!==1||s!==1)do if(l--,s--,0>s||j[l]!==k[s]){var Q=`
|
|
6
|
-
`+j[l].replace(" at new "," at ");return e.displayName&&Q.includes("<anonymous>")&&(Q=Q.replace("<anonymous>",e.displayName)),Q}while(1<=l&&0<=s);break}}}finally{Qe=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?lt(a):""}function Et(e,t){switch(e.tag){case 26:case 27:case 5:return lt(e.type);case 16:return lt("Lazy");case 13:return e.child!==t&&t!==null?lt("Suspense Fallback"):lt("Suspense");case 19:return lt("SuspenseList");case 0:case 15:return Se(e.type,!1);case 11:return Se(e.type.render,!1);case 1:return Se(e.type,!0);case 31:return lt("Activity");default:return""}}function bs(e){try{var t="",a=null;do t+=Et(e,a),a=e,e=e.return;while(e);return t}catch(l){return`
|
|
7
|
-
Error generating stack: `+l.message+`
|
|
8
|
-
`+l.stack}}var lc=Object.prototype.hasOwnProperty,sc=i.unstable_scheduleCallback,ic=i.unstable_cancelCallback,lx=i.unstable_shouldYield,sx=i.unstable_requestPaint,At=i.unstable_now,ix=i.unstable_getCurrentPriorityLevel,qu=i.unstable_ImmediatePriority,Gu=i.unstable_UserBlockingPriority,js=i.unstable_NormalPriority,cx=i.unstable_LowPriority,Qu=i.unstable_IdlePriority,rx=i.log,ux=i.unstable_setDisableYieldValue,yl=null,Dt=null;function Aa(e){if(typeof rx=="function"&&ux(e),Dt&&typeof Dt.setStrictMode=="function")try{Dt.setStrictMode(yl,e)}catch{}}var _t=Math.clz32?Math.clz32:fx,ox=Math.log,dx=Math.LN2;function fx(e){return e>>>=0,e===0?32:31-(ox(e)/dx|0)|0}var Ss=256,Ns=262144,Cs=4194304;function nn(e){var t=e&42;if(t!==0)return t;switch(e&-e){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:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ws(e,t,a){var l=e.pendingLanes;if(l===0)return 0;var s=0,c=e.suspendedLanes,u=e.pingedLanes;e=e.warmLanes;var h=l&134217727;return h!==0?(l=h&~c,l!==0?s=nn(l):(u&=h,u!==0?s=nn(u):a||(a=h&~e,a!==0&&(s=nn(a))))):(h=l&~c,h!==0?s=nn(h):u!==0?s=nn(u):a||(a=l&~e,a!==0&&(s=nn(a)))),s===0?0:t!==0&&t!==s&&(t&c)===0&&(c=s&-s,a=t&-t,c>=a||c===32&&(a&4194048)!==0)?t:s}function vl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function mx(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+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 t+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 Yu(){var e=Cs;return Cs<<=1,(Cs&62914560)===0&&(Cs=4194304),e}function cc(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function bl(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function hx(e,t,a,l,s,c){var u=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var h=e.entanglements,j=e.expirationTimes,k=e.hiddenUpdates;for(a=u&~a;0<a;){var Q=31-_t(a),K=1<<Q;h[Q]=0,j[Q]=-1;var U=k[Q];if(U!==null)for(k[Q]=null,Q=0;Q<U.length;Q++){var H=U[Q];H!==null&&(H.lane&=-536870913)}a&=~K}l!==0&&Xu(e,l,0),c!==0&&s===0&&e.tag!==0&&(e.suspendedLanes|=c&~(u&~t))}function Xu(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var l=31-_t(t);e.entangledLanes|=t,e.entanglements[l]=e.entanglements[l]|1073741824|a&261930}function Vu(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var l=31-_t(a),s=1<<l;s&t|e[l]&t&&(e[l]|=t),a&=~s}}function Ku(e,t){var a=t&-t;return a=(a&42)!==0?1:rc(a),(a&(e.suspendedLanes|t))!==0?0:a}function rc(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;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:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function uc(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Zu(){var e=D.p;return e!==0?e:(e=window.event,e===void 0?32:Om(e.type))}function Fu(e,t){var a=D.p;try{return D.p=e,t()}finally{D.p=a}}var Da=Math.random().toString(36).slice(2),ut="__reactFiber$"+Da,jt="__reactProps$"+Da,Cn="__reactContainer$"+Da,oc="__reactEvents$"+Da,xx="__reactListeners$"+Da,gx="__reactHandles$"+Da,$u="__reactResources$"+Da,jl="__reactMarker$"+Da;function dc(e){delete e[ut],delete e[jt],delete e[oc],delete e[xx],delete e[gx]}function wn(e){var t=e[ut];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Cn]||a[ut]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=ym(e);e!==null;){if(a=e[ut])return a;e=ym(e)}return t}e=a,a=e.parentNode}return null}function zn(e){if(e=e[ut]||e[Cn]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Sl(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(o(33))}function Tn(e){var t=e[$u];return t||(t=e[$u]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function st(e){e[jl]=!0}var Ju=new Set,Wu={};function ln(e,t){En(e,t),En(e+"Capture",t)}function En(e,t){for(Wu[e]=t,e=0;e<t.length;e++)Ju.add(t[e])}var px=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Iu={},Pu={};function yx(e){return lc.call(Pu,e)?!0:lc.call(Iu,e)?!1:px.test(e)?Pu[e]=!0:(Iu[e]=!0,!1)}function zs(e,t,a){if(yx(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var l=t.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function Ts(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function oa(e,t,a,l){if(l===null)e.removeAttribute(a);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+l)}}function Ht(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function eo(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function vx(e,t,a){var l=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var s=l.get,c=l.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(u){a=""+u,c.call(this,u)}}),Object.defineProperty(e,t,{enumerable:l.enumerable}),{getValue:function(){return a},setValue:function(u){a=""+u},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function fc(e){if(!e._valueTracker){var t=eo(e)?"checked":"value";e._valueTracker=vx(e,t,""+e[t])}}function to(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),l="";return e&&(l=eo(e)?e.checked?"true":"false":e.value),e=l,e!==a?(t.setValue(e),!0):!1}function Es(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var bx=/[\n"\\]/g;function qt(e){return e.replace(bx,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function mc(e,t,a,l,s,c,u,h){e.name="",u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"?e.type=u:e.removeAttribute("type"),t!=null?u==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Ht(t)):e.value!==""+Ht(t)&&(e.value=""+Ht(t)):u!=="submit"&&u!=="reset"||e.removeAttribute("value"),t!=null?hc(e,u,Ht(t)):a!=null?hc(e,u,Ht(a)):l!=null&&e.removeAttribute("value"),s==null&&c!=null&&(e.defaultChecked=!!c),s!=null&&(e.checked=s&&typeof s!="function"&&typeof s!="symbol"),h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"?e.name=""+Ht(h):e.removeAttribute("name")}function ao(e,t,a,l,s,c,u,h){if(c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(e.type=c),t!=null||a!=null){if(!(c!=="submit"&&c!=="reset"||t!=null)){fc(e);return}a=a!=null?""+Ht(a):"",t=t!=null?""+Ht(t):a,h||t===e.value||(e.value=t),e.defaultValue=t}l=l??s,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=h?e.checked:!!l,e.defaultChecked=!!l,u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.name=u),fc(e)}function hc(e,t,a){t==="number"&&Es(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function An(e,t,a,l){if(e=e.options,t){t={};for(var s=0;s<a.length;s++)t["$"+a[s]]=!0;for(a=0;a<e.length;a++)s=t.hasOwnProperty("$"+e[a].value),e[a].selected!==s&&(e[a].selected=s),s&&l&&(e[a].defaultSelected=!0)}else{for(a=""+Ht(a),t=null,s=0;s<e.length;s++){if(e[s].value===a){e[s].selected=!0,l&&(e[s].defaultSelected=!0);return}t!==null||e[s].disabled||(t=e[s])}t!==null&&(t.selected=!0)}}function no(e,t,a){if(t!=null&&(t=""+Ht(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+Ht(a):""}function lo(e,t,a,l){if(t==null){if(l!=null){if(a!=null)throw Error(o(92));if($(l)){if(1<l.length)throw Error(o(93));l=l[0]}a=l}a==null&&(a=""),t=a}a=Ht(t),e.defaultValue=a,l=e.textContent,l===a&&l!==""&&l!==null&&(e.value=l),fc(e)}function Dn(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var jx=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function so(e,t,a){var l=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?l?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":l?e.setProperty(t,a):typeof a!="number"||a===0||jx.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function io(e,t,a){if(t!=null&&typeof t!="object")throw Error(o(62));if(e=e.style,a!=null){for(var l in a)!a.hasOwnProperty(l)||t!=null&&t.hasOwnProperty(l)||(l.indexOf("--")===0?e.setProperty(l,""):l==="float"?e.cssFloat="":e[l]="");for(var s in t)l=t[s],t.hasOwnProperty(s)&&a[s]!==l&&so(e,s,l)}else for(var c in t)t.hasOwnProperty(c)&&so(e,c,t[c])}function xc(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Sx=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Nx=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function As(e){return Nx.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function da(){}var gc=null;function pc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var _n=null,Mn=null;function co(e){var t=zn(e);if(t&&(e=t.stateNode)){var a=e[jt]||null;e:switch(e=t.stateNode,t.type){case"input":if(mc(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+qt(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var l=a[t];if(l!==e&&l.form===e.form){var s=l[jt]||null;if(!s)throw Error(o(90));mc(l,s.value,s.defaultValue,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name)}}for(t=0;t<a.length;t++)l=a[t],l.form===e.form&&to(l)}break e;case"textarea":no(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&An(e,!!a.multiple,t,!1)}}}var yc=!1;function ro(e,t,a){if(yc)return e(t,a);yc=!0;try{var l=e(t);return l}finally{if(yc=!1,(_n!==null||Mn!==null)&&(gi(),_n&&(t=_n,e=Mn,Mn=_n=null,co(t),e)))for(t=0;t<e.length;t++)co(e[t])}}function Nl(e,t){var a=e.stateNode;if(a===null)return null;var l=a[jt]||null;if(l===null)return null;a=l[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(e=e.type,l=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!l;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(o(231,t,typeof a));return a}var fa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),vc=!1;if(fa)try{var Cl={};Object.defineProperty(Cl,"passive",{get:function(){vc=!0}}),window.addEventListener("test",Cl,Cl),window.removeEventListener("test",Cl,Cl)}catch{vc=!1}var _a=null,bc=null,Ds=null;function uo(){if(Ds)return Ds;var e,t=bc,a=t.length,l,s="value"in _a?_a.value:_a.textContent,c=s.length;for(e=0;e<a&&t[e]===s[e];e++);var u=a-e;for(l=1;l<=u&&t[a-l]===s[c-l];l++);return Ds=s.slice(e,1<l?1-l:void 0)}function _s(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Ms(){return!0}function oo(){return!1}function St(e){function t(a,l,s,c,u){this._reactName=a,this._targetInst=s,this.type=l,this.nativeEvent=c,this.target=u,this.currentTarget=null;for(var h in e)e.hasOwnProperty(h)&&(a=e[h],this[h]=a?a(c):c[h]);return this.isDefaultPrevented=(c.defaultPrevented!=null?c.defaultPrevented:c.returnValue===!1)?Ms:oo,this.isPropagationStopped=oo,this}return E(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Ms)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Ms)},persist:function(){},isPersistent:Ms}),t}var sn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ks=St(sn),wl=E({},sn,{view:0,detail:0}),Cx=St(wl),jc,Sc,zl,Os=E({},wl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cc,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==zl&&(zl&&e.type==="mousemove"?(jc=e.screenX-zl.screenX,Sc=e.screenY-zl.screenY):Sc=jc=0,zl=e),jc)},movementY:function(e){return"movementY"in e?e.movementY:Sc}}),fo=St(Os),wx=E({},Os,{dataTransfer:0}),zx=St(wx),Tx=E({},wl,{relatedTarget:0}),Nc=St(Tx),Ex=E({},sn,{animationName:0,elapsedTime:0,pseudoElement:0}),Ax=St(Ex),Dx=E({},sn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),_x=St(Dx),Mx=E({},sn,{data:0}),mo=St(Mx),kx={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Ox={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Rx={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Ux(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Rx[e])?!!t[e]:!1}function Cc(){return Ux}var Bx=E({},wl,{key:function(e){if(e.key){var t=kx[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=_s(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Ox[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cc,charCode:function(e){return e.type==="keypress"?_s(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?_s(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Lx=St(Bx),Hx=E({},Os,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),ho=St(Hx),qx=E({},wl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cc}),Gx=St(qx),Qx=E({},sn,{propertyName:0,elapsedTime:0,pseudoElement:0}),Yx=St(Qx),Xx=E({},Os,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Vx=St(Xx),Kx=E({},sn,{newState:0,oldState:0}),Zx=St(Kx),Fx=[9,13,27,32],wc=fa&&"CompositionEvent"in window,Tl=null;fa&&"documentMode"in document&&(Tl=document.documentMode);var $x=fa&&"TextEvent"in window&&!Tl,xo=fa&&(!wc||Tl&&8<Tl&&11>=Tl),go=" ",po=!1;function yo(e,t){switch(e){case"keyup":return Fx.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function vo(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var kn=!1;function Jx(e,t){switch(e){case"compositionend":return vo(t);case"keypress":return t.which!==32?null:(po=!0,go);case"textInput":return e=t.data,e===go&&po?null:e;default:return null}}function Wx(e,t){if(kn)return e==="compositionend"||!wc&&yo(e,t)?(e=uo(),Ds=bc=_a=null,kn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return xo&&t.locale!=="ko"?null:t.data;default:return null}}var Ix={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function bo(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Ix[e.type]:t==="textarea"}function jo(e,t,a,l){_n?Mn?Mn.push(l):Mn=[l]:_n=l,t=Ni(t,"onChange"),0<t.length&&(a=new ks("onChange","change",null,a,l),e.push({event:a,listeners:t}))}var El=null,Al=null;function Px(e){lm(e,0)}function Rs(e){var t=Sl(e);if(to(t))return e}function So(e,t){if(e==="change")return t}var No=!1;if(fa){var zc;if(fa){var Tc="oninput"in document;if(!Tc){var Co=document.createElement("div");Co.setAttribute("oninput","return;"),Tc=typeof Co.oninput=="function"}zc=Tc}else zc=!1;No=zc&&(!document.documentMode||9<document.documentMode)}function wo(){El&&(El.detachEvent("onpropertychange",zo),Al=El=null)}function zo(e){if(e.propertyName==="value"&&Rs(Al)){var t=[];jo(t,Al,e,pc(e)),ro(Px,t)}}function eg(e,t,a){e==="focusin"?(wo(),El=t,Al=a,El.attachEvent("onpropertychange",zo)):e==="focusout"&&wo()}function tg(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Rs(Al)}function ag(e,t){if(e==="click")return Rs(t)}function ng(e,t){if(e==="input"||e==="change")return Rs(t)}function lg(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Mt=typeof Object.is=="function"?Object.is:lg;function Dl(e,t){if(Mt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),l=Object.keys(t);if(a.length!==l.length)return!1;for(l=0;l<a.length;l++){var s=a[l];if(!lc.call(t,s)||!Mt(e[s],t[s]))return!1}return!0}function To(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Eo(e,t){var a=To(e);e=0;for(var l;a;){if(a.nodeType===3){if(l=e+a.textContent.length,e<=t&&l>=t)return{node:a,offset:t-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=To(a)}}function Ao(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ao(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Do(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Es(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Es(e.document)}return t}function Ec(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var sg=fa&&"documentMode"in document&&11>=document.documentMode,On=null,Ac=null,_l=null,Dc=!1;function _o(e,t,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Dc||On==null||On!==Es(l)||(l=On,"selectionStart"in l&&Ec(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),_l&&Dl(_l,l)||(_l=l,l=Ni(Ac,"onSelect"),0<l.length&&(t=new ks("onSelect","select",null,t,a),e.push({event:t,listeners:l}),t.target=On)))}function cn(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Rn={animationend:cn("Animation","AnimationEnd"),animationiteration:cn("Animation","AnimationIteration"),animationstart:cn("Animation","AnimationStart"),transitionrun:cn("Transition","TransitionRun"),transitionstart:cn("Transition","TransitionStart"),transitioncancel:cn("Transition","TransitionCancel"),transitionend:cn("Transition","TransitionEnd")},_c={},Mo={};fa&&(Mo=document.createElement("div").style,"AnimationEvent"in window||(delete Rn.animationend.animation,delete Rn.animationiteration.animation,delete Rn.animationstart.animation),"TransitionEvent"in window||delete Rn.transitionend.transition);function rn(e){if(_c[e])return _c[e];if(!Rn[e])return e;var t=Rn[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in Mo)return _c[e]=t[a];return e}var ko=rn("animationend"),Oo=rn("animationiteration"),Ro=rn("animationstart"),ig=rn("transitionrun"),cg=rn("transitionstart"),rg=rn("transitioncancel"),Uo=rn("transitionend"),Bo=new Map,Mc="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Mc.push("scrollEnd");function Jt(e,t){Bo.set(e,t),ln(t,[e])}var Us=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Gt=[],Un=0,kc=0;function Bs(){for(var e=Un,t=kc=Un=0;t<e;){var a=Gt[t];Gt[t++]=null;var l=Gt[t];Gt[t++]=null;var s=Gt[t];Gt[t++]=null;var c=Gt[t];if(Gt[t++]=null,l!==null&&s!==null){var u=l.pending;u===null?s.next=s:(s.next=u.next,u.next=s),l.pending=s}c!==0&&Lo(a,s,c)}}function Ls(e,t,a,l){Gt[Un++]=e,Gt[Un++]=t,Gt[Un++]=a,Gt[Un++]=l,kc|=l,e.lanes|=l,e=e.alternate,e!==null&&(e.lanes|=l)}function Oc(e,t,a,l){return Ls(e,t,a,l),Hs(e)}function un(e,t){return Ls(e,null,null,t),Hs(e)}function Lo(e,t,a){e.lanes|=a;var l=e.alternate;l!==null&&(l.lanes|=a);for(var s=!1,c=e.return;c!==null;)c.childLanes|=a,l=c.alternate,l!==null&&(l.childLanes|=a),c.tag===22&&(e=c.stateNode,e===null||e._visibility&1||(s=!0)),e=c,c=c.return;return e.tag===3?(c=e.stateNode,s&&t!==null&&(s=31-_t(a),e=c.hiddenUpdates,l=e[s],l===null?e[s]=[t]:l.push(t),t.lane=a|536870912),c):null}function Hs(e){if(50<Pl)throw Pl=0,Yr=null,Error(o(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Bn={};function ug(e,t,a,l){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function kt(e,t,a,l){return new ug(e,t,a,l)}function Rc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ma(e,t){var a=e.alternate;return a===null?(a=kt(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&65011712,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function Ho(e,t){e.flags&=65011714;var a=e.alternate;return a===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=a.childLanes,e.lanes=a.lanes,e.child=a.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,e.type=a.type,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function qs(e,t,a,l,s,c){var u=0;if(l=e,typeof e=="function")Rc(e)&&(u=1);else if(typeof e=="string")u=hp(e,a,fe.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case q:return e=kt(31,a,t,s),e.elementType=q,e.lanes=c,e;case B:return on(a.children,s,c,t);case z:u=8,s|=24;break;case _:return e=kt(12,a,t,s|2),e.elementType=_,e.lanes=c,e;case J:return e=kt(13,a,t,s),e.elementType=J,e.lanes=c,e;case P:return e=kt(19,a,t,s),e.elementType=P,e.lanes=c,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case N:u=10;break e;case b:u=9;break e;case G:u=11;break e;case X:u=14;break e;case ae:u=16,l=null;break e}u=29,a=Error(o(130,e===null?"null":typeof e,"")),l=null}return t=kt(u,a,t,s),t.elementType=e,t.type=l,t.lanes=c,t}function on(e,t,a,l){return e=kt(7,e,l,t),e.lanes=a,e}function Uc(e,t,a){return e=kt(6,e,null,t),e.lanes=a,e}function qo(e){var t=kt(18,null,null,0);return t.stateNode=e,t}function Bc(e,t,a){return t=kt(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Go=new WeakMap;function Qt(e,t){if(typeof e=="object"&&e!==null){var a=Go.get(e);return a!==void 0?a:(t={value:e,source:t,stack:bs(t)},Go.set(e,t),t)}return{value:e,source:t,stack:bs(t)}}var Ln=[],Hn=0,Gs=null,Ml=0,Yt=[],Xt=0,Ma=null,la=1,sa="";function ha(e,t){Ln[Hn++]=Ml,Ln[Hn++]=Gs,Gs=e,Ml=t}function Qo(e,t,a){Yt[Xt++]=la,Yt[Xt++]=sa,Yt[Xt++]=Ma,Ma=e;var l=la;e=sa;var s=32-_t(l)-1;l&=~(1<<s),a+=1;var c=32-_t(t)+s;if(30<c){var u=s-s%5;c=(l&(1<<u)-1).toString(32),l>>=u,s-=u,la=1<<32-_t(t)+s|a<<s|l,sa=c+e}else la=1<<c|a<<s|l,sa=e}function Lc(e){e.return!==null&&(ha(e,1),Qo(e,1,0))}function Hc(e){for(;e===Gs;)Gs=Ln[--Hn],Ln[Hn]=null,Ml=Ln[--Hn],Ln[Hn]=null;for(;e===Ma;)Ma=Yt[--Xt],Yt[Xt]=null,sa=Yt[--Xt],Yt[Xt]=null,la=Yt[--Xt],Yt[Xt]=null}function Yo(e,t){Yt[Xt++]=la,Yt[Xt++]=sa,Yt[Xt++]=Ma,la=t.id,sa=t.overflow,Ma=e}var ot=null,qe=null,Ne=!1,ka=null,Vt=!1,qc=Error(o(519));function Oa(e){var t=Error(o(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw kl(Qt(t,e)),qc}function Xo(e){var t=e.stateNode,a=e.type,l=e.memoizedProps;switch(t[ut]=e,t[jt]=l,a){case"dialog":ve("cancel",t),ve("close",t);break;case"iframe":case"object":case"embed":ve("load",t);break;case"video":case"audio":for(a=0;a<ts.length;a++)ve(ts[a],t);break;case"source":ve("error",t);break;case"img":case"image":case"link":ve("error",t),ve("load",t);break;case"details":ve("toggle",t);break;case"input":ve("invalid",t),ao(t,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":ve("invalid",t);break;case"textarea":ve("invalid",t),lo(t,l.value,l.defaultValue,l.children)}a=l.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||l.suppressHydrationWarning===!0||rm(t.textContent,a)?(l.popover!=null&&(ve("beforetoggle",t),ve("toggle",t)),l.onScroll!=null&&ve("scroll",t),l.onScrollEnd!=null&&ve("scrollend",t),l.onClick!=null&&(t.onclick=da),t=!0):t=!1,t||Oa(e,!0)}function Vo(e){for(ot=e.return;ot;)switch(ot.tag){case 5:case 31:case 13:Vt=!1;return;case 27:case 3:Vt=!0;return;default:ot=ot.return}}function qn(e){if(e!==ot)return!1;if(!Ne)return Vo(e),Ne=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||lu(e.type,e.memoizedProps)),a=!a),a&&qe&&Oa(e),Vo(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));qe=pm(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));qe=pm(e)}else t===27?(t=qe,Fa(e.type)?(e=uu,uu=null,qe=e):qe=t):qe=ot?Zt(e.stateNode.nextSibling):null;return!0}function dn(){qe=ot=null,Ne=!1}function Gc(){var e=ka;return e!==null&&(zt===null?zt=e:zt.push.apply(zt,e),ka=null),e}function kl(e){ka===null?ka=[e]:ka.push(e)}var Qc=ie(null),fn=null,xa=null;function Ra(e,t,a){V(Qc,t._currentValue),t._currentValue=a}function ga(e){e._currentValue=Qc.current,he(Qc)}function Yc(e,t,a){for(;e!==null;){var l=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,l!==null&&(l.childLanes|=t)):l!==null&&(l.childLanes&t)!==t&&(l.childLanes|=t),e===a)break;e=e.return}}function Xc(e,t,a,l){var s=e.child;for(s!==null&&(s.return=e);s!==null;){var c=s.dependencies;if(c!==null){var u=s.child;c=c.firstContext;e:for(;c!==null;){var h=c;c=s;for(var j=0;j<t.length;j++)if(h.context===t[j]){c.lanes|=a,h=c.alternate,h!==null&&(h.lanes|=a),Yc(c.return,a,e),l||(u=null);break e}c=h.next}}else if(s.tag===18){if(u=s.return,u===null)throw Error(o(341));u.lanes|=a,c=u.alternate,c!==null&&(c.lanes|=a),Yc(u,a,e),u=null}else u=s.child;if(u!==null)u.return=s;else for(u=s;u!==null;){if(u===e){u=null;break}if(s=u.sibling,s!==null){s.return=u.return,u=s;break}u=u.return}s=u}}function Gn(e,t,a,l){e=null;for(var s=t,c=!1;s!==null;){if(!c){if((s.flags&524288)!==0)c=!0;else if((s.flags&262144)!==0)break}if(s.tag===10){var u=s.alternate;if(u===null)throw Error(o(387));if(u=u.memoizedProps,u!==null){var h=s.type;Mt(s.pendingProps.value,u.value)||(e!==null?e.push(h):e=[h])}}else if(s===bt.current){if(u=s.alternate,u===null)throw Error(o(387));u.memoizedState.memoizedState!==s.memoizedState.memoizedState&&(e!==null?e.push(is):e=[is])}s=s.return}e!==null&&Xc(t,e,a,l),t.flags|=262144}function Qs(e){for(e=e.firstContext;e!==null;){if(!Mt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function mn(e){fn=e,xa=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function dt(e){return Ko(fn,e)}function Ys(e,t){return fn===null&&mn(e),Ko(e,t)}function Ko(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},xa===null){if(e===null)throw Error(o(308));xa=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else xa=xa.next=t;return a}var og=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,l){e.push(l)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},dg=i.unstable_scheduleCallback,fg=i.unstable_NormalPriority,We={$$typeof:N,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Vc(){return{controller:new og,data:new Map,refCount:0}}function Ol(e){e.refCount--,e.refCount===0&&dg(fg,function(){e.controller.abort()})}var Rl=null,Kc=0,Qn=0,Yn=null;function mg(e,t){if(Rl===null){var a=Rl=[];Kc=0,Qn=$r(),Yn={status:"pending",value:void 0,then:function(l){a.push(l)}}}return Kc++,t.then(Zo,Zo),t}function Zo(){if(--Kc===0&&Rl!==null){Yn!==null&&(Yn.status="fulfilled");var e=Rl;Rl=null,Qn=0,Yn=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function hg(e,t){var a=[],l={status:"pending",value:null,reason:null,then:function(s){a.push(s)}};return e.then(function(){l.status="fulfilled",l.value=t;for(var s=0;s<a.length;s++)(0,a[s])(t)},function(s){for(l.status="rejected",l.reason=s,s=0;s<a.length;s++)(0,a[s])(void 0)}),l}var Fo=y.S;y.S=function(e,t){Mf=At(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&mg(e,t),Fo!==null&&Fo(e,t)};var hn=ie(null);function Zc(){var e=hn.current;return e!==null?e:Le.pooledCache}function Xs(e,t){t===null?V(hn,hn.current):V(hn,t.pool)}function $o(){var e=Zc();return e===null?null:{parent:We._currentValue,pool:e}}var Xn=Error(o(460)),Fc=Error(o(474)),Vs=Error(o(542)),Ks={then:function(){}};function Jo(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Wo(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(da,da),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Po(e),e;default:if(typeof t.status=="string")t.then(da,da);else{if(e=Le,e!==null&&100<e.shellSuspendCounter)throw Error(o(482));e=t,e.status="pending",e.then(function(l){if(t.status==="pending"){var s=t;s.status="fulfilled",s.value=l}},function(l){if(t.status==="pending"){var s=t;s.status="rejected",s.reason=l}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Po(e),e}throw gn=t,Xn}}function xn(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(gn=a,Xn):a}}var gn=null;function Io(){if(gn===null)throw Error(o(459));var e=gn;return gn=null,e}function Po(e){if(e===Xn||e===Vs)throw Error(o(483))}var Vn=null,Ul=0;function Zs(e){var t=Ul;return Ul+=1,Vn===null&&(Vn=[]),Wo(Vn,e,t)}function Bl(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Fs(e,t){throw t.$$typeof===L?Error(o(525)):(e=Object.prototype.toString.call(t),Error(o(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function ed(e){function t(A,C){if(e){var M=A.deletions;M===null?(A.deletions=[C],A.flags|=16):M.push(C)}}function a(A,C){if(!e)return null;for(;C!==null;)t(A,C),C=C.sibling;return null}function l(A){for(var C=new Map;A!==null;)A.key!==null?C.set(A.key,A):C.set(A.index,A),A=A.sibling;return C}function s(A,C){return A=ma(A,C),A.index=0,A.sibling=null,A}function c(A,C,M){return A.index=M,e?(M=A.alternate,M!==null?(M=M.index,M<C?(A.flags|=67108866,C):M):(A.flags|=67108866,C)):(A.flags|=1048576,C)}function u(A){return e&&A.alternate===null&&(A.flags|=67108866),A}function h(A,C,M,Y){return C===null||C.tag!==6?(C=Uc(M,A.mode,Y),C.return=A,C):(C=s(C,M),C.return=A,C)}function j(A,C,M,Y){var re=M.type;return re===B?Q(A,C,M.props.children,Y,M.key):C!==null&&(C.elementType===re||typeof re=="object"&&re!==null&&re.$$typeof===ae&&xn(re)===C.type)?(C=s(C,M.props),Bl(C,M),C.return=A,C):(C=qs(M.type,M.key,M.props,null,A.mode,Y),Bl(C,M),C.return=A,C)}function k(A,C,M,Y){return C===null||C.tag!==4||C.stateNode.containerInfo!==M.containerInfo||C.stateNode.implementation!==M.implementation?(C=Bc(M,A.mode,Y),C.return=A,C):(C=s(C,M.children||[]),C.return=A,C)}function Q(A,C,M,Y,re){return C===null||C.tag!==7?(C=on(M,A.mode,Y,re),C.return=A,C):(C=s(C,M),C.return=A,C)}function K(A,C,M){if(typeof C=="string"&&C!==""||typeof C=="number"||typeof C=="bigint")return C=Uc(""+C,A.mode,M),C.return=A,C;if(typeof C=="object"&&C!==null){switch(C.$$typeof){case w:return M=qs(C.type,C.key,C.props,null,A.mode,M),Bl(M,C),M.return=A,M;case O:return C=Bc(C,A.mode,M),C.return=A,C;case ae:return C=xn(C),K(A,C,M)}if($(C)||R(C))return C=on(C,A.mode,M,null),C.return=A,C;if(typeof C.then=="function")return K(A,Zs(C),M);if(C.$$typeof===N)return K(A,Ys(A,C),M);Fs(A,C)}return null}function U(A,C,M,Y){var re=C!==null?C.key:null;if(typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint")return re!==null?null:h(A,C,""+M,Y);if(typeof M=="object"&&M!==null){switch(M.$$typeof){case w:return M.key===re?j(A,C,M,Y):null;case O:return M.key===re?k(A,C,M,Y):null;case ae:return M=xn(M),U(A,C,M,Y)}if($(M)||R(M))return re!==null?null:Q(A,C,M,Y,null);if(typeof M.then=="function")return U(A,C,Zs(M),Y);if(M.$$typeof===N)return U(A,C,Ys(A,M),Y);Fs(A,M)}return null}function H(A,C,M,Y,re){if(typeof Y=="string"&&Y!==""||typeof Y=="number"||typeof Y=="bigint")return A=A.get(M)||null,h(C,A,""+Y,re);if(typeof Y=="object"&&Y!==null){switch(Y.$$typeof){case w:return A=A.get(Y.key===null?M:Y.key)||null,j(C,A,Y,re);case O:return A=A.get(Y.key===null?M:Y.key)||null,k(C,A,Y,re);case ae:return Y=xn(Y),H(A,C,M,Y,re)}if($(Y)||R(Y))return A=A.get(M)||null,Q(C,A,Y,re,null);if(typeof Y.then=="function")return H(A,C,M,Zs(Y),re);if(Y.$$typeof===N)return H(A,C,M,Ys(C,Y),re);Fs(C,Y)}return null}function se(A,C,M,Y){for(var re=null,we=null,ce=C,pe=C=0,je=null;ce!==null&&pe<M.length;pe++){ce.index>pe?(je=ce,ce=null):je=ce.sibling;var ze=U(A,ce,M[pe],Y);if(ze===null){ce===null&&(ce=je);break}e&&ce&&ze.alternate===null&&t(A,ce),C=c(ze,C,pe),we===null?re=ze:we.sibling=ze,we=ze,ce=je}if(pe===M.length)return a(A,ce),Ne&&ha(A,pe),re;if(ce===null){for(;pe<M.length;pe++)ce=K(A,M[pe],Y),ce!==null&&(C=c(ce,C,pe),we===null?re=ce:we.sibling=ce,we=ce);return Ne&&ha(A,pe),re}for(ce=l(ce);pe<M.length;pe++)je=H(ce,A,pe,M[pe],Y),je!==null&&(e&&je.alternate!==null&&ce.delete(je.key===null?pe:je.key),C=c(je,C,pe),we===null?re=je:we.sibling=je,we=je);return e&&ce.forEach(function(Pa){return t(A,Pa)}),Ne&&ha(A,pe),re}function de(A,C,M,Y){if(M==null)throw Error(o(151));for(var re=null,we=null,ce=C,pe=C=0,je=null,ze=M.next();ce!==null&&!ze.done;pe++,ze=M.next()){ce.index>pe?(je=ce,ce=null):je=ce.sibling;var Pa=U(A,ce,ze.value,Y);if(Pa===null){ce===null&&(ce=je);break}e&&ce&&Pa.alternate===null&&t(A,ce),C=c(Pa,C,pe),we===null?re=Pa:we.sibling=Pa,we=Pa,ce=je}if(ze.done)return a(A,ce),Ne&&ha(A,pe),re;if(ce===null){for(;!ze.done;pe++,ze=M.next())ze=K(A,ze.value,Y),ze!==null&&(C=c(ze,C,pe),we===null?re=ze:we.sibling=ze,we=ze);return Ne&&ha(A,pe),re}for(ce=l(ce);!ze.done;pe++,ze=M.next())ze=H(ce,A,pe,ze.value,Y),ze!==null&&(e&&ze.alternate!==null&&ce.delete(ze.key===null?pe:ze.key),C=c(ze,C,pe),we===null?re=ze:we.sibling=ze,we=ze);return e&&ce.forEach(function(wp){return t(A,wp)}),Ne&&ha(A,pe),re}function Be(A,C,M,Y){if(typeof M=="object"&&M!==null&&M.type===B&&M.key===null&&(M=M.props.children),typeof M=="object"&&M!==null){switch(M.$$typeof){case w:e:{for(var re=M.key;C!==null;){if(C.key===re){if(re=M.type,re===B){if(C.tag===7){a(A,C.sibling),Y=s(C,M.props.children),Y.return=A,A=Y;break e}}else if(C.elementType===re||typeof re=="object"&&re!==null&&re.$$typeof===ae&&xn(re)===C.type){a(A,C.sibling),Y=s(C,M.props),Bl(Y,M),Y.return=A,A=Y;break e}a(A,C);break}else t(A,C);C=C.sibling}M.type===B?(Y=on(M.props.children,A.mode,Y,M.key),Y.return=A,A=Y):(Y=qs(M.type,M.key,M.props,null,A.mode,Y),Bl(Y,M),Y.return=A,A=Y)}return u(A);case O:e:{for(re=M.key;C!==null;){if(C.key===re)if(C.tag===4&&C.stateNode.containerInfo===M.containerInfo&&C.stateNode.implementation===M.implementation){a(A,C.sibling),Y=s(C,M.children||[]),Y.return=A,A=Y;break e}else{a(A,C);break}else t(A,C);C=C.sibling}Y=Bc(M,A.mode,Y),Y.return=A,A=Y}return u(A);case ae:return M=xn(M),Be(A,C,M,Y)}if($(M))return se(A,C,M,Y);if(R(M)){if(re=R(M),typeof re!="function")throw Error(o(150));return M=re.call(M),de(A,C,M,Y)}if(typeof M.then=="function")return Be(A,C,Zs(M),Y);if(M.$$typeof===N)return Be(A,C,Ys(A,M),Y);Fs(A,M)}return typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint"?(M=""+M,C!==null&&C.tag===6?(a(A,C.sibling),Y=s(C,M),Y.return=A,A=Y):(a(A,C),Y=Uc(M,A.mode,Y),Y.return=A,A=Y),u(A)):a(A,C)}return function(A,C,M,Y){try{Ul=0;var re=Be(A,C,M,Y);return Vn=null,re}catch(ce){if(ce===Xn||ce===Vs)throw ce;var we=kt(29,ce,null,A.mode);return we.lanes=Y,we.return=A,we}}}var pn=ed(!0),td=ed(!1),Ua=!1;function $c(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Jc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ba(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function La(e,t,a){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(Te&2)!==0){var s=l.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),l.pending=t,t=Hs(e),Lo(e,null,a),t}return Ls(e,l,t,a),Hs(e)}function Ll(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,Vu(e,a)}}function Wc(e,t){var a=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,a===l)){var s=null,c=null;if(a=a.firstBaseUpdate,a!==null){do{var u={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};c===null?s=c=u:c=c.next=u,a=a.next}while(a!==null);c===null?s=c=t:c=c.next=t}else s=c=t;a={baseState:l.baseState,firstBaseUpdate:s,lastBaseUpdate:c,shared:l.shared,callbacks:l.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Ic=!1;function Hl(){if(Ic){var e=Yn;if(e!==null)throw e}}function ql(e,t,a,l){Ic=!1;var s=e.updateQueue;Ua=!1;var c=s.firstBaseUpdate,u=s.lastBaseUpdate,h=s.shared.pending;if(h!==null){s.shared.pending=null;var j=h,k=j.next;j.next=null,u===null?c=k:u.next=k,u=j;var Q=e.alternate;Q!==null&&(Q=Q.updateQueue,h=Q.lastBaseUpdate,h!==u&&(h===null?Q.firstBaseUpdate=k:h.next=k,Q.lastBaseUpdate=j))}if(c!==null){var K=s.baseState;u=0,Q=k=j=null,h=c;do{var U=h.lane&-536870913,H=U!==h.lane;if(H?(be&U)===U:(l&U)===U){U!==0&&U===Qn&&(Ic=!0),Q!==null&&(Q=Q.next={lane:0,tag:h.tag,payload:h.payload,callback:null,next:null});e:{var se=e,de=h;U=t;var Be=a;switch(de.tag){case 1:if(se=de.payload,typeof se=="function"){K=se.call(Be,K,U);break e}K=se;break e;case 3:se.flags=se.flags&-65537|128;case 0:if(se=de.payload,U=typeof se=="function"?se.call(Be,K,U):se,U==null)break e;K=E({},K,U);break e;case 2:Ua=!0}}U=h.callback,U!==null&&(e.flags|=64,H&&(e.flags|=8192),H=s.callbacks,H===null?s.callbacks=[U]:H.push(U))}else H={lane:U,tag:h.tag,payload:h.payload,callback:h.callback,next:null},Q===null?(k=Q=H,j=K):Q=Q.next=H,u|=U;if(h=h.next,h===null){if(h=s.shared.pending,h===null)break;H=h,h=H.next,H.next=null,s.lastBaseUpdate=H,s.shared.pending=null}}while(!0);Q===null&&(j=K),s.baseState=j,s.firstBaseUpdate=k,s.lastBaseUpdate=Q,c===null&&(s.shared.lanes=0),Ya|=u,e.lanes=u,e.memoizedState=K}}function ad(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function nd(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)ad(a[e],t)}var Kn=ie(null),$s=ie(0);function ld(e,t){e=wa,V($s,e),V(Kn,t),wa=e|t.baseLanes}function Pc(){V($s,wa),V(Kn,Kn.current)}function er(){wa=$s.current,he(Kn),he($s)}var Ot=ie(null),Kt=null;function Ha(e){var t=e.alternate;V(Fe,Fe.current&1),V(Ot,e),Kt===null&&(t===null||Kn.current!==null||t.memoizedState!==null)&&(Kt=e)}function tr(e){V(Fe,Fe.current),V(Ot,e),Kt===null&&(Kt=e)}function sd(e){e.tag===22?(V(Fe,Fe.current),V(Ot,e),Kt===null&&(Kt=e)):qa()}function qa(){V(Fe,Fe.current),V(Ot,Ot.current)}function Rt(e){he(Ot),Kt===e&&(Kt=null),he(Fe)}var Fe=ie(0);function Js(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||cu(a)||ru(a)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var pa=0,xe=null,Re=null,Ie=null,Ws=!1,Zn=!1,yn=!1,Is=0,Gl=0,Fn=null,xg=0;function Ke(){throw Error(o(321))}function ar(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!Mt(e[a],t[a]))return!1;return!0}function nr(e,t,a,l,s,c){return pa=c,xe=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,y.H=e===null||e.memoizedState===null?Qd:yr,yn=!1,c=a(l,s),yn=!1,Zn&&(c=cd(t,a,l,s)),id(e),c}function id(e){y.H=Xl;var t=Re!==null&&Re.next!==null;if(pa=0,Ie=Re=xe=null,Ws=!1,Gl=0,Fn=null,t)throw Error(o(300));e===null||Pe||(e=e.dependencies,e!==null&&Qs(e)&&(Pe=!0))}function cd(e,t,a,l){xe=e;var s=0;do{if(Zn&&(Fn=null),Gl=0,Zn=!1,25<=s)throw Error(o(301));if(s+=1,Ie=Re=null,e.updateQueue!=null){var c=e.updateQueue;c.lastEffect=null,c.events=null,c.stores=null,c.memoCache!=null&&(c.memoCache.index=0)}y.H=Yd,c=t(a,l)}while(Zn);return c}function gg(){var e=y.H,t=e.useState()[0];return t=typeof t.then=="function"?Ql(t):t,e=e.useState()[0],(Re!==null?Re.memoizedState:null)!==e&&(xe.flags|=1024),t}function lr(){var e=Is!==0;return Is=0,e}function sr(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function ir(e){if(Ws){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Ws=!1}pa=0,Ie=Re=xe=null,Zn=!1,Gl=Is=0,Fn=null}function yt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ie===null?xe.memoizedState=Ie=e:Ie=Ie.next=e,Ie}function $e(){if(Re===null){var e=xe.alternate;e=e!==null?e.memoizedState:null}else e=Re.next;var t=Ie===null?xe.memoizedState:Ie.next;if(t!==null)Ie=t,Re=e;else{if(e===null)throw xe.alternate===null?Error(o(467)):Error(o(310));Re=e,e={memoizedState:Re.memoizedState,baseState:Re.baseState,baseQueue:Re.baseQueue,queue:Re.queue,next:null},Ie===null?xe.memoizedState=Ie=e:Ie=Ie.next=e}return Ie}function Ps(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Ql(e){var t=Gl;return Gl+=1,Fn===null&&(Fn=[]),e=Wo(Fn,e,t),t=xe,(Ie===null?t.memoizedState:Ie.next)===null&&(t=t.alternate,y.H=t===null||t.memoizedState===null?Qd:yr),e}function ei(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Ql(e);if(e.$$typeof===N)return dt(e)}throw Error(o(438,String(e)))}function cr(e){var t=null,a=xe.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var l=xe.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(t={data:l.data.map(function(s){return s.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=Ps(),xe.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),l=0;l<e;l++)a[l]=le;return t.index++,a}function ya(e,t){return typeof t=="function"?t(e):t}function ti(e){var t=$e();return rr(t,Re,e)}function rr(e,t,a){var l=e.queue;if(l===null)throw Error(o(311));l.lastRenderedReducer=a;var s=e.baseQueue,c=l.pending;if(c!==null){if(s!==null){var u=s.next;s.next=c.next,c.next=u}t.baseQueue=s=c,l.pending=null}if(c=e.baseState,s===null)e.memoizedState=c;else{t=s.next;var h=u=null,j=null,k=t,Q=!1;do{var K=k.lane&-536870913;if(K!==k.lane?(be&K)===K:(pa&K)===K){var U=k.revertLane;if(U===0)j!==null&&(j=j.next={lane:0,revertLane:0,gesture:null,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null}),K===Qn&&(Q=!0);else if((pa&U)===U){k=k.next,U===Qn&&(Q=!0);continue}else K={lane:0,revertLane:k.revertLane,gesture:null,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null},j===null?(h=j=K,u=c):j=j.next=K,xe.lanes|=U,Ya|=U;K=k.action,yn&&a(c,K),c=k.hasEagerState?k.eagerState:a(c,K)}else U={lane:K,revertLane:k.revertLane,gesture:k.gesture,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null},j===null?(h=j=U,u=c):j=j.next=U,xe.lanes|=K,Ya|=K;k=k.next}while(k!==null&&k!==t);if(j===null?u=c:j.next=h,!Mt(c,e.memoizedState)&&(Pe=!0,Q&&(a=Yn,a!==null)))throw a;e.memoizedState=c,e.baseState=u,e.baseQueue=j,l.lastRenderedState=c}return s===null&&(l.lanes=0),[e.memoizedState,l.dispatch]}function ur(e){var t=$e(),a=t.queue;if(a===null)throw Error(o(311));a.lastRenderedReducer=e;var l=a.dispatch,s=a.pending,c=t.memoizedState;if(s!==null){a.pending=null;var u=s=s.next;do c=e(c,u.action),u=u.next;while(u!==s);Mt(c,t.memoizedState)||(Pe=!0),t.memoizedState=c,t.baseQueue===null&&(t.baseState=c),a.lastRenderedState=c}return[c,l]}function rd(e,t,a){var l=xe,s=$e(),c=Ne;if(c){if(a===void 0)throw Error(o(407));a=a()}else a=t();var u=!Mt((Re||s).memoizedState,a);if(u&&(s.memoizedState=a,Pe=!0),s=s.queue,fr(dd.bind(null,l,s,e),[e]),s.getSnapshot!==t||u||Ie!==null&&Ie.memoizedState.tag&1){if(l.flags|=2048,$n(9,{destroy:void 0},od.bind(null,l,s,a,t),null),Le===null)throw Error(o(349));c||(pa&127)!==0||ud(l,t,a)}return a}function ud(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=xe.updateQueue,t===null?(t=Ps(),xe.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function od(e,t,a,l){t.value=a,t.getSnapshot=l,fd(t)&&md(e)}function dd(e,t,a){return a(function(){fd(t)&&md(e)})}function fd(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!Mt(e,a)}catch{return!0}}function md(e){var t=un(e,2);t!==null&&Tt(t,e,2)}function or(e){var t=yt();if(typeof e=="function"){var a=e;if(e=a(),yn){Aa(!0);try{a()}finally{Aa(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:e},t}function hd(e,t,a,l){return e.baseState=a,rr(e,Re,typeof l=="function"?l:ya)}function pg(e,t,a,l,s){if(li(e))throw Error(o(485));if(e=t.action,e!==null){var c={payload:s,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(u){c.listeners.push(u)}};y.T!==null?a(!0):c.isTransition=!1,l(c),a=t.pending,a===null?(c.next=t.pending=c,xd(t,c)):(c.next=a.next,t.pending=a.next=c)}}function xd(e,t){var a=t.action,l=t.payload,s=e.state;if(t.isTransition){var c=y.T,u={};y.T=u;try{var h=a(s,l),j=y.S;j!==null&&j(u,h),gd(e,t,h)}catch(k){dr(e,t,k)}finally{c!==null&&u.types!==null&&(c.types=u.types),y.T=c}}else try{c=a(s,l),gd(e,t,c)}catch(k){dr(e,t,k)}}function gd(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(l){pd(e,t,l)},function(l){return dr(e,t,l)}):pd(e,t,a)}function pd(e,t,a){t.status="fulfilled",t.value=a,yd(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,xd(e,a)))}function dr(e,t,a){var l=e.pending;if(e.pending=null,l!==null){l=l.next;do t.status="rejected",t.reason=a,yd(t),t=t.next;while(t!==l)}e.action=null}function yd(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function vd(e,t){return t}function bd(e,t){if(Ne){var a=Le.formState;if(a!==null){e:{var l=xe;if(Ne){if(qe){t:{for(var s=qe,c=Vt;s.nodeType!==8;){if(!c){s=null;break t}if(s=Zt(s.nextSibling),s===null){s=null;break t}}c=s.data,s=c==="F!"||c==="F"?s:null}if(s){qe=Zt(s.nextSibling),l=s.data==="F!";break e}}Oa(l)}l=!1}l&&(t=a[0])}}return a=yt(),a.memoizedState=a.baseState=t,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:vd,lastRenderedState:t},a.queue=l,a=Hd.bind(null,xe,l),l.dispatch=a,l=or(!1),c=pr.bind(null,xe,!1,l.queue),l=yt(),s={state:t,dispatch:null,action:e,pending:null},l.queue=s,a=pg.bind(null,xe,s,c,a),s.dispatch=a,l.memoizedState=e,[t,a,!1]}function jd(e){var t=$e();return Sd(t,Re,e)}function Sd(e,t,a){if(t=rr(e,t,vd)[0],e=ti(ya)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var l=Ql(t)}catch(u){throw u===Xn?Vs:u}else l=t;t=$e();var s=t.queue,c=s.dispatch;return a!==t.memoizedState&&(xe.flags|=2048,$n(9,{destroy:void 0},yg.bind(null,s,a),null)),[l,c,e]}function yg(e,t){e.action=t}function Nd(e){var t=$e(),a=Re;if(a!==null)return Sd(t,a,e);$e(),t=t.memoizedState,a=$e();var l=a.queue.dispatch;return a.memoizedState=e,[t,l,!1]}function $n(e,t,a,l){return e={tag:e,create:a,deps:l,inst:t,next:null},t=xe.updateQueue,t===null&&(t=Ps(),xe.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(l=a.next,a.next=e,e.next=l,t.lastEffect=e),e}function Cd(){return $e().memoizedState}function ai(e,t,a,l){var s=yt();xe.flags|=e,s.memoizedState=$n(1|t,{destroy:void 0},a,l===void 0?null:l)}function ni(e,t,a,l){var s=$e();l=l===void 0?null:l;var c=s.memoizedState.inst;Re!==null&&l!==null&&ar(l,Re.memoizedState.deps)?s.memoizedState=$n(t,c,a,l):(xe.flags|=e,s.memoizedState=$n(1|t,c,a,l))}function wd(e,t){ai(8390656,8,e,t)}function fr(e,t){ni(2048,8,e,t)}function vg(e){xe.flags|=4;var t=xe.updateQueue;if(t===null)t=Ps(),xe.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function zd(e){var t=$e().memoizedState;return vg({ref:t,nextImpl:e}),function(){if((Te&2)!==0)throw Error(o(440));return t.impl.apply(void 0,arguments)}}function Td(e,t){return ni(4,2,e,t)}function Ed(e,t){return ni(4,4,e,t)}function Ad(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Dd(e,t,a){a=a!=null?a.concat([e]):null,ni(4,4,Ad.bind(null,t,e),a)}function mr(){}function _d(e,t){var a=$e();t=t===void 0?null:t;var l=a.memoizedState;return t!==null&&ar(t,l[1])?l[0]:(a.memoizedState=[e,t],e)}function Md(e,t){var a=$e();t=t===void 0?null:t;var l=a.memoizedState;if(t!==null&&ar(t,l[1]))return l[0];if(l=e(),yn){Aa(!0);try{e()}finally{Aa(!1)}}return a.memoizedState=[l,t],l}function hr(e,t,a){return a===void 0||(pa&1073741824)!==0&&(be&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=Of(),xe.lanes|=e,Ya|=e,a)}function kd(e,t,a,l){return Mt(a,t)?a:Kn.current!==null?(e=hr(e,a,l),Mt(e,t)||(Pe=!0),e):(pa&42)===0||(pa&1073741824)!==0&&(be&261930)===0?(Pe=!0,e.memoizedState=a):(e=Of(),xe.lanes|=e,Ya|=e,t)}function Od(e,t,a,l,s){var c=D.p;D.p=c!==0&&8>c?c:8;var u=y.T,h={};y.T=h,pr(e,!1,t,a);try{var j=s(),k=y.S;if(k!==null&&k(h,j),j!==null&&typeof j=="object"&&typeof j.then=="function"){var Q=hg(j,l);Yl(e,t,Q,Lt(e))}else Yl(e,t,l,Lt(e))}catch(K){Yl(e,t,{then:function(){},status:"rejected",reason:K},Lt())}finally{D.p=c,u!==null&&h.types!==null&&(u.types=h.types),y.T=u}}function bg(){}function xr(e,t,a,l){if(e.tag!==5)throw Error(o(476));var s=Rd(e).queue;Od(e,s,t,ee,a===null?bg:function(){return Ud(e),a(l)})}function Rd(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ee,baseState:ee,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:ee},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ud(e){var t=Rd(e);t.next===null&&(t=e.alternate.memoizedState),Yl(e,t.next.queue,{},Lt())}function gr(){return dt(is)}function Bd(){return $e().memoizedState}function Ld(){return $e().memoizedState}function jg(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Lt();e=Ba(a);var l=La(t,e,a);l!==null&&(Tt(l,t,a),Ll(l,t,a)),t={cache:Vc()},e.payload=t;return}t=t.return}}function Sg(e,t,a){var l=Lt();a={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},li(e)?qd(t,a):(a=Oc(e,t,a,l),a!==null&&(Tt(a,e,l),Gd(a,t,l)))}function Hd(e,t,a){var l=Lt();Yl(e,t,a,l)}function Yl(e,t,a,l){var s={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(li(e))qd(t,s);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var u=t.lastRenderedState,h=c(u,a);if(s.hasEagerState=!0,s.eagerState=h,Mt(h,u))return Ls(e,t,s,0),Le===null&&Bs(),!1}catch{}if(a=Oc(e,t,s,l),a!==null)return Tt(a,e,l),Gd(a,t,l),!0}return!1}function pr(e,t,a,l){if(l={lane:2,revertLane:$r(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},li(e)){if(t)throw Error(o(479))}else t=Oc(e,a,l,2),t!==null&&Tt(t,e,2)}function li(e){var t=e.alternate;return e===xe||t!==null&&t===xe}function qd(e,t){Zn=Ws=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Gd(e,t,a){if((a&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,Vu(e,a)}}var Xl={readContext:dt,use:ei,useCallback:Ke,useContext:Ke,useEffect:Ke,useImperativeHandle:Ke,useLayoutEffect:Ke,useInsertionEffect:Ke,useMemo:Ke,useReducer:Ke,useRef:Ke,useState:Ke,useDebugValue:Ke,useDeferredValue:Ke,useTransition:Ke,useSyncExternalStore:Ke,useId:Ke,useHostTransitionStatus:Ke,useFormState:Ke,useActionState:Ke,useOptimistic:Ke,useMemoCache:Ke,useCacheRefresh:Ke};Xl.useEffectEvent=Ke;var Qd={readContext:dt,use:ei,useCallback:function(e,t){return yt().memoizedState=[e,t===void 0?null:t],e},useContext:dt,useEffect:wd,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,ai(4194308,4,Ad.bind(null,t,e),a)},useLayoutEffect:function(e,t){return ai(4194308,4,e,t)},useInsertionEffect:function(e,t){ai(4,2,e,t)},useMemo:function(e,t){var a=yt();t=t===void 0?null:t;var l=e();if(yn){Aa(!0);try{e()}finally{Aa(!1)}}return a.memoizedState=[l,t],l},useReducer:function(e,t,a){var l=yt();if(a!==void 0){var s=a(t);if(yn){Aa(!0);try{a(t)}finally{Aa(!1)}}}else s=t;return l.memoizedState=l.baseState=s,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:s},l.queue=e,e=e.dispatch=Sg.bind(null,xe,e),[l.memoizedState,e]},useRef:function(e){var t=yt();return e={current:e},t.memoizedState=e},useState:function(e){e=or(e);var t=e.queue,a=Hd.bind(null,xe,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:mr,useDeferredValue:function(e,t){var a=yt();return hr(a,e,t)},useTransition:function(){var e=or(!1);return e=Od.bind(null,xe,e.queue,!0,!1),yt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var l=xe,s=yt();if(Ne){if(a===void 0)throw Error(o(407));a=a()}else{if(a=t(),Le===null)throw Error(o(349));(be&127)!==0||ud(l,t,a)}s.memoizedState=a;var c={value:a,getSnapshot:t};return s.queue=c,wd(dd.bind(null,l,c,e),[e]),l.flags|=2048,$n(9,{destroy:void 0},od.bind(null,l,c,a,t),null),a},useId:function(){var e=yt(),t=Le.identifierPrefix;if(Ne){var a=sa,l=la;a=(l&~(1<<32-_t(l)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Is++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=xg++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:gr,useFormState:bd,useActionState:bd,useOptimistic:function(e){var t=yt();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=pr.bind(null,xe,!0,a),a.dispatch=t,[e,t]},useMemoCache:cr,useCacheRefresh:function(){return yt().memoizedState=jg.bind(null,xe)},useEffectEvent:function(e){var t=yt(),a={impl:e};return t.memoizedState=a,function(){if((Te&2)!==0)throw Error(o(440));return a.impl.apply(void 0,arguments)}}},yr={readContext:dt,use:ei,useCallback:_d,useContext:dt,useEffect:fr,useImperativeHandle:Dd,useInsertionEffect:Td,useLayoutEffect:Ed,useMemo:Md,useReducer:ti,useRef:Cd,useState:function(){return ti(ya)},useDebugValue:mr,useDeferredValue:function(e,t){var a=$e();return kd(a,Re.memoizedState,e,t)},useTransition:function(){var e=ti(ya)[0],t=$e().memoizedState;return[typeof e=="boolean"?e:Ql(e),t]},useSyncExternalStore:rd,useId:Bd,useHostTransitionStatus:gr,useFormState:jd,useActionState:jd,useOptimistic:function(e,t){var a=$e();return hd(a,Re,e,t)},useMemoCache:cr,useCacheRefresh:Ld};yr.useEffectEvent=zd;var Yd={readContext:dt,use:ei,useCallback:_d,useContext:dt,useEffect:fr,useImperativeHandle:Dd,useInsertionEffect:Td,useLayoutEffect:Ed,useMemo:Md,useReducer:ur,useRef:Cd,useState:function(){return ur(ya)},useDebugValue:mr,useDeferredValue:function(e,t){var a=$e();return Re===null?hr(a,e,t):kd(a,Re.memoizedState,e,t)},useTransition:function(){var e=ur(ya)[0],t=$e().memoizedState;return[typeof e=="boolean"?e:Ql(e),t]},useSyncExternalStore:rd,useId:Bd,useHostTransitionStatus:gr,useFormState:Nd,useActionState:Nd,useOptimistic:function(e,t){var a=$e();return Re!==null?hd(a,Re,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:cr,useCacheRefresh:Ld};Yd.useEffectEvent=zd;function vr(e,t,a,l){t=e.memoizedState,a=a(l,t),a=a==null?t:E({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var br={enqueueSetState:function(e,t,a){e=e._reactInternals;var l=Lt(),s=Ba(l);s.payload=t,a!=null&&(s.callback=a),t=La(e,s,l),t!==null&&(Tt(t,e,l),Ll(t,e,l))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var l=Lt(),s=Ba(l);s.tag=1,s.payload=t,a!=null&&(s.callback=a),t=La(e,s,l),t!==null&&(Tt(t,e,l),Ll(t,e,l))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Lt(),l=Ba(a);l.tag=2,t!=null&&(l.callback=t),t=La(e,l,a),t!==null&&(Tt(t,e,a),Ll(t,e,a))}};function Xd(e,t,a,l,s,c,u){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(l,c,u):t.prototype&&t.prototype.isPureReactComponent?!Dl(a,l)||!Dl(s,c):!0}function Vd(e,t,a,l){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,l),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,l),t.state!==e&&br.enqueueReplaceState(t,t.state,null)}function vn(e,t){var a=t;if("ref"in t){a={};for(var l in t)l!=="ref"&&(a[l]=t[l])}if(e=e.defaultProps){a===t&&(a=E({},a));for(var s in e)a[s]===void 0&&(a[s]=e[s])}return a}function Kd(e){Us(e)}function Zd(e){console.error(e)}function Fd(e){Us(e)}function si(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(l){setTimeout(function(){throw l})}}function $d(e,t,a){try{var l=e.onCaughtError;l(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(s){setTimeout(function(){throw s})}}function jr(e,t,a){return a=Ba(a),a.tag=3,a.payload={element:null},a.callback=function(){si(e,t)},a}function Jd(e){return e=Ba(e),e.tag=3,e}function Wd(e,t,a,l){var s=a.type.getDerivedStateFromError;if(typeof s=="function"){var c=l.value;e.payload=function(){return s(c)},e.callback=function(){$d(t,a,l)}}var u=a.stateNode;u!==null&&typeof u.componentDidCatch=="function"&&(e.callback=function(){$d(t,a,l),typeof s!="function"&&(Xa===null?Xa=new Set([this]):Xa.add(this));var h=l.stack;this.componentDidCatch(l.value,{componentStack:h!==null?h:""})})}function Ng(e,t,a,l,s){if(a.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(t=a.alternate,t!==null&&Gn(t,a,s,!0),a=Ot.current,a!==null){switch(a.tag){case 31:case 13:return Kt===null?pi():a.alternate===null&&Ze===0&&(Ze=3),a.flags&=-257,a.flags|=65536,a.lanes=s,l===Ks?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([l]):t.add(l),Kr(e,l,s)),!1;case 22:return a.flags|=65536,l===Ks?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([l])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([l]):a.add(l)),Kr(e,l,s)),!1}throw Error(o(435,a.tag))}return Kr(e,l,s),pi(),!1}if(Ne)return t=Ot.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=s,l!==qc&&(e=Error(o(422),{cause:l}),kl(Qt(e,a)))):(l!==qc&&(t=Error(o(423),{cause:l}),kl(Qt(t,a))),e=e.current.alternate,e.flags|=65536,s&=-s,e.lanes|=s,l=Qt(l,a),s=jr(e.stateNode,l,s),Wc(e,s),Ze!==4&&(Ze=2)),!1;var c=Error(o(520),{cause:l});if(c=Qt(c,a),Il===null?Il=[c]:Il.push(c),Ze!==4&&(Ze=2),t===null)return!0;l=Qt(l,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=s&-s,a.lanes|=e,e=jr(a.stateNode,l,e),Wc(a,e),!1;case 1:if(t=a.type,c=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||c!==null&&typeof c.componentDidCatch=="function"&&(Xa===null||!Xa.has(c))))return a.flags|=65536,s&=-s,a.lanes|=s,s=Jd(s),Wd(s,e,a,l),Wc(a,s),!1}a=a.return}while(a!==null);return!1}var Sr=Error(o(461)),Pe=!1;function ft(e,t,a,l){t.child=e===null?td(t,null,a,l):pn(t,e.child,a,l)}function Id(e,t,a,l,s){a=a.render;var c=t.ref;if("ref"in l){var u={};for(var h in l)h!=="ref"&&(u[h]=l[h])}else u=l;return mn(t),l=nr(e,t,a,u,c,s),h=lr(),e!==null&&!Pe?(sr(e,t,s),va(e,t,s)):(Ne&&h&&Lc(t),t.flags|=1,ft(e,t,l,s),t.child)}function Pd(e,t,a,l,s){if(e===null){var c=a.type;return typeof c=="function"&&!Rc(c)&&c.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=c,ef(e,t,c,l,s)):(e=qs(a.type,null,l,t,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}if(c=e.child,!Dr(e,s)){var u=c.memoizedProps;if(a=a.compare,a=a!==null?a:Dl,a(u,l)&&e.ref===t.ref)return va(e,t,s)}return t.flags|=1,e=ma(c,l),e.ref=t.ref,e.return=t,t.child=e}function ef(e,t,a,l,s){if(e!==null){var c=e.memoizedProps;if(Dl(c,l)&&e.ref===t.ref)if(Pe=!1,t.pendingProps=l=c,Dr(e,s))(e.flags&131072)!==0&&(Pe=!0);else return t.lanes=e.lanes,va(e,t,s)}return Nr(e,t,a,l,s)}function tf(e,t,a,l){var s=l.children,c=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((t.flags&128)!==0){if(c=c!==null?c.baseLanes|a:a,e!==null){for(l=t.child=e.child,s=0;l!==null;)s=s|l.lanes|l.childLanes,l=l.sibling;l=s&~c}else l=0,t.child=null;return af(e,t,c,a,l)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Xs(t,c!==null?c.cachePool:null),c!==null?ld(t,c):Pc(),sd(t);else return l=t.lanes=536870912,af(e,t,c!==null?c.baseLanes|a:a,a,l)}else c!==null?(Xs(t,c.cachePool),ld(t,c),qa(),t.memoizedState=null):(e!==null&&Xs(t,null),Pc(),qa());return ft(e,t,s,a),t.child}function Vl(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function af(e,t,a,l,s){var c=Zc();return c=c===null?null:{parent:We._currentValue,pool:c},t.memoizedState={baseLanes:a,cachePool:c},e!==null&&Xs(t,null),Pc(),sd(t),e!==null&&Gn(e,t,l,!0),t.childLanes=s,null}function ii(e,t){return t=ri({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function nf(e,t,a){return pn(t,e.child,null,a),e=ii(t,t.pendingProps),e.flags|=2,Rt(t),t.memoizedState=null,e}function Cg(e,t,a){var l=t.pendingProps,s=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Ne){if(l.mode==="hidden")return e=ii(t,l),t.lanes=536870912,Vl(null,e);if(tr(t),(e=qe)?(e=gm(e,Vt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ma!==null?{id:la,overflow:sa}:null,retryLane:536870912,hydrationErrors:null},a=qo(e),a.return=t,t.child=a,ot=t,qe=null)):e=null,e===null)throw Oa(t);return t.lanes=536870912,null}return ii(t,l)}var c=e.memoizedState;if(c!==null){var u=c.dehydrated;if(tr(t),s)if(t.flags&256)t.flags&=-257,t=nf(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(o(558));else if(Pe||Gn(e,t,a,!1),s=(a&e.childLanes)!==0,Pe||s){if(l=Le,l!==null&&(u=Ku(l,a),u!==0&&u!==c.retryLane))throw c.retryLane=u,un(e,u),Tt(l,e,u),Sr;pi(),t=nf(e,t,a)}else e=c.treeContext,qe=Zt(u.nextSibling),ot=t,Ne=!0,ka=null,Vt=!1,e!==null&&Yo(t,e),t=ii(t,l),t.flags|=4096;return t}return e=ma(e.child,{mode:l.mode,children:l.children}),e.ref=t.ref,t.child=e,e.return=t,e}function ci(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(o(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function Nr(e,t,a,l,s){return mn(t),a=nr(e,t,a,l,void 0,s),l=lr(),e!==null&&!Pe?(sr(e,t,s),va(e,t,s)):(Ne&&l&&Lc(t),t.flags|=1,ft(e,t,a,s),t.child)}function lf(e,t,a,l,s,c){return mn(t),t.updateQueue=null,a=cd(t,l,a,s),id(e),l=lr(),e!==null&&!Pe?(sr(e,t,c),va(e,t,c)):(Ne&&l&&Lc(t),t.flags|=1,ft(e,t,a,c),t.child)}function sf(e,t,a,l,s){if(mn(t),t.stateNode===null){var c=Bn,u=a.contextType;typeof u=="object"&&u!==null&&(c=dt(u)),c=new a(l,c),t.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,c.updater=br,t.stateNode=c,c._reactInternals=t,c=t.stateNode,c.props=l,c.state=t.memoizedState,c.refs={},$c(t),u=a.contextType,c.context=typeof u=="object"&&u!==null?dt(u):Bn,c.state=t.memoizedState,u=a.getDerivedStateFromProps,typeof u=="function"&&(vr(t,a,u,l),c.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof c.getSnapshotBeforeUpdate=="function"||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(u=c.state,typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount(),u!==c.state&&br.enqueueReplaceState(c,c.state,null),ql(t,l,c,s),Hl(),c.state=t.memoizedState),typeof c.componentDidMount=="function"&&(t.flags|=4194308),l=!0}else if(e===null){c=t.stateNode;var h=t.memoizedProps,j=vn(a,h);c.props=j;var k=c.context,Q=a.contextType;u=Bn,typeof Q=="object"&&Q!==null&&(u=dt(Q));var K=a.getDerivedStateFromProps;Q=typeof K=="function"||typeof c.getSnapshotBeforeUpdate=="function",h=t.pendingProps!==h,Q||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(h||k!==u)&&Vd(t,c,l,u),Ua=!1;var U=t.memoizedState;c.state=U,ql(t,l,c,s),Hl(),k=t.memoizedState,h||U!==k||Ua?(typeof K=="function"&&(vr(t,a,K,l),k=t.memoizedState),(j=Ua||Xd(t,a,j,l,U,k,u))?(Q||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount()),typeof c.componentDidMount=="function"&&(t.flags|=4194308)):(typeof c.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=l,t.memoizedState=k),c.props=l,c.state=k,c.context=u,l=j):(typeof c.componentDidMount=="function"&&(t.flags|=4194308),l=!1)}else{c=t.stateNode,Jc(e,t),u=t.memoizedProps,Q=vn(a,u),c.props=Q,K=t.pendingProps,U=c.context,k=a.contextType,j=Bn,typeof k=="object"&&k!==null&&(j=dt(k)),h=a.getDerivedStateFromProps,(k=typeof h=="function"||typeof c.getSnapshotBeforeUpdate=="function")||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(u!==K||U!==j)&&Vd(t,c,l,j),Ua=!1,U=t.memoizedState,c.state=U,ql(t,l,c,s),Hl();var H=t.memoizedState;u!==K||U!==H||Ua||e!==null&&e.dependencies!==null&&Qs(e.dependencies)?(typeof h=="function"&&(vr(t,a,h,l),H=t.memoizedState),(Q=Ua||Xd(t,a,Q,l,U,H,j)||e!==null&&e.dependencies!==null&&Qs(e.dependencies))?(k||typeof c.UNSAFE_componentWillUpdate!="function"&&typeof c.componentWillUpdate!="function"||(typeof c.componentWillUpdate=="function"&&c.componentWillUpdate(l,H,j),typeof c.UNSAFE_componentWillUpdate=="function"&&c.UNSAFE_componentWillUpdate(l,H,j)),typeof c.componentDidUpdate=="function"&&(t.flags|=4),typeof c.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof c.componentDidUpdate!="function"||u===e.memoizedProps&&U===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&U===e.memoizedState||(t.flags|=1024),t.memoizedProps=l,t.memoizedState=H),c.props=l,c.state=H,c.context=j,l=Q):(typeof c.componentDidUpdate!="function"||u===e.memoizedProps&&U===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&U===e.memoizedState||(t.flags|=1024),l=!1)}return c=l,ci(e,t),l=(t.flags&128)!==0,c||l?(c=t.stateNode,a=l&&typeof a.getDerivedStateFromError!="function"?null:c.render(),t.flags|=1,e!==null&&l?(t.child=pn(t,e.child,null,s),t.child=pn(t,null,a,s)):ft(e,t,a,s),t.memoizedState=c.state,e=t.child):e=va(e,t,s),e}function cf(e,t,a,l){return dn(),t.flags|=256,ft(e,t,a,l),t.child}var Cr={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function wr(e){return{baseLanes:e,cachePool:$o()}}function zr(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=Bt),e}function rf(e,t,a){var l=t.pendingProps,s=!1,c=(t.flags&128)!==0,u;if((u=c)||(u=e!==null&&e.memoizedState===null?!1:(Fe.current&2)!==0),u&&(s=!0,t.flags&=-129),u=(t.flags&32)!==0,t.flags&=-33,e===null){if(Ne){if(s?Ha(t):qa(),(e=qe)?(e=gm(e,Vt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ma!==null?{id:la,overflow:sa}:null,retryLane:536870912,hydrationErrors:null},a=qo(e),a.return=t,t.child=a,ot=t,qe=null)):e=null,e===null)throw Oa(t);return ru(e)?t.lanes=32:t.lanes=536870912,null}var h=l.children;return l=l.fallback,s?(qa(),s=t.mode,h=ri({mode:"hidden",children:h},s),l=on(l,s,a,null),h.return=t,l.return=t,h.sibling=l,t.child=h,l=t.child,l.memoizedState=wr(a),l.childLanes=zr(e,u,a),t.memoizedState=Cr,Vl(null,l)):(Ha(t),Tr(t,h))}var j=e.memoizedState;if(j!==null&&(h=j.dehydrated,h!==null)){if(c)t.flags&256?(Ha(t),t.flags&=-257,t=Er(e,t,a)):t.memoizedState!==null?(qa(),t.child=e.child,t.flags|=128,t=null):(qa(),h=l.fallback,s=t.mode,l=ri({mode:"visible",children:l.children},s),h=on(h,s,a,null),h.flags|=2,l.return=t,h.return=t,l.sibling=h,t.child=l,pn(t,e.child,null,a),l=t.child,l.memoizedState=wr(a),l.childLanes=zr(e,u,a),t.memoizedState=Cr,t=Vl(null,l));else if(Ha(t),ru(h)){if(u=h.nextSibling&&h.nextSibling.dataset,u)var k=u.dgst;u=k,l=Error(o(419)),l.stack="",l.digest=u,kl({value:l,source:null,stack:null}),t=Er(e,t,a)}else if(Pe||Gn(e,t,a,!1),u=(a&e.childLanes)!==0,Pe||u){if(u=Le,u!==null&&(l=Ku(u,a),l!==0&&l!==j.retryLane))throw j.retryLane=l,un(e,l),Tt(u,e,l),Sr;cu(h)||pi(),t=Er(e,t,a)}else cu(h)?(t.flags|=192,t.child=e.child,t=null):(e=j.treeContext,qe=Zt(h.nextSibling),ot=t,Ne=!0,ka=null,Vt=!1,e!==null&&Yo(t,e),t=Tr(t,l.children),t.flags|=4096);return t}return s?(qa(),h=l.fallback,s=t.mode,j=e.child,k=j.sibling,l=ma(j,{mode:"hidden",children:l.children}),l.subtreeFlags=j.subtreeFlags&65011712,k!==null?h=ma(k,h):(h=on(h,s,a,null),h.flags|=2),h.return=t,l.return=t,l.sibling=h,t.child=l,Vl(null,l),l=t.child,h=e.child.memoizedState,h===null?h=wr(a):(s=h.cachePool,s!==null?(j=We._currentValue,s=s.parent!==j?{parent:j,pool:j}:s):s=$o(),h={baseLanes:h.baseLanes|a,cachePool:s}),l.memoizedState=h,l.childLanes=zr(e,u,a),t.memoizedState=Cr,Vl(e.child,l)):(Ha(t),a=e.child,e=a.sibling,a=ma(a,{mode:"visible",children:l.children}),a.return=t,a.sibling=null,e!==null&&(u=t.deletions,u===null?(t.deletions=[e],t.flags|=16):u.push(e)),t.child=a,t.memoizedState=null,a)}function Tr(e,t){return t=ri({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ri(e,t){return e=kt(22,e,null,t),e.lanes=0,e}function Er(e,t,a){return pn(t,e.child,null,a),e=Tr(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function uf(e,t,a){e.lanes|=t;var l=e.alternate;l!==null&&(l.lanes|=t),Yc(e.return,t,a)}function Ar(e,t,a,l,s,c){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:l,tail:a,tailMode:s,treeForkCount:c}:(u.isBackwards=t,u.rendering=null,u.renderingStartTime=0,u.last=l,u.tail=a,u.tailMode=s,u.treeForkCount=c)}function of(e,t,a){var l=t.pendingProps,s=l.revealOrder,c=l.tail;l=l.children;var u=Fe.current,h=(u&2)!==0;if(h?(u=u&1|2,t.flags|=128):u&=1,V(Fe,u),ft(e,t,l,a),l=Ne?Ml:0,!h&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&uf(e,a,t);else if(e.tag===19)uf(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(s){case"forwards":for(a=t.child,s=null;a!==null;)e=a.alternate,e!==null&&Js(e)===null&&(s=a),a=a.sibling;a=s,a===null?(s=t.child,t.child=null):(s=a.sibling,a.sibling=null),Ar(t,!1,s,a,c,l);break;case"backwards":case"unstable_legacy-backwards":for(a=null,s=t.child,t.child=null;s!==null;){if(e=s.alternate,e!==null&&Js(e)===null){t.child=s;break}e=s.sibling,s.sibling=a,a=s,s=e}Ar(t,!0,a,null,c,l);break;case"together":Ar(t,!1,null,null,void 0,l);break;default:t.memoizedState=null}return t.child}function va(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Ya|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(Gn(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(o(153));if(t.child!==null){for(e=t.child,a=ma(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=ma(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function Dr(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Qs(e)))}function wg(e,t,a){switch(t.tag){case 3:pt(t,t.stateNode.containerInfo),Ra(t,We,e.memoizedState.cache),dn();break;case 27:case 5:ue(t);break;case 4:pt(t,t.stateNode.containerInfo);break;case 10:Ra(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,tr(t),null;break;case 13:var l=t.memoizedState;if(l!==null)return l.dehydrated!==null?(Ha(t),t.flags|=128,null):(a&t.child.childLanes)!==0?rf(e,t,a):(Ha(t),e=va(e,t,a),e!==null?e.sibling:null);Ha(t);break;case 19:var s=(e.flags&128)!==0;if(l=(a&t.childLanes)!==0,l||(Gn(e,t,a,!1),l=(a&t.childLanes)!==0),s){if(l)return of(e,t,a);t.flags|=128}if(s=t.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),V(Fe,Fe.current),l)break;return null;case 22:return t.lanes=0,tf(e,t,a,t.pendingProps);case 24:Ra(t,We,e.memoizedState.cache)}return va(e,t,a)}function df(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)Pe=!0;else{if(!Dr(e,a)&&(t.flags&128)===0)return Pe=!1,wg(e,t,a);Pe=(e.flags&131072)!==0}else Pe=!1,Ne&&(t.flags&1048576)!==0&&Qo(t,Ml,t.index);switch(t.lanes=0,t.tag){case 16:e:{var l=t.pendingProps;if(e=xn(t.elementType),t.type=e,typeof e=="function")Rc(e)?(l=vn(e,l),t.tag=1,t=sf(null,t,e,l,a)):(t.tag=0,t=Nr(null,t,e,l,a));else{if(e!=null){var s=e.$$typeof;if(s===G){t.tag=11,t=Id(null,t,e,l,a);break e}else if(s===X){t.tag=14,t=Pd(null,t,e,l,a);break e}}throw t=Z(e)||e,Error(o(306,t,""))}}return t;case 0:return Nr(e,t,t.type,t.pendingProps,a);case 1:return l=t.type,s=vn(l,t.pendingProps),sf(e,t,l,s,a);case 3:e:{if(pt(t,t.stateNode.containerInfo),e===null)throw Error(o(387));l=t.pendingProps;var c=t.memoizedState;s=c.element,Jc(e,t),ql(t,l,null,a);var u=t.memoizedState;if(l=u.cache,Ra(t,We,l),l!==c.cache&&Xc(t,[We],a,!0),Hl(),l=u.element,c.isDehydrated)if(c={element:l,isDehydrated:!1,cache:u.cache},t.updateQueue.baseState=c,t.memoizedState=c,t.flags&256){t=cf(e,t,l,a);break e}else if(l!==s){s=Qt(Error(o(424)),t),kl(s),t=cf(e,t,l,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,qe=Zt(e.firstChild),ot=t,Ne=!0,ka=null,Vt=!0,a=td(t,null,l,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(dn(),l===s){t=va(e,t,a);break e}ft(e,t,l,a)}t=t.child}return t;case 26:return ci(e,t),e===null?(a=Sm(t.type,null,t.pendingProps,null))?t.memoizedState=a:Ne||(a=t.type,e=t.pendingProps,l=Ci(Xe.current).createElement(a),l[ut]=t,l[jt]=e,mt(l,a,e),st(l),t.stateNode=l):t.memoizedState=Sm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ue(t),e===null&&Ne&&(l=t.stateNode=vm(t.type,t.pendingProps,Xe.current),ot=t,Vt=!0,s=qe,Fa(t.type)?(uu=s,qe=Zt(l.firstChild)):qe=s),ft(e,t,t.pendingProps.children,a),ci(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Ne&&((s=l=qe)&&(l=tp(l,t.type,t.pendingProps,Vt),l!==null?(t.stateNode=l,ot=t,qe=Zt(l.firstChild),Vt=!1,s=!0):s=!1),s||Oa(t)),ue(t),s=t.type,c=t.pendingProps,u=e!==null?e.memoizedProps:null,l=c.children,lu(s,c)?l=null:u!==null&&lu(s,u)&&(t.flags|=32),t.memoizedState!==null&&(s=nr(e,t,gg,null,null,a),is._currentValue=s),ci(e,t),ft(e,t,l,a),t.child;case 6:return e===null&&Ne&&((e=a=qe)&&(a=ap(a,t.pendingProps,Vt),a!==null?(t.stateNode=a,ot=t,qe=null,e=!0):e=!1),e||Oa(t)),null;case 13:return rf(e,t,a);case 4:return pt(t,t.stateNode.containerInfo),l=t.pendingProps,e===null?t.child=pn(t,null,l,a):ft(e,t,l,a),t.child;case 11:return Id(e,t,t.type,t.pendingProps,a);case 7:return ft(e,t,t.pendingProps,a),t.child;case 8:return ft(e,t,t.pendingProps.children,a),t.child;case 12:return ft(e,t,t.pendingProps.children,a),t.child;case 10:return l=t.pendingProps,Ra(t,t.type,l.value),ft(e,t,l.children,a),t.child;case 9:return s=t.type._context,l=t.pendingProps.children,mn(t),s=dt(s),l=l(s),t.flags|=1,ft(e,t,l,a),t.child;case 14:return Pd(e,t,t.type,t.pendingProps,a);case 15:return ef(e,t,t.type,t.pendingProps,a);case 19:return of(e,t,a);case 31:return Cg(e,t,a);case 22:return tf(e,t,a,t.pendingProps);case 24:return mn(t),l=dt(We),e===null?(s=Zc(),s===null&&(s=Le,c=Vc(),s.pooledCache=c,c.refCount++,c!==null&&(s.pooledCacheLanes|=a),s=c),t.memoizedState={parent:l,cache:s},$c(t),Ra(t,We,s)):((e.lanes&a)!==0&&(Jc(e,t),ql(t,null,null,a),Hl()),s=e.memoizedState,c=t.memoizedState,s.parent!==l?(s={parent:l,cache:l},t.memoizedState=s,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=s),Ra(t,We,l)):(l=c.cache,Ra(t,We,l),l!==s.cache&&Xc(t,[We],a,!0))),ft(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(o(156,t.tag))}function ba(e){e.flags|=4}function _r(e,t,a,l,s){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(s&335544128)===s)if(e.stateNode.complete)e.flags|=8192;else if(Lf())e.flags|=8192;else throw gn=Ks,Fc}else e.flags&=-16777217}function ff(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Tm(t))if(Lf())e.flags|=8192;else throw gn=Ks,Fc}function ui(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Yu():536870912,e.lanes|=t,Pn|=t)}function Kl(e,t){if(!Ne)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var l=null;a!==null;)a.alternate!==null&&(l=a),a=a.sibling;l===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:l.sibling=null}}function Ge(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,l=0;if(t)for(var s=e.child;s!==null;)a|=s.lanes|s.childLanes,l|=s.subtreeFlags&65011712,l|=s.flags&65011712,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)a|=s.lanes|s.childLanes,l|=s.subtreeFlags,l|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=l,e.childLanes=a,t}function zg(e,t,a){var l=t.pendingProps;switch(Hc(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ge(t),null;case 1:return Ge(t),null;case 3:return a=t.stateNode,l=null,e!==null&&(l=e.memoizedState.cache),t.memoizedState.cache!==l&&(t.flags|=2048),ga(We),ne(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(qn(t)?ba(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Gc())),Ge(t),null;case 26:var s=t.type,c=t.memoizedState;return e===null?(ba(t),c!==null?(Ge(t),ff(t,c)):(Ge(t),_r(t,s,null,l,a))):c?c!==e.memoizedState?(ba(t),Ge(t),ff(t,c)):(Ge(t),t.flags&=-16777217):(e=e.memoizedProps,e!==l&&ba(t),Ge(t),_r(t,s,e,l,a)),null;case 27:if(Oe(t),a=Xe.current,s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&ba(t);else{if(!l){if(t.stateNode===null)throw Error(o(166));return Ge(t),null}e=fe.current,qn(t)?Xo(t):(e=vm(s,l,a),t.stateNode=e,ba(t))}return Ge(t),null;case 5:if(Oe(t),s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&ba(t);else{if(!l){if(t.stateNode===null)throw Error(o(166));return Ge(t),null}if(c=fe.current,qn(t))Xo(t);else{var u=Ci(Xe.current);switch(c){case 1:c=u.createElementNS("http://www.w3.org/2000/svg",s);break;case 2:c=u.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;default:switch(s){case"svg":c=u.createElementNS("http://www.w3.org/2000/svg",s);break;case"math":c=u.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;case"script":c=u.createElement("div"),c.innerHTML="<script><\/script>",c=c.removeChild(c.firstChild);break;case"select":c=typeof l.is=="string"?u.createElement("select",{is:l.is}):u.createElement("select"),l.multiple?c.multiple=!0:l.size&&(c.size=l.size);break;default:c=typeof l.is=="string"?u.createElement(s,{is:l.is}):u.createElement(s)}}c[ut]=t,c[jt]=l;e:for(u=t.child;u!==null;){if(u.tag===5||u.tag===6)c.appendChild(u.stateNode);else if(u.tag!==4&&u.tag!==27&&u.child!==null){u.child.return=u,u=u.child;continue}if(u===t)break e;for(;u.sibling===null;){if(u.return===null||u.return===t)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}t.stateNode=c;e:switch(mt(c,s,l),s){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&ba(t)}}return Ge(t),_r(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&ba(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(o(166));if(e=Xe.current,qn(t)){if(e=t.stateNode,a=t.memoizedProps,l=null,s=ot,s!==null)switch(s.tag){case 27:case 5:l=s.memoizedProps}e[ut]=t,e=!!(e.nodeValue===a||l!==null&&l.suppressHydrationWarning===!0||rm(e.nodeValue,a)),e||Oa(t,!0)}else e=Ci(e).createTextNode(l),e[ut]=t,t.stateNode=e}return Ge(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(l=qn(t),a!==null){if(e===null){if(!l)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[ut]=t}else dn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ge(t),e=!1}else a=Gc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(Rt(t),t):(Rt(t),null);if((t.flags&128)!==0)throw Error(o(558))}return Ge(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(s=qn(t),l!==null&&l.dehydrated!==null){if(e===null){if(!s)throw Error(o(318));if(s=t.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(o(317));s[ut]=t}else dn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ge(t),s=!1}else s=Gc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=s),s=!0;if(!s)return t.flags&256?(Rt(t),t):(Rt(t),null)}return Rt(t),(t.flags&128)!==0?(t.lanes=a,t):(a=l!==null,e=e!==null&&e.memoizedState!==null,a&&(l=t.child,s=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(s=l.alternate.memoizedState.cachePool.pool),c=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(c=l.memoizedState.cachePool.pool),c!==s&&(l.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),ui(t,t.updateQueue),Ge(t),null);case 4:return ne(),e===null&&Pr(t.stateNode.containerInfo),Ge(t),null;case 10:return ga(t.type),Ge(t),null;case 19:if(he(Fe),l=t.memoizedState,l===null)return Ge(t),null;if(s=(t.flags&128)!==0,c=l.rendering,c===null)if(s)Kl(l,!1);else{if(Ze!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(c=Js(e),c!==null){for(t.flags|=128,Kl(l,!1),e=c.updateQueue,t.updateQueue=e,ui(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)Ho(a,e),a=a.sibling;return V(Fe,Fe.current&1|2),Ne&&ha(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&At()>hi&&(t.flags|=128,s=!0,Kl(l,!1),t.lanes=4194304)}else{if(!s)if(e=Js(c),e!==null){if(t.flags|=128,s=!0,e=e.updateQueue,t.updateQueue=e,ui(t,e),Kl(l,!0),l.tail===null&&l.tailMode==="hidden"&&!c.alternate&&!Ne)return Ge(t),null}else 2*At()-l.renderingStartTime>hi&&a!==536870912&&(t.flags|=128,s=!0,Kl(l,!1),t.lanes=4194304);l.isBackwards?(c.sibling=t.child,t.child=c):(e=l.last,e!==null?e.sibling=c:t.child=c,l.last=c)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=At(),e.sibling=null,a=Fe.current,V(Fe,s?a&1|2:a&1),Ne&&ha(t,l.treeForkCount),e):(Ge(t),null);case 22:case 23:return Rt(t),er(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(a&536870912)!==0&&(t.flags&128)===0&&(Ge(t),t.subtreeFlags&6&&(t.flags|=8192)):Ge(t),a=t.updateQueue,a!==null&&ui(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==a&&(t.flags|=2048),e!==null&&he(hn),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ga(We),Ge(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function Tg(e,t){switch(Hc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ga(We),ne(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Oe(t),null;case 31:if(t.memoizedState!==null){if(Rt(t),t.alternate===null)throw Error(o(340));dn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Rt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));dn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return he(Fe),null;case 4:return ne(),null;case 10:return ga(t.type),null;case 22:case 23:return Rt(t),er(),e!==null&&he(hn),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ga(We),null;case 25:return null;default:return null}}function mf(e,t){switch(Hc(t),t.tag){case 3:ga(We),ne();break;case 26:case 27:case 5:Oe(t);break;case 4:ne();break;case 31:t.memoizedState!==null&&Rt(t);break;case 13:Rt(t);break;case 19:he(Fe);break;case 10:ga(t.type);break;case 22:case 23:Rt(t),er(),e!==null&&he(hn);break;case 24:ga(We)}}function Zl(e,t){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var s=l.next;a=s;do{if((a.tag&e)===e){l=void 0;var c=a.create,u=a.inst;l=c(),u.destroy=l}a=a.next}while(a!==s)}}catch(h){De(t,t.return,h)}}function Ga(e,t,a){try{var l=t.updateQueue,s=l!==null?l.lastEffect:null;if(s!==null){var c=s.next;l=c;do{if((l.tag&e)===e){var u=l.inst,h=u.destroy;if(h!==void 0){u.destroy=void 0,s=t;var j=a,k=h;try{k()}catch(Q){De(s,j,Q)}}}l=l.next}while(l!==c)}}catch(Q){De(t,t.return,Q)}}function hf(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{nd(t,a)}catch(l){De(e,e.return,l)}}}function xf(e,t,a){a.props=vn(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(l){De(e,t,l)}}function Fl(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof a=="function"?e.refCleanup=a(l):a.current=l}}catch(s){De(e,t,s)}}function ia(e,t){var a=e.ref,l=e.refCleanup;if(a!==null)if(typeof l=="function")try{l()}catch(s){De(e,t,s)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(s){De(e,t,s)}else a.current=null}function gf(e){var t=e.type,a=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&l.focus();break e;case"img":a.src?l.src=a.src:a.srcSet&&(l.srcset=a.srcSet)}}catch(s){De(e,e.return,s)}}function Mr(e,t,a){try{var l=e.stateNode;$g(l,e.type,a,t),l[jt]=t}catch(s){De(e,e.return,s)}}function pf(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Fa(e.type)||e.tag===4}function kr(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||pf(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Fa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Or(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=da));else if(l!==4&&(l===27&&Fa(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Or(e,t,a),e=e.sibling;e!==null;)Or(e,t,a),e=e.sibling}function oi(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(l!==4&&(l===27&&Fa(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(oi(e,t,a),e=e.sibling;e!==null;)oi(e,t,a),e=e.sibling}function yf(e){var t=e.stateNode,a=e.memoizedProps;try{for(var l=e.type,s=t.attributes;s.length;)t.removeAttributeNode(s[0]);mt(t,l,a),t[ut]=e,t[jt]=a}catch(c){De(e,e.return,c)}}var ja=!1,et=!1,Rr=!1,vf=typeof WeakSet=="function"?WeakSet:Set,it=null;function Eg(e,t){if(e=e.containerInfo,au=_i,e=Do(e),Ec(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var l=a.getSelection&&a.getSelection();if(l&&l.rangeCount!==0){a=l.anchorNode;var s=l.anchorOffset,c=l.focusNode;l=l.focusOffset;try{a.nodeType,c.nodeType}catch{a=null;break e}var u=0,h=-1,j=-1,k=0,Q=0,K=e,U=null;t:for(;;){for(var H;K!==a||s!==0&&K.nodeType!==3||(h=u+s),K!==c||l!==0&&K.nodeType!==3||(j=u+l),K.nodeType===3&&(u+=K.nodeValue.length),(H=K.firstChild)!==null;)U=K,K=H;for(;;){if(K===e)break t;if(U===a&&++k===s&&(h=u),U===c&&++Q===l&&(j=u),(H=K.nextSibling)!==null)break;K=U,U=K.parentNode}K=H}a=h===-1||j===-1?null:{start:h,end:j}}else a=null}a=a||{start:0,end:0}}else a=null;for(nu={focusedElem:e,selectionRange:a},_i=!1,it=t;it!==null;)if(t=it,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,it=e;else for(;it!==null;){switch(t=it,c=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a<e.length;a++)s=e[a],s.ref.impl=s.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&c!==null){e=void 0,a=t,s=c.memoizedProps,c=c.memoizedState,l=a.stateNode;try{var se=vn(a.type,s);e=l.getSnapshotBeforeUpdate(se,c),l.__reactInternalSnapshotBeforeUpdate=e}catch(de){De(a,a.return,de)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)iu(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":iu(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(o(163))}if(e=t.sibling,e!==null){e.return=t.return,it=e;break}it=t.return}}function bf(e,t,a){var l=a.flags;switch(a.tag){case 0:case 11:case 15:Na(e,a),l&4&&Zl(5,a);break;case 1:if(Na(e,a),l&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(u){De(a,a.return,u)}else{var s=vn(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(s,t,e.__reactInternalSnapshotBeforeUpdate)}catch(u){De(a,a.return,u)}}l&64&&hf(a),l&512&&Fl(a,a.return);break;case 3:if(Na(e,a),l&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{nd(e,t)}catch(u){De(a,a.return,u)}}break;case 27:t===null&&l&4&&yf(a);case 26:case 5:Na(e,a),t===null&&l&4&&gf(a),l&512&&Fl(a,a.return);break;case 12:Na(e,a);break;case 31:Na(e,a),l&4&&Nf(e,a);break;case 13:Na(e,a),l&4&&Cf(e,a),l&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=Bg.bind(null,a),np(e,a))));break;case 22:if(l=a.memoizedState!==null||ja,!l){t=t!==null&&t.memoizedState!==null||et,s=ja;var c=et;ja=l,(et=t)&&!c?Ca(e,a,(a.subtreeFlags&8772)!==0):Na(e,a),ja=s,et=c}break;case 30:break;default:Na(e,a)}}function jf(e){var t=e.alternate;t!==null&&(e.alternate=null,jf(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&dc(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ye=null,Nt=!1;function Sa(e,t,a){for(a=a.child;a!==null;)Sf(e,t,a),a=a.sibling}function Sf(e,t,a){if(Dt&&typeof Dt.onCommitFiberUnmount=="function")try{Dt.onCommitFiberUnmount(yl,a)}catch{}switch(a.tag){case 26:et||ia(a,t),Sa(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:et||ia(a,t);var l=Ye,s=Nt;Fa(a.type)&&(Ye=a.stateNode,Nt=!1),Sa(e,t,a),ns(a.stateNode),Ye=l,Nt=s;break;case 5:et||ia(a,t);case 6:if(l=Ye,s=Nt,Ye=null,Sa(e,t,a),Ye=l,Nt=s,Ye!==null)if(Nt)try{(Ye.nodeType===9?Ye.body:Ye.nodeName==="HTML"?Ye.ownerDocument.body:Ye).removeChild(a.stateNode)}catch(c){De(a,t,c)}else try{Ye.removeChild(a.stateNode)}catch(c){De(a,t,c)}break;case 18:Ye!==null&&(Nt?(e=Ye,hm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),cl(e)):hm(Ye,a.stateNode));break;case 4:l=Ye,s=Nt,Ye=a.stateNode.containerInfo,Nt=!0,Sa(e,t,a),Ye=l,Nt=s;break;case 0:case 11:case 14:case 15:Ga(2,a,t),et||Ga(4,a,t),Sa(e,t,a);break;case 1:et||(ia(a,t),l=a.stateNode,typeof l.componentWillUnmount=="function"&&xf(a,t,l)),Sa(e,t,a);break;case 21:Sa(e,t,a);break;case 22:et=(l=et)||a.memoizedState!==null,Sa(e,t,a),et=l;break;default:Sa(e,t,a)}}function Nf(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{cl(e)}catch(a){De(t,t.return,a)}}}function Cf(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{cl(e)}catch(a){De(t,t.return,a)}}function Ag(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new vf),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new vf),t;default:throw Error(o(435,e.tag))}}function di(e,t){var a=Ag(e);t.forEach(function(l){if(!a.has(l)){a.add(l);var s=Lg.bind(null,e,l);l.then(s,s)}})}function Ct(e,t){var a=t.deletions;if(a!==null)for(var l=0;l<a.length;l++){var s=a[l],c=e,u=t,h=u;e:for(;h!==null;){switch(h.tag){case 27:if(Fa(h.type)){Ye=h.stateNode,Nt=!1;break e}break;case 5:Ye=h.stateNode,Nt=!1;break e;case 3:case 4:Ye=h.stateNode.containerInfo,Nt=!0;break e}h=h.return}if(Ye===null)throw Error(o(160));Sf(c,u,s),Ye=null,Nt=!1,c=s.alternate,c!==null&&(c.return=null),s.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)wf(t,e),t=t.sibling}var Wt=null;function wf(e,t){var a=e.alternate,l=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Ct(t,e),wt(e),l&4&&(Ga(3,e,e.return),Zl(3,e),Ga(5,e,e.return));break;case 1:Ct(t,e),wt(e),l&512&&(et||a===null||ia(a,a.return)),l&64&&ja&&(e=e.updateQueue,e!==null&&(l=e.callbacks,l!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?l:a.concat(l))));break;case 26:var s=Wt;if(Ct(t,e),wt(e),l&512&&(et||a===null||ia(a,a.return)),l&4){var c=a!==null?a.memoizedState:null;if(l=e.memoizedState,a===null)if(l===null)if(e.stateNode===null){e:{l=e.type,a=e.memoizedProps,s=s.ownerDocument||s;t:switch(l){case"title":c=s.getElementsByTagName("title")[0],(!c||c[jl]||c[ut]||c.namespaceURI==="http://www.w3.org/2000/svg"||c.hasAttribute("itemprop"))&&(c=s.createElement(l),s.head.insertBefore(c,s.querySelector("head > title"))),mt(c,l,a),c[ut]=e,st(c),l=c;break e;case"link":var u=wm("link","href",s).get(l+(a.href||""));if(u){for(var h=0;h<u.length;h++)if(c=u[h],c.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&c.getAttribute("rel")===(a.rel==null?null:a.rel)&&c.getAttribute("title")===(a.title==null?null:a.title)&&c.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){u.splice(h,1);break t}}c=s.createElement(l),mt(c,l,a),s.head.appendChild(c);break;case"meta":if(u=wm("meta","content",s).get(l+(a.content||""))){for(h=0;h<u.length;h++)if(c=u[h],c.getAttribute("content")===(a.content==null?null:""+a.content)&&c.getAttribute("name")===(a.name==null?null:a.name)&&c.getAttribute("property")===(a.property==null?null:a.property)&&c.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&c.getAttribute("charset")===(a.charSet==null?null:a.charSet)){u.splice(h,1);break t}}c=s.createElement(l),mt(c,l,a),s.head.appendChild(c);break;default:throw Error(o(468,l))}c[ut]=e,st(c),l=c}e.stateNode=l}else zm(s,e.type,e.stateNode);else e.stateNode=Cm(s,l,e.memoizedProps);else c!==l?(c===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):c.count--,l===null?zm(s,e.type,e.stateNode):Cm(s,l,e.memoizedProps)):l===null&&e.stateNode!==null&&Mr(e,e.memoizedProps,a.memoizedProps)}break;case 27:Ct(t,e),wt(e),l&512&&(et||a===null||ia(a,a.return)),a!==null&&l&4&&Mr(e,e.memoizedProps,a.memoizedProps);break;case 5:if(Ct(t,e),wt(e),l&512&&(et||a===null||ia(a,a.return)),e.flags&32){s=e.stateNode;try{Dn(s,"")}catch(se){De(e,e.return,se)}}l&4&&e.stateNode!=null&&(s=e.memoizedProps,Mr(e,s,a!==null?a.memoizedProps:s)),l&1024&&(Rr=!0);break;case 6:if(Ct(t,e),wt(e),l&4){if(e.stateNode===null)throw Error(o(162));l=e.memoizedProps,a=e.stateNode;try{a.nodeValue=l}catch(se){De(e,e.return,se)}}break;case 3:if(Ti=null,s=Wt,Wt=wi(t.containerInfo),Ct(t,e),Wt=s,wt(e),l&4&&a!==null&&a.memoizedState.isDehydrated)try{cl(t.containerInfo)}catch(se){De(e,e.return,se)}Rr&&(Rr=!1,zf(e));break;case 4:l=Wt,Wt=wi(e.stateNode.containerInfo),Ct(t,e),wt(e),Wt=l;break;case 12:Ct(t,e),wt(e);break;case 31:Ct(t,e),wt(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,di(e,l)));break;case 13:Ct(t,e),wt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(mi=At()),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,di(e,l)));break;case 22:s=e.memoizedState!==null;var j=a!==null&&a.memoizedState!==null,k=ja,Q=et;if(ja=k||s,et=Q||j,Ct(t,e),et=Q,ja=k,wt(e),l&8192)e:for(t=e.stateNode,t._visibility=s?t._visibility&-2:t._visibility|1,s&&(a===null||j||ja||et||bn(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){j=a=t;try{if(c=j.stateNode,s)u=c.style,typeof u.setProperty=="function"?u.setProperty("display","none","important"):u.display="none";else{h=j.stateNode;var K=j.memoizedProps.style,U=K!=null&&K.hasOwnProperty("display")?K.display:null;h.style.display=U==null||typeof U=="boolean"?"":(""+U).trim()}}catch(se){De(j,j.return,se)}}}else if(t.tag===6){if(a===null){j=t;try{j.stateNode.nodeValue=s?"":j.memoizedProps}catch(se){De(j,j.return,se)}}}else if(t.tag===18){if(a===null){j=t;try{var H=j.stateNode;s?xm(H,!0):xm(j.stateNode,!1)}catch(se){De(j,j.return,se)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}l&4&&(l=e.updateQueue,l!==null&&(a=l.retryQueue,a!==null&&(l.retryQueue=null,di(e,a))));break;case 19:Ct(t,e),wt(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,di(e,l)));break;case 30:break;case 21:break;default:Ct(t,e),wt(e)}}function wt(e){var t=e.flags;if(t&2){try{for(var a,l=e.return;l!==null;){if(pf(l)){a=l;break}l=l.return}if(a==null)throw Error(o(160));switch(a.tag){case 27:var s=a.stateNode,c=kr(e);oi(e,c,s);break;case 5:var u=a.stateNode;a.flags&32&&(Dn(u,""),a.flags&=-33);var h=kr(e);oi(e,h,u);break;case 3:case 4:var j=a.stateNode.containerInfo,k=kr(e);Or(e,k,j);break;default:throw Error(o(161))}}catch(Q){De(e,e.return,Q)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function zf(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;zf(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Na(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)bf(e,t.alternate,t),t=t.sibling}function bn(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Ga(4,t,t.return),bn(t);break;case 1:ia(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&xf(t,t.return,a),bn(t);break;case 27:ns(t.stateNode);case 26:case 5:ia(t,t.return),bn(t);break;case 22:t.memoizedState===null&&bn(t);break;case 30:bn(t);break;default:bn(t)}e=e.sibling}}function Ca(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var l=t.alternate,s=e,c=t,u=c.flags;switch(c.tag){case 0:case 11:case 15:Ca(s,c,a),Zl(4,c);break;case 1:if(Ca(s,c,a),l=c,s=l.stateNode,typeof s.componentDidMount=="function")try{s.componentDidMount()}catch(k){De(l,l.return,k)}if(l=c,s=l.updateQueue,s!==null){var h=l.stateNode;try{var j=s.shared.hiddenCallbacks;if(j!==null)for(s.shared.hiddenCallbacks=null,s=0;s<j.length;s++)ad(j[s],h)}catch(k){De(l,l.return,k)}}a&&u&64&&hf(c),Fl(c,c.return);break;case 27:yf(c);case 26:case 5:Ca(s,c,a),a&&l===null&&u&4&&gf(c),Fl(c,c.return);break;case 12:Ca(s,c,a);break;case 31:Ca(s,c,a),a&&u&4&&Nf(s,c);break;case 13:Ca(s,c,a),a&&u&4&&Cf(s,c);break;case 22:c.memoizedState===null&&Ca(s,c,a),Fl(c,c.return);break;case 30:break;default:Ca(s,c,a)}t=t.sibling}}function Ur(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&Ol(a))}function Br(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ol(e))}function It(e,t,a,l){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Tf(e,t,a,l),t=t.sibling}function Tf(e,t,a,l){var s=t.flags;switch(t.tag){case 0:case 11:case 15:It(e,t,a,l),s&2048&&Zl(9,t);break;case 1:It(e,t,a,l);break;case 3:It(e,t,a,l),s&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ol(e)));break;case 12:if(s&2048){It(e,t,a,l),e=t.stateNode;try{var c=t.memoizedProps,u=c.id,h=c.onPostCommit;typeof h=="function"&&h(u,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(j){De(t,t.return,j)}}else It(e,t,a,l);break;case 31:It(e,t,a,l);break;case 13:It(e,t,a,l);break;case 23:break;case 22:c=t.stateNode,u=t.alternate,t.memoizedState!==null?c._visibility&2?It(e,t,a,l):$l(e,t):c._visibility&2?It(e,t,a,l):(c._visibility|=2,Jn(e,t,a,l,(t.subtreeFlags&10256)!==0||!1)),s&2048&&Ur(u,t);break;case 24:It(e,t,a,l),s&2048&&Br(t.alternate,t);break;default:It(e,t,a,l)}}function Jn(e,t,a,l,s){for(s=s&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var c=e,u=t,h=a,j=l,k=u.flags;switch(u.tag){case 0:case 11:case 15:Jn(c,u,h,j,s),Zl(8,u);break;case 23:break;case 22:var Q=u.stateNode;u.memoizedState!==null?Q._visibility&2?Jn(c,u,h,j,s):$l(c,u):(Q._visibility|=2,Jn(c,u,h,j,s)),s&&k&2048&&Ur(u.alternate,u);break;case 24:Jn(c,u,h,j,s),s&&k&2048&&Br(u.alternate,u);break;default:Jn(c,u,h,j,s)}t=t.sibling}}function $l(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,l=t,s=l.flags;switch(l.tag){case 22:$l(a,l),s&2048&&Ur(l.alternate,l);break;case 24:$l(a,l),s&2048&&Br(l.alternate,l);break;default:$l(a,l)}t=t.sibling}}var Jl=8192;function Wn(e,t,a){if(e.subtreeFlags&Jl)for(e=e.child;e!==null;)Ef(e,t,a),e=e.sibling}function Ef(e,t,a){switch(e.tag){case 26:Wn(e,t,a),e.flags&Jl&&e.memoizedState!==null&&xp(a,Wt,e.memoizedState,e.memoizedProps);break;case 5:Wn(e,t,a);break;case 3:case 4:var l=Wt;Wt=wi(e.stateNode.containerInfo),Wn(e,t,a),Wt=l;break;case 22:e.memoizedState===null&&(l=e.alternate,l!==null&&l.memoizedState!==null?(l=Jl,Jl=16777216,Wn(e,t,a),Jl=l):Wn(e,t,a));break;default:Wn(e,t,a)}}function Af(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Wl(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var l=t[a];it=l,_f(l,e)}Af(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Df(e),e=e.sibling}function Df(e){switch(e.tag){case 0:case 11:case 15:Wl(e),e.flags&2048&&Ga(9,e,e.return);break;case 3:Wl(e);break;case 12:Wl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,fi(e)):Wl(e);break;default:Wl(e)}}function fi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var l=t[a];it=l,_f(l,e)}Af(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Ga(8,t,t.return),fi(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,fi(t));break;default:fi(t)}e=e.sibling}}function _f(e,t){for(;it!==null;){var a=it;switch(a.tag){case 0:case 11:case 15:Ga(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var l=a.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:Ol(a.memoizedState.cache)}if(l=a.child,l!==null)l.return=a,it=l;else e:for(a=e;it!==null;){l=it;var s=l.sibling,c=l.return;if(jf(l),l===a){it=null;break e}if(s!==null){s.return=c,it=s;break e}it=c}}}var Dg={getCacheForType:function(e){var t=dt(We),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return dt(We).controller.signal}},_g=typeof WeakMap=="function"?WeakMap:Map,Te=0,Le=null,ye=null,be=0,Ae=0,Ut=null,Qa=!1,In=!1,Lr=!1,wa=0,Ze=0,Ya=0,jn=0,Hr=0,Bt=0,Pn=0,Il=null,zt=null,qr=!1,mi=0,Mf=0,hi=1/0,xi=null,Xa=null,at=0,Va=null,el=null,za=0,Gr=0,Qr=null,kf=null,Pl=0,Yr=null;function Lt(){return(Te&2)!==0&&be!==0?be&-be:y.T!==null?$r():Zu()}function Of(){if(Bt===0)if((be&536870912)===0||Ne){var e=Ns;Ns<<=1,(Ns&3932160)===0&&(Ns=262144),Bt=e}else Bt=536870912;return e=Ot.current,e!==null&&(e.flags|=32),Bt}function Tt(e,t,a){(e===Le&&(Ae===2||Ae===9)||e.cancelPendingCommit!==null)&&(tl(e,0),Ka(e,be,Bt,!1)),bl(e,a),((Te&2)===0||e!==Le)&&(e===Le&&((Te&2)===0&&(jn|=a),Ze===4&&Ka(e,be,Bt,!1)),ca(e))}function Rf(e,t,a){if((Te&6)!==0)throw Error(o(327));var l=!a&&(t&127)===0&&(t&e.expiredLanes)===0||vl(e,t),s=l?Og(e,t):Vr(e,t,!0),c=l;do{if(s===0){In&&!l&&Ka(e,t,0,!1);break}else{if(a=e.current.alternate,c&&!Mg(a)){s=Vr(e,t,!1),c=!1;continue}if(s===2){if(c=t,e.errorRecoveryDisabledLanes&c)var u=0;else u=e.pendingLanes&-536870913,u=u!==0?u:u&536870912?536870912:0;if(u!==0){t=u;e:{var h=e;s=Il;var j=h.current.memoizedState.isDehydrated;if(j&&(tl(h,u).flags|=256),u=Vr(h,u,!1),u!==2){if(Lr&&!j){h.errorRecoveryDisabledLanes|=c,jn|=c,s=4;break e}c=zt,zt=s,c!==null&&(zt===null?zt=c:zt.push.apply(zt,c))}s=u}if(c=!1,s!==2)continue}}if(s===1){tl(e,0),Ka(e,t,0,!0);break}e:{switch(l=e,c=s,c){case 0:case 1:throw Error(o(345));case 4:if((t&4194048)!==t)break;case 6:Ka(l,t,Bt,!Qa);break e;case 2:zt=null;break;case 3:case 5:break;default:throw Error(o(329))}if((t&62914560)===t&&(s=mi+300-At(),10<s)){if(Ka(l,t,Bt,!Qa),ws(l,0,!0)!==0)break e;za=t,l.timeoutHandle=fm(Uf.bind(null,l,a,zt,xi,qr,t,Bt,jn,Pn,Qa,c,"Throttled",-0,0),s);break e}Uf(l,a,zt,xi,qr,t,Bt,jn,Pn,Qa,c,null,-0,0)}}break}while(!0);ca(e)}function Uf(e,t,a,l,s,c,u,h,j,k,Q,K,U,H){if(e.timeoutHandle=-1,K=t.subtreeFlags,K&8192||(K&16785408)===16785408){K={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:da},Ef(t,c,K);var se=(c&62914560)===c?mi-At():(c&4194048)===c?Mf-At():0;if(se=gp(K,se),se!==null){za=c,e.cancelPendingCommit=se(Xf.bind(null,e,t,c,a,l,s,u,h,j,Q,K,null,U,H)),Ka(e,c,u,!k);return}}Xf(e,t,c,a,l,s,u,h,j)}function Mg(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var l=0;l<a.length;l++){var s=a[l],c=s.getSnapshot;s=s.value;try{if(!Mt(c(),s))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Ka(e,t,a,l){t&=~Hr,t&=~jn,e.suspendedLanes|=t,e.pingedLanes&=~t,l&&(e.warmLanes|=t),l=e.expirationTimes;for(var s=t;0<s;){var c=31-_t(s),u=1<<c;l[c]=-1,s&=~u}a!==0&&Xu(e,a,t)}function gi(){return(Te&6)===0?(es(0),!1):!0}function Xr(){if(ye!==null){if(Ae===0)var e=ye.return;else e=ye,xa=fn=null,ir(e),Vn=null,Ul=0,e=ye;for(;e!==null;)mf(e.alternate,e),e=e.return;ye=null}}function tl(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,Ig(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),za=0,Xr(),Le=e,ye=a=ma(e.current,null),be=t,Ae=0,Ut=null,Qa=!1,In=vl(e,t),Lr=!1,Pn=Bt=Hr=jn=Ya=Ze=0,zt=Il=null,qr=!1,(t&8)!==0&&(t|=t&32);var l=e.entangledLanes;if(l!==0)for(e=e.entanglements,l&=t;0<l;){var s=31-_t(l),c=1<<s;t|=e[s],l&=~c}return wa=t,Bs(),a}function Bf(e,t){xe=null,y.H=Xl,t===Xn||t===Vs?(t=Io(),Ae=3):t===Fc?(t=Io(),Ae=4):Ae=t===Sr?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ut=t,ye===null&&(Ze=1,si(e,Qt(t,e.current)))}function Lf(){var e=Ot.current;return e===null?!0:(be&4194048)===be?Kt===null:(be&62914560)===be||(be&536870912)!==0?e===Kt:!1}function Hf(){var e=y.H;return y.H=Xl,e===null?Xl:e}function qf(){var e=y.A;return y.A=Dg,e}function pi(){Ze=4,Qa||(be&4194048)!==be&&Ot.current!==null||(In=!0),(Ya&134217727)===0&&(jn&134217727)===0||Le===null||Ka(Le,be,Bt,!1)}function Vr(e,t,a){var l=Te;Te|=2;var s=Hf(),c=qf();(Le!==e||be!==t)&&(xi=null,tl(e,t)),t=!1;var u=Ze;e:do try{if(Ae!==0&&ye!==null){var h=ye,j=Ut;switch(Ae){case 8:Xr(),u=6;break e;case 3:case 2:case 9:case 6:Ot.current===null&&(t=!0);var k=Ae;if(Ae=0,Ut=null,al(e,h,j,k),a&&In){u=0;break e}break;default:k=Ae,Ae=0,Ut=null,al(e,h,j,k)}}kg(),u=Ze;break}catch(Q){Bf(e,Q)}while(!0);return t&&e.shellSuspendCounter++,xa=fn=null,Te=l,y.H=s,y.A=c,ye===null&&(Le=null,be=0,Bs()),u}function kg(){for(;ye!==null;)Gf(ye)}function Og(e,t){var a=Te;Te|=2;var l=Hf(),s=qf();Le!==e||be!==t?(xi=null,hi=At()+500,tl(e,t)):In=vl(e,t);e:do try{if(Ae!==0&&ye!==null){t=ye;var c=Ut;t:switch(Ae){case 1:Ae=0,Ut=null,al(e,t,c,1);break;case 2:case 9:if(Jo(c)){Ae=0,Ut=null,Qf(t);break}t=function(){Ae!==2&&Ae!==9||Le!==e||(Ae=7),ca(e)},c.then(t,t);break e;case 3:Ae=7;break e;case 4:Ae=5;break e;case 7:Jo(c)?(Ae=0,Ut=null,Qf(t)):(Ae=0,Ut=null,al(e,t,c,7));break;case 5:var u=null;switch(ye.tag){case 26:u=ye.memoizedState;case 5:case 27:var h=ye;if(u?Tm(u):h.stateNode.complete){Ae=0,Ut=null;var j=h.sibling;if(j!==null)ye=j;else{var k=h.return;k!==null?(ye=k,yi(k)):ye=null}break t}}Ae=0,Ut=null,al(e,t,c,5);break;case 6:Ae=0,Ut=null,al(e,t,c,6);break;case 8:Xr(),Ze=6;break e;default:throw Error(o(462))}}Rg();break}catch(Q){Bf(e,Q)}while(!0);return xa=fn=null,y.H=l,y.A=s,Te=a,ye!==null?0:(Le=null,be=0,Bs(),Ze)}function Rg(){for(;ye!==null&&!lx();)Gf(ye)}function Gf(e){var t=df(e.alternate,e,wa);e.memoizedProps=e.pendingProps,t===null?yi(e):ye=t}function Qf(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=lf(a,t,t.pendingProps,t.type,void 0,be);break;case 11:t=lf(a,t,t.pendingProps,t.type.render,t.ref,be);break;case 5:ir(t);default:mf(a,t),t=ye=Ho(t,wa),t=df(a,t,wa)}e.memoizedProps=e.pendingProps,t===null?yi(e):ye=t}function al(e,t,a,l){xa=fn=null,ir(t),Vn=null,Ul=0;var s=t.return;try{if(Ng(e,s,t,a,be)){Ze=1,si(e,Qt(a,e.current)),ye=null;return}}catch(c){if(s!==null)throw ye=s,c;Ze=1,si(e,Qt(a,e.current)),ye=null;return}t.flags&32768?(Ne||l===1?e=!0:In||(be&536870912)!==0?e=!1:(Qa=e=!0,(l===2||l===9||l===3||l===6)&&(l=Ot.current,l!==null&&l.tag===13&&(l.flags|=16384))),Yf(t,e)):yi(t)}function yi(e){var t=e;do{if((t.flags&32768)!==0){Yf(t,Qa);return}e=t.return;var a=zg(t.alternate,t,wa);if(a!==null){ye=a;return}if(t=t.sibling,t!==null){ye=t;return}ye=t=e}while(t!==null);Ze===0&&(Ze=5)}function Yf(e,t){do{var a=Tg(e.alternate,e);if(a!==null){a.flags&=32767,ye=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){ye=e;return}ye=e=a}while(e!==null);Ze=6,ye=null}function Xf(e,t,a,l,s,c,u,h,j){e.cancelPendingCommit=null;do vi();while(at!==0);if((Te&6)!==0)throw Error(o(327));if(t!==null){if(t===e.current)throw Error(o(177));if(c=t.lanes|t.childLanes,c|=kc,hx(e,a,c,u,h,j),e===Le&&(ye=Le=null,be=0),el=t,Va=e,za=a,Gr=c,Qr=s,kf=l,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,Hg(js,function(){return $f(),null})):(e.callbackNode=null,e.callbackPriority=0),l=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||l){l=y.T,y.T=null,s=D.p,D.p=2,u=Te,Te|=4;try{Eg(e,t,a)}finally{Te=u,D.p=s,y.T=l}}at=1,Vf(),Kf(),Zf()}}function Vf(){if(at===1){at=0;var e=Va,t=el,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=y.T,y.T=null;var l=D.p;D.p=2;var s=Te;Te|=4;try{wf(t,e);var c=nu,u=Do(e.containerInfo),h=c.focusedElem,j=c.selectionRange;if(u!==h&&h&&h.ownerDocument&&Ao(h.ownerDocument.documentElement,h)){if(j!==null&&Ec(h)){var k=j.start,Q=j.end;if(Q===void 0&&(Q=k),"selectionStart"in h)h.selectionStart=k,h.selectionEnd=Math.min(Q,h.value.length);else{var K=h.ownerDocument||document,U=K&&K.defaultView||window;if(U.getSelection){var H=U.getSelection(),se=h.textContent.length,de=Math.min(j.start,se),Be=j.end===void 0?de:Math.min(j.end,se);!H.extend&&de>Be&&(u=Be,Be=de,de=u);var A=Eo(h,de),C=Eo(h,Be);if(A&&C&&(H.rangeCount!==1||H.anchorNode!==A.node||H.anchorOffset!==A.offset||H.focusNode!==C.node||H.focusOffset!==C.offset)){var M=K.createRange();M.setStart(A.node,A.offset),H.removeAllRanges(),de>Be?(H.addRange(M),H.extend(C.node,C.offset)):(M.setEnd(C.node,C.offset),H.addRange(M))}}}}for(K=[],H=h;H=H.parentNode;)H.nodeType===1&&K.push({element:H,left:H.scrollLeft,top:H.scrollTop});for(typeof h.focus=="function"&&h.focus(),h=0;h<K.length;h++){var Y=K[h];Y.element.scrollLeft=Y.left,Y.element.scrollTop=Y.top}}_i=!!au,nu=au=null}finally{Te=s,D.p=l,y.T=a}}e.current=t,at=2}}function Kf(){if(at===2){at=0;var e=Va,t=el,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=y.T,y.T=null;var l=D.p;D.p=2;var s=Te;Te|=4;try{bf(e,t.alternate,t)}finally{Te=s,D.p=l,y.T=a}}at=3}}function Zf(){if(at===4||at===3){at=0,sx();var e=Va,t=el,a=za,l=kf;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?at=5:(at=0,el=Va=null,Ff(e,e.pendingLanes));var s=e.pendingLanes;if(s===0&&(Xa=null),uc(a),t=t.stateNode,Dt&&typeof Dt.onCommitFiberRoot=="function")try{Dt.onCommitFiberRoot(yl,t,void 0,(t.current.flags&128)===128)}catch{}if(l!==null){t=y.T,s=D.p,D.p=2,y.T=null;try{for(var c=e.onRecoverableError,u=0;u<l.length;u++){var h=l[u];c(h.value,{componentStack:h.stack})}}finally{y.T=t,D.p=s}}(za&3)!==0&&vi(),ca(e),s=e.pendingLanes,(a&261930)!==0&&(s&42)!==0?e===Yr?Pl++:(Pl=0,Yr=e):Pl=0,es(0)}}function Ff(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Ol(t)))}function vi(){return Vf(),Kf(),Zf(),$f()}function $f(){if(at!==5)return!1;var e=Va,t=Gr;Gr=0;var a=uc(za),l=y.T,s=D.p;try{D.p=32>a?32:a,y.T=null,a=Qr,Qr=null;var c=Va,u=za;if(at=0,el=Va=null,za=0,(Te&6)!==0)throw Error(o(331));var h=Te;if(Te|=4,Df(c.current),Tf(c,c.current,u,a),Te=h,es(0,!1),Dt&&typeof Dt.onPostCommitFiberRoot=="function")try{Dt.onPostCommitFiberRoot(yl,c)}catch{}return!0}finally{D.p=s,y.T=l,Ff(e,t)}}function Jf(e,t,a){t=Qt(a,t),t=jr(e.stateNode,t,2),e=La(e,t,2),e!==null&&(bl(e,2),ca(e))}function De(e,t,a){if(e.tag===3)Jf(e,e,a);else for(;t!==null;){if(t.tag===3){Jf(t,e,a);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Xa===null||!Xa.has(l))){e=Qt(a,e),a=Jd(2),l=La(t,a,2),l!==null&&(Wd(a,l,t,e),bl(l,2),ca(l));break}}t=t.return}}function Kr(e,t,a){var l=e.pingCache;if(l===null){l=e.pingCache=new _g;var s=new Set;l.set(t,s)}else s=l.get(t),s===void 0&&(s=new Set,l.set(t,s));s.has(a)||(Lr=!0,s.add(a),e=Ug.bind(null,e,t,a),t.then(e,e))}function Ug(e,t,a){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Le===e&&(be&a)===a&&(Ze===4||Ze===3&&(be&62914560)===be&&300>At()-mi?(Te&2)===0&&tl(e,0):Hr|=a,Pn===be&&(Pn=0)),ca(e)}function Wf(e,t){t===0&&(t=Yu()),e=un(e,t),e!==null&&(bl(e,t),ca(e))}function Bg(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Wf(e,a)}function Lg(e,t){var a=0;switch(e.tag){case 31:case 13:var l=e.stateNode,s=e.memoizedState;s!==null&&(a=s.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(o(314))}l!==null&&l.delete(t),Wf(e,a)}function Hg(e,t){return sc(e,t)}var bi=null,nl=null,Zr=!1,ji=!1,Fr=!1,Za=0;function ca(e){e!==nl&&e.next===null&&(nl===null?bi=nl=e:nl=nl.next=e),ji=!0,Zr||(Zr=!0,Gg())}function es(e,t){if(!Fr&&ji){Fr=!0;do for(var a=!1,l=bi;l!==null;){if(e!==0){var s=l.pendingLanes;if(s===0)var c=0;else{var u=l.suspendedLanes,h=l.pingedLanes;c=(1<<31-_t(42|e)+1)-1,c&=s&~(u&~h),c=c&201326741?c&201326741|1:c?c|2:0}c!==0&&(a=!0,tm(l,c))}else c=be,c=ws(l,l===Le?c:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(c&3)===0||vl(l,c)||(a=!0,tm(l,c));l=l.next}while(a);Fr=!1}}function qg(){If()}function If(){ji=Zr=!1;var e=0;Za!==0&&Wg()&&(e=Za);for(var t=At(),a=null,l=bi;l!==null;){var s=l.next,c=Pf(l,t);c===0?(l.next=null,a===null?bi=s:a.next=s,s===null&&(nl=a)):(a=l,(e!==0||(c&3)!==0)&&(ji=!0)),l=s}at!==0&&at!==5||es(e),Za!==0&&(Za=0)}function Pf(e,t){for(var a=e.suspendedLanes,l=e.pingedLanes,s=e.expirationTimes,c=e.pendingLanes&-62914561;0<c;){var u=31-_t(c),h=1<<u,j=s[u];j===-1?((h&a)===0||(h&l)!==0)&&(s[u]=mx(h,t)):j<=t&&(e.expiredLanes|=h),c&=~h}if(t=Le,a=be,a=ws(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l=e.callbackNode,a===0||e===t&&(Ae===2||Ae===9)||e.cancelPendingCommit!==null)return l!==null&&l!==null&&ic(l),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||vl(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(l!==null&&ic(l),uc(a)){case 2:case 8:a=Gu;break;case 32:a=js;break;case 268435456:a=Qu;break;default:a=js}return l=em.bind(null,e),a=sc(a,l),e.callbackPriority=t,e.callbackNode=a,t}return l!==null&&l!==null&&ic(l),e.callbackPriority=2,e.callbackNode=null,2}function em(e,t){if(at!==0&&at!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(vi()&&e.callbackNode!==a)return null;var l=be;return l=ws(e,e===Le?l:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l===0?null:(Rf(e,l,t),Pf(e,At()),e.callbackNode!=null&&e.callbackNode===a?em.bind(null,e):null)}function tm(e,t){if(vi())return null;Rf(e,t,!0)}function Gg(){Pg(function(){(Te&6)!==0?sc(qu,qg):If()})}function $r(){if(Za===0){var e=Qn;e===0&&(e=Ss,Ss<<=1,(Ss&261888)===0&&(Ss=256)),Za=e}return Za}function am(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:As(""+e)}function nm(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function Qg(e,t,a,l,s){if(t==="submit"&&a&&a.stateNode===s){var c=am((s[jt]||null).action),u=l.submitter;u&&(t=(t=u[jt]||null)?am(t.formAction):u.getAttribute("formAction"),t!==null&&(c=t,u=null));var h=new ks("action","action",null,l,s);e.push({event:h,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(Za!==0){var j=u?nm(s,u):new FormData(s);xr(a,{pending:!0,data:j,method:s.method,action:c},null,j)}}else typeof c=="function"&&(h.preventDefault(),j=u?nm(s,u):new FormData(s),xr(a,{pending:!0,data:j,method:s.method,action:c},c,j))},currentTarget:s}]})}}for(var Jr=0;Jr<Mc.length;Jr++){var Wr=Mc[Jr],Yg=Wr.toLowerCase(),Xg=Wr[0].toUpperCase()+Wr.slice(1);Jt(Yg,"on"+Xg)}Jt(ko,"onAnimationEnd"),Jt(Oo,"onAnimationIteration"),Jt(Ro,"onAnimationStart"),Jt("dblclick","onDoubleClick"),Jt("focusin","onFocus"),Jt("focusout","onBlur"),Jt(ig,"onTransitionRun"),Jt(cg,"onTransitionStart"),Jt(rg,"onTransitionCancel"),Jt(Uo,"onTransitionEnd"),En("onMouseEnter",["mouseout","mouseover"]),En("onMouseLeave",["mouseout","mouseover"]),En("onPointerEnter",["pointerout","pointerover"]),En("onPointerLeave",["pointerout","pointerover"]),ln("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ln("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ln("onBeforeInput",["compositionend","keypress","textInput","paste"]),ln("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ln("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ln("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ts="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Vg=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(ts));function lm(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var l=e[a],s=l.event;l=l.listeners;e:{var c=void 0;if(t)for(var u=l.length-1;0<=u;u--){var h=l[u],j=h.instance,k=h.currentTarget;if(h=h.listener,j!==c&&s.isPropagationStopped())break e;c=h,s.currentTarget=k;try{c(s)}catch(Q){Us(Q)}s.currentTarget=null,c=j}else for(u=0;u<l.length;u++){if(h=l[u],j=h.instance,k=h.currentTarget,h=h.listener,j!==c&&s.isPropagationStopped())break e;c=h,s.currentTarget=k;try{c(s)}catch(Q){Us(Q)}s.currentTarget=null,c=j}}}}function ve(e,t){var a=t[oc];a===void 0&&(a=t[oc]=new Set);var l=e+"__bubble";a.has(l)||(sm(t,e,2,!1),a.add(l))}function Ir(e,t,a){var l=0;t&&(l|=4),sm(a,e,l,t)}var Si="_reactListening"+Math.random().toString(36).slice(2);function Pr(e){if(!e[Si]){e[Si]=!0,Ju.forEach(function(a){a!=="selectionchange"&&(Vg.has(a)||Ir(a,!1,e),Ir(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Si]||(t[Si]=!0,Ir("selectionchange",!1,t))}}function sm(e,t,a,l){switch(Om(t)){case 2:var s=vp;break;case 8:s=bp;break;default:s=hu}a=s.bind(null,t,a,e),s=void 0,!vc||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(s=!0),l?s!==void 0?e.addEventListener(t,a,{capture:!0,passive:s}):e.addEventListener(t,a,!0):s!==void 0?e.addEventListener(t,a,{passive:s}):e.addEventListener(t,a,!1)}function eu(e,t,a,l,s){var c=l;if((t&1)===0&&(t&2)===0&&l!==null)e:for(;;){if(l===null)return;var u=l.tag;if(u===3||u===4){var h=l.stateNode.containerInfo;if(h===s)break;if(u===4)for(u=l.return;u!==null;){var j=u.tag;if((j===3||j===4)&&u.stateNode.containerInfo===s)return;u=u.return}for(;h!==null;){if(u=wn(h),u===null)return;if(j=u.tag,j===5||j===6||j===26||j===27){l=c=u;continue e}h=h.parentNode}}l=l.return}ro(function(){var k=c,Q=pc(a),K=[];e:{var U=Bo.get(e);if(U!==void 0){var H=ks,se=e;switch(e){case"keypress":if(_s(a)===0)break e;case"keydown":case"keyup":H=Lx;break;case"focusin":se="focus",H=Nc;break;case"focusout":se="blur",H=Nc;break;case"beforeblur":case"afterblur":H=Nc;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":H=fo;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":H=zx;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":H=Gx;break;case ko:case Oo:case Ro:H=Ax;break;case Uo:H=Yx;break;case"scroll":case"scrollend":H=Cx;break;case"wheel":H=Vx;break;case"copy":case"cut":case"paste":H=_x;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":H=ho;break;case"toggle":case"beforetoggle":H=Zx}var de=(t&4)!==0,Be=!de&&(e==="scroll"||e==="scrollend"),A=de?U!==null?U+"Capture":null:U;de=[];for(var C=k,M;C!==null;){var Y=C;if(M=Y.stateNode,Y=Y.tag,Y!==5&&Y!==26&&Y!==27||M===null||A===null||(Y=Nl(C,A),Y!=null&&de.push(as(C,Y,M))),Be)break;C=C.return}0<de.length&&(U=new H(U,se,null,a,Q),K.push({event:U,listeners:de}))}}if((t&7)===0){e:{if(U=e==="mouseover"||e==="pointerover",H=e==="mouseout"||e==="pointerout",U&&a!==gc&&(se=a.relatedTarget||a.fromElement)&&(wn(se)||se[Cn]))break e;if((H||U)&&(U=Q.window===Q?Q:(U=Q.ownerDocument)?U.defaultView||U.parentWindow:window,H?(se=a.relatedTarget||a.toElement,H=k,se=se?wn(se):null,se!==null&&(Be=x(se),de=se.tag,se!==Be||de!==5&&de!==27&&de!==6)&&(se=null)):(H=null,se=k),H!==se)){if(de=fo,Y="onMouseLeave",A="onMouseEnter",C="mouse",(e==="pointerout"||e==="pointerover")&&(de=ho,Y="onPointerLeave",A="onPointerEnter",C="pointer"),Be=H==null?U:Sl(H),M=se==null?U:Sl(se),U=new de(Y,C+"leave",H,a,Q),U.target=Be,U.relatedTarget=M,Y=null,wn(Q)===k&&(de=new de(A,C+"enter",se,a,Q),de.target=M,de.relatedTarget=Be,Y=de),Be=Y,H&&se)t:{for(de=Kg,A=H,C=se,M=0,Y=A;Y;Y=de(Y))M++;Y=0;for(var re=C;re;re=de(re))Y++;for(;0<M-Y;)A=de(A),M--;for(;0<Y-M;)C=de(C),Y--;for(;M--;){if(A===C||C!==null&&A===C.alternate){de=A;break t}A=de(A),C=de(C)}de=null}else de=null;H!==null&&im(K,U,H,de,!1),se!==null&&Be!==null&&im(K,Be,se,de,!0)}}e:{if(U=k?Sl(k):window,H=U.nodeName&&U.nodeName.toLowerCase(),H==="select"||H==="input"&&U.type==="file")var we=So;else if(bo(U))if(No)we=ng;else{we=tg;var ce=eg}else H=U.nodeName,!H||H.toLowerCase()!=="input"||U.type!=="checkbox"&&U.type!=="radio"?k&&xc(k.elementType)&&(we=So):we=ag;if(we&&(we=we(e,k))){jo(K,we,a,Q);break e}ce&&ce(e,U,k),e==="focusout"&&k&&U.type==="number"&&k.memoizedProps.value!=null&&hc(U,"number",U.value)}switch(ce=k?Sl(k):window,e){case"focusin":(bo(ce)||ce.contentEditable==="true")&&(On=ce,Ac=k,_l=null);break;case"focusout":_l=Ac=On=null;break;case"mousedown":Dc=!0;break;case"contextmenu":case"mouseup":case"dragend":Dc=!1,_o(K,a,Q);break;case"selectionchange":if(sg)break;case"keydown":case"keyup":_o(K,a,Q)}var pe;if(wc)e:{switch(e){case"compositionstart":var je="onCompositionStart";break e;case"compositionend":je="onCompositionEnd";break e;case"compositionupdate":je="onCompositionUpdate";break e}je=void 0}else kn?yo(e,a)&&(je="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(je="onCompositionStart");je&&(xo&&a.locale!=="ko"&&(kn||je!=="onCompositionStart"?je==="onCompositionEnd"&&kn&&(pe=uo()):(_a=Q,bc="value"in _a?_a.value:_a.textContent,kn=!0)),ce=Ni(k,je),0<ce.length&&(je=new mo(je,e,null,a,Q),K.push({event:je,listeners:ce}),pe?je.data=pe:(pe=vo(a),pe!==null&&(je.data=pe)))),(pe=$x?Jx(e,a):Wx(e,a))&&(je=Ni(k,"onBeforeInput"),0<je.length&&(ce=new mo("onBeforeInput","beforeinput",null,a,Q),K.push({event:ce,listeners:je}),ce.data=pe)),Qg(K,e,k,a,Q)}lm(K,t)})}function as(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Ni(e,t){for(var a=t+"Capture",l=[];e!==null;){var s=e,c=s.stateNode;if(s=s.tag,s!==5&&s!==26&&s!==27||c===null||(s=Nl(e,a),s!=null&&l.unshift(as(e,s,c)),s=Nl(e,t),s!=null&&l.push(as(e,s,c))),e.tag===3)return l;e=e.return}return[]}function Kg(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function im(e,t,a,l,s){for(var c=t._reactName,u=[];a!==null&&a!==l;){var h=a,j=h.alternate,k=h.stateNode;if(h=h.tag,j!==null&&j===l)break;h!==5&&h!==26&&h!==27||k===null||(j=k,s?(k=Nl(a,c),k!=null&&u.unshift(as(a,k,j))):s||(k=Nl(a,c),k!=null&&u.push(as(a,k,j)))),a=a.return}u.length!==0&&e.push({event:t,listeners:u})}var Zg=/\r\n?/g,Fg=/\u0000|\uFFFD/g;function cm(e){return(typeof e=="string"?e:""+e).replace(Zg,`
|
|
9
|
-
`).replace(Fg,"")}function rm(e,t){return t=cm(t),cm(e)===t}function Ue(e,t,a,l,s,c){switch(a){case"children":typeof l=="string"?t==="body"||t==="textarea"&&l===""||Dn(e,l):(typeof l=="number"||typeof l=="bigint")&&t!=="body"&&Dn(e,""+l);break;case"className":Ts(e,"class",l);break;case"tabIndex":Ts(e,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":Ts(e,a,l);break;case"style":io(e,l,c);break;case"data":if(t!=="object"){Ts(e,"data",l);break}case"src":case"href":if(l===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(a);break}l=As(""+l),e.setAttribute(a,l);break;case"action":case"formAction":if(typeof l=="function"){e.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof c=="function"&&(a==="formAction"?(t!=="input"&&Ue(e,t,"name",s.name,s,null),Ue(e,t,"formEncType",s.formEncType,s,null),Ue(e,t,"formMethod",s.formMethod,s,null),Ue(e,t,"formTarget",s.formTarget,s,null)):(Ue(e,t,"encType",s.encType,s,null),Ue(e,t,"method",s.method,s,null),Ue(e,t,"target",s.target,s,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(a);break}l=As(""+l),e.setAttribute(a,l);break;case"onClick":l!=null&&(e.onclick=da);break;case"onScroll":l!=null&&ve("scroll",e);break;case"onScrollEnd":l!=null&&ve("scrollend",e);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(o(61));if(a=l.__html,a!=null){if(s.children!=null)throw Error(o(60));e.innerHTML=a}}break;case"multiple":e.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":e.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){e.removeAttribute("xlink:href");break}a=As(""+l),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,""+l):e.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":l&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":l===!0?e.setAttribute(a,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,l):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?e.setAttribute(a,l):e.removeAttribute(a);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?e.removeAttribute(a):e.setAttribute(a,l);break;case"popover":ve("beforetoggle",e),ve("toggle",e),zs(e,"popover",l);break;case"xlinkActuate":oa(e,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":oa(e,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":oa(e,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":oa(e,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":oa(e,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":oa(e,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":oa(e,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":oa(e,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":oa(e,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":zs(e,"is",l);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=Sx.get(a)||a,zs(e,a,l))}}function tu(e,t,a,l,s,c){switch(a){case"style":io(e,l,c);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(o(61));if(a=l.__html,a!=null){if(s.children!=null)throw Error(o(60));e.innerHTML=a}}break;case"children":typeof l=="string"?Dn(e,l):(typeof l=="number"||typeof l=="bigint")&&Dn(e,""+l);break;case"onScroll":l!=null&&ve("scroll",e);break;case"onScrollEnd":l!=null&&ve("scrollend",e);break;case"onClick":l!=null&&(e.onclick=da);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Wu.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(s=a.endsWith("Capture"),t=a.slice(2,s?a.length-7:void 0),c=e[jt]||null,c=c!=null?c[a]:null,typeof c=="function"&&e.removeEventListener(t,c,s),typeof l=="function")){typeof c!="function"&&c!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,l,s);break e}a in e?e[a]=l:l===!0?e.setAttribute(a,""):zs(e,a,l)}}}function mt(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ve("error",e),ve("load",e);var l=!1,s=!1,c;for(c in a)if(a.hasOwnProperty(c)){var u=a[c];if(u!=null)switch(c){case"src":l=!0;break;case"srcSet":s=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:Ue(e,t,c,u,a,null)}}s&&Ue(e,t,"srcSet",a.srcSet,a,null),l&&Ue(e,t,"src",a.src,a,null);return;case"input":ve("invalid",e);var h=c=u=s=null,j=null,k=null;for(l in a)if(a.hasOwnProperty(l)){var Q=a[l];if(Q!=null)switch(l){case"name":s=Q;break;case"type":u=Q;break;case"checked":j=Q;break;case"defaultChecked":k=Q;break;case"value":c=Q;break;case"defaultValue":h=Q;break;case"children":case"dangerouslySetInnerHTML":if(Q!=null)throw Error(o(137,t));break;default:Ue(e,t,l,Q,a,null)}}ao(e,c,h,j,k,u,s,!1);return;case"select":ve("invalid",e),l=u=c=null;for(s in a)if(a.hasOwnProperty(s)&&(h=a[s],h!=null))switch(s){case"value":c=h;break;case"defaultValue":u=h;break;case"multiple":l=h;default:Ue(e,t,s,h,a,null)}t=c,a=u,e.multiple=!!l,t!=null?An(e,!!l,t,!1):a!=null&&An(e,!!l,a,!0);return;case"textarea":ve("invalid",e),c=s=l=null;for(u in a)if(a.hasOwnProperty(u)&&(h=a[u],h!=null))switch(u){case"value":l=h;break;case"defaultValue":s=h;break;case"children":c=h;break;case"dangerouslySetInnerHTML":if(h!=null)throw Error(o(91));break;default:Ue(e,t,u,h,a,null)}lo(e,l,s,c);return;case"option":for(j in a)a.hasOwnProperty(j)&&(l=a[j],l!=null)&&(j==="selected"?e.selected=l&&typeof l!="function"&&typeof l!="symbol":Ue(e,t,j,l,a,null));return;case"dialog":ve("beforetoggle",e),ve("toggle",e),ve("cancel",e),ve("close",e);break;case"iframe":case"object":ve("load",e);break;case"video":case"audio":for(l=0;l<ts.length;l++)ve(ts[l],e);break;case"image":ve("error",e),ve("load",e);break;case"details":ve("toggle",e);break;case"embed":case"source":case"link":ve("error",e),ve("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(k in a)if(a.hasOwnProperty(k)&&(l=a[k],l!=null))switch(k){case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:Ue(e,t,k,l,a,null)}return;default:if(xc(t)){for(Q in a)a.hasOwnProperty(Q)&&(l=a[Q],l!==void 0&&tu(e,t,Q,l,a,void 0));return}}for(h in a)a.hasOwnProperty(h)&&(l=a[h],l!=null&&Ue(e,t,h,l,a,null))}function $g(e,t,a,l){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var s=null,c=null,u=null,h=null,j=null,k=null,Q=null;for(H in a){var K=a[H];if(a.hasOwnProperty(H)&&K!=null)switch(H){case"checked":break;case"value":break;case"defaultValue":j=K;default:l.hasOwnProperty(H)||Ue(e,t,H,null,l,K)}}for(var U in l){var H=l[U];if(K=a[U],l.hasOwnProperty(U)&&(H!=null||K!=null))switch(U){case"type":c=H;break;case"name":s=H;break;case"checked":k=H;break;case"defaultChecked":Q=H;break;case"value":u=H;break;case"defaultValue":h=H;break;case"children":case"dangerouslySetInnerHTML":if(H!=null)throw Error(o(137,t));break;default:H!==K&&Ue(e,t,U,H,l,K)}}mc(e,u,h,j,k,Q,c,s);return;case"select":H=u=h=U=null;for(c in a)if(j=a[c],a.hasOwnProperty(c)&&j!=null)switch(c){case"value":break;case"multiple":H=j;default:l.hasOwnProperty(c)||Ue(e,t,c,null,l,j)}for(s in l)if(c=l[s],j=a[s],l.hasOwnProperty(s)&&(c!=null||j!=null))switch(s){case"value":U=c;break;case"defaultValue":h=c;break;case"multiple":u=c;default:c!==j&&Ue(e,t,s,c,l,j)}t=h,a=u,l=H,U!=null?An(e,!!a,U,!1):!!l!=!!a&&(t!=null?An(e,!!a,t,!0):An(e,!!a,a?[]:"",!1));return;case"textarea":H=U=null;for(h in a)if(s=a[h],a.hasOwnProperty(h)&&s!=null&&!l.hasOwnProperty(h))switch(h){case"value":break;case"children":break;default:Ue(e,t,h,null,l,s)}for(u in l)if(s=l[u],c=a[u],l.hasOwnProperty(u)&&(s!=null||c!=null))switch(u){case"value":U=s;break;case"defaultValue":H=s;break;case"children":break;case"dangerouslySetInnerHTML":if(s!=null)throw Error(o(91));break;default:s!==c&&Ue(e,t,u,s,l,c)}no(e,U,H);return;case"option":for(var se in a)U=a[se],a.hasOwnProperty(se)&&U!=null&&!l.hasOwnProperty(se)&&(se==="selected"?e.selected=!1:Ue(e,t,se,null,l,U));for(j in l)U=l[j],H=a[j],l.hasOwnProperty(j)&&U!==H&&(U!=null||H!=null)&&(j==="selected"?e.selected=U&&typeof U!="function"&&typeof U!="symbol":Ue(e,t,j,U,l,H));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var de in a)U=a[de],a.hasOwnProperty(de)&&U!=null&&!l.hasOwnProperty(de)&&Ue(e,t,de,null,l,U);for(k in l)if(U=l[k],H=a[k],l.hasOwnProperty(k)&&U!==H&&(U!=null||H!=null))switch(k){case"children":case"dangerouslySetInnerHTML":if(U!=null)throw Error(o(137,t));break;default:Ue(e,t,k,U,l,H)}return;default:if(xc(t)){for(var Be in a)U=a[Be],a.hasOwnProperty(Be)&&U!==void 0&&!l.hasOwnProperty(Be)&&tu(e,t,Be,void 0,l,U);for(Q in l)U=l[Q],H=a[Q],!l.hasOwnProperty(Q)||U===H||U===void 0&&H===void 0||tu(e,t,Q,U,l,H);return}}for(var A in a)U=a[A],a.hasOwnProperty(A)&&U!=null&&!l.hasOwnProperty(A)&&Ue(e,t,A,null,l,U);for(K in l)U=l[K],H=a[K],!l.hasOwnProperty(K)||U===H||U==null&&H==null||Ue(e,t,K,U,l,H)}function um(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Jg(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),l=0;l<a.length;l++){var s=a[l],c=s.transferSize,u=s.initiatorType,h=s.duration;if(c&&h&&um(u)){for(u=0,h=s.responseEnd,l+=1;l<a.length;l++){var j=a[l],k=j.startTime;if(k>h)break;var Q=j.transferSize,K=j.initiatorType;Q&&um(K)&&(j=j.responseEnd,u+=Q*(j<h?1:(h-k)/(j-k)))}if(--l,t+=8*(c+u)/(s.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var au=null,nu=null;function Ci(e){return e.nodeType===9?e:e.ownerDocument}function om(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function dm(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function lu(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var su=null;function Wg(){var e=window.event;return e&&e.type==="popstate"?e===su?!1:(su=e,!0):(su=null,!1)}var fm=typeof setTimeout=="function"?setTimeout:void 0,Ig=typeof clearTimeout=="function"?clearTimeout:void 0,mm=typeof Promise=="function"?Promise:void 0,Pg=typeof queueMicrotask=="function"?queueMicrotask:typeof mm<"u"?function(e){return mm.resolve(null).then(e).catch(ep)}:fm;function ep(e){setTimeout(function(){throw e})}function Fa(e){return e==="head"}function hm(e,t){var a=t,l=0;do{var s=a.nextSibling;if(e.removeChild(a),s&&s.nodeType===8)if(a=s.data,a==="/$"||a==="/&"){if(l===0){e.removeChild(s),cl(t);return}l--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")l++;else if(a==="html")ns(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,ns(a);for(var c=a.firstChild;c;){var u=c.nextSibling,h=c.nodeName;c[jl]||h==="SCRIPT"||h==="STYLE"||h==="LINK"&&c.rel.toLowerCase()==="stylesheet"||a.removeChild(c),c=u}}else a==="body"&&ns(e.ownerDocument.body);a=s}while(a);cl(t)}function xm(e,t){var a=e;e=0;do{var l=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),l&&l.nodeType===8)if(a=l.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=l}while(a)}function iu(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":iu(a),dc(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function tp(e,t,a,l){for(;e.nodeType===1;){var s=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!l&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(l){if(!e[jl])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(c=e.getAttribute("rel"),c==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(c!==s.rel||e.getAttribute("href")!==(s.href==null||s.href===""?null:s.href)||e.getAttribute("crossorigin")!==(s.crossOrigin==null?null:s.crossOrigin)||e.getAttribute("title")!==(s.title==null?null:s.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(c=e.getAttribute("src"),(c!==(s.src==null?null:s.src)||e.getAttribute("type")!==(s.type==null?null:s.type)||e.getAttribute("crossorigin")!==(s.crossOrigin==null?null:s.crossOrigin))&&c&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var c=s.name==null?null:""+s.name;if(s.type==="hidden"&&e.getAttribute("name")===c)return e}else return e;if(e=Zt(e.nextSibling),e===null)break}return null}function ap(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=Zt(e.nextSibling),e===null))return null;return e}function gm(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Zt(e.nextSibling),e===null))return null;return e}function cu(e){return e.data==="$?"||e.data==="$~"}function ru(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function np(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var l=function(){t(),a.removeEventListener("DOMContentLoaded",l)};a.addEventListener("DOMContentLoaded",l),e._reactRetry=l}}function Zt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var uu=null;function pm(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return Zt(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function ym(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function vm(e,t,a){switch(t=Ci(a),e){case"html":if(e=t.documentElement,!e)throw Error(o(452));return e;case"head":if(e=t.head,!e)throw Error(o(453));return e;case"body":if(e=t.body,!e)throw Error(o(454));return e;default:throw Error(o(451))}}function ns(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);dc(e)}var Ft=new Map,bm=new Set;function wi(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Ta=D.d;D.d={f:lp,r:sp,D:ip,C:cp,L:rp,m:up,X:dp,S:op,M:fp};function lp(){var e=Ta.f(),t=gi();return e||t}function sp(e){var t=zn(e);t!==null&&t.tag===5&&t.type==="form"?Ud(t):Ta.r(e)}var ll=typeof document>"u"?null:document;function jm(e,t,a){var l=ll;if(l&&typeof t=="string"&&t){var s=qt(t);s='link[rel="'+e+'"][href="'+s+'"]',typeof a=="string"&&(s+='[crossorigin="'+a+'"]'),bm.has(s)||(bm.add(s),e={rel:e,crossOrigin:a,href:t},l.querySelector(s)===null&&(t=l.createElement("link"),mt(t,"link",e),st(t),l.head.appendChild(t)))}}function ip(e){Ta.D(e),jm("dns-prefetch",e,null)}function cp(e,t){Ta.C(e,t),jm("preconnect",e,t)}function rp(e,t,a){Ta.L(e,t,a);var l=ll;if(l&&e&&t){var s='link[rel="preload"][as="'+qt(t)+'"]';t==="image"&&a&&a.imageSrcSet?(s+='[imagesrcset="'+qt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(s+='[imagesizes="'+qt(a.imageSizes)+'"]')):s+='[href="'+qt(e)+'"]';var c=s;switch(t){case"style":c=sl(e);break;case"script":c=il(e)}Ft.has(c)||(e=E({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Ft.set(c,e),l.querySelector(s)!==null||t==="style"&&l.querySelector(ls(c))||t==="script"&&l.querySelector(ss(c))||(t=l.createElement("link"),mt(t,"link",e),st(t),l.head.appendChild(t)))}}function up(e,t){Ta.m(e,t);var a=ll;if(a&&e){var l=t&&typeof t.as=="string"?t.as:"script",s='link[rel="modulepreload"][as="'+qt(l)+'"][href="'+qt(e)+'"]',c=s;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":c=il(e)}if(!Ft.has(c)&&(e=E({rel:"modulepreload",href:e},t),Ft.set(c,e),a.querySelector(s)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(ss(c)))return}l=a.createElement("link"),mt(l,"link",e),st(l),a.head.appendChild(l)}}}function op(e,t,a){Ta.S(e,t,a);var l=ll;if(l&&e){var s=Tn(l).hoistableStyles,c=sl(e);t=t||"default";var u=s.get(c);if(!u){var h={loading:0,preload:null};if(u=l.querySelector(ls(c)))h.loading=5;else{e=E({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Ft.get(c))&&ou(e,a);var j=u=l.createElement("link");st(j),mt(j,"link",e),j._p=new Promise(function(k,Q){j.onload=k,j.onerror=Q}),j.addEventListener("load",function(){h.loading|=1}),j.addEventListener("error",function(){h.loading|=2}),h.loading|=4,zi(u,t,l)}u={type:"stylesheet",instance:u,count:1,state:h},s.set(c,u)}}}function dp(e,t){Ta.X(e,t);var a=ll;if(a&&e){var l=Tn(a).hoistableScripts,s=il(e),c=l.get(s);c||(c=a.querySelector(ss(s)),c||(e=E({src:e,async:!0},t),(t=Ft.get(s))&&du(e,t),c=a.createElement("script"),st(c),mt(c,"link",e),a.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},l.set(s,c))}}function fp(e,t){Ta.M(e,t);var a=ll;if(a&&e){var l=Tn(a).hoistableScripts,s=il(e),c=l.get(s);c||(c=a.querySelector(ss(s)),c||(e=E({src:e,async:!0,type:"module"},t),(t=Ft.get(s))&&du(e,t),c=a.createElement("script"),st(c),mt(c,"link",e),a.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},l.set(s,c))}}function Sm(e,t,a,l){var s=(s=Xe.current)?wi(s):null;if(!s)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=sl(a.href),a=Tn(s).hoistableStyles,l=a.get(t),l||(l={type:"style",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=sl(a.href);var c=Tn(s).hoistableStyles,u=c.get(e);if(u||(s=s.ownerDocument||s,u={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},c.set(e,u),(c=s.querySelector(ls(e)))&&!c._p&&(u.instance=c,u.state.loading=5),Ft.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Ft.set(e,a),c||mp(s,e,a,u.state))),t&&l===null)throw Error(o(528,""));return u}if(t&&l!==null)throw Error(o(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=il(a),a=Tn(s).hoistableScripts,l=a.get(t),l||(l={type:"script",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function sl(e){return'href="'+qt(e)+'"'}function ls(e){return'link[rel="stylesheet"]['+e+"]"}function Nm(e){return E({},e,{"data-precedence":e.precedence,precedence:null})}function mp(e,t,a,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),mt(t,"link",a),st(t),e.head.appendChild(t))}function il(e){return'[src="'+qt(e)+'"]'}function ss(e){return"script[async]"+e}function Cm(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+qt(a.href)+'"]');if(l)return t.instance=l,st(l),l;var s=E({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),st(l),mt(l,"style",s),zi(l,a.precedence,e),t.instance=l;case"stylesheet":s=sl(a.href);var c=e.querySelector(ls(s));if(c)return t.state.loading|=4,t.instance=c,st(c),c;l=Nm(a),(s=Ft.get(s))&&ou(l,s),c=(e.ownerDocument||e).createElement("link"),st(c);var u=c;return u._p=new Promise(function(h,j){u.onload=h,u.onerror=j}),mt(c,"link",l),t.state.loading|=4,zi(c,a.precedence,e),t.instance=c;case"script":return c=il(a.src),(s=e.querySelector(ss(c)))?(t.instance=s,st(s),s):(l=a,(s=Ft.get(c))&&(l=E({},a),du(l,s)),e=e.ownerDocument||e,s=e.createElement("script"),st(s),mt(s,"link",l),e.head.appendChild(s),t.instance=s);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,zi(l,a.precedence,e));return t.instance}function zi(e,t,a){for(var l=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),s=l.length?l[l.length-1]:null,c=s,u=0;u<l.length;u++){var h=l[u];if(h.dataset.precedence===t)c=h;else if(c!==s)break}c?c.parentNode.insertBefore(e,c.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function ou(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function du(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Ti=null;function wm(e,t,a){if(Ti===null){var l=new Map,s=Ti=new Map;s.set(a,l)}else s=Ti,l=s.get(a),l||(l=new Map,s.set(a,l));if(l.has(e))return l;for(l.set(e,null),a=a.getElementsByTagName(e),s=0;s<a.length;s++){var c=a[s];if(!(c[jl]||c[ut]||e==="link"&&c.getAttribute("rel")==="stylesheet")&&c.namespaceURI!=="http://www.w3.org/2000/svg"){var u=c.getAttribute(t)||"";u=e+u;var h=l.get(u);h?h.push(c):l.set(u,[c])}}return l}function zm(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function hp(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Tm(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function xp(e,t,a,l){if(a.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var s=sl(l.href),c=t.querySelector(ls(s));if(c){t=c._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Ei.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=c,st(c);return}c=t.ownerDocument||t,l=Nm(l),(s=Ft.get(s))&&ou(l,s),c=c.createElement("link"),st(c);var u=c;u._p=new Promise(function(h,j){u.onload=h,u.onerror=j}),mt(c,"link",l),a.instance=c}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Ei.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var fu=0;function gp(e,t){return e.stylesheets&&e.count===0&&Di(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var l=setTimeout(function(){if(e.stylesheets&&Di(e,e.stylesheets),e.unsuspend){var c=e.unsuspend;e.unsuspend=null,c()}},6e4+t);0<e.imgBytes&&fu===0&&(fu=62500*Jg());var s=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Di(e,e.stylesheets),e.unsuspend)){var c=e.unsuspend;e.unsuspend=null,c()}},(e.imgBytes>fu?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(s)}}:null}function Ei(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Di(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Ai=null;function Di(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Ai=new Map,t.forEach(pp,e),Ai=null,Ei.call(e))}function pp(e,t){if(!(t.state.loading&4)){var a=Ai.get(e);if(a)var l=a.get(null);else{a=new Map,Ai.set(e,a);for(var s=e.querySelectorAll("link[data-precedence],style[data-precedence]"),c=0;c<s.length;c++){var u=s[c];(u.nodeName==="LINK"||u.getAttribute("media")!=="not all")&&(a.set(u.dataset.precedence,u),l=u)}l&&a.set(null,l)}s=t.instance,u=s.getAttribute("data-precedence"),c=a.get(u)||l,c===l&&a.set(null,s),a.set(u,s),this.count++,l=Ei.bind(this),s.addEventListener("load",l),s.addEventListener("error",l),c?c.parentNode.insertBefore(s,c.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(s,e.firstChild)),t.state.loading|=4}}var is={$$typeof:N,Provider:null,Consumer:null,_currentValue:ee,_currentValue2:ee,_threadCount:0};function yp(e,t,a,l,s,c,u,h,j){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=cc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=cc(0),this.hiddenUpdates=cc(null),this.identifierPrefix=l,this.onUncaughtError=s,this.onCaughtError=c,this.onRecoverableError=u,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=j,this.incompleteTransitions=new Map}function Em(e,t,a,l,s,c,u,h,j,k,Q,K){return e=new yp(e,t,a,u,j,k,Q,K,h),t=1,c===!0&&(t|=24),c=kt(3,null,null,t),e.current=c,c.stateNode=e,t=Vc(),t.refCount++,e.pooledCache=t,t.refCount++,c.memoizedState={element:l,isDehydrated:a,cache:t},$c(c),e}function Am(e){return e?(e=Bn,e):Bn}function Dm(e,t,a,l,s,c){s=Am(s),l.context===null?l.context=s:l.pendingContext=s,l=Ba(t),l.payload={element:a},c=c===void 0?null:c,c!==null&&(l.callback=c),a=La(e,l,t),a!==null&&(Tt(a,e,t),Ll(a,e,t))}function _m(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function mu(e,t){_m(e,t),(e=e.alternate)&&_m(e,t)}function Mm(e){if(e.tag===13||e.tag===31){var t=un(e,67108864);t!==null&&Tt(t,e,67108864),mu(e,67108864)}}function km(e){if(e.tag===13||e.tag===31){var t=Lt();t=rc(t);var a=un(e,t);a!==null&&Tt(a,e,t),mu(e,t)}}var _i=!0;function vp(e,t,a,l){var s=y.T;y.T=null;var c=D.p;try{D.p=2,hu(e,t,a,l)}finally{D.p=c,y.T=s}}function bp(e,t,a,l){var s=y.T;y.T=null;var c=D.p;try{D.p=8,hu(e,t,a,l)}finally{D.p=c,y.T=s}}function hu(e,t,a,l){if(_i){var s=xu(l);if(s===null)eu(e,t,l,Mi,a),Rm(e,l);else if(Sp(s,e,t,a,l))l.stopPropagation();else if(Rm(e,l),t&4&&-1<jp.indexOf(e)){for(;s!==null;){var c=zn(s);if(c!==null)switch(c.tag){case 3:if(c=c.stateNode,c.current.memoizedState.isDehydrated){var u=nn(c.pendingLanes);if(u!==0){var h=c;for(h.pendingLanes|=2,h.entangledLanes|=2;u;){var j=1<<31-_t(u);h.entanglements[1]|=j,u&=~j}ca(c),(Te&6)===0&&(hi=At()+500,es(0))}}break;case 31:case 13:h=un(c,2),h!==null&&Tt(h,c,2),gi(),mu(c,2)}if(c=xu(l),c===null&&eu(e,t,l,Mi,a),c===s)break;s=c}s!==null&&l.stopPropagation()}else eu(e,t,l,null,a)}}function xu(e){return e=pc(e),gu(e)}var Mi=null;function gu(e){if(Mi=null,e=wn(e),e!==null){var t=x(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=p(t),e!==null)return e;e=null}else if(a===31){if(e=v(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Mi=e,null}function Om(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(ix()){case qu:return 2;case Gu:return 8;case js:case cx:return 32;case Qu:return 268435456;default:return 32}default:return 32}}var pu=!1,$a=null,Ja=null,Wa=null,cs=new Map,rs=new Map,Ia=[],jp="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Rm(e,t){switch(e){case"focusin":case"focusout":$a=null;break;case"dragenter":case"dragleave":Ja=null;break;case"mouseover":case"mouseout":Wa=null;break;case"pointerover":case"pointerout":cs.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":rs.delete(t.pointerId)}}function us(e,t,a,l,s,c){return e===null||e.nativeEvent!==c?(e={blockedOn:t,domEventName:a,eventSystemFlags:l,nativeEvent:c,targetContainers:[s]},t!==null&&(t=zn(t),t!==null&&Mm(t)),e):(e.eventSystemFlags|=l,t=e.targetContainers,s!==null&&t.indexOf(s)===-1&&t.push(s),e)}function Sp(e,t,a,l,s){switch(t){case"focusin":return $a=us($a,e,t,a,l,s),!0;case"dragenter":return Ja=us(Ja,e,t,a,l,s),!0;case"mouseover":return Wa=us(Wa,e,t,a,l,s),!0;case"pointerover":var c=s.pointerId;return cs.set(c,us(cs.get(c)||null,e,t,a,l,s)),!0;case"gotpointercapture":return c=s.pointerId,rs.set(c,us(rs.get(c)||null,e,t,a,l,s)),!0}return!1}function Um(e){var t=wn(e.target);if(t!==null){var a=x(t);if(a!==null){if(t=a.tag,t===13){if(t=p(a),t!==null){e.blockedOn=t,Fu(e.priority,function(){km(a)});return}}else if(t===31){if(t=v(a),t!==null){e.blockedOn=t,Fu(e.priority,function(){km(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function ki(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=xu(e.nativeEvent);if(a===null){a=e.nativeEvent;var l=new a.constructor(a.type,a);gc=l,a.target.dispatchEvent(l),gc=null}else return t=zn(a),t!==null&&Mm(t),e.blockedOn=a,!1;t.shift()}return!0}function Bm(e,t,a){ki(e)&&a.delete(t)}function Np(){pu=!1,$a!==null&&ki($a)&&($a=null),Ja!==null&&ki(Ja)&&(Ja=null),Wa!==null&&ki(Wa)&&(Wa=null),cs.forEach(Bm),rs.forEach(Bm)}function Oi(e,t){e.blockedOn===t&&(e.blockedOn=null,pu||(pu=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,Np)))}var Ri=null;function Lm(e){Ri!==e&&(Ri=e,i.unstable_scheduleCallback(i.unstable_NormalPriority,function(){Ri===e&&(Ri=null);for(var t=0;t<e.length;t+=3){var a=e[t],l=e[t+1],s=e[t+2];if(typeof l!="function"){if(gu(l||a)===null)continue;break}var c=zn(a);c!==null&&(e.splice(t,3),t-=3,xr(c,{pending:!0,data:s,method:a.method,action:l},l,s))}}))}function cl(e){function t(j){return Oi(j,e)}$a!==null&&Oi($a,e),Ja!==null&&Oi(Ja,e),Wa!==null&&Oi(Wa,e),cs.forEach(t),rs.forEach(t);for(var a=0;a<Ia.length;a++){var l=Ia[a];l.blockedOn===e&&(l.blockedOn=null)}for(;0<Ia.length&&(a=Ia[0],a.blockedOn===null);)Um(a),a.blockedOn===null&&Ia.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(l=0;l<a.length;l+=3){var s=a[l],c=a[l+1],u=s[jt]||null;if(typeof c=="function")u||Lm(a);else if(u){var h=null;if(c&&c.hasAttribute("formAction")){if(s=c,u=c[jt]||null)h=u.formAction;else if(gu(s)!==null)continue}else h=u.action;typeof h=="function"?a[l+1]=h:(a.splice(l,3),l-=3),Lm(a)}}}function Hm(){function e(c){c.canIntercept&&c.info==="react-transition"&&c.intercept({handler:function(){return new Promise(function(u){return s=u})},focusReset:"manual",scroll:"manual"})}function t(){s!==null&&(s(),s=null),l||setTimeout(a,20)}function a(){if(!l&&!navigation.transition){var c=navigation.currentEntry;c&&c.url!=null&&navigation.navigate(c.url,{state:c.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var l=!1,s=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){l=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),s!==null&&(s(),s=null)}}}function yu(e){this._internalRoot=e}Ui.prototype.render=yu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(o(409));var a=t.current,l=Lt();Dm(a,l,e,t,null,null)},Ui.prototype.unmount=yu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Dm(e.current,2,null,e,null,null),gi(),t[Cn]=null}};function Ui(e){this._internalRoot=e}Ui.prototype.unstable_scheduleHydration=function(e){if(e){var t=Zu();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Ia.length&&t!==0&&t<Ia[a].priority;a++);Ia.splice(a,0,e),a===0&&Um(e)}};var qm=r.version;if(qm!=="19.2.3")throw Error(o(527,qm,"19.2.3"));D.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(o(188)):(e=Object.keys(e).join(","),Error(o(268,e)));return e=S(t),e=e!==null?T(e):null,e=e===null?null:e.stateNode,e};var Cp={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:y,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Bi=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Bi.isDisabled&&Bi.supportsFiber)try{yl=Bi.inject(Cp),Dt=Bi}catch{}}return os.createRoot=function(e,t){if(!m(e))throw Error(o(299));var a=!1,l="",s=Kd,c=Zd,u=Fd;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(l=t.identifierPrefix),t.onUncaughtError!==void 0&&(s=t.onUncaughtError),t.onCaughtError!==void 0&&(c=t.onCaughtError),t.onRecoverableError!==void 0&&(u=t.onRecoverableError)),t=Em(e,1,!1,null,null,a,l,null,s,c,u,Hm),e[Cn]=t.current,Pr(e),new yu(t)},os.hydrateRoot=function(e,t,a){if(!m(e))throw Error(o(299));var l=!1,s="",c=Kd,u=Zd,h=Fd,j=null;return a!=null&&(a.unstable_strictMode===!0&&(l=!0),a.identifierPrefix!==void 0&&(s=a.identifierPrefix),a.onUncaughtError!==void 0&&(c=a.onUncaughtError),a.onCaughtError!==void 0&&(u=a.onCaughtError),a.onRecoverableError!==void 0&&(h=a.onRecoverableError),a.formState!==void 0&&(j=a.formState)),t=Em(e,1,!0,t,a??null,l,s,j,c,u,h,Hm),t.context=Am(null),a=t.current,l=Lt(),l=rc(l),s=Ba(l),s.callback=null,La(a,s,l),a=l,t.current.lanes=a,bl(t,a),ca(t),e[Cn]=t.current,Pr(e),new Ui(t)},os.version="19.2.3",os}var $m;function t0(){if($m)return vu.exports;$m=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(r){console.error(r)}}return i(),vu.exports=e0(),vu.exports}var a0=t0();const n0="/api";async function ge(i,r){const d=await fetch(`${n0}${i}`,{...r,headers:{"Content-Type":"application/json",...r?.headers}});if(!d.ok){const o=await d.json().catch(()=>({detail:"Unknown error"}));throw new Error(o.detail||`HTTP ${d.status}`)}if(d.status!==204)return d.json()}async function l0(){return ge("/projects")}async function s0(i,r,d="manual"){return ge("/projects",{method:"POST",body:JSON.stringify({name:i,path:r,spec_method:d})})}async function i0(i){await ge(`/projects/${encodeURIComponent(i)}`,{method:"DELETE"})}async function c0(i,r){return ge(`/projects/${encodeURIComponent(i)}/settings`,{method:"PATCH",body:JSON.stringify(r)})}async function r0(i,r=!1){const d=r?"?full_reset=true":"";return ge(`/projects/${encodeURIComponent(i)}/reset${d}`,{method:"POST"})}async function u0(i){return ge(`/projects/${encodeURIComponent(i)}/features`)}async function o0(i,r){return ge(`/projects/${encodeURIComponent(i)}/features`,{method:"POST",body:JSON.stringify(r)})}async function d0(i,r){await ge(`/projects/${encodeURIComponent(i)}/features/${r}`,{method:"DELETE"})}async function f0(i,r){await ge(`/projects/${encodeURIComponent(i)}/features/${r}/skip`,{method:"PATCH"})}async function m0(i,r,d){return ge(`/projects/${encodeURIComponent(i)}/features/${r}`,{method:"PATCH",body:JSON.stringify(d)})}async function h0(i,r,d){return ge(`/projects/${encodeURIComponent(i)}/features/${r}/resolve-human-input`,{method:"POST",body:JSON.stringify(d)})}async function x0(i){return ge(`/projects/${encodeURIComponent(i)}/features/graph`)}async function g0(i){return ge(`/projects/${encodeURIComponent(i)}/agent/status`)}async function ku(i,r={}){return ge(`/projects/${encodeURIComponent(i)}/agent/start`,{method:"POST",body:JSON.stringify({yolo_mode:r.yoloMode??!1,parallel_mode:r.parallelMode??!1,max_concurrency:r.maxConcurrency,testing_agent_ratio:r.testingAgentRatio})})}async function p0(i){return ge(`/projects/${encodeURIComponent(i)}/agent/stop`,{method:"POST"})}async function y0(i){return ge(`/projects/${encodeURIComponent(i)}/agent/graceful-pause`,{method:"POST"})}async function v0(i){return ge(`/projects/${encodeURIComponent(i)}/agent/graceful-resume`,{method:"POST"})}async function b0(i){return ge(`/spec/status/${encodeURIComponent(i)}`)}async function j0(){return ge("/setup/status")}async function S0(){return ge("/health")}async function N0(i){const r=i?`?path=${encodeURIComponent(i)}`:"";return ge(`/filesystem/list${r}`)}async function C0(i){const r=i.endsWith("/")?i.slice(0,-1):i,d=r.lastIndexOf("/");let o,m;if(d===2&&/^[A-Za-z]:/.test(r))o=r.substring(0,3),m=r.substring(3);else if(d>0)o=r.substring(0,d),m=r.substring(d+1);else if(d===0)o="/",m=r.substring(1);else throw new Error("Invalid path: must be an absolute path");if(!m)throw new Error("Invalid path: directory name is empty");return ge("/filesystem/create-directory",{method:"POST",body:JSON.stringify({parent_path:o,name:m})})}async function w0(i){return ge(`/assistant/conversations/${encodeURIComponent(i)}`)}async function z0(i,r){return ge(`/assistant/conversations/${encodeURIComponent(i)}/${r}`)}async function T0(i,r){await ge(`/assistant/conversations/${encodeURIComponent(i)}/${r}`,{method:"DELETE"})}async function E0(){return ge("/settings/models")}async function A0(){return ge("/settings/providers")}async function D0(){return ge("/settings")}async function _0(i){return ge("/settings",{method:"PATCH",body:JSON.stringify(i)})}async function Bh(i,r){return ge(`/projects/${encodeURIComponent(i)}/devserver/start`,{method:"POST",body:JSON.stringify({command:r})})}async function M0(i){return ge(`/projects/${encodeURIComponent(i)}/devserver/stop`,{method:"POST"})}async function k0(i){return ge(`/projects/${encodeURIComponent(i)}/devserver/config`)}async function O0(i,r){return ge(`/projects/${encodeURIComponent(i)}/devserver/config`,{method:"PATCH",body:JSON.stringify({custom_command:r})})}async function R0(i){return ge(`/terminal/${encodeURIComponent(i)}`)}async function U0(i,r){return ge(`/terminal/${encodeURIComponent(i)}`,{method:"POST",body:JSON.stringify({name:null})})}async function B0(i,r,d){return ge(`/terminal/${encodeURIComponent(i)}/${r}`,{method:"PATCH",body:JSON.stringify({name:d})})}async function L0(i,r){await ge(`/terminal/${encodeURIComponent(i)}/${r}`,{method:"DELETE"})}async function H0(i){return ge(`/projects/${encodeURIComponent(i)}/schedules`)}async function q0(i,r){return ge(`/projects/${encodeURIComponent(i)}/schedules`,{method:"POST",body:JSON.stringify(r)})}async function G0(i,r,d){return ge(`/projects/${encodeURIComponent(i)}/schedules/${r}`,{method:"PATCH",body:JSON.stringify(d)})}async function Q0(i,r){await ge(`/projects/${encodeURIComponent(i)}/schedules/${r}`,{method:"DELETE"})}async function Y0(i){return ge(`/projects/${encodeURIComponent(i)}/schedules/next`)}function X0(){return vt({queryKey:["projects"],queryFn:l0})}function V0(){const i=Ve();return Je({mutationFn:({name:r,path:d,specMethod:o})=>s0(r,d,o),onSuccess:()=>{i.invalidateQueries({queryKey:["projects"]})}})}function K0(){const i=Ve();return Je({mutationFn:r=>i0(r),onSuccess:()=>{i.invalidateQueries({queryKey:["projects"]})}})}function Z0(i){const r=Ve();return Je({mutationFn:d=>r0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["projects"]}),r.invalidateQueries({queryKey:["project",i]}),r.invalidateQueries({queryKey:["features",i]}),r.invalidateQueries({queryKey:["agent-status",i]})}})}function F0(i){const r=Ve();return Je({mutationFn:d=>c0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["projects"]}),r.invalidateQueries({queryKey:["project",i]})}})}function Lh(i){return vt({queryKey:["features",i],queryFn:()=>u0(i),enabled:!!i,refetchInterval:5e3})}function $0(i){const r=Ve();return Je({mutationFn:d=>o0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function J0(i){const r=Ve();return Je({mutationFn:d=>d0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function W0(i){const r=Ve();return Je({mutationFn:d=>f0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function I0(i){const r=Ve();return Je({mutationFn:({featureId:d,update:o})=>m0(i,d,o),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function P0(i){const r=Ve();return Je({mutationFn:({featureId:d,fields:o})=>h0(i,d,{fields:o}),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function ev(i){return vt({queryKey:["agent-status",i],queryFn:()=>g0(i),enabled:!!i,refetchInterval:3e3})}function tv(i){const r=Ve();return Je({mutationFn:(d={})=>ku(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]})}})}function av(i){const r=Ve();return Je({mutationFn:()=>p0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function nv(i){const r=Ve();return Je({mutationFn:()=>y0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]})}})}function lv(i){const r=Ve();return Je({mutationFn:()=>v0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]})}})}function sv(){return vt({queryKey:["setup-status"],queryFn:j0,staleTime:6e4})}function iv(){return vt({queryKey:["health"],queryFn:S0,retry:!1})}const Hh={models:[{id:"claude-opus-4-6",name:"Claude Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet"}],default:"claude-opus-4-6"},qh={yolo_mode:!1,model:"claude-opus-4-6",glm_mode:!1,ollama_mode:!1,testing_agent_ratio:1,playwright_headless:!0,batch_size:3,testing_batch_size:3,api_provider:"claude",api_base_url:null,api_has_auth_token:!1,api_model:null},cv={providers:[{id:"claude",name:"Claude (Anthropic)",base_url:null,models:Hh.models,default_model:"claude-opus-4-6",requires_auth:!1}],current:"claude"};function rv(){return vt({queryKey:["available-providers"],queryFn:A0,staleTime:3e5,retry:1,placeholderData:cv})}function uv(){return vt({queryKey:["available-models"],queryFn:E0,staleTime:3e5,retry:1,placeholderData:Hh})}function Ou(){return vt({queryKey:["settings"],queryFn:D0,staleTime:6e4,retry:1,placeholderData:qh})}function ov(){const i=Ve();return Je({mutationFn:r=>_0(r),onMutate:async r=>{await i.cancelQueries({queryKey:["settings"]});const d=i.getQueryData(["settings"]);return i.setQueryData(["settings"],o=>({...qh,...o,...r})),{previous:d}},onError:(r,d,o)=>{o?.previous&&i.setQueryData(["settings"],o.previous)},onSettled:()=>{i.invalidateQueries({queryKey:["settings"]}),i.invalidateQueries({queryKey:["available-models"]}),i.invalidateQueries({queryKey:["available-providers"]})}})}const dv={detected_type:null,detected_command:null,custom_command:null,effective_command:null};function fv(i){return vt({queryKey:["dev-server-config",i],queryFn:()=>k0(i),enabled:!!i,staleTime:3e4,placeholderData:dv})}function mv(i){const r=Ve();return Je({mutationFn:d=>O0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-config",i]})}})}const Jm=100,hv=20,Wm=500;function xv(i){const[r,d]=f.useState({progress:{passing:0,in_progress:0,needs_human_input:0,total:0,percentage:0},agentStatus:"loading",logs:[],isConnected:!1,devServerStatus:"stopped",devServerUrl:null,devLogs:[],activeAgents:[],recentActivity:[],agentLogs:new Map,celebrationQueue:[],celebration:null,orchestratorStatus:null}),o=f.useRef(null),m=f.useRef(null),x=f.useRef(0),p=f.useCallback(()=>{if(!i)return;const w=window.location.protocol==="https:"?"wss:":"ws:",O=window.location.host,B=`${w}//${O}/ws/projects/${encodeURIComponent(i)}`;try{const z=new WebSocket(B);o.current=z,z.onopen=()=>{d(_=>({..._,isConnected:!0})),x.current=0},z.onmessage=_=>{try{const b=JSON.parse(_.data);switch(b.type){case"progress":d(N=>({...N,progress:{passing:b.passing,in_progress:b.in_progress,needs_human_input:b.needs_human_input??0,total:b.total,percentage:b.percentage}}));break;case"agent_status":d(N=>({...N,agentStatus:b.status,...(b.status==="stopped"||b.status==="crashed")&&{activeAgents:[],recentActivity:[],orchestratorStatus:null}}));break;case"log":d(N=>{const G=[...N.logs.slice(-Jm+1),{line:b.line,timestamp:b.timestamp,featureId:b.featureId,agentIndex:b.agentIndex}];let J=N.agentLogs;if(b.agentIndex!==void 0){J=new Map(N.agentLogs);const P=J.get(b.agentIndex)||[],X={line:b.line,timestamp:b.timestamp,type:"output"};J.set(b.agentIndex,[...P.slice(-Wm+1),X])}return{...N,logs:G,agentLogs:J}});break;case"feature_update":break;case"agent_update":d(N=>{const G=new Map(N.agentLogs),J=G.get(b.agentIndex)||[],P={line:`[STATE] ${b.state}${b.thought?`: ${b.thought}`:""}`,timestamp:b.timestamp,type:b.state==="error"?"error":"state_change"};G.set(b.agentIndex,[...J.slice(-Wm+1),P]);const X=G.get(b.agentIndex)||[],ae=N.activeAgents.findIndex(W=>W.agentIndex===b.agentIndex);let q;b.state==="success"||b.state==="error"?b.agentIndex===-1?q=N.activeAgents.filter(W=>W.featureId!==b.featureId):q=N.activeAgents.filter(W=>W.agentIndex!==b.agentIndex):ae>=0?(q=[...N.activeAgents],q[ae]={agentIndex:b.agentIndex,agentName:b.agentName,agentType:b.agentType||"coding",featureId:b.featureId,featureIds:b.featureIds||[b.featureId],featureName:b.featureName,state:b.state,thought:b.thought,timestamp:b.timestamp,logs:X}):q=[...N.activeAgents,{agentIndex:b.agentIndex,agentName:b.agentName,agentType:b.agentType||"coding",featureId:b.featureId,featureIds:b.featureIds||[b.featureId],featureName:b.featureName,state:b.state,thought:b.thought,timestamp:b.timestamp,logs:X}];let le=N.recentActivity;b.thought&&(le=[{agentName:b.agentName,thought:b.thought,timestamp:b.timestamp,featureId:b.featureId},...N.recentActivity.slice(0,hv-1)]);let I=N.celebrationQueue,R=N.celebration;if(b.state==="success"){const W={agentName:b.agentName,featureName:b.featureName,featureId:b.featureId};N.celebration?I=[...N.celebrationQueue,W]:R=W}return{...N,activeAgents:q,agentLogs:G,recentActivity:le,celebrationQueue:I,celebration:R}});break;case"orchestrator_update":d(N=>{const G={eventType:b.eventType,message:b.message,timestamp:b.timestamp,featureId:b.featureId,featureName:b.featureName};return{...N,orchestratorStatus:{state:b.state,message:b.message,codingAgents:b.codingAgents??N.orchestratorStatus?.codingAgents??0,testingAgents:b.testingAgents??N.orchestratorStatus?.testingAgents??0,maxConcurrency:b.maxConcurrency??N.orchestratorStatus?.maxConcurrency??3,readyCount:b.readyCount??N.orchestratorStatus?.readyCount??0,blockedCount:b.blockedCount??N.orchestratorStatus?.blockedCount??0,timestamp:b.timestamp,recentEvents:[G,...(N.orchestratorStatus?.recentEvents??[]).slice(0,4)]}}});break;case"dev_log":d(N=>({...N,devLogs:[...N.devLogs.slice(-Jm+1),{line:b.line,timestamp:b.timestamp}]}));break;case"dev_server_status":d(N=>({...N,devServerStatus:b.status,devServerUrl:b.url}));break;case"pong":break}}catch{console.error("Failed to parse WebSocket message")}},z.onclose=_=>{if(d(G=>({...G,isConnected:!1})),o.current=null,_.code>=4e3&&_.code<=4999)return;const N=Math.min(1e3*Math.pow(2,x.current),3e4);x.current++,m.current=window.setTimeout(()=>{p()},N)},z.onerror=()=>{z.close()}}catch{}},[i]),v=f.useCallback(()=>{o.current?.readyState===WebSocket.OPEN&&o.current.send(JSON.stringify({type:"ping"}))},[]),g=f.useCallback(()=>{d(w=>{const[O,...B]=w.celebrationQueue;return{...w,celebration:O||null,celebrationQueue:B}})},[]);f.useEffect(()=>{if(d({progress:{passing:0,in_progress:0,needs_human_input:0,total:0,percentage:0},agentStatus:"loading",logs:[],isConnected:!1,devServerStatus:"stopped",devServerUrl:null,devLogs:[],activeAgents:[],recentActivity:[],agentLogs:new Map,celebrationQueue:[],celebration:null,orchestratorStatus:null}),!i){o.current&&(o.current.close(),o.current=null);return}p();const w=setInterval(v,3e4);return()=>{clearInterval(w),m.current&&clearTimeout(m.current),o.current&&(o.current.close(),o.current=null)}},[i,p,v]),f.useEffect(()=>{const O=setInterval(()=>{d(B=>{const z=Date.now(),_=B.activeAgents.filter(b=>z-new Date(b.timestamp).getTime()<18e5);return _.length!==B.activeAgents.length?{...B,activeAgents:_}:B})},6e4);return()=>clearInterval(O)},[]);const S=f.useCallback(()=>{d(w=>({...w,logs:[]}))},[]),T=f.useCallback(()=>{d(w=>({...w,devLogs:[]}))},[]),E=f.useCallback(w=>r.agentLogs.get(w)||[],[r.agentLogs]),L=f.useCallback(w=>{d(O=>{const B=new Map(O.agentLogs);return B.delete(w),{...O,agentLogs:B}})},[]);return{...r,clearLogs:S,clearDevLogs:T,clearCelebration:g,getAgentLogs:E,clearAgentLogs:L}}const gv={started:[523.25,659.25],completed:[523.25,659.25,783.99]};function Im(i){try{const r=new(window.AudioContext||window.webkitAudioContext),d=gv[i],o=i==="completed"?.15:.12,m=d.length*o;d.forEach((x,p)=>{const v=r.createOscillator(),g=r.createGain();v.connect(g),g.connect(r.destination),v.type="sine",v.frequency.setValueAtTime(x,r.currentTime);const S=r.currentTime+p*o;g.gain.setValueAtTime(0,S),g.gain.linearRampToValueAtTime(.3,S+.02),g.gain.exponentialRampToValueAtTime(.01,S+o),v.start(S),v.stop(S+o)}),setTimeout(()=>{r.close()},m*1e3+100)}catch{}}function pv(i){return{pendingIds:new Set(i?.pending.map(r=>r.id)??[]),inProgressIds:new Set(i?.in_progress.map(r=>r.id)??[]),doneIds:new Set(i?.done.map(r=>r.id)??[])}}function yv(i){const r=f.useRef(null),d=f.useRef(!1);f.useEffect(()=>{if(!i)return;const o=pv(i);if(!d.current){r.current=o,d.current=!0;return}const m=r.current;if(!m){r.current=o;return}for(const x of o.inProgressIds)if(m.pendingIds.has(x)&&!m.inProgressIds.has(x)){Im("started");break}for(const x of o.doneIds)if(!m.doneIds.has(x)&&(m.inProgressIds.has(x)||m.pendingIds.has(x))){Im("completed");break}r.current=o},[i])}function vv(){try{const i=new(window.AudioContext||window.webkitAudioContext),r=[{freq:523.25,start:0},{freq:659.25,start:.15},{freq:783.99,start:.3},{freq:1046.5,start:.45}],d=.25;r.forEach(({freq:p,start:v})=>{const g=i.createOscillator(),S=i.createGain();g.connect(S),S.connect(i.destination),g.type="sine",g.frequency.setValueAtTime(p,i.currentTime+v);const T=i.currentTime+v;S.gain.setValueAtTime(0,T),S.gain.linearRampToValueAtTime(.4,T+.03),S.gain.setValueAtTime(.4,T+d*.6),S.gain.exponentialRampToValueAtTime(.01,T+d),g.start(T),g.stop(T+d)});const o=[523.25,659.25,783.99,1046.5],m=.65,x=.5;o.forEach(p=>{const v=i.createOscillator(),g=i.createGain();v.connect(g),g.connect(i.destination),v.type="sine",v.frequency.setValueAtTime(p,i.currentTime+m);const S=i.currentTime+m;g.gain.setValueAtTime(0,S),g.gain.linearRampToValueAtTime(.2,S+.05),g.gain.setValueAtTime(.2,S+x*.5),g.gain.exponentialRampToValueAtTime(.01,S+x),v.start(S),v.stop(S+x)}),setTimeout(()=>{i.close()},1500)}catch{}}function bv(){const r=Date.now()+2e3;Li({particleCount:100,spread:70,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Li({particleCount:100,spread:70,origin:{x:1,y:.6},angle:120,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]});const d=setInterval(()=>{if(Date.now()>r){clearInterval(d);return}Li({particleCount:30,spread:60,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Li({particleCount:30,spread:60,origin:{x:1,y:.6},angle:120,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]})},250)}function jv(i){return i?i.pending.length===0&&i.in_progress.length===0&&(i.needs_human_input?.length||0)===0&&i.done.length>0:!1}function Sv(i,r){const d=f.useRef(new Set),o=f.useRef(null);f.useEffect(()=>{if(!i||!r)return;const m=jv(i);if(o.current!==r){o.current=r,m&&d.current.add(r);return}m&&!d.current.has(r)&&(d.current.add(r),bv(),vv())},[i,r])}const Xi=[{id:"twitter",name:"Twitter",description:"Clean and modern blue design",previewColors:{primary:"#4a9eff",background:"#ffffff",accent:"#e8f4ff"}},{id:"claude",name:"Claude",description:"Warm beige tones with orange accents",previewColors:{primary:"#c75b2a",background:"#faf6f0",accent:"#f5ede4"}},{id:"neo-brutalism",name:"Neo Brutalism",description:"Bold colors with hard shadows",previewColors:{primary:"#ff4d00",background:"#ffffff",accent:"#ffeb00"}},{id:"retro-arcade",name:"Retro Arcade",description:"Vibrant pink and teal pixel vibes",previewColors:{primary:"#e8457c",background:"#f0e6d3",accent:"#4eb8a5"}},{id:"aurora",name:"Aurora",description:"Deep violet and teal, like northern lights",previewColors:{primary:"#8b5cf6",background:"#faf8ff",accent:"#2dd4bf"}},{id:"business",name:"Business",description:"Deep navy (#000e4e) and gray monochrome",previewColors:{primary:"#000e4e",background:"#eaecef",accent:"#6b7280"}}],Pm="autoforge-theme",eh="autoforge-dark-mode";function Nv(i){switch(i){case"twitter":return"";case"claude":return"theme-claude";case"neo-brutalism":return"theme-neo-brutalism";case"retro-arcade":return"theme-retro-arcade";case"aurora":return"theme-aurora";case"business":return"theme-business";default:return""}}function Gh(){const[i,r]=f.useState(()=>{try{const v=localStorage.getItem(Pm);if(v==="twitter"||v==="claude"||v==="neo-brutalism"||v==="retro-arcade"||v==="aurora"||v==="business")return v}catch{}return"twitter"}),[d,o]=f.useState(()=>{try{return localStorage.getItem(eh)==="true"}catch{return!1}});f.useEffect(()=>{const v=document.documentElement;v.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business");const g=Nv(i);g&&v.classList.add(g),d?v.classList.add("dark"):v.classList.remove("dark");try{localStorage.setItem(Pm,i),localStorage.setItem(eh,String(d))}catch{}},[i,d]);const m=f.useCallback(v=>{r(v)},[]),x=f.useCallback(v=>{o(v)},[]),p=f.useCallback(()=>{o(v=>!v)},[]);return{theme:i,setTheme:m,darkMode:d,setDarkMode:x,toggleDarkMode:p,themes:Xi,currentTheme:Xi.find(v=>v.id===i)??Xi[0]}}function Sn(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function Cv({projectName:i,onError:r}){const[d,o]=f.useState([]),[m,x]=f.useState(!1),[p,v]=f.useState(!1),[g,S]=f.useState("disconnected"),[T,E]=f.useState(null),[L,w]=f.useState(null),O=f.useRef(null),B=f.useRef(null),z=f.useRef(0),_=3,b=f.useRef(null),N=f.useRef(null),G=f.useRef(!1);f.useEffect(()=>{G.current=p},[p]),f.useEffect(()=>()=>{b.current&&clearInterval(b.current),N.current&&clearTimeout(N.current),O.current&&O.current.close()},[]),f.useEffect(()=>{if(p)return;const le=setTimeout(()=>{const I=setInterval(async()=>{if(G.current){clearInterval(I);return}try{const R=await b0(i);R.exists&&R.status==="complete"&&(v(!0),x(!1),o(W=>{const Z=W[W.length-1];return Z?.role==="assistant"&&Z.isStreaming?[...W.slice(0,-1),{...Z,isStreaming:!1}]:W}),o(W=>[...W,{id:Sn(),role:"system",content:`Spec creation complete! Files written: ${R.files_written.join(", ")}${R.feature_count?` (${R.feature_count} features)`:""}`,timestamp:new Date}]),clearInterval(I))}catch{}},3e3);return()=>clearInterval(I)},3e3);return()=>clearTimeout(le)},[i,p]);const J=f.useCallback(()=>{if(O.current?.readyState===WebSocket.OPEN)return;S("connecting");const le=window.location.protocol==="https:"?"wss:":"ws:",I=window.location.host,R=`${le}//${I}/api/spec/ws/${encodeURIComponent(i)}`,W=new WebSocket(R);O.current=W,W.onopen=()=>{S("connected"),z.current=0,b.current=window.setInterval(()=>{W.readyState===WebSocket.OPEN&&W.send(JSON.stringify({type:"ping"}))},3e4)},W.onclose=Z=>{if(S("disconnected"),b.current&&(clearInterval(b.current),b.current=null),!(Z.code>=4e3&&Z.code<=4999)&&z.current<_&&!G.current){z.current++;const y=Math.min(1e3*Math.pow(2,z.current),1e4);N.current=window.setTimeout(J,y)}},W.onerror=()=>{S("error"),r?.("WebSocket connection error")},W.onmessage=Z=>{try{const $=JSON.parse(Z.data);switch($.type){case"text":{o(y=>{const D=y[y.length-1];return D?.role==="assistant"&&D.isStreaming?[...y.slice(0,-1),{...D,content:D.content+$.content}]:(B.current=Sn(),[...y,{id:B.current,role:"assistant",content:$.content,timestamp:new Date,isStreaming:!0}])});break}case"question":{E($.questions),w($.tool_id||null),x(!1),o(y=>{const D=y[y.length-1];return D?.role==="assistant"&&D.isStreaming?[...y.slice(0,-1),{...D,isStreaming:!1,questions:$.questions}]:y});break}case"spec_complete":{v(!0),x(!1),o(y=>{const D=y[y.length-1];return D?.role==="assistant"&&D.isStreaming?[...y.slice(0,-1),{...D,isStreaming:!1}]:y}),o(y=>[...y,{id:Sn(),role:"system",content:`Specification file created: ${$.path}`,timestamp:new Date}]);break}case"file_written":{o(y=>[...y,{id:Sn(),role:"system",content:`File created: ${$.path}`,timestamp:new Date}]);break}case"complete":{v(!0),x(!1),o(y=>{const D=y[y.length-1];return D?.role==="assistant"&&D.isStreaming?[...y.slice(0,-1),{...D,isStreaming:!1}]:y});break}case"error":{x(!1),r?.($.content),o(y=>[...y,{id:Sn(),role:"system",content:`Error: ${$.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{x(!1),o(y=>{const D=y[y.length-1];return D?.role==="assistant"&&D.isStreaming?[...y.slice(0,-1),{...D,isStreaming:!1}]:y});break}}}catch($){console.error("Failed to parse WebSocket message:",$)}}},[i,r]),P=f.useCallback(()=>{J();const le=()=>{O.current?.readyState===WebSocket.OPEN?(x(!0),O.current.send(JSON.stringify({type:"start"}))):O.current?.readyState===WebSocket.CONNECTING&&setTimeout(le,100)};setTimeout(le,100)},[J]),X=f.useCallback((le,I)=>{if(!O.current||O.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}o(W=>[...W,{id:Sn(),role:"user",content:le,attachments:I,timestamp:new Date}]),E(null),w(null),x(!0);const R={type:"message",content:le};I&&I.length>0&&(R.attachments=I.map(W=>({filename:W.filename,mimeType:W.mimeType,base64Data:W.base64Data}))),O.current.send(JSON.stringify(R))},[r]),ae=f.useCallback(le=>{if(!O.current||O.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}const I=Object.values(le).map(R=>Array.isArray(R)?R.join(", "):R).join("; ");o(R=>[...R,{id:Sn(),role:"user",content:I,timestamp:new Date}]),E(null),w(null),x(!0),O.current.send(JSON.stringify({type:"answer",answers:le,tool_id:L}))},[L,r]),q=f.useCallback(()=>{z.current=_,b.current&&(clearInterval(b.current),b.current=null),O.current&&(O.current.close(),O.current=null),S("disconnected")},[]);return{messages:d,isLoading:m,isComplete:p,connectionStatus:g,currentQuestions:T,currentToolId:L,start:P,sendMessage:X,sendAnswer:ae,disconnect:q}}const ec=["image/jpeg","image/png"],wv=["text/plain","text/markdown","text/csv","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/pdf","application/vnd.openxmlformats-officedocument.presentationml.presentation"],$i=[...ec,...wv];function Ru(i){return ec.includes(i.mimeType)}function Ji(i){const r=i.split(".").pop()?.toLowerCase();return{md:"text/markdown",txt:"text/plain",csv:"text/csv",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",pdf:"application/pdf",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png"}[r||""]||"application/octet-stream"}function ke(...i){return ly(sy(i))}function Me({className:i,...r}){return n.jsx("div",{"data-slot":"card",className:ke("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",i),...r})}function tc({className:i,...r}){return n.jsx("div",{"data-slot":"card-header",className:ke("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",i),...r})}function Uu({className:i,...r}){return n.jsx("div",{"data-slot":"card-title",className:ke("leading-none font-semibold",i),...r})}function zv({className:i,...r}){return n.jsx("div",{"data-slot":"card-description",className:ke("text-muted-foreground text-sm",i),...r})}function He({className:i,...r}){return n.jsx("div",{"data-slot":"card-content",className:ke("px-6",i),...r})}const Tv=[qy],Ev={a:({children:i,href:r,...d})=>n.jsx("a",{href:r,target:"_blank",rel:"noopener noreferrer",...d,children:i})},Bu=f.memo(function({message:r}){const{role:d,content:o,attachments:m,timestamp:x,isStreaming:p}=r,v=x.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),S={user:{icon:cy,bgColor:"bg-primary",textColor:"text-primary-foreground",align:"justify-end",bubbleAlign:"items-end",iconBg:"bg-primary",iconColor:"text-primary-foreground"},assistant:{icon:Au,bgColor:"bg-muted",textColor:"text-foreground",align:"justify-start",bubbleAlign:"items-start",iconBg:"bg-secondary",iconColor:"text-secondary-foreground"},system:{icon:iy,bgColor:"bg-green-100 dark:bg-green-900/30",textColor:"text-green-900 dark:text-green-100",align:"justify-center",bubbleAlign:"items-center",iconBg:"bg-green-500",iconColor:"text-white"}}[d],T=S.icon;return d==="system"?n.jsx("div",{className:`flex ${S.align} px-4 py-2`,children:n.jsx("div",{className:`${S.bgColor} border border-border rounded-lg px-4 py-2 text-sm font-mono ${S.textColor}`,children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(T,{size:14}),o]})})}):n.jsx("div",{className:`flex ${S.align} px-4 py-2`,children:n.jsxs("div",{className:`flex flex-col ${S.bubbleAlign} max-w-[80%] gap-1`,children:[n.jsxs("div",{className:"flex items-start gap-2",children:[d==="assistant"&&n.jsx("div",{className:`${S.iconBg} p-1.5 rounded flex-shrink-0`,children:n.jsx(T,{size:16,className:S.iconColor})}),n.jsxs(Me,{className:`${S.bgColor} px-4 py-3 border ${p?"animate-pulse":""}`,children:[o&&n.jsx("div",{className:`text-sm leading-relaxed ${S.textColor} chat-prose${d==="user"?" chat-prose-user":""}`,children:n.jsx(Hy,{remarkPlugins:Tv,components:Ev,children:o})}),m&&m.length>0&&n.jsx("div",{className:`flex flex-wrap gap-2 ${o?"mt-3":""}`,children:m.map(E=>n.jsx("div",{className:"border border-border rounded p-1 bg-card",children:Ru(E)?n.jsxs(n.Fragment,{children:[n.jsx("img",{src:E.previewUrl,alt:E.filename,className:"max-w-48 max-h-48 object-contain cursor-pointer hover:opacity-90 transition-opacity rounded",onClick:()=>window.open(E.previewUrl,"_blank"),title:`${E.filename} (click to enlarge)`}),n.jsx("span",{className:"text-xs text-muted-foreground block mt-1 text-center",children:E.filename})]}):n.jsxs("div",{className:"flex items-center gap-2 px-2 py-1",children:[n.jsx(Vi,{size:16,className:"text-muted-foreground flex-shrink-0"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:E.filename}),n.jsxs("span",{className:"text-xs text-muted-foreground/60",children:["(",(E.size/1024).toFixed(0)," KB)"]})]})},E.id))}),p&&n.jsx("span",{className:"inline-block w-2 h-4 bg-primary ml-1 animate-pulse rounded"})]}),d==="user"&&n.jsx("div",{className:`${S.iconBg} p-1.5 rounded flex-shrink-0`,children:n.jsx(T,{size:16,className:S.iconColor})})]}),n.jsx("span",{className:"text-xs text-muted-foreground font-mono px-2",children:v})]})})}),Av=Du("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function F({className:i,variant:r="default",size:d="default",asChild:o=!1,...m}){const x=o?Sh:"button";return n.jsx(x,{"data-slot":"button","data-variant":r,"data-size":d,className:ke(Av({variant:r,size:d,className:i})),...m})}function rt({className:i,type:r,...d}){return n.jsx("input",{type:r,"data-slot":"input",className:ke("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",i),...d})}const Dv=Du("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function _e({className:i,variant:r="default",asChild:d=!1,...o}){const m=d?Sh:"span";return n.jsx(m,{"data-slot":"badge","data-variant":r,className:ke(Dv({variant:r}),i),...o})}function Qh({questions:i,onSubmit:r,disabled:d=!1}){const[o,m]=f.useState({}),[x,p]=f.useState({}),[v,g]=f.useState({}),S=(B,z,_)=>{const b=String(B);if(z==="Other"){g(N=>({...N,[b]:!0}));return}g(N=>({...N,[b]:!1})),m(N=>{if(_){const G=N[b]||[];return G.includes(z)?{...N,[b]:G.filter(J=>J!==z)}:{...N,[b]:[...G,z]}}else return{...N,[b]:z}})},T=(B,z)=>{const _=String(B);p(b=>({...b,[_]:z})),m(b=>({...b,[_]:z}))},E=()=>{const B={};i.forEach((z,_)=>{const b=String(_);v[b]&&x[b]?B[b]=x[b]:o[b]&&(B[b]=o[b])}),r(B)},L=(B,z,_)=>{const b=String(B),N=o[b];return _?Array.isArray(N)&&N.includes(z):N===z},w=B=>{const z=String(B);return!!(o[z]||v[z]&&x[z])},O=i.every((B,z)=>w(z));return n.jsxs("div",{className:"space-y-6 p-4",children:[i.map((B,z)=>n.jsx(Me,{children:n.jsxs(He,{className:"p-4",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[n.jsx(_e,{children:B.header}),n.jsx("span",{className:"font-bold text-foreground",children:B.question}),B.multiSelect&&n.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:"(select multiple)"})]}),n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[B.options.map((_,b)=>{const N=L(z,_.label,B.multiSelect);return n.jsx("button",{onClick:()=>S(z,_.label,B.multiSelect),disabled:d,className:`
|
|
10
|
-
text-left p-4 rounded-lg border-2 transition-all duration-150
|
|
11
|
-
${N?"bg-primary/10 border-primary":"bg-card border-border hover:border-primary/50 hover:bg-muted"}
|
|
12
|
-
disabled:opacity-50 disabled:cursor-not-allowed
|
|
13
|
-
`,children:n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx("div",{className:`
|
|
14
|
-
w-5 h-5 flex-shrink-0 mt-0.5 border-2 flex items-center justify-center
|
|
15
|
-
${B.multiSelect?"rounded":"rounded-full"}
|
|
16
|
-
${N?"bg-primary border-primary text-primary-foreground":"border-border bg-background"}
|
|
17
|
-
`,children:N&&n.jsx(ra,{size:12,strokeWidth:3})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("div",{className:"font-bold text-foreground",children:_.label}),n.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:_.description})]})]})},b)}),n.jsx("button",{onClick:()=>S(z,"Other",B.multiSelect),disabled:d,className:`
|
|
18
|
-
text-left p-4 rounded-lg border-2 transition-all duration-150
|
|
19
|
-
${v[String(z)]?"bg-primary/10 border-primary":"bg-card border-border hover:border-primary/50 hover:bg-muted"}
|
|
20
|
-
disabled:opacity-50 disabled:cursor-not-allowed
|
|
21
|
-
`,children:n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx("div",{className:`
|
|
22
|
-
w-5 h-5 flex-shrink-0 mt-0.5 border-2 flex items-center justify-center
|
|
23
|
-
${B.multiSelect?"rounded":"rounded-full"}
|
|
24
|
-
${v[String(z)]?"bg-primary border-primary text-primary-foreground":"border-border bg-background"}
|
|
25
|
-
`,children:v[String(z)]&&n.jsx(ra,{size:12,strokeWidth:3})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("div",{className:"font-bold text-foreground",children:"Other"}),n.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:"Provide a custom answer"})]})]})})]}),v[String(z)]&&n.jsx("div",{className:"mt-4",children:n.jsx(rt,{type:"text",value:x[String(z)]||"",onChange:_=>T(z,_.target.value),placeholder:"Type your answer...",autoFocus:!0,disabled:d})})]})},z)),n.jsx("div",{className:"flex justify-end",children:n.jsx(F,{onClick:E,disabled:d||!O,children:"Continue"})})]})}function Yh(){return n.jsxs("div",{className:"flex items-center gap-2 p-4",children:[n.jsxs("div",{className:"flex items-center gap-1",children:[n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),n.jsx("span",{className:"text-sm font-mono text-muted-foreground",children:"Claude is thinking..."})]})}function ps(i,r=!0){return!(i.key!=="Enter"||r&&i.shiftKey||i.nativeEvent.isComposing)}function ys({className:i,...r}){return n.jsx("textarea",{"data-slot":"textarea",className:ke("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",i),...r})}const _v=Du("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"}},defaultVariants:{variant:"default"}});function ht({className:i,variant:r,...d}){return n.jsx("div",{"data-slot":"alert",role:"alert",className:ke(_v({variant:r}),i),...d})}function Mv({className:i,...r}){return n.jsx("div",{"data-slot":"alert-title",className:ke("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",i),...r})}function xt({className:i,...r}){return n.jsx("div",{"data-slot":"alert-description",className:ke("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",i),...r})}const kv=5*1024*1024,Ov=20*1024*1024,Rv=["md","txt","csv","docx","xlsx","pdf","pptx","jpg","jpeg","png"],Uv=`Let's call it Simple Todo. This is a really simple web app that I can use to track my to-do items using a Kanban board. I should be able to add to-dos and then drag and drop them through the Kanban board. The different columns in the Kanban board are:
|
|
26
|
-
|
|
27
|
-
- To Do
|
|
28
|
-
- In Progress
|
|
29
|
-
- Done
|
|
30
|
-
|
|
31
|
-
The app should use a neobrutalism design.
|
|
32
|
-
|
|
33
|
-
There is no need for user authentication either. All the to-dos will be stored in local storage, so each user has access to all of their to-dos when they open their browser. So do not worry about implementing a backend with user authentication or a database. Simply store everything in local storage. As for the design, please try to avoid AI slop, so use your front-end design skills to design something beautiful and practical. As for the content of the to-dos, we should store:
|
|
34
|
-
|
|
35
|
-
- The name or the title at the very least
|
|
36
|
-
- Optionally, we can also set tags, due dates, and priorities which should be represented as beautiful little badges on the to-do card
|
|
37
|
-
|
|
38
|
-
Users should have the ability to easily clear out all the completed To-Dos. They should also be able to filter and search for To-Dos as well.
|
|
39
|
-
|
|
40
|
-
You choose the rest. Keep it simple. Should be 25 features.`;function Xh({projectName:i,onComplete:r,onCancel:d,onExitToProject:o,initializerStatus:m="idle",initializerError:x=null,onRetryInitializer:p}){const[v,g]=f.useState(""),[S,T]=f.useState(null),[E,L]=f.useState(!1),[w,O]=f.useState([]),B=f.useRef(null),z=f.useRef(null),_=f.useRef(null),{messages:b,isLoading:N,isComplete:G,connectionStatus:J,currentQuestions:P,start:X,sendMessage:ae,sendAnswer:q,disconnect:le}=Cv({projectName:i,onComplete:r,onError:te=>T(te)});f.useEffect(()=>(X(),()=>{le()}),[]),f.useEffect(()=>{B.current?.scrollIntoView({behavior:"smooth"})},[b,P,N]),f.useEffect(()=>{!N&&!P&&z.current&&z.current.focus()},[N,P]);const I=()=>{const te=v.trim();if(!(!te&&w.length===0||N)){if(/^\s*\/exit\s*$/i.test(te)){g(""),o();return}ae(te,w.length>0?w:void 0),g(""),O([]),z.current&&(z.current.style.height="auto")}},R=te=>{ps(te)&&(te.preventDefault(),I())},W=te=>{q(te)},Z=f.useCallback(te=>{te&&Array.from(te).forEach(oe=>{let ie=oe.type;if((!ie||!$i.includes(ie))&&(ie=Ji(oe.name)),!$i.includes(ie)){const Xe=oe.name.split(".").pop()?.toLowerCase();if(!Xe||!Rv.includes(Xe)){T(`Unsupported file type: ${oe.name}. Supported: images (JPEG, PNG) and documents (MD, TXT, CSV, DOCX, XLSX, PDF, PPTX).`);return}ie=Ji(oe.name)}const he=ec.includes(ie),V=he?kv:Ov,fe=he?"5 MB":"20 MB";if(oe.size>V){T(`File too large: ${oe.name}. Maximum size is ${fe}.`);return}const me=new FileReader;me.onload=Xe=>{const bt=Xe.target?.result,pt=bt.split(",")[1],ne={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:oe.name,mimeType:ie,base64Data:pt,previewUrl:he?bt:"",size:oe.size};O(ue=>[...ue,ne])},me.readAsDataURL(oe)})},[]),$=f.useCallback(te=>{O(oe=>oe.filter(ie=>ie.id!==te))},[]),y=f.useCallback(te=>{te.preventDefault(),Z(te.dataTransfer.files)},[Z]),D=f.useCallback(te=>{te.preventDefault()},[]),ee=()=>{switch(J){case"connected":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[n.jsx(hl,{size:12}),"Connected"]});case"connecting":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[n.jsx(hl,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[n.jsx(ml,{size:12}),"Error"]});default:return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n.jsx(ml,{size:12}),"Disconnected"]})}};return n.jsxs("div",{className:"flex flex-col h-screen bg-background",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Create Spec: ",i]}),n.jsx(ee,{})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[G&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx($t,{size:16}),"Complete"]}),n.jsxs(F,{onClick:()=>{g(Uv),z.current&&(z.current.style.height="auto",z.current.style.height=`${Math.min(z.current.scrollHeight,200)}px`)},variant:"ghost",size:"sm",title:"Load sample prompt (Simple Todo app)",children:[n.jsx(Vi,{size:16}),"Load Sample"]}),n.jsxs(F,{onClick:o,variant:"ghost",size:"sm",title:"Exit chat and go to project (you can start the agent manually)",children:[n.jsx(_u,{size:16}),"Exit to Project"]}),n.jsx(F,{onClick:d,variant:"ghost",size:"icon",title:"Cancel",children:n.jsx(ct,{size:20})})]})]}),S&&n.jsxs(ht,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[n.jsx(ua,{size:16}),n.jsx(xt,{className:"flex-1",children:S}),n.jsx(F,{onClick:()=>T(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:n.jsx(ct,{size:14})})]}),n.jsxs("div",{className:"flex-1 overflow-y-auto py-4 min-h-0",children:[b.length===0&&!N&&n.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:n.jsx(Me,{className:"p-6 max-w-md",children:n.jsxs(He,{className:"p-0",children:[n.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Spec Creation"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you create your app specification..."}),J==="error"&&n.jsxs(F,{onClick:X,className:"mt-4",size:"sm",children:[n.jsx(en,{size:14}),"Retry Connection"]})]})})}),b.map(te=>n.jsx(Bu,{message:te},te.id)),P&&P.length>0&&n.jsx(Qh,{questions:P,onSubmit:W,disabled:N}),N&&!P&&n.jsx(Yh,{}),n.jsx("div",{ref:B})]}),!G&&n.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:y,onDragOver:D,children:[w.length>0&&n.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:w.map(te=>n.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[Ru(te)?n.jsx("img",{src:te.previewUrl,alt:te.filename,className:"w-16 h-16 object-cover rounded"}):n.jsx("div",{className:"w-16 h-16 flex items-center justify-center bg-muted rounded",children:n.jsx(Vi,{size:24,className:"text-muted-foreground"})}),n.jsx("button",{onClick:()=>$(te.id),className:"absolute -top-2 -right-2 bg-destructive text-destructive-foreground rounded-full p-0.5 border-2 border-border hover:scale-110 transition-transform",title:"Remove attachment",children:n.jsx(ct,{size:12})}),n.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:te.filename.length>10?`${te.filename.substring(0,7)}...`:te.filename})]},te.id))}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx("input",{ref:_,type:"file",accept:"image/jpeg,image/png,.md,.txt,.csv,.docx,.xlsx,.pdf,.pptx",multiple:!0,onChange:te=>Z(te.target.files),className:"hidden"}),n.jsx(F,{onClick:()=>_.current?.click(),disabled:J!=="connected",variant:"ghost",size:"icon",title:"Attach files (images: JPEG/PNG up to 5MB, documents: MD, TXT, CSV, DOCX, XLSX, PDF, PPTX up to 20MB)",children:n.jsx(Ki,{size:18})}),n.jsx(ys,{ref:z,value:v,onChange:te=>{g(te.target.value),te.target.style.height="auto",te.target.style.height=`${Math.min(te.target.scrollHeight,200)}px`},onKeyDown:R,placeholder:P?"Or type a custom response...":w.length>0?"Add a message with your image(s)...":"Type your response... (or /exit to go to project)",className:"flex-1 resize-none min-h-[46px] max-h-[200px] overflow-y-auto",disabled:N&&!P||J!=="connected",rows:1}),n.jsx(F,{onClick:I,disabled:!v.trim()&&w.length===0||N&&!P||J!=="connected",className:"px-6",children:n.jsx(Ii,{size:18})})]}),n.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send, Shift+Enter for new line. Drag & drop or click ",n.jsx(Ki,{size:12,className:"inline"})," to attach files."]})]}),G&&n.jsx("div",{className:`p-4 border-t-2 border-border ${m==="error"?"bg-destructive":"bg-green-500"}`,children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx("div",{className:"flex items-center gap-2",children:m==="starting"?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:20,className:"animate-spin text-white"}),n.jsxs("span",{className:"font-bold text-white",children:["Starting agent",E?" (YOLO mode)":"","..."]})]}):m==="error"?n.jsxs(n.Fragment,{children:[n.jsx(ua,{size:20,className:"text-white"}),n.jsx("span",{className:"font-bold text-white",children:x||"Failed to start agent"})]}):n.jsxs(n.Fragment,{children:[n.jsx($t,{size:20,className:"text-white"}),n.jsx("span",{className:"font-bold text-white",children:"Specification created successfully!"})]})}),n.jsxs("div",{className:"flex items-center gap-2",children:[m==="error"&&p&&n.jsxs(F,{onClick:p,variant:"secondary",children:[n.jsx(en,{size:14}),"Retry"]}),m==="idle"&&n.jsxs(n.Fragment,{children:[n.jsxs(F,{onClick:()=>L(!E),variant:E?"default":"secondary",size:"sm",className:E?"bg-yellow-500 hover:bg-yellow-600 text-yellow-900":"",title:"YOLO Mode: Skip testing for rapid prototyping",children:[n.jsx(Ah,{size:16}),n.jsx("span",{className:E?"font-bold":"",children:"YOLO"})]}),n.jsxs(F,{onClick:()=>r("",E),children:["Continue to Project",n.jsx(Dh,{size:16})]})]})]})]})})]})}function Bv({onSelect:i,onCancel:r,initialPath:d}){const[o,m]=f.useState(d),[x,p]=f.useState(null),[v,g]=f.useState(!1),[S,T]=f.useState(""),[E,L]=f.useState(null),{data:w,isLoading:O,error:B,refetch:z}=vt({queryKey:["filesystem","list",o],queryFn:()=>N0(o)});f.useEffect(()=>{w?.current_path&&p(w.current_path)},[w?.current_path]);const _=q=>{m(q),p(q),g(!1),T(""),L(null)},b=()=>{w?.parent_path&&_(w.parent_path)},N=q=>{_(`${q.letter}:/`)},G=q=>{q.is_directory&&_(q.path)},J=async()=>{if(!S.trim()){L("Folder name is required");return}if(!/^[a-zA-Z0-9_\-. ]+$/.test(S)){L("Invalid folder name");return}const q=`${w?.current_path}/${S.trim()}`;try{await C0(q),await z(),_(q)}catch(le){L(le instanceof Error?le.message:"Failed to create folder")}},P=()=>{x&&i(x)},X=q=>{if(!q)return[];const le=[];if(/^[A-Za-z]:/.test(q)){const W=q.slice(0,2);le.push({name:W,path:`${W}/`}),q=q.slice(3)}else q.startsWith("/")&&(le.push({name:"/",path:"/"}),q=q.slice(1));const I=q.split("/").filter(Boolean);let R=le.length>0?le[0].path:"";for(const W of I)R=R.endsWith("/")?R+W:R+"/"+W,le.push({name:W,path:R});return le},ae=w?.current_path?X(w.current_path):[];return n.jsxs("div",{className:"flex flex-col h-full max-h-[70vh]",children:[n.jsxs("div",{className:"flex-shrink-0 p-4 border-b bg-card",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[n.jsx(Qi,{size:20,className:"text-primary"}),n.jsx("span",{className:"font-semibold",children:"Select Project Folder"})]}),n.jsxs("div",{className:"flex items-center gap-1 flex-wrap text-sm",children:[w?.parent_path&&n.jsx(F,{variant:"ghost",size:"icon-sm",onClick:b,title:"Go up",children:n.jsx(Yi,{size:16})}),ae.map((q,le)=>n.jsxs("div",{className:"flex items-center",children:[le>0&&n.jsx(Gm,{size:14,className:"text-muted-foreground mx-1"}),n.jsx(F,{variant:"ghost",size:"sm",onClick:()=>_(q.path),className:le===ae.length-1?"font-semibold":"",children:q.name})]},q.path))]})]}),w?.drives&&w.drives.length>0&&n.jsx("div",{className:"flex-shrink-0 p-3 border-b bg-muted/50",children:n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Drives:"}),w.drives.map(q=>n.jsxs(F,{variant:o?.startsWith(q.letter)?"default":"outline",size:"sm",onClick:()=>N(q),children:[n.jsx(ry,{size:14}),q.letter,": ",q.label&&`(${q.label})`]},q.letter))]})}),n.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto bg-card",children:n.jsxs("div",{className:"p-2",children:[O?n.jsx("div",{className:"flex items-center justify-center p-8",children:n.jsx(Ce,{size:24,className:"animate-spin text-primary"})}):B?n.jsxs("div",{className:"p-4 text-center",children:[n.jsx(ua,{size:32,className:"mx-auto mb-2 text-destructive"}),n.jsx("p",{className:"text-destructive",children:B instanceof Error?B.message:"Failed to load directory"}),n.jsx(F,{variant:"outline",size:"sm",onClick:()=>z(),className:"mt-2",children:"Retry"})]}):n.jsxs("div",{className:"grid grid-cols-1 gap-1",children:[w?.entries.filter(q=>q.is_directory).map(q=>n.jsxs("button",{onClick:()=>G(q),onDoubleClick:()=>_(q.path),className:`
|
|
41
|
-
w-full text-left p-2 rounded-md
|
|
42
|
-
flex items-center gap-2
|
|
43
|
-
hover:bg-muted
|
|
44
|
-
border-2 border-transparent transition-colors
|
|
45
|
-
${x===q.path?"bg-primary/10 border-primary":""}
|
|
46
|
-
`,children:[x===q.path?n.jsx(Zi,{size:18,className:"text-primary flex-shrink-0"}):n.jsx(Qi,{size:18,className:"text-muted-foreground flex-shrink-0"}),n.jsx("span",{className:"truncate flex-1",children:q.name}),q.has_children&&n.jsx(Gm,{size:14,className:"ml-auto text-muted-foreground flex-shrink-0"})]},q.path)),w?.entries.filter(q=>q.is_directory).length===0&&n.jsxs("div",{className:"p-4 text-center text-muted-foreground",children:[n.jsx(Qi,{size:32,className:"mx-auto mb-2 opacity-50"}),n.jsx("p",{children:"No subfolders"}),n.jsx("p",{className:"text-sm",children:"You can create a new folder or select this directory."})]})]}),v&&n.jsx(Me,{className:"mt-2",children:n.jsxs(He,{className:"p-3",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Qm,{size:18,className:"text-primary"}),n.jsx(rt,{type:"text",value:S,onChange:q=>T(q.target.value),placeholder:"New folder name",className:"flex-1",autoFocus:!0,onKeyDown:q=>{ps(q,!1)&&J(),q.key==="Escape"&&(g(!1),T(""),L(null))}}),n.jsx(F,{onClick:J,size:"sm",children:"Create"}),n.jsx(F,{variant:"ghost",size:"sm",onClick:()=>{g(!1),T(""),L(null)},children:"Cancel"})]}),E&&n.jsx("p",{className:"text-sm text-destructive mt-1",children:E})]})})]})}),n.jsxs("div",{className:"flex-shrink-0 p-4 border-t bg-card",children:[n.jsx(Me,{className:"mb-3",children:n.jsxs(He,{className:"p-2",children:[n.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Selected path:"}),n.jsx("div",{className:"font-mono text-sm truncate",children:x||"No folder selected"}),x&&n.jsx("div",{className:"text-xs text-muted-foreground mt-2 italic",children:"This folder will contain all project files"})]})}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs(F,{variant:"outline",onClick:()=>g(!0),disabled:v,children:[n.jsx(Qm,{size:16}),"New Folder"]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(F,{variant:"outline",onClick:r,children:"Cancel"}),n.jsx(F,{onClick:P,disabled:!x,children:"Select This Folder"})]})]})]})]})}function ea({...i}){return n.jsx(_p,{"data-slot":"dialog",...i})}function Lv({...i}){return n.jsx(Rp,{"data-slot":"dialog-portal",...i})}function Hv({className:i,...r}){return n.jsx(Up,{"data-slot":"dialog-overlay",className:ke("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",i),...r})}function ta({className:i,children:r,showCloseButton:d=!0,...o}){return n.jsxs(Lv,{"data-slot":"dialog-portal",children:[n.jsx(Hv,{}),n.jsxs(Mp,{"data-slot":"dialog-content",className:ke("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] max-h-[calc(100vh-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none overflow-y-auto sm:max-w-lg",i),...o,children:[r,d&&n.jsxs(Nh,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[n.jsx(ct,{}),n.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function aa({className:i,...r}){return n.jsx("div",{"data-slot":"dialog-header",className:ke("flex flex-col gap-2 text-center sm:text-left",i),...r})}function Pt({className:i,showCloseButton:r=!1,children:d,...o}){return n.jsxs("div",{"data-slot":"dialog-footer",className:ke("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",i),...o,children:[d,r&&n.jsx(Nh,{asChild:!0,children:n.jsx(F,{variant:"outline",children:"Close"})})]})}function na({className:i,...r}){return n.jsx(kp,{"data-slot":"dialog-title",className:ke("text-lg leading-none font-semibold",i),...r})}function fl({className:i,...r}){return n.jsx(Op,{"data-slot":"dialog-description",className:ke("text-muted-foreground text-sm",i),...r})}function Ee({className:i,...r}){return n.jsx(Bp,{"data-slot":"label",className:ke("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",i),...r})}function qv({isOpen:i,onClose:r,onProjectCreated:d,onStepChange:o}){const[m,x]=f.useState("name"),[p,v]=f.useState(""),[g,S]=f.useState(null),[T,E]=f.useState(null),[L,w]=f.useState(null),[O,B]=f.useState("idle"),[z,_]=f.useState(null),[b,N]=f.useState(!1),[G,J]=f.useState("idle"),[P,X]=f.useState([]),[ae,q]=f.useState(null),le=f.useRef(null),I=V0(),R=fe=>{x(fe),o?.(fe)};if(!i)return null;const W=fe=>{fe.preventDefault();const me=p.trim();if(!me){w("Please enter a project name");return}if(!/^[a-zA-Z0-9_-]+$/.test(me)){w("Project name can only contain letters, numbers, hyphens, and underscores");return}w(null),R("folder")},Z=fe=>{S(fe),R("template")},$=()=>{R("name")},y=async fe=>{if(fe==="blank"){R("method");return}if(g){J("running"),X([]),q(null);try{const me=await fetch("/api/scaffold/run",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({template:"agentic-starter",target_path:g})});if(!me.ok||!me.body){J("error"),q(`Server error: ${me.status}`);return}const Xe=me.body.getReader(),bt=new TextDecoder;let pt="";for(;;){const{done:ne,value:ue}=await Xe.read();if(ne)break;pt+=bt.decode(ue,{stream:!0});const Oe=pt.split(`
|
|
47
|
-
`);pt=Oe.pop()||"";for(const gt of Oe)if(gt.startsWith("data: "))try{const tt=JSON.parse(gt.slice(6));tt.type==="output"?(X(lt=>{const Qe=[...lt,tt.line];return Qe.length>100?Qe.slice(-100):Qe}),setTimeout(()=>le.current?.scrollTo(0,le.current.scrollHeight),0)):tt.type==="complete"?tt.success?(J("success"),setTimeout(()=>R("method"),1200)):(J("error"),q(`Scaffold exited with code ${tt.exit_code}`)):tt.type==="error"&&(J("error"),q(tt.message))}catch{}}}catch(me){J("error"),q(me instanceof Error?me.message:"Failed to run scaffold")}}},D=async fe=>{if(E(fe),!g){w("Please select a project folder first"),R("folder");return}if(fe==="manual")try{const me=await I.mutateAsync({name:p.trim(),path:g,specMethod:"manual"});R("complete"),setTimeout(()=>{d(me.name),he()},1500)}catch(me){w(me instanceof Error?me.message:"Failed to create project")}else try{await I.mutateAsync({name:p.trim(),path:g,specMethod:"claude"}),R("chat")}catch(me){w(me instanceof Error?me.message:"Failed to create project")}},ee=async(fe,me=!1)=>{N(me),B("starting");try{await ku(p.trim(),{yoloMode:me,maxConcurrency:3}),R("complete"),setTimeout(()=>{d(p.trim()),he()},1500)}catch(Xe){B("error"),_(Xe instanceof Error?Xe.message:"Failed to start agent")}},te=()=>{_(null),B("idle"),ee("",b)},oe=()=>{R("method"),E(null)},ie=()=>{d(p.trim()),he()},he=()=>{R("name"),v(""),S(null),E(null),w(null),B("idle"),_(null),N(!1),J("idle"),X([]),q(null),r()},V=()=>{m==="method"?(R("template"),E(null)):m==="template"?(R("folder"),J("idle"),X([]),q(null)):m==="folder"&&(R("name"),S(null))};return m==="chat"?Ch.createPortal(n.jsx("div",{className:"fixed inset-0 z-50 bg-background flex flex-col",children:n.jsx(Xh,{projectName:p.trim(),onComplete:ee,onCancel:oe,onExitToProject:ie,initializerStatus:O,initializerError:z,onRetryInitializer:te})}),document.body):m==="folder"?n.jsx(ea,{open:!0,onOpenChange:fe=>!fe&&he(),children:n.jsxs(ta,{className:"sm:max-w-3xl max-h-[85vh] flex flex-col p-0",children:[n.jsx(aa,{className:"p-6 pb-4 border-b",children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Qi,{size:24,className:"text-primary"}),n.jsxs("div",{children:[n.jsx(na,{children:"Select Project Location"}),n.jsxs(fl,{children:["Select the folder to use for project ",n.jsx("span",{className:"font-semibold font-mono",children:p}),". Create a new folder or choose an existing one."]})]})]})}),n.jsx("div",{className:"flex-1 overflow-hidden",children:n.jsx(Bv,{onSelect:Z,onCancel:$})})]})}):n.jsx(ea,{open:!0,onOpenChange:fe=>!fe&&he(),children:n.jsxs(ta,{className:"sm:max-w-lg",children:[n.jsx(aa,{children:n.jsxs(na,{children:[m==="name"&&"Create New Project",m==="template"&&"Choose Project Template",m==="method"&&"Choose Setup Method",m==="complete"&&"Project Created!"]})}),m==="name"&&n.jsxs("form",{onSubmit:W,className:"space-y-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"project-name",children:"Project Name"}),n.jsx(rt,{id:"project-name",type:"text",value:p,onChange:fe=>v(fe.target.value),placeholder:"my-awesome-app",pattern:"^[a-zA-Z0-9_-]+$",autoFocus:!0}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Use letters, numbers, hyphens, and underscores only."})]}),L&&n.jsx(ht,{variant:"destructive",children:n.jsx(xt,{children:L})}),n.jsx(Pt,{children:n.jsxs(F,{type:"submit",disabled:!p.trim(),children:["Next",n.jsx(Dh,{size:16})]})})]}),m==="template"&&n.jsxs("div",{className:"space-y-4",children:[G==="idle"&&n.jsxs(n.Fragment,{children:[n.jsx(fl,{children:"Start with a blank project or use a pre-configured template."}),n.jsxs("div",{className:"space-y-3",children:[n.jsx(Me,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>y("blank"),children:n.jsx(He,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-secondary rounded-lg",children:n.jsx(uy,{size:24,className:"text-secondary-foreground"})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("span",{className:"font-semibold",children:"Blank Project"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Start from scratch. AutoForge will scaffold your app based on the spec you define."})]})]})})}),n.jsx(Me,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>y("agentic-starter"),children:n.jsx(He,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:n.jsx(Ah,{size:24,className:"text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-semibold",children:"Agentic Starter"}),n.jsx(_e,{variant:"secondary",children:"Next.js"})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Pre-configured Next.js app with BetterAuth, Drizzle ORM, Postgres, and AI capabilities."})]})]})})})]}),n.jsx(Pt,{className:"sm:justify-start",children:n.jsxs(F,{variant:"ghost",onClick:V,children:[n.jsx(Yi,{size:16}),"Back"]})})]}),G==="running"&&n.jsxs("div",{className:"space-y-3",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin text-primary"}),n.jsx("span",{className:"font-medium",children:"Setting up Agentic Starter..."})]}),n.jsx("div",{ref:le,className:"bg-muted rounded-lg p-3 max-h-60 overflow-y-auto font-mono text-xs leading-relaxed",children:P.map((fe,me)=>n.jsx("div",{className:"whitespace-pre-wrap break-all",children:fe},me))})]}),G==="success"&&n.jsxs("div",{className:"text-center py-6",children:[n.jsx("div",{className:"inline-flex items-center justify-center w-12 h-12 bg-primary/10 rounded-full mb-3",children:n.jsx($t,{size:24,className:"text-primary"})}),n.jsx("p",{className:"font-medium",children:"Template ready!"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Proceeding to setup method..."})]}),G==="error"&&n.jsxs("div",{className:"space-y-3",children:[n.jsxs(ht,{variant:"destructive",children:[n.jsx(ua,{size:16}),n.jsx(xt,{children:ae||"An unknown error occurred"})]}),P.length>0&&n.jsx("div",{className:"bg-muted rounded-lg p-3 max-h-40 overflow-y-auto font-mono text-xs leading-relaxed",children:P.slice(-10).map((fe,me)=>n.jsx("div",{className:"whitespace-pre-wrap break-all",children:fe},me))}),n.jsxs(Pt,{className:"sm:justify-start gap-2",children:[n.jsxs(F,{variant:"ghost",onClick:V,children:[n.jsx(Yi,{size:16}),"Back"]}),n.jsxs(F,{variant:"outline",onClick:()=>y("agentic-starter"),children:[n.jsx(en,{size:16}),"Retry"]})]})]})]}),m==="method"&&n.jsxs("div",{className:"space-y-4",children:[n.jsx(fl,{children:"How would you like to define your project?"}),n.jsxs("div",{className:"space-y-3",children:[n.jsx(Me,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!I.isPending&&D("claude"),children:n.jsx(He,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:n.jsx(Au,{size:24,className:"text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-semibold",children:"Create with Claude"}),n.jsx(_e,{children:"Recommended"})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Interactive conversation to define features and generate your app specification automatically."})]})]})})}),n.jsx(Me,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!I.isPending&&D("manual"),children:n.jsx(He,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-secondary rounded-lg",children:n.jsx(Nu,{size:24,className:"text-secondary-foreground"})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("span",{className:"font-semibold",children:"Edit Templates Manually"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Edit the template files directly. Best for developers who want full control."})]})]})})})]}),L&&n.jsx(ht,{variant:"destructive",children:n.jsx(xt,{children:L})}),I.isPending&&n.jsxs("div",{className:"flex items-center justify-center gap-2 text-muted-foreground",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Creating project..."})]}),n.jsx(Pt,{className:"sm:justify-start",children:n.jsxs(F,{variant:"ghost",onClick:V,disabled:I.isPending,children:[n.jsx(Yi,{size:16}),"Back"]})})]}),m==="complete"&&n.jsxs("div",{className:"text-center py-8",children:[n.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-primary/10 rounded-full mb-4",children:n.jsx($t,{size:32,className:"text-primary"})}),n.jsx("h3",{className:"font-semibold text-xl mb-2",children:p}),n.jsx("p",{className:"text-muted-foreground",children:"Your project has been created successfully!"}),n.jsxs("div",{className:"mt-4 flex items-center justify-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{className:"text-sm text-muted-foreground",children:"Redirecting..."})]})]})]})})}function Vh({isOpen:i,title:r,message:d,confirmLabel:o="Confirm",cancelLabel:m="Cancel",variant:x="danger",isLoading:p=!1,onConfirm:v,onCancel:g}){return n.jsx(ea,{open:i,onOpenChange:S=>!S&&g(),children:n.jsxs(ta,{className:"sm:max-w-md",children:[n.jsx(aa,{children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:`p-2 rounded-lg ${x==="danger"?"bg-destructive/10 text-destructive":"bg-primary/10 text-primary"}`,children:n.jsx(Ea,{size:20})}),n.jsx(na,{children:r})]})}),n.jsx(fl,{asChild:!0,children:n.jsx("div",{className:"text-muted-foreground",children:d})}),n.jsxs(Pt,{className:"gap-2 sm:gap-0",children:[n.jsx(F,{variant:"outline",onClick:g,disabled:p,children:m}),n.jsx(F,{variant:x==="danger"?"destructive":"default",onClick:v,disabled:p,children:p?"Deleting...":o})]})]})})}function Gv({...i}){return n.jsx(Lp,{"data-slot":"dropdown-menu",...i})}function Qv({...i}){return n.jsx(Hp,{"data-slot":"dropdown-menu-trigger",...i})}function Yv({className:i,sideOffset:r=4,...d}){return n.jsx(qp,{children:n.jsx(Gp,{"data-slot":"dropdown-menu-content",sideOffset:r,className:ke("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",i),...d})})}function th({className:i,inset:r,variant:d="default",...o}){return n.jsx(Qp,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":d,className:ke("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",i),...o})}function Xv({className:i,...r}){return n.jsx(Yp,{"data-slot":"dropdown-menu-separator",className:ke("bg-border -mx-1 my-1 h-px",i),...r})}function Vv({projects:i,selectedProject:r,onSelectProject:d,isLoading:o,onSpecCreatingChange:m}){const[x,p]=f.useState(!1),[v,g]=f.useState(!1),[S,T]=f.useState(null),E=K0(),L=_=>{d(_),p(!1)},w=(_,b)=>{_.stopPropagation(),_.preventDefault(),T(b)},O=async()=>{if(S)try{await E.mutateAsync(S),r===S&&d(null),T(null)}catch(_){console.error("Failed to delete project:",_),T(null)}},B=()=>{T(null)},z=i.find(_=>_.name===r);return n.jsxs("div",{className:"relative",children:[n.jsxs(Gv,{open:x,onOpenChange:p,children:[n.jsx(Qv,{asChild:!0,children:n.jsxs(F,{variant:"outline",className:"min-w-[140px] sm:min-w-[200px] justify-between",disabled:o,title:z?.path,children:[o?n.jsx(Ce,{size:18,className:"animate-spin"}):r?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"flex items-center gap-2 truncate",children:[n.jsx(Zi,{size:18,className:"shrink-0"}),n.jsx("span",{className:"truncate",children:r})]}),z&&z.stats.total>0&&n.jsxs(_e,{className:"ml-2",children:[z.stats.percentage,"%"]})]}):n.jsx("span",{className:"text-muted-foreground",children:"Select Project"}),n.jsx(xs,{size:18,className:`transition-transform ${x?"rotate-180":""}`})]})}),n.jsxs(Yv,{align:"start",className:"w-[280px] p-0 flex flex-col",children:[i.length>0?n.jsx("div",{className:"max-h-[300px] overflow-y-auto p-1",children:i.map(_=>n.jsxs(th,{title:_.path,className:`flex items-center justify-between cursor-pointer ${_.name===r?"bg-primary/10":""}`,onSelect:()=>{d(_.name)},children:[n.jsxs("span",{className:"flex items-center gap-2 flex-1",children:[n.jsx(Zi,{size:16}),_.name,_.stats.total>0&&n.jsxs("span",{className:"text-sm font-mono text-muted-foreground ml-auto",children:[_.stats.passing,"/",_.stats.total]})]}),n.jsx(F,{variant:"ghost",size:"icon-xs",onClick:b=>w(b,_.name),className:"text-muted-foreground hover:text-destructive",children:n.jsx(an,{size:14})})]},_.name))}):n.jsx("div",{className:"p-4 text-center text-muted-foreground",children:"No projects yet"}),n.jsx(Xv,{className:"my-0"}),n.jsx("div",{className:"p-1",children:n.jsxs(th,{onSelect:()=>{g(!0)},className:"cursor-pointer font-semibold",children:[n.jsx(tn,{size:16}),"New Project"]})})]})]}),n.jsx(qv,{isOpen:v,onClose:()=>g(!1),onProjectCreated:L,onStepChange:_=>m?.(_==="chat")}),n.jsx(Vh,{isOpen:S!==null,title:"Delete Project",message:`Are you sure you want to remove "${S}" from the registry? This will unregister the project but preserve its files on disk.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:E.isPending,onConfirm:O,onCancel:B})]})}function Kv({feature:i,allFeatures:r=[],compact:d=!1}){const o=i.dependencies||[];if(o.length===0)return null;const m=i.blocked??(i.blocking_dependencies&&i.blocking_dependencies.length>0)??!1,x=i.blocking_dependencies?.length??0;let p=o.length-x;if(r.length>0&&!i.blocking_dependencies){const v=new Set(r.filter(g=>g.passes).map(g=>g.id));p=o.filter(g=>v.has(g)).length}return d?n.jsx(_e,{variant:"outline",className:`gap-1 font-mono text-xs ${m?"bg-destructive/10 text-destructive border-destructive/30":"bg-muted text-muted-foreground"}`,title:m?`Blocked by ${x} ${x===1?"dependency":"dependencies"}`:`${p}/${o.length} dependencies satisfied`,children:m?n.jsxs(n.Fragment,{children:[n.jsx(Ea,{size:12}),n.jsx("span",{children:x})]}):n.jsxs(n.Fragment,{children:[n.jsx(xl,{size:12}),n.jsxs("span",{children:[p,"/",o.length]})]})}):n.jsx("div",{className:"flex items-center gap-2",children:m?n.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-destructive",children:[n.jsx(Ea,{size:14}),n.jsxs("span",{className:"font-medium",children:["Blocked by ",x," ",x===1?"dependency":"dependencies"]})]}):n.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[n.jsx(ra,{size:14,className:"text-primary"}),n.jsxs("span",{children:["All ",o.length," ",o.length===1?"dependency":"dependencies"," satisfied"]})]})})}const Zv={primary:"#6B7280",secondary:"#9CA3AF",accent:"#F3F4F6"},Fv={Spark:{primary:"#3B82F6",secondary:"#60A5FA",accent:"#DBEAFE"},Fizz:{primary:"#F97316",secondary:"#FB923C",accent:"#FFEDD5"},Octo:{primary:"#8B5CF6",secondary:"#A78BFA",accent:"#EDE9FE"},Hoot:{primary:"#22C55E",secondary:"#4ADE80",accent:"#DCFCE7"},Buzz:{primary:"#EAB308",secondary:"#FACC15",accent:"#FEF9C3"},Pixel:{primary:"#EC4899",secondary:"#F472B6",accent:"#FCE7F3"},Byte:{primary:"#06B6D4",secondary:"#22D3EE",accent:"#CFFAFE"},Nova:{primary:"#F43F5E",secondary:"#FB7185",accent:"#FFE4E6"},Chip:{primary:"#84CC16",secondary:"#A3E635",accent:"#ECFCCB"},Bolt:{primary:"#FBBF24",secondary:"#FCD34D",accent:"#FEF3C7"},Dash:{primary:"#14B8A6",secondary:"#2DD4BF",accent:"#CCFBF1"},Zap:{primary:"#A855F7",secondary:"#C084FC",accent:"#F3E8FF"},Gizmo:{primary:"#64748B",secondary:"#94A3B8",accent:"#F1F5F9"},Turbo:{primary:"#EF4444",secondary:"#F87171",accent:"#FEE2E2"},Blip:{primary:"#10B981",secondary:"#34D399",accent:"#D1FAE5"},Neon:{primary:"#D946EF",secondary:"#E879F9",accent:"#FAE8FF"},Widget:{primary:"#6366F1",secondary:"#818CF8",accent:"#E0E7FF"},Zippy:{primary:"#F59E0B",secondary:"#FBBF24",accent:"#FEF3C7"},Quirk:{primary:"#0EA5E9",secondary:"#38BDF8",accent:"#E0F2FE"},Flux:{primary:"#7C3AED",secondary:"#8B5CF6",accent:"#EDE9FE"}};function $v({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"16",y:"20",width:"32",height:"28",rx:"4",fill:i.primary}),n.jsx("rect",{x:"12",y:"8",width:"40",height:"24",rx:"4",fill:i.secondary}),n.jsx("circle",{cx:"32",cy:"4",r:"4",fill:i.primary,className:"animate-pulse"}),n.jsx("rect",{x:"30",y:"4",width:"4",height:"8",fill:i.primary}),n.jsx("circle",{cx:"24",cy:"18",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"18",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"18",r:"2",fill:i.primary}),n.jsx("circle",{cx:"41",cy:"18",r:"2",fill:i.primary}),n.jsx("rect",{x:"26",y:"24",width:"12",height:"2",rx:"1",fill:"white"}),n.jsx("rect",{x:"6",y:"24",width:"8",height:"4",rx:"2",fill:i.primary}),n.jsx("rect",{x:"50",y:"24",width:"8",height:"4",rx:"2",fill:i.primary})]})}function Jv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"12,12 20,28 4,28",fill:i.primary}),n.jsx("polygon",{points:"52,12 60,28 44,28",fill:i.primary}),n.jsx("polygon",{points:"14,14 18,26 8,26",fill:i.accent}),n.jsx("polygon",{points:"50,14 56,26 44,26",fill:i.accent}),n.jsx("ellipse",{cx:"32",cy:"36",rx:"24",ry:"22",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"40",rx:"18",ry:"14",fill:i.accent}),n.jsx("ellipse",{cx:"24",cy:"32",rx:"4",ry:"5",fill:"white"}),n.jsx("ellipse",{cx:"40",cy:"32",rx:"4",ry:"5",fill:"white"}),n.jsx("circle",{cx:"25",cy:"33",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"33",r:"2",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"42",rx:"4",ry:"3",fill:i.primary}),n.jsx("line",{x1:"8",y1:"38",x2:"18",y2:"40",stroke:i.primary,strokeWidth:"2"}),n.jsx("line",{x1:"8",y1:"44",x2:"18",y2:"44",stroke:i.primary,strokeWidth:"2"}),n.jsx("line",{x1:"46",y1:"40",x2:"56",y2:"38",stroke:i.primary,strokeWidth:"2"}),n.jsx("line",{x1:"46",y1:"44",x2:"56",y2:"44",stroke:i.primary,strokeWidth:"2"})]})}function Wv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M12,48 Q8,56 12,60 Q16,64 20,58",fill:i.secondary}),n.jsx("path",{d:"M22,50 Q20,58 24,62",fill:i.secondary}),n.jsx("path",{d:"M32,52 Q32,60 36,62",fill:i.secondary}),n.jsx("path",{d:"M42,50 Q44,58 40,62",fill:i.secondary}),n.jsx("path",{d:"M52,48 Q56,56 52,60 Q48,64 44,58",fill:i.secondary}),n.jsx("ellipse",{cx:"32",cy:"32",rx:"22",ry:"24",fill:i.primary}),n.jsx("ellipse",{cx:"24",cy:"28",rx:"6",ry:"8",fill:"white"}),n.jsx("ellipse",{cx:"40",cy:"28",rx:"6",ry:"8",fill:"white"}),n.jsx("ellipse",{cx:"25",cy:"30",rx:"3",ry:"4",fill:i.primary}),n.jsx("ellipse",{cx:"41",cy:"30",rx:"3",ry:"4",fill:i.primary}),n.jsx("path",{d:"M24,42 Q32,48 40,42",stroke:i.accent,strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function Iv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"14,8 22,24 6,20",fill:i.primary}),n.jsx("polygon",{points:"50,8 58,20 42,24",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"40",rx:"20",ry:"18",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"28",r:"20",fill:i.secondary}),n.jsx("circle",{cx:"24",cy:"26",r:"10",fill:i.accent}),n.jsx("circle",{cx:"40",cy:"26",r:"10",fill:i.accent}),n.jsx("circle",{cx:"24",cy:"26",r:"6",fill:"white"}),n.jsx("circle",{cx:"40",cy:"26",r:"6",fill:"white"}),n.jsx("circle",{cx:"25",cy:"27",r:"3",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"27",r:"3",fill:"#1a1a1a"}),n.jsx("polygon",{points:"32,32 28,40 36,40",fill:"#F97316"}),n.jsx("ellipse",{cx:"32",cy:"46",rx:"10",ry:"8",fill:i.accent})]})}function Pv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"14",cy:"32",rx:"10",ry:"14",fill:i.accent,opacity:"0.8",className:"animate-pulse"}),n.jsx("ellipse",{cx:"50",cy:"32",rx:"10",ry:"14",fill:i.accent,opacity:"0.8",className:"animate-pulse"}),n.jsx("ellipse",{cx:"32",cy:"36",rx:"14",ry:"20",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"30",rx:"12",ry:"6",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"44",rx:"12",ry:"6",fill:"#1a1a1a"}),n.jsx("circle",{cx:"32",cy:"16",r:"12",fill:i.primary}),n.jsx("line",{x1:"26",y1:"8",x2:"22",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),n.jsx("line",{x1:"38",y1:"8",x2:"42",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),n.jsx("circle",{cx:"22",cy:"2",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"42",cy:"2",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"28",cy:"14",r:"4",fill:"white"}),n.jsx("circle",{cx:"36",cy:"14",r:"4",fill:"white"}),n.jsx("circle",{cx:"29",cy:"15",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"37",cy:"15",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,20 Q32,24 36,20",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function eb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"20",y:"28",width:"24",height:"28",fill:i.primary}),n.jsx("rect",{x:"16",y:"32",width:"8",height:"20",fill:i.secondary}),n.jsx("rect",{x:"40",y:"32",width:"8",height:"20",fill:i.secondary}),n.jsx("rect",{x:"16",y:"8",width:"32",height:"24",fill:i.primary}),n.jsx("rect",{x:"20",y:"14",width:"8",height:"8",fill:"white"}),n.jsx("rect",{x:"36",y:"14",width:"8",height:"8",fill:"white"}),n.jsx("rect",{x:"24",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),n.jsx("rect",{x:"38",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),n.jsx("rect",{x:"26",y:"26",width:"12",height:"4",fill:i.accent})]})}function tb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"32,8 56,20 56,44 32,56 8,44 8,20",fill:i.primary}),n.jsx("polygon",{points:"32,8 56,20 32,32 8,20",fill:i.secondary}),n.jsx("polygon",{points:"32,32 56,20 56,44 32,56",fill:i.accent,opacity:"0.6"}),n.jsx("circle",{cx:"24",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M26,38 Q32,42 38,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function ab({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"32,2 38,22 58,22 42,36 48,56 32,44 16,56 22,36 6,22 26,22",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.secondary}),n.jsx("circle",{cx:"27",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"37",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"28",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"38",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,37 Q32,40 36,37",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function nb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"16",y:"16",width:"32",height:"32",rx:"4",fill:i.primary}),n.jsx("rect",{x:"20",y:"10",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"30",y:"10",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"40",y:"10",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"20",y:"46",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"30",y:"46",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"40",y:"46",width:"4",height:"8",fill:i.secondary}),n.jsx("circle",{cx:"26",cy:"28",r:"4",fill:i.accent}),n.jsx("circle",{cx:"38",cy:"28",r:"4",fill:i.accent}),n.jsx("circle",{cx:"26",cy:"28",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"38",cy:"28",r:"2",fill:"#1a1a1a"}),n.jsx("rect",{x:"26",y:"38",width:"12",height:"3",rx:"1",fill:i.accent})]})}function lb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"36,4 20,28 30,28 24,60 48,32 36,32 44,4",fill:i.primary}),n.jsx("polygon",{points:"34,8 24,26 32,26 28,52 42,34 34,34 40,8",fill:i.secondary}),n.jsx("circle",{cx:"30",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"38",cy:"26",r:"3",fill:"white"}),n.jsx("circle",{cx:"31",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"39",cy:"27",r:"1.5",fill:"#1a1a1a"})]})}function sb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"4",y:"28",width:"12",height:"3",rx:"1",fill:i.accent,opacity:"0.6"}),n.jsx("rect",{x:"8",y:"34",width:"10",height:"3",rx:"1",fill:i.accent,opacity:"0.4"}),n.jsx("ellipse",{cx:"36",cy:"32",rx:"20",ry:"16",fill:i.primary}),n.jsx("ellipse",{cx:"40",cy:"32",rx:"14",ry:"12",fill:i.secondary}),n.jsx("circle",{cx:"38",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"48",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"39",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"49",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M40,36 Q44,39 48,36",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function ib({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M12,32 L20,28 L16,32 L22,30",stroke:i.secondary,strokeWidth:"2",className:"animate-pulse"}),n.jsx("path",{d:"M52,32 L44,28 L48,32 L42,30",stroke:i.secondary,strokeWidth:"2",className:"animate-pulse"}),n.jsx("circle",{cx:"32",cy:"32",r:"18",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.secondary}),n.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"27",cy:"31",r:"2",fill:i.primary}),n.jsx("circle",{cx:"39",cy:"31",r:"2",fill:i.primary}),n.jsx("path",{d:"M28,40 Q32,44 36,40",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function cb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"28",y:"4",width:"8",height:"8",fill:i.primary}),n.jsx("rect",{x:"28",y:"52",width:"8",height:"8",fill:i.primary}),n.jsx("rect",{x:"4",y:"28",width:"8",height:"8",fill:i.primary}),n.jsx("rect",{x:"52",y:"28",width:"8",height:"8",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"20",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.secondary}),n.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"27",cy:"31",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"39",cy:"31",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,40 Q32,43 36,40",stroke:"#1a1a1a",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function rb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"32",cy:"58",rx:"8",ry:"6",fill:"#FBBF24",className:"animate-pulse"}),n.jsx("ellipse",{cx:"32",cy:"56",rx:"5",ry:"4",fill:"#FCD34D"}),n.jsx("ellipse",{cx:"32",cy:"32",rx:"14",ry:"24",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"12",rx:"8",ry:"10",fill:i.secondary}),n.jsx("polygon",{points:"18,44 10,56 18,52",fill:i.secondary}),n.jsx("polygon",{points:"46,44 54,56 46,52",fill:i.secondary}),n.jsx("circle",{cx:"32",cy:"28",r:"8",fill:i.accent}),n.jsx("circle",{cx:"29",cy:"27",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"35",cy:"27",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M29,32 Q32,34 35,32",stroke:"#1a1a1a",strokeWidth:"1",fill:"none"})]})}function ub({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("circle",{cx:"32",cy:"32",r:"28",stroke:i.accent,strokeWidth:"2",fill:"none",opacity:"0.3"}),n.jsx("circle",{cx:"32",cy:"32",r:"22",stroke:i.accent,strokeWidth:"2",fill:"none",opacity:"0.5"}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"10",fill:i.secondary}),n.jsx("circle",{cx:"28",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"36",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"29",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"37",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("path",{d:"M29,37 Q32,40 35,37",stroke:"white",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function ob({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("circle",{cx:"32",cy:"32",r:"26",fill:i.accent,opacity:"0.3"}),n.jsx("circle",{cx:"32",cy:"32",r:"22",fill:i.accent,opacity:"0.5"}),n.jsx("circle",{cx:"32",cy:"32",r:"18",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"12",fill:i.secondary}),n.jsx("circle",{cx:"27",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"37",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"28",cy:"31",r:"2",fill:i.primary}),n.jsx("circle",{cx:"38",cy:"31",r:"2",fill:i.primary}),n.jsx("path",{d:"M28,38 Q32,42 36,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function db({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"8",y:"12",width:"48",height:"40",rx:"4",fill:i.primary}),n.jsx("rect",{x:"8",y:"12",width:"48",height:"10",rx:"4",fill:i.secondary}),n.jsx("circle",{cx:"16",cy:"17",r:"2",fill:"#EF4444"}),n.jsx("circle",{cx:"24",cy:"17",r:"2",fill:"#FBBF24"}),n.jsx("circle",{cx:"32",cy:"17",r:"2",fill:"#22C55E"}),n.jsx("rect",{x:"12",y:"26",width:"40",height:"22",rx:"2",fill:i.accent}),n.jsx("circle",{cx:"24",cy:"34",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"34",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"35",r:"2",fill:i.primary}),n.jsx("circle",{cx:"41",cy:"35",r:"2",fill:i.primary}),n.jsx("rect",{x:"28",y:"42",width:"8",height:"3",rx:"1",fill:i.primary})]})}function fb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"22",cy:"14",rx:"6",ry:"14",fill:i.primary}),n.jsx("ellipse",{cx:"42",cy:"14",rx:"6",ry:"14",fill:i.primary}),n.jsx("ellipse",{cx:"22",cy:"14",rx:"3",ry:"10",fill:i.accent}),n.jsx("ellipse",{cx:"42",cy:"14",rx:"3",ry:"10",fill:i.accent}),n.jsx("circle",{cx:"32",cy:"38",r:"20",fill:i.primary}),n.jsx("circle",{cx:"24",cy:"34",r:"5",fill:"white"}),n.jsx("circle",{cx:"40",cy:"34",r:"5",fill:"white"}),n.jsx("circle",{cx:"25",cy:"35",r:"2.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"35",r:"2.5",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"44",rx:"3",ry:"2",fill:i.secondary}),n.jsx("path",{d:"M32,46 L32,50 M28,52 Q32,56 36,52",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none"})]})}function mb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M24,20 Q24,8 32,8 Q44,8 44,20 Q44,28 32,32 L32,40",stroke:i.primary,strokeWidth:"8",fill:"none",strokeLinecap:"round"}),n.jsx("circle",{cx:"32",cy:"52",r:"6",fill:i.primary}),n.jsx("circle",{cx:"29",cy:"51",r:"1.5",fill:"white"}),n.jsx("circle",{cx:"35",cy:"51",r:"1.5",fill:"white"}),n.jsx("circle",{cx:"29",cy:"51",r:"0.75",fill:"#1a1a1a"}),n.jsx("circle",{cx:"35",cy:"51",r:"0.75",fill:"#1a1a1a"}),n.jsx("circle",{cx:"32",cy:"20",r:"4",fill:i.secondary})]})}function hb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:i.primary,strokeWidth:"16",fill:"none",strokeLinecap:"round"}),n.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:i.secondary,strokeWidth:"10",fill:"none",strokeLinecap:"round"}),n.jsx("circle",{cx:"28",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"36",r:"4",fill:"white"}),n.jsx("circle",{cx:"29",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"37",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"16",cy:"24",r:"2",fill:i.accent,className:"animate-pulse"}),n.jsx("circle",{cx:"48",cy:"40",r:"2",fill:i.accent,className:"animate-pulse"})]})}function xb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[n.jsx("circle",{cx:"32",cy:"32",r:"28",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"24",fill:i.secondary}),n.jsx("text",{x:"32",y:"44",textAnchor:"middle",fontSize:"32",fontWeight:"bold",fill:"white",children:"?"})]})}const gb={Spark:$v,Fizz:Jv,Octo:Wv,Hoot:Iv,Buzz:Pv,Pixel:eb,Byte:tb,Nova:ab,Chip:nb,Bolt:lb,Dash:sb,Zap:ib,Gizmo:cb,Turbo:rb,Blip:ub,Neon:ob,Widget:db,Zippy:fb,Quirk:mb,Flux:hb},pb=xb,yb={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}};function vb(i){switch(i){case"idle":return"animate-bounce-gentle";case"thinking":return"animate-thinking";case"working":return"animate-working";case"testing":return"animate-testing";case"success":return"animate-celebrate";case"error":case"struggling":return"animate-shake-gentle";default:return""}}function bb(i){switch(i){case"working":return"shadow-[0_0_12px_rgba(0,180,216,0.5)]";case"thinking":return"shadow-[0_0_8px_rgba(255,214,10,0.4)]";case"success":return"shadow-[0_0_16px_rgba(112,224,0,0.6)]";case"error":case"struggling":return"shadow-[0_0_12px_rgba(255,84,0,0.5)]";default:return""}}function jb(i){switch(i){case"idle":return"waiting";case"thinking":return"analyzing";case"working":return"coding";case"testing":return"running tests";case"success":return"completed successfully";case"error":return"encountered an error";case"struggling":return"having difficulty";default:return i}}function pl({name:i,state:r,size:d="md",showName:o=!1}){const m=i==="Unknown",x=m?Zv:Fv[i],{svg:p,font:v}=yb[d],g=m?pb:gb[i],S=jb(r),T=`Agent ${i} is ${S}`;return n.jsxs("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":T,"aria-live":"polite",children:[n.jsx("div",{className:`
|
|
48
|
-
rounded-full p-1 transition-all duration-300
|
|
49
|
-
${vb(r)}
|
|
50
|
-
${bb(r)}
|
|
51
|
-
`,style:{backgroundColor:x.accent},title:T,role:"img","aria-hidden":"true",children:n.jsx(g,{colors:x,size:p})}),o&&n.jsx("span",{className:`${v} font-bold text-foreground`,style:{color:x.primary},children:i})]})}function Sb(i){const r=["bg-pink-500","bg-cyan-500","bg-green-500","bg-yellow-500","bg-orange-500","bg-purple-500","bg-blue-500"];let d=0;for(let o=0;o<i.length;o++)d=i.charCodeAt(o)+((d<<5)-d);return r[Math.abs(d)%r.length]}function Nb({feature:i,onClick:r,isInProgress:d,allFeatures:o=[],activeAgent:m}){const x=Sb(i.category),p=i.blocked||i.blocking_dependencies&&i.blocking_dependencies.length>0,v=!!m;return n.jsx(Me,{onClick:r,className:`
|
|
52
|
-
cursor-pointer transition-all hover:border-primary py-3
|
|
53
|
-
${d?"animate-pulse":""}
|
|
54
|
-
${i.passes?"border-primary/50":""}
|
|
55
|
-
${i.needs_human_input?"border-amber-500/50":""}
|
|
56
|
-
${p&&!i.passes&&!i.needs_human_input?"border-destructive/50 opacity-80":""}
|
|
57
|
-
${v?"ring-2 ring-primary ring-offset-2":""}
|
|
58
|
-
`,children:n.jsxs(He,{className:"p-4 space-y-3",children:[n.jsxs("div",{className:"flex items-start justify-between gap-2",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(_e,{className:`${x} text-white`,children:i.category}),n.jsx(Kv,{feature:i,allFeatures:o,compact:!0})]}),n.jsxs("span",{className:"font-mono text-sm text-muted-foreground",children:["#",i.priority]})]}),n.jsx("h3",{className:"font-semibold line-clamp-2",children:i.name}),n.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:i.description}),m&&n.jsxs("div",{className:"flex items-center gap-2 py-2 px-2 rounded-md bg-primary/10 border border-primary/30",children:[n.jsx(pl,{name:m.agentName,state:m.state,size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"text-xs font-semibold text-primary",children:[m.agentName," is working on this!"]}),m.thought&&n.jsxs("div",{className:"flex items-center gap-1 mt-0.5",children:[n.jsx(Mu,{size:10,className:"text-muted-foreground shrink-0"}),n.jsx("p",{className:"text-[10px] text-muted-foreground truncate italic",children:m.thought})]})]})]}),n.jsx("div",{className:"flex items-center gap-2 text-sm",children:d?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:16,className:"animate-spin text-primary"}),n.jsx("span",{className:"text-primary font-medium",children:"Processing..."})]}):i.passes?n.jsxs(n.Fragment,{children:[n.jsx($t,{size:16,className:"text-primary"}),n.jsx("span",{className:"text-primary font-medium",children:"Complete"})]}):i.needs_human_input?n.jsxs(n.Fragment,{children:[n.jsx(Pi,{size:16,className:"text-amber-500"}),n.jsx("span",{className:"text-amber-500 font-medium",children:"Needs Your Input"})]}):p?n.jsxs(n.Fragment,{children:[n.jsx(ol,{size:16,className:"text-destructive"}),n.jsx("span",{className:"text-destructive",children:"Blocked"})]}):n.jsxs(n.Fragment,{children:[n.jsx(ol,{size:16,className:"text-muted-foreground"}),n.jsx("span",{className:"text-muted-foreground",children:"Pending"})]})})]})})}const Cb={pending:"border-t-4 border-t-muted",progress:"border-t-4 border-t-primary",done:"border-t-4 border-t-primary",human_input:"border-t-4 border-t-amber-500"};function Hi({title:i,count:r,features:d,allFeatures:o=[],activeAgents:m=[],color:x,onFeatureClick:p,onAddFeature:v,onExpandProject:g,showExpandButton:S,onCreateSpec:T,showCreateSpec:E}){const L=new Map;for(const w of m){const O=w.featureIds||[w.featureId];for(const B of O)L.set(B,w)}return n.jsxs(Me,{className:`overflow-hidden ${Cb[x]} py-0`,children:[n.jsxs(tc,{className:"px-4 py-3 border-b flex-row items-center justify-between space-y-0",children:[n.jsxs(Uu,{className:"text-lg font-semibold flex items-center gap-2",children:[i,n.jsx(_e,{variant:"secondary",children:r})]}),(v||g)&&n.jsxs("div",{className:"flex items-center gap-2",children:[v&&n.jsx(F,{onClick:v,size:"icon-sm",title:"Add new feature (N)",children:n.jsx(tn,{size:16})}),g&&S&&n.jsx(F,{onClick:g,size:"icon-sm",variant:"secondary",title:"Expand project with AI (E)",children:n.jsx(Nn,{size:16})})]})]}),n.jsx(He,{className:"p-0",children:n.jsx("div",{className:"h-[600px] overflow-y-auto",children:n.jsx("div",{className:"p-4 space-y-3",children:d.length===0?n.jsx("div",{className:"text-center py-8 text-muted-foreground",children:E&&T?n.jsxs("div",{className:"space-y-4",children:[n.jsx("p",{children:"No spec created yet"}),n.jsxs(F,{onClick:T,children:[n.jsx(oy,{size:18}),"Create Spec with AI"]})]}):"No features"}):d.map((w,O)=>n.jsx("div",{className:"animate-slide-in",style:{animationDelay:`${O*50}ms`},children:n.jsx(Nb,{feature:w,onClick:()=>p(w),isInProgress:x==="progress",allFeatures:o,activeAgent:L.get(w.id)})},w.id))})})})]})}function wb({features:i,onFeatureClick:r,onAddFeature:d,onExpandProject:o,activeAgents:m=[],onCreateSpec:x,hasSpec:p=!0}){const v=i&&i.pending.length+i.in_progress.length+i.done.length+(i.needs_human_input?.length||0)>0,g=i?[...i.pending,...i.in_progress,...i.done,...i.needs_human_input||[]]:[],S=i?.needs_human_input?.length||0,T=S>0;return i?n.jsxs("div",{className:`grid grid-cols-1 ${T?"md:grid-cols-4":"md:grid-cols-3"} gap-6`,children:[n.jsx(Hi,{title:"Pending",count:i.pending.length,features:i.pending,allFeatures:g,activeAgents:m,color:"pending",onFeatureClick:r,onAddFeature:d,onExpandProject:o,showExpandButton:v&&p,onCreateSpec:x,showCreateSpec:!p&&!v}),n.jsx(Hi,{title:"In Progress",count:i.in_progress.length,features:i.in_progress,allFeatures:g,activeAgents:m,color:"progress",onFeatureClick:r}),T&&n.jsx(Hi,{title:"Needs Input",count:S,features:i.needs_human_input,allFeatures:g,activeAgents:m,color:"human_input",onFeatureClick:r}),n.jsx(Hi,{title:"Done",count:i.done.length,features:i.done,allFeatures:g,activeAgents:m,color:"done",onFeatureClick:r})]}):n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:["Pending","In Progress","Done"].map(E=>n.jsx(Me,{className:"py-4",children:n.jsxs(He,{className:"p-4",children:[n.jsx("div",{className:"h-8 bg-muted animate-pulse rounded mb-4"}),n.jsx("div",{className:"space-y-3",children:[1,2,3].map(L=>n.jsx("div",{className:"h-24 bg-muted animate-pulse rounded"},L))})]})},E))})}function zb(i){return vt({queryKey:["schedules",i],queryFn:()=>H0(i),enabled:!!i})}function Tb(i){const r=Ve();return Je({mutationFn:d=>q0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function Eb(i){const r=Ve();return Je({mutationFn:d=>Q0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function Ab(i){const r=Ve();return Je({mutationFn:({scheduleId:d,enabled:o})=>G0(i,d,{enabled:o}),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function Db(i){return vt({queryKey:["nextRun",i],queryFn:()=>Y0(i),enabled:!!i,refetchInterval:3e4})}function _b(i){const[r,d]=i.split(":").map(Number),o=new Date(Date.UTC(2e3,0,15,r,d,0,0)),m=o.getDate();let x=0;m===14&&(x=-1),m===16&&(x=1);const p=o.getHours(),v=o.getMinutes();return{time:`${String(p).padStart(2,"0")}:${String(v).padStart(2,"0")}`,dayShift:x}}function Mb(i){const[r,d]=i.split(":").map(Number),o=new Date(2e3,0,15,r,d,0,0),m=o.getUTCDate();let x=0;m===14&&(x=-1),m===16&&(x=1);const p=o.getUTCHours(),v=o.getUTCMinutes();return{time:`${String(p).padStart(2,"0")}:${String(v).padStart(2,"0")}`,dayShift:x}}function kb(i){let r=0;return i&1&&(r|=2),i&2&&(r|=4),i&4&&(r|=8),i&8&&(r|=16),i&16&&(r|=32),i&32&&(r|=64),i&64&&(r|=1),r}function Ob(i){let r=0;return i&1&&(r|=64),i&2&&(r|=1),i&4&&(r|=2),i&8&&(r|=4),i&16&&(r|=8),i&32&&(r|=16),i&64&&(r|=32),r}function ah(i,r){return r===1?kb(i):r===-1?Ob(i):i}function nh(i){const r=Math.floor(i/60),d=i%60;return r===0?`${d}m`:d===0?`${r}h`:`${r}h ${d}m`}function Rb(i){const r=new Date(i),d=new Date,o=r.getTime()-d.getTime();return Math.floor(o/(1e3*60*60))<24?r.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"}):r.toLocaleString([],{weekday:"short",hour:"numeric",minute:"2-digit"})}function Ub(i){return new Date(i).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}const lh=[{label:"Mon",bit:1},{label:"Tue",bit:2},{label:"Wed",bit:4},{label:"Thu",bit:8},{label:"Fri",bit:16},{label:"Sat",bit:32},{label:"Sun",bit:64}];function sh(i,r){return(i&r)!==0}function Bb(i,r){return i^r}function Lb({className:i,...r}){return n.jsx(Xp,{"data-slot":"checkbox",className:ke("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",i),...r,children:n.jsx(Vp,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:n.jsx(ra,{className:"size-3.5"})})})}function wu({className:i,orientation:r="horizontal",decorative:d=!0,...o}){return n.jsx(Kp,{"data-slot":"separator",decorative:d,orientation:r,className:ke("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",i),...o})}function Hb({projectName:i,isOpen:r,onClose:d}){const o=f.useRef(null),m=f.useRef(null),{data:x,isLoading:p}=zb(i),v=Tb(i),g=Eb(i),S=Ab(i),[T,E]=f.useState({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3}),[L,w]=f.useState(null);f.useEffect(()=>{r&&m.current&&m.current.focus()},[r]);const O=x?.schedules||[],B=async()=>{try{if(w(null),T.days_of_week===0){w("Please select at least one day");return}if(T.duration_minutes<1||T.duration_minutes>1440){w("Duration must be between 1 and 1440 minutes");return}const{time:N,dayShift:G}=Mb(T.start_time),J=ah(T.days_of_week,G),P={...T,start_time:N,days_of_week:J};await v.mutateAsync(P),E({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3})}catch(N){w(N instanceof Error?N.message:"Failed to create schedule")}},z=async(N,G)=>{try{w(null),await S.mutateAsync({scheduleId:N,enabled:!G})}catch(J){w(J instanceof Error?J.message:"Failed to toggle schedule")}},_=async N=>{if(confirm("Are you sure you want to delete this schedule?"))try{w(null),await g.mutateAsync(N)}catch(G){w(G instanceof Error?G.message:"Failed to delete schedule")}},b=N=>{E(G=>({...G,days_of_week:Bb(G.days_of_week,N)}))};return n.jsx(ea,{open:r,onOpenChange:N=>!N&&d(),children:n.jsxs(ta,{ref:o,className:"sm:max-w-[650px] max-h-[80vh] flex flex-col p-0",children:[n.jsx(aa,{className:"p-6 pb-4",children:n.jsxs(na,{className:"flex items-center gap-2",children:[n.jsx(dl,{size:24,className:"text-primary"}),"Agent Schedules"]})}),n.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto px-6",children:[L&&n.jsx(ht,{variant:"destructive",className:"mb-4",children:n.jsx(xt,{children:L})}),p&&n.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"Loading schedules..."}),!p&&O.length>0&&n.jsx("div",{className:"space-y-3 mb-6",children:O.map(N=>{const{time:G,dayShift:J}=_b(N.start_time),P=nh(N.duration_minutes),X=ah(N.days_of_week,J);return n.jsx(Me,{children:n.jsx(He,{className:"p-4",children:n.jsxs("div",{className:"flex items-start justify-between gap-4",children:[n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-baseline gap-2 mb-2",children:[n.jsx("span",{className:"text-lg font-semibold",children:G}),n.jsxs("span",{className:"text-sm text-muted-foreground",children:["for ",P]})]}),n.jsx("div",{className:"flex gap-1 mb-2",children:lh.map(ae=>{const q=sh(X,ae.bit);return n.jsx("span",{className:`text-xs px-2 py-1 rounded border ${q?"border-primary bg-primary text-primary-foreground font-medium":"border-border text-muted-foreground"}`,children:ae.label},ae.label)})}),n.jsxs("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[N.yolo_mode&&n.jsx("span",{className:"font-semibold text-yellow-600",children:"YOLO mode"}),n.jsxs("span",{className:"flex items-center gap-1",children:[n.jsx(xl,{size:12}),N.max_concurrency,"x"]}),N.model&&n.jsxs("span",{children:["Model: ",N.model]}),N.crash_count>0&&n.jsxs("span",{className:"text-destructive",children:["Crashes: ",N.crash_count]})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(F,{variant:"ghost",size:"sm",onClick:()=>z(N.id,N.enabled),disabled:S.isPending,className:N.enabled?"text-primary":"text-muted-foreground",children:N.enabled?"Enabled":"Disabled"}),n.jsx(F,{variant:"ghost",size:"icon-sm",onClick:()=>_(N.id),disabled:g.isPending,className:"text-destructive hover:text-destructive",children:n.jsx(an,{size:16})})]})]})})},N.id)})}),!p&&O.length===0&&n.jsxs("div",{className:"text-center py-6 text-muted-foreground mb-6",children:[n.jsx(dl,{size:48,className:"mx-auto mb-2 opacity-50"}),n.jsx("p",{children:"No schedules configured yet"})]}),n.jsx(wu,{className:"my-6"}),n.jsxs("div",{className:"pb-6",children:[n.jsx("h3",{className:"text-lg font-semibold mb-4",children:"Add New Schedule"}),n.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{children:"Start Time (Local)"}),n.jsx(rt,{type:"time",value:T.start_time,onChange:N=>E(G=>({...G,start_time:N.target.value}))})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{children:"Duration (minutes)"}),n.jsx(rt,{type:"number",min:"1",max:"1440",value:T.duration_minutes,onChange:N=>{const G=parseInt(N.target.value,10),J=isNaN(G)?1:Math.max(1,Math.min(1440,G));E(P=>({...P,duration_minutes:J}))}}),n.jsx("p",{className:"text-xs text-muted-foreground",children:nh(T.duration_minutes)})]})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(Ee,{children:"Days"}),n.jsx("div",{className:"flex gap-2",children:lh.map(N=>{const G=sh(T.days_of_week,N.bit);return n.jsx(F,{variant:G?"default":"outline",size:"sm",onClick:()=>b(N.bit),children:N.label},N.label)})})]}),n.jsxs("div",{className:"mb-4 flex items-center space-x-2",children:[n.jsx(Lb,{id:"yolo-mode",checked:T.yolo_mode,onCheckedChange:N=>E(G=>({...G,yolo_mode:N===!0}))}),n.jsx(Ee,{htmlFor:"yolo-mode",className:"font-normal",children:"YOLO Mode (skip testing)"})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(Ee,{children:"Concurrent Agents (1-5)"}),n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(xl,{size:16,className:T.max_concurrency>1?"text-primary":"text-muted-foreground"}),n.jsx("input",{type:"range",min:1,max:5,value:T.max_concurrency,onChange:N=>E(G=>({...G,max_concurrency:Number(N.target.value)})),className:"flex-1 h-2 accent-primary cursor-pointer"}),n.jsxs("span",{className:"text-sm font-medium min-w-[2rem] text-center",children:[T.max_concurrency,"x"]})]}),n.jsxs("p",{className:"text-xs text-muted-foreground",children:["Run ",T.max_concurrency," agent",T.max_concurrency>1?"s":""," in parallel for faster feature completion"]})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(Ee,{children:"Model (optional, defaults to global setting)"}),n.jsx(rt,{placeholder:"e.g., claude-3-5-sonnet-20241022",value:T.model||"",onChange:N=>E(G=>({...G,model:N.target.value||null}))})]})]})]}),n.jsxs(Pt,{className:"p-6 pt-4 border-t",children:[n.jsx(F,{variant:"outline",onClick:d,children:"Close"}),n.jsx(F,{onClick:B,disabled:v.isPending||T.days_of_week===0,children:v.isPending?"Creating...":"Create Schedule"})]})]})})}function qb({projectName:i,status:r,defaultConcurrency:d=3}){const{data:o}=Ou(),m=o?.yolo_mode??!1,[x,p]=f.useState(d);f.useEffect(()=>{p(d)},[d]);const v=F0(i),g=f.useRef(null),S=f.useCallback(ae=>{p(ae),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{v.mutate({default_concurrency:ae})},500)},[v]);f.useEffect(()=>()=>{g.current&&clearTimeout(g.current)},[]);const T=tv(i),E=av(i),L=nv(i),w=lv(i),{data:O}=Db(i),[B,z]=f.useState(!1),_=T.isPending||E.isPending||L.isPending||w.isPending,b=r==="running"||r==="paused"||r==="pausing"||r==="paused_graceful",N=r==="loading",G=x>1,J=()=>T.mutate({yoloMode:m,parallelMode:G,maxConcurrency:x,testingAgentRatio:o?.testing_agent_ratio}),P=()=>E.mutate(),X=r==="stopped"||r==="crashed";return n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"flex items-center gap-2 sm:gap-4",children:[X&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(xl,{size:16,className:G?"text-primary":"text-muted-foreground"}),n.jsx("input",{type:"range",min:1,max:5,value:x,onChange:ae=>S(Number(ae.target.value)),disabled:_,className:"w-16 h-2 accent-primary cursor-pointer",title:`${x} concurrent agent${x>1?"s":""}`,"aria-label":"Set number of concurrent agents"}),n.jsxs("span",{className:"text-xs font-semibold min-w-[1.5rem] text-center",children:[x,"x"]})]}),b&&G&&n.jsxs(_e,{variant:"secondary",className:"gap-1",children:[n.jsx(xl,{size:14}),x,"x"]}),O?.is_currently_running&&O.next_end&&n.jsxs(_e,{variant:"default",className:"gap-1",children:[n.jsx(dl,{size:14}),"Running until ",Ub(O.next_end)]}),!O?.is_currently_running&&O?.next_start&&n.jsxs(_e,{variant:"secondary",className:"gap-1",children:[n.jsx(dl,{size:14}),"Next: ",Rb(O.next_start)]}),N?n.jsx(F,{disabled:!0,variant:"outline",size:"sm",children:n.jsx(Ce,{size:18,className:"animate-spin"})}):X?n.jsx(F,{onClick:J,disabled:_,variant:m?"secondary":"default",size:"sm",title:m?"Start Agent (YOLO Mode)":"Start Agent",children:_?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(dy,{size:18})}):n.jsxs("div",{className:"flex items-center gap-1.5",children:[r==="pausing"&&n.jsxs(_e,{variant:"secondary",className:"gap-1 animate-pulse",children:[n.jsx(Ce,{size:12,className:"animate-spin"}),"Pausing..."]}),r==="paused_graceful"&&n.jsxs(n.Fragment,{children:[n.jsx(_e,{variant:"outline",className:"gap-1",children:"Paused"}),n.jsx(F,{onClick:()=>w.mutate(),disabled:_,variant:"default",size:"sm",title:"Resume agent",children:w.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(fy,{size:18})})]}),r==="running"&&n.jsx(F,{onClick:()=>L.mutate(),disabled:_,variant:"outline",size:"sm",title:"Pause agent (finish current work first)",children:L.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(my,{size:18})}),n.jsx(F,{onClick:P,disabled:_,variant:"destructive",size:"sm",title:"Stop Agent (immediate)",children:E.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(_h,{size:18})})]}),n.jsx(F,{variant:"outline",size:"sm",onClick:()=>z(!0),title:"Manage schedules",children:n.jsx(dl,{size:18})})]}),n.jsx(Hb,{projectName:i,isOpen:B,onClose:()=>z(!1)})]})}const Gb=3e4;function Qb(i){const r=i.trim();return!(/^\[Tool:/.test(r)||/^\s*Input:\s*\{/.test(r)||/^\[(Done|Error)\]/.test(r)||/^Output:/.test(r)||/^[[{]/.test(r)||r.length<10||/^[A-Za-z]:\\/.test(r)||/^\/[a-z]/.test(r))}function Yb(i){for(let r=i.length-1;r>=0;r--)if(Qb(i[r].line))return i[r].line.trim();return null}function Xb({passing:i,total:r,percentage:d,isConnected:o,logs:m=[],agentStatus:x}){const p=f.useMemo(()=>Yb(m),[m]),[v,g]=f.useState(null),[S,T]=f.useState(!0),E=m.length>0?new Date(m[m.length-1].timestamp).getTime():0,L=f.useMemo(()=>p?x==="running"||x==="pausing"?!0:x==="paused"?Date.now()-E<Gb:!1:!1,[p,x,E]);f.useEffect(()=>{if(p!==v&&p){T(!1);const O=setTimeout(()=>{g(p),T(!0)},150);return()=>clearTimeout(O)}},[p,v]);const w=x==="running";return n.jsxs(Me,{children:[n.jsxs(tc,{className:"flex-row items-center justify-between space-y-0 pb-0",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Uu,{className:"text-xl uppercase tracking-wide",children:"Progress"}),n.jsx(_e,{variant:o?"default":"destructive",className:"gap-1",children:o?n.jsxs(n.Fragment,{children:[n.jsx(hl,{size:14}),"Live"]}):n.jsxs(n.Fragment,{children:[n.jsx(ml,{size:14}),"Offline"]})})]}),n.jsxs("div",{className:"flex items-baseline gap-1",children:[n.jsx("span",{className:"font-mono text-lg font-bold text-primary",children:i}),n.jsx("span",{className:"text-sm text-muted-foreground",children:"/"}),n.jsx("span",{className:"font-mono text-lg font-bold",children:r})]})]}),n.jsxs(He,{className:"pt-3 pb-3",children:[n.jsxs("div",{className:"flex items-center gap-4",children:[n.jsx("div",{className:"h-2.5 bg-muted rounded-full overflow-hidden flex-1",children:n.jsx("div",{className:"h-full bg-primary rounded-full transition-all duration-500 ease-out",style:{width:`${d}%`}})}),n.jsxs("span",{className:"text-sm font-bold tabular-nums text-muted-foreground w-12 text-right",children:[d.toFixed(1),"%"]})]}),n.jsx("div",{className:`
|
|
59
|
-
transition-all duration-300 ease-out overflow-hidden
|
|
60
|
-
${L&&v?"opacity-100 max-h-10 mt-3":"opacity-0 max-h-0 mt-0"}
|
|
61
|
-
`,children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("div",{className:"relative shrink-0",children:[n.jsx(hy,{size:16,className:"text-primary",strokeWidth:2.5}),w&&n.jsx(Nn,{size:8,className:"absolute -top-1 -right-1 text-yellow-500 animate-pulse"})]}),n.jsx("p",{className:"font-mono text-sm truncate text-muted-foreground transition-all duration-150 ease-out",style:{opacity:S?1:0,transform:S?"translateY(0)":"translateY(-4px)"},children:v?.replace(/:$/,"")})]})})]})]})}function Vb({onComplete:i}){const{data:r,isLoading:d,error:o}=sv(),{data:m,error:x}=iv(),p=m?.status==="healthy"&&!x,v=p&&r?.claude_cli&&r?.credentials,g=f.useCallback(()=>{v&&i()},[v,i]);return f.useEffect(()=>{g()},[g]),n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:n.jsx(Me,{className:"w-full max-w-lg",children:n.jsxs(He,{className:"p-8",children:[n.jsx("h1",{className:"font-display text-3xl font-bold text-center mb-2",children:"Setup Wizard"}),n.jsx("p",{className:"text-center text-muted-foreground mb-8",children:"Let's make sure everything is ready to go"}),n.jsxs("div",{className:"space-y-4",children:[n.jsx(qi,{label:"Backend Server",description:"FastAPI server is running",status:x?"error":p?"success":"loading"}),n.jsx(qi,{label:"Claude CLI",description:"Claude Code CLI is installed",status:d?"loading":o?"error":r?.claude_cli?"success":"error",helpLink:"https://docs.anthropic.com/claude/claude-code",helpText:"Install Claude Code"}),n.jsx(qi,{label:"Anthropic Credentials",description:"API credentials are configured",status:d?"loading":o?"error":r?.credentials?"success":"error",helpLink:"https://console.anthropic.com/account/keys",helpText:"Get API Key"}),n.jsx(qi,{label:"Node.js",description:"Node.js is installed (for UI dev)",status:d?"loading":o?"error":r?.node?"success":"warning",helpLink:"https://nodejs.org",helpText:"Install Node.js",optional:!0})]}),v&&n.jsx(F,{onClick:i,className:"w-full mt-8 bg-green-500 hover:bg-green-600 text-white",children:"Continue to Dashboard"}),(x||o)&&n.jsxs(ht,{variant:"destructive",className:"mt-6",children:[n.jsx(Mv,{children:"Setup Error"}),n.jsx(xt,{children:x?"Cannot connect to the backend server. Make sure to run start_ui.py first.":"Failed to check setup status."})]})]})})})}function qi({label:i,description:r,status:d,helpLink:o,helpText:m,optional:x}){return n.jsxs("div",{className:"flex items-start gap-4 p-4 bg-background border-2 border-border rounded-lg",children:[n.jsx("div",{className:"flex-shrink-0 mt-1",children:d==="success"?n.jsx($t,{size:24,className:"text-green-500"}):d==="error"?n.jsx(Ym,{size:24,className:"text-destructive"}):d==="warning"?n.jsx(Ym,{size:24,className:"text-yellow-500"}):n.jsx(Ce,{size:24,className:"animate-spin text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-display font-bold text-foreground",children:i}),x&&n.jsx("span",{className:"text-xs text-muted-foreground",children:"(optional)"})]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:r}),(d==="error"||d==="warning")&&o&&n.jsxs("a",{href:o,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 mt-2 text-sm text-primary hover:underline",children:[m," ",n.jsx(_u,{size:12})]})]})]})}function Kb({projectName:i,onClose:r}){const d=f.useId(),[o,m]=f.useState(""),[x,p]=f.useState(""),[v,g]=f.useState(""),[S,T]=f.useState(""),[E,L]=f.useState([{id:`${d}-step-0`,value:""}]),[w,O]=f.useState(null),[B,z]=f.useState(1),_=$0(i),b=()=>{L([...E,{id:`${d}-step-${B}`,value:""}]),z(B+1)},N=X=>{L(E.filter(ae=>ae.id!==X))},G=(X,ae)=>{L(E.map(q=>q.id===X?{...q,value:ae}:q))},J=async X=>{X.preventDefault(),O(null);const ae=E.map(q=>q.value.trim()).filter(q=>q.length>0);try{await _.mutateAsync({category:o.trim(),name:x.trim(),description:v.trim(),steps:ae,priority:S?parseInt(S,10):void 0}),r()}catch(q){O(q instanceof Error?q.message:"Failed to create feature")}},P=o.trim()&&x.trim()&&v.trim();return n.jsx(ea,{open:!0,onOpenChange:X=>!X&&r(),children:n.jsxs(ta,{className:"sm:max-w-2xl",children:[n.jsx(aa,{children:n.jsx(na,{children:"Add Feature"})}),n.jsxs("form",{onSubmit:J,className:"space-y-4",children:[w&&n.jsxs(ht,{variant:"destructive",children:[n.jsx(ua,{className:"h-4 w-4"}),n.jsxs(xt,{className:"flex items-center justify-between",children:[n.jsx("span",{children:w}),n.jsx(F,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>O(null),children:n.jsx(ct,{size:14})})]})]}),n.jsxs("div",{className:"flex gap-4",children:[n.jsxs("div",{className:"flex-1 space-y-2",children:[n.jsx(Ee,{htmlFor:"category",children:"Category"}),n.jsx(rt,{id:"category",type:"text",value:o,onChange:X=>m(X.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),n.jsxs("div",{className:"w-32 space-y-2",children:[n.jsx(Ee,{htmlFor:"priority",children:"Priority"}),n.jsx(rt,{id:"priority",type:"number",value:S,onChange:X=>T(X.target.value),placeholder:"Auto",min:"1"})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"name",children:"Feature Name"}),n.jsx(rt,{id:"name",type:"text",value:x,onChange:X=>p(X.target.value),placeholder:"e.g., User login form",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"description",children:"Description"}),n.jsx(ys,{id:"description",value:v,onChange:X=>g(X.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{children:"Test Steps (Optional)"}),n.jsx("div",{className:"space-y-2",children:E.map((X,ae)=>n.jsxs("div",{className:"flex gap-2 items-center",children:[n.jsx("span",{className:"w-10 h-10 flex-shrink-0 flex items-center justify-center font-mono font-semibold text-sm border rounded-md bg-muted text-muted-foreground",children:ae+1}),n.jsx(rt,{type:"text",value:X.value,onChange:q=>G(X.id,q.target.value),placeholder:"Describe this step...",className:"flex-1"}),E.length>1&&n.jsx(F,{type:"button",variant:"ghost",size:"icon",onClick:()=>N(X.id),children:n.jsx(an,{size:18})})]},X.id))}),n.jsxs(F,{type:"button",variant:"ghost",size:"sm",onClick:b,children:[n.jsx(tn,{size:16}),"Add Step"]})]}),n.jsxs(Pt,{className:"pt-4 border-t",children:[n.jsx(F,{type:"button",variant:"outline",onClick:r,children:"Cancel"}),n.jsx(F,{type:"submit",disabled:!P||_.isPending,children:_.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(tn,{size:18}),"Create Feature"]})})]})]})]})})}function Zb({feature:i,projectName:r,onClose:d,onSaved:o}){const m=f.useId(),[x,p]=f.useState(i.category),[v,g]=f.useState(i.name),[S,T]=f.useState(i.description),[E,L]=f.useState(String(i.priority)),[w,O]=f.useState(()=>i.steps.length>0?i.steps.map((I,R)=>({id:`${m}-step-${R}`,value:I})):[{id:`${m}-step-0`,value:""}]),[B,z]=f.useState(null),[_,b]=f.useState(i.steps.length||1),N=I0(r),G=()=>{O([...w,{id:`${m}-step-${_}`,value:""}]),b(_+1)},J=I=>{O(w.filter(R=>R.id!==I))},P=(I,R)=>{O(w.map(W=>W.id===I?{...W,value:R}:W))},X=async I=>{I.preventDefault(),z(null);const R=w.map(W=>W.value.trim()).filter(W=>W.length>0);try{await N.mutateAsync({featureId:i.id,update:{category:x.trim(),name:v.trim(),description:S.trim(),steps:R,priority:parseInt(E,10)}}),o()}catch(W){z(W instanceof Error?W.message:"Failed to update feature")}},ae=x.trim()&&v.trim()&&S.trim(),q=w.map(I=>I.value.trim()).filter(I=>I),le=x.trim()!==i.category||v.trim()!==i.name||S.trim()!==i.description||parseInt(E,10)!==i.priority||JSON.stringify(q)!==JSON.stringify(i.steps);return n.jsx(ea,{open:!0,onOpenChange:I=>!I&&d(),children:n.jsxs(ta,{className:"sm:max-w-2xl",children:[n.jsx(aa,{children:n.jsx(na,{children:"Edit Feature"})}),n.jsxs("form",{onSubmit:X,className:"space-y-4",children:[B&&n.jsxs(ht,{variant:"destructive",children:[n.jsx(ua,{className:"h-4 w-4"}),n.jsxs(xt,{className:"flex items-center justify-between",children:[n.jsx("span",{children:B}),n.jsx(F,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>z(null),children:n.jsx(ct,{size:14})})]})]}),n.jsxs("div",{className:"flex gap-4",children:[n.jsxs("div",{className:"flex-1 space-y-2",children:[n.jsx(Ee,{htmlFor:"category",children:"Category"}),n.jsx(rt,{id:"category",type:"text",value:x,onChange:I=>p(I.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),n.jsxs("div",{className:"w-32 space-y-2",children:[n.jsx(Ee,{htmlFor:"priority",children:"Priority"}),n.jsx(rt,{id:"priority",type:"number",value:E,onChange:I=>L(I.target.value),min:"1",required:!0})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"name",children:"Feature Name"}),n.jsx(rt,{id:"name",type:"text",value:v,onChange:I=>g(I.target.value),placeholder:"e.g., User login form",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"description",children:"Description"}),n.jsx(ys,{id:"description",value:S,onChange:I=>T(I.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{children:"Test Steps"}),n.jsx("div",{className:"space-y-2",children:w.map((I,R)=>n.jsxs("div",{className:"flex gap-2 items-center",children:[n.jsx("span",{className:"w-10 h-10 flex-shrink-0 flex items-center justify-center font-mono font-semibold text-sm border rounded-md bg-muted text-muted-foreground",children:R+1}),n.jsx(rt,{type:"text",value:I.value,onChange:W=>P(I.id,W.target.value),placeholder:"Describe this step...",className:"flex-1"}),w.length>1&&n.jsx(F,{type:"button",variant:"ghost",size:"icon",onClick:()=>J(I.id),children:n.jsx(an,{size:18})})]},I.id))}),n.jsxs(F,{type:"button",variant:"ghost",size:"sm",onClick:G,children:[n.jsx(tn,{size:16}),"Add Step"]})]}),n.jsxs(Pt,{className:"pt-4 border-t",children:[n.jsx(F,{type:"button",variant:"outline",onClick:d,children:"Cancel"}),n.jsx(F,{type:"submit",disabled:!ae||!le||N.isPending,children:N.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(xy,{size:18}),"Save Changes"]})})]})]})]})})}function zu({className:i,size:r="default",...d}){return n.jsx(Zp,{"data-slot":"switch","data-size":r,className:ke("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",i),...d,children:n.jsx(Fp,{"data-slot":"switch-thumb",className:ke("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}function Fb({request:i,onSubmit:r,isLoading:d}){const[o,m]=f.useState(()=>{const g={};for(const S of i.fields)S.type==="boolean"?g[S.id]=!1:g[S.id]="";return g}),[x,p]=f.useState(null),v=async()=>{for(const g of i.fields)if(g.required){const S=o[g.id];if(S==null||S===""){p(`"${g.label}" is required`);return}}p(null),await r(o)};return n.jsxs(ht,{className:"border-amber-500 bg-amber-50 dark:bg-amber-950/20",children:[n.jsx(Pi,{className:"h-5 w-5 text-amber-600"}),n.jsxs(xt,{className:"space-y-4",children:[n.jsxs("div",{children:[n.jsx("h4",{className:"font-semibold text-amber-700 dark:text-amber-400",children:"Agent needs your help"}),n.jsx("p",{className:"text-sm text-amber-600 dark:text-amber-300 mt-1",children:i.prompt})]}),n.jsx("div",{className:"space-y-3",children:i.fields.map(g=>n.jsxs("div",{className:"space-y-1.5",children:[n.jsxs(Ee,{htmlFor:`human-input-${g.id}`,className:"text-sm font-medium text-foreground",children:[g.label,g.required&&n.jsx("span",{className:"text-destructive ml-1",children:"*"})]}),g.type==="text"&&n.jsx(rt,{id:`human-input-${g.id}`,value:o[g.id],onChange:S=>m(T=>({...T,[g.id]:S.target.value})),placeholder:g.placeholder||"",disabled:d}),g.type==="textarea"&&n.jsx(ys,{id:`human-input-${g.id}`,value:o[g.id],onChange:S=>m(T=>({...T,[g.id]:S.target.value})),placeholder:g.placeholder||"",disabled:d,rows:3}),g.type==="select"&&g.options&&n.jsx("div",{className:"space-y-1.5",children:g.options.map(S=>n.jsxs("label",{className:`flex items-center gap-2 p-2 rounded-md border cursor-pointer transition-colors
|
|
62
|
-
${o[g.id]===S.value?"border-primary bg-primary/10":"border-border hover:border-primary/50"}`,children:[n.jsx("input",{type:"radio",name:`human-input-${g.id}`,value:S.value,checked:o[g.id]===S.value,onChange:T=>m(E=>({...E,[g.id]:T.target.value})),disabled:d,className:"accent-primary"}),n.jsx("span",{className:"text-sm",children:S.label})]},S.value))}),g.type==="boolean"&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(zu,{id:`human-input-${g.id}`,checked:o[g.id],onCheckedChange:S=>m(T=>({...T,[g.id]:S})),disabled:d}),n.jsx(Ee,{htmlFor:`human-input-${g.id}`,className:"text-sm",children:o[g.id]?"Yes":"No"})]})]},g.id))}),x&&n.jsx("p",{className:"text-sm text-destructive",children:x}),n.jsx(F,{onClick:v,disabled:d,className:"w-full",children:d?n.jsx(Ce,{size:16,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(Ii,{size:16}),"Submit Response"]})})]})]})}function $b(i){const r=["bg-pink-500","bg-cyan-500","bg-green-500","bg-yellow-500","bg-orange-500","bg-purple-500","bg-blue-500"];let d=0;for(let o=0;o<i.length;o++)d=i.charCodeAt(o)+((d<<5)-d);return r[Math.abs(d)%r.length]}function Jb({feature:i,projectName:r,onClose:d}){const[o,m]=f.useState(null),[x,p]=f.useState(!1),[v,g]=f.useState(!1),S=W0(r),T=J0(r),{data:E}=Lh(r),L=P0(r),w=new Map;E&&[...E.pending,...E.in_progress,...E.done,...E.needs_human_input||[]].forEach(b=>{w.set(b.id,b)});const O=(i.dependencies||[]).map(b=>w.get(b)).filter(b=>b!==void 0),B=(i.blocking_dependencies||[]).map(b=>w.get(b)).filter(b=>b!==void 0),z=async()=>{m(null);try{await S.mutateAsync(i.id),d()}catch(b){m(b instanceof Error?b.message:"Failed to skip feature")}},_=async()=>{m(null);try{await T.mutateAsync(i.id),d()}catch(b){m(b instanceof Error?b.message:"Failed to delete feature")}};return v?n.jsx(Zb,{feature:i,projectName:r,onClose:()=>g(!1),onSaved:d}):n.jsx(ea,{open:!0,onOpenChange:b=>!b&&d(),children:n.jsxs(ta,{className:"sm:max-w-2xl p-0 gap-0",children:[n.jsxs(aa,{className:"p-6 pb-4",children:[n.jsx("div",{className:"flex items-start gap-3",children:n.jsx(_e,{className:`${$b(i.category)} text-white`,children:i.category})}),n.jsx(na,{className:"text-xl mt-2",children:i.name})]}),n.jsx(wu,{}),n.jsxs("div",{className:"p-6 space-y-6 max-h-[60vh] overflow-y-auto",children:[o&&n.jsxs(ht,{variant:"destructive",children:[n.jsx(ua,{className:"h-4 w-4"}),n.jsxs(xt,{className:"flex items-center justify-between",children:[n.jsx("span",{children:o}),n.jsx(F,{variant:"ghost",size:"icon-xs",onClick:()=>m(null),children:n.jsx(ct,{size:14})})]})]}),n.jsxs("div",{className:"flex items-center gap-3 p-4 bg-muted rounded-lg",children:[i.passes?n.jsxs(n.Fragment,{children:[n.jsx($t,{size:24,className:"text-primary"}),n.jsx("span",{className:"font-semibold text-primary",children:"COMPLETE"})]}):i.needs_human_input?n.jsxs(n.Fragment,{children:[n.jsx(Pi,{size:24,className:"text-amber-500"}),n.jsx("span",{className:"font-semibold text-amber-500",children:"NEEDS YOUR INPUT"})]}):n.jsxs(n.Fragment,{children:[n.jsx(ol,{size:24,className:"text-muted-foreground"}),n.jsx("span",{className:"font-semibold text-muted-foreground",children:"PENDING"})]}),n.jsxs("span",{className:"ml-auto font-mono text-sm text-muted-foreground",children:["Priority: #",i.priority]})]}),i.needs_human_input&&i.human_input_request&&n.jsx(Fb,{request:i.human_input_request,onSubmit:async b=>{m(null);try{await L.mutateAsync({featureId:i.id,fields:b}),d()}catch(N){m(N instanceof Error?N.message:"Failed to submit response")}},isLoading:L.isPending}),i.human_input_response&&!i.needs_human_input&&n.jsxs(ht,{className:"border-green-500 bg-green-50 dark:bg-green-950/20",children:[n.jsx($t,{className:"h-4 w-4 text-green-600"}),n.jsxs(xt,{children:[n.jsx("h4",{className:"font-semibold mb-1 text-green-700 dark:text-green-400",children:"Human Input Provided"}),n.jsxs("p",{className:"text-sm text-green-600 dark:text-green-300",children:["Response submitted",i.human_input_response.responded_at?` at ${new Date(i.human_input_response.responded_at).toLocaleString()}`:"","."]})]})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Description"}),n.jsx("p",{className:"text-foreground",children:i.description})]}),B.length>0&&n.jsxs(ht,{variant:"destructive",className:"border-orange-500 bg-orange-50 dark:bg-orange-950/20",children:[n.jsx(Ea,{className:"h-4 w-4 text-orange-600"}),n.jsxs(xt,{children:[n.jsx("h4",{className:"font-semibold mb-1 text-orange-700 dark:text-orange-400",children:"Blocked By"}),n.jsx("p",{className:"text-sm text-orange-600 dark:text-orange-300 mb-2",children:"This feature cannot start until the following dependencies are complete:"}),n.jsx("ul",{className:"space-y-1",children:B.map(b=>n.jsxs("li",{className:"flex items-center gap-2 text-sm text-orange-600 dark:text-orange-300",children:[n.jsx(ol,{size:14}),n.jsxs("span",{className:"font-mono text-xs",children:["#",b.id]}),n.jsx("span",{children:b.name})]},b.id))})]})]}),O.length>0&&n.jsxs("div",{children:[n.jsxs("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground flex items-center gap-2",children:[n.jsx(gy,{size:16}),"Depends On"]}),n.jsx("ul",{className:"space-y-1",children:O.map(b=>n.jsxs("li",{className:"flex items-center gap-2 p-2 bg-muted rounded-md text-sm",children:[b.passes?n.jsx($t,{size:16,className:"text-primary"}):n.jsx(ol,{size:16,className:"text-muted-foreground"}),n.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:["#",b.id]}),n.jsx("span",{className:b.passes?"text-primary":"",children:b.name})]},b.id))})]}),i.steps.length>0&&n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Test Steps"}),n.jsx("ol",{className:"list-decimal list-inside space-y-2",children:i.steps.map((b,N)=>n.jsx("li",{className:"p-3 bg-muted rounded-md text-sm",children:b},N))})]})]}),!i.passes&&n.jsxs(n.Fragment,{children:[n.jsx(wu,{}),n.jsx(Pt,{className:"p-4 bg-muted/50",children:x?n.jsxs("div",{className:"w-full space-y-4",children:[n.jsx("p",{className:"font-medium text-center",children:"Are you sure you want to delete this feature?"}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx(F,{variant:"destructive",onClick:_,disabled:T.isPending,className:"flex-1",children:T.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):"Yes, Delete"}),n.jsx(F,{variant:"outline",onClick:()=>p(!1),disabled:T.isPending,className:"flex-1",children:"Cancel"})]})]}):n.jsxs("div",{className:"flex gap-3 w-full",children:[n.jsxs(F,{onClick:()=>g(!0),disabled:S.isPending,className:"flex-1",children:[n.jsx(py,{size:18}),"Edit"]}),n.jsx(F,{variant:"secondary",onClick:z,disabled:S.isPending,className:"flex-1",children:S.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(yy,{size:18}),"Skip"]})}),n.jsx(F,{variant:"destructive",size:"icon",onClick:()=>p(!0),disabled:S.isPending,children:n.jsx(an,{size:18})})]})})]})]})})}const Wb={background:"#09090b",foreground:"#fafafa",cursor:"#3b82f6",cursorAccent:"#09090b",selectionBackground:"rgba(59, 130, 246, 0.3)",selectionForeground:"#ffffff",black:"#09090b",red:"#ef4444",green:"#22c55e",yellow:"#eab308",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#fafafa",brightBlack:"#52525b",brightRed:"#f87171",brightGreen:"#4ade80",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#ffffff"},ih=1e3,ch=3e4;function Ib({projectName:i,terminalId:r,isActive:d}){const o=f.useRef(null),m=f.useRef(null),x=f.useRef(null),p=f.useRef(null),v=f.useRef(null),g=f.useRef(0),S=f.useRef(!1),T=f.useRef(!1),E=f.useRef(!1),L=f.useRef(!1),w=f.useRef(null),O=f.useRef(null),B=f.useRef(null),z=f.useRef(d),[_,b]=f.useState(!1),[N,G]=f.useState(!1),[J,P]=f.useState(null);f.useEffect(()=>{E.current=N},[N]),f.useEffect(()=>{z.current=d},[d]);const X=f.useCallback(Z=>{const y=new TextEncoder().encode(Z);let D="";for(let ee=0;ee<y.length;ee++)D+=String.fromCharCode(y[ee]);return btoa(D)},[]),ae=f.useCallback(Z=>{try{const $=atob(Z),y=new Uint8Array($.length);for(let ee=0;ee<$.length;ee++)y[ee]=$.charCodeAt(ee);return new TextDecoder().decode(y)}catch{return console.error("Failed to decode base64 data"),""}},[]),q=f.useCallback(Z=>{p.current?.readyState===WebSocket.OPEN&&p.current.send(JSON.stringify(Z))},[]),le=f.useCallback((Z,$)=>{q({type:"resize",cols:Z,rows:$})},[q]),I=f.useCallback(()=>{if(x.current&&m.current)try{const Z=x.current.proposeDimensions();Z&&Z.cols&&Z.rows&&!isNaN(Z.cols)&&!isNaN(Z.rows)&&Z.cols>=1&&Z.rows>=1&&x.current.fit();const{cols:y,rows:D}=m.current;y>0&&D>0&&le(y,D)}catch{}},[le]),R=f.useCallback(()=>{if(!i||!r||!z.current||T.current||p.current?.readyState===WebSocket.CONNECTING||p.current?.readyState===WebSocket.OPEN)return;T.current=!0,v.current&&(clearTimeout(v.current),v.current=null);const Z=window.location.protocol==="https:"?"wss:":"ws:",$=window.location.host,y=`${Z}//${$}/api/terminal/ws/${encodeURIComponent(i)}/${encodeURIComponent(r)}`;try{const D=new WebSocket(y);p.current=D,D.onopen=()=>{if(T.current=!1,b(!0),G(!1),P(null),g.current=0,m.current){const{cols:ee,rows:te}=m.current;le(ee,te)}},D.onmessage=ee=>{try{const te=JSON.parse(ee.data);switch(te.type){case"output":{const oe=ae(te.data);oe&&m.current&&m.current.write(oe);break}case"exit":{G(!0),P(te.code),m.current&&(m.current.writeln(""),m.current.writeln(`\x1B[33m[Shell exited with code ${te.code}]\x1B[0m`),m.current.writeln("\x1B[90mPress any key to reconnect...\x1B[0m"));break}}}catch{console.error("Failed to parse terminal WebSocket message")}},D.onclose=()=>{T.current=!1,b(!1),p.current=null;const ee=z.current&&!E.current&&!L.current;if(L.current=!1,ee){const te=Math.min(ih*Math.pow(2,g.current),ch);g.current++,v.current=window.setTimeout(()=>{R()},te)}},D.onerror=()=>{D.close()}}catch{T.current=!1;const D=Math.min(ih*Math.pow(2,g.current),ch);g.current++,v.current=window.setTimeout(()=>{R()},D)}},[i,r,le,ae]);f.useEffect(()=>{w.current=R},[R]);const W=f.useCallback(()=>{if(!o.current||S.current)return;const Z=new Gy({theme:Wb,fontFamily:"JetBrains Mono, Consolas, Monaco, monospace",fontSize:14,cursorBlink:!0,cursorStyle:"block",allowProposedApi:!0,scrollback:1e4}),$=new Qy;Z.loadAddon($),Z.open(o.current),m.current=Z,x.current=$,S.current=!0,Z.onData(y=>{if(E.current){G(!1),P(null),w.current?.();return}const D={type:"input",data:X(y)};q(D)}),Z.onResize(({cols:y,rows:D})=>{le(y,D)})},[X,q,le]);return f.useEffect(()=>{if(!d)return;const Z=()=>{I()};return window.addEventListener("resize",Z),()=>{window.removeEventListener("resize",Z)}},[d,I]),f.useEffect(()=>{if(!d){v.current&&(clearTimeout(v.current),v.current=null);return}S.current||W();let Z,$;const y=()=>{Z=requestAnimationFrame(()=>{$=requestAnimationFrame(()=>{(!p.current||p.current.readyState!==WebSocket.OPEN)&&w.current?.()})})},D=window.setTimeout(y,50);return()=>{clearTimeout(D),cancelAnimationFrame(Z),cancelAnimationFrame($)}},[d,W]),f.useEffect(()=>{if(d&&m.current){let Z,$;const y=()=>{Z=requestAnimationFrame(()=>{$=requestAnimationFrame(()=>{m.current&&x.current&&(I(),m.current.refresh(0,m.current.rows-1),m.current.focus())})})},D=window.setTimeout(y,16);return()=>{clearTimeout(D),cancelAnimationFrame(Z),cancelAnimationFrame($)}}},[d,I]),f.useEffect(()=>()=>{v.current&&clearTimeout(v.current),p.current&&p.current.close(),m.current&&m.current.dispose(),S.current=!1},[]),f.useEffect(()=>{if(d&&S.current){if(O.current===null&&B.current===null){O.current=i,B.current=r;return}if(O.current===i&&B.current===r)return;O.current=i,B.current=r,m.current&&(m.current.clear(),m.current.write("\x1B[H")),L.current=!0,p.current&&(p.current.close(),p.current=null),T.current=!1,G(!1),P(null),g.current=0,w.current?.()}},[i,r,d]),n.jsxs("div",{className:"relative h-full w-full bg-zinc-950",children:[n.jsxs("div",{className:"absolute top-2 right-2 z-10 flex items-center gap-2",children:[n.jsx("div",{className:`w-2 h-2 rounded-full ${_?"bg-green-500":"bg-destructive"}`,title:_?"Connected":"Disconnected"}),!_&&!N&&n.jsx("span",{className:"text-xs font-mono text-muted-foreground",children:"Connecting..."}),N&&J!==null&&n.jsxs("span",{className:"text-xs font-mono text-yellow-500",children:["Exit: ",J]})]}),n.jsx("div",{ref:o,className:"h-full w-full p-2",style:{minHeight:"100px"},onClick:()=>{m.current?.focus()}})]})}function Pb({terminals:i,activeTerminalId:r,onSelect:d,onCreate:o,onRename:m,onClose:x}){const[p,v]=f.useState(null),[g,S]=f.useState(""),[T,E]=f.useState({visible:!1,x:0,y:0,terminalId:null}),L=f.useRef(null),w=f.useRef(null);f.useEffect(()=>{p&&L.current&&(L.current.focus(),L.current.select())},[p]),f.useEffect(()=>{const X=ae=>{w.current&&!w.current.contains(ae.target)&&E(q=>({...q,visible:!1}))};if(T.visible)return document.addEventListener("mousedown",X),()=>document.removeEventListener("mousedown",X)},[T.visible]);const O=f.useCallback(X=>{v(X.id),S(X.name),E(ae=>({...ae,visible:!1}))},[]),B=f.useCallback(()=>{p&&g.trim()&&m(p,g.trim()),v(null),S("")},[p,g,m]),z=f.useCallback(()=>{v(null),S("")},[]),_=f.useCallback(X=>{ps(X,!1)?(X.preventDefault(),B()):X.key==="Escape"&&(X.preventDefault(),z())},[B,z]),b=f.useCallback(X=>{O(X)},[O]),N=f.useCallback((X,ae)=>{X.preventDefault(),E({visible:!0,x:X.clientX,y:X.clientY,terminalId:ae})},[]),G=f.useCallback(()=>{if(T.terminalId){const X=i.find(ae=>ae.id===T.terminalId);X&&O(X)}},[T.terminalId,i,O]),J=f.useCallback(()=>{T.terminalId&&x(T.terminalId),E(X=>({...X,visible:!1}))},[T.terminalId,x]),P=f.useCallback((X,ae)=>{X.stopPropagation(),x(ae)},[x]);return n.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-zinc-900 border-b border-border overflow-x-auto",children:[i.map(X=>n.jsxs("div",{className:`
|
|
63
|
-
group flex items-center gap-1 px-3 py-1 rounded cursor-pointer
|
|
64
|
-
transition-colors duration-100 select-none min-w-0
|
|
65
|
-
${r===X.id?"bg-primary text-primary-foreground":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"}
|
|
66
|
-
`,onClick:()=>d(X.id),onDoubleClick:()=>b(X),onContextMenu:ae=>N(ae,X.id),children:[p===X.id?n.jsx(rt,{ref:L,type:"text",value:g,onChange:ae=>S(ae.target.value),onBlur:B,onKeyDown:_,className:"h-6 px-1 py-0 text-sm font-mono w-24",onClick:ae=>ae.stopPropagation()}):n.jsx("span",{className:"text-sm font-mono truncate max-w-[120px]",children:X.name}),i.length>1&&n.jsx("button",{onClick:ae=>P(ae,X.id),className:`
|
|
67
|
-
p-0.5 rounded opacity-0 group-hover:opacity-100 transition-opacity
|
|
68
|
-
${r===X.id?"hover:bg-black/20":"hover:bg-white/20"}
|
|
69
|
-
`,title:"Close terminal",children:n.jsx(ct,{className:"w-3 h-3"})})]},X.id)),n.jsx(F,{variant:"ghost",size:"icon",onClick:o,className:"h-8 w-8 bg-zinc-800 text-zinc-300 hover:bg-zinc-700",title:"New terminal",children:n.jsx(tn,{className:"w-4 h-4"})}),T.visible&&n.jsxs("div",{ref:w,className:"fixed z-50 bg-popover border border-border rounded-md py-1 min-w-[120px] shadow-md",style:{left:T.x,top:T.y},children:[n.jsx("button",{onClick:G,className:"w-full px-3 py-1.5 text-left text-sm font-mono hover:bg-accent transition-colors",children:"Rename"}),i.length>1&&n.jsx("button",{onClick:J,className:"w-full px-3 py-1.5 text-left text-sm font-mono text-destructive hover:bg-destructive hover:text-destructive-foreground transition-colors",children:"Close"})]})]})}const rh=150,uh=600,ej=288,oh="debug-panel-height",dh="debug-panel-tab";function tj({logs:i,devLogs:r,isOpen:d,onToggle:o,onClear:m,onClearDevLogs:x,onHeightChange:p,projectName:v,activeTab:g,onTabChange:S}){const T=f.useRef(null),E=f.useRef(null),[L,w]=f.useState(!0),[O,B]=f.useState(!0),[z,_]=f.useState(!1),[b,N]=f.useState(()=>{const ne=localStorage.getItem(oh);return ne?Math.min(Math.max(parseInt(ne,10),rh),uh):ej}),[G,J]=f.useState(()=>localStorage.getItem(dh)||"agent"),[P,X]=f.useState([]),[ae,q]=f.useState(null),[le,I]=f.useState(!1),R=g??G,W=ne=>{J(ne),localStorage.setItem(dh,ne),S?.(ne)},Z=f.useCallback(async()=>{if(v){I(!0);try{const ne=await R0(v);X(ne),ne.length>0&&(!ae||!ne.find(ue=>ue.id===ae))&&q(ne[0].id)}catch(ne){console.error("Failed to fetch terminals:",ne)}finally{I(!1)}}},[v,ae]),$=f.useCallback(async()=>{if(v)try{const ne=await U0(v);X(ue=>[...ue,ne]),q(ne.id)}catch(ne){console.error("Failed to create terminal:",ne)}},[v]),y=f.useCallback(async(ne,ue)=>{if(v)try{const Oe=await B0(v,ne,ue);X(gt=>gt.map(tt=>tt.id===ne?Oe:tt))}catch(Oe){console.error("Failed to rename terminal:",Oe)}},[v]),D=f.useCallback(async ne=>{if(!(!v||P.length<=1))try{if(await L0(v,ne),X(ue=>ue.filter(Oe=>Oe.id!==ne)),ae===ne){const ue=P.filter(Oe=>Oe.id!==ne);ue.length>0&&q(ue[0].id)}}catch(ue){console.error("Failed to close terminal:",ue)}},[v,P,ae]);f.useEffect(()=>{v?Z():(X([]),q(null))},[v]),f.useEffect(()=>{L&&T.current&&d&&R==="agent"&&(T.current.scrollTop=T.current.scrollHeight)},[i,L,d,R]),f.useEffect(()=>{O&&E.current&&d&&R==="devserver"&&(E.current.scrollTop=E.current.scrollHeight)},[r,O,d,R]),f.useEffect(()=>{p&&d&&p(b)},[b,d,p]);const ee=f.useCallback(ne=>{const ue=window.innerHeight-ne.clientY,Oe=Math.min(Math.max(ue,rh),uh);N(Oe)},[]),te=f.useCallback(()=>{_(!1),localStorage.setItem(oh,b.toString())},[b]);f.useEffect(()=>(z&&(document.addEventListener("mousemove",ee),document.addEventListener("mouseup",te),document.body.style.cursor="ns-resize",document.body.style.userSelect="none"),()=>{document.removeEventListener("mousemove",ee),document.removeEventListener("mouseup",te),document.body.style.cursor="",document.body.style.userSelect=""}),[z,ee,te]);const oe=ne=>{ne.preventDefault(),ne.stopPropagation(),_(!0)},ie=ne=>{const ue=ne.currentTarget,Oe=ue.scrollHeight-ue.scrollTop<=ue.clientHeight+50;w(Oe)},he=ne=>{const ue=ne.currentTarget,Oe=ue.scrollHeight-ue.scrollTop<=ue.clientHeight+50;B(Oe)},V=()=>{R==="agent"?m():R==="devserver"&&x()},fe=()=>R==="agent"?i.length:R==="devserver"?r.length:0,me=()=>R==="agent"?!L:R==="devserver"?!O:!1,Xe=ne=>{const ue=ne.toLowerCase();return ue.includes("error")||ue.includes("exception")||ue.includes("traceback")?"error":ue.includes("warn")||ue.includes("warning")?"warn":ue.includes("debug")?"debug":"info"},bt=ne=>{switch(ne){case"error":return"text-red-500";case"warn":return"text-yellow-500";case"debug":return"text-blue-400";default:return"text-foreground"}},pt=ne=>{try{return new Date(ne).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return""}};return n.jsxs("div",{className:`fixed bottom-0 left-0 right-0 z-40 ${z?"":"transition-all duration-200"}`,style:{height:d?b:40},children:[d&&n.jsx("div",{className:"absolute top-0 left-0 right-0 h-2 cursor-ns-resize group flex items-center justify-center -translate-y-1/2 z-50",onMouseDown:oe,children:n.jsx("div",{className:"w-16 h-1.5 bg-border rounded-full group-hover:bg-muted-foreground transition-colors flex items-center justify-center",children:n.jsx(vy,{size:12,className:"text-muted-foreground group-hover:text-foreground"})})}),n.jsxs("div",{className:"flex items-center justify-between h-10 px-4 bg-muted border-t border-border",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("button",{onClick:o,className:"flex items-center gap-2 hover:bg-accent px-2 py-1 rounded transition-colors cursor-pointer",children:[n.jsx(Cu,{size:16,className:"text-green-500"}),n.jsx("span",{className:"font-mono text-sm text-foreground font-bold",children:"Debug"}),n.jsx(_e,{variant:"secondary",className:"text-xs font-mono",title:"Toggle debug panel",children:"D"})]}),d&&n.jsxs("div",{className:"flex items-center gap-1 ml-4",children:[n.jsxs(F,{variant:R==="agent"?"secondary":"ghost",size:"sm",onClick:ne=>{ne.stopPropagation(),W("agent")},className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(by,{size:12}),"Agent",i.length>0&&n.jsx(_e,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:i.length})]}),n.jsxs(F,{variant:R==="devserver"?"secondary":"ghost",size:"sm",onClick:ne=>{ne.stopPropagation(),W("devserver")},className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(jy,{size:12}),"Dev Server",r.length>0&&n.jsx(_e,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:r.length})]}),n.jsxs(F,{variant:R==="terminal"?"secondary":"ghost",size:"sm",onClick:ne=>{ne.stopPropagation(),W("terminal")},className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(Cu,{size:12}),"Terminal",n.jsx(_e,{variant:"outline",className:"h-4 px-1.5 text-[10px]",title:"Toggle terminal",children:"T"})]})]}),d&&R!=="terminal"&&n.jsxs(n.Fragment,{children:[fe()>0&&n.jsx(_e,{variant:"secondary",className:"ml-2 font-mono",children:fe()}),me()&&n.jsx(_e,{variant:"default",className:"bg-yellow-500 text-yellow-950",children:"Paused"})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[d&&R!=="terminal"&&n.jsx(F,{variant:"ghost",size:"icon",onClick:ne=>{ne.stopPropagation(),V()},className:"h-7 w-7",title:"Clear logs",children:n.jsx(an,{size:14,className:"text-muted-foreground"})}),n.jsx("div",{className:"p-1",children:d?n.jsx(xs,{size:16,className:"text-muted-foreground"}):n.jsx(Fi,{size:16,className:"text-muted-foreground"})})]})]}),d&&n.jsxs("div",{className:"h-[calc(100%-2.5rem)] bg-card",children:[R==="agent"&&n.jsx("div",{ref:T,onScroll:ie,className:"h-full overflow-y-auto p-2 font-mono text-sm",children:i.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No logs yet. Start the agent to see output."}):n.jsx("div",{className:"space-y-0.5",children:i.map((ne,ue)=>{const Oe=Xe(ne.line),gt=bt(Oe),tt=pt(ne.timestamp);return n.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[n.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:tt}),n.jsx("span",{className:`${gt} whitespace-pre-wrap break-all`,children:ne.line})]},`${ne.timestamp}-${ue}`)})})}),R==="devserver"&&n.jsx("div",{ref:E,onScroll:he,className:"h-full overflow-y-auto p-2 font-mono text-sm",children:r.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No dev server logs yet."}):n.jsx("div",{className:"space-y-0.5",children:r.map((ne,ue)=>{const Oe=Xe(ne.line),gt=bt(Oe),tt=pt(ne.timestamp);return n.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[n.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:tt}),n.jsx("span",{className:`${gt} whitespace-pre-wrap break-all`,children:ne.line})]},`${ne.timestamp}-${ue}`)})})}),R==="terminal"&&n.jsxs("div",{className:"h-full flex flex-col",children:[P.length>0&&n.jsx(Pb,{terminals:P,activeTerminalId:ae,onSelect:q,onCreate:$,onRename:y,onClose:D}),n.jsx("div",{className:"flex-1 min-h-0 relative",children:le?n.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"Loading terminals..."}):P.length===0?n.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"No terminal available"}):P.map(ne=>{const ue=ne.id===ae;return n.jsx("div",{className:"absolute inset-0",style:{zIndex:ue?10:1,transform:ue?"none":"translateX(-200%)",pointerEvents:ue?"auto":"none"},children:n.jsx(Ib,{projectName:v,terminalId:ne.id,isActive:R==="terminal"&&ue})},ne.id)})})]})]})]})}function aj(i){switch(i){case"idle":return"Standing by...";case"thinking":return"Pondering...";case"working":return"Coding away...";case"testing":return"Checking work...";case"success":return"Nailed it!";case"error":return"Trying plan B...";case"struggling":return"Being persistent...";default:return"Busy..."}}function nj(i){switch(i){case"success":return"text-primary";case"error":return"text-yellow-600";case"struggling":return"text-orange-500";case"working":case"testing":return"text-primary";case"thinking":return"text-yellow-600";default:return"text-muted-foreground"}}function Kh(i){return i==="testing"?{label:"TEST",className:"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",icon:Mh}:{label:"CODE",className:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300",icon:kh}}function lj({agent:i,onShowLogs:r}){const d=["thinking","working","testing"].includes(i.state),o=i.logs&&i.logs.length>0,m=Kh(i.agentType||"coding"),x=m.icon;return n.jsx(Me,{className:`min-w-[180px] max-w-[220px] py-3 ${d?"animate-pulse":""}`,children:n.jsxs(He,{className:"p-3 space-y-2",children:[n.jsx("div",{className:"flex justify-end",children:n.jsxs(_e,{variant:"outline",className:`text-[10px] ${m.className}`,children:[n.jsx(x,{size:10}),m.label]})}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(pl,{name:i.agentName,state:i.state,size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-semibold text-sm truncate",children:i.agentName}),n.jsx("div",{className:`text-xs ${nj(i.state)}`,children:aj(i.state)})]}),o&&r&&n.jsx(F,{variant:"ghost",size:"icon-xs",onClick:()=>r(i.agentIndex),title:`View logs (${i.logs?.length||0} entries)`,children:n.jsx(Sy,{size:14,className:"text-muted-foreground"})})]}),n.jsx("div",{children:i.featureIds&&i.featureIds.length>1?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Batch: ",i.featureIds.map(p=>`#${p}`).join(", ")]}),n.jsxs("div",{className:"text-sm font-bold truncate",children:["Active: Feature #",i.featureId]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Feature #",i.featureId]}),n.jsx("div",{className:"text-sm font-medium truncate",title:i.featureName,children:i.featureName})]})}),i.thought&&n.jsx("div",{className:"pt-2 border-t border-border/50",children:n.jsxs("div",{className:"flex items-start gap-1.5",children:[n.jsx(Mu,{size:14,className:"text-primary shrink-0 mt-0.5"}),n.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2 italic",title:i.thought,children:i.thought})]})})]})})}function sj({agent:i,logs:r,onClose:d}){const[o,m]=f.useState(!1),x=Kh(i.agentType||"coding"),p=x.icon,v=async()=>{const S=r.map(T=>`[${T.timestamp}] ${T.line}`).join(`
|
|
70
|
-
`);await navigator.clipboard.writeText(S),m(!0),setTimeout(()=>m(!1),2e3)},g=S=>{switch(S){case"error":return"text-destructive";case"state_change":return"text-primary";default:return"text-foreground"}};return Ch.createPortal(n.jsx("div",{className:"fixed inset-0 flex items-center justify-center p-4 bg-black/50",style:{zIndex:9999},onClick:S=>{S.target===S.currentTarget&&d()},children:n.jsxs(Me,{className:"w-full max-w-4xl max-h-[80vh] flex flex-col py-0",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(pl,{name:i.agentName,state:i.state,size:"sm"}),n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("h2",{className:"font-semibold text-lg",children:[i.agentName," Logs"]}),n.jsxs(_e,{variant:"outline",className:`text-[10px] ${x.className}`,children:[n.jsx(p,{size:10}),x.label]})]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:i.featureIds&&i.featureIds.length>1?`Batch: ${i.featureIds.map(S=>`#${S}`).join(", ")}`:`Feature #${i.featureId}: ${i.featureName}`})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs(F,{variant:"outline",size:"sm",onClick:v,children:[o?n.jsx(ra,{size:14}):n.jsx(Ny,{size:14}),o?"Copied!":"Copy"]}),n.jsx(F,{variant:"ghost",size:"icon-sm",onClick:d,children:n.jsx(ct,{size:20})})]})]}),n.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 bg-muted/50",children:n.jsx("div",{className:"font-mono text-xs space-y-1",children:r.length===0?n.jsx("p",{className:"text-muted-foreground italic",children:"No logs available"}):r.map((S,T)=>n.jsxs("div",{className:`${g(S.type)} whitespace-pre-wrap break-all`,children:[n.jsxs("span",{className:"text-muted-foreground",children:["[",new Date(S.timestamp).toLocaleTimeString(),"]"]})," ",S.line]},T))})}),n.jsxs("div",{className:"p-3 border-t text-xs text-muted-foreground",children:[r.length," log entries"]})]})}),document.body)}function ij(i){const r=new Date(i),o=new Date().getTime()-r.getTime(),m=Math.floor(o/1e3);return m<5?"just now":m<60?`${m}s ago`:m<3600?`${Math.floor(m/60)}m ago`:r.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function cj({activities:i,maxItems:r=5,showHeader:d=!0}){const o=i.slice(0,r);return o.length===0?null:n.jsxs("div",{children:[d&&n.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[n.jsx(Oh,{size:14,className:"text-muted-foreground"}),n.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"})]}),n.jsx("div",{className:"space-y-2",children:o.map(m=>n.jsx(Me,{className:"py-1.5",children:n.jsxs(He,{className:"p-2 flex items-start gap-2",children:[n.jsx(pl,{name:m.agentName,state:"working",size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"text-xs font-semibold",style:{color:rj(m.agentName)},children:m.agentName}),n.jsxs("span",{className:"text-[10px] text-muted-foreground",children:["#",m.featureId]}),n.jsx("span",{className:"text-[10px] text-muted-foreground ml-auto",children:ij(m.timestamp)})]}),n.jsx("p",{className:"text-xs text-muted-foreground truncate",title:m.thought,children:m.thought})]})]})},`${m.featureId}-${m.timestamp}-${m.thought.slice(0,20)}`))})]})}function rj(i){return{Spark:"#3B82F6",Fizz:"#F97316",Octo:"#8B5CF6",Hoot:"#22C55E",Buzz:"#EAB308",Pixel:"#EC4899",Byte:"#06B6D4",Nova:"#F43F5E",Chip:"#84CC16",Bolt:"#FBBF24",Dash:"#14B8A6",Zap:"#A855F7",Gizmo:"#64748B",Turbo:"#EF4444",Blip:"#10B981",Neon:"#D946EF",Widget:"#6366F1",Zippy:"#F59E0B",Quirk:"#0EA5E9",Flux:"#7C3AED"}[i]||"#6B7280"}const uj={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}},nt={primary:"#7C3AED",secondary:"#A78BFA",accent:"#EDE9FE",baton:"#FBBF24",gold:"#F59E0B"};function oj({size:i,state:r}){const d=r==="spawning"?"animate-conducting":r==="scheduling"?"animate-baton-tap":"";return n.jsxs("svg",{width:i,height:i,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"22",y:"54",width:"20",height:"6",rx:"2",fill:nt.primary,opacity:"0.3"}),n.jsx("rect",{x:"18",y:"28",width:"28",height:"26",rx:"4",fill:nt.primary}),n.jsx("rect",{x:"26",y:"32",width:"12",height:"18",fill:nt.accent}),n.jsx("rect",{x:"30",y:"32",width:"4",height:"18",fill:nt.secondary}),n.jsx("path",{d:"M27,30 L32,33 L37,30 L32,32 Z",fill:nt.gold}),n.jsx("rect",{x:"16",y:"6",width:"32",height:"24",rx:"4",fill:nt.secondary}),n.jsx("rect",{x:"14",y:"2",width:"36",height:"8",rx:"2",fill:nt.primary}),n.jsx("rect",{x:"20",y:"0",width:"24",height:"4",rx:"2",fill:nt.primary}),n.jsx("circle",{cx:"32",cy:"2",r:"3",fill:nt.gold}),n.jsx("circle",{cx:"24",cy:"16",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"16",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"16",r:"2",fill:nt.primary}),n.jsx("circle",{cx:"41",cy:"16",r:"2",fill:nt.primary}),n.jsx("path",{d:"M26,24 Q32,28 38,24",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"}),n.jsx("rect",{x:"8",y:"32",width:"10",height:"4",rx:"2",fill:nt.primary}),n.jsx("rect",{x:"46",y:"28",width:"10",height:"4",rx:"2",fill:nt.primary,className:d,style:{transformOrigin:"46px 30px"}}),n.jsx("circle",{cx:"56",cy:"30",r:"4",fill:nt.secondary,className:d,style:{transformOrigin:"46px 30px"}}),n.jsxs("g",{className:d,style:{transformOrigin:"56px 30px"},children:[n.jsx("line",{x1:"56",y1:"26",x2:"62",y2:"10",stroke:nt.baton,strokeWidth:"2",strokeLinecap:"round"}),n.jsx("circle",{cx:"62",cy:"10",r:"2",fill:nt.gold})]}),(r==="spawning"||r==="monitoring")&&n.jsxs(n.Fragment,{children:[n.jsx("text",{x:"4",y:"20",fontSize:"8",fill:nt.secondary,className:"animate-pulse",children:"♪"}),n.jsx("text",{x:"58",y:"48",fontSize:"8",fill:nt.secondary,className:"animate-pulse",style:{animationDelay:"0.3s"},children:"♫"})]})]})}function dj(i){switch(i){case"idle":return"animate-bounce-gentle";case"initializing":return"animate-thinking";case"scheduling":return"animate-thinking";case"spawning":return"animate-working";case"monitoring":return"animate-bounce-gentle";case"draining":return"animate-thinking";case"paused":return"";case"complete":return"animate-celebrate";default:return""}}function fj(i){switch(i){case"initializing":return"shadow-[0_0_12px_rgba(124,58,237,0.4)]";case"scheduling":return"shadow-[0_0_10px_rgba(167,139,250,0.5)]";case"spawning":return"shadow-[0_0_16px_rgba(124,58,237,0.6)]";case"monitoring":return"shadow-[0_0_8px_rgba(167,139,250,0.4)]";case"draining":return"shadow-[0_0_10px_rgba(251,191,36,0.5)]";case"paused":return"";case"complete":return"shadow-[0_0_20px_rgba(112,224,0,0.6)]";default:return""}}function mj(i){switch(i){case"idle":return"waiting";case"initializing":return"initializing features";case"scheduling":return"selecting next features";case"spawning":return"spawning agents";case"monitoring":return"monitoring progress";case"draining":return"draining active agents";case"paused":return"paused";case"complete":return"all features complete";default:return i}}function hj({state:i,size:r="md"}){const{svg:d}=uj[r],m=`Orchestrator Maestro is ${mj(i)}`;return n.jsx("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":m,"aria-live":"polite",children:n.jsx("div",{className:`
|
|
71
|
-
rounded-full p-1 transition-all duration-300
|
|
72
|
-
${dj(i)}
|
|
73
|
-
${fj(i)}
|
|
74
|
-
`,style:{backgroundColor:nt.accent},title:m,role:"img","aria-hidden":"true",children:n.jsx(oj,{size:d,state:i})})})}function xj(i){switch(i){case"idle":return"Standing by...";case"initializing":return"Setting up features...";case"scheduling":return"Planning next moves...";case"spawning":return"Deploying agents...";case"monitoring":return"Watching progress...";case"complete":return"Mission accomplished!";case"draining":return"Draining agents...";case"paused":return"Paused";default:return"Orchestrating..."}}function gj(i){switch(i){case"complete":return"text-primary";case"spawning":return"text-primary";case"scheduling":case"monitoring":return"text-primary";case"initializing":return"text-yellow-600 dark:text-yellow-400";case"draining":return"text-amber-600 dark:text-amber-400";case"paused":return"text-muted-foreground";default:return"text-muted-foreground"}}function pj(i){const r=new Date,d=new Date(i),o=r.getTime()-d.getTime(),m=Math.floor(o/1e3);if(m<5)return"just now";if(m<60)return`${m}s ago`;const x=Math.floor(m/60);return x<60?`${x}m ago`:`${Math.floor(x/60)}h ago`}function yj({status:i}){const[r,d]=f.useState(!1);return n.jsx(Me,{className:"mb-4 bg-primary/10 border-primary/30 py-4",children:n.jsxs(He,{className:"p-4",children:[n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx(hj,{state:i.state,size:"md"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx("span",{className:"font-semibold text-lg text-primary",children:"Maestro"}),n.jsx("span",{className:`text-sm font-medium ${gj(i.state)}`,children:xj(i.state)})]}),n.jsx("p",{className:"text-sm text-foreground mb-3 line-clamp-2",children:i.message}),n.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[n.jsxs(_e,{variant:"outline",className:"bg-blue-100 text-blue-700 border-blue-300 dark:bg-blue-900/30 dark:text-blue-300 dark:border-blue-700",children:[n.jsx(kh,{size:12}),"Coding: ",i.codingAgents]}),n.jsxs(_e,{variant:"outline",className:"bg-purple-100 text-purple-700 border-purple-300 dark:bg-purple-900/30 dark:text-purple-300 dark:border-purple-700",children:[n.jsx(Mh,{size:12}),"Testing: ",i.testingAgents]}),n.jsxs(_e,{variant:"outline",className:"bg-green-100 text-green-700 border-green-300 dark:bg-green-900/30 dark:text-green-300 dark:border-green-700",children:[n.jsx(dl,{size:12}),"Ready: ",i.readyCount]}),i.blockedCount>0&&n.jsxs(_e,{variant:"outline",className:"bg-amber-100 text-amber-700 border-amber-300 dark:bg-amber-900/30 dark:text-amber-300 dark:border-amber-700",children:[n.jsx(Cy,{size:12}),"Blocked: ",i.blockedCount]})]})]}),i.recentEvents.length>0&&n.jsxs(F,{variant:"ghost",size:"sm",onClick:()=>d(!r),className:"text-primary hover:bg-primary/10",children:[n.jsx(Nn,{size:12}),"Activity",r?n.jsx(Fi,{size:14}):n.jsx(xs,{size:14})]})]}),r&&i.recentEvents.length>0&&n.jsx("div",{className:"mt-3 pt-3 border-t border-primary/20",children:n.jsx("div",{className:"space-y-1.5",children:i.recentEvents.map((o,m)=>n.jsxs("div",{className:"flex items-start gap-2 text-xs",children:[n.jsx("span",{className:"text-primary shrink-0 font-mono",children:pj(o.timestamp)}),n.jsx("span",{className:"text-foreground",children:o.message})]},`${o.timestamp}-${m}`))})})]})})}const fh="autoforge-activity-collapsed";function vj({agents:i,orchestratorStatus:r,recentActivity:d,isExpanded:o=!0,getAgentLogs:m}){const[x,p]=f.useState(o),[v,g]=f.useState(()=>{try{return localStorage.getItem(fh)==="true"}catch{return!1}}),[S,T]=f.useState(null),E=()=>{const L=!v;g(L);try{localStorage.setItem(fh,String(L))}catch{}};return!r&&i.length===0?null:n.jsxs(Me,{className:"mb-6 overflow-hidden py-0",children:[n.jsxs("button",{onClick:()=>p(!x),className:"w-full flex items-center justify-between px-4 py-3 bg-primary hover:bg-primary/90 transition-colors",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(wy,{size:20,className:"text-primary-foreground"}),n.jsx("span",{className:"font-semibold text-primary-foreground uppercase tracking-wide",children:"Mission Control"}),n.jsx(_e,{variant:"secondary",className:"ml-2",children:i.length>0?`${i.length} ${i.length===1?"agent":"agents"} active`:r?.state==="initializing"?"Initializing":r?.state==="draining"?"Draining":r?.state==="paused"?"Paused":r?.state==="complete"?"Complete":"Orchestrating"})]}),x?n.jsx(Fi,{size:20,className:"text-primary-foreground"}):n.jsx(xs,{size:20,className:"text-primary-foreground"})]}),n.jsx("div",{className:`
|
|
75
|
-
transition-all duration-300 ease-out
|
|
76
|
-
${x?"max-h-[600px] opacity-100 overflow-y-auto":"max-h-0 opacity-0 overflow-hidden"}
|
|
77
|
-
`,children:n.jsxs(He,{className:"p-4",children:[r&&n.jsx(yj,{status:r}),i.length>0&&n.jsx("div",{className:"flex gap-4 overflow-x-auto pb-4",children:i.map(L=>n.jsx(lj,{agent:L,onShowLogs:w=>{const O=i.find(B=>B.agentIndex===w);O&&T(O)}},`agent-${L.agentIndex}`))}),d.length>0&&n.jsxs("div",{className:"mt-4 pt-4 border-t",children:[n.jsxs(F,{variant:"ghost",size:"sm",onClick:E,className:"gap-2 mb-2 h-auto p-1",children:[n.jsx(Oh,{size:14,className:"text-muted-foreground"}),n.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"}),n.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",d.length,")"]}),v?n.jsx(xs,{size:14,className:"text-muted-foreground"}):n.jsx(Fi,{size:14,className:"text-muted-foreground"})]}),n.jsx("div",{className:`
|
|
78
|
-
transition-all duration-200 ease-out overflow-hidden
|
|
79
|
-
${v?"max-h-0 opacity-0":"max-h-[300px] opacity-100"}
|
|
80
|
-
`,children:n.jsx(cj,{activities:d,maxItems:5,showHeader:!1})})]})]})}),S&&m&&n.jsx(sj,{agent:S,logs:m(S.agentIndex),onClose:()=>T(null)})]})}function bj(i){return Array.from({length:i},(r,d)=>({id:d,x:Math.random()*100,delay:Math.random()*.5,duration:1+Math.random()*1,color:["#ff006e","#ffd60a","#70e000","#00b4d8","#8338ec"][Math.floor(Math.random()*5)],rotation:Math.random()*360}))}function jj({agentName:i,featureName:r,onComplete:d}){const[o,m]=f.useState(!0),[x]=f.useState(()=>bj(30)),p=f.useCallback(()=>{m(!1),setTimeout(()=>d?.(),300)},[d]);return f.useEffect(()=>{const v=setTimeout(p,3e3),g=S=>{S.key==="Escape"&&p()};return window.addEventListener("keydown",g),()=>{clearTimeout(v),window.removeEventListener("keydown",g)}},[p]),o?n.jsxs("div",{className:`
|
|
81
|
-
fixed inset-0 z-50 flex items-center justify-center
|
|
82
|
-
pointer-events-none
|
|
83
|
-
transition-opacity duration-300
|
|
84
|
-
${o?"opacity-100":"opacity-0"}
|
|
85
|
-
`,children:[n.jsx("div",{className:"absolute inset-0 overflow-hidden",children:x.map(v=>n.jsx("div",{className:"absolute w-3 h-3 animate-confetti",style:{left:`${v.x}%`,top:"-20px",backgroundColor:v.color,animationDelay:`${v.delay}s`,animationDuration:`${v.duration}s`,transform:`rotate(${v.rotation}deg)`}},v.id))}),n.jsx(Me,{onClick:p,className:"p-6 bg-green-500 border-green-600 animate-bounce-in pointer-events-auto cursor-pointer hover:scale-105 transition-transform focus:outline-none focus:ring-2 focus:ring-primary",role:"button",tabIndex:0,children:n.jsxs(He,{className:"p-0 flex flex-col items-center gap-4",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Nn,{size:24,className:"text-yellow-300 animate-pulse"}),n.jsx(zy,{size:28,className:"text-white"}),n.jsx(Nn,{size:24,className:"text-yellow-300 animate-pulse"})]}),n.jsx(pl,{name:i,state:"success",size:"lg"}),n.jsxs("div",{className:"text-center",children:[n.jsx("h3",{className:"font-display text-lg font-bold text-white mb-1",children:"Feature Complete!"}),n.jsx("p",{className:"text-sm text-white/80 max-w-[200px] truncate",children:r}),n.jsxs("p",{className:"text-xs text-white/60 mt-2",children:["Great job, ",i,"!"]})]}),n.jsx("p",{className:"text-xs text-white/40 mt-1",children:"Click or press Esc to dismiss"})]})})]}):null}function Sj({onClick:i,isOpen:r}){return n.jsx(F,{onClick:i,size:"icon",className:"fixed bottom-6 right-6 z-50 w-14 h-14 rounded-full shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5 active:translate-y-0.5",title:r?"Close Assistant (Press A)":"Open Assistant (Press A)","aria-label":r?"Close Assistant":"Open Assistant",children:r?n.jsx(ct,{size:24}):n.jsx(Mu,{size:24})})}function ds(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function Nj({projectName:i,onError:r}){const[d,o]=f.useState([]),[m,x]=f.useState(!1),[p,v]=f.useState("disconnected"),[g,S]=f.useState(null),[T,E]=f.useState(null),L=f.useRef(null),w=f.useRef(null),O=f.useRef(0),B=3,z=f.useRef(null),_=f.useRef(null),b=f.useRef(null);f.useEffect(()=>()=>{z.current&&clearInterval(z.current),_.current&&clearTimeout(_.current),b.current&&clearTimeout(b.current),L.current&&L.current.close(),w.current=null},[]);const N=f.useCallback(()=>{if(L.current?.readyState===WebSocket.OPEN||L.current?.readyState===WebSocket.CONNECTING)return;v("connecting");const q=window.location.protocol==="https:"?"wss:":"ws:",le=window.location.host,I=`${q}//${le}/api/assistant/ws/${encodeURIComponent(i)}`,R=new WebSocket(I);L.current=R,R.onopen=()=>{v("connected"),O.current=0,z.current=window.setInterval(()=>{R.readyState===WebSocket.OPEN&&R.send(JSON.stringify({type:"ping"}))},3e4)},R.onclose=()=>{if(v("disconnected"),z.current&&(clearInterval(z.current),z.current=null),O.current<B){O.current++;const W=Math.min(1e3*Math.pow(2,O.current),1e4);_.current=window.setTimeout(N,W)}},R.onerror=()=>{v("error"),r?.("WebSocket connection error")},R.onmessage=W=>{try{const Z=JSON.parse(W.data);switch(Z.type){case"text":{o($=>{const y=$[$.length-1];return y?.role==="assistant"&&y.isStreaming?[...$.slice(0,-1),{...y,content:y.content+Z.content}]:(w.current=ds(),[...$,{id:w.current,role:"assistant",content:Z.content,timestamp:new Date,isStreaming:!0}])});break}case"tool_call":{let $=`Using tool: ${Z.tool}`;if(Z.tool==="mcp__features__feature_create"){const y=Z.input;$=`Creating feature: "${y.name||"New Feature"}" in ${y.category||"General"}`}else if(Z.tool==="mcp__features__feature_create_bulk"){const D=Z.input.features?.length||0;$=`Creating ${D} feature${D!==1?"s":""}`}else if(Z.tool==="mcp__features__feature_skip")$="Skipping feature (moving to end of queue)";else if(Z.tool==="mcp__features__feature_get_stats")$="Checking project progress";else if(Z.tool==="mcp__features__feature_get_next")$="Getting next pending feature";else if(Z.tool==="Read"){const D=Z.input.file_path||"";$=`Reading file: ${D.split("/").pop()||D}`}else Z.tool==="Glob"?$=`Searching for files: ${Z.input.pattern||"..."}`:Z.tool==="Grep"&&($=`Searching for: ${Z.input.pattern||"..."}`);o(y=>[...y,{id:ds(),role:"system",content:$,timestamp:new Date}]);break}case"question":{E(Z.questions),x(!1),o($=>{const y=$[$.length-1];return y?.role==="assistant"&&y.isStreaming?[...$.slice(0,-1),{...y,isStreaming:!1,questions:Z.questions}]:$});break}case"conversation_created":{S(Z.conversation_id);break}case"response_done":{x(!1),w.current=null,o($=>{const y=$[$.length-1];return y?.role==="assistant"&&y.isStreaming?[...$.slice(0,-1),{...y,isStreaming:!1}]:$});break}case"error":{x(!1),r?.(Z.content),o($=>[...$,{id:ds(),role:"system",content:`Error: ${Z.content}`,timestamp:new Date}]);break}case"pong":break}}catch(Z){console.error("Failed to parse WebSocket message:",Z)}}},[i,r]),G=f.useCallback(q=>{b.current&&(clearTimeout(b.current),b.current=null),N();const le=()=>{if(L.current?.readyState===WebSocket.OPEN){b.current=null,x(!0);const I={type:"start"};q&&(I.conversation_id=q,S(q)),L.current.send(JSON.stringify(I))}else L.current?.readyState===WebSocket.CONNECTING?b.current=window.setTimeout(le,100):b.current=null};b.current=window.setTimeout(le,100)},[N]),J=f.useCallback(q=>{if(!L.current||L.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}o(le=>[...le,{id:ds(),role:"user",content:q,timestamp:new Date}]),x(!0),L.current.send(JSON.stringify({type:"message",content:q}))},[r]),P=f.useCallback(q=>{if(!L.current||L.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}const le=[];for(const[,R]of Object.entries(q))Array.isArray(R)?le.push(R.join(", ")):le.push(R);const I=le.join("; ");o(R=>[...R,{id:ds(),role:"user",content:I,timestamp:new Date}]),E(null),x(!0),L.current.send(JSON.stringify({type:"answer",answers:q}))},[r]),X=f.useCallback(()=>{O.current=B,z.current&&(clearInterval(z.current),z.current=null),L.current&&(L.current.close(),L.current=null),v("disconnected")},[]),ae=f.useCallback(()=>{o([])},[]);return{messages:d,isLoading:m,connectionStatus:p,conversationId:g,currentQuestions:T,start:G,sendMessage:J,sendAnswer:P,disconnect:X,clearMessages:ae}}function Cj(i){return vt({queryKey:["conversations",i],queryFn:()=>w0(i),enabled:!!i,staleTime:3e4})}function wj(i,r){return vt({queryKey:["conversation",i,r],queryFn:()=>z0(i,r),enabled:!!i&&!!r,staleTime:3e4,retry:(d,o)=>o instanceof Error&&(o.message.toLowerCase().includes("not found")||o.message==="HTTP 404")?!1:d<3})}function zj(i){const r=Ve();return Je({mutationFn:d=>T0(i,d),onSuccess:(d,o)=>{r.invalidateQueries({queryKey:["conversations",i]}),r.removeQueries({queryKey:["conversation",i,o]})}})}function Tj(i){if(!i)return"";const r=new Date(i),o=new Date().getTime()-r.getTime(),m=Math.floor(o/1e3),x=Math.floor(m/60),p=Math.floor(x/60),v=Math.floor(p/24);return m<60?"just now":x<60?`${x}m ago`:p<24?`${p}h ago`:v===1?"yesterday":v<7?`${v}d ago`:r.toLocaleDateString()}function Ej({projectName:i,currentConversationId:r,isOpen:d,onClose:o,onSelectConversation:m}){const[x,p]=f.useState(null),[v,g]=f.useState(null),{data:S,isLoading:T}=Cj(i),E=zj(i);f.useEffect(()=>{d||g(null)},[d]);const L=(z,_)=>{z.stopPropagation(),p(_)},w=async()=>{if(x)try{g(null),await E.mutateAsync(x.id),p(null)}catch{g("Failed to delete conversation. Please try again.")}},O=()=>{p(null),g(null)},B=z=>{m(z),o()};return f.useEffect(()=>{if(!d)return;const z=_=>{_.key==="Escape"&&(_.preventDefault(),o())};return document.addEventListener("keydown",z),()=>document.removeEventListener("keydown",z)},[d,o]),d?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"fixed inset-0 z-40",onClick:o}),n.jsxs(Me,{className:"absolute top-full left-0 mt-2 z-50 w-[320px] max-w-[calc(100vw-2rem)] shadow-lg",children:[n.jsx(tc,{className:"p-3 border-b border-border",children:n.jsx("h3",{className:"font-bold text-sm",children:"Conversation History"})}),n.jsx(He,{className:"p-0",children:T?n.jsx("div",{className:"p-4 flex items-center justify-center",children:n.jsx(Ce,{size:20,className:"animate-spin text-muted-foreground"})}):!S||S.length===0?n.jsx("div",{className:"p-4 text-center text-muted-foreground text-sm",children:"No conversations yet"}):n.jsx("div",{className:"max-h-[300px] overflow-y-auto",children:S.map(z=>{const _=z.id===r;return n.jsxs("div",{className:`flex items-center group ${_?"bg-primary/10":"hover:bg-muted"}`,children:[n.jsx("button",{onClick:()=>B(z.id),className:"flex-1 px-3 py-2 text-left",disabled:_,children:n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx(Ty,{size:16,className:"mt-0.5 flex-shrink-0 text-muted-foreground"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium truncate text-foreground",children:z.title||"Untitled conversation"}),n.jsxs("div",{className:"text-xs flex items-center gap-2 text-muted-foreground",children:[n.jsxs("span",{children:[z.message_count," messages"]}),n.jsx("span",{children:"|"}),n.jsx("span",{children:Tj(z.updated_at)})]})]})]})}),n.jsx(F,{variant:"ghost",size:"icon",onClick:b=>L(b,z),className:`h-8 w-8 mr-2 ${_?"opacity-60 hover:opacity-100":"opacity-0 group-hover:opacity-100"} hover:text-destructive hover:bg-destructive/10`,title:"Delete conversation",children:n.jsx(an,{size:14})})]},z.id)})})})]}),n.jsx(Vh,{isOpen:x!==null,title:"Delete Conversation",message:v?n.jsxs("div",{className:"space-y-3",children:[n.jsx("p",{children:`Are you sure you want to delete "${x?.title||"this conversation"}"? This action cannot be undone.`}),n.jsxs("div",{className:"flex items-center gap-2 p-2 bg-destructive/10 border border-destructive rounded text-sm text-destructive",children:[n.jsx(ua,{size:16,className:"flex-shrink-0"}),n.jsx("span",{children:v})]})]}):`Are you sure you want to delete "${x?.title||"this conversation"}"? This action cannot be undone.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:E.isPending,onConfirm:w,onCancel:O})]}):null}function Aj({projectName:i,conversationId:r,initialMessages:d,isLoadingConversation:o,onNewChat:m,onSelectConversation:x,onConversationCreated:p}){const[v,g]=f.useState(""),[S,T]=f.useState(!1),E=f.useRef(null),L=f.useRef(null),w=f.useRef(!1),O=f.useRef(void 0),B=f.useCallback($=>{console.error("Assistant error:",$)},[]),{messages:z,isLoading:_,connectionStatus:b,conversationId:N,currentQuestions:G,start:J,sendMessage:P,sendAnswer:X,clearMessages:ae}=Nj({projectName:i,onError:B}),q=f.useRef(N);f.useEffect(()=>{q.current===null&&N!==null&&p&&p(N),q.current=N},[N,p]),f.useEffect(()=>{E.current?.scrollIntoView({behavior:"smooth"})},[z]),f.useEffect(()=>{if(o||O.current===r&&w.current)return;const $=O.current!==void 0&&O.current!==r;O.current=r,w.current=!0,$&&ae(),J(r)},[r,o,J,ae]);const le=f.useCallback(()=>{ae(),m?.()},[ae,m]),I=f.useCallback($=>{T(!1),x?.($)},[x]);f.useEffect(()=>{_||L.current?.focus()},[_]);const R=()=>{const $=v.trim();!$||_||o||(P($),g(""))},W=$=>{ps($)&&($.preventDefault(),R())},Z=f.useMemo(()=>{if(!(O.current===r&&!o))return d??[];if(!d||d.length===0)return z;const y=new Map;for(const D of d)y.set(D.id,D);for(const D of z)y.set(D.id,D);return Array.from(y.values())},[d,z,r,o]);return n.jsxs("div",{className:"flex flex-col h-full",children:[n.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border bg-background",children:[n.jsxs("div",{className:"flex items-center gap-1 relative",children:[n.jsx(F,{variant:"ghost",size:"icon",onClick:le,className:"h-8 w-8",title:"New conversation",disabled:_,children:n.jsx(tn,{size:16})}),n.jsx(F,{variant:S?"secondary":"ghost",size:"icon",onClick:()=>T(!S),className:"h-8 w-8",title:"Conversation history",children:n.jsx(Ey,{size:16})}),n.jsx(Ej,{projectName:i,currentConversationId:r??N,isOpen:S,onClose:()=>T(!1),onSelectConversation:I})]}),n.jsx("div",{className:"flex items-center gap-2",children:b==="connected"?n.jsxs(n.Fragment,{children:[n.jsx(hl,{size:14,className:"text-green-500"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Connected"})]}):b==="connecting"?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:14,className:"text-primary animate-spin"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Connecting..."})]}):n.jsxs(n.Fragment,{children:[n.jsx(ml,{size:14,className:"text-destructive"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Disconnected"})]})})]}),n.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:o?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Loading conversation..."})]})}):Z.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:_?n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Connecting to assistant..."})]}):n.jsx("span",{children:"Ask me anything about the codebase"})}):n.jsxs("div",{className:"py-4",children:[Z.map($=>n.jsx(Bu,{message:$},$.id)),n.jsx("div",{ref:E})]})}),_&&Z.length>0&&n.jsx("div",{className:"px-4 py-2 border-t border-border bg-background",children:n.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground text-sm",children:[n.jsxs("div",{className:"flex gap-1",children:[n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),n.jsx("span",{children:"Thinking..."})]})}),G&&n.jsx("div",{className:"border-t border-border bg-background",children:n.jsx(Qh,{questions:G,onSubmit:X})}),n.jsxs("div",{className:"border-t border-border p-4 bg-card",children:[n.jsxs("div",{className:"flex gap-2",children:[n.jsx(ys,{ref:L,value:v,onChange:$=>g($.target.value),onKeyDown:W,placeholder:"Ask about the codebase...",disabled:_||o||b!=="connected"||!!G,className:"flex-1 resize-none min-h-[44px] max-h-[120px]",rows:1}),n.jsx(F,{onClick:R,disabled:!v.trim()||_||o||b!=="connected"||!!G,title:"Send message",children:_?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(Ii,{size:18})})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:G?"Select an option above to continue":"Press Enter to send, Shift+Enter for new line"})]})]})}const Zh="assistant-conversation-",mh="assistant-panel-width",Dj=400,hh=300,xh=90;function gh(i){try{const r=localStorage.getItem(`${Zh}${i}`);if(r)return JSON.parse(r).conversationId||null}catch{}return null}function _j(i,r){const d=`${Zh}${i}`;r?localStorage.setItem(d,JSON.stringify({conversationId:r})):localStorage.removeItem(d)}function Mj({projectName:i,isOpen:r,onClose:d}){const[o,m]=f.useState(()=>gh(i)),{data:x,isLoading:p,error:v}=wj(i,o);f.useEffect(()=>{if(v&&o){const z=v.message.toLowerCase();(z.includes("not found")||z.includes("404"))&&(console.warn(`Conversation ${o} not found, clearing stored ID`),m(null))}},[v,o]);const g=x?.messages.map(z=>({id:`db-${z.id}`,role:z.role,content:z.content,timestamp:z.timestamp?new Date(z.timestamp):new Date}));f.useEffect(()=>{_j(i,o)},[i,o]),f.useEffect(()=>{m(gh(i))},[i]);const S=f.useCallback(()=>{m(null)},[]),T=f.useCallback(z=>{m(z)},[]),E=f.useCallback(z=>{m(z)},[]),[L,w]=f.useState(()=>{try{const z=localStorage.getItem(mh);if(z)return Math.max(hh,parseInt(z,10))}catch{}return Dj}),O=f.useRef(!1),B=f.useCallback(z=>{z.preventDefault(),O.current=!0;const _=z.clientX,b=L,N=window.innerWidth*(xh/100),G=P=>{if(!O.current)return;const X=_-P.clientX,ae=Math.min(N,Math.max(hh,b+X));w(ae)},J=()=>{O.current=!1,document.removeEventListener("mousemove",G),document.removeEventListener("mouseup",J),document.body.style.cursor="",document.body.style.userSelect="",w(P=>(localStorage.setItem(mh,String(P)),P))};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",G),document.addEventListener("mouseup",J)},[L]);return n.jsxs(n.Fragment,{children:[r&&n.jsx("div",{className:"fixed inset-0 bg-black/20 z-40 transition-opacity duration-300",onClick:d,"aria-hidden":"true"}),n.jsxs("div",{className:`
|
|
86
|
-
fixed right-0 top-0 bottom-0 z-50
|
|
87
|
-
bg-card
|
|
88
|
-
border-l border-border
|
|
89
|
-
transform transition-transform duration-300 ease-out
|
|
90
|
-
flex flex-col shadow-xl
|
|
91
|
-
${r?"translate-x-0":"translate-x-full"}
|
|
92
|
-
`,style:{width:`${L}px`,maxWidth:`${xh}vw`},role:"dialog","aria-label":"Project Assistant","aria-hidden":!r,children:[n.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize z-10 group",onMouseDown:B,children:n.jsx("div",{className:"absolute inset-y-0 left-0 w-0.5 bg-border group-hover:bg-primary transition-colors"})}),n.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border bg-primary text-primary-foreground",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"bg-card text-foreground border border-border p-1.5 rounded",children:n.jsx(Au,{size:18})}),n.jsxs("div",{children:[n.jsx("h2",{className:"font-semibold",children:"Project Assistant"}),n.jsx("p",{className:"text-xs opacity-80 font-mono",children:i})]})]}),n.jsx(F,{variant:"ghost",size:"icon",onClick:d,className:"text-primary-foreground hover:bg-primary-foreground/20",title:"Close Assistant (Press A)","aria-label":"Close Assistant",children:n.jsx(ct,{size:18})})]}),n.jsx("div",{className:"flex-1 overflow-hidden",children:r&&n.jsx(Aj,{projectName:i,conversationId:o,initialMessages:g,isLoadingConversation:p,onNewChat:S,onSelectConversation:T,onConversationCreated:E})})]})]})}function Gi(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function kj({projectName:i,onComplete:r,onError:d}){const[o,m]=f.useState([]),[x,p]=f.useState(!1),[v,g]=f.useState(!1),[S,T]=f.useState("disconnected"),[E,L]=f.useState(0),[w,O]=f.useState([]),B=f.useRef(null),z=f.useRef(null),_=f.useRef(0),b=3,N=f.useRef(null),G=f.useRef(null),J=f.useRef(!1),P=f.useRef(!1);f.useEffect(()=>{J.current=v},[v]),f.useEffect(()=>()=>{N.current&&clearInterval(N.current),G.current&&clearTimeout(G.current),B.current&&B.current.close()},[]);const X=f.useCallback(()=>{if(P.current||B.current?.readyState===WebSocket.OPEN)return;T("connecting");const I=window.location.protocol==="https:"?"wss:":"ws:",R=window.location.host,W=`${I}//${R}/api/expand/ws/${encodeURIComponent(i)}`,Z=new WebSocket(W);B.current=Z,Z.onopen=()=>{T("connected"),_.current=0,P.current=!1,N.current=window.setInterval(()=>{Z.readyState===WebSocket.OPEN&&Z.send(JSON.stringify({type:"ping"}))},3e4)},Z.onclose=$=>{T("disconnected"),N.current&&(clearInterval(N.current),N.current=null);const y=$.code>=4e3&&$.code<=4999;if(!P.current&&!y&&_.current<b&&!J.current){_.current++;const D=Math.min(1e3*Math.pow(2,_.current),1e4);G.current=window.setTimeout(X,D)}},Z.onerror=()=>{T("error"),d?.("WebSocket connection error")},Z.onmessage=$=>{try{const y=JSON.parse($.data);switch(y.type){case"text":{m(D=>{const ee=D[D.length-1];return ee?.role==="assistant"&&ee.isStreaming?[...D.slice(0,-1),{...ee,content:ee.content+y.content}]:(z.current=Gi(),[...D,{id:z.current,role:"assistant",content:y.content,timestamp:new Date,isStreaming:!0}])});break}case"features_created":{L(D=>D+y.count),O(y.features),m(D=>[...D,{id:Gi(),role:"system",content:`Created ${y.count} new feature${y.count!==1?"s":""}!`,timestamp:new Date}]);break}case"expansion_complete":{g(!0),p(!1),m(D=>{const ee=D[D.length-1];return ee?.role==="assistant"&&ee.isStreaming?[...D.slice(0,-1),{...ee,isStreaming:!1}]:D}),r?.(y.total_added);break}case"error":{p(!1),d?.(y.content),m(D=>[...D,{id:Gi(),role:"system",content:`Error: ${y.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{p(!1),m(D=>{const ee=D[D.length-1];return ee?.role==="assistant"&&ee.isStreaming?[...D.slice(0,-1),{...ee,isStreaming:!1}]:D});break}}}catch(y){console.error("Failed to parse WebSocket message:",y)}}},[i,r,d]),ae=f.useCallback(()=>{X();let I=0;const R=50,W=()=>{B.current?.readyState===WebSocket.OPEN?(p(!0),B.current.send(JSON.stringify({type:"start"}))):B.current?.readyState===WebSocket.CONNECTING&&(I++<R?setTimeout(W,100):(d?.("Connection timeout"),p(!1)))};setTimeout(W,100)},[X,d]),q=f.useCallback((I,R)=>{if(!B.current||B.current.readyState!==WebSocket.OPEN){d?.("Not connected");return}m(Z=>[...Z,{id:Gi(),role:"user",content:I,attachments:R,timestamp:new Date}]),p(!0);const W={type:"message",content:I};R&&R.length>0&&(W.attachments=R.map(Z=>({filename:Z.filename,mimeType:Z.mimeType,base64Data:Z.base64Data}))),B.current.send(JSON.stringify(W))},[d]),le=f.useCallback(()=>{P.current=!0,_.current=b,N.current&&(clearInterval(N.current),N.current=null),G.current&&(clearTimeout(G.current),G.current=null),B.current&&(B.current.close(),B.current=null),T("disconnected")},[]);return{messages:o,isLoading:x,isComplete:v,connectionStatus:S,featuresCreated:E,recentFeatures:w,start:ae,sendMessage:q,disconnect:le}}const Oj=5*1024*1024,Rj=20*1024*1024,Uj=["md","txt","csv","docx","xlsx","pdf","pptx","jpg","jpeg","png"];function Bj({projectName:i,onComplete:r,onCancel:d}){const[o,m]=f.useState(""),[x,p]=f.useState(null),[v,g]=f.useState([]),S=f.useRef(null),T=f.useRef(null),E=f.useRef(null),L=f.useCallback(R=>p(R),[]),{messages:w,isLoading:O,isComplete:B,connectionStatus:z,featuresCreated:_,start:b,sendMessage:N,disconnect:G}=kj({projectName:i,onComplete:r,onError:L});f.useEffect(()=>(b(),()=>{G()}),[]),f.useEffect(()=>{S.current?.scrollIntoView({behavior:"smooth"})},[w,O]),f.useEffect(()=>{!O&&T.current&&T.current.focus()},[O]);const J=()=>{const R=o.trim();!R&&v.length===0||O||(N(R,v.length>0?v:void 0),m(""),g([]))},P=R=>{ps(R)&&(R.preventDefault(),J())},X=f.useCallback(R=>{R&&Array.from(R).forEach(W=>{let Z=W.type;if((!Z||!$i.includes(Z))&&(Z=Ji(W.name)),!$i.includes(Z)){const te=W.name.split(".").pop()?.toLowerCase();if(!te||!Uj.includes(te)){p(`Unsupported file type: ${W.name}. Supported: images (JPEG, PNG) and documents (MD, TXT, CSV, DOCX, XLSX, PDF, PPTX).`);return}Z=Ji(W.name)}const $=ec.includes(Z),y=$?Oj:Rj,D=$?"5 MB":"20 MB";if(W.size>y){p(`File too large: ${W.name}. Maximum size is ${D}.`);return}const ee=new FileReader;ee.onload=te=>{const oe=te.target?.result,ie=oe.split(",")[1],he={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:W.name,mimeType:Z,base64Data:ie,previewUrl:$?oe:"",size:W.size};g(V=>[...V,he])},ee.onerror=()=>{p(`Failed to read file: ${W.name}`)},ee.readAsDataURL(W)})},[]),ae=f.useCallback(R=>{g(W=>W.filter(Z=>Z.id!==R))},[]),q=f.useCallback(R=>{R.preventDefault(),X(R.dataTransfer.files)},[X]),le=f.useCallback(R=>{R.preventDefault()},[]),I=()=>{switch(z){case"connected":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[n.jsx(hl,{size:12}),"Connected"]});case"connecting":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[n.jsx(hl,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[n.jsx(ml,{size:12}),"Error"]});default:return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n.jsx(ml,{size:12}),"Disconnected"]})}};return n.jsxs("div",{className:"flex flex-col h-full bg-background",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Expand Project: ",i]}),n.jsx(I,{}),_>0&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx(tn,{size:14}),_," added"]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[B&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx($t,{size:16}),"Complete"]}),n.jsx(F,{onClick:d,variant:"ghost",size:"icon",title:"Close",children:n.jsx(ct,{size:20})})]})]}),x&&n.jsxs(ht,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[n.jsx(ua,{size:16}),n.jsx(xt,{className:"flex-1",children:x}),n.jsx(F,{onClick:()=>p(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:n.jsx(ct,{size:14})})]}),n.jsxs("div",{className:"flex-1 overflow-y-auto py-4",children:[w.length===0&&!O&&n.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:n.jsx(Me,{className:"p-6 max-w-md",children:n.jsxs(He,{className:"p-0",children:[n.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Project Expansion"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you add new features to your project..."}),z==="error"&&n.jsxs(F,{onClick:b,className:"mt-4",size:"sm",children:[n.jsx(en,{size:14}),"Retry Connection"]})]})})}),w.map(R=>n.jsx(Bu,{message:R},R.id)),O&&n.jsx(Yh,{}),n.jsx("div",{ref:S})]}),!B&&n.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:q,onDragOver:le,children:[v.length>0&&n.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:v.map(R=>n.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[Ru(R)?n.jsx("img",{src:R.previewUrl,alt:R.filename,className:"w-16 h-16 object-cover rounded"}):n.jsx("div",{className:"w-16 h-16 flex items-center justify-center bg-muted rounded",children:n.jsx(Vi,{size:24,className:"text-muted-foreground"})}),n.jsx("button",{onClick:()=>ae(R.id),className:"absolute -top-2 -right-2 bg-destructive text-destructive-foreground rounded-full p-0.5 border-2 border-border hover:scale-110 transition-transform",title:"Remove attachment",children:n.jsx(ct,{size:12})}),n.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:R.filename.length>10?`${R.filename.substring(0,7)}...`:R.filename})]},R.id))}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx("input",{ref:E,type:"file",accept:"image/jpeg,image/png,.md,.txt,.csv,.docx,.xlsx,.pdf,.pptx",multiple:!0,onChange:R=>X(R.target.files),className:"hidden"}),n.jsx(F,{onClick:()=>E.current?.click(),disabled:z!=="connected",variant:"ghost",size:"icon",title:"Attach files (images: JPEG/PNG up to 5MB, documents: MD, TXT, CSV, DOCX, XLSX, PDF, PPTX up to 20MB)",children:n.jsx(Ki,{size:18})}),n.jsx(rt,{ref:T,type:"text",value:o,onChange:R=>m(R.target.value),onKeyDown:P,placeholder:v.length>0?"Add a message with your image(s)...":"Describe the features you want to add...",className:"flex-1",disabled:O||z!=="connected"}),n.jsx(F,{onClick:J,disabled:!o.trim()&&v.length===0||O||z!=="connected",className:"px-6",children:n.jsx(Ii,{size:18})})]}),n.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send. Drag & drop or click ",n.jsx(Ki,{size:12,className:"inline"})," to attach files."]})]}),B&&n.jsx("div",{className:"p-4 border-t-2 border-border bg-green-500 text-white",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx($t,{size:20}),n.jsxs("span",{className:"font-bold",children:["Added ",_," new feature",_!==1?"s":"","!"]})]}),n.jsx(F,{onClick:()=>r(_),variant:"secondary",children:"Close"})]})})]})}function Lj({isOpen:i,projectName:r,onClose:d,onFeaturesAdded:o}){if(!i)return null;const m=x=>{x>0&&o(),d()};return n.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:n.jsx(Bj,{projectName:r,onComplete:m,onCancel:d})})}function ph({className:i,min:r,max:d,value:o,onChange:m,disabled:x,...p}){return n.jsxs("div",{className:ke("flex items-center gap-3",i),children:[n.jsx("input",{type:"range",min:r,max:d,value:o,onChange:v=>m(Number(v.target.value)),disabled:x,className:ke("slider-input h-2 w-full cursor-pointer appearance-none rounded-full bg-input transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",x&&"cursor-not-allowed opacity-50"),...p}),n.jsx("span",{className:"min-w-[2ch] text-center text-sm font-semibold tabular-nums",children:o})]})}const Hj={claude:"Default provider. Uses your Claude CLI credentials.",kimi:"Get an API key at kimi.com",glm:"Get an API key at open.bigmodel.cn",ollama:"Run models locally. Install from ollama.com",custom:"Connect to any OpenAI-compatible API endpoint."};function qj({isOpen:i,onClose:r}){const{data:d,isLoading:o,isError:m,refetch:x}=Ou(),{data:p}=uv(),{data:v}=rv(),g=ov(),{theme:S,setTheme:T,darkMode:E,toggleDarkMode:L}=Gh(),[w,O]=f.useState(!1),[B,z]=f.useState(""),[_,b]=f.useState(""),[N,G]=f.useState(""),J=()=>{d&&!g.isPending&&g.mutate({yolo_mode:!d.yolo_mode})},P=V=>{g.isPending||g.mutate({api_model:V})},X=V=>{g.isPending||g.mutate({testing_agent_ratio:V})},ae=V=>{g.isPending||g.mutate({batch_size:V})},q=V=>{g.isPending||g.mutate({testing_batch_size:V})},le=V=>{g.isPending||(g.mutate({api_provider:V}),z(""),O(!1),b(""),G(""))},I=()=>{B.trim()&&!g.isPending&&(g.mutate({api_auth_token:B.trim()}),z(""),O(!1))},R=()=>{N.trim()&&!g.isPending&&(g.mutate({api_base_url:N.trim()}),G(""))},W=()=>{_.trim()&&!g.isPending&&(g.mutate({api_model:_.trim()}),b(""))},Z=v?.providers??[],$=p?.models??[],y=g.isPending,D=d?.api_provider??"claude",ee=Z.find(V=>V.id===D),oe=D!=="claude"&&ee?.requires_auth,ie=D==="custom"||D==="azure",he=D==="custom"||D==="ollama";return n.jsx(ea,{open:i,onOpenChange:V=>!V&&r(),children:n.jsxs(ta,{"aria-describedby":void 0,className:"sm:max-w-lg max-h-[90vh] overflow-y-auto",children:[n.jsx(aa,{children:n.jsxs(na,{className:"flex items-center gap-2",children:["Settings",y&&n.jsx(Ce,{className:"animate-spin",size:16})]})}),o&&n.jsxs("div",{className:"flex items-center justify-center py-8",children:[n.jsx(Ce,{className:"animate-spin",size:24}),n.jsx("span",{className:"ml-2",children:"Loading settings..."})]}),m&&n.jsxs(ht,{variant:"destructive",children:[n.jsx(ua,{className:"h-4 w-4"}),n.jsxs(xt,{children:["Failed to load settings",n.jsx(F,{variant:"link",onClick:()=>x(),className:"ml-2 p-0 h-auto",children:"Retry"})]})]}),d&&!o&&n.jsxs("div",{className:"space-y-6",children:[n.jsxs("div",{className:"space-y-3",children:[n.jsx(Ee,{className:"font-medium",children:"Theme"}),n.jsx("div",{className:"grid gap-2",children:Xi.map(V=>n.jsxs("button",{onClick:()=>T(V.id),className:`flex items-center gap-3 p-3 rounded-lg border-2 transition-colors text-left ${S===V.id?"border-primary bg-primary/5":"border-border hover:border-primary/50 hover:bg-muted/50"}`,children:[n.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:V.previewColors.background}}),n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:V.previewColors.primary}}),n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:V.previewColors.accent}})]}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium text-sm",children:V.name}),n.jsx("div",{className:"text-xs text-muted-foreground",children:V.description})]}),S===V.id&&n.jsx(ra,{size:18,className:"text-primary shrink-0"})]},V.id))})]}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(Ee,{htmlFor:"dark-mode",className:"font-medium",children:"Dark Mode"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Switch between light and dark appearance"})]}),n.jsxs(F,{id:"dark-mode",variant:"outline",size:"sm",onClick:L,className:"gap-2",children:[E?n.jsx(Rh,{size:16}):n.jsx(Uh,{size:16}),E?"Light":"Dark"]})]}),n.jsx("hr",{className:"border-border"}),n.jsxs("div",{className:"space-y-3",children:[n.jsx(Ee,{className:"font-medium",children:"API Provider"}),n.jsx("div",{className:"flex flex-wrap gap-1.5",children:Z.map(V=>n.jsx("button",{onClick:()=>le(V.id),disabled:y,className:`py-1.5 px-3 text-sm font-medium rounded-md border transition-colors ${D===V.id?"bg-primary text-primary-foreground border-primary":"bg-background text-foreground border-border hover:bg-muted"} ${y?"opacity-50 cursor-not-allowed":""}`,children:V.name.split(" (")[0]},V.id))}),n.jsx("p",{className:"text-xs text-muted-foreground",children:Hj[D]??""}),oe&&n.jsxs("div",{className:"space-y-2 pt-1",children:[n.jsx(Ee,{className:"text-sm",children:"API Key"}),d.api_has_auth_token&&!B&&n.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx(Xm,{size:14,className:"text-green-500"}),n.jsx("span",{children:"Configured"}),n.jsx(F,{variant:"ghost",size:"sm",className:"h-auto py-0.5 px-2 text-xs",onClick:()=>z(" "),children:"Change"})]}),(!d.api_has_auth_token||B)&&n.jsxs("div",{className:"flex gap-2",children:[n.jsxs("div",{className:"relative flex-1",children:[n.jsx("input",{type:w?"text":"password",value:B.trim(),onChange:V=>z(V.target.value),placeholder:"Enter API key...",className:"w-full py-1.5 px-3 pe-9 text-sm border rounded-md bg-background"}),n.jsx("button",{type:"button",onClick:()=>O(!w),className:"absolute end-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:w?n.jsx(Ay,{size:14}):n.jsx(Dy,{size:14})})]}),n.jsx(F,{size:"sm",onClick:I,disabled:!B.trim()||y,children:"Save"})]})]}),ie&&n.jsxs("div",{className:"space-y-2 pt-1",children:[n.jsx(Ee,{className:"text-sm",children:"Base URL"}),d.api_base_url&&!N&&n.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx(Xm,{size:14,className:"text-green-500"}),n.jsx("span",{className:"truncate",children:d.api_base_url}),n.jsx(F,{variant:"ghost",size:"sm",className:"h-auto py-0.5 px-2 text-xs shrink-0",onClick:()=>G(d.api_base_url||""),children:"Change"})]}),(!d.api_base_url||N)&&n.jsxs("div",{className:"flex gap-2",children:[n.jsx("input",{type:"text",value:N,onChange:V=>G(V.target.value),placeholder:D==="azure"?"https://your-resource.services.ai.azure.com/anthropic":"https://api.example.com/v1",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background"}),n.jsx(F,{size:"sm",onClick:R,disabled:!N.trim()||y,children:"Save"})]})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{className:"font-medium",children:"Model"}),$.length>0&&n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:$.map(V=>n.jsxs("button",{onClick:()=>P(V.id),disabled:y,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${(d.api_model??d.model)===V.id?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${y?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx("span",{className:"block",children:V.name}),n.jsx("span",{className:"block text-xs opacity-60",children:V.id})]},V.id))}),he&&n.jsxs("div",{className:"flex gap-2 pt-1",children:[n.jsx("input",{type:"text",value:_,onChange:V=>b(V.target.value),placeholder:"Custom model name...",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background",onKeyDown:V=>V.key==="Enter"&&W()}),n.jsx(F,{size:"sm",onClick:W,disabled:!_.trim()||y,children:"Set"})]})]}),n.jsx("hr",{className:"border-border"}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(Ee,{htmlFor:"yolo-mode",className:"font-medium",children:"YOLO Mode"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Skip testing for rapid prototyping"})]}),n.jsx(zu,{id:"yolo-mode",checked:d.yolo_mode,onCheckedChange:J,disabled:y})]}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(Ee,{htmlFor:"playwright-headless",className:"font-medium",children:"Headless Browser"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Run browser without visible window (saves CPU)"})]}),n.jsx(zu,{id:"playwright-headless",checked:d.playwright_headless,onCheckedChange:()=>g.mutate({playwright_headless:!d.playwright_headless}),disabled:y})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{className:"font-medium",children:"Regression Agents"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of regression testing agents (0 = disabled)"}),n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:[0,1,2,3].map(V=>n.jsx("button",{onClick:()=>X(V),disabled:y,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${d.testing_agent_ratio===V?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${y?"opacity-50 cursor-not-allowed":""}`,children:V},V))})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{className:"font-medium",children:"Features per Coding Agent"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of features assigned to each coding agent session"}),n.jsx(ph,{min:1,max:15,value:d.batch_size??3,onChange:ae,disabled:y})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{className:"font-medium",children:"Features per Testing Agent"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of features assigned to each testing agent session"}),n.jsx(ph,{min:1,max:15,value:d.testing_batch_size??3,onChange:q,disabled:y})]}),g.isError&&n.jsx(ht,{variant:"destructive",children:n.jsx(xt,{children:"Failed to save settings. Please try again."})})]})]})})}function Gj({projectName:i,isOpen:r,onClose:d,autoStartOnSave:o=!1}){const{data:m}=fv(r?i:null),x=mv(i),p=Ve(),[v,g]=f.useState(""),[S,T]=f.useState(null),[E,L]=f.useState(!1);f.useEffect(()=>{r&&m&&(g(m.custom_command??m.effective_command??""),T(null))},[r,m]);const w=!!m?.custom_command,O=async()=>{const z=v.trim();if(!z){T("Please enter a dev server command.");return}L(!0),T(null);try{await x.mutateAsync(z),o&&(await Bh(i),p.invalidateQueries({queryKey:["dev-server-status",i]})),d()}catch(_){T(_ instanceof Error?_.message:"Failed to save configuration")}finally{L(!1)}},B=async()=>{L(!0),T(null);try{await x.mutateAsync(null),g(m?.detected_command??"")}catch(z){T(z instanceof Error?z.message:"Failed to clear configuration")}finally{L(!1)}};return n.jsx(ea,{open:r,onOpenChange:z=>!z&&d(),children:n.jsxs(ta,{className:"sm:max-w-lg",children:[n.jsx(aa,{children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"p-2 rounded-lg bg-primary/10 text-primary",children:n.jsx(Cu,{size:20})}),n.jsx(na,{children:"Dev Server Configuration"})]})}),n.jsx(fl,{asChild:!0,children:n.jsxs("div",{className:"space-y-4",children:[n.jsx("div",{className:"rounded-lg border-2 border-border bg-muted/50 p-3 text-sm",children:m?.detected_type?n.jsxs("p",{children:["Detected project type: ",n.jsx("strong",{className:"text-foreground",children:m.detected_type}),m.detected_command&&n.jsxs("span",{className:"text-muted-foreground",children:[" — ",m.detected_command]})]}):n.jsx("p",{className:"text-muted-foreground",children:"No project type detected. Enter a custom command below."})}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"dev-command",className:"text-foreground",children:"Dev server command"}),n.jsx(rt,{id:"dev-command",value:v,onChange:z=>{g(z.target.value),T(null)},placeholder:"npm run dev",onKeyDown:z=>{z.key==="Enter"&&!E&&O()}}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Allowed runners: npm, npx, pnpm, yarn, python, uvicorn, flask, poetry, cargo, go"})]}),w&&n.jsxs(F,{variant:"outline",size:"sm",onClick:B,disabled:E,className:"gap-1.5",children:[n.jsx(en,{size:14}),"Clear custom command (use auto-detection)"]}),S&&n.jsx("p",{className:"text-sm font-mono text-destructive",children:S})]})}),n.jsxs(Pt,{className:"gap-2 sm:gap-0",children:[n.jsx(F,{variant:"outline",onClick:d,disabled:E,children:"Cancel"}),n.jsx(F,{onClick:O,disabled:E,children:E?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:16,className:"animate-spin mr-1.5"}),"Saving..."]}):o?"Save & Start":"Save"})]})]})})}function Qj(i){const r=Ve();return Je({mutationFn:()=>Bh(i),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-status",i]})}})}function Yj(i){const r=Ve();return Je({mutationFn:()=>M0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-status",i]})}})}function Xj({projectName:i,status:r,url:d}){const o=Qj(i),m=Yj(i),[x,p]=f.useState(!1),[v,g]=f.useState(!1),S=o.isPending||m.isPending,T=()=>{m.reset(),o.mutate(void 0,{onError:N=>{N.message?.includes("No dev command available")&&(g(!0),p(!0))}})},E=()=>{o.reset(),m.mutate()},L=()=>{g(!1),p(!0)},w=()=>{p(!1),o.error?.message?.includes("No dev command available")&&o.reset()},O=r==="stopped"||r==="crashed",B=r==="running",z=r==="crashed",_=o.error,b=_&&!_.message?.includes("No dev command available");return n.jsxs("div",{className:"flex items-center gap-2",children:[O?n.jsxs(n.Fragment,{children:[n.jsx(F,{onClick:T,disabled:S,variant:z?"destructive":"outline",size:"sm",title:z?"Dev Server Crashed - Click to Restart":"Start Dev Server","aria-label":z?"Restart Dev Server (crashed)":"Start Dev Server",children:S?n.jsx(Ce,{size:18,className:"animate-spin"}):z?n.jsx(Ea,{size:18}):n.jsx(_y,{size:18})}),n.jsx(F,{onClick:L,variant:"ghost",size:"sm",title:"Configure Dev Server","aria-label":"Configure Dev Server",children:n.jsx(My,{size:16})})]}):n.jsx(F,{onClick:E,disabled:S,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90",title:"Stop Dev Server","aria-label":"Stop Dev Server",children:S?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(_h,{size:18})}),B&&d&&n.jsx(F,{asChild:!0,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90 gap-1",children:n.jsxs("a",{href:d,target:"_blank",rel:"noopener noreferrer",title:`Open ${d} in new tab`,children:[n.jsx("span",{className:"font-mono text-xs",children:d}),n.jsx(_u,{size:14})]})}),(b||m.error)&&n.jsx("span",{className:"text-xs font-mono text-destructive ml-2",children:String((b?_:m.error)?.message||"Operation failed")}),n.jsx(Gj,{projectName:i,isOpen:x,onClose:w,autoStartOnSave:v})]})}function Vj({viewMode:i,onViewModeChange:r}){return n.jsxs("div",{className:"inline-flex rounded-lg border p-1 bg-background",children:[n.jsxs(F,{variant:i==="kanban"?"default":"ghost",size:"sm",onClick:()=>r("kanban"),title:"Kanban View",children:[n.jsx(ky,{size:16}),"Kanban"]}),n.jsxs(F,{variant:i==="graph"?"default":"ghost",size:"sm",onClick:()=>r("graph"),title:"Dependency Graph View",children:[n.jsx(xl,{size:16}),"Graph"]})]})}var Kj=Yy();const yh=Tp(Kj),Wi=220,vh=80;class Zj extends f.Component{constructor(r){super(r),this.state={hasError:!1,error:null}}static getDerivedStateFromError(r){return{hasError:!0,error:r}}componentDidCatch(r,d){console.error("DependencyGraph error:",r,d)}handleReset=()=>{this.setState({hasError:!1,error:null}),this.props.onReset?.()};render(){return this.state.hasError?n.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:n.jsxs("div",{className:"text-center p-6",children:[n.jsx(Ea,{size:48,className:"mx-auto mb-4 text-yellow-500"}),n.jsx("div",{className:"text-foreground font-bold mb-2",children:"Graph rendering error"}),n.jsx("div",{className:"text-sm text-muted-foreground mb-4",children:"The dependency graph encountered an issue."}),n.jsxs(F,{onClick:this.handleReset,className:"gap-2",children:[n.jsx(Oy,{size:16}),"Reload Graph"]})]})}):this.props.children}}function Fj({data:i}){const r={pending:"bg-yellow-100 border-yellow-300 dark:bg-yellow-900/30 dark:border-yellow-700",in_progress:"bg-cyan-100 border-cyan-300 dark:bg-cyan-900/30 dark:border-cyan-700",done:"bg-green-100 border-green-300 dark:bg-green-900/30 dark:border-green-700",blocked:"bg-red-50 border-red-300 dark:bg-red-900/20 dark:border-red-700",needs_human_input:"bg-amber-100 border-amber-300 dark:bg-amber-900/30 dark:border-amber-700"},d={pending:"text-yellow-900 dark:text-yellow-100",in_progress:"text-cyan-900 dark:text-cyan-100",done:"text-green-900 dark:text-green-100",blocked:"text-red-900 dark:text-red-100",needs_human_input:"text-amber-900 dark:text-amber-100"},o=()=>{switch(i.status){case"done":return n.jsx($t,{size:16,className:d[i.status]});case"in_progress":return n.jsx(Ce,{size:16,className:`${d[i.status]} animate-spin`});case"blocked":return n.jsx(Ea,{size:16,className:"text-destructive"});case"needs_human_input":return n.jsx(Pi,{size:16,className:d[i.status]});default:return n.jsx(ol,{size:16,className:d[i.status]})}};return n.jsxs(n.Fragment,{children:[n.jsx(Vm,{type:"target",position:ul.Left,className:"!bg-border !w-2 !h-2"}),n.jsxs("div",{className:`
|
|
93
|
-
px-4 py-3 rounded-lg border-2 cursor-pointer
|
|
94
|
-
transition-all hover:shadow-md relative
|
|
95
|
-
${r[i.status]}
|
|
96
|
-
`,onClick:i.onClick,style:{minWidth:Wi-20,maxWidth:Wi},children:[i.agent&&n.jsx("div",{className:"absolute -top-3 -right-3 z-10",children:n.jsx("div",{className:"rounded-full border-2 border-border bg-background shadow-sm",children:n.jsx(pl,{name:i.agent.name,state:i.agent.state,size:"sm"})})}),n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx(o,{}),n.jsxs("span",{className:`text-xs font-mono ${d[i.status]} opacity-70`,children:["#",i.priority]}),i.agent&&n.jsx("span",{className:`text-xs font-bold ${d[i.status]} ml-auto`,children:i.agent.name})]}),n.jsx("div",{className:`font-bold text-sm ${d[i.status]} truncate`,title:i.name,children:i.name}),n.jsx("div",{className:`text-xs ${d[i.status]} opacity-70 truncate`,title:i.category,children:i.category})]}),n.jsx(Vm,{type:"source",position:ul.Right,className:"!bg-border !w-2 !h-2"})]})}const $j={feature:Fj};function bh(i,r,d="LR"){const o=new yh.graphlib.Graph;o.setDefaultEdgeLabel(()=>({}));const m=d==="LR";return o.setGraph({rankdir:d,nodesep:50,ranksep:100,marginx:50,marginy:50}),i.forEach(p=>{o.setNode(p.id,{width:Wi,height:vh})}),r.forEach(p=>{o.setEdge(p.source,p.target)}),yh.layout(o),{nodes:i.map(p=>{const v=o.node(p.id);return{...p,position:{x:v.x-Wi/2,y:v.y-vh/2},sourcePosition:m?ul.Right:ul.Bottom,targetPosition:m?ul.Left:ul.Top}}),edges:r}}function Jj({graphData:i,onNodeClick:r,activeAgents:d=[]}){const[o,m]=f.useState("LR"),x=f.useRef(r);f.useEffect(()=>{x.current=r},[r]);const p=f.useCallback(N=>{x.current?.(N)},[]),v=f.useMemo(()=>{const N=new Map;for(const G of d){const J=G.featureIds||[G.featureId];for(const P of J)N.set(P,{name:G.agentName,state:G.state})}return N},[d]),g=f.useMemo(()=>{const N=i.nodes.map(J=>({id:String(J.id),type:"feature",position:{x:0,y:0},data:{...J,onClick:()=>p(J.id),agent:v.get(J.id)}})),G=i.edges.map((J,P)=>({id:`e${J.source}-${J.target}-${P}`,source:String(J.source),target:String(J.target),type:"smoothstep",animated:!1,style:{stroke:"#a1a1aa",strokeWidth:2},markerEnd:{type:Xy.ArrowClosed,color:"#a1a1aa"}}));return bh(N,G,o)},[i,o,p,v]),[S,T,E]=Vy(g.nodes),[L,w,O]=Ky(g.edges),B=f.useRef(""),z=f.useRef(o);f.useEffect(()=>{const N=Array.from(v.entries()).map(([J,P])=>({featureId:J,agentName:P.name,agentState:P.state})),G=JSON.stringify({nodes:i.nodes.map(J=>({id:J.id,status:J.status})),edges:i.edges,agents:N});if(G!==B.current||o!==z.current){B.current=G,z.current=o;const{nodes:J,edges:P}=bh(g.nodes,g.edges,o);T(J),w(P)}},[i,o,T,w,g,v]);const _=f.useCallback(N=>{m(N)},[]),b=f.useCallback(N=>{switch(N.data.status){case"done":return"#22c55e";case"in_progress":return"#06b6d4";case"blocked":return"#ef4444";case"needs_human_input":return"#f59e0b";default:return"#eab308"}},[]);return i.nodes.length===0?n.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"text-muted-foreground mb-2",children:"No features to display"}),n.jsx("div",{className:"text-sm text-muted-foreground/70",children:"Create features to see the dependency graph"})]})}):n.jsxs("div",{className:"h-full w-full relative bg-background",children:[n.jsxs("div",{className:"absolute top-4 left-4 z-10 flex gap-2",children:[n.jsx(F,{variant:o==="LR"?"default":"outline",size:"sm",onClick:()=>_("LR"),children:"Horizontal"}),n.jsx(F,{variant:o==="TB"?"default":"outline",size:"sm",onClick:()=>_("TB"),children:"Vertical"})]}),n.jsx(Me,{className:"absolute top-4 right-4 z-10",children:n.jsxs(He,{className:"p-3",children:[n.jsx("div",{className:"text-xs font-bold mb-2",children:"Status"}),n.jsxs("div",{className:"space-y-1.5",children:[n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-yellow-400 border border-yellow-500"}),n.jsx("span",{children:"Pending"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-cyan-400 border border-cyan-500"}),n.jsx("span",{children:"In Progress"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-green-400 border border-green-500"}),n.jsx("span",{children:"Done"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-red-100 border border-red-400"}),n.jsx("span",{children:"Blocked"})]})]})]})}),n.jsxs(Zy,{nodes:S,edges:L,onNodesChange:E,onEdgesChange:O,nodeTypes:$j,connectionMode:Fy.Loose,fitView:!0,fitViewOptions:{padding:.2},attributionPosition:"bottom-left",minZoom:.1,maxZoom:2,children:[n.jsx($y,{color:"#d4d4d8",gap:20,size:1}),n.jsx(Jy,{className:"!bg-card !border !border-border !rounded-lg !shadow-sm",showInteractive:!1}),n.jsx(Wy,{nodeColor:b,className:"!bg-card !border !border-border !rounded-lg !shadow-sm",maskColor:"rgba(0, 0, 0, 0.1)"})]})]})}function Wj({graphData:i,onNodeClick:r,activeAgents:d}){const[o,m]=f.useState(0),x=f.useCallback(()=>{m(p=>p+1)},[]);return n.jsx(Zj,{onReset:x,children:n.jsx(Jj,{graphData:i,onNodeClick:r,activeAgents:d})},o)}const Ij=[{key:"?",description:"Show keyboard shortcuts"},{key:"D",description:"Toggle debug panel"},{key:"T",description:"Toggle terminal tab"},{key:"N",description:"Add new feature",context:"with project"},{key:"E",description:"Expand project with AI",context:"with spec & features"},{key:"A",description:"Toggle AI assistant",context:"with project"},{key:"G",description:"Toggle Kanban/Graph view",context:"with project"},{key:",",description:"Open settings"},{key:"Esc",description:"Close modal/panel"}];function Pj({isOpen:i,onClose:r}){const d=f.useCallback(o=>{(o.key==="Escape"||o.key==="?")&&(o.preventDefault(),r())},[r]);return f.useEffect(()=>{if(i)return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[i,d]),n.jsx(ea,{open:i,onOpenChange:o=>!o&&r(),children:n.jsxs(ta,{className:"sm:max-w-md",children:[n.jsx(aa,{children:n.jsxs(na,{className:"flex items-center gap-2",children:[n.jsx(Ry,{size:20,className:"text-primary"}),"Keyboard Shortcuts"]})}),n.jsx("ul",{className:"space-y-1",children:Ij.map(o=>n.jsxs("li",{className:"flex items-center justify-between py-2 border-b border-border/50 last:border-0",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-muted rounded border border-border min-w-[2rem] text-center",children:o.key}),n.jsx("span",{className:"text-sm",children:o.description})]}),o.context&&n.jsx(_e,{variant:"secondary",className:"text-xs",children:o.context})]},o.key))}),n.jsx("p",{className:"text-xs text-muted-foreground text-center pt-2",children:"Press ? or Esc to close"})]})})}var e1=Symbol("radix.slottable");function t1(i){const r=({children:d})=>n.jsx(n.Fragment,{children:d});return r.displayName=`${i}.Slottable`,r.__radixId=e1,r}var a1=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),n1="VisuallyHidden",Fh=f.forwardRef((i,r)=>n.jsx(wh.span,{...i,ref:r,style:{...a1,...i.style}}));Fh.displayName=n1;var l1=Fh,[ac]=ny("Tooltip",[Eh]),nc=Eh(),$h="TooltipProvider",s1=700,Tu="tooltip.open",[i1,Lu]=ac($h),Jh=i=>{const{__scopeTooltip:r,delayDuration:d=s1,skipDelayDuration:o=300,disableHoverableContent:m=!1,children:x}=i,p=f.useRef(!0),v=f.useRef(!1),g=f.useRef(0);return f.useEffect(()=>{const S=g.current;return()=>window.clearTimeout(S)},[]),n.jsx(i1,{scope:r,isOpenDelayedRef:p,delayDuration:d,onOpen:f.useCallback(()=>{window.clearTimeout(g.current),p.current=!1},[]),onClose:f.useCallback(()=>{window.clearTimeout(g.current),g.current=window.setTimeout(()=>p.current=!0,o)},[o]),isPointerInTransitRef:v,onPointerInTransitChange:f.useCallback(S=>{v.current=S},[]),disableHoverableContent:m,children:x})};Jh.displayName=$h;var gs="Tooltip",[c1,vs]=ac(gs),Wh=i=>{const{__scopeTooltip:r,children:d,open:o,defaultOpen:m,onOpenChange:x,disableHoverableContent:p,delayDuration:v}=i,g=Lu(gs,i.__scopeTooltip),S=nc(r),[T,E]=f.useState(null),L=$p(),w=f.useRef(0),O=p??g.disableHoverableContent,B=v??g.delayDuration,z=f.useRef(!1),[_,b]=Jp({prop:o,defaultProp:m??!1,onChange:X=>{X?(g.onOpen(),document.dispatchEvent(new CustomEvent(Tu))):g.onClose(),x?.(X)},caller:gs}),N=f.useMemo(()=>_?z.current?"delayed-open":"instant-open":"closed",[_]),G=f.useCallback(()=>{window.clearTimeout(w.current),w.current=0,z.current=!1,b(!0)},[b]),J=f.useCallback(()=>{window.clearTimeout(w.current),w.current=0,b(!1)},[b]),P=f.useCallback(()=>{window.clearTimeout(w.current),w.current=window.setTimeout(()=>{z.current=!0,b(!0),w.current=0},B)},[B,b]);return f.useEffect(()=>()=>{w.current&&(window.clearTimeout(w.current),w.current=0)},[]),n.jsx(Wp,{...S,children:n.jsx(c1,{scope:r,contentId:L,open:_,stateAttribute:N,trigger:T,onTriggerChange:E,onTriggerEnter:f.useCallback(()=>{g.isOpenDelayedRef.current?P():G()},[g.isOpenDelayedRef,P,G]),onTriggerLeave:f.useCallback(()=>{O?J():(window.clearTimeout(w.current),w.current=0)},[J,O]),onOpen:G,onClose:J,disableHoverableContent:O,children:d})})};Wh.displayName=gs;var Eu="TooltipTrigger",Ih=f.forwardRef((i,r)=>{const{__scopeTooltip:d,...o}=i,m=vs(Eu,d),x=Lu(Eu,d),p=nc(d),v=f.useRef(null),g=zh(r,v,m.onTriggerChange),S=f.useRef(!1),T=f.useRef(!1),E=f.useCallback(()=>S.current=!1,[]);return f.useEffect(()=>()=>document.removeEventListener("pointerup",E),[E]),n.jsx(Ip,{asChild:!0,...p,children:n.jsx(wh.button,{"aria-describedby":m.open?m.contentId:void 0,"data-state":m.stateAttribute,...o,ref:g,onPointerMove:rl(i.onPointerMove,L=>{L.pointerType!=="touch"&&!T.current&&!x.isPointerInTransitRef.current&&(m.onTriggerEnter(),T.current=!0)}),onPointerLeave:rl(i.onPointerLeave,()=>{m.onTriggerLeave(),T.current=!1}),onPointerDown:rl(i.onPointerDown,()=>{m.open&&m.onClose(),S.current=!0,document.addEventListener("pointerup",E,{once:!0})}),onFocus:rl(i.onFocus,()=>{S.current||m.onOpen()}),onBlur:rl(i.onBlur,m.onClose),onClick:rl(i.onClick,m.onClose)})})});Ih.displayName=Eu;var Hu="TooltipPortal",[r1,u1]=ac(Hu,{forceMount:void 0}),Ph=i=>{const{__scopeTooltip:r,forceMount:d,children:o,container:m}=i,x=vs(Hu,r);return n.jsx(r1,{scope:r,forceMount:d,children:n.jsx(Th,{present:d||x.open,children:n.jsx(Pp,{asChild:!0,container:m,children:o})})})};Ph.displayName=Hu;var gl="TooltipContent",ex=f.forwardRef((i,r)=>{const d=u1(gl,i.__scopeTooltip),{forceMount:o=d.forceMount,side:m="top",...x}=i,p=vs(gl,i.__scopeTooltip);return n.jsx(Th,{present:o||p.open,children:p.disableHoverableContent?n.jsx(tx,{side:m,...x,ref:r}):n.jsx(o1,{side:m,...x,ref:r})})}),o1=f.forwardRef((i,r)=>{const d=vs(gl,i.__scopeTooltip),o=Lu(gl,i.__scopeTooltip),m=f.useRef(null),x=zh(r,m),[p,v]=f.useState(null),{trigger:g,onClose:S}=d,T=m.current,{onPointerInTransitChange:E}=o,L=f.useCallback(()=>{v(null),E(!1)},[E]),w=f.useCallback((O,B)=>{const z=O.currentTarget,_={x:O.clientX,y:O.clientY},b=h1(_,z.getBoundingClientRect()),N=x1(_,b),G=g1(B.getBoundingClientRect()),J=y1([...N,...G]);v(J),E(!0)},[E]);return f.useEffect(()=>()=>L(),[L]),f.useEffect(()=>{if(g&&T){const O=z=>w(z,T),B=z=>w(z,g);return g.addEventListener("pointerleave",O),T.addEventListener("pointerleave",B),()=>{g.removeEventListener("pointerleave",O),T.removeEventListener("pointerleave",B)}}},[g,T,w,L]),f.useEffect(()=>{if(p){const O=B=>{const z=B.target,_={x:B.clientX,y:B.clientY},b=g?.contains(z)||T?.contains(z),N=!p1(_,p);b?L():N&&(L(),S())};return document.addEventListener("pointermove",O),()=>document.removeEventListener("pointermove",O)}},[g,T,p,S,L]),n.jsx(tx,{...i,ref:x})}),[d1,f1]=ac(gs,{isInside:!1}),m1=t1("TooltipContent"),tx=f.forwardRef((i,r)=>{const{__scopeTooltip:d,children:o,"aria-label":m,onEscapeKeyDown:x,onPointerDownOutside:p,...v}=i,g=vs(gl,d),S=nc(d),{onClose:T}=g;return f.useEffect(()=>(document.addEventListener(Tu,T),()=>document.removeEventListener(Tu,T)),[T]),f.useEffect(()=>{if(g.trigger){const E=L=>{L.target?.contains(g.trigger)&&T()};return window.addEventListener("scroll",E,{capture:!0}),()=>window.removeEventListener("scroll",E,{capture:!0})}},[g.trigger,T]),n.jsx(ty,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:x,onPointerDownOutside:p,onFocusOutside:E=>E.preventDefault(),onDismiss:T,children:n.jsxs(ay,{"data-state":g.stateAttribute,...S,...v,ref:r,style:{...v.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[n.jsx(m1,{children:o}),n.jsx(d1,{scope:d,isInside:!0,children:n.jsx(l1,{id:g.contentId,role:"tooltip",children:m||o})})]})})});ex.displayName=gl;var ax="TooltipArrow",nx=f.forwardRef((i,r)=>{const{__scopeTooltip:d,...o}=i,m=nc(d);return f1(ax,d).isInside?null:n.jsx(ey,{...m,...o,ref:r})});nx.displayName=ax;function h1(i,r){const d=Math.abs(r.top-i.y),o=Math.abs(r.bottom-i.y),m=Math.abs(r.right-i.x),x=Math.abs(r.left-i.x);switch(Math.min(d,o,m,x)){case x:return"left";case m:return"right";case d:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function x1(i,r,d=5){const o=[];switch(r){case"top":o.push({x:i.x-d,y:i.y+d},{x:i.x+d,y:i.y+d});break;case"bottom":o.push({x:i.x-d,y:i.y-d},{x:i.x+d,y:i.y-d});break;case"left":o.push({x:i.x+d,y:i.y-d},{x:i.x+d,y:i.y+d});break;case"right":o.push({x:i.x-d,y:i.y-d},{x:i.x-d,y:i.y+d});break}return o}function g1(i){const{top:r,right:d,bottom:o,left:m}=i;return[{x:m,y:r},{x:d,y:r},{x:d,y:o},{x:m,y:o}]}function p1(i,r){const{x:d,y:o}=i;let m=!1;for(let x=0,p=r.length-1;x<r.length;p=x++){const v=r[x],g=r[p],S=v.x,T=v.y,E=g.x,L=g.y;T>o!=L>o&&d<(E-S)*(o-T)/(L-T)+S&&(m=!m)}return m}function y1(i){const r=i.slice();return r.sort((d,o)=>d.x<o.x?-1:d.x>o.x?1:d.y<o.y?-1:d.y>o.y?1:0),v1(r)}function v1(i){if(i.length<=1)return i.slice();const r=[];for(let o=0;o<i.length;o++){const m=i[o];for(;r.length>=2;){const x=r[r.length-1],p=r[r.length-2];if((x.x-p.x)*(m.y-p.y)>=(x.y-p.y)*(m.x-p.x))r.pop();else break}r.push(m)}r.pop();const d=[];for(let o=i.length-1;o>=0;o--){const m=i[o];for(;d.length>=2;){const x=d[d.length-1],p=d[d.length-2];if((x.x-p.x)*(m.y-p.y)>=(x.y-p.y)*(m.x-p.x))d.pop();else break}d.push(m)}return d.pop(),r.length===1&&d.length===1&&r[0].x===d[0].x&&r[0].y===d[0].y?r:r.concat(d)}var b1=Jh,j1=Wh,S1=Ih,N1=Ph,C1=ex,w1=nx;function z1({delayDuration:i=250,...r}){return n.jsx(b1,{"data-slot":"tooltip-provider",delayDuration:i,...r})}function fs({...i}){return n.jsx(j1,{"data-slot":"tooltip",...i})}function ms({...i}){return n.jsx(S1,{"data-slot":"tooltip-trigger",...i})}function hs({className:i,side:r="bottom",align:d="center",sideOffset:o=8,children:m,...x}){return n.jsx(N1,{children:n.jsxs(C1,{"data-slot":"tooltip-content",side:r,align:d,sideOffset:o,className:ke("z-50 overflow-hidden rounded-md border bg-neutral-900 px-3 py-2 text-sm text-white shadow-md leading-tight min-h-7","data-[state=delayed-open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",i),...x,children:[m,n.jsx(w1,{"data-slot":"tooltip-arrow",className:"fill-neutral-900"})]})})}function T1({themes:i,currentTheme:r,onThemeChange:d}){const[o,m]=f.useState(!1),[x,p]=f.useState(null),v=f.useRef(null),g=f.useRef(null);f.useEffect(()=>{const w=O=>{v.current&&!v.current.contains(O.target)&&(m(!1),p(null))};return document.addEventListener("mousedown",w),()=>document.removeEventListener("mousedown",w)},[]),f.useEffect(()=>{if(x){const w=document.documentElement;w.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business"),x==="claude"?w.classList.add("theme-claude"):x==="neo-brutalism"?w.classList.add("theme-neo-brutalism"):x==="retro-arcade"?w.classList.add("theme-retro-arcade"):x==="aurora"?w.classList.add("theme-aurora"):x==="business"&&w.classList.add("theme-business")}return()=>{if(x){const w=document.documentElement;w.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business"),r==="claude"?w.classList.add("theme-claude"):r==="neo-brutalism"?w.classList.add("theme-neo-brutalism"):r==="retro-arcade"?w.classList.add("theme-retro-arcade"):r==="aurora"?w.classList.add("theme-aurora"):r==="business"&&w.classList.add("theme-business")}}},[x,r]);const S=()=>{g.current&&clearTimeout(g.current),m(!0)},T=()=>{g.current=setTimeout(()=>{m(!1),p(null)},150)},E=w=>{p(w)},L=w=>{d(w),p(null),m(!1)};return n.jsxs("div",{ref:v,className:"relative",onMouseEnter:S,onMouseLeave:T,children:[n.jsxs(fs,{children:[n.jsx(ms,{asChild:!0,children:n.jsx(F,{variant:"outline",size:"sm","aria-label":"Select theme","aria-expanded":o,"aria-haspopup":"true",children:n.jsx(Uy,{size:18})})}),n.jsx(hs,{children:"Theme"})]}),o&&n.jsx("div",{className:"absolute right-0 top-full mt-2 w-56 bg-popover border-2 border-border rounded-lg shadow-lg z-50 animate-slide-in-down overflow-hidden",role:"menu","aria-orientation":"vertical",children:n.jsx("div",{className:"p-2 space-y-1",children:i.map(w=>n.jsxs("button",{onClick:()=>L(w.id),onMouseEnter:()=>E(w.id),onMouseLeave:()=>p(null),className:`w-full flex items-center gap-3 px-3 py-2 rounded-md text-left transition-colors ${r===w.id?"bg-primary/10 text-foreground":"hover:bg-muted text-foreground"}`,role:"menuitem",children:[n.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[n.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:w.previewColors.background}}),n.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:w.previewColors.primary}}),n.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:w.previewColors.accent}})]}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium text-sm",children:w.name}),n.jsx("div",{className:"text-xs text-muted-foreground truncate",children:w.description})]}),r===w.id&&n.jsx(ra,{size:16,className:"text-primary shrink-0"})]},w.id))})})]})}function E1({isOpen:i,projectName:r,onClose:d,onResetComplete:o}){const[m,x]=f.useState("quick"),p=Z0(r),v=async()=>{const S=m==="full";try{await p.mutateAsync(S),o?.(S),d()}catch{}},g=()=>{p.isPending||(p.reset(),x("quick"),d())};return n.jsx(ea,{open:i,onOpenChange:S=>!S&&g(),children:n.jsxs(ta,{className:"sm:max-w-md",children:[n.jsxs(aa,{children:[n.jsxs(na,{className:"flex items-center gap-2",children:[n.jsx(en,{size:20}),"Reset Project"]}),n.jsxs(fl,{children:["Reset ",n.jsx("span",{className:"font-semibold",children:r})," to start fresh"]})]}),n.jsxs("div",{className:"space-y-4 py-4",children:[n.jsxs("div",{className:"flex rounded-lg border-2 border-border overflow-hidden",children:[n.jsxs("button",{onClick:()=>x("quick"),disabled:p.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${m==="quick"?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${p.isPending?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx(en,{size:16}),"Quick Reset"]}),n.jsxs("button",{onClick:()=>x("full"),disabled:p.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${m==="full"?"bg-destructive text-destructive-foreground":"bg-background text-foreground hover:bg-muted"} ${p.isPending?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx(an,{size:16}),"Full Reset"]})]}),n.jsxs(ht,{variant:m==="full"?"destructive":"default",className:"border-2",children:[n.jsx(Ea,{className:"h-4 w-4"}),n.jsxs(xt,{children:[n.jsx("div",{className:"font-semibold mb-2",children:"What will be deleted:"}),n.jsxs("ul",{className:"list-none space-y-1 text-sm",children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(ct,{size:14,className:"text-destructive"}),"All features and progress"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(ct,{size:14,className:"text-destructive"}),"Assistant chat history"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(ct,{size:14,className:"text-destructive"}),"Agent settings"]}),m==="full"&&n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(ct,{size:14,className:"text-destructive"}),"App spec and prompts"]})]})]})]}),n.jsxs("div",{className:"bg-muted/50 rounded-lg border-2 border-border p-3",children:[n.jsx("div",{className:"font-semibold mb-2 text-sm",children:"What will be preserved:"}),n.jsx("ul",{className:"list-none space-y-1 text-sm text-muted-foreground",children:m==="quick"?n.jsxs(n.Fragment,{children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(ra,{size:14,className:"text-green-600"}),"App spec and prompts"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(ra,{size:14,className:"text-green-600"}),"Project code and files"]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(ra,{size:14,className:"text-green-600"}),"Project code and files"]}),n.jsxs("li",{className:"flex items-center gap-2 text-muted-foreground/70",children:[n.jsx(Ea,{size:14}),"Setup wizard will appear"]})]})})]}),p.isError&&n.jsx(ht,{variant:"destructive",children:n.jsx(xt,{children:p.error instanceof Error?p.error.message:"Failed to reset project. Please try again."})})]}),n.jsxs(Pt,{className:"gap-2",children:[n.jsx(F,{variant:"outline",onClick:g,disabled:p.isPending,children:"Cancel"}),n.jsx(F,{variant:m==="full"?"destructive":"default",onClick:v,disabled:p.isPending,children:p.isPending?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{className:"animate-spin mr-2",size:16}),"Resetting..."]}):n.jsx(n.Fragment,{children:m==="quick"?"Quick Reset":"Full Reset"})})]})]})})}function A1({projectName:i,projectPath:r,onCreateWithClaude:d,onEditManually:o}){return n.jsx("div",{className:"max-w-2xl mx-auto mt-8",children:n.jsxs(Me,{className:"border-2",children:[n.jsxs(tc,{className:"text-center",children:[n.jsx(Uu,{className:"text-2xl font-display",children:"Project Setup Required"}),n.jsxs(zv,{className:"text-base",children:[n.jsx("span",{className:"font-semibold",children:i})," needs an app spec to get started"]}),r&&n.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground mt-2",children:[n.jsx(Zi,{size:14}),n.jsx("code",{className:"bg-muted px-2 py-0.5 rounded text-xs",children:r})]})]}),n.jsxs(He,{className:"space-y-4",children:[n.jsx("p",{className:"text-center text-muted-foreground",children:"Choose how you want to create your app specification:"}),n.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[n.jsx(Me,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:d,children:n.jsxs(He,{className:"pt-6 text-center space-y-3",children:[n.jsx("div",{className:"w-12 h-12 mx-auto bg-primary/10 rounded-full flex items-center justify-center",children:n.jsx(Nn,{className:"text-primary",size:24})}),n.jsx("h3",{className:"font-semibold text-lg",children:"Create with Claude"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Describe your app idea and Claude will help create a detailed specification"}),n.jsxs(F,{className:"w-full",children:[n.jsx(Nn,{size:16,className:"mr-2"}),"Start Chat"]})]})}),n.jsx(Me,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:o,children:n.jsxs(He,{className:"pt-6 text-center space-y-3",children:[n.jsx("div",{className:"w-12 h-12 mx-auto bg-muted rounded-full flex items-center justify-center",children:n.jsx(Nu,{className:"text-muted-foreground",size:24})}),n.jsx("h3",{className:"font-semibold text-lg",children:"Edit Templates Manually"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Create the prompts directory and edit template files yourself"}),n.jsxs(F,{variant:"outline",className:"w-full",children:[n.jsx(Nu,{size:16,className:"mr-2"}),"View Templates"]})]})})]}),n.jsx("p",{className:"text-center text-xs text-muted-foreground pt-4",children:"The app spec tells the agent what to build. It includes the application name, description, tech stack, and feature requirements."})]})]})})}const Su="autoforge-selected-project",jh="autoforge-view-mode",D1=48;function _1(){const[i,r]=f.useState(()=>{try{return localStorage.getItem(Su)}catch{return null}}),[d,o]=f.useState(!1),[m,x]=f.useState(!1),[p,v]=f.useState(null),[g,S]=f.useState(!0),[T,E]=f.useState(!1),[L,w]=f.useState(288),[O,B]=f.useState("agent"),[z,_]=f.useState(!1),[b,N]=f.useState(!1),[G,J]=f.useState(!1),[P,X]=f.useState(!1),[ae,q]=f.useState(!1),[le,I]=f.useState(!1),[R,W]=f.useState("idle"),[Z,$]=f.useState(null),[y,D]=f.useState(()=>{try{return localStorage.getItem(jh)==="graph"?"graph":"kanban"}catch{return"kanban"}}),ee=Ve(),{data:te,isLoading:oe}=X0(),{data:ie}=Lh(i),{data:he}=Ou();ev(i);const V=xv(i),{theme:fe,setTheme:me,darkMode:Xe,toggleDarkMode:bt,themes:pt}=Gh(),ne=te?.find(Qe=>Qe.name===i),ue=ne?.has_spec??!0,{data:Oe}=vt({queryKey:["dependencyGraph",i],queryFn:()=>x0(i),enabled:!!i&&y==="graph",refetchInterval:5e3});f.useEffect(()=>{try{localStorage.setItem(jh,y)}catch{}},[y]),yv(ie),Sv(ie,i);const gt=f.useCallback(Qe=>{r(Qe);try{Qe?localStorage.setItem(Su,Qe):localStorage.removeItem(Su)}catch{}},[]),tt=f.useCallback(Qe=>{const Et=[...ie?.pending??[],...ie?.in_progress??[],...ie?.done??[],...ie?.needs_human_input??[]].find(bs=>bs.id===Qe);Et&&v(Et)},[ie]);f.useEffect(()=>{i&&te&&!te.some(Qe=>Qe.name===i)&>(null)},[i,te,gt]),f.useEffect(()=>{const Qe=Se=>{Se.target instanceof HTMLInputElement||Se.target instanceof HTMLTextAreaElement||((Se.key==="d"||Se.key==="D")&&(Se.preventDefault(),E(Et=>!Et)),(Se.key==="t"||Se.key==="T")&&(Se.preventDefault(),T?O==="terminal"?E(!1):B("terminal"):(E(!0),B("terminal"))),(Se.key==="n"||Se.key==="N")&&i&&(Se.preventDefault(),o(!0)),(Se.key==="e"||Se.key==="E")&&i&&ue&&ie&&ie.pending.length+ie.in_progress.length+ie.done.length+(ie.needs_human_input?.length||0)>0&&(Se.preventDefault(),x(!0)),(Se.key==="a"||Se.key==="A")&&i&&!P&&(Se.preventDefault(),_(Et=>!Et)),Se.key===","&&(Se.preventDefault(),N(!0)),(Se.key==="g"||Se.key==="G")&&i&&(Se.preventDefault(),D(Et=>Et==="kanban"?"graph":"kanban")),Se.key==="?"&&(Se.preventDefault(),J(!0)),(Se.key==="r"||Se.key==="R")&&i&&!["running","pausing","paused_graceful"].includes(V.agentStatus)&&(Se.preventDefault(),q(!0)),Se.key==="Escape"&&(G?J(!1):ae?q(!1):m?x(!1):b?N(!1):z?_(!1):d?o(!1):p?v(null):T&&E(!1)))};return window.addEventListener("keydown",Qe),()=>window.removeEventListener("keydown",Qe)},[i,d,m,p,T,O,z,ie,b,G,P,y,ae,V.agentStatus,ue]);const lt=V.progress.total>0?V.progress:{passing:ie?.done.length??0,total:(ie?.pending.length??0)+(ie?.in_progress.length??0)+(ie?.done.length??0)+(ie?.needs_human_input?.length??0),percentage:0};return lt.total>0&<.percentage===0&&(lt.percentage=Math.round(lt.passing/lt.total*100*10)/10),g?n.jsxs("div",{className:"min-h-screen bg-background",children:[n.jsx("header",{className:"sticky top-0 z-50 bg-card/80 backdrop-blur-md text-foreground border-b-2 border-border",children:n.jsx("div",{className:"max-w-7xl mx-auto px-4 py-3",children:n.jsxs(z1,{children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[n.jsx("img",{src:"/logo.png",alt:"AutoForge",className:"h-9 w-9 rounded-full"}),n.jsx("h1",{className:"font-display text-2xl font-bold tracking-tight uppercase hidden md:block",children:"AutoForge"})]}),n.jsx(Vv,{projects:te??[],selectedProject:i,onSelectProject:gt,isLoading:oe,onSpecCreatingChange:X}),n.jsx("div",{className:"flex-1"}),i&&he?.ollama_mode&&n.jsxs("div",{className:"hidden sm:flex items-center gap-1.5 px-2 py-1 bg-card rounded border-2 border-border shadow-sm",title:"Using Ollama local models",children:[n.jsx("img",{src:"/ollama.png",alt:"Ollama",className:"w-5 h-5"}),n.jsx("span",{className:"text-xs font-bold text-foreground",children:"Ollama"})]}),i&&he?.glm_mode&&n.jsx(_e,{className:"hidden sm:inline-flex bg-purple-500 text-white hover:bg-purple-600",title:"Using GLM API",children:"GLM"}),n.jsxs(fs,{children:[n.jsx(ms,{asChild:!0,children:n.jsx(F,{onClick:()=>window.open("https://autoforge.cc","_blank"),variant:"outline",size:"sm","aria-label":"Open Documentation",children:n.jsx(By,{size:18})})}),n.jsx(hs,{children:"Docs"})]}),n.jsx(T1,{themes:pt,currentTheme:fe,onThemeChange:me}),n.jsxs(fs,{children:[n.jsx(ms,{asChild:!0,children:n.jsx(F,{onClick:bt,variant:"outline",size:"sm","aria-label":"Toggle dark mode",children:Xe?n.jsx(Rh,{size:18}):n.jsx(Uh,{size:18})})}),n.jsx(hs,{children:"Toggle theme"})]})]}),i&&n.jsxs("div",{className:"flex items-center gap-3 mt-2 pt-2 border-t border-border/50",children:[n.jsx(qb,{projectName:i,status:V.agentStatus,defaultConcurrency:ne?.default_concurrency}),n.jsx(Xj,{projectName:i,status:V.devServerStatus,url:V.devServerUrl}),n.jsx("div",{className:"flex-1"}),n.jsxs(fs,{children:[n.jsx(ms,{asChild:!0,children:n.jsx(F,{onClick:()=>N(!0),variant:"outline",size:"sm","aria-label":"Open Settings",children:n.jsx(Ly,{size:18})})}),n.jsx(hs,{children:"Settings (,)"})]}),n.jsxs(fs,{children:[n.jsx(ms,{asChild:!0,children:n.jsx(F,{onClick:()=>q(!0),variant:"outline",size:"sm","aria-label":"Reset Project",disabled:["running","pausing","paused_graceful"].includes(V.agentStatus),children:n.jsx(en,{size:18})})}),n.jsx(hs,{children:"Reset (R)"})]})]})]})})}),n.jsx("main",{className:"max-w-7xl mx-auto px-4 py-8",style:{paddingBottom:T?L+32:D1},children:i?ue?n.jsxs("div",{className:"space-y-8",children:[n.jsx(Xb,{passing:lt.passing,total:lt.total,percentage:lt.percentage,isConnected:V.isConnected,logs:V.activeAgents.length===0?V.logs:void 0,agentStatus:V.activeAgents.length===0?V.agentStatus:void 0}),n.jsx(vj,{agents:V.activeAgents,orchestratorStatus:V.orchestratorStatus,recentActivity:V.recentActivity,getAgentLogs:V.getAgentLogs}),ie&&ie.pending.length===0&&ie.in_progress.length===0&&ie.done.length===0&&(ie.needs_human_input?.length||0)===0&&V.agentStatus==="running"&&n.jsx(Me,{className:"p-8 text-center",children:n.jsxs(He,{className:"p-0",children:[n.jsx(Ce,{size:32,className:"animate-spin mx-auto mb-4 text-primary"}),n.jsx("h3",{className:"font-display font-bold text-xl mb-2",children:"Initializing Features..."}),n.jsx("p",{className:"text-muted-foreground",children:"The agent is reading your spec and creating features. This may take a moment."})]})}),ie&&ie.pending.length+ie.in_progress.length+ie.done.length+(ie.needs_human_input?.length||0)>0&&n.jsx("div",{className:"flex justify-center",children:n.jsx(Vj,{viewMode:y,onViewModeChange:D})}),y==="kanban"?n.jsx(wb,{features:ie,onFeatureClick:v,onAddFeature:()=>o(!0),onExpandProject:()=>x(!0),activeAgents:V.activeAgents,onCreateSpec:()=>I(!0),hasSpec:ue}):n.jsx(Me,{className:"overflow-hidden",style:{height:"600px"},children:Oe?n.jsx(Wj,{graphData:Oe,onNodeClick:tt,activeAgents:V.activeAgents}):n.jsx("div",{className:"h-full flex items-center justify-center",children:n.jsx(Ce,{size:32,className:"animate-spin text-primary"})})})]}):n.jsx(A1,{projectName:i,projectPath:ne?.path,onCreateWithClaude:()=>I(!0),onEditManually:()=>{E(!0)}}):n.jsxs("div",{className:"text-center mt-12",children:[n.jsx("h2",{className:"font-display text-2xl font-bold mb-2",children:"Welcome to AutoForge"}),n.jsx("p",{className:"text-muted-foreground mb-4",children:"Select a project from the dropdown above or create a new one to get started."})]})}),d&&i&&n.jsx(Kb,{projectName:i,onClose:()=>o(!1)}),p&&i&&n.jsx(Jb,{feature:p,projectName:i,onClose:()=>v(null)}),m&&i&&ue&&n.jsx(Lj,{isOpen:m,projectName:i,onClose:()=>x(!1),onFeaturesAdded:()=>{ee.invalidateQueries({queryKey:["features",i]})}}),le&&i&&n.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:n.jsx(Xh,{projectName:i,onComplete:async(Qe,Se)=>{W("starting");try{await ku(i,{yoloMode:Se??!1,maxConcurrency:3}),I(!1),W("idle"),ee.invalidateQueries({queryKey:["projects"]}),ee.invalidateQueries({queryKey:["features",i]})}catch(Et){W("error"),$(Et instanceof Error?Et.message:"Failed to start agent")}},onCancel:()=>{I(!1),W("idle")},onExitToProject:()=>{I(!1),W("idle")},initializerStatus:R,initializerError:Z,onRetryInitializer:()=>{$(null),W("idle")}})}),i&&n.jsx(tj,{logs:V.logs,devLogs:V.devLogs,isOpen:T,onToggle:()=>E(!T),onClear:V.clearLogs,onClearDevLogs:V.clearDevLogs,onHeightChange:w,projectName:i,activeTab:O,onTabChange:B}),i&&!m&&!P&&!le&&n.jsxs(n.Fragment,{children:[n.jsx(Sj,{onClick:()=>_(!z),isOpen:z}),n.jsx(Mj,{projectName:i,isOpen:z,onClose:()=>_(!1)})]}),n.jsx(qj,{isOpen:b,onClose:()=>N(!1)}),n.jsx(Pj,{isOpen:G,onClose:()=>J(!1)}),ae&&i&&n.jsx(E1,{isOpen:ae,projectName:i,onClose:()=>q(!1),onResetComplete:Qe=>{Qe&&I(!0)}}),V.celebration&&n.jsx(jj,{agentName:V.celebration.agentName,featureName:V.celebration.featureName,onComplete:V.clearCelebration})]}):n.jsx(Vb,{onComplete:()=>S(!0)})}const M1=new Ep({defaultOptions:{queries:{staleTime:5e3,refetchOnWindowFocus:!1}}});a0.createRoot(document.getElementById("root")).render(n.jsx(f.StrictMode,{children:n.jsx(Ap,{client:M1,children:n.jsx(_1,{})})}));
|