autoforge-ai 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,31 +1,28 @@
1
- import{u as Nt,b as at,c as rt,r as m,j as l,Q as Lg,d as Gg}from"./vendor-query-BUABzP5o.js";import{r as Qg,a as Yg,g as Vg}from"./vendor-react-qkC6yhPU.js";import{c as Ei,t as Xg,a as Kg,I as Zg,B as uu,U as Fg,b as ou,C as ea,d as ta,F as Jg,E as du,X as tt,e as wa,R as on,P as Oi,S as fu,L as _e,Z as $g,A as Im,W as dn,f as fn,g as _i,h as Pm,i as vm,H as Wg,j as Ri,k as bm,l as cu,T as Aa,m as rs,n as tl,o as Pa,G as mn,M as mu,p as rn,q as jl,r as Ig,s as un,u as Pg,v as eh,w as ep,x as jm,y as tp,z as ap,D as lp,J as np,K as sp,N as Sm,O as ip,Q as cp,V as Ui,Y as rp,_ as up,$ as th,a0 as ah,a1 as lh,a2 as op,a3 as dp,a4 as fp,a5 as mp,a6 as hp,a7 as nh,a8 as sh,a9 as xp,aa as gp,ab as pp,ac as yp,ad as vp,ae as bp,af as jp,ag as Sp,ah as Np,ai as Cp}from"./vendor-utils-ZeeSylek.js";import{r as ih,a as zp,M as wp,u as Ap,b as Ep,i as Tp,C as Dp,B as Mp,c as _p,d as kp,P as cn,H as Nm}from"./vendor-flow-CVNK-_lx.js";import{S as ch,R as Op,C as Rp,a as rh,T as Up,D as Bp,P as qp,O as Hp,b as Lp,c as Gp,d as Qp,e as Yp,f as Vp,I as Xp,g as Kp,h as Zp,i as Fp,j as Jp,k as $p,l as Wp}from"./vendor-radix-DTNNCg2d.js";import{D as Ip,o as Pp}from"./vendor-xterm-DP_gxef0.js";(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const h of document.querySelectorAll('link[rel="modulepreload"]'))o(h);new MutationObserver(h=>{for(const p of h)if(p.type==="childList")for(const v of p.addedNodes)v.tagName==="LINK"&&v.rel==="modulepreload"&&o(v)}).observe(document,{childList:!0,subtree:!0});function d(h){const p={};return h.integrity&&(p.integrity=h.integrity),h.referrerPolicy&&(p.referrerPolicy=h.referrerPolicy),h.crossOrigin==="use-credentials"?p.credentials="include":h.crossOrigin==="anonymous"?p.credentials="omit":p.credentials="same-origin",p}function o(h){if(h.ep)return;h.ep=!0;const p=d(h);fetch(h.href,p)}})();var au={exports:{}},cs={},lu={exports:{}},nu={};var Cm;function ey(){return Cm||(Cm=1,(function(c){function r(g,T){var I=g.length;g.push(T);e:for(;0<I;){var P=I-1>>>1,fe=g[P];if(0<h(fe,T))g[P]=T,g[I]=fe,I=P;else break e}}function d(g){return g.length===0?null:g[0]}function o(g){if(g.length===0)return null;var T=g[0],I=g.pop();if(I!==T){g[0]=I;e:for(var P=0,fe=g.length,oe=fe>>>1;P<oe;){var te=2*(P+1)-1,ie=g[te],Ue=te+1,ut=g[Ue];if(0>h(ie,I))Ue<fe&&0>h(ut,ie)?(g[P]=ut,g[Ue]=I,P=Ue):(g[P]=ie,g[te]=I,P=te);else if(Ue<fe&&0>h(ut,I))g[P]=ut,g[Ue]=I,P=Ue;else break e}}return T}function h(g,T){var I=g.sortIndex-T.sortIndex;return I!==0?I:g.id-T.id}if(c.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var p=performance;c.unstable_now=function(){return p.now()}}else{var v=Date,y=v.now();c.unstable_now=function(){return v.now()-y}}var C=[],w=[],E=1,_=null,L=3,z=!1,q=!1,U=!1,R=!1,A=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,j=typeof setImmediate<"u"?setImmediate:null;function K(g){for(var T=d(w);T!==null;){if(T.callback===null)o(w);else if(T.startTime<=g)o(w),T.sortIndex=T.expirationTime,r(C,T);else break;T=d(w)}}function J(g){if(U=!1,K(g),!q)if(d(C)!==null)q=!0,$||($=!0,O());else{var T=d(w);T!==null&&ae(J,T.startTime-g)}}var $=!1,X=-1,ee=5,Q=-1;function ne(){return R?!0:!(c.unstable_now()-Q<ee)}function Z(){if(R=!1,$){var g=c.unstable_now();Q=g;var T=!0;try{e:{q=!1,U&&(U=!1,S(X),X=-1),z=!0;var I=L;try{t:{for(K(g),_=d(C);_!==null&&!(_.expirationTime>g&&ne());){var P=_.callback;if(typeof P=="function"){_.callback=null,L=_.priorityLevel;var fe=P(_.expirationTime<=g);if(g=c.unstable_now(),typeof fe=="function"){_.callback=fe,K(g),T=!0;break t}_===d(C)&&o(C),K(g)}else o(C);_=d(C)}if(_!==null)T=!0;else{var oe=d(w);oe!==null&&ae(J,oe.startTime-g),T=!1}}break e}finally{_=null,L=I,z=!1}T=void 0}}finally{T?O():$=!1}}}var O;if(typeof j=="function")O=function(){j(Z)};else if(typeof MessageChannel<"u"){var H=new MessageChannel,W=H.port2;H.port1.onmessage=Z,O=function(){W.postMessage(null)}}else O=function(){A(Z,0)};function ae(g,T){X=A(function(){g(c.unstable_now())},T)}c.unstable_IdlePriority=5,c.unstable_ImmediatePriority=1,c.unstable_LowPriority=4,c.unstable_NormalPriority=3,c.unstable_Profiling=null,c.unstable_UserBlockingPriority=2,c.unstable_cancelCallback=function(g){g.callback=null},c.unstable_forceFrameRate=function(g){0>g||125<g?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):ee=0<g?Math.floor(1e3/g):5},c.unstable_getCurrentPriorityLevel=function(){return L},c.unstable_next=function(g){switch(L){case 1:case 2:case 3:var T=3;break;default:T=L}var I=L;L=T;try{return g()}finally{L=I}},c.unstable_requestPaint=function(){R=!0},c.unstable_runWithPriority=function(g,T){switch(g){case 1:case 2:case 3:case 4:case 5:break;default:g=3}var I=L;L=g;try{return T()}finally{L=I}},c.unstable_scheduleCallback=function(g,T,I){var P=c.unstable_now();switch(typeof I=="object"&&I!==null?(I=I.delay,I=typeof I=="number"&&0<I?P+I:P):I=P,g){case 1:var fe=-1;break;case 2:fe=250;break;case 5:fe=1073741823;break;case 4:fe=1e4;break;default:fe=5e3}return fe=I+fe,g={id:E++,callback:T,priorityLevel:g,startTime:I,expirationTime:fe,sortIndex:-1},I>P?(g.sortIndex=I,r(w,g),d(C)===null&&g===d(w)&&(U?(S(X),X=-1):U=!0,ae(J,I-P))):(g.sortIndex=fe,r(C,g),q||z||(q=!0,$||($=!0,O()))),g},c.unstable_shouldYield=ne,c.unstable_wrapCallback=function(g){var T=L;return function(){var I=L;L=T;try{return g.apply(this,arguments)}finally{L=I}}}})(nu)),nu}var zm;function ty(){return zm||(zm=1,lu.exports=ey()),lu.exports}var wm;function ay(){if(wm)return cs;wm=1;var c=ty(),r=Qg(),d=Yg();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 h(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function p(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 v(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 y(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 C(e){if(p(e)!==e)throw Error(o(188))}function w(e){var t=e.alternate;if(!t){if(t=p(e),t===null)throw Error(o(188));return t!==e?null:e}for(var a=e,n=t;;){var s=a.return;if(s===null)break;var i=s.alternate;if(i===null){if(n=s.return,n!==null){a=n;continue}break}if(s.child===i.child){for(i=s.child;i;){if(i===a)return C(s),e;if(i===n)return C(s),t;i=i.sibling}throw Error(o(188))}if(a.return!==n.return)a=s,n=i;else{for(var u=!1,f=s.child;f;){if(f===a){u=!0,a=s,n=i;break}if(f===n){u=!0,n=s,a=i;break}f=f.sibling}if(!u){for(f=i.child;f;){if(f===a){u=!0,a=i,n=s;break}if(f===n){u=!0,n=i,a=s;break}f=f.sibling}if(!u)throw Error(o(189))}}if(a.alternate!==n)throw Error(o(190))}if(a.tag!==3)throw Error(o(188));return a.stateNode.current===a?e:t}function E(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=E(e),t!==null)return t;e=e.sibling}return null}var _=Object.assign,L=Symbol.for("react.element"),z=Symbol.for("react.transitional.element"),q=Symbol.for("react.portal"),U=Symbol.for("react.fragment"),R=Symbol.for("react.strict_mode"),A=Symbol.for("react.profiler"),S=Symbol.for("react.consumer"),j=Symbol.for("react.context"),K=Symbol.for("react.forward_ref"),J=Symbol.for("react.suspense"),$=Symbol.for("react.suspense_list"),X=Symbol.for("react.memo"),ee=Symbol.for("react.lazy"),Q=Symbol.for("react.activity"),ne=Symbol.for("react.memo_cache_sentinel"),Z=Symbol.iterator;function O(e){return e===null||typeof e!="object"?null:(e=Z&&e[Z]||e["@@iterator"],typeof e=="function"?e:null)}var H=Symbol.for("react.client.reference");function W(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===H?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case U:return"Fragment";case A:return"Profiler";case R:return"StrictMode";case J:return"Suspense";case $:return"SuspenseList";case Q:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case q:return"Portal";case j:return e.displayName||"Context";case S:return(e._context.displayName||"Context")+".Consumer";case K: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:W(e.type)||"Memo";case ee:t=e._payload,e=e._init;try{return W(e(t))}catch{}}return null}var ae=Array.isArray,g=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,T=d.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,I={pending:!1,data:null,method:null,action:null},P=[],fe=-1;function oe(e){return{current:e}}function te(e){0>fe||(e.current=P[fe],P[fe]=null,fe--)}function ie(e,t){fe++,P[fe]=e.current,e.current=t}var Ue=oe(null),ut=oe(null),ft=oe(null),ia=oe(null);function ca(e,t){switch(ie(ft,t),ie(ut,e),ie(Ue,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Qf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Qf(t),e=Yf(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}te(Ue),ie(Ue,e)}function le(){te(Ue),te(ut),te(ft)}function de(e){e.memoizedState!==null&&ie(ia,e);var t=Ue.current,a=Yf(t,e.type);t!==a&&(ie(ut,e),ie(Ue,a))}function Be(e){ut.current===e&&(te(Ue),te(ut)),ia.current===e&&(te(ia),ls._currentValue=I)}var Ct,Kt;function ot(e){if(Ct===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Ct=t&&t[1]||"",Kt=-1<a.stack.indexOf(`
1
+ import{u as Nt,b as at,c as rt,r as m,j as l,Q as Hg,d as Lg}from"./vendor-query-BUABzP5o.js";import{r as Gg,a as Qg,g as Yg}from"./vendor-react-qkC6yhPU.js";import{c as Ei,t as Vg,a as Xg,I as Kg,B as uu,U as Zg,b as ou,C as ea,d as ta,F as Fg,E as du,X as tt,e as wa,R as on,P as Oi,S as fu,L as _e,Z as Jg,A as Wm,W as dn,f as fn,g as _i,h as Im,i as vm,H as $g,j as Ri,k as bm,l as cu,T as Aa,m as rs,n as tl,o as Pa,G as mn,M as mu,p as rn,q as jl,r as Wg,s as un,u as Ig,v as Pm,w as Pg,x as jm,y as ep,z as tp,D as ap,J as lp,K as np,N as Sm,O as sp,Q as ip,V as Ui,Y as cp,_ as rp,$ as eh,a0 as th,a1 as ah,a2 as up,a3 as op,a4 as dp,a5 as fp,a6 as mp,a7 as lh,a8 as nh,a9 as hp,aa as xp,ab as gp,ac as pp,ad as yp,ae as vp,af as bp,ag as jp,ah as Sp,ai as Np}from"./vendor-utils-ZeeSylek.js";import{r as sh,a as Cp,M as zp,u as wp,b as Ap,i as Ep,C as Tp,B as Dp,c as Mp,d as _p,P as cn,H as Nm}from"./vendor-flow-CVNK-_lx.js";import{M as kp,r as Op}from"./vendor-markdown-lmnOnLXp.js";import{S as ih,R as Rp,C as Up,a as ch,T as Bp,D as qp,P as Hp,O as Lp,b as Gp,c as Qp,d as Yp,e as Vp,f as Xp,I as Kp,g as Zp,h as Fp,i as Jp,j as $p,k as Wp,l as Ip}from"./vendor-radix-DTNNCg2d.js";import{D as Pp,o as ey}from"./vendor-xterm-DP_gxef0.js";(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const h of document.querySelectorAll('link[rel="modulepreload"]'))o(h);new MutationObserver(h=>{for(const p of h)if(p.type==="childList")for(const v of p.addedNodes)v.tagName==="LINK"&&v.rel==="modulepreload"&&o(v)}).observe(document,{childList:!0,subtree:!0});function d(h){const p={};return h.integrity&&(p.integrity=h.integrity),h.referrerPolicy&&(p.referrerPolicy=h.referrerPolicy),h.crossOrigin==="use-credentials"?p.credentials="include":h.crossOrigin==="anonymous"?p.credentials="omit":p.credentials="same-origin",p}function o(h){if(h.ep)return;h.ep=!0;const p=d(h);fetch(h.href,p)}})();var au={exports:{}},cs={},lu={exports:{}},nu={};var Cm;function ty(){return Cm||(Cm=1,(function(c){function r(g,T){var I=g.length;g.push(T);e:for(;0<I;){var P=I-1>>>1,fe=g[P];if(0<h(fe,T))g[P]=T,g[I]=fe,I=P;else break e}}function d(g){return g.length===0?null:g[0]}function o(g){if(g.length===0)return null;var T=g[0],I=g.pop();if(I!==T){g[0]=I;e:for(var P=0,fe=g.length,oe=fe>>>1;P<oe;){var te=2*(P+1)-1,ie=g[te],Ue=te+1,ut=g[Ue];if(0>h(ie,I))Ue<fe&&0>h(ut,ie)?(g[P]=ut,g[Ue]=I,P=Ue):(g[P]=ie,g[te]=I,P=te);else if(Ue<fe&&0>h(ut,I))g[P]=ut,g[Ue]=I,P=Ue;else break e}}return T}function h(g,T){var I=g.sortIndex-T.sortIndex;return I!==0?I:g.id-T.id}if(c.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var p=performance;c.unstable_now=function(){return p.now()}}else{var v=Date,y=v.now();c.unstable_now=function(){return v.now()-y}}var C=[],z=[],E=1,k=null,G=3,A=!1,H=!1,B=!1,R=!1,w=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,j=typeof setImmediate<"u"?setImmediate:null;function K(g){for(var T=d(z);T!==null;){if(T.callback===null)o(z);else if(T.startTime<=g)o(z),T.sortIndex=T.expirationTime,r(C,T);else break;T=d(z)}}function J(g){if(B=!1,K(g),!H)if(d(C)!==null)H=!0,$||($=!0,O());else{var T=d(z);T!==null&&ae(J,T.startTime-g)}}var $=!1,X=-1,ee=5,Q=-1;function ne(){return R?!0:!(c.unstable_now()-Q<ee)}function Z(){if(R=!1,$){var g=c.unstable_now();Q=g;var T=!0;try{e:{H=!1,B&&(B=!1,S(X),X=-1),A=!0;var I=G;try{t:{for(K(g),k=d(C);k!==null&&!(k.expirationTime>g&&ne());){var P=k.callback;if(typeof P=="function"){k.callback=null,G=k.priorityLevel;var fe=P(k.expirationTime<=g);if(g=c.unstable_now(),typeof fe=="function"){k.callback=fe,K(g),T=!0;break t}k===d(C)&&o(C),K(g)}else o(C);k=d(C)}if(k!==null)T=!0;else{var oe=d(z);oe!==null&&ae(J,oe.startTime-g),T=!1}}break e}finally{k=null,G=I,A=!1}T=void 0}}finally{T?O():$=!1}}}var O;if(typeof j=="function")O=function(){j(Z)};else if(typeof MessageChannel<"u"){var q=new MessageChannel,W=q.port2;q.port1.onmessage=Z,O=function(){W.postMessage(null)}}else O=function(){w(Z,0)};function ae(g,T){X=w(function(){g(c.unstable_now())},T)}c.unstable_IdlePriority=5,c.unstable_ImmediatePriority=1,c.unstable_LowPriority=4,c.unstable_NormalPriority=3,c.unstable_Profiling=null,c.unstable_UserBlockingPriority=2,c.unstable_cancelCallback=function(g){g.callback=null},c.unstable_forceFrameRate=function(g){0>g||125<g?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):ee=0<g?Math.floor(1e3/g):5},c.unstable_getCurrentPriorityLevel=function(){return G},c.unstable_next=function(g){switch(G){case 1:case 2:case 3:var T=3;break;default:T=G}var I=G;G=T;try{return g()}finally{G=I}},c.unstable_requestPaint=function(){R=!0},c.unstable_runWithPriority=function(g,T){switch(g){case 1:case 2:case 3:case 4:case 5:break;default:g=3}var I=G;G=g;try{return T()}finally{G=I}},c.unstable_scheduleCallback=function(g,T,I){var P=c.unstable_now();switch(typeof I=="object"&&I!==null?(I=I.delay,I=typeof I=="number"&&0<I?P+I:P):I=P,g){case 1:var fe=-1;break;case 2:fe=250;break;case 5:fe=1073741823;break;case 4:fe=1e4;break;default:fe=5e3}return fe=I+fe,g={id:E++,callback:T,priorityLevel:g,startTime:I,expirationTime:fe,sortIndex:-1},I>P?(g.sortIndex=I,r(z,g),d(C)===null&&g===d(z)&&(B?(S(X),X=-1):B=!0,ae(J,I-P))):(g.sortIndex=fe,r(C,g),H||A||(H=!0,$||($=!0,O()))),g},c.unstable_shouldYield=ne,c.unstable_wrapCallback=function(g){var T=G;return function(){var I=G;G=T;try{return g.apply(this,arguments)}finally{G=I}}}})(nu)),nu}var zm;function ay(){return zm||(zm=1,lu.exports=ty()),lu.exports}var wm;function ly(){if(wm)return cs;wm=1;var c=ay(),r=Gg(),d=Qg();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 h(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function p(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 v(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 y(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 C(e){if(p(e)!==e)throw Error(o(188))}function z(e){var t=e.alternate;if(!t){if(t=p(e),t===null)throw Error(o(188));return t!==e?null:e}for(var a=e,n=t;;){var s=a.return;if(s===null)break;var i=s.alternate;if(i===null){if(n=s.return,n!==null){a=n;continue}break}if(s.child===i.child){for(i=s.child;i;){if(i===a)return C(s),e;if(i===n)return C(s),t;i=i.sibling}throw Error(o(188))}if(a.return!==n.return)a=s,n=i;else{for(var u=!1,f=s.child;f;){if(f===a){u=!0,a=s,n=i;break}if(f===n){u=!0,n=s,a=i;break}f=f.sibling}if(!u){for(f=i.child;f;){if(f===a){u=!0,a=i,n=s;break}if(f===n){u=!0,n=i,a=s;break}f=f.sibling}if(!u)throw Error(o(189))}}if(a.alternate!==n)throw Error(o(190))}if(a.tag!==3)throw Error(o(188));return a.stateNode.current===a?e:t}function E(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=E(e),t!==null)return t;e=e.sibling}return null}var k=Object.assign,G=Symbol.for("react.element"),A=Symbol.for("react.transitional.element"),H=Symbol.for("react.portal"),B=Symbol.for("react.fragment"),R=Symbol.for("react.strict_mode"),w=Symbol.for("react.profiler"),S=Symbol.for("react.consumer"),j=Symbol.for("react.context"),K=Symbol.for("react.forward_ref"),J=Symbol.for("react.suspense"),$=Symbol.for("react.suspense_list"),X=Symbol.for("react.memo"),ee=Symbol.for("react.lazy"),Q=Symbol.for("react.activity"),ne=Symbol.for("react.memo_cache_sentinel"),Z=Symbol.iterator;function O(e){return e===null||typeof e!="object"?null:(e=Z&&e[Z]||e["@@iterator"],typeof e=="function"?e:null)}var q=Symbol.for("react.client.reference");function W(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===q?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case B:return"Fragment";case w:return"Profiler";case R:return"StrictMode";case J:return"Suspense";case $:return"SuspenseList";case Q:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case H:return"Portal";case j:return e.displayName||"Context";case S:return(e._context.displayName||"Context")+".Consumer";case K: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:W(e.type)||"Memo";case ee:t=e._payload,e=e._init;try{return W(e(t))}catch{}}return null}var ae=Array.isArray,g=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,T=d.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,I={pending:!1,data:null,method:null,action:null},P=[],fe=-1;function oe(e){return{current:e}}function te(e){0>fe||(e.current=P[fe],P[fe]=null,fe--)}function ie(e,t){fe++,P[fe]=e.current,e.current=t}var Ue=oe(null),ut=oe(null),ft=oe(null),ia=oe(null);function ca(e,t){switch(ie(ft,t),ie(ut,e),ie(Ue,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Qf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Qf(t),e=Yf(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}te(Ue),ie(Ue,e)}function le(){te(Ue),te(ut),te(ft)}function de(e){e.memoizedState!==null&&ie(ia,e);var t=Ue.current,a=Yf(t,e.type);t!==a&&(ie(ut,e),ie(Ue,a))}function Be(e){ut.current===e&&(te(Ue),te(ut)),ia.current===e&&(te(ia),ls._currentValue=I)}var Ct,Kt;function ot(e){if(Ct===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Ct=t&&t[1]||"",Kt=-1<a.stack.indexOf(`
2
2
  at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
3
- `+Ct+e+Kt}var Ke=!1;function be(e,t){if(!e||Ke)return"";Ke=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var n={DetermineComponentFrameRoot:function(){try{if(t){var V=function(){throw Error()};if(Object.defineProperty(V.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(V,[])}catch(B){var k=B}Reflect.construct(e,[],V)}else{try{V.call()}catch(B){k=B}e.call(V.prototype)}}else{try{throw Error()}catch(B){k=B}(V=e())&&typeof V.catch=="function"&&V.catch(function(){})}}catch(B){if(B&&k&&typeof B.stack=="string")return[B.stack,k.stack]}return[null,null]}};n.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var s=Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,"name");s&&s.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=n.DetermineComponentFrameRoot(),u=i[0],f=i[1];if(u&&f){var x=u.split(`
3
+ `+Ct+e+Kt}var Ke=!1;function be(e,t){if(!e||Ke)return"";Ke=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var n={DetermineComponentFrameRoot:function(){try{if(t){var V=function(){throw Error()};if(Object.defineProperty(V.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(V,[])}catch(U){var _=U}Reflect.construct(e,[],V)}else{try{V.call()}catch(U){_=U}e.call(V.prototype)}}else{try{throw Error()}catch(U){_=U}(V=e())&&typeof V.catch=="function"&&V.catch(function(){})}}catch(U){if(U&&_&&typeof U.stack=="string")return[U.stack,_.stack]}return[null,null]}};n.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var s=Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,"name");s&&s.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=n.DetermineComponentFrameRoot(),u=i[0],f=i[1];if(u&&f){var x=u.split(`
4
4
  `),M=f.split(`
5
- `);for(s=n=0;n<x.length&&!x[n].includes("DetermineComponentFrameRoot");)n++;for(;s<M.length&&!M[s].includes("DetermineComponentFrameRoot");)s++;if(n===x.length||s===M.length)for(n=x.length-1,s=M.length-1;1<=n&&0<=s&&x[n]!==M[s];)s--;for(;1<=n&&0<=s;n--,s--)if(x[n]!==M[s]){if(n!==1||s!==1)do if(n--,s--,0>s||x[n]!==M[s]){var G=`
6
- `+x[n].replace(" at new "," at ");return e.displayName&&G.includes("<anonymous>")&&(G=G.replace("<anonymous>",e.displayName)),G}while(1<=n&&0<=s);break}}}finally{Ke=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?ot(a):""}function zt(e,t){switch(e.tag){case 26:case 27:case 5:return ot(e.type);case 16:return ot("Lazy");case 13:return e.child!==t&&t!==null?ot("Suspense Fallback"):ot("Suspense");case 19:return ot("SuspenseList");case 0:case 15:return be(e.type,!1);case 11:return be(e.type.render,!1);case 1:return be(e.type,!0);case 31:return ot("Activity");default:return""}}function os(e){try{var t="",a=null;do t+=zt(e,a),a=e,e=e.return;while(e);return t}catch(n){return`
5
+ `);for(s=n=0;n<x.length&&!x[n].includes("DetermineComponentFrameRoot");)n++;for(;s<M.length&&!M[s].includes("DetermineComponentFrameRoot");)s++;if(n===x.length||s===M.length)for(n=x.length-1,s=M.length-1;1<=n&&0<=s&&x[n]!==M[s];)s--;for(;1<=n&&0<=s;n--,s--)if(x[n]!==M[s]){if(n!==1||s!==1)do if(n--,s--,0>s||x[n]!==M[s]){var L=`
6
+ `+x[n].replace(" at new "," at ");return e.displayName&&L.includes("<anonymous>")&&(L=L.replace("<anonymous>",e.displayName)),L}while(1<=n&&0<=s);break}}}finally{Ke=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?ot(a):""}function zt(e,t){switch(e.tag){case 26:case 27:case 5:return ot(e.type);case 16:return ot("Lazy");case 13:return e.child!==t&&t!==null?ot("Suspense Fallback"):ot("Suspense");case 19:return ot("SuspenseList");case 0:case 15:return be(e.type,!1);case 11:return be(e.type.render,!1);case 1:return be(e.type,!0);case 31:return ot("Activity");default:return""}}function os(e){try{var t="",a=null;do t+=zt(e,a),a=e,e=e.return;while(e);return t}catch(n){return`
7
7
  Error generating stack: `+n.message+`
8
- `+n.stack}}var Gi=Object.prototype.hasOwnProperty,Qi=c.unstable_scheduleCallback,Yi=c.unstable_cancelCallback,yh=c.unstable_shouldYield,vh=c.unstable_requestPaint,wt=c.unstable_now,bh=c.unstable_getCurrentPriorityLevel,yu=c.unstable_ImmediatePriority,vu=c.unstable_UserBlockingPriority,ds=c.unstable_NormalPriority,jh=c.unstable_LowPriority,bu=c.unstable_IdlePriority,Sh=c.log,Nh=c.unstable_setDisableYieldValue,xn=null,At=null;function Ea(e){if(typeof Sh=="function"&&Nh(e),At&&typeof At.setStrictMode=="function")try{At.setStrictMode(xn,e)}catch{}}var Et=Math.clz32?Math.clz32:wh,Ch=Math.log,zh=Math.LN2;function wh(e){return e>>>=0,e===0?32:31-(Ch(e)/zh|0)|0}var fs=256,ms=262144,hs=4194304;function al(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 xs(e,t,a){var n=e.pendingLanes;if(n===0)return 0;var s=0,i=e.suspendedLanes,u=e.pingedLanes;e=e.warmLanes;var f=n&134217727;return f!==0?(n=f&~i,n!==0?s=al(n):(u&=f,u!==0?s=al(u):a||(a=f&~e,a!==0&&(s=al(a))))):(f=n&~i,f!==0?s=al(f):u!==0?s=al(u):a||(a=n&~e,a!==0&&(s=al(a)))),s===0?0:t!==0&&t!==s&&(t&i)===0&&(i=s&-s,a=t&-t,i>=a||i===32&&(a&4194048)!==0)?t:s}function gn(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ah(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 ju(){var e=hs;return hs<<=1,(hs&62914560)===0&&(hs=4194304),e}function Vi(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function pn(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Eh(e,t,a,n,s,i){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 f=e.entanglements,x=e.expirationTimes,M=e.hiddenUpdates;for(a=u&~a;0<a;){var G=31-Et(a),V=1<<G;f[G]=0,x[G]=-1;var k=M[G];if(k!==null)for(M[G]=null,G=0;G<k.length;G++){var B=k[G];B!==null&&(B.lane&=-536870913)}a&=~V}n!==0&&Su(e,n,0),i!==0&&s===0&&e.tag!==0&&(e.suspendedLanes|=i&~(u&~t))}function Su(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var n=31-Et(t);e.entangledLanes|=t,e.entanglements[n]=e.entanglements[n]|1073741824|a&261930}function Nu(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var n=31-Et(a),s=1<<n;s&t|e[n]&t&&(e[n]|=t),a&=~s}}function Cu(e,t){var a=t&-t;return a=(a&42)!==0?1:Xi(a),(a&(e.suspendedLanes|t))!==0?0:a}function Xi(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 Ki(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function zu(){var e=T.p;return e!==0?e:(e=window.event,e===void 0?32:fm(e.type))}function wu(e,t){var a=T.p;try{return T.p=e,t()}finally{T.p=a}}var Ta=Math.random().toString(36).slice(2),lt="__reactFiber$"+Ta,ht="__reactProps$"+Ta,Sl="__reactContainer$"+Ta,Zi="__reactEvents$"+Ta,Th="__reactListeners$"+Ta,Dh="__reactHandles$"+Ta,Au="__reactResources$"+Ta,yn="__reactMarker$"+Ta;function Fi(e){delete e[lt],delete e[ht],delete e[Zi],delete e[Th],delete e[Dh]}function Nl(e){var t=e[lt];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Sl]||a[lt]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=$f(e);e!==null;){if(a=e[lt])return a;e=$f(e)}return t}e=a,a=e.parentNode}return null}function Cl(e){if(e=e[lt]||e[Sl]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function vn(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(o(33))}function zl(e){var t=e[Au];return t||(t=e[Au]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Pe(e){e[yn]=!0}var Eu=new Set,Tu={};function ll(e,t){wl(e,t),wl(e+"Capture",t)}function wl(e,t){for(Tu[e]=t,e=0;e<t.length;e++)Eu.add(t[e])}var Mh=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]*$"),Du={},Mu={};function _h(e){return Gi.call(Mu,e)?!0:Gi.call(Du,e)?!1:Mh.test(e)?Mu[e]=!0:(Du[e]=!0,!1)}function gs(e,t,a){if(_h(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var n=t.toLowerCase().slice(0,5);if(n!=="data-"&&n!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function ps(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 ra(e,t,a,n){if(n===null)e.removeAttribute(a);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+n)}}function Ut(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function _u(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function kh(e,t,a){var n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var s=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(u){a=""+u,i.call(this,u)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(u){a=""+u},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ji(e){if(!e._valueTracker){var t=_u(e)?"checked":"value";e._valueTracker=kh(e,t,""+e[t])}}function ku(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),n="";return e&&(n=_u(e)?e.checked?"true":"false":e.value),e=n,e!==a?(t.setValue(e),!0):!1}function ys(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 Oh=/[\n"\\]/g;function Bt(e){return e.replace(Oh,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function $i(e,t,a,n,s,i,u,f){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=""+Ut(t)):e.value!==""+Ut(t)&&(e.value=""+Ut(t)):u!=="submit"&&u!=="reset"||e.removeAttribute("value"),t!=null?Wi(e,u,Ut(t)):a!=null?Wi(e,u,Ut(a)):n!=null&&e.removeAttribute("value"),s==null&&i!=null&&(e.defaultChecked=!!i),s!=null&&(e.checked=s&&typeof s!="function"&&typeof s!="symbol"),f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?e.name=""+Ut(f):e.removeAttribute("name")}function Ou(e,t,a,n,s,i,u,f){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||a!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Ji(e);return}a=a!=null?""+Ut(a):"",t=t!=null?""+Ut(t):a,f||t===e.value||(e.value=t),e.defaultValue=t}n=n??s,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=f?e.checked:!!n,e.defaultChecked=!!n,u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.name=u),Ji(e)}function Wi(e,t,a){t==="number"&&ys(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function Al(e,t,a,n){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&&n&&(e[a].defaultSelected=!0)}else{for(a=""+Ut(a),t=null,s=0;s<e.length;s++){if(e[s].value===a){e[s].selected=!0,n&&(e[s].defaultSelected=!0);return}t!==null||e[s].disabled||(t=e[s])}t!==null&&(t.selected=!0)}}function Ru(e,t,a){if(t!=null&&(t=""+Ut(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+Ut(a):""}function Uu(e,t,a,n){if(t==null){if(n!=null){if(a!=null)throw Error(o(92));if(ae(n)){if(1<n.length)throw Error(o(93));n=n[0]}a=n}a==null&&(a=""),t=a}a=Ut(t),e.defaultValue=a,n=e.textContent,n===a&&n!==""&&n!==null&&(e.value=n),Ji(e)}function El(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var Rh=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 Bu(e,t,a){var n=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?n?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":n?e.setProperty(t,a):typeof a!="number"||a===0||Rh.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function qu(e,t,a){if(t!=null&&typeof t!="object")throw Error(o(62));if(e=e.style,a!=null){for(var n in a)!a.hasOwnProperty(n)||t!=null&&t.hasOwnProperty(n)||(n.indexOf("--")===0?e.setProperty(n,""):n==="float"?e.cssFloat="":e[n]="");for(var s in t)n=t[s],t.hasOwnProperty(s)&&a[s]!==n&&Bu(e,s,n)}else for(var i in t)t.hasOwnProperty(i)&&Bu(e,i,t[i])}function Ii(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 Uh=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"]]),Bh=/^[\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 vs(e){return Bh.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ua(){}var Pi=null;function ec(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Tl=null,Dl=null;function Hu(e){var t=Cl(e);if(t&&(e=t.stateNode)){var a=e[ht]||null;e:switch(e=t.stateNode,t.type){case"input":if($i(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="'+Bt(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var n=a[t];if(n!==e&&n.form===e.form){var s=n[ht]||null;if(!s)throw Error(o(90));$i(n,s.value,s.defaultValue,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name)}}for(t=0;t<a.length;t++)n=a[t],n.form===e.form&&ku(n)}break e;case"textarea":Ru(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&Al(e,!!a.multiple,t,!1)}}}var tc=!1;function Lu(e,t,a){if(tc)return e(t,a);tc=!0;try{var n=e(t);return n}finally{if(tc=!1,(Tl!==null||Dl!==null)&&(ii(),Tl&&(t=Tl,e=Dl,Dl=Tl=null,Hu(t),e)))for(t=0;t<e.length;t++)Hu(e[t])}}function bn(e,t){var a=e.stateNode;if(a===null)return null;var n=a[ht]||null;if(n===null)return null;a=n[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":(n=!n.disabled)||(e=e.type,n=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!n;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(o(231,t,typeof a));return a}var oa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ac=!1;if(oa)try{var jn={};Object.defineProperty(jn,"passive",{get:function(){ac=!0}}),window.addEventListener("test",jn,jn),window.removeEventListener("test",jn,jn)}catch{ac=!1}var Da=null,lc=null,bs=null;function Gu(){if(bs)return bs;var e,t=lc,a=t.length,n,s="value"in Da?Da.value:Da.textContent,i=s.length;for(e=0;e<a&&t[e]===s[e];e++);var u=a-e;for(n=1;n<=u&&t[a-n]===s[i-n];n++);return bs=s.slice(e,1<n?1-n:void 0)}function js(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 Ss(){return!0}function Qu(){return!1}function xt(e){function t(a,n,s,i,u){this._reactName=a,this._targetInst=s,this.type=n,this.nativeEvent=i,this.target=u,this.currentTarget=null;for(var f in e)e.hasOwnProperty(f)&&(a=e[f],this[f]=a?a(i):i[f]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?Ss:Qu,this.isPropagationStopped=Qu,this}return _(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=Ss)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Ss)},persist:function(){},isPersistent:Ss}),t}var nl={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ns=xt(nl),Sn=_({},nl,{view:0,detail:0}),qh=xt(Sn),nc,sc,Nn,Cs=_({},Sn,{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!==Nn&&(Nn&&e.type==="mousemove"?(nc=e.screenX-Nn.screenX,sc=e.screenY-Nn.screenY):sc=nc=0,Nn=e),nc)},movementY:function(e){return"movementY"in e?e.movementY:sc}}),Yu=xt(Cs),Hh=_({},Cs,{dataTransfer:0}),Lh=xt(Hh),Gh=_({},Sn,{relatedTarget:0}),ic=xt(Gh),Qh=_({},nl,{animationName:0,elapsedTime:0,pseudoElement:0}),Yh=xt(Qh),Vh=_({},nl,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Xh=xt(Vh),Kh=_({},nl,{data:0}),Vu=xt(Kh),Zh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Fh={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"},Jh={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function $h(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Jh[e])?!!t[e]:!1}function cc(){return $h}var Wh=_({},Sn,{key:function(e){if(e.key){var t=Zh[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=js(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Fh[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"?js(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?js(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Ih=xt(Wh),Ph=_({},Cs,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Xu=xt(Ph),ex=_({},Sn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:cc}),tx=xt(ex),ax=_({},nl,{propertyName:0,elapsedTime:0,pseudoElement:0}),lx=xt(ax),nx=_({},Cs,{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}),sx=xt(nx),ix=_({},nl,{newState:0,oldState:0}),cx=xt(ix),rx=[9,13,27,32],rc=oa&&"CompositionEvent"in window,Cn=null;oa&&"documentMode"in document&&(Cn=document.documentMode);var ux=oa&&"TextEvent"in window&&!Cn,Ku=oa&&(!rc||Cn&&8<Cn&&11>=Cn),Zu=" ",Fu=!1;function Ju(e,t){switch(e){case"keyup":return rx.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $u(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ml=!1;function ox(e,t){switch(e){case"compositionend":return $u(t);case"keypress":return t.which!==32?null:(Fu=!0,Zu);case"textInput":return e=t.data,e===Zu&&Fu?null:e;default:return null}}function dx(e,t){if(Ml)return e==="compositionend"||!rc&&Ju(e,t)?(e=Gu(),bs=lc=Da=null,Ml=!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 Ku&&t.locale!=="ko"?null:t.data;default:return null}}var fx={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 Wu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!fx[e.type]:t==="textarea"}function Iu(e,t,a,n){Tl?Dl?Dl.push(n):Dl=[n]:Tl=n,t=mi(t,"onChange"),0<t.length&&(a=new Ns("onChange","change",null,a,n),e.push({event:a,listeners:t}))}var zn=null,wn=null;function mx(e){Uf(e,0)}function zs(e){var t=vn(e);if(ku(t))return e}function Pu(e,t){if(e==="change")return t}var eo=!1;if(oa){var uc;if(oa){var oc="oninput"in document;if(!oc){var to=document.createElement("div");to.setAttribute("oninput","return;"),oc=typeof to.oninput=="function"}uc=oc}else uc=!1;eo=uc&&(!document.documentMode||9<document.documentMode)}function ao(){zn&&(zn.detachEvent("onpropertychange",lo),wn=zn=null)}function lo(e){if(e.propertyName==="value"&&zs(wn)){var t=[];Iu(t,wn,e,ec(e)),Lu(mx,t)}}function hx(e,t,a){e==="focusin"?(ao(),zn=t,wn=a,zn.attachEvent("onpropertychange",lo)):e==="focusout"&&ao()}function xx(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return zs(wn)}function gx(e,t){if(e==="click")return zs(t)}function px(e,t){if(e==="input"||e==="change")return zs(t)}function yx(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Tt=typeof Object.is=="function"?Object.is:yx;function An(e,t){if(Tt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),n=Object.keys(t);if(a.length!==n.length)return!1;for(n=0;n<a.length;n++){var s=a[n];if(!Gi.call(t,s)||!Tt(e[s],t[s]))return!1}return!0}function no(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function so(e,t){var a=no(e);e=0;for(var n;a;){if(a.nodeType===3){if(n=e+a.textContent.length,e<=t&&n>=t)return{node:a,offset:t-e};e=n}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=no(a)}}function io(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?io(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function co(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ys(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=ys(e.document)}return t}function dc(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 vx=oa&&"documentMode"in document&&11>=document.documentMode,_l=null,fc=null,En=null,mc=!1;function ro(e,t,a){var n=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;mc||_l==null||_l!==ys(n)||(n=_l,"selectionStart"in n&&dc(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),En&&An(En,n)||(En=n,n=mi(fc,"onSelect"),0<n.length&&(t=new Ns("onSelect","select",null,t,a),e.push({event:t,listeners:n}),t.target=_l)))}function sl(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var kl={animationend:sl("Animation","AnimationEnd"),animationiteration:sl("Animation","AnimationIteration"),animationstart:sl("Animation","AnimationStart"),transitionrun:sl("Transition","TransitionRun"),transitionstart:sl("Transition","TransitionStart"),transitioncancel:sl("Transition","TransitionCancel"),transitionend:sl("Transition","TransitionEnd")},hc={},uo={};oa&&(uo=document.createElement("div").style,"AnimationEvent"in window||(delete kl.animationend.animation,delete kl.animationiteration.animation,delete kl.animationstart.animation),"TransitionEvent"in window||delete kl.transitionend.transition);function il(e){if(hc[e])return hc[e];if(!kl[e])return e;var t=kl[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in uo)return hc[e]=t[a];return e}var oo=il("animationend"),fo=il("animationiteration"),mo=il("animationstart"),bx=il("transitionrun"),jx=il("transitionstart"),Sx=il("transitioncancel"),ho=il("transitionend"),xo=new Map,xc="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(" ");xc.push("scrollEnd");function Zt(e,t){xo.set(e,t),ll(t,[e])}var ws=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)},qt=[],Ol=0,gc=0;function As(){for(var e=Ol,t=gc=Ol=0;t<e;){var a=qt[t];qt[t++]=null;var n=qt[t];qt[t++]=null;var s=qt[t];qt[t++]=null;var i=qt[t];if(qt[t++]=null,n!==null&&s!==null){var u=n.pending;u===null?s.next=s:(s.next=u.next,u.next=s),n.pending=s}i!==0&&go(a,s,i)}}function Es(e,t,a,n){qt[Ol++]=e,qt[Ol++]=t,qt[Ol++]=a,qt[Ol++]=n,gc|=n,e.lanes|=n,e=e.alternate,e!==null&&(e.lanes|=n)}function pc(e,t,a,n){return Es(e,t,a,n),Ts(e)}function cl(e,t){return Es(e,null,null,t),Ts(e)}function go(e,t,a){e.lanes|=a;var n=e.alternate;n!==null&&(n.lanes|=a);for(var s=!1,i=e.return;i!==null;)i.childLanes|=a,n=i.alternate,n!==null&&(n.childLanes|=a),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(s=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,s&&t!==null&&(s=31-Et(a),e=i.hiddenUpdates,n=e[s],n===null?e[s]=[t]:n.push(t),t.lane=a|536870912),i):null}function Ts(e){if(50<$n)throw $n=0,wr=null,Error(o(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Rl={};function Nx(e,t,a,n){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=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Dt(e,t,a,n){return new Nx(e,t,a,n)}function yc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function da(e,t){var a=e.alternate;return a===null?(a=Dt(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 po(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 Ds(e,t,a,n,s,i){var u=0;if(n=e,typeof e=="function")yc(e)&&(u=1);else if(typeof e=="string")u=Eg(e,a,Ue.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Q:return e=Dt(31,a,t,s),e.elementType=Q,e.lanes=i,e;case U:return rl(a.children,s,i,t);case R:u=8,s|=24;break;case A:return e=Dt(12,a,t,s|2),e.elementType=A,e.lanes=i,e;case J:return e=Dt(13,a,t,s),e.elementType=J,e.lanes=i,e;case $:return e=Dt(19,a,t,s),e.elementType=$,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case j:u=10;break e;case S:u=9;break e;case K:u=11;break e;case X:u=14;break e;case ee:u=16,n=null;break e}u=29,a=Error(o(130,e===null?"null":typeof e,"")),n=null}return t=Dt(u,a,t,s),t.elementType=e,t.type=n,t.lanes=i,t}function rl(e,t,a,n){return e=Dt(7,e,n,t),e.lanes=a,e}function vc(e,t,a){return e=Dt(6,e,null,t),e.lanes=a,e}function yo(e){var t=Dt(18,null,null,0);return t.stateNode=e,t}function bc(e,t,a){return t=Dt(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var vo=new WeakMap;function Ht(e,t){if(typeof e=="object"&&e!==null){var a=vo.get(e);return a!==void 0?a:(t={value:e,source:t,stack:os(t)},vo.set(e,t),t)}return{value:e,source:t,stack:os(t)}}var Ul=[],Bl=0,Ms=null,Tn=0,Lt=[],Gt=0,Ma=null,$t=1,Wt="";function fa(e,t){Ul[Bl++]=Tn,Ul[Bl++]=Ms,Ms=e,Tn=t}function bo(e,t,a){Lt[Gt++]=$t,Lt[Gt++]=Wt,Lt[Gt++]=Ma,Ma=e;var n=$t;e=Wt;var s=32-Et(n)-1;n&=~(1<<s),a+=1;var i=32-Et(t)+s;if(30<i){var u=s-s%5;i=(n&(1<<u)-1).toString(32),n>>=u,s-=u,$t=1<<32-Et(t)+s|a<<s|n,Wt=i+e}else $t=1<<i|a<<s|n,Wt=e}function jc(e){e.return!==null&&(fa(e,1),bo(e,1,0))}function Sc(e){for(;e===Ms;)Ms=Ul[--Bl],Ul[Bl]=null,Tn=Ul[--Bl],Ul[Bl]=null;for(;e===Ma;)Ma=Lt[--Gt],Lt[Gt]=null,Wt=Lt[--Gt],Lt[Gt]=null,$t=Lt[--Gt],Lt[Gt]=null}function jo(e,t){Lt[Gt++]=$t,Lt[Gt++]=Wt,Lt[Gt++]=Ma,$t=t.id,Wt=t.overflow,Ma=e}var nt=null,qe=null,je=!1,_a=null,Qt=!1,Nc=Error(o(519));function ka(e){var t=Error(o(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Dn(Ht(t,e)),Nc}function So(e){var t=e.stateNode,a=e.type,n=e.memoizedProps;switch(t[lt]=e,t[ht]=n,a){case"dialog":ge("cancel",t),ge("close",t);break;case"iframe":case"object":case"embed":ge("load",t);break;case"video":case"audio":for(a=0;a<In.length;a++)ge(In[a],t);break;case"source":ge("error",t);break;case"img":case"image":case"link":ge("error",t),ge("load",t);break;case"details":ge("toggle",t);break;case"input":ge("invalid",t),Ou(t,n.value,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name,!0);break;case"select":ge("invalid",t);break;case"textarea":ge("invalid",t),Uu(t,n.value,n.defaultValue,n.children)}a=n.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||n.suppressHydrationWarning===!0||Lf(t.textContent,a)?(n.popover!=null&&(ge("beforetoggle",t),ge("toggle",t)),n.onScroll!=null&&ge("scroll",t),n.onScrollEnd!=null&&ge("scrollend",t),n.onClick!=null&&(t.onclick=ua),t=!0):t=!1,t||ka(e,!0)}function No(e){for(nt=e.return;nt;)switch(nt.tag){case 5:case 31:case 13:Qt=!1;return;case 27:case 3:Qt=!0;return;default:nt=nt.return}}function ql(e){if(e!==nt)return!1;if(!je)return No(e),je=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||Gr(e.type,e.memoizedProps)),a=!a),a&&qe&&ka(e),No(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));qe=Jf(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));qe=Jf(e)}else t===27?(t=qe,Za(e.type)?(e=Kr,Kr=null,qe=e):qe=t):qe=nt?Vt(e.stateNode.nextSibling):null;return!0}function ul(){qe=nt=null,je=!1}function Cc(){var e=_a;return e!==null&&(vt===null?vt=e:vt.push.apply(vt,e),_a=null),e}function Dn(e){_a===null?_a=[e]:_a.push(e)}var zc=oe(null),ol=null,ma=null;function Oa(e,t,a){ie(zc,t._currentValue),t._currentValue=a}function ha(e){e._currentValue=zc.current,te(zc)}function wc(e,t,a){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===a)break;e=e.return}}function Ac(e,t,a,n){var s=e.child;for(s!==null&&(s.return=e);s!==null;){var i=s.dependencies;if(i!==null){var u=s.child;i=i.firstContext;e:for(;i!==null;){var f=i;i=s;for(var x=0;x<t.length;x++)if(f.context===t[x]){i.lanes|=a,f=i.alternate,f!==null&&(f.lanes|=a),wc(i.return,a,e),n||(u=null);break e}i=f.next}}else if(s.tag===18){if(u=s.return,u===null)throw Error(o(341));u.lanes|=a,i=u.alternate,i!==null&&(i.lanes|=a),wc(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 Hl(e,t,a,n){e=null;for(var s=t,i=!1;s!==null;){if(!i){if((s.flags&524288)!==0)i=!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 f=s.type;Tt(s.pendingProps.value,u.value)||(e!==null?e.push(f):e=[f])}}else if(s===ia.current){if(u=s.alternate,u===null)throw Error(o(387));u.memoizedState.memoizedState!==s.memoizedState.memoizedState&&(e!==null?e.push(ls):e=[ls])}s=s.return}e!==null&&Ac(t,e,a,n),t.flags|=262144}function _s(e){for(e=e.firstContext;e!==null;){if(!Tt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function dl(e){ol=e,ma=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function st(e){return Co(ol,e)}function ks(e,t){return ol===null&&dl(e),Co(e,t)}function Co(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},ma===null){if(e===null)throw Error(o(308));ma=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ma=ma.next=t;return a}var Cx=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},zx=c.unstable_scheduleCallback,wx=c.unstable_NormalPriority,Ze={$$typeof:j,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Ec(){return{controller:new Cx,data:new Map,refCount:0}}function Mn(e){e.refCount--,e.refCount===0&&zx(wx,function(){e.controller.abort()})}var _n=null,Tc=0,Ll=0,Gl=null;function Ax(e,t){if(_n===null){var a=_n=[];Tc=0,Ll=_r(),Gl={status:"pending",value:void 0,then:function(n){a.push(n)}}}return Tc++,t.then(zo,zo),t}function zo(){if(--Tc===0&&_n!==null){Gl!==null&&(Gl.status="fulfilled");var e=_n;_n=null,Ll=0,Gl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Ex(e,t){var a=[],n={status:"pending",value:null,reason:null,then:function(s){a.push(s)}};return e.then(function(){n.status="fulfilled",n.value=t;for(var s=0;s<a.length;s++)(0,a[s])(t)},function(s){for(n.status="rejected",n.reason=s,s=0;s<a.length;s++)(0,a[s])(void 0)}),n}var wo=g.S;g.S=function(e,t){of=wt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&Ax(e,t),wo!==null&&wo(e,t)};var fl=oe(null);function Dc(){var e=fl.current;return e!==null?e:De.pooledCache}function Os(e,t){t===null?ie(fl,fl.current):ie(fl,t.pool)}function Ao(){var e=Dc();return e===null?null:{parent:Ze._currentValue,pool:e}}var Ql=Error(o(460)),Mc=Error(o(474)),Rs=Error(o(542)),Us={then:function(){}};function Eo(e){return e=e.status,e==="fulfilled"||e==="rejected"}function To(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(ua,ua),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Mo(e),e;default:if(typeof t.status=="string")t.then(ua,ua);else{if(e=De,e!==null&&100<e.shellSuspendCounter)throw Error(o(482));e=t,e.status="pending",e.then(function(n){if(t.status==="pending"){var s=t;s.status="fulfilled",s.value=n}},function(n){if(t.status==="pending"){var s=t;s.status="rejected",s.reason=n}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Mo(e),e}throw hl=t,Ql}}function ml(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(hl=a,Ql):a}}var hl=null;function Do(){if(hl===null)throw Error(o(459));var e=hl;return hl=null,e}function Mo(e){if(e===Ql||e===Rs)throw Error(o(483))}var Yl=null,kn=0;function Bs(e){var t=kn;return kn+=1,Yl===null&&(Yl=[]),To(Yl,e,t)}function On(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function qs(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 _o(e){function t(N,b){if(e){var D=N.deletions;D===null?(N.deletions=[b],N.flags|=16):D.push(b)}}function a(N,b){if(!e)return null;for(;b!==null;)t(N,b),b=b.sibling;return null}function n(N){for(var b=new Map;N!==null;)N.key!==null?b.set(N.key,N):b.set(N.index,N),N=N.sibling;return b}function s(N,b){return N=da(N,b),N.index=0,N.sibling=null,N}function i(N,b,D){return N.index=D,e?(D=N.alternate,D!==null?(D=D.index,D<b?(N.flags|=67108866,b):D):(N.flags|=67108866,b)):(N.flags|=1048576,b)}function u(N){return e&&N.alternate===null&&(N.flags|=67108866),N}function f(N,b,D,Y){return b===null||b.tag!==6?(b=vc(D,N.mode,Y),b.return=N,b):(b=s(b,D),b.return=N,b)}function x(N,b,D,Y){var re=D.type;return re===U?G(N,b,D.props.children,Y,D.key):b!==null&&(b.elementType===re||typeof re=="object"&&re!==null&&re.$$typeof===ee&&ml(re)===b.type)?(b=s(b,D.props),On(b,D),b.return=N,b):(b=Ds(D.type,D.key,D.props,null,N.mode,Y),On(b,D),b.return=N,b)}function M(N,b,D,Y){return b===null||b.tag!==4||b.stateNode.containerInfo!==D.containerInfo||b.stateNode.implementation!==D.implementation?(b=bc(D,N.mode,Y),b.return=N,b):(b=s(b,D.children||[]),b.return=N,b)}function G(N,b,D,Y,re){return b===null||b.tag!==7?(b=rl(D,N.mode,Y,re),b.return=N,b):(b=s(b,D),b.return=N,b)}function V(N,b,D){if(typeof b=="string"&&b!==""||typeof b=="number"||typeof b=="bigint")return b=vc(""+b,N.mode,D),b.return=N,b;if(typeof b=="object"&&b!==null){switch(b.$$typeof){case z:return D=Ds(b.type,b.key,b.props,null,N.mode,D),On(D,b),D.return=N,D;case q:return b=bc(b,N.mode,D),b.return=N,b;case ee:return b=ml(b),V(N,b,D)}if(ae(b)||O(b))return b=rl(b,N.mode,D,null),b.return=N,b;if(typeof b.then=="function")return V(N,Bs(b),D);if(b.$$typeof===j)return V(N,ks(N,b),D);qs(N,b)}return null}function k(N,b,D,Y){var re=b!==null?b.key:null;if(typeof D=="string"&&D!==""||typeof D=="number"||typeof D=="bigint")return re!==null?null:f(N,b,""+D,Y);if(typeof D=="object"&&D!==null){switch(D.$$typeof){case z:return D.key===re?x(N,b,D,Y):null;case q:return D.key===re?M(N,b,D,Y):null;case ee:return D=ml(D),k(N,b,D,Y)}if(ae(D)||O(D))return re!==null?null:G(N,b,D,Y,null);if(typeof D.then=="function")return k(N,b,Bs(D),Y);if(D.$$typeof===j)return k(N,b,ks(N,D),Y);qs(N,D)}return null}function B(N,b,D,Y,re){if(typeof Y=="string"&&Y!==""||typeof Y=="number"||typeof Y=="bigint")return N=N.get(D)||null,f(b,N,""+Y,re);if(typeof Y=="object"&&Y!==null){switch(Y.$$typeof){case z:return N=N.get(Y.key===null?D:Y.key)||null,x(b,N,Y,re);case q:return N=N.get(Y.key===null?D:Y.key)||null,M(b,N,Y,re);case ee:return Y=ml(Y),B(N,b,D,Y,re)}if(ae(Y)||O(Y))return N=N.get(D)||null,G(b,N,Y,re,null);if(typeof Y.then=="function")return B(N,b,D,Bs(Y),re);if(Y.$$typeof===j)return B(N,b,D,ks(b,Y),re);qs(b,Y)}return null}function se(N,b,D,Y){for(var re=null,Se=null,ce=b,he=b=0,ve=null;ce!==null&&he<D.length;he++){ce.index>he?(ve=ce,ce=null):ve=ce.sibling;var Ne=k(N,ce,D[he],Y);if(Ne===null){ce===null&&(ce=ve);break}e&&ce&&Ne.alternate===null&&t(N,ce),b=i(Ne,b,he),Se===null?re=Ne:Se.sibling=Ne,Se=Ne,ce=ve}if(he===D.length)return a(N,ce),je&&fa(N,he),re;if(ce===null){for(;he<D.length;he++)ce=V(N,D[he],Y),ce!==null&&(b=i(ce,b,he),Se===null?re=ce:Se.sibling=ce,Se=ce);return je&&fa(N,he),re}for(ce=n(ce);he<D.length;he++)ve=B(ce,N,he,D[he],Y),ve!==null&&(e&&ve.alternate!==null&&ce.delete(ve.key===null?he:ve.key),b=i(ve,b,he),Se===null?re=ve:Se.sibling=ve,Se=ve);return e&&ce.forEach(function(Ia){return t(N,Ia)}),je&&fa(N,he),re}function ue(N,b,D,Y){if(D==null)throw Error(o(151));for(var re=null,Se=null,ce=b,he=b=0,ve=null,Ne=D.next();ce!==null&&!Ne.done;he++,Ne=D.next()){ce.index>he?(ve=ce,ce=null):ve=ce.sibling;var Ia=k(N,ce,Ne.value,Y);if(Ia===null){ce===null&&(ce=ve);break}e&&ce&&Ia.alternate===null&&t(N,ce),b=i(Ia,b,he),Se===null?re=Ia:Se.sibling=Ia,Se=Ia,ce=ve}if(Ne.done)return a(N,ce),je&&fa(N,he),re;if(ce===null){for(;!Ne.done;he++,Ne=D.next())Ne=V(N,Ne.value,Y),Ne!==null&&(b=i(Ne,b,he),Se===null?re=Ne:Se.sibling=Ne,Se=Ne);return je&&fa(N,he),re}for(ce=n(ce);!Ne.done;he++,Ne=D.next())Ne=B(ce,N,he,Ne.value,Y),Ne!==null&&(e&&Ne.alternate!==null&&ce.delete(Ne.key===null?he:Ne.key),b=i(Ne,b,he),Se===null?re=Ne:Se.sibling=Ne,Se=Ne);return e&&ce.forEach(function(Hg){return t(N,Hg)}),je&&fa(N,he),re}function Te(N,b,D,Y){if(typeof D=="object"&&D!==null&&D.type===U&&D.key===null&&(D=D.props.children),typeof D=="object"&&D!==null){switch(D.$$typeof){case z:e:{for(var re=D.key;b!==null;){if(b.key===re){if(re=D.type,re===U){if(b.tag===7){a(N,b.sibling),Y=s(b,D.props.children),Y.return=N,N=Y;break e}}else if(b.elementType===re||typeof re=="object"&&re!==null&&re.$$typeof===ee&&ml(re)===b.type){a(N,b.sibling),Y=s(b,D.props),On(Y,D),Y.return=N,N=Y;break e}a(N,b);break}else t(N,b);b=b.sibling}D.type===U?(Y=rl(D.props.children,N.mode,Y,D.key),Y.return=N,N=Y):(Y=Ds(D.type,D.key,D.props,null,N.mode,Y),On(Y,D),Y.return=N,N=Y)}return u(N);case q:e:{for(re=D.key;b!==null;){if(b.key===re)if(b.tag===4&&b.stateNode.containerInfo===D.containerInfo&&b.stateNode.implementation===D.implementation){a(N,b.sibling),Y=s(b,D.children||[]),Y.return=N,N=Y;break e}else{a(N,b);break}else t(N,b);b=b.sibling}Y=bc(D,N.mode,Y),Y.return=N,N=Y}return u(N);case ee:return D=ml(D),Te(N,b,D,Y)}if(ae(D))return se(N,b,D,Y);if(O(D)){if(re=O(D),typeof re!="function")throw Error(o(150));return D=re.call(D),ue(N,b,D,Y)}if(typeof D.then=="function")return Te(N,b,Bs(D),Y);if(D.$$typeof===j)return Te(N,b,ks(N,D),Y);qs(N,D)}return typeof D=="string"&&D!==""||typeof D=="number"||typeof D=="bigint"?(D=""+D,b!==null&&b.tag===6?(a(N,b.sibling),Y=s(b,D),Y.return=N,N=Y):(a(N,b),Y=vc(D,N.mode,Y),Y.return=N,N=Y),u(N)):a(N,b)}return function(N,b,D,Y){try{kn=0;var re=Te(N,b,D,Y);return Yl=null,re}catch(ce){if(ce===Ql||ce===Rs)throw ce;var Se=Dt(29,ce,null,N.mode);return Se.lanes=Y,Se.return=N,Se}}}var xl=_o(!0),ko=_o(!1),Ra=!1;function _c(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function kc(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 Ua(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ba(e,t,a){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(Ce&2)!==0){var s=n.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),n.pending=t,t=Ts(e),go(e,null,a),t}return Es(e,n,t,a),Ts(e)}function Rn(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,Nu(e,a)}}function Oc(e,t){var a=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,a===n)){var s=null,i=null;if(a=a.firstBaseUpdate,a!==null){do{var u={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};i===null?s=i=u:i=i.next=u,a=a.next}while(a!==null);i===null?s=i=t:i=i.next=t}else s=i=t;a={baseState:n.baseState,firstBaseUpdate:s,lastBaseUpdate:i,shared:n.shared,callbacks:n.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Rc=!1;function Un(){if(Rc){var e=Gl;if(e!==null)throw e}}function Bn(e,t,a,n){Rc=!1;var s=e.updateQueue;Ra=!1;var i=s.firstBaseUpdate,u=s.lastBaseUpdate,f=s.shared.pending;if(f!==null){s.shared.pending=null;var x=f,M=x.next;x.next=null,u===null?i=M:u.next=M,u=x;var G=e.alternate;G!==null&&(G=G.updateQueue,f=G.lastBaseUpdate,f!==u&&(f===null?G.firstBaseUpdate=M:f.next=M,G.lastBaseUpdate=x))}if(i!==null){var V=s.baseState;u=0,G=M=x=null,f=i;do{var k=f.lane&-536870913,B=k!==f.lane;if(B?(ye&k)===k:(n&k)===k){k!==0&&k===Ll&&(Rc=!0),G!==null&&(G=G.next={lane:0,tag:f.tag,payload:f.payload,callback:null,next:null});e:{var se=e,ue=f;k=t;var Te=a;switch(ue.tag){case 1:if(se=ue.payload,typeof se=="function"){V=se.call(Te,V,k);break e}V=se;break e;case 3:se.flags=se.flags&-65537|128;case 0:if(se=ue.payload,k=typeof se=="function"?se.call(Te,V,k):se,k==null)break e;V=_({},V,k);break e;case 2:Ra=!0}}k=f.callback,k!==null&&(e.flags|=64,B&&(e.flags|=8192),B=s.callbacks,B===null?s.callbacks=[k]:B.push(k))}else B={lane:k,tag:f.tag,payload:f.payload,callback:f.callback,next:null},G===null?(M=G=B,x=V):G=G.next=B,u|=k;if(f=f.next,f===null){if(f=s.shared.pending,f===null)break;B=f,f=B.next,B.next=null,s.lastBaseUpdate=B,s.shared.pending=null}}while(!0);G===null&&(x=V),s.baseState=x,s.firstBaseUpdate=M,s.lastBaseUpdate=G,i===null&&(s.shared.lanes=0),Qa|=u,e.lanes=u,e.memoizedState=V}}function Oo(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function Ro(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)Oo(a[e],t)}var Vl=oe(null),Hs=oe(0);function Uo(e,t){e=Na,ie(Hs,e),ie(Vl,t),Na=e|t.baseLanes}function Uc(){ie(Hs,Na),ie(Vl,Vl.current)}function Bc(){Na=Hs.current,te(Vl),te(Hs)}var Mt=oe(null),Yt=null;function qa(e){var t=e.alternate;ie(Ve,Ve.current&1),ie(Mt,e),Yt===null&&(t===null||Vl.current!==null||t.memoizedState!==null)&&(Yt=e)}function qc(e){ie(Ve,Ve.current),ie(Mt,e),Yt===null&&(Yt=e)}function Bo(e){e.tag===22?(ie(Ve,Ve.current),ie(Mt,e),Yt===null&&(Yt=e)):Ha()}function Ha(){ie(Ve,Ve.current),ie(Mt,Mt.current)}function _t(e){te(Mt),Yt===e&&(Yt=null),te(Ve)}var Ve=oe(0);function Ls(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||Vr(a)||Xr(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 xa=0,me=null,Ae=null,Fe=null,Gs=!1,Xl=!1,gl=!1,Qs=0,qn=0,Kl=null,Tx=0;function Qe(){throw Error(o(321))}function Hc(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!Tt(e[a],t[a]))return!1;return!0}function Lc(e,t,a,n,s,i){return xa=i,me=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,g.H=e===null||e.memoizedState===null?bd:tr,gl=!1,i=a(n,s),gl=!1,Xl&&(i=Ho(t,a,n,s)),qo(e),i}function qo(e){g.H=Gn;var t=Ae!==null&&Ae.next!==null;if(xa=0,Fe=Ae=me=null,Gs=!1,qn=0,Kl=null,t)throw Error(o(300));e===null||Je||(e=e.dependencies,e!==null&&_s(e)&&(Je=!0))}function Ho(e,t,a,n){me=e;var s=0;do{if(Xl&&(Kl=null),qn=0,Xl=!1,25<=s)throw Error(o(301));if(s+=1,Fe=Ae=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}g.H=jd,i=t(a,n)}while(Xl);return i}function Dx(){var e=g.H,t=e.useState()[0];return t=typeof t.then=="function"?Hn(t):t,e=e.useState()[0],(Ae!==null?Ae.memoizedState:null)!==e&&(me.flags|=1024),t}function Gc(){var e=Qs!==0;return Qs=0,e}function Qc(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function Yc(e){if(Gs){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Gs=!1}xa=0,Fe=Ae=me=null,Xl=!1,qn=Qs=0,Kl=null}function mt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Fe===null?me.memoizedState=Fe=e:Fe=Fe.next=e,Fe}function Xe(){if(Ae===null){var e=me.alternate;e=e!==null?e.memoizedState:null}else e=Ae.next;var t=Fe===null?me.memoizedState:Fe.next;if(t!==null)Fe=t,Ae=e;else{if(e===null)throw me.alternate===null?Error(o(467)):Error(o(310));Ae=e,e={memoizedState:Ae.memoizedState,baseState:Ae.baseState,baseQueue:Ae.baseQueue,queue:Ae.queue,next:null},Fe===null?me.memoizedState=Fe=e:Fe=Fe.next=e}return Fe}function Ys(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Hn(e){var t=qn;return qn+=1,Kl===null&&(Kl=[]),e=To(Kl,e,t),t=me,(Fe===null?t.memoizedState:Fe.next)===null&&(t=t.alternate,g.H=t===null||t.memoizedState===null?bd:tr),e}function Vs(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Hn(e);if(e.$$typeof===j)return st(e)}throw Error(o(438,String(e)))}function Vc(e){var t=null,a=me.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var n=me.alternate;n!==null&&(n=n.updateQueue,n!==null&&(n=n.memoCache,n!=null&&(t={data:n.data.map(function(s){return s.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=Ys(),me.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),n=0;n<e;n++)a[n]=ne;return t.index++,a}function ga(e,t){return typeof t=="function"?t(e):t}function Xs(e){var t=Xe();return Xc(t,Ae,e)}function Xc(e,t,a){var n=e.queue;if(n===null)throw Error(o(311));n.lastRenderedReducer=a;var s=e.baseQueue,i=n.pending;if(i!==null){if(s!==null){var u=s.next;s.next=i.next,i.next=u}t.baseQueue=s=i,n.pending=null}if(i=e.baseState,s===null)e.memoizedState=i;else{t=s.next;var f=u=null,x=null,M=t,G=!1;do{var V=M.lane&-536870913;if(V!==M.lane?(ye&V)===V:(xa&V)===V){var k=M.revertLane;if(k===0)x!==null&&(x=x.next={lane:0,revertLane:0,gesture:null,action:M.action,hasEagerState:M.hasEagerState,eagerState:M.eagerState,next:null}),V===Ll&&(G=!0);else if((xa&k)===k){M=M.next,k===Ll&&(G=!0);continue}else V={lane:0,revertLane:M.revertLane,gesture:null,action:M.action,hasEagerState:M.hasEagerState,eagerState:M.eagerState,next:null},x===null?(f=x=V,u=i):x=x.next=V,me.lanes|=k,Qa|=k;V=M.action,gl&&a(i,V),i=M.hasEagerState?M.eagerState:a(i,V)}else k={lane:V,revertLane:M.revertLane,gesture:M.gesture,action:M.action,hasEagerState:M.hasEagerState,eagerState:M.eagerState,next:null},x===null?(f=x=k,u=i):x=x.next=k,me.lanes|=V,Qa|=V;M=M.next}while(M!==null&&M!==t);if(x===null?u=i:x.next=f,!Tt(i,e.memoizedState)&&(Je=!0,G&&(a=Gl,a!==null)))throw a;e.memoizedState=i,e.baseState=u,e.baseQueue=x,n.lastRenderedState=i}return s===null&&(n.lanes=0),[e.memoizedState,n.dispatch]}function Kc(e){var t=Xe(),a=t.queue;if(a===null)throw Error(o(311));a.lastRenderedReducer=e;var n=a.dispatch,s=a.pending,i=t.memoizedState;if(s!==null){a.pending=null;var u=s=s.next;do i=e(i,u.action),u=u.next;while(u!==s);Tt(i,t.memoizedState)||(Je=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),a.lastRenderedState=i}return[i,n]}function Lo(e,t,a){var n=me,s=Xe(),i=je;if(i){if(a===void 0)throw Error(o(407));a=a()}else a=t();var u=!Tt((Ae||s).memoizedState,a);if(u&&(s.memoizedState=a,Je=!0),s=s.queue,Jc(Yo.bind(null,n,s,e),[e]),s.getSnapshot!==t||u||Fe!==null&&Fe.memoizedState.tag&1){if(n.flags|=2048,Zl(9,{destroy:void 0},Qo.bind(null,n,s,a,t),null),De===null)throw Error(o(349));i||(xa&127)!==0||Go(n,t,a)}return a}function Go(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=me.updateQueue,t===null?(t=Ys(),me.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function Qo(e,t,a,n){t.value=a,t.getSnapshot=n,Vo(t)&&Xo(e)}function Yo(e,t,a){return a(function(){Vo(t)&&Xo(e)})}function Vo(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!Tt(e,a)}catch{return!0}}function Xo(e){var t=cl(e,2);t!==null&&bt(t,e,2)}function Zc(e){var t=mt();if(typeof e=="function"){var a=e;if(e=a(),gl){Ea(!0);try{a()}finally{Ea(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:e},t}function Ko(e,t,a,n){return e.baseState=a,Xc(e,Ae,typeof n=="function"?n:ga)}function Mx(e,t,a,n,s){if(Fs(e))throw Error(o(485));if(e=t.action,e!==null){var i={payload:s,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(u){i.listeners.push(u)}};g.T!==null?a(!0):i.isTransition=!1,n(i),a=t.pending,a===null?(i.next=t.pending=i,Zo(t,i)):(i.next=a.next,t.pending=a.next=i)}}function Zo(e,t){var a=t.action,n=t.payload,s=e.state;if(t.isTransition){var i=g.T,u={};g.T=u;try{var f=a(s,n),x=g.S;x!==null&&x(u,f),Fo(e,t,f)}catch(M){Fc(e,t,M)}finally{i!==null&&u.types!==null&&(i.types=u.types),g.T=i}}else try{i=a(s,n),Fo(e,t,i)}catch(M){Fc(e,t,M)}}function Fo(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(n){Jo(e,t,n)},function(n){return Fc(e,t,n)}):Jo(e,t,a)}function Jo(e,t,a){t.status="fulfilled",t.value=a,$o(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,Zo(e,a)))}function Fc(e,t,a){var n=e.pending;if(e.pending=null,n!==null){n=n.next;do t.status="rejected",t.reason=a,$o(t),t=t.next;while(t!==n)}e.action=null}function $o(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Wo(e,t){return t}function Io(e,t){if(je){var a=De.formState;if(a!==null){e:{var n=me;if(je){if(qe){t:{for(var s=qe,i=Qt;s.nodeType!==8;){if(!i){s=null;break t}if(s=Vt(s.nextSibling),s===null){s=null;break t}}i=s.data,s=i==="F!"||i==="F"?s:null}if(s){qe=Vt(s.nextSibling),n=s.data==="F!";break e}}ka(n)}n=!1}n&&(t=a[0])}}return a=mt(),a.memoizedState=a.baseState=t,n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wo,lastRenderedState:t},a.queue=n,a=pd.bind(null,me,n),n.dispatch=a,n=Zc(!1),i=er.bind(null,me,!1,n.queue),n=mt(),s={state:t,dispatch:null,action:e,pending:null},n.queue=s,a=Mx.bind(null,me,s,i,a),s.dispatch=a,n.memoizedState=e,[t,a,!1]}function Po(e){var t=Xe();return ed(t,Ae,e)}function ed(e,t,a){if(t=Xc(e,t,Wo)[0],e=Xs(ga)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var n=Hn(t)}catch(u){throw u===Ql?Rs:u}else n=t;t=Xe();var s=t.queue,i=s.dispatch;return a!==t.memoizedState&&(me.flags|=2048,Zl(9,{destroy:void 0},_x.bind(null,s,a),null)),[n,i,e]}function _x(e,t){e.action=t}function td(e){var t=Xe(),a=Ae;if(a!==null)return ed(t,a,e);Xe(),t=t.memoizedState,a=Xe();var n=a.queue.dispatch;return a.memoizedState=e,[t,n,!1]}function Zl(e,t,a,n){return e={tag:e,create:a,deps:n,inst:t,next:null},t=me.updateQueue,t===null&&(t=Ys(),me.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(n=a.next,a.next=e,e.next=n,t.lastEffect=e),e}function ad(){return Xe().memoizedState}function Ks(e,t,a,n){var s=mt();me.flags|=e,s.memoizedState=Zl(1|t,{destroy:void 0},a,n===void 0?null:n)}function Zs(e,t,a,n){var s=Xe();n=n===void 0?null:n;var i=s.memoizedState.inst;Ae!==null&&n!==null&&Hc(n,Ae.memoizedState.deps)?s.memoizedState=Zl(t,i,a,n):(me.flags|=e,s.memoizedState=Zl(1|t,i,a,n))}function ld(e,t){Ks(8390656,8,e,t)}function Jc(e,t){Zs(2048,8,e,t)}function kx(e){me.flags|=4;var t=me.updateQueue;if(t===null)t=Ys(),me.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function nd(e){var t=Xe().memoizedState;return kx({ref:t,nextImpl:e}),function(){if((Ce&2)!==0)throw Error(o(440));return t.impl.apply(void 0,arguments)}}function sd(e,t){return Zs(4,2,e,t)}function id(e,t){return Zs(4,4,e,t)}function cd(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 rd(e,t,a){a=a!=null?a.concat([e]):null,Zs(4,4,cd.bind(null,t,e),a)}function $c(){}function ud(e,t){var a=Xe();t=t===void 0?null:t;var n=a.memoizedState;return t!==null&&Hc(t,n[1])?n[0]:(a.memoizedState=[e,t],e)}function od(e,t){var a=Xe();t=t===void 0?null:t;var n=a.memoizedState;if(t!==null&&Hc(t,n[1]))return n[0];if(n=e(),gl){Ea(!0);try{e()}finally{Ea(!1)}}return a.memoizedState=[n,t],n}function Wc(e,t,a){return a===void 0||(xa&1073741824)!==0&&(ye&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=ff(),me.lanes|=e,Qa|=e,a)}function dd(e,t,a,n){return Tt(a,t)?a:Vl.current!==null?(e=Wc(e,a,n),Tt(e,t)||(Je=!0),e):(xa&42)===0||(xa&1073741824)!==0&&(ye&261930)===0?(Je=!0,e.memoizedState=a):(e=ff(),me.lanes|=e,Qa|=e,t)}function fd(e,t,a,n,s){var i=T.p;T.p=i!==0&&8>i?i:8;var u=g.T,f={};g.T=f,er(e,!1,t,a);try{var x=s(),M=g.S;if(M!==null&&M(f,x),x!==null&&typeof x=="object"&&typeof x.then=="function"){var G=Ex(x,n);Ln(e,t,G,Rt(e))}else Ln(e,t,n,Rt(e))}catch(V){Ln(e,t,{then:function(){},status:"rejected",reason:V},Rt())}finally{T.p=i,u!==null&&f.types!==null&&(u.types=f.types),g.T=u}}function Ox(){}function Ic(e,t,a,n){if(e.tag!==5)throw Error(o(476));var s=md(e).queue;fd(e,s,t,I,a===null?Ox:function(){return hd(e),a(n)})}function md(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:I,baseState:I,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:I},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function hd(e){var t=md(e);t.next===null&&(t=e.alternate.memoizedState),Ln(e,t.next.queue,{},Rt())}function Pc(){return st(ls)}function xd(){return Xe().memoizedState}function gd(){return Xe().memoizedState}function Rx(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Rt();e=Ua(a);var n=Ba(t,e,a);n!==null&&(bt(n,t,a),Rn(n,t,a)),t={cache:Ec()},e.payload=t;return}t=t.return}}function Ux(e,t,a){var n=Rt();a={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Fs(e)?yd(t,a):(a=pc(e,t,a,n),a!==null&&(bt(a,e,n),vd(a,t,n)))}function pd(e,t,a){var n=Rt();Ln(e,t,a,n)}function Ln(e,t,a,n){var s={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Fs(e))yd(t,s);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var u=t.lastRenderedState,f=i(u,a);if(s.hasEagerState=!0,s.eagerState=f,Tt(f,u))return Es(e,t,s,0),De===null&&As(),!1}catch{}if(a=pc(e,t,s,n),a!==null)return bt(a,e,n),vd(a,t,n),!0}return!1}function er(e,t,a,n){if(n={lane:2,revertLane:_r(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Fs(e)){if(t)throw Error(o(479))}else t=pc(e,a,n,2),t!==null&&bt(t,e,2)}function Fs(e){var t=e.alternate;return e===me||t!==null&&t===me}function yd(e,t){Xl=Gs=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function vd(e,t,a){if((a&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,Nu(e,a)}}var Gn={readContext:st,use:Vs,useCallback:Qe,useContext:Qe,useEffect:Qe,useImperativeHandle:Qe,useLayoutEffect:Qe,useInsertionEffect:Qe,useMemo:Qe,useReducer:Qe,useRef:Qe,useState:Qe,useDebugValue:Qe,useDeferredValue:Qe,useTransition:Qe,useSyncExternalStore:Qe,useId:Qe,useHostTransitionStatus:Qe,useFormState:Qe,useActionState:Qe,useOptimistic:Qe,useMemoCache:Qe,useCacheRefresh:Qe};Gn.useEffectEvent=Qe;var bd={readContext:st,use:Vs,useCallback:function(e,t){return mt().memoizedState=[e,t===void 0?null:t],e},useContext:st,useEffect:ld,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,Ks(4194308,4,cd.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Ks(4194308,4,e,t)},useInsertionEffect:function(e,t){Ks(4,2,e,t)},useMemo:function(e,t){var a=mt();t=t===void 0?null:t;var n=e();if(gl){Ea(!0);try{e()}finally{Ea(!1)}}return a.memoizedState=[n,t],n},useReducer:function(e,t,a){var n=mt();if(a!==void 0){var s=a(t);if(gl){Ea(!0);try{a(t)}finally{Ea(!1)}}}else s=t;return n.memoizedState=n.baseState=s,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:s},n.queue=e,e=e.dispatch=Ux.bind(null,me,e),[n.memoizedState,e]},useRef:function(e){var t=mt();return e={current:e},t.memoizedState=e},useState:function(e){e=Zc(e);var t=e.queue,a=pd.bind(null,me,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:$c,useDeferredValue:function(e,t){var a=mt();return Wc(a,e,t)},useTransition:function(){var e=Zc(!1);return e=fd.bind(null,me,e.queue,!0,!1),mt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var n=me,s=mt();if(je){if(a===void 0)throw Error(o(407));a=a()}else{if(a=t(),De===null)throw Error(o(349));(ye&127)!==0||Go(n,t,a)}s.memoizedState=a;var i={value:a,getSnapshot:t};return s.queue=i,ld(Yo.bind(null,n,i,e),[e]),n.flags|=2048,Zl(9,{destroy:void 0},Qo.bind(null,n,i,a,t),null),a},useId:function(){var e=mt(),t=De.identifierPrefix;if(je){var a=Wt,n=$t;a=(n&~(1<<32-Et(n)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Qs++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=Tx++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Pc,useFormState:Io,useActionState:Io,useOptimistic:function(e){var t=mt();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=er.bind(null,me,!0,a),a.dispatch=t,[e,t]},useMemoCache:Vc,useCacheRefresh:function(){return mt().memoizedState=Rx.bind(null,me)},useEffectEvent:function(e){var t=mt(),a={impl:e};return t.memoizedState=a,function(){if((Ce&2)!==0)throw Error(o(440));return a.impl.apply(void 0,arguments)}}},tr={readContext:st,use:Vs,useCallback:ud,useContext:st,useEffect:Jc,useImperativeHandle:rd,useInsertionEffect:sd,useLayoutEffect:id,useMemo:od,useReducer:Xs,useRef:ad,useState:function(){return Xs(ga)},useDebugValue:$c,useDeferredValue:function(e,t){var a=Xe();return dd(a,Ae.memoizedState,e,t)},useTransition:function(){var e=Xs(ga)[0],t=Xe().memoizedState;return[typeof e=="boolean"?e:Hn(e),t]},useSyncExternalStore:Lo,useId:xd,useHostTransitionStatus:Pc,useFormState:Po,useActionState:Po,useOptimistic:function(e,t){var a=Xe();return Ko(a,Ae,e,t)},useMemoCache:Vc,useCacheRefresh:gd};tr.useEffectEvent=nd;var jd={readContext:st,use:Vs,useCallback:ud,useContext:st,useEffect:Jc,useImperativeHandle:rd,useInsertionEffect:sd,useLayoutEffect:id,useMemo:od,useReducer:Kc,useRef:ad,useState:function(){return Kc(ga)},useDebugValue:$c,useDeferredValue:function(e,t){var a=Xe();return Ae===null?Wc(a,e,t):dd(a,Ae.memoizedState,e,t)},useTransition:function(){var e=Kc(ga)[0],t=Xe().memoizedState;return[typeof e=="boolean"?e:Hn(e),t]},useSyncExternalStore:Lo,useId:xd,useHostTransitionStatus:Pc,useFormState:td,useActionState:td,useOptimistic:function(e,t){var a=Xe();return Ae!==null?Ko(a,Ae,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:Vc,useCacheRefresh:gd};jd.useEffectEvent=nd;function ar(e,t,a,n){t=e.memoizedState,a=a(n,t),a=a==null?t:_({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var lr={enqueueSetState:function(e,t,a){e=e._reactInternals;var n=Rt(),s=Ua(n);s.payload=t,a!=null&&(s.callback=a),t=Ba(e,s,n),t!==null&&(bt(t,e,n),Rn(t,e,n))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var n=Rt(),s=Ua(n);s.tag=1,s.payload=t,a!=null&&(s.callback=a),t=Ba(e,s,n),t!==null&&(bt(t,e,n),Rn(t,e,n))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Rt(),n=Ua(a);n.tag=2,t!=null&&(n.callback=t),t=Ba(e,n,a),t!==null&&(bt(t,e,a),Rn(t,e,a))}};function Sd(e,t,a,n,s,i,u){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(n,i,u):t.prototype&&t.prototype.isPureReactComponent?!An(a,n)||!An(s,i):!0}function Nd(e,t,a,n){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,n),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,n),t.state!==e&&lr.enqueueReplaceState(t,t.state,null)}function pl(e,t){var a=t;if("ref"in t){a={};for(var n in t)n!=="ref"&&(a[n]=t[n])}if(e=e.defaultProps){a===t&&(a=_({},a));for(var s in e)a[s]===void 0&&(a[s]=e[s])}return a}function Cd(e){ws(e)}function zd(e){console.error(e)}function wd(e){ws(e)}function Js(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(n){setTimeout(function(){throw n})}}function Ad(e,t,a){try{var n=e.onCaughtError;n(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(s){setTimeout(function(){throw s})}}function nr(e,t,a){return a=Ua(a),a.tag=3,a.payload={element:null},a.callback=function(){Js(e,t)},a}function Ed(e){return e=Ua(e),e.tag=3,e}function Td(e,t,a,n){var s=a.type.getDerivedStateFromError;if(typeof s=="function"){var i=n.value;e.payload=function(){return s(i)},e.callback=function(){Ad(t,a,n)}}var u=a.stateNode;u!==null&&typeof u.componentDidCatch=="function"&&(e.callback=function(){Ad(t,a,n),typeof s!="function"&&(Ya===null?Ya=new Set([this]):Ya.add(this));var f=n.stack;this.componentDidCatch(n.value,{componentStack:f!==null?f:""})})}function Bx(e,t,a,n,s){if(a.flags|=32768,n!==null&&typeof n=="object"&&typeof n.then=="function"){if(t=a.alternate,t!==null&&Hl(t,a,s,!0),a=Mt.current,a!==null){switch(a.tag){case 31:case 13:return Yt===null?ci():a.alternate===null&&Ye===0&&(Ye=3),a.flags&=-257,a.flags|=65536,a.lanes=s,n===Us?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([n]):t.add(n),Tr(e,n,s)),!1;case 22:return a.flags|=65536,n===Us?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([n])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([n]):a.add(n)),Tr(e,n,s)),!1}throw Error(o(435,a.tag))}return Tr(e,n,s),ci(),!1}if(je)return t=Mt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=s,n!==Nc&&(e=Error(o(422),{cause:n}),Dn(Ht(e,a)))):(n!==Nc&&(t=Error(o(423),{cause:n}),Dn(Ht(t,a))),e=e.current.alternate,e.flags|=65536,s&=-s,e.lanes|=s,n=Ht(n,a),s=nr(e.stateNode,n,s),Oc(e,s),Ye!==4&&(Ye=2)),!1;var i=Error(o(520),{cause:n});if(i=Ht(i,a),Jn===null?Jn=[i]:Jn.push(i),Ye!==4&&(Ye=2),t===null)return!0;n=Ht(n,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=s&-s,a.lanes|=e,e=nr(a.stateNode,n,e),Oc(a,e),!1;case 1:if(t=a.type,i=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(Ya===null||!Ya.has(i))))return a.flags|=65536,s&=-s,a.lanes|=s,s=Ed(s),Td(s,e,a,n),Oc(a,s),!1}a=a.return}while(a!==null);return!1}var sr=Error(o(461)),Je=!1;function it(e,t,a,n){t.child=e===null?ko(t,null,a,n):xl(t,e.child,a,n)}function Dd(e,t,a,n,s){a=a.render;var i=t.ref;if("ref"in n){var u={};for(var f in n)f!=="ref"&&(u[f]=n[f])}else u=n;return dl(t),n=Lc(e,t,a,u,i,s),f=Gc(),e!==null&&!Je?(Qc(e,t,s),pa(e,t,s)):(je&&f&&jc(t),t.flags|=1,it(e,t,n,s),t.child)}function Md(e,t,a,n,s){if(e===null){var i=a.type;return typeof i=="function"&&!yc(i)&&i.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=i,_d(e,t,i,n,s)):(e=Ds(a.type,null,n,t,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!mr(e,s)){var u=i.memoizedProps;if(a=a.compare,a=a!==null?a:An,a(u,n)&&e.ref===t.ref)return pa(e,t,s)}return t.flags|=1,e=da(i,n),e.ref=t.ref,e.return=t,t.child=e}function _d(e,t,a,n,s){if(e!==null){var i=e.memoizedProps;if(An(i,n)&&e.ref===t.ref)if(Je=!1,t.pendingProps=n=i,mr(e,s))(e.flags&131072)!==0&&(Je=!0);else return t.lanes=e.lanes,pa(e,t,s)}return ir(e,t,a,n,s)}function kd(e,t,a,n){var s=n.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|a:a,e!==null){for(n=t.child=e.child,s=0;n!==null;)s=s|n.lanes|n.childLanes,n=n.sibling;n=s&~i}else n=0,t.child=null;return Od(e,t,i,a,n)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Os(t,i!==null?i.cachePool:null),i!==null?Uo(t,i):Uc(),Bo(t);else return n=t.lanes=536870912,Od(e,t,i!==null?i.baseLanes|a:a,a,n)}else i!==null?(Os(t,i.cachePool),Uo(t,i),Ha(),t.memoizedState=null):(e!==null&&Os(t,null),Uc(),Ha());return it(e,t,s,a),t.child}function Qn(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Od(e,t,a,n,s){var i=Dc();return i=i===null?null:{parent:Ze._currentValue,pool:i},t.memoizedState={baseLanes:a,cachePool:i},e!==null&&Os(t,null),Uc(),Bo(t),e!==null&&Hl(e,t,n,!0),t.childLanes=s,null}function $s(e,t){return t=Is({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Rd(e,t,a){return xl(t,e.child,null,a),e=$s(t,t.pendingProps),e.flags|=2,_t(t),t.memoizedState=null,e}function qx(e,t,a){var n=t.pendingProps,s=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(je){if(n.mode==="hidden")return e=$s(t,n),t.lanes=536870912,Qn(null,e);if(qc(t),(e=qe)?(e=Ff(e,Qt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ma!==null?{id:$t,overflow:Wt}:null,retryLane:536870912,hydrationErrors:null},a=yo(e),a.return=t,t.child=a,nt=t,qe=null)):e=null,e===null)throw ka(t);return t.lanes=536870912,null}return $s(t,n)}var i=e.memoizedState;if(i!==null){var u=i.dehydrated;if(qc(t),s)if(t.flags&256)t.flags&=-257,t=Rd(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(o(558));else if(Je||Hl(e,t,a,!1),s=(a&e.childLanes)!==0,Je||s){if(n=De,n!==null&&(u=Cu(n,a),u!==0&&u!==i.retryLane))throw i.retryLane=u,cl(e,u),bt(n,e,u),sr;ci(),t=Rd(e,t,a)}else e=i.treeContext,qe=Vt(u.nextSibling),nt=t,je=!0,_a=null,Qt=!1,e!==null&&jo(t,e),t=$s(t,n),t.flags|=4096;return t}return e=da(e.child,{mode:n.mode,children:n.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Ws(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 ir(e,t,a,n,s){return dl(t),a=Lc(e,t,a,n,void 0,s),n=Gc(),e!==null&&!Je?(Qc(e,t,s),pa(e,t,s)):(je&&n&&jc(t),t.flags|=1,it(e,t,a,s),t.child)}function Ud(e,t,a,n,s,i){return dl(t),t.updateQueue=null,a=Ho(t,n,a,s),qo(e),n=Gc(),e!==null&&!Je?(Qc(e,t,i),pa(e,t,i)):(je&&n&&jc(t),t.flags|=1,it(e,t,a,i),t.child)}function Bd(e,t,a,n,s){if(dl(t),t.stateNode===null){var i=Rl,u=a.contextType;typeof u=="object"&&u!==null&&(i=st(u)),i=new a(n,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=lr,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=n,i.state=t.memoizedState,i.refs={},_c(t),u=a.contextType,i.context=typeof u=="object"&&u!==null?st(u):Rl,i.state=t.memoizedState,u=a.getDerivedStateFromProps,typeof u=="function"&&(ar(t,a,u,n),i.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(u=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),u!==i.state&&lr.enqueueReplaceState(i,i.state,null),Bn(t,n,i,s),Un(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),n=!0}else if(e===null){i=t.stateNode;var f=t.memoizedProps,x=pl(a,f);i.props=x;var M=i.context,G=a.contextType;u=Rl,typeof G=="object"&&G!==null&&(u=st(G));var V=a.getDerivedStateFromProps;G=typeof V=="function"||typeof i.getSnapshotBeforeUpdate=="function",f=t.pendingProps!==f,G||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(f||M!==u)&&Nd(t,i,n,u),Ra=!1;var k=t.memoizedState;i.state=k,Bn(t,n,i,s),Un(),M=t.memoizedState,f||k!==M||Ra?(typeof V=="function"&&(ar(t,a,V,n),M=t.memoizedState),(x=Ra||Sd(t,a,x,n,k,M,u))?(G||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=M),i.props=n,i.state=M,i.context=u,n=x):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),n=!1)}else{i=t.stateNode,kc(e,t),u=t.memoizedProps,G=pl(a,u),i.props=G,V=t.pendingProps,k=i.context,M=a.contextType,x=Rl,typeof M=="object"&&M!==null&&(x=st(M)),f=a.getDerivedStateFromProps,(M=typeof f=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(u!==V||k!==x)&&Nd(t,i,n,x),Ra=!1,k=t.memoizedState,i.state=k,Bn(t,n,i,s),Un();var B=t.memoizedState;u!==V||k!==B||Ra||e!==null&&e.dependencies!==null&&_s(e.dependencies)?(typeof f=="function"&&(ar(t,a,f,n),B=t.memoizedState),(G=Ra||Sd(t,a,G,n,k,B,x)||e!==null&&e.dependencies!==null&&_s(e.dependencies))?(M||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(n,B,x),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(n,B,x)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||u===e.memoizedProps&&k===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&k===e.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=B),i.props=n,i.state=B,i.context=x,n=G):(typeof i.componentDidUpdate!="function"||u===e.memoizedProps&&k===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&k===e.memoizedState||(t.flags|=1024),n=!1)}return i=n,Ws(e,t),n=(t.flags&128)!==0,i||n?(i=t.stateNode,a=n&&typeof a.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&n?(t.child=xl(t,e.child,null,s),t.child=xl(t,null,a,s)):it(e,t,a,s),t.memoizedState=i.state,e=t.child):e=pa(e,t,s),e}function qd(e,t,a,n){return ul(),t.flags|=256,it(e,t,a,n),t.child}var cr={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function rr(e){return{baseLanes:e,cachePool:Ao()}}function ur(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=Ot),e}function Hd(e,t,a){var n=t.pendingProps,s=!1,i=(t.flags&128)!==0,u;if((u=i)||(u=e!==null&&e.memoizedState===null?!1:(Ve.current&2)!==0),u&&(s=!0,t.flags&=-129),u=(t.flags&32)!==0,t.flags&=-33,e===null){if(je){if(s?qa(t):Ha(),(e=qe)?(e=Ff(e,Qt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ma!==null?{id:$t,overflow:Wt}:null,retryLane:536870912,hydrationErrors:null},a=yo(e),a.return=t,t.child=a,nt=t,qe=null)):e=null,e===null)throw ka(t);return Xr(e)?t.lanes=32:t.lanes=536870912,null}var f=n.children;return n=n.fallback,s?(Ha(),s=t.mode,f=Is({mode:"hidden",children:f},s),n=rl(n,s,a,null),f.return=t,n.return=t,f.sibling=n,t.child=f,n=t.child,n.memoizedState=rr(a),n.childLanes=ur(e,u,a),t.memoizedState=cr,Qn(null,n)):(qa(t),or(t,f))}var x=e.memoizedState;if(x!==null&&(f=x.dehydrated,f!==null)){if(i)t.flags&256?(qa(t),t.flags&=-257,t=dr(e,t,a)):t.memoizedState!==null?(Ha(),t.child=e.child,t.flags|=128,t=null):(Ha(),f=n.fallback,s=t.mode,n=Is({mode:"visible",children:n.children},s),f=rl(f,s,a,null),f.flags|=2,n.return=t,f.return=t,n.sibling=f,t.child=n,xl(t,e.child,null,a),n=t.child,n.memoizedState=rr(a),n.childLanes=ur(e,u,a),t.memoizedState=cr,t=Qn(null,n));else if(qa(t),Xr(f)){if(u=f.nextSibling&&f.nextSibling.dataset,u)var M=u.dgst;u=M,n=Error(o(419)),n.stack="",n.digest=u,Dn({value:n,source:null,stack:null}),t=dr(e,t,a)}else if(Je||Hl(e,t,a,!1),u=(a&e.childLanes)!==0,Je||u){if(u=De,u!==null&&(n=Cu(u,a),n!==0&&n!==x.retryLane))throw x.retryLane=n,cl(e,n),bt(u,e,n),sr;Vr(f)||ci(),t=dr(e,t,a)}else Vr(f)?(t.flags|=192,t.child=e.child,t=null):(e=x.treeContext,qe=Vt(f.nextSibling),nt=t,je=!0,_a=null,Qt=!1,e!==null&&jo(t,e),t=or(t,n.children),t.flags|=4096);return t}return s?(Ha(),f=n.fallback,s=t.mode,x=e.child,M=x.sibling,n=da(x,{mode:"hidden",children:n.children}),n.subtreeFlags=x.subtreeFlags&65011712,M!==null?f=da(M,f):(f=rl(f,s,a,null),f.flags|=2),f.return=t,n.return=t,n.sibling=f,t.child=n,Qn(null,n),n=t.child,f=e.child.memoizedState,f===null?f=rr(a):(s=f.cachePool,s!==null?(x=Ze._currentValue,s=s.parent!==x?{parent:x,pool:x}:s):s=Ao(),f={baseLanes:f.baseLanes|a,cachePool:s}),n.memoizedState=f,n.childLanes=ur(e,u,a),t.memoizedState=cr,Qn(e.child,n)):(qa(t),a=e.child,e=a.sibling,a=da(a,{mode:"visible",children:n.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 or(e,t){return t=Is({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Is(e,t){return e=Dt(22,e,null,t),e.lanes=0,e}function dr(e,t,a){return xl(t,e.child,null,a),e=or(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Ld(e,t,a){e.lanes|=t;var n=e.alternate;n!==null&&(n.lanes|=t),wc(e.return,t,a)}function fr(e,t,a,n,s,i){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:a,tailMode:s,treeForkCount:i}:(u.isBackwards=t,u.rendering=null,u.renderingStartTime=0,u.last=n,u.tail=a,u.tailMode=s,u.treeForkCount=i)}function Gd(e,t,a){var n=t.pendingProps,s=n.revealOrder,i=n.tail;n=n.children;var u=Ve.current,f=(u&2)!==0;if(f?(u=u&1|2,t.flags|=128):u&=1,ie(Ve,u),it(e,t,n,a),n=je?Tn:0,!f&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ld(e,a,t);else if(e.tag===19)Ld(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&&Ls(e)===null&&(s=a),a=a.sibling;a=s,a===null?(s=t.child,t.child=null):(s=a.sibling,a.sibling=null),fr(t,!1,s,a,i,n);break;case"backwards":case"unstable_legacy-backwards":for(a=null,s=t.child,t.child=null;s!==null;){if(e=s.alternate,e!==null&&Ls(e)===null){t.child=s;break}e=s.sibling,s.sibling=a,a=s,s=e}fr(t,!0,a,null,i,n);break;case"together":fr(t,!1,null,null,void 0,n);break;default:t.memoizedState=null}return t.child}function pa(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Qa|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(Hl(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=da(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=da(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function mr(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&_s(e)))}function Hx(e,t,a){switch(t.tag){case 3:ca(t,t.stateNode.containerInfo),Oa(t,Ze,e.memoizedState.cache),ul();break;case 27:case 5:de(t);break;case 4:ca(t,t.stateNode.containerInfo);break;case 10:Oa(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,qc(t),null;break;case 13:var n=t.memoizedState;if(n!==null)return n.dehydrated!==null?(qa(t),t.flags|=128,null):(a&t.child.childLanes)!==0?Hd(e,t,a):(qa(t),e=pa(e,t,a),e!==null?e.sibling:null);qa(t);break;case 19:var s=(e.flags&128)!==0;if(n=(a&t.childLanes)!==0,n||(Hl(e,t,a,!1),n=(a&t.childLanes)!==0),s){if(n)return Gd(e,t,a);t.flags|=128}if(s=t.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),ie(Ve,Ve.current),n)break;return null;case 22:return t.lanes=0,kd(e,t,a,t.pendingProps);case 24:Oa(t,Ze,e.memoizedState.cache)}return pa(e,t,a)}function Qd(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)Je=!0;else{if(!mr(e,a)&&(t.flags&128)===0)return Je=!1,Hx(e,t,a);Je=(e.flags&131072)!==0}else Je=!1,je&&(t.flags&1048576)!==0&&bo(t,Tn,t.index);switch(t.lanes=0,t.tag){case 16:e:{var n=t.pendingProps;if(e=ml(t.elementType),t.type=e,typeof e=="function")yc(e)?(n=pl(e,n),t.tag=1,t=Bd(null,t,e,n,a)):(t.tag=0,t=ir(null,t,e,n,a));else{if(e!=null){var s=e.$$typeof;if(s===K){t.tag=11,t=Dd(null,t,e,n,a);break e}else if(s===X){t.tag=14,t=Md(null,t,e,n,a);break e}}throw t=W(e)||e,Error(o(306,t,""))}}return t;case 0:return ir(e,t,t.type,t.pendingProps,a);case 1:return n=t.type,s=pl(n,t.pendingProps),Bd(e,t,n,s,a);case 3:e:{if(ca(t,t.stateNode.containerInfo),e===null)throw Error(o(387));n=t.pendingProps;var i=t.memoizedState;s=i.element,kc(e,t),Bn(t,n,null,a);var u=t.memoizedState;if(n=u.cache,Oa(t,Ze,n),n!==i.cache&&Ac(t,[Ze],a,!0),Un(),n=u.element,i.isDehydrated)if(i={element:n,isDehydrated:!1,cache:u.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=qd(e,t,n,a);break e}else if(n!==s){s=Ht(Error(o(424)),t),Dn(s),t=qd(e,t,n,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,qe=Vt(e.firstChild),nt=t,je=!0,_a=null,Qt=!0,a=ko(t,null,n,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(ul(),n===s){t=pa(e,t,a);break e}it(e,t,n,a)}t=t.child}return t;case 26:return Ws(e,t),e===null?(a=em(t.type,null,t.pendingProps,null))?t.memoizedState=a:je||(a=t.type,e=t.pendingProps,n=hi(ft.current).createElement(a),n[lt]=t,n[ht]=e,ct(n,a,e),Pe(n),t.stateNode=n):t.memoizedState=em(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return de(t),e===null&&je&&(n=t.stateNode=Wf(t.type,t.pendingProps,ft.current),nt=t,Qt=!0,s=qe,Za(t.type)?(Kr=s,qe=Vt(n.firstChild)):qe=s),it(e,t,t.pendingProps.children,a),Ws(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&je&&((s=n=qe)&&(n=xg(n,t.type,t.pendingProps,Qt),n!==null?(t.stateNode=n,nt=t,qe=Vt(n.firstChild),Qt=!1,s=!0):s=!1),s||ka(t)),de(t),s=t.type,i=t.pendingProps,u=e!==null?e.memoizedProps:null,n=i.children,Gr(s,i)?n=null:u!==null&&Gr(s,u)&&(t.flags|=32),t.memoizedState!==null&&(s=Lc(e,t,Dx,null,null,a),ls._currentValue=s),Ws(e,t),it(e,t,n,a),t.child;case 6:return e===null&&je&&((e=a=qe)&&(a=gg(a,t.pendingProps,Qt),a!==null?(t.stateNode=a,nt=t,qe=null,e=!0):e=!1),e||ka(t)),null;case 13:return Hd(e,t,a);case 4:return ca(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=xl(t,null,n,a):it(e,t,n,a),t.child;case 11:return Dd(e,t,t.type,t.pendingProps,a);case 7:return it(e,t,t.pendingProps,a),t.child;case 8:return it(e,t,t.pendingProps.children,a),t.child;case 12:return it(e,t,t.pendingProps.children,a),t.child;case 10:return n=t.pendingProps,Oa(t,t.type,n.value),it(e,t,n.children,a),t.child;case 9:return s=t.type._context,n=t.pendingProps.children,dl(t),s=st(s),n=n(s),t.flags|=1,it(e,t,n,a),t.child;case 14:return Md(e,t,t.type,t.pendingProps,a);case 15:return _d(e,t,t.type,t.pendingProps,a);case 19:return Gd(e,t,a);case 31:return qx(e,t,a);case 22:return kd(e,t,a,t.pendingProps);case 24:return dl(t),n=st(Ze),e===null?(s=Dc(),s===null&&(s=De,i=Ec(),s.pooledCache=i,i.refCount++,i!==null&&(s.pooledCacheLanes|=a),s=i),t.memoizedState={parent:n,cache:s},_c(t),Oa(t,Ze,s)):((e.lanes&a)!==0&&(kc(e,t),Bn(t,null,null,a),Un()),s=e.memoizedState,i=t.memoizedState,s.parent!==n?(s={parent:n,cache:n},t.memoizedState=s,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=s),Oa(t,Ze,n)):(n=i.cache,Oa(t,Ze,n),n!==s.cache&&Ac(t,[Ze],a,!0))),it(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(o(156,t.tag))}function ya(e){e.flags|=4}function hr(e,t,a,n,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(gf())e.flags|=8192;else throw hl=Us,Mc}else e.flags&=-16777217}function Yd(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!sm(t))if(gf())e.flags|=8192;else throw hl=Us,Mc}function Ps(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?ju():536870912,e.lanes|=t,Wl|=t)}function Yn(e,t){if(!je)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 n=null;a!==null;)a.alternate!==null&&(n=a),a=a.sibling;n===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:n.sibling=null}}function He(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,n=0;if(t)for(var s=e.child;s!==null;)a|=s.lanes|s.childLanes,n|=s.subtreeFlags&65011712,n|=s.flags&65011712,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)a|=s.lanes|s.childLanes,n|=s.subtreeFlags,n|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=n,e.childLanes=a,t}function Lx(e,t,a){var n=t.pendingProps;switch(Sc(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return He(t),null;case 1:return He(t),null;case 3:return a=t.stateNode,n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ha(Ze),le(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(ql(t)?ya(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Cc())),He(t),null;case 26:var s=t.type,i=t.memoizedState;return e===null?(ya(t),i!==null?(He(t),Yd(t,i)):(He(t),hr(t,s,null,n,a))):i?i!==e.memoizedState?(ya(t),He(t),Yd(t,i)):(He(t),t.flags&=-16777217):(e=e.memoizedProps,e!==n&&ya(t),He(t),hr(t,s,e,n,a)),null;case 27:if(Be(t),a=ft.current,s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&ya(t);else{if(!n){if(t.stateNode===null)throw Error(o(166));return He(t),null}e=Ue.current,ql(t)?So(t):(e=Wf(s,n,a),t.stateNode=e,ya(t))}return He(t),null;case 5:if(Be(t),s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&ya(t);else{if(!n){if(t.stateNode===null)throw Error(o(166));return He(t),null}if(i=Ue.current,ql(t))So(t);else{var u=hi(ft.current);switch(i){case 1:i=u.createElementNS("http://www.w3.org/2000/svg",s);break;case 2:i=u.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;default:switch(s){case"svg":i=u.createElementNS("http://www.w3.org/2000/svg",s);break;case"math":i=u.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;case"script":i=u.createElement("div"),i.innerHTML="<script><\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof n.is=="string"?u.createElement("select",{is:n.is}):u.createElement("select"),n.multiple?i.multiple=!0:n.size&&(i.size=n.size);break;default:i=typeof n.is=="string"?u.createElement(s,{is:n.is}):u.createElement(s)}}i[lt]=t,i[ht]=n;e:for(u=t.child;u!==null;){if(u.tag===5||u.tag===6)i.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=i;e:switch(ct(i,s,n),s){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&ya(t)}}return He(t),hr(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&ya(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(o(166));if(e=ft.current,ql(t)){if(e=t.stateNode,a=t.memoizedProps,n=null,s=nt,s!==null)switch(s.tag){case 27:case 5:n=s.memoizedProps}e[lt]=t,e=!!(e.nodeValue===a||n!==null&&n.suppressHydrationWarning===!0||Lf(e.nodeValue,a)),e||ka(t,!0)}else e=hi(e).createTextNode(n),e[lt]=t,t.stateNode=e}return He(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(n=ql(t),a!==null){if(e===null){if(!n)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[lt]=t}else ul(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;He(t),e=!1}else a=Cc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(_t(t),t):(_t(t),null);if((t.flags&128)!==0)throw Error(o(558))}return He(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(s=ql(t),n!==null&&n.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[lt]=t}else ul(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;He(t),s=!1}else s=Cc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=s),s=!0;if(!s)return t.flags&256?(_t(t),t):(_t(t),null)}return _t(t),(t.flags&128)!==0?(t.lanes=a,t):(a=n!==null,e=e!==null&&e.memoizedState!==null,a&&(n=t.child,s=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(s=n.alternate.memoizedState.cachePool.pool),i=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(i=n.memoizedState.cachePool.pool),i!==s&&(n.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Ps(t,t.updateQueue),He(t),null);case 4:return le(),e===null&&Ur(t.stateNode.containerInfo),He(t),null;case 10:return ha(t.type),He(t),null;case 19:if(te(Ve),n=t.memoizedState,n===null)return He(t),null;if(s=(t.flags&128)!==0,i=n.rendering,i===null)if(s)Yn(n,!1);else{if(Ye!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=Ls(e),i!==null){for(t.flags|=128,Yn(n,!1),e=i.updateQueue,t.updateQueue=e,Ps(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)po(a,e),a=a.sibling;return ie(Ve,Ve.current&1|2),je&&fa(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&wt()>ni&&(t.flags|=128,s=!0,Yn(n,!1),t.lanes=4194304)}else{if(!s)if(e=Ls(i),e!==null){if(t.flags|=128,s=!0,e=e.updateQueue,t.updateQueue=e,Ps(t,e),Yn(n,!0),n.tail===null&&n.tailMode==="hidden"&&!i.alternate&&!je)return He(t),null}else 2*wt()-n.renderingStartTime>ni&&a!==536870912&&(t.flags|=128,s=!0,Yn(n,!1),t.lanes=4194304);n.isBackwards?(i.sibling=t.child,t.child=i):(e=n.last,e!==null?e.sibling=i:t.child=i,n.last=i)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=wt(),e.sibling=null,a=Ve.current,ie(Ve,s?a&1|2:a&1),je&&fa(t,n.treeForkCount),e):(He(t),null);case 22:case 23:return _t(t),Bc(),n=t.memoizedState!==null,e!==null?e.memoizedState!==null!==n&&(t.flags|=8192):n&&(t.flags|=8192),n?(a&536870912)!==0&&(t.flags&128)===0&&(He(t),t.subtreeFlags&6&&(t.flags|=8192)):He(t),a=t.updateQueue,a!==null&&Ps(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),n=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),n!==a&&(t.flags|=2048),e!==null&&te(fl),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ha(Ze),He(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function Gx(e,t){switch(Sc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ha(Ze),le(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Be(t),null;case 31:if(t.memoizedState!==null){if(_t(t),t.alternate===null)throw Error(o(340));ul()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(_t(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));ul()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return te(Ve),null;case 4:return le(),null;case 10:return ha(t.type),null;case 22:case 23:return _t(t),Bc(),e!==null&&te(fl),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ha(Ze),null;case 25:return null;default:return null}}function Vd(e,t){switch(Sc(t),t.tag){case 3:ha(Ze),le();break;case 26:case 27:case 5:Be(t);break;case 4:le();break;case 31:t.memoizedState!==null&&_t(t);break;case 13:_t(t);break;case 19:te(Ve);break;case 10:ha(t.type);break;case 22:case 23:_t(t),Bc(),e!==null&&te(fl);break;case 24:ha(Ze)}}function Vn(e,t){try{var a=t.updateQueue,n=a!==null?a.lastEffect:null;if(n!==null){var s=n.next;a=s;do{if((a.tag&e)===e){n=void 0;var i=a.create,u=a.inst;n=i(),u.destroy=n}a=a.next}while(a!==s)}}catch(f){we(t,t.return,f)}}function La(e,t,a){try{var n=t.updateQueue,s=n!==null?n.lastEffect:null;if(s!==null){var i=s.next;n=i;do{if((n.tag&e)===e){var u=n.inst,f=u.destroy;if(f!==void 0){u.destroy=void 0,s=t;var x=a,M=f;try{M()}catch(G){we(s,x,G)}}}n=n.next}while(n!==i)}}catch(G){we(t,t.return,G)}}function Xd(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Ro(t,a)}catch(n){we(e,e.return,n)}}}function Kd(e,t,a){a.props=pl(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(n){we(e,t,n)}}function Xn(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var n=e.stateNode;break;case 30:n=e.stateNode;break;default:n=e.stateNode}typeof a=="function"?e.refCleanup=a(n):a.current=n}}catch(s){we(e,t,s)}}function It(e,t){var a=e.ref,n=e.refCleanup;if(a!==null)if(typeof n=="function")try{n()}catch(s){we(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){we(e,t,s)}else a.current=null}function Zd(e){var t=e.type,a=e.memoizedProps,n=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&n.focus();break e;case"img":a.src?n.src=a.src:a.srcSet&&(n.srcset=a.srcSet)}}catch(s){we(e,e.return,s)}}function xr(e,t,a){try{var n=e.stateNode;ug(n,e.type,a,t),n[ht]=t}catch(s){we(e,e.return,s)}}function Fd(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Za(e.type)||e.tag===4}function gr(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(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&&Za(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 pr(e,t,a){var n=e.tag;if(n===5||n===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=ua));else if(n!==4&&(n===27&&Za(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(pr(e,t,a),e=e.sibling;e!==null;)pr(e,t,a),e=e.sibling}function ei(e,t,a){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(n!==4&&(n===27&&Za(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(ei(e,t,a),e=e.sibling;e!==null;)ei(e,t,a),e=e.sibling}function Jd(e){var t=e.stateNode,a=e.memoizedProps;try{for(var n=e.type,s=t.attributes;s.length;)t.removeAttributeNode(s[0]);ct(t,n,a),t[lt]=e,t[ht]=a}catch(i){we(e,e.return,i)}}var va=!1,$e=!1,yr=!1,$d=typeof WeakSet=="function"?WeakSet:Set,et=null;function Qx(e,t){if(e=e.containerInfo,Hr=ji,e=co(e),dc(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var n=a.getSelection&&a.getSelection();if(n&&n.rangeCount!==0){a=n.anchorNode;var s=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{a.nodeType,i.nodeType}catch{a=null;break e}var u=0,f=-1,x=-1,M=0,G=0,V=e,k=null;t:for(;;){for(var B;V!==a||s!==0&&V.nodeType!==3||(f=u+s),V!==i||n!==0&&V.nodeType!==3||(x=u+n),V.nodeType===3&&(u+=V.nodeValue.length),(B=V.firstChild)!==null;)k=V,V=B;for(;;){if(V===e)break t;if(k===a&&++M===s&&(f=u),k===i&&++G===n&&(x=u),(B=V.nextSibling)!==null)break;V=k,k=V.parentNode}V=B}a=f===-1||x===-1?null:{start:f,end:x}}else a=null}a=a||{start:0,end:0}}else a=null;for(Lr={focusedElem:e,selectionRange:a},ji=!1,et=t;et!==null;)if(t=et,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,et=e;else for(;et!==null;){switch(t=et,i=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&&i!==null){e=void 0,a=t,s=i.memoizedProps,i=i.memoizedState,n=a.stateNode;try{var se=pl(a.type,s);e=n.getSnapshotBeforeUpdate(se,i),n.__reactInternalSnapshotBeforeUpdate=e}catch(ue){we(a,a.return,ue)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)Yr(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Yr(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,et=e;break}et=t.return}}function Wd(e,t,a){var n=a.flags;switch(a.tag){case 0:case 11:case 15:ja(e,a),n&4&&Vn(5,a);break;case 1:if(ja(e,a),n&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(u){we(a,a.return,u)}else{var s=pl(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(s,t,e.__reactInternalSnapshotBeforeUpdate)}catch(u){we(a,a.return,u)}}n&64&&Xd(a),n&512&&Xn(a,a.return);break;case 3:if(ja(e,a),n&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{Ro(e,t)}catch(u){we(a,a.return,u)}}break;case 27:t===null&&n&4&&Jd(a);case 26:case 5:ja(e,a),t===null&&n&4&&Zd(a),n&512&&Xn(a,a.return);break;case 12:ja(e,a);break;case 31:ja(e,a),n&4&&ef(e,a);break;case 13:ja(e,a),n&4&&tf(e,a),n&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=Wx.bind(null,a),pg(e,a))));break;case 22:if(n=a.memoizedState!==null||va,!n){t=t!==null&&t.memoizedState!==null||$e,s=va;var i=$e;va=n,($e=t)&&!i?Sa(e,a,(a.subtreeFlags&8772)!==0):ja(e,a),va=s,$e=i}break;case 30:break;default:ja(e,a)}}function Id(e){var t=e.alternate;t!==null&&(e.alternate=null,Id(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Fi(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 Le=null,gt=!1;function ba(e,t,a){for(a=a.child;a!==null;)Pd(e,t,a),a=a.sibling}function Pd(e,t,a){if(At&&typeof At.onCommitFiberUnmount=="function")try{At.onCommitFiberUnmount(xn,a)}catch{}switch(a.tag){case 26:$e||It(a,t),ba(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:$e||It(a,t);var n=Le,s=gt;Za(a.type)&&(Le=a.stateNode,gt=!1),ba(e,t,a),es(a.stateNode),Le=n,gt=s;break;case 5:$e||It(a,t);case 6:if(n=Le,s=gt,Le=null,ba(e,t,a),Le=n,gt=s,Le!==null)if(gt)try{(Le.nodeType===9?Le.body:Le.nodeName==="HTML"?Le.ownerDocument.body:Le).removeChild(a.stateNode)}catch(i){we(a,t,i)}else try{Le.removeChild(a.stateNode)}catch(i){we(a,t,i)}break;case 18:Le!==null&&(gt?(e=Le,Kf(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),sn(e)):Kf(Le,a.stateNode));break;case 4:n=Le,s=gt,Le=a.stateNode.containerInfo,gt=!0,ba(e,t,a),Le=n,gt=s;break;case 0:case 11:case 14:case 15:La(2,a,t),$e||La(4,a,t),ba(e,t,a);break;case 1:$e||(It(a,t),n=a.stateNode,typeof n.componentWillUnmount=="function"&&Kd(a,t,n)),ba(e,t,a);break;case 21:ba(e,t,a);break;case 22:$e=(n=$e)||a.memoizedState!==null,ba(e,t,a),$e=n;break;default:ba(e,t,a)}}function ef(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{sn(e)}catch(a){we(t,t.return,a)}}}function tf(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{sn(e)}catch(a){we(t,t.return,a)}}function Yx(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new $d),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new $d),t;default:throw Error(o(435,e.tag))}}function ti(e,t){var a=Yx(e);t.forEach(function(n){if(!a.has(n)){a.add(n);var s=Ix.bind(null,e,n);n.then(s,s)}})}function pt(e,t){var a=t.deletions;if(a!==null)for(var n=0;n<a.length;n++){var s=a[n],i=e,u=t,f=u;e:for(;f!==null;){switch(f.tag){case 27:if(Za(f.type)){Le=f.stateNode,gt=!1;break e}break;case 5:Le=f.stateNode,gt=!1;break e;case 3:case 4:Le=f.stateNode.containerInfo,gt=!0;break e}f=f.return}if(Le===null)throw Error(o(160));Pd(i,u,s),Le=null,gt=!1,i=s.alternate,i!==null&&(i.return=null),s.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)af(t,e),t=t.sibling}var Ft=null;function af(e,t){var a=e.alternate,n=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:pt(t,e),yt(e),n&4&&(La(3,e,e.return),Vn(3,e),La(5,e,e.return));break;case 1:pt(t,e),yt(e),n&512&&($e||a===null||It(a,a.return)),n&64&&va&&(e=e.updateQueue,e!==null&&(n=e.callbacks,n!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?n:a.concat(n))));break;case 26:var s=Ft;if(pt(t,e),yt(e),n&512&&($e||a===null||It(a,a.return)),n&4){var i=a!==null?a.memoizedState:null;if(n=e.memoizedState,a===null)if(n===null)if(e.stateNode===null){e:{n=e.type,a=e.memoizedProps,s=s.ownerDocument||s;t:switch(n){case"title":i=s.getElementsByTagName("title")[0],(!i||i[yn]||i[lt]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=s.createElement(n),s.head.insertBefore(i,s.querySelector("head > title"))),ct(i,n,a),i[lt]=e,Pe(i),n=i;break e;case"link":var u=lm("link","href",s).get(n+(a.href||""));if(u){for(var f=0;f<u.length;f++)if(i=u[f],i.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&i.getAttribute("rel")===(a.rel==null?null:a.rel)&&i.getAttribute("title")===(a.title==null?null:a.title)&&i.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){u.splice(f,1);break t}}i=s.createElement(n),ct(i,n,a),s.head.appendChild(i);break;case"meta":if(u=lm("meta","content",s).get(n+(a.content||""))){for(f=0;f<u.length;f++)if(i=u[f],i.getAttribute("content")===(a.content==null?null:""+a.content)&&i.getAttribute("name")===(a.name==null?null:a.name)&&i.getAttribute("property")===(a.property==null?null:a.property)&&i.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&i.getAttribute("charset")===(a.charSet==null?null:a.charSet)){u.splice(f,1);break t}}i=s.createElement(n),ct(i,n,a),s.head.appendChild(i);break;default:throw Error(o(468,n))}i[lt]=e,Pe(i),n=i}e.stateNode=n}else nm(s,e.type,e.stateNode);else e.stateNode=am(s,n,e.memoizedProps);else i!==n?(i===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):i.count--,n===null?nm(s,e.type,e.stateNode):am(s,n,e.memoizedProps)):n===null&&e.stateNode!==null&&xr(e,e.memoizedProps,a.memoizedProps)}break;case 27:pt(t,e),yt(e),n&512&&($e||a===null||It(a,a.return)),a!==null&&n&4&&xr(e,e.memoizedProps,a.memoizedProps);break;case 5:if(pt(t,e),yt(e),n&512&&($e||a===null||It(a,a.return)),e.flags&32){s=e.stateNode;try{El(s,"")}catch(se){we(e,e.return,se)}}n&4&&e.stateNode!=null&&(s=e.memoizedProps,xr(e,s,a!==null?a.memoizedProps:s)),n&1024&&(yr=!0);break;case 6:if(pt(t,e),yt(e),n&4){if(e.stateNode===null)throw Error(o(162));n=e.memoizedProps,a=e.stateNode;try{a.nodeValue=n}catch(se){we(e,e.return,se)}}break;case 3:if(pi=null,s=Ft,Ft=xi(t.containerInfo),pt(t,e),Ft=s,yt(e),n&4&&a!==null&&a.memoizedState.isDehydrated)try{sn(t.containerInfo)}catch(se){we(e,e.return,se)}yr&&(yr=!1,lf(e));break;case 4:n=Ft,Ft=xi(e.stateNode.containerInfo),pt(t,e),yt(e),Ft=n;break;case 12:pt(t,e),yt(e);break;case 31:pt(t,e),yt(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,ti(e,n)));break;case 13:pt(t,e),yt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(li=wt()),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,ti(e,n)));break;case 22:s=e.memoizedState!==null;var x=a!==null&&a.memoizedState!==null,M=va,G=$e;if(va=M||s,$e=G||x,pt(t,e),$e=G,va=M,yt(e),n&8192)e:for(t=e.stateNode,t._visibility=s?t._visibility&-2:t._visibility|1,s&&(a===null||x||va||$e||yl(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){x=a=t;try{if(i=x.stateNode,s)u=i.style,typeof u.setProperty=="function"?u.setProperty("display","none","important"):u.display="none";else{f=x.stateNode;var V=x.memoizedProps.style,k=V!=null&&V.hasOwnProperty("display")?V.display:null;f.style.display=k==null||typeof k=="boolean"?"":(""+k).trim()}}catch(se){we(x,x.return,se)}}}else if(t.tag===6){if(a===null){x=t;try{x.stateNode.nodeValue=s?"":x.memoizedProps}catch(se){we(x,x.return,se)}}}else if(t.tag===18){if(a===null){x=t;try{var B=x.stateNode;s?Zf(B,!0):Zf(x.stateNode,!1)}catch(se){we(x,x.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}n&4&&(n=e.updateQueue,n!==null&&(a=n.retryQueue,a!==null&&(n.retryQueue=null,ti(e,a))));break;case 19:pt(t,e),yt(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,ti(e,n)));break;case 30:break;case 21:break;default:pt(t,e),yt(e)}}function yt(e){var t=e.flags;if(t&2){try{for(var a,n=e.return;n!==null;){if(Fd(n)){a=n;break}n=n.return}if(a==null)throw Error(o(160));switch(a.tag){case 27:var s=a.stateNode,i=gr(e);ei(e,i,s);break;case 5:var u=a.stateNode;a.flags&32&&(El(u,""),a.flags&=-33);var f=gr(e);ei(e,f,u);break;case 3:case 4:var x=a.stateNode.containerInfo,M=gr(e);pr(e,M,x);break;default:throw Error(o(161))}}catch(G){we(e,e.return,G)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function lf(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;lf(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function ja(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Wd(e,t.alternate,t),t=t.sibling}function yl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:La(4,t,t.return),yl(t);break;case 1:It(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&Kd(t,t.return,a),yl(t);break;case 27:es(t.stateNode);case 26:case 5:It(t,t.return),yl(t);break;case 22:t.memoizedState===null&&yl(t);break;case 30:yl(t);break;default:yl(t)}e=e.sibling}}function Sa(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var n=t.alternate,s=e,i=t,u=i.flags;switch(i.tag){case 0:case 11:case 15:Sa(s,i,a),Vn(4,i);break;case 1:if(Sa(s,i,a),n=i,s=n.stateNode,typeof s.componentDidMount=="function")try{s.componentDidMount()}catch(M){we(n,n.return,M)}if(n=i,s=n.updateQueue,s!==null){var f=n.stateNode;try{var x=s.shared.hiddenCallbacks;if(x!==null)for(s.shared.hiddenCallbacks=null,s=0;s<x.length;s++)Oo(x[s],f)}catch(M){we(n,n.return,M)}}a&&u&64&&Xd(i),Xn(i,i.return);break;case 27:Jd(i);case 26:case 5:Sa(s,i,a),a&&n===null&&u&4&&Zd(i),Xn(i,i.return);break;case 12:Sa(s,i,a);break;case 31:Sa(s,i,a),a&&u&4&&ef(s,i);break;case 13:Sa(s,i,a),a&&u&4&&tf(s,i);break;case 22:i.memoizedState===null&&Sa(s,i,a),Xn(i,i.return);break;case 30:break;default:Sa(s,i,a)}t=t.sibling}}function vr(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&&Mn(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&&Mn(e))}function Jt(e,t,a,n){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)nf(e,t,a,n),t=t.sibling}function nf(e,t,a,n){var s=t.flags;switch(t.tag){case 0:case 11:case 15:Jt(e,t,a,n),s&2048&&Vn(9,t);break;case 1:Jt(e,t,a,n);break;case 3:Jt(e,t,a,n),s&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Mn(e)));break;case 12:if(s&2048){Jt(e,t,a,n),e=t.stateNode;try{var i=t.memoizedProps,u=i.id,f=i.onPostCommit;typeof f=="function"&&f(u,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(x){we(t,t.return,x)}}else Jt(e,t,a,n);break;case 31:Jt(e,t,a,n);break;case 13:Jt(e,t,a,n);break;case 23:break;case 22:i=t.stateNode,u=t.alternate,t.memoizedState!==null?i._visibility&2?Jt(e,t,a,n):Kn(e,t):i._visibility&2?Jt(e,t,a,n):(i._visibility|=2,Fl(e,t,a,n,(t.subtreeFlags&10256)!==0||!1)),s&2048&&vr(u,t);break;case 24:Jt(e,t,a,n),s&2048&&br(t.alternate,t);break;default:Jt(e,t,a,n)}}function Fl(e,t,a,n,s){for(s=s&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,u=t,f=a,x=n,M=u.flags;switch(u.tag){case 0:case 11:case 15:Fl(i,u,f,x,s),Vn(8,u);break;case 23:break;case 22:var G=u.stateNode;u.memoizedState!==null?G._visibility&2?Fl(i,u,f,x,s):Kn(i,u):(G._visibility|=2,Fl(i,u,f,x,s)),s&&M&2048&&vr(u.alternate,u);break;case 24:Fl(i,u,f,x,s),s&&M&2048&&br(u.alternate,u);break;default:Fl(i,u,f,x,s)}t=t.sibling}}function Kn(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,n=t,s=n.flags;switch(n.tag){case 22:Kn(a,n),s&2048&&vr(n.alternate,n);break;case 24:Kn(a,n),s&2048&&br(n.alternate,n);break;default:Kn(a,n)}t=t.sibling}}var Zn=8192;function Jl(e,t,a){if(e.subtreeFlags&Zn)for(e=e.child;e!==null;)sf(e,t,a),e=e.sibling}function sf(e,t,a){switch(e.tag){case 26:Jl(e,t,a),e.flags&Zn&&e.memoizedState!==null&&Tg(a,Ft,e.memoizedState,e.memoizedProps);break;case 5:Jl(e,t,a);break;case 3:case 4:var n=Ft;Ft=xi(e.stateNode.containerInfo),Jl(e,t,a),Ft=n;break;case 22:e.memoizedState===null&&(n=e.alternate,n!==null&&n.memoizedState!==null?(n=Zn,Zn=16777216,Jl(e,t,a),Zn=n):Jl(e,t,a));break;default:Jl(e,t,a)}}function cf(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 Fn(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var n=t[a];et=n,uf(n,e)}cf(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)rf(e),e=e.sibling}function rf(e){switch(e.tag){case 0:case 11:case 15:Fn(e),e.flags&2048&&La(9,e,e.return);break;case 3:Fn(e);break;case 12:Fn(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,ai(e)):Fn(e);break;default:Fn(e)}}function ai(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var n=t[a];et=n,uf(n,e)}cf(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:La(8,t,t.return),ai(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,ai(t));break;default:ai(t)}e=e.sibling}}function uf(e,t){for(;et!==null;){var a=et;switch(a.tag){case 0:case 11:case 15:La(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var n=a.memoizedState.cachePool.pool;n!=null&&n.refCount++}break;case 24:Mn(a.memoizedState.cache)}if(n=a.child,n!==null)n.return=a,et=n;else e:for(a=e;et!==null;){n=et;var s=n.sibling,i=n.return;if(Id(n),n===a){et=null;break e}if(s!==null){s.return=i,et=s;break e}et=i}}}var Vx={getCacheForType:function(e){var t=st(Ze),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return st(Ze).controller.signal}},Xx=typeof WeakMap=="function"?WeakMap:Map,Ce=0,De=null,xe=null,ye=0,ze=0,kt=null,Ga=!1,$l=!1,jr=!1,Na=0,Ye=0,Qa=0,vl=0,Sr=0,Ot=0,Wl=0,Jn=null,vt=null,Nr=!1,li=0,of=0,ni=1/0,si=null,Ya=null,We=0,Va=null,Il=null,Ca=0,Cr=0,zr=null,df=null,$n=0,wr=null;function Rt(){return(Ce&2)!==0&&ye!==0?ye&-ye:g.T!==null?_r():zu()}function ff(){if(Ot===0)if((ye&536870912)===0||je){var e=ms;ms<<=1,(ms&3932160)===0&&(ms=262144),Ot=e}else Ot=536870912;return e=Mt.current,e!==null&&(e.flags|=32),Ot}function bt(e,t,a){(e===De&&(ze===2||ze===9)||e.cancelPendingCommit!==null)&&(Pl(e,0),Xa(e,ye,Ot,!1)),pn(e,a),((Ce&2)===0||e!==De)&&(e===De&&((Ce&2)===0&&(vl|=a),Ye===4&&Xa(e,ye,Ot,!1)),Pt(e))}function mf(e,t,a){if((Ce&6)!==0)throw Error(o(327));var n=!a&&(t&127)===0&&(t&e.expiredLanes)===0||gn(e,t),s=n?Fx(e,t):Er(e,t,!0),i=n;do{if(s===0){$l&&!n&&Xa(e,t,0,!1);break}else{if(a=e.current.alternate,i&&!Kx(a)){s=Er(e,t,!1),i=!1;continue}if(s===2){if(i=t,e.errorRecoveryDisabledLanes&i)var u=0;else u=e.pendingLanes&-536870913,u=u!==0?u:u&536870912?536870912:0;if(u!==0){t=u;e:{var f=e;s=Jn;var x=f.current.memoizedState.isDehydrated;if(x&&(Pl(f,u).flags|=256),u=Er(f,u,!1),u!==2){if(jr&&!x){f.errorRecoveryDisabledLanes|=i,vl|=i,s=4;break e}i=vt,vt=s,i!==null&&(vt===null?vt=i:vt.push.apply(vt,i))}s=u}if(i=!1,s!==2)continue}}if(s===1){Pl(e,0),Xa(e,t,0,!0);break}e:{switch(n=e,i=s,i){case 0:case 1:throw Error(o(345));case 4:if((t&4194048)!==t)break;case 6:Xa(n,t,Ot,!Ga);break e;case 2:vt=null;break;case 3:case 5:break;default:throw Error(o(329))}if((t&62914560)===t&&(s=li+300-wt(),10<s)){if(Xa(n,t,Ot,!Ga),xs(n,0,!0)!==0)break e;Ca=t,n.timeoutHandle=Vf(hf.bind(null,n,a,vt,si,Nr,t,Ot,vl,Wl,Ga,i,"Throttled",-0,0),s);break e}hf(n,a,vt,si,Nr,t,Ot,vl,Wl,Ga,i,null,-0,0)}}break}while(!0);Pt(e)}function hf(e,t,a,n,s,i,u,f,x,M,G,V,k,B){if(e.timeoutHandle=-1,V=t.subtreeFlags,V&8192||(V&16785408)===16785408){V={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ua},sf(t,i,V);var se=(i&62914560)===i?li-wt():(i&4194048)===i?of-wt():0;if(se=Dg(V,se),se!==null){Ca=i,e.cancelPendingCommit=se(Sf.bind(null,e,t,i,a,n,s,u,f,x,G,V,null,k,B)),Xa(e,i,u,!M);return}}Sf(e,t,i,a,n,s,u,f,x)}function Kx(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 n=0;n<a.length;n++){var s=a[n],i=s.getSnapshot;s=s.value;try{if(!Tt(i(),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 Xa(e,t,a,n){t&=~Sr,t&=~vl,e.suspendedLanes|=t,e.pingedLanes&=~t,n&&(e.warmLanes|=t),n=e.expirationTimes;for(var s=t;0<s;){var i=31-Et(s),u=1<<i;n[i]=-1,s&=~u}a!==0&&Su(e,a,t)}function ii(){return(Ce&6)===0?(Wn(0),!1):!0}function Ar(){if(xe!==null){if(ze===0)var e=xe.return;else e=xe,ma=ol=null,Yc(e),Yl=null,kn=0,e=xe;for(;e!==null;)Vd(e.alternate,e),e=e.return;xe=null}}function Pl(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,fg(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),Ca=0,Ar(),De=e,xe=a=da(e.current,null),ye=t,ze=0,kt=null,Ga=!1,$l=gn(e,t),jr=!1,Wl=Ot=Sr=vl=Qa=Ye=0,vt=Jn=null,Nr=!1,(t&8)!==0&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0<n;){var s=31-Et(n),i=1<<s;t|=e[s],n&=~i}return Na=t,As(),a}function xf(e,t){me=null,g.H=Gn,t===Ql||t===Rs?(t=Do(),ze=3):t===Mc?(t=Do(),ze=4):ze=t===sr?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,kt=t,xe===null&&(Ye=1,Js(e,Ht(t,e.current)))}function gf(){var e=Mt.current;return e===null?!0:(ye&4194048)===ye?Yt===null:(ye&62914560)===ye||(ye&536870912)!==0?e===Yt:!1}function pf(){var e=g.H;return g.H=Gn,e===null?Gn:e}function yf(){var e=g.A;return g.A=Vx,e}function ci(){Ye=4,Ga||(ye&4194048)!==ye&&Mt.current!==null||($l=!0),(Qa&134217727)===0&&(vl&134217727)===0||De===null||Xa(De,ye,Ot,!1)}function Er(e,t,a){var n=Ce;Ce|=2;var s=pf(),i=yf();(De!==e||ye!==t)&&(si=null,Pl(e,t)),t=!1;var u=Ye;e:do try{if(ze!==0&&xe!==null){var f=xe,x=kt;switch(ze){case 8:Ar(),u=6;break e;case 3:case 2:case 9:case 6:Mt.current===null&&(t=!0);var M=ze;if(ze=0,kt=null,en(e,f,x,M),a&&$l){u=0;break e}break;default:M=ze,ze=0,kt=null,en(e,f,x,M)}}Zx(),u=Ye;break}catch(G){xf(e,G)}while(!0);return t&&e.shellSuspendCounter++,ma=ol=null,Ce=n,g.H=s,g.A=i,xe===null&&(De=null,ye=0,As()),u}function Zx(){for(;xe!==null;)vf(xe)}function Fx(e,t){var a=Ce;Ce|=2;var n=pf(),s=yf();De!==e||ye!==t?(si=null,ni=wt()+500,Pl(e,t)):$l=gn(e,t);e:do try{if(ze!==0&&xe!==null){t=xe;var i=kt;t:switch(ze){case 1:ze=0,kt=null,en(e,t,i,1);break;case 2:case 9:if(Eo(i)){ze=0,kt=null,bf(t);break}t=function(){ze!==2&&ze!==9||De!==e||(ze=7),Pt(e)},i.then(t,t);break e;case 3:ze=7;break e;case 4:ze=5;break e;case 7:Eo(i)?(ze=0,kt=null,bf(t)):(ze=0,kt=null,en(e,t,i,7));break;case 5:var u=null;switch(xe.tag){case 26:u=xe.memoizedState;case 5:case 27:var f=xe;if(u?sm(u):f.stateNode.complete){ze=0,kt=null;var x=f.sibling;if(x!==null)xe=x;else{var M=f.return;M!==null?(xe=M,ri(M)):xe=null}break t}}ze=0,kt=null,en(e,t,i,5);break;case 6:ze=0,kt=null,en(e,t,i,6);break;case 8:Ar(),Ye=6;break e;default:throw Error(o(462))}}Jx();break}catch(G){xf(e,G)}while(!0);return ma=ol=null,g.H=n,g.A=s,Ce=a,xe!==null?0:(De=null,ye=0,As(),Ye)}function Jx(){for(;xe!==null&&!yh();)vf(xe)}function vf(e){var t=Qd(e.alternate,e,Na);e.memoizedProps=e.pendingProps,t===null?ri(e):xe=t}function bf(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=Ud(a,t,t.pendingProps,t.type,void 0,ye);break;case 11:t=Ud(a,t,t.pendingProps,t.type.render,t.ref,ye);break;case 5:Yc(t);default:Vd(a,t),t=xe=po(t,Na),t=Qd(a,t,Na)}e.memoizedProps=e.pendingProps,t===null?ri(e):xe=t}function en(e,t,a,n){ma=ol=null,Yc(t),Yl=null,kn=0;var s=t.return;try{if(Bx(e,s,t,a,ye)){Ye=1,Js(e,Ht(a,e.current)),xe=null;return}}catch(i){if(s!==null)throw xe=s,i;Ye=1,Js(e,Ht(a,e.current)),xe=null;return}t.flags&32768?(je||n===1?e=!0:$l||(ye&536870912)!==0?e=!1:(Ga=e=!0,(n===2||n===9||n===3||n===6)&&(n=Mt.current,n!==null&&n.tag===13&&(n.flags|=16384))),jf(t,e)):ri(t)}function ri(e){var t=e;do{if((t.flags&32768)!==0){jf(t,Ga);return}e=t.return;var a=Lx(t.alternate,t,Na);if(a!==null){xe=a;return}if(t=t.sibling,t!==null){xe=t;return}xe=t=e}while(t!==null);Ye===0&&(Ye=5)}function jf(e,t){do{var a=Gx(e.alternate,e);if(a!==null){a.flags&=32767,xe=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){xe=e;return}xe=e=a}while(e!==null);Ye=6,xe=null}function Sf(e,t,a,n,s,i,u,f,x){e.cancelPendingCommit=null;do ui();while(We!==0);if((Ce&6)!==0)throw Error(o(327));if(t!==null){if(t===e.current)throw Error(o(177));if(i=t.lanes|t.childLanes,i|=gc,Eh(e,a,i,u,f,x),e===De&&(xe=De=null,ye=0),Il=t,Va=e,Ca=a,Cr=i,zr=s,df=n,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,Px(ds,function(){return Af(),null})):(e.callbackNode=null,e.callbackPriority=0),n=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||n){n=g.T,g.T=null,s=T.p,T.p=2,u=Ce,Ce|=4;try{Qx(e,t,a)}finally{Ce=u,T.p=s,g.T=n}}We=1,Nf(),Cf(),zf()}}function Nf(){if(We===1){We=0;var e=Va,t=Il,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=g.T,g.T=null;var n=T.p;T.p=2;var s=Ce;Ce|=4;try{af(t,e);var i=Lr,u=co(e.containerInfo),f=i.focusedElem,x=i.selectionRange;if(u!==f&&f&&f.ownerDocument&&io(f.ownerDocument.documentElement,f)){if(x!==null&&dc(f)){var M=x.start,G=x.end;if(G===void 0&&(G=M),"selectionStart"in f)f.selectionStart=M,f.selectionEnd=Math.min(G,f.value.length);else{var V=f.ownerDocument||document,k=V&&V.defaultView||window;if(k.getSelection){var B=k.getSelection(),se=f.textContent.length,ue=Math.min(x.start,se),Te=x.end===void 0?ue:Math.min(x.end,se);!B.extend&&ue>Te&&(u=Te,Te=ue,ue=u);var N=so(f,ue),b=so(f,Te);if(N&&b&&(B.rangeCount!==1||B.anchorNode!==N.node||B.anchorOffset!==N.offset||B.focusNode!==b.node||B.focusOffset!==b.offset)){var D=V.createRange();D.setStart(N.node,N.offset),B.removeAllRanges(),ue>Te?(B.addRange(D),B.extend(b.node,b.offset)):(D.setEnd(b.node,b.offset),B.addRange(D))}}}}for(V=[],B=f;B=B.parentNode;)B.nodeType===1&&V.push({element:B,left:B.scrollLeft,top:B.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;f<V.length;f++){var Y=V[f];Y.element.scrollLeft=Y.left,Y.element.scrollTop=Y.top}}ji=!!Hr,Lr=Hr=null}finally{Ce=s,T.p=n,g.T=a}}e.current=t,We=2}}function Cf(){if(We===2){We=0;var e=Va,t=Il,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=g.T,g.T=null;var n=T.p;T.p=2;var s=Ce;Ce|=4;try{Wd(e,t.alternate,t)}finally{Ce=s,T.p=n,g.T=a}}We=3}}function zf(){if(We===4||We===3){We=0,vh();var e=Va,t=Il,a=Ca,n=df;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?We=5:(We=0,Il=Va=null,wf(e,e.pendingLanes));var s=e.pendingLanes;if(s===0&&(Ya=null),Ki(a),t=t.stateNode,At&&typeof At.onCommitFiberRoot=="function")try{At.onCommitFiberRoot(xn,t,void 0,(t.current.flags&128)===128)}catch{}if(n!==null){t=g.T,s=T.p,T.p=2,g.T=null;try{for(var i=e.onRecoverableError,u=0;u<n.length;u++){var f=n[u];i(f.value,{componentStack:f.stack})}}finally{g.T=t,T.p=s}}(Ca&3)!==0&&ui(),Pt(e),s=e.pendingLanes,(a&261930)!==0&&(s&42)!==0?e===wr?$n++:($n=0,wr=e):$n=0,Wn(0)}}function wf(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Mn(t)))}function ui(){return Nf(),Cf(),zf(),Af()}function Af(){if(We!==5)return!1;var e=Va,t=Cr;Cr=0;var a=Ki(Ca),n=g.T,s=T.p;try{T.p=32>a?32:a,g.T=null,a=zr,zr=null;var i=Va,u=Ca;if(We=0,Il=Va=null,Ca=0,(Ce&6)!==0)throw Error(o(331));var f=Ce;if(Ce|=4,rf(i.current),nf(i,i.current,u,a),Ce=f,Wn(0,!1),At&&typeof At.onPostCommitFiberRoot=="function")try{At.onPostCommitFiberRoot(xn,i)}catch{}return!0}finally{T.p=s,g.T=n,wf(e,t)}}function Ef(e,t,a){t=Ht(a,t),t=nr(e.stateNode,t,2),e=Ba(e,t,2),e!==null&&(pn(e,2),Pt(e))}function we(e,t,a){if(e.tag===3)Ef(e,e,a);else for(;t!==null;){if(t.tag===3){Ef(t,e,a);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Ya===null||!Ya.has(n))){e=Ht(a,e),a=Ed(2),n=Ba(t,a,2),n!==null&&(Td(a,n,t,e),pn(n,2),Pt(n));break}}t=t.return}}function Tr(e,t,a){var n=e.pingCache;if(n===null){n=e.pingCache=new Xx;var s=new Set;n.set(t,s)}else s=n.get(t),s===void 0&&(s=new Set,n.set(t,s));s.has(a)||(jr=!0,s.add(a),e=$x.bind(null,e,t,a),t.then(e,e))}function $x(e,t,a){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,De===e&&(ye&a)===a&&(Ye===4||Ye===3&&(ye&62914560)===ye&&300>wt()-li?(Ce&2)===0&&Pl(e,0):Sr|=a,Wl===ye&&(Wl=0)),Pt(e)}function Tf(e,t){t===0&&(t=ju()),e=cl(e,t),e!==null&&(pn(e,t),Pt(e))}function Wx(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Tf(e,a)}function Ix(e,t){var a=0;switch(e.tag){case 31:case 13:var n=e.stateNode,s=e.memoizedState;s!==null&&(a=s.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(o(314))}n!==null&&n.delete(t),Tf(e,a)}function Px(e,t){return Qi(e,t)}var oi=null,tn=null,Dr=!1,di=!1,Mr=!1,Ka=0;function Pt(e){e!==tn&&e.next===null&&(tn===null?oi=tn=e:tn=tn.next=e),di=!0,Dr||(Dr=!0,tg())}function Wn(e,t){if(!Mr&&di){Mr=!0;do for(var a=!1,n=oi;n!==null;){if(e!==0){var s=n.pendingLanes;if(s===0)var i=0;else{var u=n.suspendedLanes,f=n.pingedLanes;i=(1<<31-Et(42|e)+1)-1,i&=s&~(u&~f),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(a=!0,kf(n,i))}else i=ye,i=xs(n,n===De?i:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(i&3)===0||gn(n,i)||(a=!0,kf(n,i));n=n.next}while(a);Mr=!1}}function eg(){Df()}function Df(){di=Dr=!1;var e=0;Ka!==0&&dg()&&(e=Ka);for(var t=wt(),a=null,n=oi;n!==null;){var s=n.next,i=Mf(n,t);i===0?(n.next=null,a===null?oi=s:a.next=s,s===null&&(tn=a)):(a=n,(e!==0||(i&3)!==0)&&(di=!0)),n=s}We!==0&&We!==5||Wn(e),Ka!==0&&(Ka=0)}function Mf(e,t){for(var a=e.suspendedLanes,n=e.pingedLanes,s=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var u=31-Et(i),f=1<<u,x=s[u];x===-1?((f&a)===0||(f&n)!==0)&&(s[u]=Ah(f,t)):x<=t&&(e.expiredLanes|=f),i&=~f}if(t=De,a=ye,a=xs(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n=e.callbackNode,a===0||e===t&&(ze===2||ze===9)||e.cancelPendingCommit!==null)return n!==null&&n!==null&&Yi(n),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||gn(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(n!==null&&Yi(n),Ki(a)){case 2:case 8:a=vu;break;case 32:a=ds;break;case 268435456:a=bu;break;default:a=ds}return n=_f.bind(null,e),a=Qi(a,n),e.callbackPriority=t,e.callbackNode=a,t}return n!==null&&n!==null&&Yi(n),e.callbackPriority=2,e.callbackNode=null,2}function _f(e,t){if(We!==0&&We!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(ui()&&e.callbackNode!==a)return null;var n=ye;return n=xs(e,e===De?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n===0?null:(mf(e,n,t),Mf(e,wt()),e.callbackNode!=null&&e.callbackNode===a?_f.bind(null,e):null)}function kf(e,t){if(ui())return null;mf(e,t,!0)}function tg(){mg(function(){(Ce&6)!==0?Qi(yu,eg):Df()})}function _r(){if(Ka===0){var e=Ll;e===0&&(e=fs,fs<<=1,(fs&261888)===0&&(fs=256)),Ka=e}return Ka}function Of(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:vs(""+e)}function Rf(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 ag(e,t,a,n,s){if(t==="submit"&&a&&a.stateNode===s){var i=Of((s[ht]||null).action),u=n.submitter;u&&(t=(t=u[ht]||null)?Of(t.formAction):u.getAttribute("formAction"),t!==null&&(i=t,u=null));var f=new Ns("action","action",null,n,s);e.push({event:f,listeners:[{instance:null,listener:function(){if(n.defaultPrevented){if(Ka!==0){var x=u?Rf(s,u):new FormData(s);Ic(a,{pending:!0,data:x,method:s.method,action:i},null,x)}}else typeof i=="function"&&(f.preventDefault(),x=u?Rf(s,u):new FormData(s),Ic(a,{pending:!0,data:x,method:s.method,action:i},i,x))},currentTarget:s}]})}}for(var kr=0;kr<xc.length;kr++){var Or=xc[kr],lg=Or.toLowerCase(),ng=Or[0].toUpperCase()+Or.slice(1);Zt(lg,"on"+ng)}Zt(oo,"onAnimationEnd"),Zt(fo,"onAnimationIteration"),Zt(mo,"onAnimationStart"),Zt("dblclick","onDoubleClick"),Zt("focusin","onFocus"),Zt("focusout","onBlur"),Zt(bx,"onTransitionRun"),Zt(jx,"onTransitionStart"),Zt(Sx,"onTransitionCancel"),Zt(ho,"onTransitionEnd"),wl("onMouseEnter",["mouseout","mouseover"]),wl("onMouseLeave",["mouseout","mouseover"]),wl("onPointerEnter",["pointerout","pointerover"]),wl("onPointerLeave",["pointerout","pointerover"]),ll("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ll("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ll("onBeforeInput",["compositionend","keypress","textInput","paste"]),ll("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ll("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ll("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var In="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(" "),sg=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(In));function Uf(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var n=e[a],s=n.event;n=n.listeners;e:{var i=void 0;if(t)for(var u=n.length-1;0<=u;u--){var f=n[u],x=f.instance,M=f.currentTarget;if(f=f.listener,x!==i&&s.isPropagationStopped())break e;i=f,s.currentTarget=M;try{i(s)}catch(G){ws(G)}s.currentTarget=null,i=x}else for(u=0;u<n.length;u++){if(f=n[u],x=f.instance,M=f.currentTarget,f=f.listener,x!==i&&s.isPropagationStopped())break e;i=f,s.currentTarget=M;try{i(s)}catch(G){ws(G)}s.currentTarget=null,i=x}}}}function ge(e,t){var a=t[Zi];a===void 0&&(a=t[Zi]=new Set);var n=e+"__bubble";a.has(n)||(Bf(t,e,2,!1),a.add(n))}function Rr(e,t,a){var n=0;t&&(n|=4),Bf(a,e,n,t)}var fi="_reactListening"+Math.random().toString(36).slice(2);function Ur(e){if(!e[fi]){e[fi]=!0,Eu.forEach(function(a){a!=="selectionchange"&&(sg.has(a)||Rr(a,!1,e),Rr(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[fi]||(t[fi]=!0,Rr("selectionchange",!1,t))}}function Bf(e,t,a,n){switch(fm(t)){case 2:var s=kg;break;case 8:s=Og;break;default:s=Wr}a=s.bind(null,t,a,e),s=void 0,!ac||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(s=!0),n?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 Br(e,t,a,n,s){var i=n;if((t&1)===0&&(t&2)===0&&n!==null)e:for(;;){if(n===null)return;var u=n.tag;if(u===3||u===4){var f=n.stateNode.containerInfo;if(f===s)break;if(u===4)for(u=n.return;u!==null;){var x=u.tag;if((x===3||x===4)&&u.stateNode.containerInfo===s)return;u=u.return}for(;f!==null;){if(u=Nl(f),u===null)return;if(x=u.tag,x===5||x===6||x===26||x===27){n=i=u;continue e}f=f.parentNode}}n=n.return}Lu(function(){var M=i,G=ec(a),V=[];e:{var k=xo.get(e);if(k!==void 0){var B=Ns,se=e;switch(e){case"keypress":if(js(a)===0)break e;case"keydown":case"keyup":B=Ih;break;case"focusin":se="focus",B=ic;break;case"focusout":se="blur",B=ic;break;case"beforeblur":case"afterblur":B=ic;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":B=Yu;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":B=Lh;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":B=tx;break;case oo:case fo:case mo:B=Yh;break;case ho:B=lx;break;case"scroll":case"scrollend":B=qh;break;case"wheel":B=sx;break;case"copy":case"cut":case"paste":B=Xh;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":B=Xu;break;case"toggle":case"beforetoggle":B=cx}var ue=(t&4)!==0,Te=!ue&&(e==="scroll"||e==="scrollend"),N=ue?k!==null?k+"Capture":null:k;ue=[];for(var b=M,D;b!==null;){var Y=b;if(D=Y.stateNode,Y=Y.tag,Y!==5&&Y!==26&&Y!==27||D===null||N===null||(Y=bn(b,N),Y!=null&&ue.push(Pn(b,Y,D))),Te)break;b=b.return}0<ue.length&&(k=new B(k,se,null,a,G),V.push({event:k,listeners:ue}))}}if((t&7)===0){e:{if(k=e==="mouseover"||e==="pointerover",B=e==="mouseout"||e==="pointerout",k&&a!==Pi&&(se=a.relatedTarget||a.fromElement)&&(Nl(se)||se[Sl]))break e;if((B||k)&&(k=G.window===G?G:(k=G.ownerDocument)?k.defaultView||k.parentWindow:window,B?(se=a.relatedTarget||a.toElement,B=M,se=se?Nl(se):null,se!==null&&(Te=p(se),ue=se.tag,se!==Te||ue!==5&&ue!==27&&ue!==6)&&(se=null)):(B=null,se=M),B!==se)){if(ue=Yu,Y="onMouseLeave",N="onMouseEnter",b="mouse",(e==="pointerout"||e==="pointerover")&&(ue=Xu,Y="onPointerLeave",N="onPointerEnter",b="pointer"),Te=B==null?k:vn(B),D=se==null?k:vn(se),k=new ue(Y,b+"leave",B,a,G),k.target=Te,k.relatedTarget=D,Y=null,Nl(G)===M&&(ue=new ue(N,b+"enter",se,a,G),ue.target=D,ue.relatedTarget=Te,Y=ue),Te=Y,B&&se)t:{for(ue=ig,N=B,b=se,D=0,Y=N;Y;Y=ue(Y))D++;Y=0;for(var re=b;re;re=ue(re))Y++;for(;0<D-Y;)N=ue(N),D--;for(;0<Y-D;)b=ue(b),Y--;for(;D--;){if(N===b||b!==null&&N===b.alternate){ue=N;break t}N=ue(N),b=ue(b)}ue=null}else ue=null;B!==null&&qf(V,k,B,ue,!1),se!==null&&Te!==null&&qf(V,Te,se,ue,!0)}}e:{if(k=M?vn(M):window,B=k.nodeName&&k.nodeName.toLowerCase(),B==="select"||B==="input"&&k.type==="file")var Se=Pu;else if(Wu(k))if(eo)Se=px;else{Se=xx;var ce=hx}else B=k.nodeName,!B||B.toLowerCase()!=="input"||k.type!=="checkbox"&&k.type!=="radio"?M&&Ii(M.elementType)&&(Se=Pu):Se=gx;if(Se&&(Se=Se(e,M))){Iu(V,Se,a,G);break e}ce&&ce(e,k,M),e==="focusout"&&M&&k.type==="number"&&M.memoizedProps.value!=null&&Wi(k,"number",k.value)}switch(ce=M?vn(M):window,e){case"focusin":(Wu(ce)||ce.contentEditable==="true")&&(_l=ce,fc=M,En=null);break;case"focusout":En=fc=_l=null;break;case"mousedown":mc=!0;break;case"contextmenu":case"mouseup":case"dragend":mc=!1,ro(V,a,G);break;case"selectionchange":if(vx)break;case"keydown":case"keyup":ro(V,a,G)}var he;if(rc)e:{switch(e){case"compositionstart":var ve="onCompositionStart";break e;case"compositionend":ve="onCompositionEnd";break e;case"compositionupdate":ve="onCompositionUpdate";break e}ve=void 0}else Ml?Ju(e,a)&&(ve="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(ve="onCompositionStart");ve&&(Ku&&a.locale!=="ko"&&(Ml||ve!=="onCompositionStart"?ve==="onCompositionEnd"&&Ml&&(he=Gu()):(Da=G,lc="value"in Da?Da.value:Da.textContent,Ml=!0)),ce=mi(M,ve),0<ce.length&&(ve=new Vu(ve,e,null,a,G),V.push({event:ve,listeners:ce}),he?ve.data=he:(he=$u(a),he!==null&&(ve.data=he)))),(he=ux?ox(e,a):dx(e,a))&&(ve=mi(M,"onBeforeInput"),0<ve.length&&(ce=new Vu("onBeforeInput","beforeinput",null,a,G),V.push({event:ce,listeners:ve}),ce.data=he)),ag(V,e,M,a,G)}Uf(V,t)})}function Pn(e,t,a){return{instance:e,listener:t,currentTarget:a}}function mi(e,t){for(var a=t+"Capture",n=[];e!==null;){var s=e,i=s.stateNode;if(s=s.tag,s!==5&&s!==26&&s!==27||i===null||(s=bn(e,a),s!=null&&n.unshift(Pn(e,s,i)),s=bn(e,t),s!=null&&n.push(Pn(e,s,i))),e.tag===3)return n;e=e.return}return[]}function ig(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function qf(e,t,a,n,s){for(var i=t._reactName,u=[];a!==null&&a!==n;){var f=a,x=f.alternate,M=f.stateNode;if(f=f.tag,x!==null&&x===n)break;f!==5&&f!==26&&f!==27||M===null||(x=M,s?(M=bn(a,i),M!=null&&u.unshift(Pn(a,M,x))):s||(M=bn(a,i),M!=null&&u.push(Pn(a,M,x)))),a=a.return}u.length!==0&&e.push({event:t,listeners:u})}var cg=/\r\n?/g,rg=/\u0000|\uFFFD/g;function Hf(e){return(typeof e=="string"?e:""+e).replace(cg,`
9
- `).replace(rg,"")}function Lf(e,t){return t=Hf(t),Hf(e)===t}function Ee(e,t,a,n,s,i){switch(a){case"children":typeof n=="string"?t==="body"||t==="textarea"&&n===""||El(e,n):(typeof n=="number"||typeof n=="bigint")&&t!=="body"&&El(e,""+n);break;case"className":ps(e,"class",n);break;case"tabIndex":ps(e,"tabindex",n);break;case"dir":case"role":case"viewBox":case"width":case"height":ps(e,a,n);break;case"style":qu(e,n,i);break;case"data":if(t!=="object"){ps(e,"data",n);break}case"src":case"href":if(n===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(n==null||typeof n=="function"||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=vs(""+n),e.setAttribute(a,n);break;case"action":case"formAction":if(typeof n=="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 i=="function"&&(a==="formAction"?(t!=="input"&&Ee(e,t,"name",s.name,s,null),Ee(e,t,"formEncType",s.formEncType,s,null),Ee(e,t,"formMethod",s.formMethod,s,null),Ee(e,t,"formTarget",s.formTarget,s,null)):(Ee(e,t,"encType",s.encType,s,null),Ee(e,t,"method",s.method,s,null),Ee(e,t,"target",s.target,s,null)));if(n==null||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=vs(""+n),e.setAttribute(a,n);break;case"onClick":n!=null&&(e.onclick=ua);break;case"onScroll":n!=null&&ge("scroll",e);break;case"onScrollEnd":n!=null&&ge("scrollend",e);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(o(61));if(a=n.__html,a!=null){if(s.children!=null)throw Error(o(60));e.innerHTML=a}}break;case"multiple":e.multiple=n&&typeof n!="function"&&typeof n!="symbol";break;case"muted":e.muted=n&&typeof n!="function"&&typeof n!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(n==null||typeof n=="function"||typeof n=="boolean"||typeof n=="symbol"){e.removeAttribute("xlink:href");break}a=vs(""+n),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":n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,""+n):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":n&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":n===!0?e.setAttribute(a,""):n!==!1&&n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,n):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":n!=null&&typeof n!="function"&&typeof n!="symbol"&&!isNaN(n)&&1<=n?e.setAttribute(a,n):e.removeAttribute(a);break;case"rowSpan":case"start":n==null||typeof n=="function"||typeof n=="symbol"||isNaN(n)?e.removeAttribute(a):e.setAttribute(a,n);break;case"popover":ge("beforetoggle",e),ge("toggle",e),gs(e,"popover",n);break;case"xlinkActuate":ra(e,"http://www.w3.org/1999/xlink","xlink:actuate",n);break;case"xlinkArcrole":ra(e,"http://www.w3.org/1999/xlink","xlink:arcrole",n);break;case"xlinkRole":ra(e,"http://www.w3.org/1999/xlink","xlink:role",n);break;case"xlinkShow":ra(e,"http://www.w3.org/1999/xlink","xlink:show",n);break;case"xlinkTitle":ra(e,"http://www.w3.org/1999/xlink","xlink:title",n);break;case"xlinkType":ra(e,"http://www.w3.org/1999/xlink","xlink:type",n);break;case"xmlBase":ra(e,"http://www.w3.org/XML/1998/namespace","xml:base",n);break;case"xmlLang":ra(e,"http://www.w3.org/XML/1998/namespace","xml:lang",n);break;case"xmlSpace":ra(e,"http://www.w3.org/XML/1998/namespace","xml:space",n);break;case"is":gs(e,"is",n);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=Uh.get(a)||a,gs(e,a,n))}}function qr(e,t,a,n,s,i){switch(a){case"style":qu(e,n,i);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(o(61));if(a=n.__html,a!=null){if(s.children!=null)throw Error(o(60));e.innerHTML=a}}break;case"children":typeof n=="string"?El(e,n):(typeof n=="number"||typeof n=="bigint")&&El(e,""+n);break;case"onScroll":n!=null&&ge("scroll",e);break;case"onScrollEnd":n!=null&&ge("scrollend",e);break;case"onClick":n!=null&&(e.onclick=ua);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Tu.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(s=a.endsWith("Capture"),t=a.slice(2,s?a.length-7:void 0),i=e[ht]||null,i=i!=null?i[a]:null,typeof i=="function"&&e.removeEventListener(t,i,s),typeof n=="function")){typeof i!="function"&&i!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,n,s);break e}a in e?e[a]=n:n===!0?e.setAttribute(a,""):gs(e,a,n)}}}function ct(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ge("error",e),ge("load",e);var n=!1,s=!1,i;for(i in a)if(a.hasOwnProperty(i)){var u=a[i];if(u!=null)switch(i){case"src":n=!0;break;case"srcSet":s=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:Ee(e,t,i,u,a,null)}}s&&Ee(e,t,"srcSet",a.srcSet,a,null),n&&Ee(e,t,"src",a.src,a,null);return;case"input":ge("invalid",e);var f=i=u=s=null,x=null,M=null;for(n in a)if(a.hasOwnProperty(n)){var G=a[n];if(G!=null)switch(n){case"name":s=G;break;case"type":u=G;break;case"checked":x=G;break;case"defaultChecked":M=G;break;case"value":i=G;break;case"defaultValue":f=G;break;case"children":case"dangerouslySetInnerHTML":if(G!=null)throw Error(o(137,t));break;default:Ee(e,t,n,G,a,null)}}Ou(e,i,f,x,M,u,s,!1);return;case"select":ge("invalid",e),n=u=i=null;for(s in a)if(a.hasOwnProperty(s)&&(f=a[s],f!=null))switch(s){case"value":i=f;break;case"defaultValue":u=f;break;case"multiple":n=f;default:Ee(e,t,s,f,a,null)}t=i,a=u,e.multiple=!!n,t!=null?Al(e,!!n,t,!1):a!=null&&Al(e,!!n,a,!0);return;case"textarea":ge("invalid",e),i=s=n=null;for(u in a)if(a.hasOwnProperty(u)&&(f=a[u],f!=null))switch(u){case"value":n=f;break;case"defaultValue":s=f;break;case"children":i=f;break;case"dangerouslySetInnerHTML":if(f!=null)throw Error(o(91));break;default:Ee(e,t,u,f,a,null)}Uu(e,n,s,i);return;case"option":for(x in a)a.hasOwnProperty(x)&&(n=a[x],n!=null)&&(x==="selected"?e.selected=n&&typeof n!="function"&&typeof n!="symbol":Ee(e,t,x,n,a,null));return;case"dialog":ge("beforetoggle",e),ge("toggle",e),ge("cancel",e),ge("close",e);break;case"iframe":case"object":ge("load",e);break;case"video":case"audio":for(n=0;n<In.length;n++)ge(In[n],e);break;case"image":ge("error",e),ge("load",e);break;case"details":ge("toggle",e);break;case"embed":case"source":case"link":ge("error",e),ge("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(M in a)if(a.hasOwnProperty(M)&&(n=a[M],n!=null))switch(M){case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:Ee(e,t,M,n,a,null)}return;default:if(Ii(t)){for(G in a)a.hasOwnProperty(G)&&(n=a[G],n!==void 0&&qr(e,t,G,n,a,void 0));return}}for(f in a)a.hasOwnProperty(f)&&(n=a[f],n!=null&&Ee(e,t,f,n,a,null))}function ug(e,t,a,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var s=null,i=null,u=null,f=null,x=null,M=null,G=null;for(B in a){var V=a[B];if(a.hasOwnProperty(B)&&V!=null)switch(B){case"checked":break;case"value":break;case"defaultValue":x=V;default:n.hasOwnProperty(B)||Ee(e,t,B,null,n,V)}}for(var k in n){var B=n[k];if(V=a[k],n.hasOwnProperty(k)&&(B!=null||V!=null))switch(k){case"type":i=B;break;case"name":s=B;break;case"checked":M=B;break;case"defaultChecked":G=B;break;case"value":u=B;break;case"defaultValue":f=B;break;case"children":case"dangerouslySetInnerHTML":if(B!=null)throw Error(o(137,t));break;default:B!==V&&Ee(e,t,k,B,n,V)}}$i(e,u,f,x,M,G,i,s);return;case"select":B=u=f=k=null;for(i in a)if(x=a[i],a.hasOwnProperty(i)&&x!=null)switch(i){case"value":break;case"multiple":B=x;default:n.hasOwnProperty(i)||Ee(e,t,i,null,n,x)}for(s in n)if(i=n[s],x=a[s],n.hasOwnProperty(s)&&(i!=null||x!=null))switch(s){case"value":k=i;break;case"defaultValue":f=i;break;case"multiple":u=i;default:i!==x&&Ee(e,t,s,i,n,x)}t=f,a=u,n=B,k!=null?Al(e,!!a,k,!1):!!n!=!!a&&(t!=null?Al(e,!!a,t,!0):Al(e,!!a,a?[]:"",!1));return;case"textarea":B=k=null;for(f in a)if(s=a[f],a.hasOwnProperty(f)&&s!=null&&!n.hasOwnProperty(f))switch(f){case"value":break;case"children":break;default:Ee(e,t,f,null,n,s)}for(u in n)if(s=n[u],i=a[u],n.hasOwnProperty(u)&&(s!=null||i!=null))switch(u){case"value":k=s;break;case"defaultValue":B=s;break;case"children":break;case"dangerouslySetInnerHTML":if(s!=null)throw Error(o(91));break;default:s!==i&&Ee(e,t,u,s,n,i)}Ru(e,k,B);return;case"option":for(var se in a)k=a[se],a.hasOwnProperty(se)&&k!=null&&!n.hasOwnProperty(se)&&(se==="selected"?e.selected=!1:Ee(e,t,se,null,n,k));for(x in n)k=n[x],B=a[x],n.hasOwnProperty(x)&&k!==B&&(k!=null||B!=null)&&(x==="selected"?e.selected=k&&typeof k!="function"&&typeof k!="symbol":Ee(e,t,x,k,n,B));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 ue in a)k=a[ue],a.hasOwnProperty(ue)&&k!=null&&!n.hasOwnProperty(ue)&&Ee(e,t,ue,null,n,k);for(M in n)if(k=n[M],B=a[M],n.hasOwnProperty(M)&&k!==B&&(k!=null||B!=null))switch(M){case"children":case"dangerouslySetInnerHTML":if(k!=null)throw Error(o(137,t));break;default:Ee(e,t,M,k,n,B)}return;default:if(Ii(t)){for(var Te in a)k=a[Te],a.hasOwnProperty(Te)&&k!==void 0&&!n.hasOwnProperty(Te)&&qr(e,t,Te,void 0,n,k);for(G in n)k=n[G],B=a[G],!n.hasOwnProperty(G)||k===B||k===void 0&&B===void 0||qr(e,t,G,k,n,B);return}}for(var N in a)k=a[N],a.hasOwnProperty(N)&&k!=null&&!n.hasOwnProperty(N)&&Ee(e,t,N,null,n,k);for(V in n)k=n[V],B=a[V],!n.hasOwnProperty(V)||k===B||k==null&&B==null||Ee(e,t,V,k,n,B)}function Gf(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function og(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),n=0;n<a.length;n++){var s=a[n],i=s.transferSize,u=s.initiatorType,f=s.duration;if(i&&f&&Gf(u)){for(u=0,f=s.responseEnd,n+=1;n<a.length;n++){var x=a[n],M=x.startTime;if(M>f)break;var G=x.transferSize,V=x.initiatorType;G&&Gf(V)&&(x=x.responseEnd,u+=G*(x<f?1:(f-M)/(x-M)))}if(--n,t+=8*(i+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 Hr=null,Lr=null;function hi(e){return e.nodeType===9?e:e.ownerDocument}function Qf(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 Yf(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 Gr(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 Qr=null;function dg(){var e=window.event;return e&&e.type==="popstate"?e===Qr?!1:(Qr=e,!0):(Qr=null,!1)}var Vf=typeof setTimeout=="function"?setTimeout:void 0,fg=typeof clearTimeout=="function"?clearTimeout:void 0,Xf=typeof Promise=="function"?Promise:void 0,mg=typeof queueMicrotask=="function"?queueMicrotask:typeof Xf<"u"?function(e){return Xf.resolve(null).then(e).catch(hg)}:Vf;function hg(e){setTimeout(function(){throw e})}function Za(e){return e==="head"}function Kf(e,t){var a=t,n=0;do{var s=a.nextSibling;if(e.removeChild(a),s&&s.nodeType===8)if(a=s.data,a==="/$"||a==="/&"){if(n===0){e.removeChild(s),sn(t);return}n--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")n++;else if(a==="html")es(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,es(a);for(var i=a.firstChild;i;){var u=i.nextSibling,f=i.nodeName;i[yn]||f==="SCRIPT"||f==="STYLE"||f==="LINK"&&i.rel.toLowerCase()==="stylesheet"||a.removeChild(i),i=u}}else a==="body"&&es(e.ownerDocument.body);a=s}while(a);sn(t)}function Zf(e,t){var a=e;e=0;do{var n=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||""),n&&n.nodeType===8)if(a=n.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=n}while(a)}function Yr(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":Yr(a),Fi(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function xg(e,t,a,n){for(;e.nodeType===1;){var s=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!n&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(n){if(!e[yn])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==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(i=e.getAttribute("src"),(i!==(s.src==null?null:s.src)||e.getAttribute("type")!==(s.type==null?null:s.type)||e.getAttribute("crossorigin")!==(s.crossOrigin==null?null:s.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=s.name==null?null:""+s.name;if(s.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Vt(e.nextSibling),e===null)break}return null}function gg(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=Vt(e.nextSibling),e===null))return null;return e}function Ff(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Vt(e.nextSibling),e===null))return null;return e}function Vr(e){return e.data==="$?"||e.data==="$~"}function Xr(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function pg(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var n=function(){t(),a.removeEventListener("DOMContentLoaded",n)};a.addEventListener("DOMContentLoaded",n),e._reactRetry=n}}function Vt(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 Kr=null;function Jf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return Vt(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function $f(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 Wf(e,t,a){switch(t=hi(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 es(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Fi(e)}var Xt=new Map,If=new Set;function xi(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var za=T.d;T.d={f:yg,r:vg,D:bg,C:jg,L:Sg,m:Ng,X:zg,S:Cg,M:wg};function yg(){var e=za.f(),t=ii();return e||t}function vg(e){var t=Cl(e);t!==null&&t.tag===5&&t.type==="form"?hd(t):za.r(e)}var an=typeof document>"u"?null:document;function Pf(e,t,a){var n=an;if(n&&typeof t=="string"&&t){var s=Bt(t);s='link[rel="'+e+'"][href="'+s+'"]',typeof a=="string"&&(s+='[crossorigin="'+a+'"]'),If.has(s)||(If.add(s),e={rel:e,crossOrigin:a,href:t},n.querySelector(s)===null&&(t=n.createElement("link"),ct(t,"link",e),Pe(t),n.head.appendChild(t)))}}function bg(e){za.D(e),Pf("dns-prefetch",e,null)}function jg(e,t){za.C(e,t),Pf("preconnect",e,t)}function Sg(e,t,a){za.L(e,t,a);var n=an;if(n&&e&&t){var s='link[rel="preload"][as="'+Bt(t)+'"]';t==="image"&&a&&a.imageSrcSet?(s+='[imagesrcset="'+Bt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(s+='[imagesizes="'+Bt(a.imageSizes)+'"]')):s+='[href="'+Bt(e)+'"]';var i=s;switch(t){case"style":i=ln(e);break;case"script":i=nn(e)}Xt.has(i)||(e=_({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Xt.set(i,e),n.querySelector(s)!==null||t==="style"&&n.querySelector(ts(i))||t==="script"&&n.querySelector(as(i))||(t=n.createElement("link"),ct(t,"link",e),Pe(t),n.head.appendChild(t)))}}function Ng(e,t){za.m(e,t);var a=an;if(a&&e){var n=t&&typeof t.as=="string"?t.as:"script",s='link[rel="modulepreload"][as="'+Bt(n)+'"][href="'+Bt(e)+'"]',i=s;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=nn(e)}if(!Xt.has(i)&&(e=_({rel:"modulepreload",href:e},t),Xt.set(i,e),a.querySelector(s)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(as(i)))return}n=a.createElement("link"),ct(n,"link",e),Pe(n),a.head.appendChild(n)}}}function Cg(e,t,a){za.S(e,t,a);var n=an;if(n&&e){var s=zl(n).hoistableStyles,i=ln(e);t=t||"default";var u=s.get(i);if(!u){var f={loading:0,preload:null};if(u=n.querySelector(ts(i)))f.loading=5;else{e=_({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Xt.get(i))&&Zr(e,a);var x=u=n.createElement("link");Pe(x),ct(x,"link",e),x._p=new Promise(function(M,G){x.onload=M,x.onerror=G}),x.addEventListener("load",function(){f.loading|=1}),x.addEventListener("error",function(){f.loading|=2}),f.loading|=4,gi(u,t,n)}u={type:"stylesheet",instance:u,count:1,state:f},s.set(i,u)}}}function zg(e,t){za.X(e,t);var a=an;if(a&&e){var n=zl(a).hoistableScripts,s=nn(e),i=n.get(s);i||(i=a.querySelector(as(s)),i||(e=_({src:e,async:!0},t),(t=Xt.get(s))&&Fr(e,t),i=a.createElement("script"),Pe(i),ct(i,"link",e),a.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},n.set(s,i))}}function wg(e,t){za.M(e,t);var a=an;if(a&&e){var n=zl(a).hoistableScripts,s=nn(e),i=n.get(s);i||(i=a.querySelector(as(s)),i||(e=_({src:e,async:!0,type:"module"},t),(t=Xt.get(s))&&Fr(e,t),i=a.createElement("script"),Pe(i),ct(i,"link",e),a.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},n.set(s,i))}}function em(e,t,a,n){var s=(s=ft.current)?xi(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=ln(a.href),a=zl(s).hoistableStyles,n=a.get(t),n||(n={type:"style",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=ln(a.href);var i=zl(s).hoistableStyles,u=i.get(e);if(u||(s=s.ownerDocument||s,u={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,u),(i=s.querySelector(ts(e)))&&!i._p&&(u.instance=i,u.state.loading=5),Xt.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},Xt.set(e,a),i||Ag(s,e,a,u.state))),t&&n===null)throw Error(o(528,""));return u}if(t&&n!==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=nn(a),a=zl(s).hoistableScripts,n=a.get(t),n||(n={type:"script",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function ln(e){return'href="'+Bt(e)+'"'}function ts(e){return'link[rel="stylesheet"]['+e+"]"}function tm(e){return _({},e,{"data-precedence":e.precedence,precedence:null})}function Ag(e,t,a,n){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?n.loading=1:(t=e.createElement("link"),n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2}),ct(t,"link",a),Pe(t),e.head.appendChild(t))}function nn(e){return'[src="'+Bt(e)+'"]'}function as(e){return"script[async]"+e}function am(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+Bt(a.href)+'"]');if(n)return t.instance=n,Pe(n),n;var s=_({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),Pe(n),ct(n,"style",s),gi(n,a.precedence,e),t.instance=n;case"stylesheet":s=ln(a.href);var i=e.querySelector(ts(s));if(i)return t.state.loading|=4,t.instance=i,Pe(i),i;n=tm(a),(s=Xt.get(s))&&Zr(n,s),i=(e.ownerDocument||e).createElement("link"),Pe(i);var u=i;return u._p=new Promise(function(f,x){u.onload=f,u.onerror=x}),ct(i,"link",n),t.state.loading|=4,gi(i,a.precedence,e),t.instance=i;case"script":return i=nn(a.src),(s=e.querySelector(as(i)))?(t.instance=s,Pe(s),s):(n=a,(s=Xt.get(i))&&(n=_({},a),Fr(n,s)),e=e.ownerDocument||e,s=e.createElement("script"),Pe(s),ct(s,"link",n),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&&(n=t.instance,t.state.loading|=4,gi(n,a.precedence,e));return t.instance}function gi(e,t,a){for(var n=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),s=n.length?n[n.length-1]:null,i=s,u=0;u<n.length;u++){var f=n[u];if(f.dataset.precedence===t)i=f;else if(i!==s)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function Zr(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Fr(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var pi=null;function lm(e,t,a){if(pi===null){var n=new Map,s=pi=new Map;s.set(a,n)}else s=pi,n=s.get(a),n||(n=new Map,s.set(a,n));if(n.has(e))return n;for(n.set(e,null),a=a.getElementsByTagName(e),s=0;s<a.length;s++){var i=a[s];if(!(i[yn]||i[lt]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var u=i.getAttribute(t)||"";u=e+u;var f=n.get(u);f?f.push(i):n.set(u,[i])}}return n}function nm(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function Eg(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 sm(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Tg(e,t,a,n){if(a.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var s=ln(n.href),i=t.querySelector(ts(s));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=yi.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=i,Pe(i);return}i=t.ownerDocument||t,n=tm(n),(s=Xt.get(s))&&Zr(n,s),i=i.createElement("link"),Pe(i);var u=i;u._p=new Promise(function(f,x){u.onload=f,u.onerror=x}),ct(i,"link",n),a.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=yi.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Jr=0;function Dg(e,t){return e.stylesheets&&e.count===0&&bi(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var n=setTimeout(function(){if(e.stylesheets&&bi(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&Jr===0&&(Jr=62500*og());var s=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&bi(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>Jr?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(s)}}:null}function yi(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)bi(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var vi=null;function bi(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,vi=new Map,t.forEach(Mg,e),vi=null,yi.call(e))}function Mg(e,t){if(!(t.state.loading&4)){var a=vi.get(e);if(a)var n=a.get(null);else{a=new Map,vi.set(e,a);for(var s=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<s.length;i++){var u=s[i];(u.nodeName==="LINK"||u.getAttribute("media")!=="not all")&&(a.set(u.dataset.precedence,u),n=u)}n&&a.set(null,n)}s=t.instance,u=s.getAttribute("data-precedence"),i=a.get(u)||n,i===n&&a.set(null,s),a.set(u,s),this.count++,n=yi.bind(this),s.addEventListener("load",n),s.addEventListener("error",n),i?i.parentNode.insertBefore(s,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(s,e.firstChild)),t.state.loading|=4}}var ls={$$typeof:j,Provider:null,Consumer:null,_currentValue:I,_currentValue2:I,_threadCount:0};function _g(e,t,a,n,s,i,u,f,x){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=Vi(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Vi(0),this.hiddenUpdates=Vi(null),this.identifierPrefix=n,this.onUncaughtError=s,this.onCaughtError=i,this.onRecoverableError=u,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=x,this.incompleteTransitions=new Map}function im(e,t,a,n,s,i,u,f,x,M,G,V){return e=new _g(e,t,a,u,x,M,G,V,f),t=1,i===!0&&(t|=24),i=Dt(3,null,null,t),e.current=i,i.stateNode=e,t=Ec(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:n,isDehydrated:a,cache:t},_c(i),e}function cm(e){return e?(e=Rl,e):Rl}function rm(e,t,a,n,s,i){s=cm(s),n.context===null?n.context=s:n.pendingContext=s,n=Ua(t),n.payload={element:a},i=i===void 0?null:i,i!==null&&(n.callback=i),a=Ba(e,n,t),a!==null&&(bt(a,e,t),Rn(a,e,t))}function um(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function $r(e,t){um(e,t),(e=e.alternate)&&um(e,t)}function om(e){if(e.tag===13||e.tag===31){var t=cl(e,67108864);t!==null&&bt(t,e,67108864),$r(e,67108864)}}function dm(e){if(e.tag===13||e.tag===31){var t=Rt();t=Xi(t);var a=cl(e,t);a!==null&&bt(a,e,t),$r(e,t)}}var ji=!0;function kg(e,t,a,n){var s=g.T;g.T=null;var i=T.p;try{T.p=2,Wr(e,t,a,n)}finally{T.p=i,g.T=s}}function Og(e,t,a,n){var s=g.T;g.T=null;var i=T.p;try{T.p=8,Wr(e,t,a,n)}finally{T.p=i,g.T=s}}function Wr(e,t,a,n){if(ji){var s=Ir(n);if(s===null)Br(e,t,n,Si,a),mm(e,n);else if(Ug(s,e,t,a,n))n.stopPropagation();else if(mm(e,n),t&4&&-1<Rg.indexOf(e)){for(;s!==null;){var i=Cl(s);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var u=al(i.pendingLanes);if(u!==0){var f=i;for(f.pendingLanes|=2,f.entangledLanes|=2;u;){var x=1<<31-Et(u);f.entanglements[1]|=x,u&=~x}Pt(i),(Ce&6)===0&&(ni=wt()+500,Wn(0))}}break;case 31:case 13:f=cl(i,2),f!==null&&bt(f,i,2),ii(),$r(i,2)}if(i=Ir(n),i===null&&Br(e,t,n,Si,a),i===s)break;s=i}s!==null&&n.stopPropagation()}else Br(e,t,n,null,a)}}function Ir(e){return e=ec(e),Pr(e)}var Si=null;function Pr(e){if(Si=null,e=Nl(e),e!==null){var t=p(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=v(t),e!==null)return e;e=null}else if(a===31){if(e=y(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 Si=e,null}function fm(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(bh()){case yu:return 2;case vu:return 8;case ds:case jh:return 32;case bu:return 268435456;default:return 32}default:return 32}}var eu=!1,Fa=null,Ja=null,$a=null,ns=new Map,ss=new Map,Wa=[],Rg="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 mm(e,t){switch(e){case"focusin":case"focusout":Fa=null;break;case"dragenter":case"dragleave":Ja=null;break;case"mouseover":case"mouseout":$a=null;break;case"pointerover":case"pointerout":ns.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ss.delete(t.pointerId)}}function is(e,t,a,n,s,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:a,eventSystemFlags:n,nativeEvent:i,targetContainers:[s]},t!==null&&(t=Cl(t),t!==null&&om(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,s!==null&&t.indexOf(s)===-1&&t.push(s),e)}function Ug(e,t,a,n,s){switch(t){case"focusin":return Fa=is(Fa,e,t,a,n,s),!0;case"dragenter":return Ja=is(Ja,e,t,a,n,s),!0;case"mouseover":return $a=is($a,e,t,a,n,s),!0;case"pointerover":var i=s.pointerId;return ns.set(i,is(ns.get(i)||null,e,t,a,n,s)),!0;case"gotpointercapture":return i=s.pointerId,ss.set(i,is(ss.get(i)||null,e,t,a,n,s)),!0}return!1}function hm(e){var t=Nl(e.target);if(t!==null){var a=p(t);if(a!==null){if(t=a.tag,t===13){if(t=v(a),t!==null){e.blockedOn=t,wu(e.priority,function(){dm(a)});return}}else if(t===31){if(t=y(a),t!==null){e.blockedOn=t,wu(e.priority,function(){dm(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 Ni(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=Ir(e.nativeEvent);if(a===null){a=e.nativeEvent;var n=new a.constructor(a.type,a);Pi=n,a.target.dispatchEvent(n),Pi=null}else return t=Cl(a),t!==null&&om(t),e.blockedOn=a,!1;t.shift()}return!0}function xm(e,t,a){Ni(e)&&a.delete(t)}function Bg(){eu=!1,Fa!==null&&Ni(Fa)&&(Fa=null),Ja!==null&&Ni(Ja)&&(Ja=null),$a!==null&&Ni($a)&&($a=null),ns.forEach(xm),ss.forEach(xm)}function Ci(e,t){e.blockedOn===t&&(e.blockedOn=null,eu||(eu=!0,c.unstable_scheduleCallback(c.unstable_NormalPriority,Bg)))}var zi=null;function gm(e){zi!==e&&(zi=e,c.unstable_scheduleCallback(c.unstable_NormalPriority,function(){zi===e&&(zi=null);for(var t=0;t<e.length;t+=3){var a=e[t],n=e[t+1],s=e[t+2];if(typeof n!="function"){if(Pr(n||a)===null)continue;break}var i=Cl(a);i!==null&&(e.splice(t,3),t-=3,Ic(i,{pending:!0,data:s,method:a.method,action:n},n,s))}}))}function sn(e){function t(x){return Ci(x,e)}Fa!==null&&Ci(Fa,e),Ja!==null&&Ci(Ja,e),$a!==null&&Ci($a,e),ns.forEach(t),ss.forEach(t);for(var a=0;a<Wa.length;a++){var n=Wa[a];n.blockedOn===e&&(n.blockedOn=null)}for(;0<Wa.length&&(a=Wa[0],a.blockedOn===null);)hm(a),a.blockedOn===null&&Wa.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(n=0;n<a.length;n+=3){var s=a[n],i=a[n+1],u=s[ht]||null;if(typeof i=="function")u||gm(a);else if(u){var f=null;if(i&&i.hasAttribute("formAction")){if(s=i,u=i[ht]||null)f=u.formAction;else if(Pr(s)!==null)continue}else f=u.action;typeof f=="function"?a[n+1]=f:(a.splice(n,3),n-=3),gm(a)}}}function pm(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(u){return s=u})},focusReset:"manual",scroll:"manual"})}function t(){s!==null&&(s(),s=null),n||setTimeout(a,20)}function a(){if(!n&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var n=!1,s=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){n=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),s!==null&&(s(),s=null)}}}function tu(e){this._internalRoot=e}wi.prototype.render=tu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(o(409));var a=t.current,n=Rt();rm(a,n,e,t,null,null)},wi.prototype.unmount=tu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;rm(e.current,2,null,e,null,null),ii(),t[Sl]=null}};function wi(e){this._internalRoot=e}wi.prototype.unstable_scheduleHydration=function(e){if(e){var t=zu();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Wa.length&&t!==0&&t<Wa[a].priority;a++);Wa.splice(a,0,e),a===0&&hm(e)}};var ym=r.version;if(ym!=="19.2.3")throw Error(o(527,ym,"19.2.3"));T.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=w(t),e=e!==null?E(e):null,e=e===null?null:e.stateNode,e};var qg={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:g,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Ai=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Ai.isDisabled&&Ai.supportsFiber)try{xn=Ai.inject(qg),At=Ai}catch{}}return cs.createRoot=function(e,t){if(!h(e))throw Error(o(299));var a=!1,n="",s=Cd,i=zd,u=wd;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(n=t.identifierPrefix),t.onUncaughtError!==void 0&&(s=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(u=t.onRecoverableError)),t=im(e,1,!1,null,null,a,n,null,s,i,u,pm),e[Sl]=t.current,Ur(e),new tu(t)},cs.hydrateRoot=function(e,t,a){if(!h(e))throw Error(o(299));var n=!1,s="",i=Cd,u=zd,f=wd,x=null;return a!=null&&(a.unstable_strictMode===!0&&(n=!0),a.identifierPrefix!==void 0&&(s=a.identifierPrefix),a.onUncaughtError!==void 0&&(i=a.onUncaughtError),a.onCaughtError!==void 0&&(u=a.onCaughtError),a.onRecoverableError!==void 0&&(f=a.onRecoverableError),a.formState!==void 0&&(x=a.formState)),t=im(e,1,!0,t,a??null,n,s,x,i,u,f,pm),t.context=cm(null),a=t.current,n=Rt(),n=Xi(n),s=Ua(n),s.callback=null,Ba(a,s,n),a=n,t.current.lanes=a,pn(t,a),Pt(t),e[Sl]=t.current,Ur(e),new wi(t)},cs.version="19.2.3",cs}var Am;function ly(){if(Am)return au.exports;Am=1;function c(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(c)}catch(r){console.error(r)}}return c(),au.exports=ay(),au.exports}var ny=ly();const sy="/api";async function pe(c,r){const d=await fetch(`${sy}${c}`,{...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 iy(){return pe("/projects")}async function cy(c,r,d="manual"){return pe("/projects",{method:"POST",body:JSON.stringify({name:c,path:r,spec_method:d})})}async function ry(c){await pe(`/projects/${encodeURIComponent(c)}`,{method:"DELETE"})}async function uy(c,r){return pe(`/projects/${encodeURIComponent(c)}/settings`,{method:"PATCH",body:JSON.stringify(r)})}async function oy(c,r=!1){const d=r?"?full_reset=true":"";return pe(`/projects/${encodeURIComponent(c)}/reset${d}`,{method:"POST"})}async function dy(c){return pe(`/projects/${encodeURIComponent(c)}/features`)}async function fy(c,r){return pe(`/projects/${encodeURIComponent(c)}/features`,{method:"POST",body:JSON.stringify(r)})}async function my(c,r){await pe(`/projects/${encodeURIComponent(c)}/features/${r}`,{method:"DELETE"})}async function hy(c,r){await pe(`/projects/${encodeURIComponent(c)}/features/${r}/skip`,{method:"PATCH"})}async function xy(c,r,d){return pe(`/projects/${encodeURIComponent(c)}/features/${r}`,{method:"PATCH",body:JSON.stringify(d)})}async function gy(c){return pe(`/projects/${encodeURIComponent(c)}/features/graph`)}async function py(c){return pe(`/projects/${encodeURIComponent(c)}/agent/status`)}async function hu(c,r={}){return pe(`/projects/${encodeURIComponent(c)}/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 yy(c){return pe(`/projects/${encodeURIComponent(c)}/agent/stop`,{method:"POST"})}async function vy(c){return pe(`/spec/status/${encodeURIComponent(c)}`)}async function by(){return pe("/setup/status")}async function jy(){return pe("/health")}async function Sy(c){const r=c?`?path=${encodeURIComponent(c)}`:"";return pe(`/filesystem/list${r}`)}async function Ny(c){const r=c.endsWith("/")?c.slice(0,-1):c,d=r.lastIndexOf("/");let o,h;if(d===2&&/^[A-Za-z]:/.test(r))o=r.substring(0,3),h=r.substring(3);else if(d>0)o=r.substring(0,d),h=r.substring(d+1);else if(d===0)o="/",h=r.substring(1);else throw new Error("Invalid path: must be an absolute path");if(!h)throw new Error("Invalid path: directory name is empty");return pe("/filesystem/create-directory",{method:"POST",body:JSON.stringify({parent_path:o,name:h})})}async function Cy(c){return pe(`/assistant/conversations/${encodeURIComponent(c)}`)}async function zy(c,r){return pe(`/assistant/conversations/${encodeURIComponent(c)}/${r}`)}async function wy(c,r){await pe(`/assistant/conversations/${encodeURIComponent(c)}/${r}`,{method:"DELETE"})}async function Ay(){return pe("/settings/models")}async function Ey(){return pe("/settings/providers")}async function Ty(){return pe("/settings")}async function Dy(c){return pe("/settings",{method:"PATCH",body:JSON.stringify(c)})}async function My(c,r){return pe(`/projects/${encodeURIComponent(c)}/devserver/start`,{method:"POST",body:JSON.stringify({command:r})})}async function _y(c){return pe(`/projects/${encodeURIComponent(c)}/devserver/stop`,{method:"POST"})}async function ky(c){return pe(`/terminal/${encodeURIComponent(c)}`)}async function Oy(c,r){return pe(`/terminal/${encodeURIComponent(c)}`,{method:"POST",body:JSON.stringify({name:null})})}async function Ry(c,r,d){return pe(`/terminal/${encodeURIComponent(c)}/${r}`,{method:"PATCH",body:JSON.stringify({name:d})})}async function Uy(c,r){await pe(`/terminal/${encodeURIComponent(c)}/${r}`,{method:"DELETE"})}async function By(c){return pe(`/projects/${encodeURIComponent(c)}/schedules`)}async function qy(c,r){return pe(`/projects/${encodeURIComponent(c)}/schedules`,{method:"POST",body:JSON.stringify(r)})}async function Hy(c,r,d){return pe(`/projects/${encodeURIComponent(c)}/schedules/${r}`,{method:"PATCH",body:JSON.stringify(d)})}async function Ly(c,r){await pe(`/projects/${encodeURIComponent(c)}/schedules/${r}`,{method:"DELETE"})}async function Gy(c){return pe(`/projects/${encodeURIComponent(c)}/schedules/next`)}function Qy(){return Nt({queryKey:["projects"],queryFn:iy})}function Yy(){const c=at();return rt({mutationFn:({name:r,path:d,specMethod:o})=>cy(r,d,o),onSuccess:()=>{c.invalidateQueries({queryKey:["projects"]})}})}function Vy(){const c=at();return rt({mutationFn:r=>ry(r),onSuccess:()=>{c.invalidateQueries({queryKey:["projects"]})}})}function Xy(c){const r=at();return rt({mutationFn:d=>oy(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["projects"]}),r.invalidateQueries({queryKey:["project",c]}),r.invalidateQueries({queryKey:["features",c]}),r.invalidateQueries({queryKey:["agent-status",c]})}})}function Ky(c){const r=at();return rt({mutationFn:d=>uy(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["projects"]}),r.invalidateQueries({queryKey:["project",c]})}})}function uh(c){return Nt({queryKey:["features",c],queryFn:()=>dy(c),enabled:!!c,refetchInterval:5e3})}function Zy(c){const r=at();return rt({mutationFn:d=>fy(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",c]})}})}function Fy(c){const r=at();return rt({mutationFn:d=>my(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",c]})}})}function Jy(c){const r=at();return rt({mutationFn:d=>hy(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",c]})}})}function $y(c){const r=at();return rt({mutationFn:({featureId:d,update:o})=>xy(c,d,o),onSuccess:()=>{r.invalidateQueries({queryKey:["features",c]})}})}function Wy(c){return Nt({queryKey:["agent-status",c],queryFn:()=>py(c),enabled:!!c,refetchInterval:3e3})}function Iy(c){const r=at();return rt({mutationFn:(d={})=>hu(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",c]})}})}function Py(c){const r=at();return rt({mutationFn:()=>yy(c),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",c]}),r.invalidateQueries({queryKey:["nextRun",c]})}})}function e0(){return Nt({queryKey:["setup-status"],queryFn:by,staleTime:6e4})}function t0(){return Nt({queryKey:["health"],queryFn:jy,retry:!1})}const oh={models:[{id:"claude-opus-4-6",name:"Claude Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet"}],default:"claude-opus-4-6"},dh={yolo_mode:!1,model:"claude-opus-4-6",glm_mode:!1,ollama_mode:!1,testing_agent_ratio:1,playwright_headless:!0,batch_size:3,api_provider:"claude",api_base_url:null,api_has_auth_token:!1,api_model:null},a0={providers:[{id:"claude",name:"Claude (Anthropic)",base_url:null,models:oh.models,default_model:"claude-opus-4-6",requires_auth:!1}],current:"claude"};function l0(){return Nt({queryKey:["available-providers"],queryFn:Ey,staleTime:3e5,retry:1,placeholderData:a0})}function n0(){return Nt({queryKey:["available-models"],queryFn:Ay,staleTime:3e5,retry:1,placeholderData:oh})}function xu(){return Nt({queryKey:["settings"],queryFn:Ty,staleTime:6e4,retry:1,placeholderData:dh})}function s0(){const c=at();return rt({mutationFn:r=>Dy(r),onMutate:async r=>{await c.cancelQueries({queryKey:["settings"]});const d=c.getQueryData(["settings"]);return c.setQueryData(["settings"],o=>({...dh,...o,...r})),{previous:d}},onError:(r,d,o)=>{o?.previous&&c.setQueryData(["settings"],o.previous)},onSettled:()=>{c.invalidateQueries({queryKey:["settings"]}),c.invalidateQueries({queryKey:["available-models"]}),c.invalidateQueries({queryKey:["available-providers"]})}})}const Em=100,i0=20,Tm=500;function c0(c){const[r,d]=m.useState({progress:{passing:0,in_progress: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=m.useRef(null),h=m.useRef(null),p=m.useRef(0),v=m.useCallback(()=>{if(!c)return;const z=window.location.protocol==="https:"?"wss:":"ws:",q=window.location.host,U=`${z}//${q}/ws/projects/${encodeURIComponent(c)}`;try{const R=new WebSocket(U);o.current=R,R.onopen=()=>{d(A=>({...A,isConnected:!0})),p.current=0},R.onmessage=A=>{try{const S=JSON.parse(A.data);switch(S.type){case"progress":d(j=>({...j,progress:{passing:S.passing,in_progress:S.in_progress,total:S.total,percentage:S.percentage}}));break;case"agent_status":d(j=>({...j,agentStatus:S.status,...(S.status==="stopped"||S.status==="crashed")&&{activeAgents:[],recentActivity:[],orchestratorStatus:null}}));break;case"log":d(j=>{const K=[...j.logs.slice(-Em+1),{line:S.line,timestamp:S.timestamp,featureId:S.featureId,agentIndex:S.agentIndex}];let J=j.agentLogs;if(S.agentIndex!==void 0){J=new Map(j.agentLogs);const $=J.get(S.agentIndex)||[],X={line:S.line,timestamp:S.timestamp,type:"output"};J.set(S.agentIndex,[...$.slice(-Tm+1),X])}return{...j,logs:K,agentLogs:J}});break;case"feature_update":break;case"agent_update":d(j=>{const K=new Map(j.agentLogs),J=K.get(S.agentIndex)||[],$={line:`[STATE] ${S.state}${S.thought?`: ${S.thought}`:""}`,timestamp:S.timestamp,type:S.state==="error"?"error":"state_change"};K.set(S.agentIndex,[...J.slice(-Tm+1),$]);const X=K.get(S.agentIndex)||[],ee=j.activeAgents.findIndex(H=>H.agentIndex===S.agentIndex);let Q;S.state==="success"||S.state==="error"?S.agentIndex===-1?Q=j.activeAgents.filter(H=>H.featureId!==S.featureId):Q=j.activeAgents.filter(H=>H.agentIndex!==S.agentIndex):ee>=0?(Q=[...j.activeAgents],Q[ee]={agentIndex:S.agentIndex,agentName:S.agentName,agentType:S.agentType||"coding",featureId:S.featureId,featureIds:S.featureIds||[S.featureId],featureName:S.featureName,state:S.state,thought:S.thought,timestamp:S.timestamp,logs:X}):Q=[...j.activeAgents,{agentIndex:S.agentIndex,agentName:S.agentName,agentType:S.agentType||"coding",featureId:S.featureId,featureIds:S.featureIds||[S.featureId],featureName:S.featureName,state:S.state,thought:S.thought,timestamp:S.timestamp,logs:X}];let ne=j.recentActivity;S.thought&&(ne=[{agentName:S.agentName,thought:S.thought,timestamp:S.timestamp,featureId:S.featureId},...j.recentActivity.slice(0,i0-1)]);let Z=j.celebrationQueue,O=j.celebration;if(S.state==="success"){const H={agentName:S.agentName,featureName:S.featureName,featureId:S.featureId};j.celebration?Z=[...j.celebrationQueue,H]:O=H}return{...j,activeAgents:Q,agentLogs:K,recentActivity:ne,celebrationQueue:Z,celebration:O}});break;case"orchestrator_update":d(j=>{const K={eventType:S.eventType,message:S.message,timestamp:S.timestamp,featureId:S.featureId,featureName:S.featureName};return{...j,orchestratorStatus:{state:S.state,message:S.message,codingAgents:S.codingAgents??j.orchestratorStatus?.codingAgents??0,testingAgents:S.testingAgents??j.orchestratorStatus?.testingAgents??0,maxConcurrency:S.maxConcurrency??j.orchestratorStatus?.maxConcurrency??3,readyCount:S.readyCount??j.orchestratorStatus?.readyCount??0,blockedCount:S.blockedCount??j.orchestratorStatus?.blockedCount??0,timestamp:S.timestamp,recentEvents:[K,...(j.orchestratorStatus?.recentEvents??[]).slice(0,4)]}}});break;case"dev_log":d(j=>({...j,devLogs:[...j.devLogs.slice(-Em+1),{line:S.line,timestamp:S.timestamp}]}));break;case"dev_server_status":d(j=>({...j,devServerStatus:S.status,devServerUrl:S.url}));break;case"pong":break}}catch{console.error("Failed to parse WebSocket message")}},R.onclose=A=>{if(d(K=>({...K,isConnected:!1})),o.current=null,A.code>=4e3&&A.code<=4999)return;const j=Math.min(1e3*Math.pow(2,p.current),3e4);p.current++,h.current=window.setTimeout(()=>{v()},j)},R.onerror=()=>{R.close()}}catch{}},[c]),y=m.useCallback(()=>{o.current?.readyState===WebSocket.OPEN&&o.current.send(JSON.stringify({type:"ping"}))},[]),C=m.useCallback(()=>{d(z=>{const[q,...U]=z.celebrationQueue;return{...z,celebration:q||null,celebrationQueue:U}})},[]);m.useEffect(()=>{if(d({progress:{passing:0,in_progress: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}),!c){o.current&&(o.current.close(),o.current=null);return}v();const z=setInterval(y,3e4);return()=>{clearInterval(z),h.current&&clearTimeout(h.current),o.current&&(o.current.close(),o.current=null)}},[c,v,y]),m.useEffect(()=>{const q=setInterval(()=>{d(U=>{const R=Date.now(),A=U.activeAgents.filter(S=>R-new Date(S.timestamp).getTime()<18e5);return A.length!==U.activeAgents.length?{...U,activeAgents:A}:U})},6e4);return()=>clearInterval(q)},[]);const w=m.useCallback(()=>{d(z=>({...z,logs:[]}))},[]),E=m.useCallback(()=>{d(z=>({...z,devLogs:[]}))},[]),_=m.useCallback(z=>r.agentLogs.get(z)||[],[r.agentLogs]),L=m.useCallback(z=>{d(q=>{const U=new Map(q.agentLogs);return U.delete(z),{...q,agentLogs:U}})},[]);return{...r,clearLogs:w,clearDevLogs:E,clearCelebration:C,getAgentLogs:_,clearAgentLogs:L}}const r0={started:[523.25,659.25],completed:[523.25,659.25,783.99]};function Dm(c){try{const r=new(window.AudioContext||window.webkitAudioContext),d=r0[c],o=c==="completed"?.15:.12,h=d.length*o;d.forEach((p,v)=>{const y=r.createOscillator(),C=r.createGain();y.connect(C),C.connect(r.destination),y.type="sine",y.frequency.setValueAtTime(p,r.currentTime);const w=r.currentTime+v*o;C.gain.setValueAtTime(0,w),C.gain.linearRampToValueAtTime(.3,w+.02),C.gain.exponentialRampToValueAtTime(.01,w+o),y.start(w),y.stop(w+o)}),setTimeout(()=>{r.close()},h*1e3+100)}catch{}}function u0(c){return{pendingIds:new Set(c?.pending.map(r=>r.id)??[]),inProgressIds:new Set(c?.in_progress.map(r=>r.id)??[]),doneIds:new Set(c?.done.map(r=>r.id)??[])}}function o0(c){const r=m.useRef(null),d=m.useRef(!1);m.useEffect(()=>{if(!c)return;const o=u0(c);if(!d.current){r.current=o,d.current=!0;return}const h=r.current;if(!h){r.current=o;return}for(const p of o.inProgressIds)if(h.pendingIds.has(p)&&!h.inProgressIds.has(p)){Dm("started");break}for(const p of o.doneIds)if(!h.doneIds.has(p)&&(h.inProgressIds.has(p)||h.pendingIds.has(p))){Dm("completed");break}r.current=o},[c])}function d0(){try{const c=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:v,start:y})=>{const C=c.createOscillator(),w=c.createGain();C.connect(w),w.connect(c.destination),C.type="sine",C.frequency.setValueAtTime(v,c.currentTime+y);const E=c.currentTime+y;w.gain.setValueAtTime(0,E),w.gain.linearRampToValueAtTime(.4,E+.03),w.gain.setValueAtTime(.4,E+d*.6),w.gain.exponentialRampToValueAtTime(.01,E+d),C.start(E),C.stop(E+d)});const o=[523.25,659.25,783.99,1046.5],h=.65,p=.5;o.forEach(v=>{const y=c.createOscillator(),C=c.createGain();y.connect(C),C.connect(c.destination),y.type="sine",y.frequency.setValueAtTime(v,c.currentTime+h);const w=c.currentTime+h;C.gain.setValueAtTime(0,w),C.gain.linearRampToValueAtTime(.2,w+.05),C.gain.setValueAtTime(.2,w+p*.5),C.gain.exponentialRampToValueAtTime(.01,w+p),y.start(w),y.stop(w+p)}),setTimeout(()=>{c.close()},1500)}catch{}}function f0(){const r=Date.now()+2e3;Ei({particleCount:100,spread:70,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Ei({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}Ei({particleCount:30,spread:60,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Ei({particleCount:30,spread:60,origin:{x:1,y:.6},angle:120,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]})},250)}function m0(c){return c?c.pending.length===0&&c.in_progress.length===0&&c.done.length>0:!1}function h0(c,r){const d=m.useRef(new Set),o=m.useRef(null);m.useEffect(()=>{if(!c||!r)return;const h=m0(c);if(o.current!==r){o.current=r,h&&d.current.add(r);return}h&&!d.current.has(r)&&(d.current.add(r),f0(),d0())},[c,r])}const ki=[{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"}}],Mm="autoforge-theme",_m="autoforge-dark-mode";function x0(c){switch(c){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 fh(){const[c,r]=m.useState(()=>{try{const y=localStorage.getItem(Mm);if(y==="twitter"||y==="claude"||y==="neo-brutalism"||y==="retro-arcade"||y==="aurora"||y==="business")return y}catch{}return"twitter"}),[d,o]=m.useState(()=>{try{return localStorage.getItem(_m)==="true"}catch{return!1}});m.useEffect(()=>{const y=document.documentElement;y.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business");const C=x0(c);C&&y.classList.add(C),d?y.classList.add("dark"):y.classList.remove("dark");try{localStorage.setItem(Mm,c),localStorage.setItem(_m,String(d))}catch{}},[c,d]);const h=m.useCallback(y=>{r(y)},[]),p=m.useCallback(y=>{o(y)},[]),v=m.useCallback(()=>{o(y=>!y)},[]);return{theme:c,setTheme:h,darkMode:d,setDarkMode:p,toggleDarkMode:v,themes:ki,currentTheme:ki.find(y=>y.id===c)??ki[0]}}function bl(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function g0({projectName:c,onError:r}){const[d,o]=m.useState([]),[h,p]=m.useState(!1),[v,y]=m.useState(!1),[C,w]=m.useState("disconnected"),[E,_]=m.useState(null),[L,z]=m.useState(null),q=m.useRef(null),U=m.useRef(null),R=m.useRef(0),A=3,S=m.useRef(null),j=m.useRef(null),K=m.useRef(!1);m.useEffect(()=>{K.current=v},[v]),m.useEffect(()=>()=>{S.current&&clearInterval(S.current),j.current&&clearTimeout(j.current),q.current&&q.current.close()},[]),m.useEffect(()=>{if(v)return;const ne=setTimeout(()=>{const Z=setInterval(async()=>{if(K.current){clearInterval(Z);return}try{const O=await vy(c);O.exists&&O.status==="complete"&&(y(!0),p(!1),o(H=>{const W=H[H.length-1];return W?.role==="assistant"&&W.isStreaming?[...H.slice(0,-1),{...W,isStreaming:!1}]:H}),o(H=>[...H,{id:bl(),role:"system",content:`Spec creation complete! Files written: ${O.files_written.join(", ")}${O.feature_count?` (${O.feature_count} features)`:""}`,timestamp:new Date}]),clearInterval(Z))}catch{}},3e3);return()=>clearInterval(Z)},3e3);return()=>clearTimeout(ne)},[c,v]);const J=m.useCallback(()=>{if(q.current?.readyState===WebSocket.OPEN)return;w("connecting");const ne=window.location.protocol==="https:"?"wss:":"ws:",Z=window.location.host,O=`${ne}//${Z}/api/spec/ws/${encodeURIComponent(c)}`,H=new WebSocket(O);q.current=H,H.onopen=()=>{w("connected"),R.current=0,S.current=window.setInterval(()=>{H.readyState===WebSocket.OPEN&&H.send(JSON.stringify({type:"ping"}))},3e4)},H.onclose=W=>{if(w("disconnected"),S.current&&(clearInterval(S.current),S.current=null),!(W.code>=4e3&&W.code<=4999)&&R.current<A&&!K.current){R.current++;const g=Math.min(1e3*Math.pow(2,R.current),1e4);j.current=window.setTimeout(J,g)}},H.onerror=()=>{w("error"),r?.("WebSocket connection error")},H.onmessage=W=>{try{const ae=JSON.parse(W.data);switch(ae.type){case"text":{o(g=>{const T=g[g.length-1];return T?.role==="assistant"&&T.isStreaming?[...g.slice(0,-1),{...T,content:T.content+ae.content}]:(U.current=bl(),[...g,{id:U.current,role:"assistant",content:ae.content,timestamp:new Date,isStreaming:!0}])});break}case"question":{_(ae.questions),z(ae.tool_id||null),p(!1),o(g=>{const T=g[g.length-1];return T?.role==="assistant"&&T.isStreaming?[...g.slice(0,-1),{...T,isStreaming:!1,questions:ae.questions}]:g});break}case"spec_complete":{y(!0),p(!1),o(g=>{const T=g[g.length-1];return T?.role==="assistant"&&T.isStreaming?[...g.slice(0,-1),{...T,isStreaming:!1}]:g}),o(g=>[...g,{id:bl(),role:"system",content:`Specification file created: ${ae.path}`,timestamp:new Date}]);break}case"file_written":{o(g=>[...g,{id:bl(),role:"system",content:`File created: ${ae.path}`,timestamp:new Date}]);break}case"complete":{y(!0),p(!1),o(g=>{const T=g[g.length-1];return T?.role==="assistant"&&T.isStreaming?[...g.slice(0,-1),{...T,isStreaming:!1}]:g});break}case"error":{p(!1),r?.(ae.content),o(g=>[...g,{id:bl(),role:"system",content:`Error: ${ae.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{p(!1),o(g=>{const T=g[g.length-1];return T?.role==="assistant"&&T.isStreaming?[...g.slice(0,-1),{...T,isStreaming:!1}]:g});break}}}catch(ae){console.error("Failed to parse WebSocket message:",ae)}}},[c,r]),$=m.useCallback(()=>{J();const ne=()=>{q.current?.readyState===WebSocket.OPEN?(p(!0),q.current.send(JSON.stringify({type:"start"}))):q.current?.readyState===WebSocket.CONNECTING&&setTimeout(ne,100)};setTimeout(ne,100)},[J]),X=m.useCallback((ne,Z)=>{if(!q.current||q.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}o(H=>[...H,{id:bl(),role:"user",content:ne,attachments:Z,timestamp:new Date}]),_(null),z(null),p(!0);const O={type:"message",content:ne};Z&&Z.length>0&&(O.attachments=Z.map(H=>({filename:H.filename,mimeType:H.mimeType,base64Data:H.base64Data}))),q.current.send(JSON.stringify(O))},[r]),ee=m.useCallback(ne=>{if(!q.current||q.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}const Z=Object.values(ne).map(O=>Array.isArray(O)?O.join(", "):O).join("; ");o(O=>[...O,{id:bl(),role:"user",content:Z,timestamp:new Date}]),_(null),z(null),p(!0),q.current.send(JSON.stringify({type:"answer",answers:ne,tool_id:L}))},[L,r]),Q=m.useCallback(()=>{R.current=A,S.current&&(clearInterval(S.current),S.current=null),q.current&&(q.current.close(),q.current=null),w("disconnected")},[]);return{messages:d,isLoading:h,isComplete:v,connectionStatus:C,currentQuestions:E,currentToolId:L,start:$,sendMessage:X,sendAnswer:ee,disconnect:Q}}function Re(...c){return Xg(Kg(c))}function ke({className:c,...r}){return l.jsx("div",{"data-slot":"card",className:Re("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",c),...r})}function Hi({className:c,...r}){return l.jsx("div",{"data-slot":"card-header",className:Re("@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",c),...r})}function gu({className:c,...r}){return l.jsx("div",{"data-slot":"card-title",className:Re("leading-none font-semibold",c),...r})}function p0({className:c,...r}){return l.jsx("div",{"data-slot":"card-description",className:Re("text-muted-foreground text-sm",c),...r})}function Ge({className:c,...r}){return l.jsx("div",{"data-slot":"card-content",className:Re("px-6",c),...r})}const km=/\*\*(.*?)\*\*/g,pu=m.memo(function({message:r}){const{role:d,content:o,attachments:h,timestamp:p,isStreaming:v}=r,y=p.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),w={user:{icon:Fg,bgColor:"bg-primary",textColor:"text-primary-foreground",align:"justify-end",bubbleAlign:"items-end",iconBg:"bg-primary",iconColor:"text-primary-foreground"},assistant:{icon:uu,bgColor:"bg-muted",textColor:"text-foreground",align:"justify-start",bubbleAlign:"items-start",iconBg:"bg-secondary",iconColor:"text-secondary-foreground"},system:{icon:Zg,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],E=w.icon;return d==="system"?l.jsx("div",{className:`flex ${w.align} px-4 py-2`,children:l.jsx("div",{className:`${w.bgColor} border border-border rounded-lg px-4 py-2 text-sm font-mono ${w.textColor}`,children:l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(E,{size:14}),o]})})}):l.jsx("div",{className:`flex ${w.align} px-4 py-2`,children:l.jsxs("div",{className:`flex flex-col ${w.bubbleAlign} max-w-[80%] gap-1`,children:[l.jsxs("div",{className:"flex items-start gap-2",children:[d==="assistant"&&l.jsx("div",{className:`${w.iconBg} p-1.5 rounded flex-shrink-0`,children:l.jsx(E,{size:16,className:w.iconColor})}),l.jsxs(ke,{className:`${w.bgColor} px-4 py-3 border ${v?"animate-pulse":""}`,children:[o&&l.jsx("div",{className:`whitespace-pre-wrap text-sm leading-relaxed ${w.textColor}`,children:o.split(`
10
- `).map((_,L)=>{km.lastIndex=0;const z=[];let q=0,U;for(;(U=km.exec(_))!==null;)U.index>q&&z.push(_.slice(q,U.index)),z.push(l.jsx("strong",{className:"font-bold",children:U[1]},`bold-${L}-${U.index}`)),q=U.index+U[0].length;return q<_.length&&z.push(_.slice(q)),l.jsxs("span",{children:[z.length>0?z:_,L<o.split(`
11
- `).length-1&&`
12
- `]},L)})}),h&&h.length>0&&l.jsx("div",{className:`flex flex-wrap gap-2 ${o?"mt-3":""}`,children:h.map(_=>l.jsxs("div",{className:"border border-border rounded p-1 bg-card",children:[l.jsx("img",{src:_.previewUrl,alt:_.filename,className:"max-w-48 max-h-48 object-contain cursor-pointer hover:opacity-90 transition-opacity rounded",onClick:()=>window.open(_.previewUrl,"_blank"),title:`${_.filename} (click to enlarge)`}),l.jsx("span",{className:"text-xs text-muted-foreground block mt-1 text-center",children:_.filename})]},_.id))}),v&&l.jsx("span",{className:"inline-block w-2 h-4 bg-primary ml-1 animate-pulse rounded"})]}),d==="user"&&l.jsx("div",{className:`${w.iconBg} p-1.5 rounded flex-shrink-0`,children:l.jsx(E,{size:16,className:w.iconColor})})]}),l.jsx("span",{className:"text-xs text-muted-foreground font-mono px-2",children:y})]})})}),y0=ou("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:c,variant:r="default",size:d="default",asChild:o=!1,...h}){const p=o?ch:"button";return l.jsx(p,{"data-slot":"button","data-variant":r,"data-size":d,className:Re(y0({variant:r,size:d,className:c})),...h})}function dt({className:c,type:r,...d}){return l.jsx("input",{type:r,"data-slot":"input",className:Re("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",c),...d})}const v0=ou("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 Oe({className:c,variant:r="default",asChild:d=!1,...o}){const h=d?ch:"span";return l.jsx(h,{"data-slot":"badge","data-variant":r,className:Re(v0({variant:r}),c),...o})}function b0({questions:c,onSubmit:r,disabled:d=!1}){const[o,h]=m.useState({}),[p,v]=m.useState({}),[y,C]=m.useState({}),w=(U,R,A)=>{const S=String(U);if(R==="Other"){C(j=>({...j,[S]:!0}));return}C(j=>({...j,[S]:!1})),h(j=>{if(A){const K=j[S]||[];return K.includes(R)?{...j,[S]:K.filter(J=>J!==R)}:{...j,[S]:[...K,R]}}else return{...j,[S]:R}})},E=(U,R)=>{const A=String(U);v(S=>({...S,[A]:R})),h(S=>({...S,[A]:R}))},_=()=>{const U={};c.forEach((R,A)=>{const S=String(A);y[S]&&p[S]?U[S]=p[S]:o[S]&&(U[S]=o[S])}),r(U)},L=(U,R,A)=>{const S=String(U),j=o[S];return A?Array.isArray(j)&&j.includes(R):j===R},z=U=>{const R=String(U);return!!(o[R]||y[R]&&p[R])},q=c.every((U,R)=>z(R));return l.jsxs("div",{className:"space-y-6 p-4",children:[c.map((U,R)=>l.jsx(ke,{children:l.jsxs(Ge,{className:"p-4",children:[l.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[l.jsx(Oe,{children:U.header}),l.jsx("span",{className:"font-bold text-foreground",children:U.question}),U.multiSelect&&l.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:"(select multiple)"})]}),l.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[U.options.map((A,S)=>{const j=L(R,A.label,U.multiSelect);return l.jsx("button",{onClick:()=>w(R,A.label,U.multiSelect),disabled:d,className:`
8
+ `+n.stack}}var Gi=Object.prototype.hasOwnProperty,Qi=c.unstable_scheduleCallback,Yi=c.unstable_cancelCallback,ph=c.unstable_shouldYield,yh=c.unstable_requestPaint,wt=c.unstable_now,vh=c.unstable_getCurrentPriorityLevel,yu=c.unstable_ImmediatePriority,vu=c.unstable_UserBlockingPriority,ds=c.unstable_NormalPriority,bh=c.unstable_LowPriority,bu=c.unstable_IdlePriority,jh=c.log,Sh=c.unstable_setDisableYieldValue,xn=null,At=null;function Ea(e){if(typeof jh=="function"&&Sh(e),At&&typeof At.setStrictMode=="function")try{At.setStrictMode(xn,e)}catch{}}var Et=Math.clz32?Math.clz32:zh,Nh=Math.log,Ch=Math.LN2;function zh(e){return e>>>=0,e===0?32:31-(Nh(e)/Ch|0)|0}var fs=256,ms=262144,hs=4194304;function al(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 xs(e,t,a){var n=e.pendingLanes;if(n===0)return 0;var s=0,i=e.suspendedLanes,u=e.pingedLanes;e=e.warmLanes;var f=n&134217727;return f!==0?(n=f&~i,n!==0?s=al(n):(u&=f,u!==0?s=al(u):a||(a=f&~e,a!==0&&(s=al(a))))):(f=n&~i,f!==0?s=al(f):u!==0?s=al(u):a||(a=n&~e,a!==0&&(s=al(a)))),s===0?0:t!==0&&t!==s&&(t&i)===0&&(i=s&-s,a=t&-t,i>=a||i===32&&(a&4194048)!==0)?t:s}function gn(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function wh(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 ju(){var e=hs;return hs<<=1,(hs&62914560)===0&&(hs=4194304),e}function Vi(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function pn(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ah(e,t,a,n,s,i){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 f=e.entanglements,x=e.expirationTimes,M=e.hiddenUpdates;for(a=u&~a;0<a;){var L=31-Et(a),V=1<<L;f[L]=0,x[L]=-1;var _=M[L];if(_!==null)for(M[L]=null,L=0;L<_.length;L++){var U=_[L];U!==null&&(U.lane&=-536870913)}a&=~V}n!==0&&Su(e,n,0),i!==0&&s===0&&e.tag!==0&&(e.suspendedLanes|=i&~(u&~t))}function Su(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var n=31-Et(t);e.entangledLanes|=t,e.entanglements[n]=e.entanglements[n]|1073741824|a&261930}function Nu(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var n=31-Et(a),s=1<<n;s&t|e[n]&t&&(e[n]|=t),a&=~s}}function Cu(e,t){var a=t&-t;return a=(a&42)!==0?1:Xi(a),(a&(e.suspendedLanes|t))!==0?0:a}function Xi(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 Ki(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function zu(){var e=T.p;return e!==0?e:(e=window.event,e===void 0?32:fm(e.type))}function wu(e,t){var a=T.p;try{return T.p=e,t()}finally{T.p=a}}var Ta=Math.random().toString(36).slice(2),lt="__reactFiber$"+Ta,ht="__reactProps$"+Ta,Sl="__reactContainer$"+Ta,Zi="__reactEvents$"+Ta,Eh="__reactListeners$"+Ta,Th="__reactHandles$"+Ta,Au="__reactResources$"+Ta,yn="__reactMarker$"+Ta;function Fi(e){delete e[lt],delete e[ht],delete e[Zi],delete e[Eh],delete e[Th]}function Nl(e){var t=e[lt];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Sl]||a[lt]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=$f(e);e!==null;){if(a=e[lt])return a;e=$f(e)}return t}e=a,a=e.parentNode}return null}function Cl(e){if(e=e[lt]||e[Sl]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function vn(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(o(33))}function zl(e){var t=e[Au];return t||(t=e[Au]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Pe(e){e[yn]=!0}var Eu=new Set,Tu={};function ll(e,t){wl(e,t),wl(e+"Capture",t)}function wl(e,t){for(Tu[e]=t,e=0;e<t.length;e++)Eu.add(t[e])}var Dh=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]*$"),Du={},Mu={};function Mh(e){return Gi.call(Mu,e)?!0:Gi.call(Du,e)?!1:Dh.test(e)?Mu[e]=!0:(Du[e]=!0,!1)}function gs(e,t,a){if(Mh(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var n=t.toLowerCase().slice(0,5);if(n!=="data-"&&n!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function ps(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 ra(e,t,a,n){if(n===null)e.removeAttribute(a);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+n)}}function Ut(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function _u(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function _h(e,t,a){var n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var s=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(u){a=""+u,i.call(this,u)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(u){a=""+u},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ji(e){if(!e._valueTracker){var t=_u(e)?"checked":"value";e._valueTracker=_h(e,t,""+e[t])}}function ku(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),n="";return e&&(n=_u(e)?e.checked?"true":"false":e.value),e=n,e!==a?(t.setValue(e),!0):!1}function ys(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 kh=/[\n"\\]/g;function Bt(e){return e.replace(kh,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function $i(e,t,a,n,s,i,u,f){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=""+Ut(t)):e.value!==""+Ut(t)&&(e.value=""+Ut(t)):u!=="submit"&&u!=="reset"||e.removeAttribute("value"),t!=null?Wi(e,u,Ut(t)):a!=null?Wi(e,u,Ut(a)):n!=null&&e.removeAttribute("value"),s==null&&i!=null&&(e.defaultChecked=!!i),s!=null&&(e.checked=s&&typeof s!="function"&&typeof s!="symbol"),f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?e.name=""+Ut(f):e.removeAttribute("name")}function Ou(e,t,a,n,s,i,u,f){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||a!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Ji(e);return}a=a!=null?""+Ut(a):"",t=t!=null?""+Ut(t):a,f||t===e.value||(e.value=t),e.defaultValue=t}n=n??s,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=f?e.checked:!!n,e.defaultChecked=!!n,u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.name=u),Ji(e)}function Wi(e,t,a){t==="number"&&ys(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function Al(e,t,a,n){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&&n&&(e[a].defaultSelected=!0)}else{for(a=""+Ut(a),t=null,s=0;s<e.length;s++){if(e[s].value===a){e[s].selected=!0,n&&(e[s].defaultSelected=!0);return}t!==null||e[s].disabled||(t=e[s])}t!==null&&(t.selected=!0)}}function Ru(e,t,a){if(t!=null&&(t=""+Ut(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+Ut(a):""}function Uu(e,t,a,n){if(t==null){if(n!=null){if(a!=null)throw Error(o(92));if(ae(n)){if(1<n.length)throw Error(o(93));n=n[0]}a=n}a==null&&(a=""),t=a}a=Ut(t),e.defaultValue=a,n=e.textContent,n===a&&n!==""&&n!==null&&(e.value=n),Ji(e)}function El(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var Oh=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 Bu(e,t,a){var n=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?n?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":n?e.setProperty(t,a):typeof a!="number"||a===0||Oh.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function qu(e,t,a){if(t!=null&&typeof t!="object")throw Error(o(62));if(e=e.style,a!=null){for(var n in a)!a.hasOwnProperty(n)||t!=null&&t.hasOwnProperty(n)||(n.indexOf("--")===0?e.setProperty(n,""):n==="float"?e.cssFloat="":e[n]="");for(var s in t)n=t[s],t.hasOwnProperty(s)&&a[s]!==n&&Bu(e,s,n)}else for(var i in t)t.hasOwnProperty(i)&&Bu(e,i,t[i])}function Ii(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 Rh=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"]]),Uh=/^[\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 vs(e){return Uh.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ua(){}var Pi=null;function ec(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Tl=null,Dl=null;function Hu(e){var t=Cl(e);if(t&&(e=t.stateNode)){var a=e[ht]||null;e:switch(e=t.stateNode,t.type){case"input":if($i(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="'+Bt(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var n=a[t];if(n!==e&&n.form===e.form){var s=n[ht]||null;if(!s)throw Error(o(90));$i(n,s.value,s.defaultValue,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name)}}for(t=0;t<a.length;t++)n=a[t],n.form===e.form&&ku(n)}break e;case"textarea":Ru(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&Al(e,!!a.multiple,t,!1)}}}var tc=!1;function Lu(e,t,a){if(tc)return e(t,a);tc=!0;try{var n=e(t);return n}finally{if(tc=!1,(Tl!==null||Dl!==null)&&(ii(),Tl&&(t=Tl,e=Dl,Dl=Tl=null,Hu(t),e)))for(t=0;t<e.length;t++)Hu(e[t])}}function bn(e,t){var a=e.stateNode;if(a===null)return null;var n=a[ht]||null;if(n===null)return null;a=n[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":(n=!n.disabled)||(e=e.type,n=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!n;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(o(231,t,typeof a));return a}var oa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ac=!1;if(oa)try{var jn={};Object.defineProperty(jn,"passive",{get:function(){ac=!0}}),window.addEventListener("test",jn,jn),window.removeEventListener("test",jn,jn)}catch{ac=!1}var Da=null,lc=null,bs=null;function Gu(){if(bs)return bs;var e,t=lc,a=t.length,n,s="value"in Da?Da.value:Da.textContent,i=s.length;for(e=0;e<a&&t[e]===s[e];e++);var u=a-e;for(n=1;n<=u&&t[a-n]===s[i-n];n++);return bs=s.slice(e,1<n?1-n:void 0)}function js(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 Ss(){return!0}function Qu(){return!1}function xt(e){function t(a,n,s,i,u){this._reactName=a,this._targetInst=s,this.type=n,this.nativeEvent=i,this.target=u,this.currentTarget=null;for(var f in e)e.hasOwnProperty(f)&&(a=e[f],this[f]=a?a(i):i[f]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?Ss:Qu,this.isPropagationStopped=Qu,this}return k(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=Ss)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Ss)},persist:function(){},isPersistent:Ss}),t}var nl={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ns=xt(nl),Sn=k({},nl,{view:0,detail:0}),Bh=xt(Sn),nc,sc,Nn,Cs=k({},Sn,{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!==Nn&&(Nn&&e.type==="mousemove"?(nc=e.screenX-Nn.screenX,sc=e.screenY-Nn.screenY):sc=nc=0,Nn=e),nc)},movementY:function(e){return"movementY"in e?e.movementY:sc}}),Yu=xt(Cs),qh=k({},Cs,{dataTransfer:0}),Hh=xt(qh),Lh=k({},Sn,{relatedTarget:0}),ic=xt(Lh),Gh=k({},nl,{animationName:0,elapsedTime:0,pseudoElement:0}),Qh=xt(Gh),Yh=k({},nl,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Vh=xt(Yh),Xh=k({},nl,{data:0}),Vu=xt(Xh),Kh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Zh={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"},Fh={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Jh(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Fh[e])?!!t[e]:!1}function cc(){return Jh}var $h=k({},Sn,{key:function(e){if(e.key){var t=Kh[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=js(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Zh[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"?js(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?js(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Wh=xt($h),Ih=k({},Cs,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Xu=xt(Ih),Ph=k({},Sn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:cc}),ex=xt(Ph),tx=k({},nl,{propertyName:0,elapsedTime:0,pseudoElement:0}),ax=xt(tx),lx=k({},Cs,{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}),nx=xt(lx),sx=k({},nl,{newState:0,oldState:0}),ix=xt(sx),cx=[9,13,27,32],rc=oa&&"CompositionEvent"in window,Cn=null;oa&&"documentMode"in document&&(Cn=document.documentMode);var rx=oa&&"TextEvent"in window&&!Cn,Ku=oa&&(!rc||Cn&&8<Cn&&11>=Cn),Zu=" ",Fu=!1;function Ju(e,t){switch(e){case"keyup":return cx.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $u(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ml=!1;function ux(e,t){switch(e){case"compositionend":return $u(t);case"keypress":return t.which!==32?null:(Fu=!0,Zu);case"textInput":return e=t.data,e===Zu&&Fu?null:e;default:return null}}function ox(e,t){if(Ml)return e==="compositionend"||!rc&&Ju(e,t)?(e=Gu(),bs=lc=Da=null,Ml=!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 Ku&&t.locale!=="ko"?null:t.data;default:return null}}var dx={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 Wu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!dx[e.type]:t==="textarea"}function Iu(e,t,a,n){Tl?Dl?Dl.push(n):Dl=[n]:Tl=n,t=mi(t,"onChange"),0<t.length&&(a=new Ns("onChange","change",null,a,n),e.push({event:a,listeners:t}))}var zn=null,wn=null;function fx(e){Uf(e,0)}function zs(e){var t=vn(e);if(ku(t))return e}function Pu(e,t){if(e==="change")return t}var eo=!1;if(oa){var uc;if(oa){var oc="oninput"in document;if(!oc){var to=document.createElement("div");to.setAttribute("oninput","return;"),oc=typeof to.oninput=="function"}uc=oc}else uc=!1;eo=uc&&(!document.documentMode||9<document.documentMode)}function ao(){zn&&(zn.detachEvent("onpropertychange",lo),wn=zn=null)}function lo(e){if(e.propertyName==="value"&&zs(wn)){var t=[];Iu(t,wn,e,ec(e)),Lu(fx,t)}}function mx(e,t,a){e==="focusin"?(ao(),zn=t,wn=a,zn.attachEvent("onpropertychange",lo)):e==="focusout"&&ao()}function hx(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return zs(wn)}function xx(e,t){if(e==="click")return zs(t)}function gx(e,t){if(e==="input"||e==="change")return zs(t)}function px(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Tt=typeof Object.is=="function"?Object.is:px;function An(e,t){if(Tt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),n=Object.keys(t);if(a.length!==n.length)return!1;for(n=0;n<a.length;n++){var s=a[n];if(!Gi.call(t,s)||!Tt(e[s],t[s]))return!1}return!0}function no(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function so(e,t){var a=no(e);e=0;for(var n;a;){if(a.nodeType===3){if(n=e+a.textContent.length,e<=t&&n>=t)return{node:a,offset:t-e};e=n}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=no(a)}}function io(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?io(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function co(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ys(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=ys(e.document)}return t}function dc(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 yx=oa&&"documentMode"in document&&11>=document.documentMode,_l=null,fc=null,En=null,mc=!1;function ro(e,t,a){var n=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;mc||_l==null||_l!==ys(n)||(n=_l,"selectionStart"in n&&dc(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),En&&An(En,n)||(En=n,n=mi(fc,"onSelect"),0<n.length&&(t=new Ns("onSelect","select",null,t,a),e.push({event:t,listeners:n}),t.target=_l)))}function sl(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var kl={animationend:sl("Animation","AnimationEnd"),animationiteration:sl("Animation","AnimationIteration"),animationstart:sl("Animation","AnimationStart"),transitionrun:sl("Transition","TransitionRun"),transitionstart:sl("Transition","TransitionStart"),transitioncancel:sl("Transition","TransitionCancel"),transitionend:sl("Transition","TransitionEnd")},hc={},uo={};oa&&(uo=document.createElement("div").style,"AnimationEvent"in window||(delete kl.animationend.animation,delete kl.animationiteration.animation,delete kl.animationstart.animation),"TransitionEvent"in window||delete kl.transitionend.transition);function il(e){if(hc[e])return hc[e];if(!kl[e])return e;var t=kl[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in uo)return hc[e]=t[a];return e}var oo=il("animationend"),fo=il("animationiteration"),mo=il("animationstart"),vx=il("transitionrun"),bx=il("transitionstart"),jx=il("transitioncancel"),ho=il("transitionend"),xo=new Map,xc="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(" ");xc.push("scrollEnd");function Zt(e,t){xo.set(e,t),ll(t,[e])}var ws=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)},qt=[],Ol=0,gc=0;function As(){for(var e=Ol,t=gc=Ol=0;t<e;){var a=qt[t];qt[t++]=null;var n=qt[t];qt[t++]=null;var s=qt[t];qt[t++]=null;var i=qt[t];if(qt[t++]=null,n!==null&&s!==null){var u=n.pending;u===null?s.next=s:(s.next=u.next,u.next=s),n.pending=s}i!==0&&go(a,s,i)}}function Es(e,t,a,n){qt[Ol++]=e,qt[Ol++]=t,qt[Ol++]=a,qt[Ol++]=n,gc|=n,e.lanes|=n,e=e.alternate,e!==null&&(e.lanes|=n)}function pc(e,t,a,n){return Es(e,t,a,n),Ts(e)}function cl(e,t){return Es(e,null,null,t),Ts(e)}function go(e,t,a){e.lanes|=a;var n=e.alternate;n!==null&&(n.lanes|=a);for(var s=!1,i=e.return;i!==null;)i.childLanes|=a,n=i.alternate,n!==null&&(n.childLanes|=a),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(s=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,s&&t!==null&&(s=31-Et(a),e=i.hiddenUpdates,n=e[s],n===null?e[s]=[t]:n.push(t),t.lane=a|536870912),i):null}function Ts(e){if(50<$n)throw $n=0,wr=null,Error(o(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Rl={};function Sx(e,t,a,n){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=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Dt(e,t,a,n){return new Sx(e,t,a,n)}function yc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function da(e,t){var a=e.alternate;return a===null?(a=Dt(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 po(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 Ds(e,t,a,n,s,i){var u=0;if(n=e,typeof e=="function")yc(e)&&(u=1);else if(typeof e=="string")u=Ag(e,a,Ue.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Q:return e=Dt(31,a,t,s),e.elementType=Q,e.lanes=i,e;case B:return rl(a.children,s,i,t);case R:u=8,s|=24;break;case w:return e=Dt(12,a,t,s|2),e.elementType=w,e.lanes=i,e;case J:return e=Dt(13,a,t,s),e.elementType=J,e.lanes=i,e;case $:return e=Dt(19,a,t,s),e.elementType=$,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case j:u=10;break e;case S:u=9;break e;case K:u=11;break e;case X:u=14;break e;case ee:u=16,n=null;break e}u=29,a=Error(o(130,e===null?"null":typeof e,"")),n=null}return t=Dt(u,a,t,s),t.elementType=e,t.type=n,t.lanes=i,t}function rl(e,t,a,n){return e=Dt(7,e,n,t),e.lanes=a,e}function vc(e,t,a){return e=Dt(6,e,null,t),e.lanes=a,e}function yo(e){var t=Dt(18,null,null,0);return t.stateNode=e,t}function bc(e,t,a){return t=Dt(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var vo=new WeakMap;function Ht(e,t){if(typeof e=="object"&&e!==null){var a=vo.get(e);return a!==void 0?a:(t={value:e,source:t,stack:os(t)},vo.set(e,t),t)}return{value:e,source:t,stack:os(t)}}var Ul=[],Bl=0,Ms=null,Tn=0,Lt=[],Gt=0,Ma=null,$t=1,Wt="";function fa(e,t){Ul[Bl++]=Tn,Ul[Bl++]=Ms,Ms=e,Tn=t}function bo(e,t,a){Lt[Gt++]=$t,Lt[Gt++]=Wt,Lt[Gt++]=Ma,Ma=e;var n=$t;e=Wt;var s=32-Et(n)-1;n&=~(1<<s),a+=1;var i=32-Et(t)+s;if(30<i){var u=s-s%5;i=(n&(1<<u)-1).toString(32),n>>=u,s-=u,$t=1<<32-Et(t)+s|a<<s|n,Wt=i+e}else $t=1<<i|a<<s|n,Wt=e}function jc(e){e.return!==null&&(fa(e,1),bo(e,1,0))}function Sc(e){for(;e===Ms;)Ms=Ul[--Bl],Ul[Bl]=null,Tn=Ul[--Bl],Ul[Bl]=null;for(;e===Ma;)Ma=Lt[--Gt],Lt[Gt]=null,Wt=Lt[--Gt],Lt[Gt]=null,$t=Lt[--Gt],Lt[Gt]=null}function jo(e,t){Lt[Gt++]=$t,Lt[Gt++]=Wt,Lt[Gt++]=Ma,$t=t.id,Wt=t.overflow,Ma=e}var nt=null,qe=null,je=!1,_a=null,Qt=!1,Nc=Error(o(519));function ka(e){var t=Error(o(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Dn(Ht(t,e)),Nc}function So(e){var t=e.stateNode,a=e.type,n=e.memoizedProps;switch(t[lt]=e,t[ht]=n,a){case"dialog":ge("cancel",t),ge("close",t);break;case"iframe":case"object":case"embed":ge("load",t);break;case"video":case"audio":for(a=0;a<In.length;a++)ge(In[a],t);break;case"source":ge("error",t);break;case"img":case"image":case"link":ge("error",t),ge("load",t);break;case"details":ge("toggle",t);break;case"input":ge("invalid",t),Ou(t,n.value,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name,!0);break;case"select":ge("invalid",t);break;case"textarea":ge("invalid",t),Uu(t,n.value,n.defaultValue,n.children)}a=n.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||n.suppressHydrationWarning===!0||Lf(t.textContent,a)?(n.popover!=null&&(ge("beforetoggle",t),ge("toggle",t)),n.onScroll!=null&&ge("scroll",t),n.onScrollEnd!=null&&ge("scrollend",t),n.onClick!=null&&(t.onclick=ua),t=!0):t=!1,t||ka(e,!0)}function No(e){for(nt=e.return;nt;)switch(nt.tag){case 5:case 31:case 13:Qt=!1;return;case 27:case 3:Qt=!0;return;default:nt=nt.return}}function ql(e){if(e!==nt)return!1;if(!je)return No(e),je=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||Gr(e.type,e.memoizedProps)),a=!a),a&&qe&&ka(e),No(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));qe=Jf(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));qe=Jf(e)}else t===27?(t=qe,Za(e.type)?(e=Kr,Kr=null,qe=e):qe=t):qe=nt?Vt(e.stateNode.nextSibling):null;return!0}function ul(){qe=nt=null,je=!1}function Cc(){var e=_a;return e!==null&&(vt===null?vt=e:vt.push.apply(vt,e),_a=null),e}function Dn(e){_a===null?_a=[e]:_a.push(e)}var zc=oe(null),ol=null,ma=null;function Oa(e,t,a){ie(zc,t._currentValue),t._currentValue=a}function ha(e){e._currentValue=zc.current,te(zc)}function wc(e,t,a){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===a)break;e=e.return}}function Ac(e,t,a,n){var s=e.child;for(s!==null&&(s.return=e);s!==null;){var i=s.dependencies;if(i!==null){var u=s.child;i=i.firstContext;e:for(;i!==null;){var f=i;i=s;for(var x=0;x<t.length;x++)if(f.context===t[x]){i.lanes|=a,f=i.alternate,f!==null&&(f.lanes|=a),wc(i.return,a,e),n||(u=null);break e}i=f.next}}else if(s.tag===18){if(u=s.return,u===null)throw Error(o(341));u.lanes|=a,i=u.alternate,i!==null&&(i.lanes|=a),wc(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 Hl(e,t,a,n){e=null;for(var s=t,i=!1;s!==null;){if(!i){if((s.flags&524288)!==0)i=!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 f=s.type;Tt(s.pendingProps.value,u.value)||(e!==null?e.push(f):e=[f])}}else if(s===ia.current){if(u=s.alternate,u===null)throw Error(o(387));u.memoizedState.memoizedState!==s.memoizedState.memoizedState&&(e!==null?e.push(ls):e=[ls])}s=s.return}e!==null&&Ac(t,e,a,n),t.flags|=262144}function _s(e){for(e=e.firstContext;e!==null;){if(!Tt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function dl(e){ol=e,ma=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function st(e){return Co(ol,e)}function ks(e,t){return ol===null&&dl(e),Co(e,t)}function Co(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},ma===null){if(e===null)throw Error(o(308));ma=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ma=ma.next=t;return a}var Nx=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},Cx=c.unstable_scheduleCallback,zx=c.unstable_NormalPriority,Ze={$$typeof:j,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Ec(){return{controller:new Nx,data:new Map,refCount:0}}function Mn(e){e.refCount--,e.refCount===0&&Cx(zx,function(){e.controller.abort()})}var _n=null,Tc=0,Ll=0,Gl=null;function wx(e,t){if(_n===null){var a=_n=[];Tc=0,Ll=_r(),Gl={status:"pending",value:void 0,then:function(n){a.push(n)}}}return Tc++,t.then(zo,zo),t}function zo(){if(--Tc===0&&_n!==null){Gl!==null&&(Gl.status="fulfilled");var e=_n;_n=null,Ll=0,Gl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Ax(e,t){var a=[],n={status:"pending",value:null,reason:null,then:function(s){a.push(s)}};return e.then(function(){n.status="fulfilled",n.value=t;for(var s=0;s<a.length;s++)(0,a[s])(t)},function(s){for(n.status="rejected",n.reason=s,s=0;s<a.length;s++)(0,a[s])(void 0)}),n}var wo=g.S;g.S=function(e,t){of=wt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&wx(e,t),wo!==null&&wo(e,t)};var fl=oe(null);function Dc(){var e=fl.current;return e!==null?e:De.pooledCache}function Os(e,t){t===null?ie(fl,fl.current):ie(fl,t.pool)}function Ao(){var e=Dc();return e===null?null:{parent:Ze._currentValue,pool:e}}var Ql=Error(o(460)),Mc=Error(o(474)),Rs=Error(o(542)),Us={then:function(){}};function Eo(e){return e=e.status,e==="fulfilled"||e==="rejected"}function To(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(ua,ua),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Mo(e),e;default:if(typeof t.status=="string")t.then(ua,ua);else{if(e=De,e!==null&&100<e.shellSuspendCounter)throw Error(o(482));e=t,e.status="pending",e.then(function(n){if(t.status==="pending"){var s=t;s.status="fulfilled",s.value=n}},function(n){if(t.status==="pending"){var s=t;s.status="rejected",s.reason=n}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Mo(e),e}throw hl=t,Ql}}function ml(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(hl=a,Ql):a}}var hl=null;function Do(){if(hl===null)throw Error(o(459));var e=hl;return hl=null,e}function Mo(e){if(e===Ql||e===Rs)throw Error(o(483))}var Yl=null,kn=0;function Bs(e){var t=kn;return kn+=1,Yl===null&&(Yl=[]),To(Yl,e,t)}function On(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function qs(e,t){throw t.$$typeof===G?Error(o(525)):(e=Object.prototype.toString.call(t),Error(o(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function _o(e){function t(N,b){if(e){var D=N.deletions;D===null?(N.deletions=[b],N.flags|=16):D.push(b)}}function a(N,b){if(!e)return null;for(;b!==null;)t(N,b),b=b.sibling;return null}function n(N){for(var b=new Map;N!==null;)N.key!==null?b.set(N.key,N):b.set(N.index,N),N=N.sibling;return b}function s(N,b){return N=da(N,b),N.index=0,N.sibling=null,N}function i(N,b,D){return N.index=D,e?(D=N.alternate,D!==null?(D=D.index,D<b?(N.flags|=67108866,b):D):(N.flags|=67108866,b)):(N.flags|=1048576,b)}function u(N){return e&&N.alternate===null&&(N.flags|=67108866),N}function f(N,b,D,Y){return b===null||b.tag!==6?(b=vc(D,N.mode,Y),b.return=N,b):(b=s(b,D),b.return=N,b)}function x(N,b,D,Y){var re=D.type;return re===B?L(N,b,D.props.children,Y,D.key):b!==null&&(b.elementType===re||typeof re=="object"&&re!==null&&re.$$typeof===ee&&ml(re)===b.type)?(b=s(b,D.props),On(b,D),b.return=N,b):(b=Ds(D.type,D.key,D.props,null,N.mode,Y),On(b,D),b.return=N,b)}function M(N,b,D,Y){return b===null||b.tag!==4||b.stateNode.containerInfo!==D.containerInfo||b.stateNode.implementation!==D.implementation?(b=bc(D,N.mode,Y),b.return=N,b):(b=s(b,D.children||[]),b.return=N,b)}function L(N,b,D,Y,re){return b===null||b.tag!==7?(b=rl(D,N.mode,Y,re),b.return=N,b):(b=s(b,D),b.return=N,b)}function V(N,b,D){if(typeof b=="string"&&b!==""||typeof b=="number"||typeof b=="bigint")return b=vc(""+b,N.mode,D),b.return=N,b;if(typeof b=="object"&&b!==null){switch(b.$$typeof){case A:return D=Ds(b.type,b.key,b.props,null,N.mode,D),On(D,b),D.return=N,D;case H:return b=bc(b,N.mode,D),b.return=N,b;case ee:return b=ml(b),V(N,b,D)}if(ae(b)||O(b))return b=rl(b,N.mode,D,null),b.return=N,b;if(typeof b.then=="function")return V(N,Bs(b),D);if(b.$$typeof===j)return V(N,ks(N,b),D);qs(N,b)}return null}function _(N,b,D,Y){var re=b!==null?b.key:null;if(typeof D=="string"&&D!==""||typeof D=="number"||typeof D=="bigint")return re!==null?null:f(N,b,""+D,Y);if(typeof D=="object"&&D!==null){switch(D.$$typeof){case A:return D.key===re?x(N,b,D,Y):null;case H:return D.key===re?M(N,b,D,Y):null;case ee:return D=ml(D),_(N,b,D,Y)}if(ae(D)||O(D))return re!==null?null:L(N,b,D,Y,null);if(typeof D.then=="function")return _(N,b,Bs(D),Y);if(D.$$typeof===j)return _(N,b,ks(N,D),Y);qs(N,D)}return null}function U(N,b,D,Y,re){if(typeof Y=="string"&&Y!==""||typeof Y=="number"||typeof Y=="bigint")return N=N.get(D)||null,f(b,N,""+Y,re);if(typeof Y=="object"&&Y!==null){switch(Y.$$typeof){case A:return N=N.get(Y.key===null?D:Y.key)||null,x(b,N,Y,re);case H:return N=N.get(Y.key===null?D:Y.key)||null,M(b,N,Y,re);case ee:return Y=ml(Y),U(N,b,D,Y,re)}if(ae(Y)||O(Y))return N=N.get(D)||null,L(b,N,Y,re,null);if(typeof Y.then=="function")return U(N,b,D,Bs(Y),re);if(Y.$$typeof===j)return U(N,b,D,ks(b,Y),re);qs(b,Y)}return null}function se(N,b,D,Y){for(var re=null,Se=null,ce=b,he=b=0,ve=null;ce!==null&&he<D.length;he++){ce.index>he?(ve=ce,ce=null):ve=ce.sibling;var Ne=_(N,ce,D[he],Y);if(Ne===null){ce===null&&(ce=ve);break}e&&ce&&Ne.alternate===null&&t(N,ce),b=i(Ne,b,he),Se===null?re=Ne:Se.sibling=Ne,Se=Ne,ce=ve}if(he===D.length)return a(N,ce),je&&fa(N,he),re;if(ce===null){for(;he<D.length;he++)ce=V(N,D[he],Y),ce!==null&&(b=i(ce,b,he),Se===null?re=ce:Se.sibling=ce,Se=ce);return je&&fa(N,he),re}for(ce=n(ce);he<D.length;he++)ve=U(ce,N,he,D[he],Y),ve!==null&&(e&&ve.alternate!==null&&ce.delete(ve.key===null?he:ve.key),b=i(ve,b,he),Se===null?re=ve:Se.sibling=ve,Se=ve);return e&&ce.forEach(function(Ia){return t(N,Ia)}),je&&fa(N,he),re}function ue(N,b,D,Y){if(D==null)throw Error(o(151));for(var re=null,Se=null,ce=b,he=b=0,ve=null,Ne=D.next();ce!==null&&!Ne.done;he++,Ne=D.next()){ce.index>he?(ve=ce,ce=null):ve=ce.sibling;var Ia=_(N,ce,Ne.value,Y);if(Ia===null){ce===null&&(ce=ve);break}e&&ce&&Ia.alternate===null&&t(N,ce),b=i(Ia,b,he),Se===null?re=Ia:Se.sibling=Ia,Se=Ia,ce=ve}if(Ne.done)return a(N,ce),je&&fa(N,he),re;if(ce===null){for(;!Ne.done;he++,Ne=D.next())Ne=V(N,Ne.value,Y),Ne!==null&&(b=i(Ne,b,he),Se===null?re=Ne:Se.sibling=Ne,Se=Ne);return je&&fa(N,he),re}for(ce=n(ce);!Ne.done;he++,Ne=D.next())Ne=U(ce,N,he,Ne.value,Y),Ne!==null&&(e&&Ne.alternate!==null&&ce.delete(Ne.key===null?he:Ne.key),b=i(Ne,b,he),Se===null?re=Ne:Se.sibling=Ne,Se=Ne);return e&&ce.forEach(function(qg){return t(N,qg)}),je&&fa(N,he),re}function Te(N,b,D,Y){if(typeof D=="object"&&D!==null&&D.type===B&&D.key===null&&(D=D.props.children),typeof D=="object"&&D!==null){switch(D.$$typeof){case A:e:{for(var re=D.key;b!==null;){if(b.key===re){if(re=D.type,re===B){if(b.tag===7){a(N,b.sibling),Y=s(b,D.props.children),Y.return=N,N=Y;break e}}else if(b.elementType===re||typeof re=="object"&&re!==null&&re.$$typeof===ee&&ml(re)===b.type){a(N,b.sibling),Y=s(b,D.props),On(Y,D),Y.return=N,N=Y;break e}a(N,b);break}else t(N,b);b=b.sibling}D.type===B?(Y=rl(D.props.children,N.mode,Y,D.key),Y.return=N,N=Y):(Y=Ds(D.type,D.key,D.props,null,N.mode,Y),On(Y,D),Y.return=N,N=Y)}return u(N);case H:e:{for(re=D.key;b!==null;){if(b.key===re)if(b.tag===4&&b.stateNode.containerInfo===D.containerInfo&&b.stateNode.implementation===D.implementation){a(N,b.sibling),Y=s(b,D.children||[]),Y.return=N,N=Y;break e}else{a(N,b);break}else t(N,b);b=b.sibling}Y=bc(D,N.mode,Y),Y.return=N,N=Y}return u(N);case ee:return D=ml(D),Te(N,b,D,Y)}if(ae(D))return se(N,b,D,Y);if(O(D)){if(re=O(D),typeof re!="function")throw Error(o(150));return D=re.call(D),ue(N,b,D,Y)}if(typeof D.then=="function")return Te(N,b,Bs(D),Y);if(D.$$typeof===j)return Te(N,b,ks(N,D),Y);qs(N,D)}return typeof D=="string"&&D!==""||typeof D=="number"||typeof D=="bigint"?(D=""+D,b!==null&&b.tag===6?(a(N,b.sibling),Y=s(b,D),Y.return=N,N=Y):(a(N,b),Y=vc(D,N.mode,Y),Y.return=N,N=Y),u(N)):a(N,b)}return function(N,b,D,Y){try{kn=0;var re=Te(N,b,D,Y);return Yl=null,re}catch(ce){if(ce===Ql||ce===Rs)throw ce;var Se=Dt(29,ce,null,N.mode);return Se.lanes=Y,Se.return=N,Se}}}var xl=_o(!0),ko=_o(!1),Ra=!1;function _c(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function kc(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 Ua(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ba(e,t,a){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(Ce&2)!==0){var s=n.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),n.pending=t,t=Ts(e),go(e,null,a),t}return Es(e,n,t,a),Ts(e)}function Rn(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,Nu(e,a)}}function Oc(e,t){var a=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,a===n)){var s=null,i=null;if(a=a.firstBaseUpdate,a!==null){do{var u={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};i===null?s=i=u:i=i.next=u,a=a.next}while(a!==null);i===null?s=i=t:i=i.next=t}else s=i=t;a={baseState:n.baseState,firstBaseUpdate:s,lastBaseUpdate:i,shared:n.shared,callbacks:n.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Rc=!1;function Un(){if(Rc){var e=Gl;if(e!==null)throw e}}function Bn(e,t,a,n){Rc=!1;var s=e.updateQueue;Ra=!1;var i=s.firstBaseUpdate,u=s.lastBaseUpdate,f=s.shared.pending;if(f!==null){s.shared.pending=null;var x=f,M=x.next;x.next=null,u===null?i=M:u.next=M,u=x;var L=e.alternate;L!==null&&(L=L.updateQueue,f=L.lastBaseUpdate,f!==u&&(f===null?L.firstBaseUpdate=M:f.next=M,L.lastBaseUpdate=x))}if(i!==null){var V=s.baseState;u=0,L=M=x=null,f=i;do{var _=f.lane&-536870913,U=_!==f.lane;if(U?(ye&_)===_:(n&_)===_){_!==0&&_===Ll&&(Rc=!0),L!==null&&(L=L.next={lane:0,tag:f.tag,payload:f.payload,callback:null,next:null});e:{var se=e,ue=f;_=t;var Te=a;switch(ue.tag){case 1:if(se=ue.payload,typeof se=="function"){V=se.call(Te,V,_);break e}V=se;break e;case 3:se.flags=se.flags&-65537|128;case 0:if(se=ue.payload,_=typeof se=="function"?se.call(Te,V,_):se,_==null)break e;V=k({},V,_);break e;case 2:Ra=!0}}_=f.callback,_!==null&&(e.flags|=64,U&&(e.flags|=8192),U=s.callbacks,U===null?s.callbacks=[_]:U.push(_))}else U={lane:_,tag:f.tag,payload:f.payload,callback:f.callback,next:null},L===null?(M=L=U,x=V):L=L.next=U,u|=_;if(f=f.next,f===null){if(f=s.shared.pending,f===null)break;U=f,f=U.next,U.next=null,s.lastBaseUpdate=U,s.shared.pending=null}}while(!0);L===null&&(x=V),s.baseState=x,s.firstBaseUpdate=M,s.lastBaseUpdate=L,i===null&&(s.shared.lanes=0),Qa|=u,e.lanes=u,e.memoizedState=V}}function Oo(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function Ro(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)Oo(a[e],t)}var Vl=oe(null),Hs=oe(0);function Uo(e,t){e=Na,ie(Hs,e),ie(Vl,t),Na=e|t.baseLanes}function Uc(){ie(Hs,Na),ie(Vl,Vl.current)}function Bc(){Na=Hs.current,te(Vl),te(Hs)}var Mt=oe(null),Yt=null;function qa(e){var t=e.alternate;ie(Ve,Ve.current&1),ie(Mt,e),Yt===null&&(t===null||Vl.current!==null||t.memoizedState!==null)&&(Yt=e)}function qc(e){ie(Ve,Ve.current),ie(Mt,e),Yt===null&&(Yt=e)}function Bo(e){e.tag===22?(ie(Ve,Ve.current),ie(Mt,e),Yt===null&&(Yt=e)):Ha()}function Ha(){ie(Ve,Ve.current),ie(Mt,Mt.current)}function _t(e){te(Mt),Yt===e&&(Yt=null),te(Ve)}var Ve=oe(0);function Ls(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||Vr(a)||Xr(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 xa=0,me=null,Ae=null,Fe=null,Gs=!1,Xl=!1,gl=!1,Qs=0,qn=0,Kl=null,Ex=0;function Qe(){throw Error(o(321))}function Hc(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!Tt(e[a],t[a]))return!1;return!0}function Lc(e,t,a,n,s,i){return xa=i,me=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,g.H=e===null||e.memoizedState===null?bd:tr,gl=!1,i=a(n,s),gl=!1,Xl&&(i=Ho(t,a,n,s)),qo(e),i}function qo(e){g.H=Gn;var t=Ae!==null&&Ae.next!==null;if(xa=0,Fe=Ae=me=null,Gs=!1,qn=0,Kl=null,t)throw Error(o(300));e===null||Je||(e=e.dependencies,e!==null&&_s(e)&&(Je=!0))}function Ho(e,t,a,n){me=e;var s=0;do{if(Xl&&(Kl=null),qn=0,Xl=!1,25<=s)throw Error(o(301));if(s+=1,Fe=Ae=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}g.H=jd,i=t(a,n)}while(Xl);return i}function Tx(){var e=g.H,t=e.useState()[0];return t=typeof t.then=="function"?Hn(t):t,e=e.useState()[0],(Ae!==null?Ae.memoizedState:null)!==e&&(me.flags|=1024),t}function Gc(){var e=Qs!==0;return Qs=0,e}function Qc(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function Yc(e){if(Gs){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Gs=!1}xa=0,Fe=Ae=me=null,Xl=!1,qn=Qs=0,Kl=null}function mt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Fe===null?me.memoizedState=Fe=e:Fe=Fe.next=e,Fe}function Xe(){if(Ae===null){var e=me.alternate;e=e!==null?e.memoizedState:null}else e=Ae.next;var t=Fe===null?me.memoizedState:Fe.next;if(t!==null)Fe=t,Ae=e;else{if(e===null)throw me.alternate===null?Error(o(467)):Error(o(310));Ae=e,e={memoizedState:Ae.memoizedState,baseState:Ae.baseState,baseQueue:Ae.baseQueue,queue:Ae.queue,next:null},Fe===null?me.memoizedState=Fe=e:Fe=Fe.next=e}return Fe}function Ys(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Hn(e){var t=qn;return qn+=1,Kl===null&&(Kl=[]),e=To(Kl,e,t),t=me,(Fe===null?t.memoizedState:Fe.next)===null&&(t=t.alternate,g.H=t===null||t.memoizedState===null?bd:tr),e}function Vs(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Hn(e);if(e.$$typeof===j)return st(e)}throw Error(o(438,String(e)))}function Vc(e){var t=null,a=me.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var n=me.alternate;n!==null&&(n=n.updateQueue,n!==null&&(n=n.memoCache,n!=null&&(t={data:n.data.map(function(s){return s.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=Ys(),me.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),n=0;n<e;n++)a[n]=ne;return t.index++,a}function ga(e,t){return typeof t=="function"?t(e):t}function Xs(e){var t=Xe();return Xc(t,Ae,e)}function Xc(e,t,a){var n=e.queue;if(n===null)throw Error(o(311));n.lastRenderedReducer=a;var s=e.baseQueue,i=n.pending;if(i!==null){if(s!==null){var u=s.next;s.next=i.next,i.next=u}t.baseQueue=s=i,n.pending=null}if(i=e.baseState,s===null)e.memoizedState=i;else{t=s.next;var f=u=null,x=null,M=t,L=!1;do{var V=M.lane&-536870913;if(V!==M.lane?(ye&V)===V:(xa&V)===V){var _=M.revertLane;if(_===0)x!==null&&(x=x.next={lane:0,revertLane:0,gesture:null,action:M.action,hasEagerState:M.hasEagerState,eagerState:M.eagerState,next:null}),V===Ll&&(L=!0);else if((xa&_)===_){M=M.next,_===Ll&&(L=!0);continue}else V={lane:0,revertLane:M.revertLane,gesture:null,action:M.action,hasEagerState:M.hasEagerState,eagerState:M.eagerState,next:null},x===null?(f=x=V,u=i):x=x.next=V,me.lanes|=_,Qa|=_;V=M.action,gl&&a(i,V),i=M.hasEagerState?M.eagerState:a(i,V)}else _={lane:V,revertLane:M.revertLane,gesture:M.gesture,action:M.action,hasEagerState:M.hasEagerState,eagerState:M.eagerState,next:null},x===null?(f=x=_,u=i):x=x.next=_,me.lanes|=V,Qa|=V;M=M.next}while(M!==null&&M!==t);if(x===null?u=i:x.next=f,!Tt(i,e.memoizedState)&&(Je=!0,L&&(a=Gl,a!==null)))throw a;e.memoizedState=i,e.baseState=u,e.baseQueue=x,n.lastRenderedState=i}return s===null&&(n.lanes=0),[e.memoizedState,n.dispatch]}function Kc(e){var t=Xe(),a=t.queue;if(a===null)throw Error(o(311));a.lastRenderedReducer=e;var n=a.dispatch,s=a.pending,i=t.memoizedState;if(s!==null){a.pending=null;var u=s=s.next;do i=e(i,u.action),u=u.next;while(u!==s);Tt(i,t.memoizedState)||(Je=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),a.lastRenderedState=i}return[i,n]}function Lo(e,t,a){var n=me,s=Xe(),i=je;if(i){if(a===void 0)throw Error(o(407));a=a()}else a=t();var u=!Tt((Ae||s).memoizedState,a);if(u&&(s.memoizedState=a,Je=!0),s=s.queue,Jc(Yo.bind(null,n,s,e),[e]),s.getSnapshot!==t||u||Fe!==null&&Fe.memoizedState.tag&1){if(n.flags|=2048,Zl(9,{destroy:void 0},Qo.bind(null,n,s,a,t),null),De===null)throw Error(o(349));i||(xa&127)!==0||Go(n,t,a)}return a}function Go(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=me.updateQueue,t===null?(t=Ys(),me.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function Qo(e,t,a,n){t.value=a,t.getSnapshot=n,Vo(t)&&Xo(e)}function Yo(e,t,a){return a(function(){Vo(t)&&Xo(e)})}function Vo(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!Tt(e,a)}catch{return!0}}function Xo(e){var t=cl(e,2);t!==null&&bt(t,e,2)}function Zc(e){var t=mt();if(typeof e=="function"){var a=e;if(e=a(),gl){Ea(!0);try{a()}finally{Ea(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:e},t}function Ko(e,t,a,n){return e.baseState=a,Xc(e,Ae,typeof n=="function"?n:ga)}function Dx(e,t,a,n,s){if(Fs(e))throw Error(o(485));if(e=t.action,e!==null){var i={payload:s,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(u){i.listeners.push(u)}};g.T!==null?a(!0):i.isTransition=!1,n(i),a=t.pending,a===null?(i.next=t.pending=i,Zo(t,i)):(i.next=a.next,t.pending=a.next=i)}}function Zo(e,t){var a=t.action,n=t.payload,s=e.state;if(t.isTransition){var i=g.T,u={};g.T=u;try{var f=a(s,n),x=g.S;x!==null&&x(u,f),Fo(e,t,f)}catch(M){Fc(e,t,M)}finally{i!==null&&u.types!==null&&(i.types=u.types),g.T=i}}else try{i=a(s,n),Fo(e,t,i)}catch(M){Fc(e,t,M)}}function Fo(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(n){Jo(e,t,n)},function(n){return Fc(e,t,n)}):Jo(e,t,a)}function Jo(e,t,a){t.status="fulfilled",t.value=a,$o(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,Zo(e,a)))}function Fc(e,t,a){var n=e.pending;if(e.pending=null,n!==null){n=n.next;do t.status="rejected",t.reason=a,$o(t),t=t.next;while(t!==n)}e.action=null}function $o(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Wo(e,t){return t}function Io(e,t){if(je){var a=De.formState;if(a!==null){e:{var n=me;if(je){if(qe){t:{for(var s=qe,i=Qt;s.nodeType!==8;){if(!i){s=null;break t}if(s=Vt(s.nextSibling),s===null){s=null;break t}}i=s.data,s=i==="F!"||i==="F"?s:null}if(s){qe=Vt(s.nextSibling),n=s.data==="F!";break e}}ka(n)}n=!1}n&&(t=a[0])}}return a=mt(),a.memoizedState=a.baseState=t,n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wo,lastRenderedState:t},a.queue=n,a=pd.bind(null,me,n),n.dispatch=a,n=Zc(!1),i=er.bind(null,me,!1,n.queue),n=mt(),s={state:t,dispatch:null,action:e,pending:null},n.queue=s,a=Dx.bind(null,me,s,i,a),s.dispatch=a,n.memoizedState=e,[t,a,!1]}function Po(e){var t=Xe();return ed(t,Ae,e)}function ed(e,t,a){if(t=Xc(e,t,Wo)[0],e=Xs(ga)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var n=Hn(t)}catch(u){throw u===Ql?Rs:u}else n=t;t=Xe();var s=t.queue,i=s.dispatch;return a!==t.memoizedState&&(me.flags|=2048,Zl(9,{destroy:void 0},Mx.bind(null,s,a),null)),[n,i,e]}function Mx(e,t){e.action=t}function td(e){var t=Xe(),a=Ae;if(a!==null)return ed(t,a,e);Xe(),t=t.memoizedState,a=Xe();var n=a.queue.dispatch;return a.memoizedState=e,[t,n,!1]}function Zl(e,t,a,n){return e={tag:e,create:a,deps:n,inst:t,next:null},t=me.updateQueue,t===null&&(t=Ys(),me.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(n=a.next,a.next=e,e.next=n,t.lastEffect=e),e}function ad(){return Xe().memoizedState}function Ks(e,t,a,n){var s=mt();me.flags|=e,s.memoizedState=Zl(1|t,{destroy:void 0},a,n===void 0?null:n)}function Zs(e,t,a,n){var s=Xe();n=n===void 0?null:n;var i=s.memoizedState.inst;Ae!==null&&n!==null&&Hc(n,Ae.memoizedState.deps)?s.memoizedState=Zl(t,i,a,n):(me.flags|=e,s.memoizedState=Zl(1|t,i,a,n))}function ld(e,t){Ks(8390656,8,e,t)}function Jc(e,t){Zs(2048,8,e,t)}function _x(e){me.flags|=4;var t=me.updateQueue;if(t===null)t=Ys(),me.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function nd(e){var t=Xe().memoizedState;return _x({ref:t,nextImpl:e}),function(){if((Ce&2)!==0)throw Error(o(440));return t.impl.apply(void 0,arguments)}}function sd(e,t){return Zs(4,2,e,t)}function id(e,t){return Zs(4,4,e,t)}function cd(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 rd(e,t,a){a=a!=null?a.concat([e]):null,Zs(4,4,cd.bind(null,t,e),a)}function $c(){}function ud(e,t){var a=Xe();t=t===void 0?null:t;var n=a.memoizedState;return t!==null&&Hc(t,n[1])?n[0]:(a.memoizedState=[e,t],e)}function od(e,t){var a=Xe();t=t===void 0?null:t;var n=a.memoizedState;if(t!==null&&Hc(t,n[1]))return n[0];if(n=e(),gl){Ea(!0);try{e()}finally{Ea(!1)}}return a.memoizedState=[n,t],n}function Wc(e,t,a){return a===void 0||(xa&1073741824)!==0&&(ye&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=ff(),me.lanes|=e,Qa|=e,a)}function dd(e,t,a,n){return Tt(a,t)?a:Vl.current!==null?(e=Wc(e,a,n),Tt(e,t)||(Je=!0),e):(xa&42)===0||(xa&1073741824)!==0&&(ye&261930)===0?(Je=!0,e.memoizedState=a):(e=ff(),me.lanes|=e,Qa|=e,t)}function fd(e,t,a,n,s){var i=T.p;T.p=i!==0&&8>i?i:8;var u=g.T,f={};g.T=f,er(e,!1,t,a);try{var x=s(),M=g.S;if(M!==null&&M(f,x),x!==null&&typeof x=="object"&&typeof x.then=="function"){var L=Ax(x,n);Ln(e,t,L,Rt(e))}else Ln(e,t,n,Rt(e))}catch(V){Ln(e,t,{then:function(){},status:"rejected",reason:V},Rt())}finally{T.p=i,u!==null&&f.types!==null&&(u.types=f.types),g.T=u}}function kx(){}function Ic(e,t,a,n){if(e.tag!==5)throw Error(o(476));var s=md(e).queue;fd(e,s,t,I,a===null?kx:function(){return hd(e),a(n)})}function md(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:I,baseState:I,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:I},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function hd(e){var t=md(e);t.next===null&&(t=e.alternate.memoizedState),Ln(e,t.next.queue,{},Rt())}function Pc(){return st(ls)}function xd(){return Xe().memoizedState}function gd(){return Xe().memoizedState}function Ox(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Rt();e=Ua(a);var n=Ba(t,e,a);n!==null&&(bt(n,t,a),Rn(n,t,a)),t={cache:Ec()},e.payload=t;return}t=t.return}}function Rx(e,t,a){var n=Rt();a={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Fs(e)?yd(t,a):(a=pc(e,t,a,n),a!==null&&(bt(a,e,n),vd(a,t,n)))}function pd(e,t,a){var n=Rt();Ln(e,t,a,n)}function Ln(e,t,a,n){var s={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Fs(e))yd(t,s);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var u=t.lastRenderedState,f=i(u,a);if(s.hasEagerState=!0,s.eagerState=f,Tt(f,u))return Es(e,t,s,0),De===null&&As(),!1}catch{}if(a=pc(e,t,s,n),a!==null)return bt(a,e,n),vd(a,t,n),!0}return!1}function er(e,t,a,n){if(n={lane:2,revertLane:_r(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Fs(e)){if(t)throw Error(o(479))}else t=pc(e,a,n,2),t!==null&&bt(t,e,2)}function Fs(e){var t=e.alternate;return e===me||t!==null&&t===me}function yd(e,t){Xl=Gs=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function vd(e,t,a){if((a&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,Nu(e,a)}}var Gn={readContext:st,use:Vs,useCallback:Qe,useContext:Qe,useEffect:Qe,useImperativeHandle:Qe,useLayoutEffect:Qe,useInsertionEffect:Qe,useMemo:Qe,useReducer:Qe,useRef:Qe,useState:Qe,useDebugValue:Qe,useDeferredValue:Qe,useTransition:Qe,useSyncExternalStore:Qe,useId:Qe,useHostTransitionStatus:Qe,useFormState:Qe,useActionState:Qe,useOptimistic:Qe,useMemoCache:Qe,useCacheRefresh:Qe};Gn.useEffectEvent=Qe;var bd={readContext:st,use:Vs,useCallback:function(e,t){return mt().memoizedState=[e,t===void 0?null:t],e},useContext:st,useEffect:ld,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,Ks(4194308,4,cd.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Ks(4194308,4,e,t)},useInsertionEffect:function(e,t){Ks(4,2,e,t)},useMemo:function(e,t){var a=mt();t=t===void 0?null:t;var n=e();if(gl){Ea(!0);try{e()}finally{Ea(!1)}}return a.memoizedState=[n,t],n},useReducer:function(e,t,a){var n=mt();if(a!==void 0){var s=a(t);if(gl){Ea(!0);try{a(t)}finally{Ea(!1)}}}else s=t;return n.memoizedState=n.baseState=s,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:s},n.queue=e,e=e.dispatch=Rx.bind(null,me,e),[n.memoizedState,e]},useRef:function(e){var t=mt();return e={current:e},t.memoizedState=e},useState:function(e){e=Zc(e);var t=e.queue,a=pd.bind(null,me,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:$c,useDeferredValue:function(e,t){var a=mt();return Wc(a,e,t)},useTransition:function(){var e=Zc(!1);return e=fd.bind(null,me,e.queue,!0,!1),mt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var n=me,s=mt();if(je){if(a===void 0)throw Error(o(407));a=a()}else{if(a=t(),De===null)throw Error(o(349));(ye&127)!==0||Go(n,t,a)}s.memoizedState=a;var i={value:a,getSnapshot:t};return s.queue=i,ld(Yo.bind(null,n,i,e),[e]),n.flags|=2048,Zl(9,{destroy:void 0},Qo.bind(null,n,i,a,t),null),a},useId:function(){var e=mt(),t=De.identifierPrefix;if(je){var a=Wt,n=$t;a=(n&~(1<<32-Et(n)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Qs++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=Ex++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Pc,useFormState:Io,useActionState:Io,useOptimistic:function(e){var t=mt();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=er.bind(null,me,!0,a),a.dispatch=t,[e,t]},useMemoCache:Vc,useCacheRefresh:function(){return mt().memoizedState=Ox.bind(null,me)},useEffectEvent:function(e){var t=mt(),a={impl:e};return t.memoizedState=a,function(){if((Ce&2)!==0)throw Error(o(440));return a.impl.apply(void 0,arguments)}}},tr={readContext:st,use:Vs,useCallback:ud,useContext:st,useEffect:Jc,useImperativeHandle:rd,useInsertionEffect:sd,useLayoutEffect:id,useMemo:od,useReducer:Xs,useRef:ad,useState:function(){return Xs(ga)},useDebugValue:$c,useDeferredValue:function(e,t){var a=Xe();return dd(a,Ae.memoizedState,e,t)},useTransition:function(){var e=Xs(ga)[0],t=Xe().memoizedState;return[typeof e=="boolean"?e:Hn(e),t]},useSyncExternalStore:Lo,useId:xd,useHostTransitionStatus:Pc,useFormState:Po,useActionState:Po,useOptimistic:function(e,t){var a=Xe();return Ko(a,Ae,e,t)},useMemoCache:Vc,useCacheRefresh:gd};tr.useEffectEvent=nd;var jd={readContext:st,use:Vs,useCallback:ud,useContext:st,useEffect:Jc,useImperativeHandle:rd,useInsertionEffect:sd,useLayoutEffect:id,useMemo:od,useReducer:Kc,useRef:ad,useState:function(){return Kc(ga)},useDebugValue:$c,useDeferredValue:function(e,t){var a=Xe();return Ae===null?Wc(a,e,t):dd(a,Ae.memoizedState,e,t)},useTransition:function(){var e=Kc(ga)[0],t=Xe().memoizedState;return[typeof e=="boolean"?e:Hn(e),t]},useSyncExternalStore:Lo,useId:xd,useHostTransitionStatus:Pc,useFormState:td,useActionState:td,useOptimistic:function(e,t){var a=Xe();return Ae!==null?Ko(a,Ae,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:Vc,useCacheRefresh:gd};jd.useEffectEvent=nd;function ar(e,t,a,n){t=e.memoizedState,a=a(n,t),a=a==null?t:k({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var lr={enqueueSetState:function(e,t,a){e=e._reactInternals;var n=Rt(),s=Ua(n);s.payload=t,a!=null&&(s.callback=a),t=Ba(e,s,n),t!==null&&(bt(t,e,n),Rn(t,e,n))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var n=Rt(),s=Ua(n);s.tag=1,s.payload=t,a!=null&&(s.callback=a),t=Ba(e,s,n),t!==null&&(bt(t,e,n),Rn(t,e,n))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Rt(),n=Ua(a);n.tag=2,t!=null&&(n.callback=t),t=Ba(e,n,a),t!==null&&(bt(t,e,a),Rn(t,e,a))}};function Sd(e,t,a,n,s,i,u){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(n,i,u):t.prototype&&t.prototype.isPureReactComponent?!An(a,n)||!An(s,i):!0}function Nd(e,t,a,n){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,n),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,n),t.state!==e&&lr.enqueueReplaceState(t,t.state,null)}function pl(e,t){var a=t;if("ref"in t){a={};for(var n in t)n!=="ref"&&(a[n]=t[n])}if(e=e.defaultProps){a===t&&(a=k({},a));for(var s in e)a[s]===void 0&&(a[s]=e[s])}return a}function Cd(e){ws(e)}function zd(e){console.error(e)}function wd(e){ws(e)}function Js(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(n){setTimeout(function(){throw n})}}function Ad(e,t,a){try{var n=e.onCaughtError;n(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(s){setTimeout(function(){throw s})}}function nr(e,t,a){return a=Ua(a),a.tag=3,a.payload={element:null},a.callback=function(){Js(e,t)},a}function Ed(e){return e=Ua(e),e.tag=3,e}function Td(e,t,a,n){var s=a.type.getDerivedStateFromError;if(typeof s=="function"){var i=n.value;e.payload=function(){return s(i)},e.callback=function(){Ad(t,a,n)}}var u=a.stateNode;u!==null&&typeof u.componentDidCatch=="function"&&(e.callback=function(){Ad(t,a,n),typeof s!="function"&&(Ya===null?Ya=new Set([this]):Ya.add(this));var f=n.stack;this.componentDidCatch(n.value,{componentStack:f!==null?f:""})})}function Ux(e,t,a,n,s){if(a.flags|=32768,n!==null&&typeof n=="object"&&typeof n.then=="function"){if(t=a.alternate,t!==null&&Hl(t,a,s,!0),a=Mt.current,a!==null){switch(a.tag){case 31:case 13:return Yt===null?ci():a.alternate===null&&Ye===0&&(Ye=3),a.flags&=-257,a.flags|=65536,a.lanes=s,n===Us?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([n]):t.add(n),Tr(e,n,s)),!1;case 22:return a.flags|=65536,n===Us?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([n])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([n]):a.add(n)),Tr(e,n,s)),!1}throw Error(o(435,a.tag))}return Tr(e,n,s),ci(),!1}if(je)return t=Mt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=s,n!==Nc&&(e=Error(o(422),{cause:n}),Dn(Ht(e,a)))):(n!==Nc&&(t=Error(o(423),{cause:n}),Dn(Ht(t,a))),e=e.current.alternate,e.flags|=65536,s&=-s,e.lanes|=s,n=Ht(n,a),s=nr(e.stateNode,n,s),Oc(e,s),Ye!==4&&(Ye=2)),!1;var i=Error(o(520),{cause:n});if(i=Ht(i,a),Jn===null?Jn=[i]:Jn.push(i),Ye!==4&&(Ye=2),t===null)return!0;n=Ht(n,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=s&-s,a.lanes|=e,e=nr(a.stateNode,n,e),Oc(a,e),!1;case 1:if(t=a.type,i=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(Ya===null||!Ya.has(i))))return a.flags|=65536,s&=-s,a.lanes|=s,s=Ed(s),Td(s,e,a,n),Oc(a,s),!1}a=a.return}while(a!==null);return!1}var sr=Error(o(461)),Je=!1;function it(e,t,a,n){t.child=e===null?ko(t,null,a,n):xl(t,e.child,a,n)}function Dd(e,t,a,n,s){a=a.render;var i=t.ref;if("ref"in n){var u={};for(var f in n)f!=="ref"&&(u[f]=n[f])}else u=n;return dl(t),n=Lc(e,t,a,u,i,s),f=Gc(),e!==null&&!Je?(Qc(e,t,s),pa(e,t,s)):(je&&f&&jc(t),t.flags|=1,it(e,t,n,s),t.child)}function Md(e,t,a,n,s){if(e===null){var i=a.type;return typeof i=="function"&&!yc(i)&&i.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=i,_d(e,t,i,n,s)):(e=Ds(a.type,null,n,t,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!mr(e,s)){var u=i.memoizedProps;if(a=a.compare,a=a!==null?a:An,a(u,n)&&e.ref===t.ref)return pa(e,t,s)}return t.flags|=1,e=da(i,n),e.ref=t.ref,e.return=t,t.child=e}function _d(e,t,a,n,s){if(e!==null){var i=e.memoizedProps;if(An(i,n)&&e.ref===t.ref)if(Je=!1,t.pendingProps=n=i,mr(e,s))(e.flags&131072)!==0&&(Je=!0);else return t.lanes=e.lanes,pa(e,t,s)}return ir(e,t,a,n,s)}function kd(e,t,a,n){var s=n.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|a:a,e!==null){for(n=t.child=e.child,s=0;n!==null;)s=s|n.lanes|n.childLanes,n=n.sibling;n=s&~i}else n=0,t.child=null;return Od(e,t,i,a,n)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Os(t,i!==null?i.cachePool:null),i!==null?Uo(t,i):Uc(),Bo(t);else return n=t.lanes=536870912,Od(e,t,i!==null?i.baseLanes|a:a,a,n)}else i!==null?(Os(t,i.cachePool),Uo(t,i),Ha(),t.memoizedState=null):(e!==null&&Os(t,null),Uc(),Ha());return it(e,t,s,a),t.child}function Qn(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Od(e,t,a,n,s){var i=Dc();return i=i===null?null:{parent:Ze._currentValue,pool:i},t.memoizedState={baseLanes:a,cachePool:i},e!==null&&Os(t,null),Uc(),Bo(t),e!==null&&Hl(e,t,n,!0),t.childLanes=s,null}function $s(e,t){return t=Is({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Rd(e,t,a){return xl(t,e.child,null,a),e=$s(t,t.pendingProps),e.flags|=2,_t(t),t.memoizedState=null,e}function Bx(e,t,a){var n=t.pendingProps,s=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(je){if(n.mode==="hidden")return e=$s(t,n),t.lanes=536870912,Qn(null,e);if(qc(t),(e=qe)?(e=Ff(e,Qt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ma!==null?{id:$t,overflow:Wt}:null,retryLane:536870912,hydrationErrors:null},a=yo(e),a.return=t,t.child=a,nt=t,qe=null)):e=null,e===null)throw ka(t);return t.lanes=536870912,null}return $s(t,n)}var i=e.memoizedState;if(i!==null){var u=i.dehydrated;if(qc(t),s)if(t.flags&256)t.flags&=-257,t=Rd(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(o(558));else if(Je||Hl(e,t,a,!1),s=(a&e.childLanes)!==0,Je||s){if(n=De,n!==null&&(u=Cu(n,a),u!==0&&u!==i.retryLane))throw i.retryLane=u,cl(e,u),bt(n,e,u),sr;ci(),t=Rd(e,t,a)}else e=i.treeContext,qe=Vt(u.nextSibling),nt=t,je=!0,_a=null,Qt=!1,e!==null&&jo(t,e),t=$s(t,n),t.flags|=4096;return t}return e=da(e.child,{mode:n.mode,children:n.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Ws(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 ir(e,t,a,n,s){return dl(t),a=Lc(e,t,a,n,void 0,s),n=Gc(),e!==null&&!Je?(Qc(e,t,s),pa(e,t,s)):(je&&n&&jc(t),t.flags|=1,it(e,t,a,s),t.child)}function Ud(e,t,a,n,s,i){return dl(t),t.updateQueue=null,a=Ho(t,n,a,s),qo(e),n=Gc(),e!==null&&!Je?(Qc(e,t,i),pa(e,t,i)):(je&&n&&jc(t),t.flags|=1,it(e,t,a,i),t.child)}function Bd(e,t,a,n,s){if(dl(t),t.stateNode===null){var i=Rl,u=a.contextType;typeof u=="object"&&u!==null&&(i=st(u)),i=new a(n,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=lr,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=n,i.state=t.memoizedState,i.refs={},_c(t),u=a.contextType,i.context=typeof u=="object"&&u!==null?st(u):Rl,i.state=t.memoizedState,u=a.getDerivedStateFromProps,typeof u=="function"&&(ar(t,a,u,n),i.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(u=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),u!==i.state&&lr.enqueueReplaceState(i,i.state,null),Bn(t,n,i,s),Un(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),n=!0}else if(e===null){i=t.stateNode;var f=t.memoizedProps,x=pl(a,f);i.props=x;var M=i.context,L=a.contextType;u=Rl,typeof L=="object"&&L!==null&&(u=st(L));var V=a.getDerivedStateFromProps;L=typeof V=="function"||typeof i.getSnapshotBeforeUpdate=="function",f=t.pendingProps!==f,L||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(f||M!==u)&&Nd(t,i,n,u),Ra=!1;var _=t.memoizedState;i.state=_,Bn(t,n,i,s),Un(),M=t.memoizedState,f||_!==M||Ra?(typeof V=="function"&&(ar(t,a,V,n),M=t.memoizedState),(x=Ra||Sd(t,a,x,n,_,M,u))?(L||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=M),i.props=n,i.state=M,i.context=u,n=x):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),n=!1)}else{i=t.stateNode,kc(e,t),u=t.memoizedProps,L=pl(a,u),i.props=L,V=t.pendingProps,_=i.context,M=a.contextType,x=Rl,typeof M=="object"&&M!==null&&(x=st(M)),f=a.getDerivedStateFromProps,(M=typeof f=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(u!==V||_!==x)&&Nd(t,i,n,x),Ra=!1,_=t.memoizedState,i.state=_,Bn(t,n,i,s),Un();var U=t.memoizedState;u!==V||_!==U||Ra||e!==null&&e.dependencies!==null&&_s(e.dependencies)?(typeof f=="function"&&(ar(t,a,f,n),U=t.memoizedState),(L=Ra||Sd(t,a,L,n,_,U,x)||e!==null&&e.dependencies!==null&&_s(e.dependencies))?(M||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(n,U,x),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(n,U,x)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||u===e.memoizedProps&&_===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&_===e.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=U),i.props=n,i.state=U,i.context=x,n=L):(typeof i.componentDidUpdate!="function"||u===e.memoizedProps&&_===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&_===e.memoizedState||(t.flags|=1024),n=!1)}return i=n,Ws(e,t),n=(t.flags&128)!==0,i||n?(i=t.stateNode,a=n&&typeof a.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&n?(t.child=xl(t,e.child,null,s),t.child=xl(t,null,a,s)):it(e,t,a,s),t.memoizedState=i.state,e=t.child):e=pa(e,t,s),e}function qd(e,t,a,n){return ul(),t.flags|=256,it(e,t,a,n),t.child}var cr={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function rr(e){return{baseLanes:e,cachePool:Ao()}}function ur(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=Ot),e}function Hd(e,t,a){var n=t.pendingProps,s=!1,i=(t.flags&128)!==0,u;if((u=i)||(u=e!==null&&e.memoizedState===null?!1:(Ve.current&2)!==0),u&&(s=!0,t.flags&=-129),u=(t.flags&32)!==0,t.flags&=-33,e===null){if(je){if(s?qa(t):Ha(),(e=qe)?(e=Ff(e,Qt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ma!==null?{id:$t,overflow:Wt}:null,retryLane:536870912,hydrationErrors:null},a=yo(e),a.return=t,t.child=a,nt=t,qe=null)):e=null,e===null)throw ka(t);return Xr(e)?t.lanes=32:t.lanes=536870912,null}var f=n.children;return n=n.fallback,s?(Ha(),s=t.mode,f=Is({mode:"hidden",children:f},s),n=rl(n,s,a,null),f.return=t,n.return=t,f.sibling=n,t.child=f,n=t.child,n.memoizedState=rr(a),n.childLanes=ur(e,u,a),t.memoizedState=cr,Qn(null,n)):(qa(t),or(t,f))}var x=e.memoizedState;if(x!==null&&(f=x.dehydrated,f!==null)){if(i)t.flags&256?(qa(t),t.flags&=-257,t=dr(e,t,a)):t.memoizedState!==null?(Ha(),t.child=e.child,t.flags|=128,t=null):(Ha(),f=n.fallback,s=t.mode,n=Is({mode:"visible",children:n.children},s),f=rl(f,s,a,null),f.flags|=2,n.return=t,f.return=t,n.sibling=f,t.child=n,xl(t,e.child,null,a),n=t.child,n.memoizedState=rr(a),n.childLanes=ur(e,u,a),t.memoizedState=cr,t=Qn(null,n));else if(qa(t),Xr(f)){if(u=f.nextSibling&&f.nextSibling.dataset,u)var M=u.dgst;u=M,n=Error(o(419)),n.stack="",n.digest=u,Dn({value:n,source:null,stack:null}),t=dr(e,t,a)}else if(Je||Hl(e,t,a,!1),u=(a&e.childLanes)!==0,Je||u){if(u=De,u!==null&&(n=Cu(u,a),n!==0&&n!==x.retryLane))throw x.retryLane=n,cl(e,n),bt(u,e,n),sr;Vr(f)||ci(),t=dr(e,t,a)}else Vr(f)?(t.flags|=192,t.child=e.child,t=null):(e=x.treeContext,qe=Vt(f.nextSibling),nt=t,je=!0,_a=null,Qt=!1,e!==null&&jo(t,e),t=or(t,n.children),t.flags|=4096);return t}return s?(Ha(),f=n.fallback,s=t.mode,x=e.child,M=x.sibling,n=da(x,{mode:"hidden",children:n.children}),n.subtreeFlags=x.subtreeFlags&65011712,M!==null?f=da(M,f):(f=rl(f,s,a,null),f.flags|=2),f.return=t,n.return=t,n.sibling=f,t.child=n,Qn(null,n),n=t.child,f=e.child.memoizedState,f===null?f=rr(a):(s=f.cachePool,s!==null?(x=Ze._currentValue,s=s.parent!==x?{parent:x,pool:x}:s):s=Ao(),f={baseLanes:f.baseLanes|a,cachePool:s}),n.memoizedState=f,n.childLanes=ur(e,u,a),t.memoizedState=cr,Qn(e.child,n)):(qa(t),a=e.child,e=a.sibling,a=da(a,{mode:"visible",children:n.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 or(e,t){return t=Is({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Is(e,t){return e=Dt(22,e,null,t),e.lanes=0,e}function dr(e,t,a){return xl(t,e.child,null,a),e=or(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Ld(e,t,a){e.lanes|=t;var n=e.alternate;n!==null&&(n.lanes|=t),wc(e.return,t,a)}function fr(e,t,a,n,s,i){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:a,tailMode:s,treeForkCount:i}:(u.isBackwards=t,u.rendering=null,u.renderingStartTime=0,u.last=n,u.tail=a,u.tailMode=s,u.treeForkCount=i)}function Gd(e,t,a){var n=t.pendingProps,s=n.revealOrder,i=n.tail;n=n.children;var u=Ve.current,f=(u&2)!==0;if(f?(u=u&1|2,t.flags|=128):u&=1,ie(Ve,u),it(e,t,n,a),n=je?Tn:0,!f&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ld(e,a,t);else if(e.tag===19)Ld(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&&Ls(e)===null&&(s=a),a=a.sibling;a=s,a===null?(s=t.child,t.child=null):(s=a.sibling,a.sibling=null),fr(t,!1,s,a,i,n);break;case"backwards":case"unstable_legacy-backwards":for(a=null,s=t.child,t.child=null;s!==null;){if(e=s.alternate,e!==null&&Ls(e)===null){t.child=s;break}e=s.sibling,s.sibling=a,a=s,s=e}fr(t,!0,a,null,i,n);break;case"together":fr(t,!1,null,null,void 0,n);break;default:t.memoizedState=null}return t.child}function pa(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Qa|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(Hl(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=da(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=da(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function mr(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&_s(e)))}function qx(e,t,a){switch(t.tag){case 3:ca(t,t.stateNode.containerInfo),Oa(t,Ze,e.memoizedState.cache),ul();break;case 27:case 5:de(t);break;case 4:ca(t,t.stateNode.containerInfo);break;case 10:Oa(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,qc(t),null;break;case 13:var n=t.memoizedState;if(n!==null)return n.dehydrated!==null?(qa(t),t.flags|=128,null):(a&t.child.childLanes)!==0?Hd(e,t,a):(qa(t),e=pa(e,t,a),e!==null?e.sibling:null);qa(t);break;case 19:var s=(e.flags&128)!==0;if(n=(a&t.childLanes)!==0,n||(Hl(e,t,a,!1),n=(a&t.childLanes)!==0),s){if(n)return Gd(e,t,a);t.flags|=128}if(s=t.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),ie(Ve,Ve.current),n)break;return null;case 22:return t.lanes=0,kd(e,t,a,t.pendingProps);case 24:Oa(t,Ze,e.memoizedState.cache)}return pa(e,t,a)}function Qd(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)Je=!0;else{if(!mr(e,a)&&(t.flags&128)===0)return Je=!1,qx(e,t,a);Je=(e.flags&131072)!==0}else Je=!1,je&&(t.flags&1048576)!==0&&bo(t,Tn,t.index);switch(t.lanes=0,t.tag){case 16:e:{var n=t.pendingProps;if(e=ml(t.elementType),t.type=e,typeof e=="function")yc(e)?(n=pl(e,n),t.tag=1,t=Bd(null,t,e,n,a)):(t.tag=0,t=ir(null,t,e,n,a));else{if(e!=null){var s=e.$$typeof;if(s===K){t.tag=11,t=Dd(null,t,e,n,a);break e}else if(s===X){t.tag=14,t=Md(null,t,e,n,a);break e}}throw t=W(e)||e,Error(o(306,t,""))}}return t;case 0:return ir(e,t,t.type,t.pendingProps,a);case 1:return n=t.type,s=pl(n,t.pendingProps),Bd(e,t,n,s,a);case 3:e:{if(ca(t,t.stateNode.containerInfo),e===null)throw Error(o(387));n=t.pendingProps;var i=t.memoizedState;s=i.element,kc(e,t),Bn(t,n,null,a);var u=t.memoizedState;if(n=u.cache,Oa(t,Ze,n),n!==i.cache&&Ac(t,[Ze],a,!0),Un(),n=u.element,i.isDehydrated)if(i={element:n,isDehydrated:!1,cache:u.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=qd(e,t,n,a);break e}else if(n!==s){s=Ht(Error(o(424)),t),Dn(s),t=qd(e,t,n,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,qe=Vt(e.firstChild),nt=t,je=!0,_a=null,Qt=!0,a=ko(t,null,n,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(ul(),n===s){t=pa(e,t,a);break e}it(e,t,n,a)}t=t.child}return t;case 26:return Ws(e,t),e===null?(a=em(t.type,null,t.pendingProps,null))?t.memoizedState=a:je||(a=t.type,e=t.pendingProps,n=hi(ft.current).createElement(a),n[lt]=t,n[ht]=e,ct(n,a,e),Pe(n),t.stateNode=n):t.memoizedState=em(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return de(t),e===null&&je&&(n=t.stateNode=Wf(t.type,t.pendingProps,ft.current),nt=t,Qt=!0,s=qe,Za(t.type)?(Kr=s,qe=Vt(n.firstChild)):qe=s),it(e,t,t.pendingProps.children,a),Ws(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&je&&((s=n=qe)&&(n=hg(n,t.type,t.pendingProps,Qt),n!==null?(t.stateNode=n,nt=t,qe=Vt(n.firstChild),Qt=!1,s=!0):s=!1),s||ka(t)),de(t),s=t.type,i=t.pendingProps,u=e!==null?e.memoizedProps:null,n=i.children,Gr(s,i)?n=null:u!==null&&Gr(s,u)&&(t.flags|=32),t.memoizedState!==null&&(s=Lc(e,t,Tx,null,null,a),ls._currentValue=s),Ws(e,t),it(e,t,n,a),t.child;case 6:return e===null&&je&&((e=a=qe)&&(a=xg(a,t.pendingProps,Qt),a!==null?(t.stateNode=a,nt=t,qe=null,e=!0):e=!1),e||ka(t)),null;case 13:return Hd(e,t,a);case 4:return ca(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=xl(t,null,n,a):it(e,t,n,a),t.child;case 11:return Dd(e,t,t.type,t.pendingProps,a);case 7:return it(e,t,t.pendingProps,a),t.child;case 8:return it(e,t,t.pendingProps.children,a),t.child;case 12:return it(e,t,t.pendingProps.children,a),t.child;case 10:return n=t.pendingProps,Oa(t,t.type,n.value),it(e,t,n.children,a),t.child;case 9:return s=t.type._context,n=t.pendingProps.children,dl(t),s=st(s),n=n(s),t.flags|=1,it(e,t,n,a),t.child;case 14:return Md(e,t,t.type,t.pendingProps,a);case 15:return _d(e,t,t.type,t.pendingProps,a);case 19:return Gd(e,t,a);case 31:return Bx(e,t,a);case 22:return kd(e,t,a,t.pendingProps);case 24:return dl(t),n=st(Ze),e===null?(s=Dc(),s===null&&(s=De,i=Ec(),s.pooledCache=i,i.refCount++,i!==null&&(s.pooledCacheLanes|=a),s=i),t.memoizedState={parent:n,cache:s},_c(t),Oa(t,Ze,s)):((e.lanes&a)!==0&&(kc(e,t),Bn(t,null,null,a),Un()),s=e.memoizedState,i=t.memoizedState,s.parent!==n?(s={parent:n,cache:n},t.memoizedState=s,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=s),Oa(t,Ze,n)):(n=i.cache,Oa(t,Ze,n),n!==s.cache&&Ac(t,[Ze],a,!0))),it(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(o(156,t.tag))}function ya(e){e.flags|=4}function hr(e,t,a,n,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(gf())e.flags|=8192;else throw hl=Us,Mc}else e.flags&=-16777217}function Yd(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!sm(t))if(gf())e.flags|=8192;else throw hl=Us,Mc}function Ps(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?ju():536870912,e.lanes|=t,Wl|=t)}function Yn(e,t){if(!je)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 n=null;a!==null;)a.alternate!==null&&(n=a),a=a.sibling;n===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:n.sibling=null}}function He(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,n=0;if(t)for(var s=e.child;s!==null;)a|=s.lanes|s.childLanes,n|=s.subtreeFlags&65011712,n|=s.flags&65011712,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)a|=s.lanes|s.childLanes,n|=s.subtreeFlags,n|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=n,e.childLanes=a,t}function Hx(e,t,a){var n=t.pendingProps;switch(Sc(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return He(t),null;case 1:return He(t),null;case 3:return a=t.stateNode,n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ha(Ze),le(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(ql(t)?ya(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Cc())),He(t),null;case 26:var s=t.type,i=t.memoizedState;return e===null?(ya(t),i!==null?(He(t),Yd(t,i)):(He(t),hr(t,s,null,n,a))):i?i!==e.memoizedState?(ya(t),He(t),Yd(t,i)):(He(t),t.flags&=-16777217):(e=e.memoizedProps,e!==n&&ya(t),He(t),hr(t,s,e,n,a)),null;case 27:if(Be(t),a=ft.current,s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&ya(t);else{if(!n){if(t.stateNode===null)throw Error(o(166));return He(t),null}e=Ue.current,ql(t)?So(t):(e=Wf(s,n,a),t.stateNode=e,ya(t))}return He(t),null;case 5:if(Be(t),s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&ya(t);else{if(!n){if(t.stateNode===null)throw Error(o(166));return He(t),null}if(i=Ue.current,ql(t))So(t);else{var u=hi(ft.current);switch(i){case 1:i=u.createElementNS("http://www.w3.org/2000/svg",s);break;case 2:i=u.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;default:switch(s){case"svg":i=u.createElementNS("http://www.w3.org/2000/svg",s);break;case"math":i=u.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;case"script":i=u.createElement("div"),i.innerHTML="<script><\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof n.is=="string"?u.createElement("select",{is:n.is}):u.createElement("select"),n.multiple?i.multiple=!0:n.size&&(i.size=n.size);break;default:i=typeof n.is=="string"?u.createElement(s,{is:n.is}):u.createElement(s)}}i[lt]=t,i[ht]=n;e:for(u=t.child;u!==null;){if(u.tag===5||u.tag===6)i.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=i;e:switch(ct(i,s,n),s){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&ya(t)}}return He(t),hr(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&ya(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(o(166));if(e=ft.current,ql(t)){if(e=t.stateNode,a=t.memoizedProps,n=null,s=nt,s!==null)switch(s.tag){case 27:case 5:n=s.memoizedProps}e[lt]=t,e=!!(e.nodeValue===a||n!==null&&n.suppressHydrationWarning===!0||Lf(e.nodeValue,a)),e||ka(t,!0)}else e=hi(e).createTextNode(n),e[lt]=t,t.stateNode=e}return He(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(n=ql(t),a!==null){if(e===null){if(!n)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[lt]=t}else ul(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;He(t),e=!1}else a=Cc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(_t(t),t):(_t(t),null);if((t.flags&128)!==0)throw Error(o(558))}return He(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(s=ql(t),n!==null&&n.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[lt]=t}else ul(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;He(t),s=!1}else s=Cc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=s),s=!0;if(!s)return t.flags&256?(_t(t),t):(_t(t),null)}return _t(t),(t.flags&128)!==0?(t.lanes=a,t):(a=n!==null,e=e!==null&&e.memoizedState!==null,a&&(n=t.child,s=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(s=n.alternate.memoizedState.cachePool.pool),i=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(i=n.memoizedState.cachePool.pool),i!==s&&(n.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Ps(t,t.updateQueue),He(t),null);case 4:return le(),e===null&&Ur(t.stateNode.containerInfo),He(t),null;case 10:return ha(t.type),He(t),null;case 19:if(te(Ve),n=t.memoizedState,n===null)return He(t),null;if(s=(t.flags&128)!==0,i=n.rendering,i===null)if(s)Yn(n,!1);else{if(Ye!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=Ls(e),i!==null){for(t.flags|=128,Yn(n,!1),e=i.updateQueue,t.updateQueue=e,Ps(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)po(a,e),a=a.sibling;return ie(Ve,Ve.current&1|2),je&&fa(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&wt()>ni&&(t.flags|=128,s=!0,Yn(n,!1),t.lanes=4194304)}else{if(!s)if(e=Ls(i),e!==null){if(t.flags|=128,s=!0,e=e.updateQueue,t.updateQueue=e,Ps(t,e),Yn(n,!0),n.tail===null&&n.tailMode==="hidden"&&!i.alternate&&!je)return He(t),null}else 2*wt()-n.renderingStartTime>ni&&a!==536870912&&(t.flags|=128,s=!0,Yn(n,!1),t.lanes=4194304);n.isBackwards?(i.sibling=t.child,t.child=i):(e=n.last,e!==null?e.sibling=i:t.child=i,n.last=i)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=wt(),e.sibling=null,a=Ve.current,ie(Ve,s?a&1|2:a&1),je&&fa(t,n.treeForkCount),e):(He(t),null);case 22:case 23:return _t(t),Bc(),n=t.memoizedState!==null,e!==null?e.memoizedState!==null!==n&&(t.flags|=8192):n&&(t.flags|=8192),n?(a&536870912)!==0&&(t.flags&128)===0&&(He(t),t.subtreeFlags&6&&(t.flags|=8192)):He(t),a=t.updateQueue,a!==null&&Ps(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),n=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),n!==a&&(t.flags|=2048),e!==null&&te(fl),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ha(Ze),He(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function Lx(e,t){switch(Sc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ha(Ze),le(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Be(t),null;case 31:if(t.memoizedState!==null){if(_t(t),t.alternate===null)throw Error(o(340));ul()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(_t(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));ul()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return te(Ve),null;case 4:return le(),null;case 10:return ha(t.type),null;case 22:case 23:return _t(t),Bc(),e!==null&&te(fl),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ha(Ze),null;case 25:return null;default:return null}}function Vd(e,t){switch(Sc(t),t.tag){case 3:ha(Ze),le();break;case 26:case 27:case 5:Be(t);break;case 4:le();break;case 31:t.memoizedState!==null&&_t(t);break;case 13:_t(t);break;case 19:te(Ve);break;case 10:ha(t.type);break;case 22:case 23:_t(t),Bc(),e!==null&&te(fl);break;case 24:ha(Ze)}}function Vn(e,t){try{var a=t.updateQueue,n=a!==null?a.lastEffect:null;if(n!==null){var s=n.next;a=s;do{if((a.tag&e)===e){n=void 0;var i=a.create,u=a.inst;n=i(),u.destroy=n}a=a.next}while(a!==s)}}catch(f){we(t,t.return,f)}}function La(e,t,a){try{var n=t.updateQueue,s=n!==null?n.lastEffect:null;if(s!==null){var i=s.next;n=i;do{if((n.tag&e)===e){var u=n.inst,f=u.destroy;if(f!==void 0){u.destroy=void 0,s=t;var x=a,M=f;try{M()}catch(L){we(s,x,L)}}}n=n.next}while(n!==i)}}catch(L){we(t,t.return,L)}}function Xd(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Ro(t,a)}catch(n){we(e,e.return,n)}}}function Kd(e,t,a){a.props=pl(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(n){we(e,t,n)}}function Xn(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var n=e.stateNode;break;case 30:n=e.stateNode;break;default:n=e.stateNode}typeof a=="function"?e.refCleanup=a(n):a.current=n}}catch(s){we(e,t,s)}}function It(e,t){var a=e.ref,n=e.refCleanup;if(a!==null)if(typeof n=="function")try{n()}catch(s){we(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){we(e,t,s)}else a.current=null}function Zd(e){var t=e.type,a=e.memoizedProps,n=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&n.focus();break e;case"img":a.src?n.src=a.src:a.srcSet&&(n.srcset=a.srcSet)}}catch(s){we(e,e.return,s)}}function xr(e,t,a){try{var n=e.stateNode;rg(n,e.type,a,t),n[ht]=t}catch(s){we(e,e.return,s)}}function Fd(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Za(e.type)||e.tag===4}function gr(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(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&&Za(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 pr(e,t,a){var n=e.tag;if(n===5||n===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=ua));else if(n!==4&&(n===27&&Za(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(pr(e,t,a),e=e.sibling;e!==null;)pr(e,t,a),e=e.sibling}function ei(e,t,a){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(n!==4&&(n===27&&Za(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(ei(e,t,a),e=e.sibling;e!==null;)ei(e,t,a),e=e.sibling}function Jd(e){var t=e.stateNode,a=e.memoizedProps;try{for(var n=e.type,s=t.attributes;s.length;)t.removeAttributeNode(s[0]);ct(t,n,a),t[lt]=e,t[ht]=a}catch(i){we(e,e.return,i)}}var va=!1,$e=!1,yr=!1,$d=typeof WeakSet=="function"?WeakSet:Set,et=null;function Gx(e,t){if(e=e.containerInfo,Hr=ji,e=co(e),dc(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var n=a.getSelection&&a.getSelection();if(n&&n.rangeCount!==0){a=n.anchorNode;var s=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{a.nodeType,i.nodeType}catch{a=null;break e}var u=0,f=-1,x=-1,M=0,L=0,V=e,_=null;t:for(;;){for(var U;V!==a||s!==0&&V.nodeType!==3||(f=u+s),V!==i||n!==0&&V.nodeType!==3||(x=u+n),V.nodeType===3&&(u+=V.nodeValue.length),(U=V.firstChild)!==null;)_=V,V=U;for(;;){if(V===e)break t;if(_===a&&++M===s&&(f=u),_===i&&++L===n&&(x=u),(U=V.nextSibling)!==null)break;V=_,_=V.parentNode}V=U}a=f===-1||x===-1?null:{start:f,end:x}}else a=null}a=a||{start:0,end:0}}else a=null;for(Lr={focusedElem:e,selectionRange:a},ji=!1,et=t;et!==null;)if(t=et,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,et=e;else for(;et!==null;){switch(t=et,i=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&&i!==null){e=void 0,a=t,s=i.memoizedProps,i=i.memoizedState,n=a.stateNode;try{var se=pl(a.type,s);e=n.getSnapshotBeforeUpdate(se,i),n.__reactInternalSnapshotBeforeUpdate=e}catch(ue){we(a,a.return,ue)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)Yr(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Yr(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,et=e;break}et=t.return}}function Wd(e,t,a){var n=a.flags;switch(a.tag){case 0:case 11:case 15:ja(e,a),n&4&&Vn(5,a);break;case 1:if(ja(e,a),n&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(u){we(a,a.return,u)}else{var s=pl(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(s,t,e.__reactInternalSnapshotBeforeUpdate)}catch(u){we(a,a.return,u)}}n&64&&Xd(a),n&512&&Xn(a,a.return);break;case 3:if(ja(e,a),n&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{Ro(e,t)}catch(u){we(a,a.return,u)}}break;case 27:t===null&&n&4&&Jd(a);case 26:case 5:ja(e,a),t===null&&n&4&&Zd(a),n&512&&Xn(a,a.return);break;case 12:ja(e,a);break;case 31:ja(e,a),n&4&&ef(e,a);break;case 13:ja(e,a),n&4&&tf(e,a),n&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=$x.bind(null,a),gg(e,a))));break;case 22:if(n=a.memoizedState!==null||va,!n){t=t!==null&&t.memoizedState!==null||$e,s=va;var i=$e;va=n,($e=t)&&!i?Sa(e,a,(a.subtreeFlags&8772)!==0):ja(e,a),va=s,$e=i}break;case 30:break;default:ja(e,a)}}function Id(e){var t=e.alternate;t!==null&&(e.alternate=null,Id(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Fi(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 Le=null,gt=!1;function ba(e,t,a){for(a=a.child;a!==null;)Pd(e,t,a),a=a.sibling}function Pd(e,t,a){if(At&&typeof At.onCommitFiberUnmount=="function")try{At.onCommitFiberUnmount(xn,a)}catch{}switch(a.tag){case 26:$e||It(a,t),ba(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:$e||It(a,t);var n=Le,s=gt;Za(a.type)&&(Le=a.stateNode,gt=!1),ba(e,t,a),es(a.stateNode),Le=n,gt=s;break;case 5:$e||It(a,t);case 6:if(n=Le,s=gt,Le=null,ba(e,t,a),Le=n,gt=s,Le!==null)if(gt)try{(Le.nodeType===9?Le.body:Le.nodeName==="HTML"?Le.ownerDocument.body:Le).removeChild(a.stateNode)}catch(i){we(a,t,i)}else try{Le.removeChild(a.stateNode)}catch(i){we(a,t,i)}break;case 18:Le!==null&&(gt?(e=Le,Kf(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),sn(e)):Kf(Le,a.stateNode));break;case 4:n=Le,s=gt,Le=a.stateNode.containerInfo,gt=!0,ba(e,t,a),Le=n,gt=s;break;case 0:case 11:case 14:case 15:La(2,a,t),$e||La(4,a,t),ba(e,t,a);break;case 1:$e||(It(a,t),n=a.stateNode,typeof n.componentWillUnmount=="function"&&Kd(a,t,n)),ba(e,t,a);break;case 21:ba(e,t,a);break;case 22:$e=(n=$e)||a.memoizedState!==null,ba(e,t,a),$e=n;break;default:ba(e,t,a)}}function ef(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{sn(e)}catch(a){we(t,t.return,a)}}}function tf(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{sn(e)}catch(a){we(t,t.return,a)}}function Qx(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new $d),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new $d),t;default:throw Error(o(435,e.tag))}}function ti(e,t){var a=Qx(e);t.forEach(function(n){if(!a.has(n)){a.add(n);var s=Wx.bind(null,e,n);n.then(s,s)}})}function pt(e,t){var a=t.deletions;if(a!==null)for(var n=0;n<a.length;n++){var s=a[n],i=e,u=t,f=u;e:for(;f!==null;){switch(f.tag){case 27:if(Za(f.type)){Le=f.stateNode,gt=!1;break e}break;case 5:Le=f.stateNode,gt=!1;break e;case 3:case 4:Le=f.stateNode.containerInfo,gt=!0;break e}f=f.return}if(Le===null)throw Error(o(160));Pd(i,u,s),Le=null,gt=!1,i=s.alternate,i!==null&&(i.return=null),s.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)af(t,e),t=t.sibling}var Ft=null;function af(e,t){var a=e.alternate,n=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:pt(t,e),yt(e),n&4&&(La(3,e,e.return),Vn(3,e),La(5,e,e.return));break;case 1:pt(t,e),yt(e),n&512&&($e||a===null||It(a,a.return)),n&64&&va&&(e=e.updateQueue,e!==null&&(n=e.callbacks,n!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?n:a.concat(n))));break;case 26:var s=Ft;if(pt(t,e),yt(e),n&512&&($e||a===null||It(a,a.return)),n&4){var i=a!==null?a.memoizedState:null;if(n=e.memoizedState,a===null)if(n===null)if(e.stateNode===null){e:{n=e.type,a=e.memoizedProps,s=s.ownerDocument||s;t:switch(n){case"title":i=s.getElementsByTagName("title")[0],(!i||i[yn]||i[lt]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=s.createElement(n),s.head.insertBefore(i,s.querySelector("head > title"))),ct(i,n,a),i[lt]=e,Pe(i),n=i;break e;case"link":var u=lm("link","href",s).get(n+(a.href||""));if(u){for(var f=0;f<u.length;f++)if(i=u[f],i.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&i.getAttribute("rel")===(a.rel==null?null:a.rel)&&i.getAttribute("title")===(a.title==null?null:a.title)&&i.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){u.splice(f,1);break t}}i=s.createElement(n),ct(i,n,a),s.head.appendChild(i);break;case"meta":if(u=lm("meta","content",s).get(n+(a.content||""))){for(f=0;f<u.length;f++)if(i=u[f],i.getAttribute("content")===(a.content==null?null:""+a.content)&&i.getAttribute("name")===(a.name==null?null:a.name)&&i.getAttribute("property")===(a.property==null?null:a.property)&&i.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&i.getAttribute("charset")===(a.charSet==null?null:a.charSet)){u.splice(f,1);break t}}i=s.createElement(n),ct(i,n,a),s.head.appendChild(i);break;default:throw Error(o(468,n))}i[lt]=e,Pe(i),n=i}e.stateNode=n}else nm(s,e.type,e.stateNode);else e.stateNode=am(s,n,e.memoizedProps);else i!==n?(i===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):i.count--,n===null?nm(s,e.type,e.stateNode):am(s,n,e.memoizedProps)):n===null&&e.stateNode!==null&&xr(e,e.memoizedProps,a.memoizedProps)}break;case 27:pt(t,e),yt(e),n&512&&($e||a===null||It(a,a.return)),a!==null&&n&4&&xr(e,e.memoizedProps,a.memoizedProps);break;case 5:if(pt(t,e),yt(e),n&512&&($e||a===null||It(a,a.return)),e.flags&32){s=e.stateNode;try{El(s,"")}catch(se){we(e,e.return,se)}}n&4&&e.stateNode!=null&&(s=e.memoizedProps,xr(e,s,a!==null?a.memoizedProps:s)),n&1024&&(yr=!0);break;case 6:if(pt(t,e),yt(e),n&4){if(e.stateNode===null)throw Error(o(162));n=e.memoizedProps,a=e.stateNode;try{a.nodeValue=n}catch(se){we(e,e.return,se)}}break;case 3:if(pi=null,s=Ft,Ft=xi(t.containerInfo),pt(t,e),Ft=s,yt(e),n&4&&a!==null&&a.memoizedState.isDehydrated)try{sn(t.containerInfo)}catch(se){we(e,e.return,se)}yr&&(yr=!1,lf(e));break;case 4:n=Ft,Ft=xi(e.stateNode.containerInfo),pt(t,e),yt(e),Ft=n;break;case 12:pt(t,e),yt(e);break;case 31:pt(t,e),yt(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,ti(e,n)));break;case 13:pt(t,e),yt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(li=wt()),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,ti(e,n)));break;case 22:s=e.memoizedState!==null;var x=a!==null&&a.memoizedState!==null,M=va,L=$e;if(va=M||s,$e=L||x,pt(t,e),$e=L,va=M,yt(e),n&8192)e:for(t=e.stateNode,t._visibility=s?t._visibility&-2:t._visibility|1,s&&(a===null||x||va||$e||yl(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){x=a=t;try{if(i=x.stateNode,s)u=i.style,typeof u.setProperty=="function"?u.setProperty("display","none","important"):u.display="none";else{f=x.stateNode;var V=x.memoizedProps.style,_=V!=null&&V.hasOwnProperty("display")?V.display:null;f.style.display=_==null||typeof _=="boolean"?"":(""+_).trim()}}catch(se){we(x,x.return,se)}}}else if(t.tag===6){if(a===null){x=t;try{x.stateNode.nodeValue=s?"":x.memoizedProps}catch(se){we(x,x.return,se)}}}else if(t.tag===18){if(a===null){x=t;try{var U=x.stateNode;s?Zf(U,!0):Zf(x.stateNode,!1)}catch(se){we(x,x.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}n&4&&(n=e.updateQueue,n!==null&&(a=n.retryQueue,a!==null&&(n.retryQueue=null,ti(e,a))));break;case 19:pt(t,e),yt(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,ti(e,n)));break;case 30:break;case 21:break;default:pt(t,e),yt(e)}}function yt(e){var t=e.flags;if(t&2){try{for(var a,n=e.return;n!==null;){if(Fd(n)){a=n;break}n=n.return}if(a==null)throw Error(o(160));switch(a.tag){case 27:var s=a.stateNode,i=gr(e);ei(e,i,s);break;case 5:var u=a.stateNode;a.flags&32&&(El(u,""),a.flags&=-33);var f=gr(e);ei(e,f,u);break;case 3:case 4:var x=a.stateNode.containerInfo,M=gr(e);pr(e,M,x);break;default:throw Error(o(161))}}catch(L){we(e,e.return,L)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function lf(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;lf(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function ja(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Wd(e,t.alternate,t),t=t.sibling}function yl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:La(4,t,t.return),yl(t);break;case 1:It(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&Kd(t,t.return,a),yl(t);break;case 27:es(t.stateNode);case 26:case 5:It(t,t.return),yl(t);break;case 22:t.memoizedState===null&&yl(t);break;case 30:yl(t);break;default:yl(t)}e=e.sibling}}function Sa(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var n=t.alternate,s=e,i=t,u=i.flags;switch(i.tag){case 0:case 11:case 15:Sa(s,i,a),Vn(4,i);break;case 1:if(Sa(s,i,a),n=i,s=n.stateNode,typeof s.componentDidMount=="function")try{s.componentDidMount()}catch(M){we(n,n.return,M)}if(n=i,s=n.updateQueue,s!==null){var f=n.stateNode;try{var x=s.shared.hiddenCallbacks;if(x!==null)for(s.shared.hiddenCallbacks=null,s=0;s<x.length;s++)Oo(x[s],f)}catch(M){we(n,n.return,M)}}a&&u&64&&Xd(i),Xn(i,i.return);break;case 27:Jd(i);case 26:case 5:Sa(s,i,a),a&&n===null&&u&4&&Zd(i),Xn(i,i.return);break;case 12:Sa(s,i,a);break;case 31:Sa(s,i,a),a&&u&4&&ef(s,i);break;case 13:Sa(s,i,a),a&&u&4&&tf(s,i);break;case 22:i.memoizedState===null&&Sa(s,i,a),Xn(i,i.return);break;case 30:break;default:Sa(s,i,a)}t=t.sibling}}function vr(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&&Mn(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&&Mn(e))}function Jt(e,t,a,n){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)nf(e,t,a,n),t=t.sibling}function nf(e,t,a,n){var s=t.flags;switch(t.tag){case 0:case 11:case 15:Jt(e,t,a,n),s&2048&&Vn(9,t);break;case 1:Jt(e,t,a,n);break;case 3:Jt(e,t,a,n),s&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Mn(e)));break;case 12:if(s&2048){Jt(e,t,a,n),e=t.stateNode;try{var i=t.memoizedProps,u=i.id,f=i.onPostCommit;typeof f=="function"&&f(u,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(x){we(t,t.return,x)}}else Jt(e,t,a,n);break;case 31:Jt(e,t,a,n);break;case 13:Jt(e,t,a,n);break;case 23:break;case 22:i=t.stateNode,u=t.alternate,t.memoizedState!==null?i._visibility&2?Jt(e,t,a,n):Kn(e,t):i._visibility&2?Jt(e,t,a,n):(i._visibility|=2,Fl(e,t,a,n,(t.subtreeFlags&10256)!==0||!1)),s&2048&&vr(u,t);break;case 24:Jt(e,t,a,n),s&2048&&br(t.alternate,t);break;default:Jt(e,t,a,n)}}function Fl(e,t,a,n,s){for(s=s&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,u=t,f=a,x=n,M=u.flags;switch(u.tag){case 0:case 11:case 15:Fl(i,u,f,x,s),Vn(8,u);break;case 23:break;case 22:var L=u.stateNode;u.memoizedState!==null?L._visibility&2?Fl(i,u,f,x,s):Kn(i,u):(L._visibility|=2,Fl(i,u,f,x,s)),s&&M&2048&&vr(u.alternate,u);break;case 24:Fl(i,u,f,x,s),s&&M&2048&&br(u.alternate,u);break;default:Fl(i,u,f,x,s)}t=t.sibling}}function Kn(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,n=t,s=n.flags;switch(n.tag){case 22:Kn(a,n),s&2048&&vr(n.alternate,n);break;case 24:Kn(a,n),s&2048&&br(n.alternate,n);break;default:Kn(a,n)}t=t.sibling}}var Zn=8192;function Jl(e,t,a){if(e.subtreeFlags&Zn)for(e=e.child;e!==null;)sf(e,t,a),e=e.sibling}function sf(e,t,a){switch(e.tag){case 26:Jl(e,t,a),e.flags&Zn&&e.memoizedState!==null&&Eg(a,Ft,e.memoizedState,e.memoizedProps);break;case 5:Jl(e,t,a);break;case 3:case 4:var n=Ft;Ft=xi(e.stateNode.containerInfo),Jl(e,t,a),Ft=n;break;case 22:e.memoizedState===null&&(n=e.alternate,n!==null&&n.memoizedState!==null?(n=Zn,Zn=16777216,Jl(e,t,a),Zn=n):Jl(e,t,a));break;default:Jl(e,t,a)}}function cf(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 Fn(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var n=t[a];et=n,uf(n,e)}cf(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)rf(e),e=e.sibling}function rf(e){switch(e.tag){case 0:case 11:case 15:Fn(e),e.flags&2048&&La(9,e,e.return);break;case 3:Fn(e);break;case 12:Fn(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,ai(e)):Fn(e);break;default:Fn(e)}}function ai(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var n=t[a];et=n,uf(n,e)}cf(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:La(8,t,t.return),ai(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,ai(t));break;default:ai(t)}e=e.sibling}}function uf(e,t){for(;et!==null;){var a=et;switch(a.tag){case 0:case 11:case 15:La(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var n=a.memoizedState.cachePool.pool;n!=null&&n.refCount++}break;case 24:Mn(a.memoizedState.cache)}if(n=a.child,n!==null)n.return=a,et=n;else e:for(a=e;et!==null;){n=et;var s=n.sibling,i=n.return;if(Id(n),n===a){et=null;break e}if(s!==null){s.return=i,et=s;break e}et=i}}}var Yx={getCacheForType:function(e){var t=st(Ze),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return st(Ze).controller.signal}},Vx=typeof WeakMap=="function"?WeakMap:Map,Ce=0,De=null,xe=null,ye=0,ze=0,kt=null,Ga=!1,$l=!1,jr=!1,Na=0,Ye=0,Qa=0,vl=0,Sr=0,Ot=0,Wl=0,Jn=null,vt=null,Nr=!1,li=0,of=0,ni=1/0,si=null,Ya=null,We=0,Va=null,Il=null,Ca=0,Cr=0,zr=null,df=null,$n=0,wr=null;function Rt(){return(Ce&2)!==0&&ye!==0?ye&-ye:g.T!==null?_r():zu()}function ff(){if(Ot===0)if((ye&536870912)===0||je){var e=ms;ms<<=1,(ms&3932160)===0&&(ms=262144),Ot=e}else Ot=536870912;return e=Mt.current,e!==null&&(e.flags|=32),Ot}function bt(e,t,a){(e===De&&(ze===2||ze===9)||e.cancelPendingCommit!==null)&&(Pl(e,0),Xa(e,ye,Ot,!1)),pn(e,a),((Ce&2)===0||e!==De)&&(e===De&&((Ce&2)===0&&(vl|=a),Ye===4&&Xa(e,ye,Ot,!1)),Pt(e))}function mf(e,t,a){if((Ce&6)!==0)throw Error(o(327));var n=!a&&(t&127)===0&&(t&e.expiredLanes)===0||gn(e,t),s=n?Zx(e,t):Er(e,t,!0),i=n;do{if(s===0){$l&&!n&&Xa(e,t,0,!1);break}else{if(a=e.current.alternate,i&&!Xx(a)){s=Er(e,t,!1),i=!1;continue}if(s===2){if(i=t,e.errorRecoveryDisabledLanes&i)var u=0;else u=e.pendingLanes&-536870913,u=u!==0?u:u&536870912?536870912:0;if(u!==0){t=u;e:{var f=e;s=Jn;var x=f.current.memoizedState.isDehydrated;if(x&&(Pl(f,u).flags|=256),u=Er(f,u,!1),u!==2){if(jr&&!x){f.errorRecoveryDisabledLanes|=i,vl|=i,s=4;break e}i=vt,vt=s,i!==null&&(vt===null?vt=i:vt.push.apply(vt,i))}s=u}if(i=!1,s!==2)continue}}if(s===1){Pl(e,0),Xa(e,t,0,!0);break}e:{switch(n=e,i=s,i){case 0:case 1:throw Error(o(345));case 4:if((t&4194048)!==t)break;case 6:Xa(n,t,Ot,!Ga);break e;case 2:vt=null;break;case 3:case 5:break;default:throw Error(o(329))}if((t&62914560)===t&&(s=li+300-wt(),10<s)){if(Xa(n,t,Ot,!Ga),xs(n,0,!0)!==0)break e;Ca=t,n.timeoutHandle=Vf(hf.bind(null,n,a,vt,si,Nr,t,Ot,vl,Wl,Ga,i,"Throttled",-0,0),s);break e}hf(n,a,vt,si,Nr,t,Ot,vl,Wl,Ga,i,null,-0,0)}}break}while(!0);Pt(e)}function hf(e,t,a,n,s,i,u,f,x,M,L,V,_,U){if(e.timeoutHandle=-1,V=t.subtreeFlags,V&8192||(V&16785408)===16785408){V={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ua},sf(t,i,V);var se=(i&62914560)===i?li-wt():(i&4194048)===i?of-wt():0;if(se=Tg(V,se),se!==null){Ca=i,e.cancelPendingCommit=se(Sf.bind(null,e,t,i,a,n,s,u,f,x,L,V,null,_,U)),Xa(e,i,u,!M);return}}Sf(e,t,i,a,n,s,u,f,x)}function Xx(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 n=0;n<a.length;n++){var s=a[n],i=s.getSnapshot;s=s.value;try{if(!Tt(i(),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 Xa(e,t,a,n){t&=~Sr,t&=~vl,e.suspendedLanes|=t,e.pingedLanes&=~t,n&&(e.warmLanes|=t),n=e.expirationTimes;for(var s=t;0<s;){var i=31-Et(s),u=1<<i;n[i]=-1,s&=~u}a!==0&&Su(e,a,t)}function ii(){return(Ce&6)===0?(Wn(0),!1):!0}function Ar(){if(xe!==null){if(ze===0)var e=xe.return;else e=xe,ma=ol=null,Yc(e),Yl=null,kn=0,e=xe;for(;e!==null;)Vd(e.alternate,e),e=e.return;xe=null}}function Pl(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,dg(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),Ca=0,Ar(),De=e,xe=a=da(e.current,null),ye=t,ze=0,kt=null,Ga=!1,$l=gn(e,t),jr=!1,Wl=Ot=Sr=vl=Qa=Ye=0,vt=Jn=null,Nr=!1,(t&8)!==0&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0<n;){var s=31-Et(n),i=1<<s;t|=e[s],n&=~i}return Na=t,As(),a}function xf(e,t){me=null,g.H=Gn,t===Ql||t===Rs?(t=Do(),ze=3):t===Mc?(t=Do(),ze=4):ze=t===sr?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,kt=t,xe===null&&(Ye=1,Js(e,Ht(t,e.current)))}function gf(){var e=Mt.current;return e===null?!0:(ye&4194048)===ye?Yt===null:(ye&62914560)===ye||(ye&536870912)!==0?e===Yt:!1}function pf(){var e=g.H;return g.H=Gn,e===null?Gn:e}function yf(){var e=g.A;return g.A=Yx,e}function ci(){Ye=4,Ga||(ye&4194048)!==ye&&Mt.current!==null||($l=!0),(Qa&134217727)===0&&(vl&134217727)===0||De===null||Xa(De,ye,Ot,!1)}function Er(e,t,a){var n=Ce;Ce|=2;var s=pf(),i=yf();(De!==e||ye!==t)&&(si=null,Pl(e,t)),t=!1;var u=Ye;e:do try{if(ze!==0&&xe!==null){var f=xe,x=kt;switch(ze){case 8:Ar(),u=6;break e;case 3:case 2:case 9:case 6:Mt.current===null&&(t=!0);var M=ze;if(ze=0,kt=null,en(e,f,x,M),a&&$l){u=0;break e}break;default:M=ze,ze=0,kt=null,en(e,f,x,M)}}Kx(),u=Ye;break}catch(L){xf(e,L)}while(!0);return t&&e.shellSuspendCounter++,ma=ol=null,Ce=n,g.H=s,g.A=i,xe===null&&(De=null,ye=0,As()),u}function Kx(){for(;xe!==null;)vf(xe)}function Zx(e,t){var a=Ce;Ce|=2;var n=pf(),s=yf();De!==e||ye!==t?(si=null,ni=wt()+500,Pl(e,t)):$l=gn(e,t);e:do try{if(ze!==0&&xe!==null){t=xe;var i=kt;t:switch(ze){case 1:ze=0,kt=null,en(e,t,i,1);break;case 2:case 9:if(Eo(i)){ze=0,kt=null,bf(t);break}t=function(){ze!==2&&ze!==9||De!==e||(ze=7),Pt(e)},i.then(t,t);break e;case 3:ze=7;break e;case 4:ze=5;break e;case 7:Eo(i)?(ze=0,kt=null,bf(t)):(ze=0,kt=null,en(e,t,i,7));break;case 5:var u=null;switch(xe.tag){case 26:u=xe.memoizedState;case 5:case 27:var f=xe;if(u?sm(u):f.stateNode.complete){ze=0,kt=null;var x=f.sibling;if(x!==null)xe=x;else{var M=f.return;M!==null?(xe=M,ri(M)):xe=null}break t}}ze=0,kt=null,en(e,t,i,5);break;case 6:ze=0,kt=null,en(e,t,i,6);break;case 8:Ar(),Ye=6;break e;default:throw Error(o(462))}}Fx();break}catch(L){xf(e,L)}while(!0);return ma=ol=null,g.H=n,g.A=s,Ce=a,xe!==null?0:(De=null,ye=0,As(),Ye)}function Fx(){for(;xe!==null&&!ph();)vf(xe)}function vf(e){var t=Qd(e.alternate,e,Na);e.memoizedProps=e.pendingProps,t===null?ri(e):xe=t}function bf(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=Ud(a,t,t.pendingProps,t.type,void 0,ye);break;case 11:t=Ud(a,t,t.pendingProps,t.type.render,t.ref,ye);break;case 5:Yc(t);default:Vd(a,t),t=xe=po(t,Na),t=Qd(a,t,Na)}e.memoizedProps=e.pendingProps,t===null?ri(e):xe=t}function en(e,t,a,n){ma=ol=null,Yc(t),Yl=null,kn=0;var s=t.return;try{if(Ux(e,s,t,a,ye)){Ye=1,Js(e,Ht(a,e.current)),xe=null;return}}catch(i){if(s!==null)throw xe=s,i;Ye=1,Js(e,Ht(a,e.current)),xe=null;return}t.flags&32768?(je||n===1?e=!0:$l||(ye&536870912)!==0?e=!1:(Ga=e=!0,(n===2||n===9||n===3||n===6)&&(n=Mt.current,n!==null&&n.tag===13&&(n.flags|=16384))),jf(t,e)):ri(t)}function ri(e){var t=e;do{if((t.flags&32768)!==0){jf(t,Ga);return}e=t.return;var a=Hx(t.alternate,t,Na);if(a!==null){xe=a;return}if(t=t.sibling,t!==null){xe=t;return}xe=t=e}while(t!==null);Ye===0&&(Ye=5)}function jf(e,t){do{var a=Lx(e.alternate,e);if(a!==null){a.flags&=32767,xe=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){xe=e;return}xe=e=a}while(e!==null);Ye=6,xe=null}function Sf(e,t,a,n,s,i,u,f,x){e.cancelPendingCommit=null;do ui();while(We!==0);if((Ce&6)!==0)throw Error(o(327));if(t!==null){if(t===e.current)throw Error(o(177));if(i=t.lanes|t.childLanes,i|=gc,Ah(e,a,i,u,f,x),e===De&&(xe=De=null,ye=0),Il=t,Va=e,Ca=a,Cr=i,zr=s,df=n,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,Ix(ds,function(){return Af(),null})):(e.callbackNode=null,e.callbackPriority=0),n=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||n){n=g.T,g.T=null,s=T.p,T.p=2,u=Ce,Ce|=4;try{Gx(e,t,a)}finally{Ce=u,T.p=s,g.T=n}}We=1,Nf(),Cf(),zf()}}function Nf(){if(We===1){We=0;var e=Va,t=Il,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=g.T,g.T=null;var n=T.p;T.p=2;var s=Ce;Ce|=4;try{af(t,e);var i=Lr,u=co(e.containerInfo),f=i.focusedElem,x=i.selectionRange;if(u!==f&&f&&f.ownerDocument&&io(f.ownerDocument.documentElement,f)){if(x!==null&&dc(f)){var M=x.start,L=x.end;if(L===void 0&&(L=M),"selectionStart"in f)f.selectionStart=M,f.selectionEnd=Math.min(L,f.value.length);else{var V=f.ownerDocument||document,_=V&&V.defaultView||window;if(_.getSelection){var U=_.getSelection(),se=f.textContent.length,ue=Math.min(x.start,se),Te=x.end===void 0?ue:Math.min(x.end,se);!U.extend&&ue>Te&&(u=Te,Te=ue,ue=u);var N=so(f,ue),b=so(f,Te);if(N&&b&&(U.rangeCount!==1||U.anchorNode!==N.node||U.anchorOffset!==N.offset||U.focusNode!==b.node||U.focusOffset!==b.offset)){var D=V.createRange();D.setStart(N.node,N.offset),U.removeAllRanges(),ue>Te?(U.addRange(D),U.extend(b.node,b.offset)):(D.setEnd(b.node,b.offset),U.addRange(D))}}}}for(V=[],U=f;U=U.parentNode;)U.nodeType===1&&V.push({element:U,left:U.scrollLeft,top:U.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;f<V.length;f++){var Y=V[f];Y.element.scrollLeft=Y.left,Y.element.scrollTop=Y.top}}ji=!!Hr,Lr=Hr=null}finally{Ce=s,T.p=n,g.T=a}}e.current=t,We=2}}function Cf(){if(We===2){We=0;var e=Va,t=Il,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=g.T,g.T=null;var n=T.p;T.p=2;var s=Ce;Ce|=4;try{Wd(e,t.alternate,t)}finally{Ce=s,T.p=n,g.T=a}}We=3}}function zf(){if(We===4||We===3){We=0,yh();var e=Va,t=Il,a=Ca,n=df;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?We=5:(We=0,Il=Va=null,wf(e,e.pendingLanes));var s=e.pendingLanes;if(s===0&&(Ya=null),Ki(a),t=t.stateNode,At&&typeof At.onCommitFiberRoot=="function")try{At.onCommitFiberRoot(xn,t,void 0,(t.current.flags&128)===128)}catch{}if(n!==null){t=g.T,s=T.p,T.p=2,g.T=null;try{for(var i=e.onRecoverableError,u=0;u<n.length;u++){var f=n[u];i(f.value,{componentStack:f.stack})}}finally{g.T=t,T.p=s}}(Ca&3)!==0&&ui(),Pt(e),s=e.pendingLanes,(a&261930)!==0&&(s&42)!==0?e===wr?$n++:($n=0,wr=e):$n=0,Wn(0)}}function wf(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Mn(t)))}function ui(){return Nf(),Cf(),zf(),Af()}function Af(){if(We!==5)return!1;var e=Va,t=Cr;Cr=0;var a=Ki(Ca),n=g.T,s=T.p;try{T.p=32>a?32:a,g.T=null,a=zr,zr=null;var i=Va,u=Ca;if(We=0,Il=Va=null,Ca=0,(Ce&6)!==0)throw Error(o(331));var f=Ce;if(Ce|=4,rf(i.current),nf(i,i.current,u,a),Ce=f,Wn(0,!1),At&&typeof At.onPostCommitFiberRoot=="function")try{At.onPostCommitFiberRoot(xn,i)}catch{}return!0}finally{T.p=s,g.T=n,wf(e,t)}}function Ef(e,t,a){t=Ht(a,t),t=nr(e.stateNode,t,2),e=Ba(e,t,2),e!==null&&(pn(e,2),Pt(e))}function we(e,t,a){if(e.tag===3)Ef(e,e,a);else for(;t!==null;){if(t.tag===3){Ef(t,e,a);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Ya===null||!Ya.has(n))){e=Ht(a,e),a=Ed(2),n=Ba(t,a,2),n!==null&&(Td(a,n,t,e),pn(n,2),Pt(n));break}}t=t.return}}function Tr(e,t,a){var n=e.pingCache;if(n===null){n=e.pingCache=new Vx;var s=new Set;n.set(t,s)}else s=n.get(t),s===void 0&&(s=new Set,n.set(t,s));s.has(a)||(jr=!0,s.add(a),e=Jx.bind(null,e,t,a),t.then(e,e))}function Jx(e,t,a){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,De===e&&(ye&a)===a&&(Ye===4||Ye===3&&(ye&62914560)===ye&&300>wt()-li?(Ce&2)===0&&Pl(e,0):Sr|=a,Wl===ye&&(Wl=0)),Pt(e)}function Tf(e,t){t===0&&(t=ju()),e=cl(e,t),e!==null&&(pn(e,t),Pt(e))}function $x(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Tf(e,a)}function Wx(e,t){var a=0;switch(e.tag){case 31:case 13:var n=e.stateNode,s=e.memoizedState;s!==null&&(a=s.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(o(314))}n!==null&&n.delete(t),Tf(e,a)}function Ix(e,t){return Qi(e,t)}var oi=null,tn=null,Dr=!1,di=!1,Mr=!1,Ka=0;function Pt(e){e!==tn&&e.next===null&&(tn===null?oi=tn=e:tn=tn.next=e),di=!0,Dr||(Dr=!0,eg())}function Wn(e,t){if(!Mr&&di){Mr=!0;do for(var a=!1,n=oi;n!==null;){if(e!==0){var s=n.pendingLanes;if(s===0)var i=0;else{var u=n.suspendedLanes,f=n.pingedLanes;i=(1<<31-Et(42|e)+1)-1,i&=s&~(u&~f),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(a=!0,kf(n,i))}else i=ye,i=xs(n,n===De?i:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(i&3)===0||gn(n,i)||(a=!0,kf(n,i));n=n.next}while(a);Mr=!1}}function Px(){Df()}function Df(){di=Dr=!1;var e=0;Ka!==0&&og()&&(e=Ka);for(var t=wt(),a=null,n=oi;n!==null;){var s=n.next,i=Mf(n,t);i===0?(n.next=null,a===null?oi=s:a.next=s,s===null&&(tn=a)):(a=n,(e!==0||(i&3)!==0)&&(di=!0)),n=s}We!==0&&We!==5||Wn(e),Ka!==0&&(Ka=0)}function Mf(e,t){for(var a=e.suspendedLanes,n=e.pingedLanes,s=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var u=31-Et(i),f=1<<u,x=s[u];x===-1?((f&a)===0||(f&n)!==0)&&(s[u]=wh(f,t)):x<=t&&(e.expiredLanes|=f),i&=~f}if(t=De,a=ye,a=xs(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n=e.callbackNode,a===0||e===t&&(ze===2||ze===9)||e.cancelPendingCommit!==null)return n!==null&&n!==null&&Yi(n),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||gn(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(n!==null&&Yi(n),Ki(a)){case 2:case 8:a=vu;break;case 32:a=ds;break;case 268435456:a=bu;break;default:a=ds}return n=_f.bind(null,e),a=Qi(a,n),e.callbackPriority=t,e.callbackNode=a,t}return n!==null&&n!==null&&Yi(n),e.callbackPriority=2,e.callbackNode=null,2}function _f(e,t){if(We!==0&&We!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(ui()&&e.callbackNode!==a)return null;var n=ye;return n=xs(e,e===De?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n===0?null:(mf(e,n,t),Mf(e,wt()),e.callbackNode!=null&&e.callbackNode===a?_f.bind(null,e):null)}function kf(e,t){if(ui())return null;mf(e,t,!0)}function eg(){fg(function(){(Ce&6)!==0?Qi(yu,Px):Df()})}function _r(){if(Ka===0){var e=Ll;e===0&&(e=fs,fs<<=1,(fs&261888)===0&&(fs=256)),Ka=e}return Ka}function Of(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:vs(""+e)}function Rf(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 tg(e,t,a,n,s){if(t==="submit"&&a&&a.stateNode===s){var i=Of((s[ht]||null).action),u=n.submitter;u&&(t=(t=u[ht]||null)?Of(t.formAction):u.getAttribute("formAction"),t!==null&&(i=t,u=null));var f=new Ns("action","action",null,n,s);e.push({event:f,listeners:[{instance:null,listener:function(){if(n.defaultPrevented){if(Ka!==0){var x=u?Rf(s,u):new FormData(s);Ic(a,{pending:!0,data:x,method:s.method,action:i},null,x)}}else typeof i=="function"&&(f.preventDefault(),x=u?Rf(s,u):new FormData(s),Ic(a,{pending:!0,data:x,method:s.method,action:i},i,x))},currentTarget:s}]})}}for(var kr=0;kr<xc.length;kr++){var Or=xc[kr],ag=Or.toLowerCase(),lg=Or[0].toUpperCase()+Or.slice(1);Zt(ag,"on"+lg)}Zt(oo,"onAnimationEnd"),Zt(fo,"onAnimationIteration"),Zt(mo,"onAnimationStart"),Zt("dblclick","onDoubleClick"),Zt("focusin","onFocus"),Zt("focusout","onBlur"),Zt(vx,"onTransitionRun"),Zt(bx,"onTransitionStart"),Zt(jx,"onTransitionCancel"),Zt(ho,"onTransitionEnd"),wl("onMouseEnter",["mouseout","mouseover"]),wl("onMouseLeave",["mouseout","mouseover"]),wl("onPointerEnter",["pointerout","pointerover"]),wl("onPointerLeave",["pointerout","pointerover"]),ll("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ll("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ll("onBeforeInput",["compositionend","keypress","textInput","paste"]),ll("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ll("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ll("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var In="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(" "),ng=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(In));function Uf(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var n=e[a],s=n.event;n=n.listeners;e:{var i=void 0;if(t)for(var u=n.length-1;0<=u;u--){var f=n[u],x=f.instance,M=f.currentTarget;if(f=f.listener,x!==i&&s.isPropagationStopped())break e;i=f,s.currentTarget=M;try{i(s)}catch(L){ws(L)}s.currentTarget=null,i=x}else for(u=0;u<n.length;u++){if(f=n[u],x=f.instance,M=f.currentTarget,f=f.listener,x!==i&&s.isPropagationStopped())break e;i=f,s.currentTarget=M;try{i(s)}catch(L){ws(L)}s.currentTarget=null,i=x}}}}function ge(e,t){var a=t[Zi];a===void 0&&(a=t[Zi]=new Set);var n=e+"__bubble";a.has(n)||(Bf(t,e,2,!1),a.add(n))}function Rr(e,t,a){var n=0;t&&(n|=4),Bf(a,e,n,t)}var fi="_reactListening"+Math.random().toString(36).slice(2);function Ur(e){if(!e[fi]){e[fi]=!0,Eu.forEach(function(a){a!=="selectionchange"&&(ng.has(a)||Rr(a,!1,e),Rr(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[fi]||(t[fi]=!0,Rr("selectionchange",!1,t))}}function Bf(e,t,a,n){switch(fm(t)){case 2:var s=_g;break;case 8:s=kg;break;default:s=Wr}a=s.bind(null,t,a,e),s=void 0,!ac||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(s=!0),n?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 Br(e,t,a,n,s){var i=n;if((t&1)===0&&(t&2)===0&&n!==null)e:for(;;){if(n===null)return;var u=n.tag;if(u===3||u===4){var f=n.stateNode.containerInfo;if(f===s)break;if(u===4)for(u=n.return;u!==null;){var x=u.tag;if((x===3||x===4)&&u.stateNode.containerInfo===s)return;u=u.return}for(;f!==null;){if(u=Nl(f),u===null)return;if(x=u.tag,x===5||x===6||x===26||x===27){n=i=u;continue e}f=f.parentNode}}n=n.return}Lu(function(){var M=i,L=ec(a),V=[];e:{var _=xo.get(e);if(_!==void 0){var U=Ns,se=e;switch(e){case"keypress":if(js(a)===0)break e;case"keydown":case"keyup":U=Wh;break;case"focusin":se="focus",U=ic;break;case"focusout":se="blur",U=ic;break;case"beforeblur":case"afterblur":U=ic;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":U=Yu;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":U=Hh;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":U=ex;break;case oo:case fo:case mo:U=Qh;break;case ho:U=ax;break;case"scroll":case"scrollend":U=Bh;break;case"wheel":U=nx;break;case"copy":case"cut":case"paste":U=Vh;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":U=Xu;break;case"toggle":case"beforetoggle":U=ix}var ue=(t&4)!==0,Te=!ue&&(e==="scroll"||e==="scrollend"),N=ue?_!==null?_+"Capture":null:_;ue=[];for(var b=M,D;b!==null;){var Y=b;if(D=Y.stateNode,Y=Y.tag,Y!==5&&Y!==26&&Y!==27||D===null||N===null||(Y=bn(b,N),Y!=null&&ue.push(Pn(b,Y,D))),Te)break;b=b.return}0<ue.length&&(_=new U(_,se,null,a,L),V.push({event:_,listeners:ue}))}}if((t&7)===0){e:{if(_=e==="mouseover"||e==="pointerover",U=e==="mouseout"||e==="pointerout",_&&a!==Pi&&(se=a.relatedTarget||a.fromElement)&&(Nl(se)||se[Sl]))break e;if((U||_)&&(_=L.window===L?L:(_=L.ownerDocument)?_.defaultView||_.parentWindow:window,U?(se=a.relatedTarget||a.toElement,U=M,se=se?Nl(se):null,se!==null&&(Te=p(se),ue=se.tag,se!==Te||ue!==5&&ue!==27&&ue!==6)&&(se=null)):(U=null,se=M),U!==se)){if(ue=Yu,Y="onMouseLeave",N="onMouseEnter",b="mouse",(e==="pointerout"||e==="pointerover")&&(ue=Xu,Y="onPointerLeave",N="onPointerEnter",b="pointer"),Te=U==null?_:vn(U),D=se==null?_:vn(se),_=new ue(Y,b+"leave",U,a,L),_.target=Te,_.relatedTarget=D,Y=null,Nl(L)===M&&(ue=new ue(N,b+"enter",se,a,L),ue.target=D,ue.relatedTarget=Te,Y=ue),Te=Y,U&&se)t:{for(ue=sg,N=U,b=se,D=0,Y=N;Y;Y=ue(Y))D++;Y=0;for(var re=b;re;re=ue(re))Y++;for(;0<D-Y;)N=ue(N),D--;for(;0<Y-D;)b=ue(b),Y--;for(;D--;){if(N===b||b!==null&&N===b.alternate){ue=N;break t}N=ue(N),b=ue(b)}ue=null}else ue=null;U!==null&&qf(V,_,U,ue,!1),se!==null&&Te!==null&&qf(V,Te,se,ue,!0)}}e:{if(_=M?vn(M):window,U=_.nodeName&&_.nodeName.toLowerCase(),U==="select"||U==="input"&&_.type==="file")var Se=Pu;else if(Wu(_))if(eo)Se=gx;else{Se=hx;var ce=mx}else U=_.nodeName,!U||U.toLowerCase()!=="input"||_.type!=="checkbox"&&_.type!=="radio"?M&&Ii(M.elementType)&&(Se=Pu):Se=xx;if(Se&&(Se=Se(e,M))){Iu(V,Se,a,L);break e}ce&&ce(e,_,M),e==="focusout"&&M&&_.type==="number"&&M.memoizedProps.value!=null&&Wi(_,"number",_.value)}switch(ce=M?vn(M):window,e){case"focusin":(Wu(ce)||ce.contentEditable==="true")&&(_l=ce,fc=M,En=null);break;case"focusout":En=fc=_l=null;break;case"mousedown":mc=!0;break;case"contextmenu":case"mouseup":case"dragend":mc=!1,ro(V,a,L);break;case"selectionchange":if(yx)break;case"keydown":case"keyup":ro(V,a,L)}var he;if(rc)e:{switch(e){case"compositionstart":var ve="onCompositionStart";break e;case"compositionend":ve="onCompositionEnd";break e;case"compositionupdate":ve="onCompositionUpdate";break e}ve=void 0}else Ml?Ju(e,a)&&(ve="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(ve="onCompositionStart");ve&&(Ku&&a.locale!=="ko"&&(Ml||ve!=="onCompositionStart"?ve==="onCompositionEnd"&&Ml&&(he=Gu()):(Da=L,lc="value"in Da?Da.value:Da.textContent,Ml=!0)),ce=mi(M,ve),0<ce.length&&(ve=new Vu(ve,e,null,a,L),V.push({event:ve,listeners:ce}),he?ve.data=he:(he=$u(a),he!==null&&(ve.data=he)))),(he=rx?ux(e,a):ox(e,a))&&(ve=mi(M,"onBeforeInput"),0<ve.length&&(ce=new Vu("onBeforeInput","beforeinput",null,a,L),V.push({event:ce,listeners:ve}),ce.data=he)),tg(V,e,M,a,L)}Uf(V,t)})}function Pn(e,t,a){return{instance:e,listener:t,currentTarget:a}}function mi(e,t){for(var a=t+"Capture",n=[];e!==null;){var s=e,i=s.stateNode;if(s=s.tag,s!==5&&s!==26&&s!==27||i===null||(s=bn(e,a),s!=null&&n.unshift(Pn(e,s,i)),s=bn(e,t),s!=null&&n.push(Pn(e,s,i))),e.tag===3)return n;e=e.return}return[]}function sg(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function qf(e,t,a,n,s){for(var i=t._reactName,u=[];a!==null&&a!==n;){var f=a,x=f.alternate,M=f.stateNode;if(f=f.tag,x!==null&&x===n)break;f!==5&&f!==26&&f!==27||M===null||(x=M,s?(M=bn(a,i),M!=null&&u.unshift(Pn(a,M,x))):s||(M=bn(a,i),M!=null&&u.push(Pn(a,M,x)))),a=a.return}u.length!==0&&e.push({event:t,listeners:u})}var ig=/\r\n?/g,cg=/\u0000|\uFFFD/g;function Hf(e){return(typeof e=="string"?e:""+e).replace(ig,`
9
+ `).replace(cg,"")}function Lf(e,t){return t=Hf(t),Hf(e)===t}function Ee(e,t,a,n,s,i){switch(a){case"children":typeof n=="string"?t==="body"||t==="textarea"&&n===""||El(e,n):(typeof n=="number"||typeof n=="bigint")&&t!=="body"&&El(e,""+n);break;case"className":ps(e,"class",n);break;case"tabIndex":ps(e,"tabindex",n);break;case"dir":case"role":case"viewBox":case"width":case"height":ps(e,a,n);break;case"style":qu(e,n,i);break;case"data":if(t!=="object"){ps(e,"data",n);break}case"src":case"href":if(n===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(n==null||typeof n=="function"||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=vs(""+n),e.setAttribute(a,n);break;case"action":case"formAction":if(typeof n=="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 i=="function"&&(a==="formAction"?(t!=="input"&&Ee(e,t,"name",s.name,s,null),Ee(e,t,"formEncType",s.formEncType,s,null),Ee(e,t,"formMethod",s.formMethod,s,null),Ee(e,t,"formTarget",s.formTarget,s,null)):(Ee(e,t,"encType",s.encType,s,null),Ee(e,t,"method",s.method,s,null),Ee(e,t,"target",s.target,s,null)));if(n==null||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=vs(""+n),e.setAttribute(a,n);break;case"onClick":n!=null&&(e.onclick=ua);break;case"onScroll":n!=null&&ge("scroll",e);break;case"onScrollEnd":n!=null&&ge("scrollend",e);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(o(61));if(a=n.__html,a!=null){if(s.children!=null)throw Error(o(60));e.innerHTML=a}}break;case"multiple":e.multiple=n&&typeof n!="function"&&typeof n!="symbol";break;case"muted":e.muted=n&&typeof n!="function"&&typeof n!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(n==null||typeof n=="function"||typeof n=="boolean"||typeof n=="symbol"){e.removeAttribute("xlink:href");break}a=vs(""+n),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":n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,""+n):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":n&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":n===!0?e.setAttribute(a,""):n!==!1&&n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,n):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":n!=null&&typeof n!="function"&&typeof n!="symbol"&&!isNaN(n)&&1<=n?e.setAttribute(a,n):e.removeAttribute(a);break;case"rowSpan":case"start":n==null||typeof n=="function"||typeof n=="symbol"||isNaN(n)?e.removeAttribute(a):e.setAttribute(a,n);break;case"popover":ge("beforetoggle",e),ge("toggle",e),gs(e,"popover",n);break;case"xlinkActuate":ra(e,"http://www.w3.org/1999/xlink","xlink:actuate",n);break;case"xlinkArcrole":ra(e,"http://www.w3.org/1999/xlink","xlink:arcrole",n);break;case"xlinkRole":ra(e,"http://www.w3.org/1999/xlink","xlink:role",n);break;case"xlinkShow":ra(e,"http://www.w3.org/1999/xlink","xlink:show",n);break;case"xlinkTitle":ra(e,"http://www.w3.org/1999/xlink","xlink:title",n);break;case"xlinkType":ra(e,"http://www.w3.org/1999/xlink","xlink:type",n);break;case"xmlBase":ra(e,"http://www.w3.org/XML/1998/namespace","xml:base",n);break;case"xmlLang":ra(e,"http://www.w3.org/XML/1998/namespace","xml:lang",n);break;case"xmlSpace":ra(e,"http://www.w3.org/XML/1998/namespace","xml:space",n);break;case"is":gs(e,"is",n);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=Rh.get(a)||a,gs(e,a,n))}}function qr(e,t,a,n,s,i){switch(a){case"style":qu(e,n,i);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(o(61));if(a=n.__html,a!=null){if(s.children!=null)throw Error(o(60));e.innerHTML=a}}break;case"children":typeof n=="string"?El(e,n):(typeof n=="number"||typeof n=="bigint")&&El(e,""+n);break;case"onScroll":n!=null&&ge("scroll",e);break;case"onScrollEnd":n!=null&&ge("scrollend",e);break;case"onClick":n!=null&&(e.onclick=ua);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Tu.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(s=a.endsWith("Capture"),t=a.slice(2,s?a.length-7:void 0),i=e[ht]||null,i=i!=null?i[a]:null,typeof i=="function"&&e.removeEventListener(t,i,s),typeof n=="function")){typeof i!="function"&&i!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,n,s);break e}a in e?e[a]=n:n===!0?e.setAttribute(a,""):gs(e,a,n)}}}function ct(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ge("error",e),ge("load",e);var n=!1,s=!1,i;for(i in a)if(a.hasOwnProperty(i)){var u=a[i];if(u!=null)switch(i){case"src":n=!0;break;case"srcSet":s=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:Ee(e,t,i,u,a,null)}}s&&Ee(e,t,"srcSet",a.srcSet,a,null),n&&Ee(e,t,"src",a.src,a,null);return;case"input":ge("invalid",e);var f=i=u=s=null,x=null,M=null;for(n in a)if(a.hasOwnProperty(n)){var L=a[n];if(L!=null)switch(n){case"name":s=L;break;case"type":u=L;break;case"checked":x=L;break;case"defaultChecked":M=L;break;case"value":i=L;break;case"defaultValue":f=L;break;case"children":case"dangerouslySetInnerHTML":if(L!=null)throw Error(o(137,t));break;default:Ee(e,t,n,L,a,null)}}Ou(e,i,f,x,M,u,s,!1);return;case"select":ge("invalid",e),n=u=i=null;for(s in a)if(a.hasOwnProperty(s)&&(f=a[s],f!=null))switch(s){case"value":i=f;break;case"defaultValue":u=f;break;case"multiple":n=f;default:Ee(e,t,s,f,a,null)}t=i,a=u,e.multiple=!!n,t!=null?Al(e,!!n,t,!1):a!=null&&Al(e,!!n,a,!0);return;case"textarea":ge("invalid",e),i=s=n=null;for(u in a)if(a.hasOwnProperty(u)&&(f=a[u],f!=null))switch(u){case"value":n=f;break;case"defaultValue":s=f;break;case"children":i=f;break;case"dangerouslySetInnerHTML":if(f!=null)throw Error(o(91));break;default:Ee(e,t,u,f,a,null)}Uu(e,n,s,i);return;case"option":for(x in a)a.hasOwnProperty(x)&&(n=a[x],n!=null)&&(x==="selected"?e.selected=n&&typeof n!="function"&&typeof n!="symbol":Ee(e,t,x,n,a,null));return;case"dialog":ge("beforetoggle",e),ge("toggle",e),ge("cancel",e),ge("close",e);break;case"iframe":case"object":ge("load",e);break;case"video":case"audio":for(n=0;n<In.length;n++)ge(In[n],e);break;case"image":ge("error",e),ge("load",e);break;case"details":ge("toggle",e);break;case"embed":case"source":case"link":ge("error",e),ge("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(M in a)if(a.hasOwnProperty(M)&&(n=a[M],n!=null))switch(M){case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:Ee(e,t,M,n,a,null)}return;default:if(Ii(t)){for(L in a)a.hasOwnProperty(L)&&(n=a[L],n!==void 0&&qr(e,t,L,n,a,void 0));return}}for(f in a)a.hasOwnProperty(f)&&(n=a[f],n!=null&&Ee(e,t,f,n,a,null))}function rg(e,t,a,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var s=null,i=null,u=null,f=null,x=null,M=null,L=null;for(U in a){var V=a[U];if(a.hasOwnProperty(U)&&V!=null)switch(U){case"checked":break;case"value":break;case"defaultValue":x=V;default:n.hasOwnProperty(U)||Ee(e,t,U,null,n,V)}}for(var _ in n){var U=n[_];if(V=a[_],n.hasOwnProperty(_)&&(U!=null||V!=null))switch(_){case"type":i=U;break;case"name":s=U;break;case"checked":M=U;break;case"defaultChecked":L=U;break;case"value":u=U;break;case"defaultValue":f=U;break;case"children":case"dangerouslySetInnerHTML":if(U!=null)throw Error(o(137,t));break;default:U!==V&&Ee(e,t,_,U,n,V)}}$i(e,u,f,x,M,L,i,s);return;case"select":U=u=f=_=null;for(i in a)if(x=a[i],a.hasOwnProperty(i)&&x!=null)switch(i){case"value":break;case"multiple":U=x;default:n.hasOwnProperty(i)||Ee(e,t,i,null,n,x)}for(s in n)if(i=n[s],x=a[s],n.hasOwnProperty(s)&&(i!=null||x!=null))switch(s){case"value":_=i;break;case"defaultValue":f=i;break;case"multiple":u=i;default:i!==x&&Ee(e,t,s,i,n,x)}t=f,a=u,n=U,_!=null?Al(e,!!a,_,!1):!!n!=!!a&&(t!=null?Al(e,!!a,t,!0):Al(e,!!a,a?[]:"",!1));return;case"textarea":U=_=null;for(f in a)if(s=a[f],a.hasOwnProperty(f)&&s!=null&&!n.hasOwnProperty(f))switch(f){case"value":break;case"children":break;default:Ee(e,t,f,null,n,s)}for(u in n)if(s=n[u],i=a[u],n.hasOwnProperty(u)&&(s!=null||i!=null))switch(u){case"value":_=s;break;case"defaultValue":U=s;break;case"children":break;case"dangerouslySetInnerHTML":if(s!=null)throw Error(o(91));break;default:s!==i&&Ee(e,t,u,s,n,i)}Ru(e,_,U);return;case"option":for(var se in a)_=a[se],a.hasOwnProperty(se)&&_!=null&&!n.hasOwnProperty(se)&&(se==="selected"?e.selected=!1:Ee(e,t,se,null,n,_));for(x in n)_=n[x],U=a[x],n.hasOwnProperty(x)&&_!==U&&(_!=null||U!=null)&&(x==="selected"?e.selected=_&&typeof _!="function"&&typeof _!="symbol":Ee(e,t,x,_,n,U));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 ue in a)_=a[ue],a.hasOwnProperty(ue)&&_!=null&&!n.hasOwnProperty(ue)&&Ee(e,t,ue,null,n,_);for(M in n)if(_=n[M],U=a[M],n.hasOwnProperty(M)&&_!==U&&(_!=null||U!=null))switch(M){case"children":case"dangerouslySetInnerHTML":if(_!=null)throw Error(o(137,t));break;default:Ee(e,t,M,_,n,U)}return;default:if(Ii(t)){for(var Te in a)_=a[Te],a.hasOwnProperty(Te)&&_!==void 0&&!n.hasOwnProperty(Te)&&qr(e,t,Te,void 0,n,_);for(L in n)_=n[L],U=a[L],!n.hasOwnProperty(L)||_===U||_===void 0&&U===void 0||qr(e,t,L,_,n,U);return}}for(var N in a)_=a[N],a.hasOwnProperty(N)&&_!=null&&!n.hasOwnProperty(N)&&Ee(e,t,N,null,n,_);for(V in n)_=n[V],U=a[V],!n.hasOwnProperty(V)||_===U||_==null&&U==null||Ee(e,t,V,_,n,U)}function Gf(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function ug(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),n=0;n<a.length;n++){var s=a[n],i=s.transferSize,u=s.initiatorType,f=s.duration;if(i&&f&&Gf(u)){for(u=0,f=s.responseEnd,n+=1;n<a.length;n++){var x=a[n],M=x.startTime;if(M>f)break;var L=x.transferSize,V=x.initiatorType;L&&Gf(V)&&(x=x.responseEnd,u+=L*(x<f?1:(f-M)/(x-M)))}if(--n,t+=8*(i+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 Hr=null,Lr=null;function hi(e){return e.nodeType===9?e:e.ownerDocument}function Qf(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 Yf(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 Gr(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 Qr=null;function og(){var e=window.event;return e&&e.type==="popstate"?e===Qr?!1:(Qr=e,!0):(Qr=null,!1)}var Vf=typeof setTimeout=="function"?setTimeout:void 0,dg=typeof clearTimeout=="function"?clearTimeout:void 0,Xf=typeof Promise=="function"?Promise:void 0,fg=typeof queueMicrotask=="function"?queueMicrotask:typeof Xf<"u"?function(e){return Xf.resolve(null).then(e).catch(mg)}:Vf;function mg(e){setTimeout(function(){throw e})}function Za(e){return e==="head"}function Kf(e,t){var a=t,n=0;do{var s=a.nextSibling;if(e.removeChild(a),s&&s.nodeType===8)if(a=s.data,a==="/$"||a==="/&"){if(n===0){e.removeChild(s),sn(t);return}n--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")n++;else if(a==="html")es(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,es(a);for(var i=a.firstChild;i;){var u=i.nextSibling,f=i.nodeName;i[yn]||f==="SCRIPT"||f==="STYLE"||f==="LINK"&&i.rel.toLowerCase()==="stylesheet"||a.removeChild(i),i=u}}else a==="body"&&es(e.ownerDocument.body);a=s}while(a);sn(t)}function Zf(e,t){var a=e;e=0;do{var n=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||""),n&&n.nodeType===8)if(a=n.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=n}while(a)}function Yr(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":Yr(a),Fi(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function hg(e,t,a,n){for(;e.nodeType===1;){var s=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!n&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(n){if(!e[yn])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==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(i=e.getAttribute("src"),(i!==(s.src==null?null:s.src)||e.getAttribute("type")!==(s.type==null?null:s.type)||e.getAttribute("crossorigin")!==(s.crossOrigin==null?null:s.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=s.name==null?null:""+s.name;if(s.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Vt(e.nextSibling),e===null)break}return null}function xg(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=Vt(e.nextSibling),e===null))return null;return e}function Ff(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Vt(e.nextSibling),e===null))return null;return e}function Vr(e){return e.data==="$?"||e.data==="$~"}function Xr(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function gg(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var n=function(){t(),a.removeEventListener("DOMContentLoaded",n)};a.addEventListener("DOMContentLoaded",n),e._reactRetry=n}}function Vt(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 Kr=null;function Jf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return Vt(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function $f(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 Wf(e,t,a){switch(t=hi(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 es(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Fi(e)}var Xt=new Map,If=new Set;function xi(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var za=T.d;T.d={f:pg,r:yg,D:vg,C:bg,L:jg,m:Sg,X:Cg,S:Ng,M:zg};function pg(){var e=za.f(),t=ii();return e||t}function yg(e){var t=Cl(e);t!==null&&t.tag===5&&t.type==="form"?hd(t):za.r(e)}var an=typeof document>"u"?null:document;function Pf(e,t,a){var n=an;if(n&&typeof t=="string"&&t){var s=Bt(t);s='link[rel="'+e+'"][href="'+s+'"]',typeof a=="string"&&(s+='[crossorigin="'+a+'"]'),If.has(s)||(If.add(s),e={rel:e,crossOrigin:a,href:t},n.querySelector(s)===null&&(t=n.createElement("link"),ct(t,"link",e),Pe(t),n.head.appendChild(t)))}}function vg(e){za.D(e),Pf("dns-prefetch",e,null)}function bg(e,t){za.C(e,t),Pf("preconnect",e,t)}function jg(e,t,a){za.L(e,t,a);var n=an;if(n&&e&&t){var s='link[rel="preload"][as="'+Bt(t)+'"]';t==="image"&&a&&a.imageSrcSet?(s+='[imagesrcset="'+Bt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(s+='[imagesizes="'+Bt(a.imageSizes)+'"]')):s+='[href="'+Bt(e)+'"]';var i=s;switch(t){case"style":i=ln(e);break;case"script":i=nn(e)}Xt.has(i)||(e=k({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Xt.set(i,e),n.querySelector(s)!==null||t==="style"&&n.querySelector(ts(i))||t==="script"&&n.querySelector(as(i))||(t=n.createElement("link"),ct(t,"link",e),Pe(t),n.head.appendChild(t)))}}function Sg(e,t){za.m(e,t);var a=an;if(a&&e){var n=t&&typeof t.as=="string"?t.as:"script",s='link[rel="modulepreload"][as="'+Bt(n)+'"][href="'+Bt(e)+'"]',i=s;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=nn(e)}if(!Xt.has(i)&&(e=k({rel:"modulepreload",href:e},t),Xt.set(i,e),a.querySelector(s)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(as(i)))return}n=a.createElement("link"),ct(n,"link",e),Pe(n),a.head.appendChild(n)}}}function Ng(e,t,a){za.S(e,t,a);var n=an;if(n&&e){var s=zl(n).hoistableStyles,i=ln(e);t=t||"default";var u=s.get(i);if(!u){var f={loading:0,preload:null};if(u=n.querySelector(ts(i)))f.loading=5;else{e=k({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Xt.get(i))&&Zr(e,a);var x=u=n.createElement("link");Pe(x),ct(x,"link",e),x._p=new Promise(function(M,L){x.onload=M,x.onerror=L}),x.addEventListener("load",function(){f.loading|=1}),x.addEventListener("error",function(){f.loading|=2}),f.loading|=4,gi(u,t,n)}u={type:"stylesheet",instance:u,count:1,state:f},s.set(i,u)}}}function Cg(e,t){za.X(e,t);var a=an;if(a&&e){var n=zl(a).hoistableScripts,s=nn(e),i=n.get(s);i||(i=a.querySelector(as(s)),i||(e=k({src:e,async:!0},t),(t=Xt.get(s))&&Fr(e,t),i=a.createElement("script"),Pe(i),ct(i,"link",e),a.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},n.set(s,i))}}function zg(e,t){za.M(e,t);var a=an;if(a&&e){var n=zl(a).hoistableScripts,s=nn(e),i=n.get(s);i||(i=a.querySelector(as(s)),i||(e=k({src:e,async:!0,type:"module"},t),(t=Xt.get(s))&&Fr(e,t),i=a.createElement("script"),Pe(i),ct(i,"link",e),a.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},n.set(s,i))}}function em(e,t,a,n){var s=(s=ft.current)?xi(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=ln(a.href),a=zl(s).hoistableStyles,n=a.get(t),n||(n={type:"style",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=ln(a.href);var i=zl(s).hoistableStyles,u=i.get(e);if(u||(s=s.ownerDocument||s,u={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,u),(i=s.querySelector(ts(e)))&&!i._p&&(u.instance=i,u.state.loading=5),Xt.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},Xt.set(e,a),i||wg(s,e,a,u.state))),t&&n===null)throw Error(o(528,""));return u}if(t&&n!==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=nn(a),a=zl(s).hoistableScripts,n=a.get(t),n||(n={type:"script",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function ln(e){return'href="'+Bt(e)+'"'}function ts(e){return'link[rel="stylesheet"]['+e+"]"}function tm(e){return k({},e,{"data-precedence":e.precedence,precedence:null})}function wg(e,t,a,n){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?n.loading=1:(t=e.createElement("link"),n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2}),ct(t,"link",a),Pe(t),e.head.appendChild(t))}function nn(e){return'[src="'+Bt(e)+'"]'}function as(e){return"script[async]"+e}function am(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+Bt(a.href)+'"]');if(n)return t.instance=n,Pe(n),n;var s=k({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),Pe(n),ct(n,"style",s),gi(n,a.precedence,e),t.instance=n;case"stylesheet":s=ln(a.href);var i=e.querySelector(ts(s));if(i)return t.state.loading|=4,t.instance=i,Pe(i),i;n=tm(a),(s=Xt.get(s))&&Zr(n,s),i=(e.ownerDocument||e).createElement("link"),Pe(i);var u=i;return u._p=new Promise(function(f,x){u.onload=f,u.onerror=x}),ct(i,"link",n),t.state.loading|=4,gi(i,a.precedence,e),t.instance=i;case"script":return i=nn(a.src),(s=e.querySelector(as(i)))?(t.instance=s,Pe(s),s):(n=a,(s=Xt.get(i))&&(n=k({},a),Fr(n,s)),e=e.ownerDocument||e,s=e.createElement("script"),Pe(s),ct(s,"link",n),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&&(n=t.instance,t.state.loading|=4,gi(n,a.precedence,e));return t.instance}function gi(e,t,a){for(var n=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),s=n.length?n[n.length-1]:null,i=s,u=0;u<n.length;u++){var f=n[u];if(f.dataset.precedence===t)i=f;else if(i!==s)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function Zr(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Fr(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var pi=null;function lm(e,t,a){if(pi===null){var n=new Map,s=pi=new Map;s.set(a,n)}else s=pi,n=s.get(a),n||(n=new Map,s.set(a,n));if(n.has(e))return n;for(n.set(e,null),a=a.getElementsByTagName(e),s=0;s<a.length;s++){var i=a[s];if(!(i[yn]||i[lt]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var u=i.getAttribute(t)||"";u=e+u;var f=n.get(u);f?f.push(i):n.set(u,[i])}}return n}function nm(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function Ag(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 sm(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Eg(e,t,a,n){if(a.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var s=ln(n.href),i=t.querySelector(ts(s));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=yi.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=i,Pe(i);return}i=t.ownerDocument||t,n=tm(n),(s=Xt.get(s))&&Zr(n,s),i=i.createElement("link"),Pe(i);var u=i;u._p=new Promise(function(f,x){u.onload=f,u.onerror=x}),ct(i,"link",n),a.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=yi.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Jr=0;function Tg(e,t){return e.stylesheets&&e.count===0&&bi(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var n=setTimeout(function(){if(e.stylesheets&&bi(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&Jr===0&&(Jr=62500*ug());var s=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&bi(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>Jr?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(s)}}:null}function yi(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)bi(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var vi=null;function bi(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,vi=new Map,t.forEach(Dg,e),vi=null,yi.call(e))}function Dg(e,t){if(!(t.state.loading&4)){var a=vi.get(e);if(a)var n=a.get(null);else{a=new Map,vi.set(e,a);for(var s=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<s.length;i++){var u=s[i];(u.nodeName==="LINK"||u.getAttribute("media")!=="not all")&&(a.set(u.dataset.precedence,u),n=u)}n&&a.set(null,n)}s=t.instance,u=s.getAttribute("data-precedence"),i=a.get(u)||n,i===n&&a.set(null,s),a.set(u,s),this.count++,n=yi.bind(this),s.addEventListener("load",n),s.addEventListener("error",n),i?i.parentNode.insertBefore(s,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(s,e.firstChild)),t.state.loading|=4}}var ls={$$typeof:j,Provider:null,Consumer:null,_currentValue:I,_currentValue2:I,_threadCount:0};function Mg(e,t,a,n,s,i,u,f,x){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=Vi(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Vi(0),this.hiddenUpdates=Vi(null),this.identifierPrefix=n,this.onUncaughtError=s,this.onCaughtError=i,this.onRecoverableError=u,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=x,this.incompleteTransitions=new Map}function im(e,t,a,n,s,i,u,f,x,M,L,V){return e=new Mg(e,t,a,u,x,M,L,V,f),t=1,i===!0&&(t|=24),i=Dt(3,null,null,t),e.current=i,i.stateNode=e,t=Ec(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:n,isDehydrated:a,cache:t},_c(i),e}function cm(e){return e?(e=Rl,e):Rl}function rm(e,t,a,n,s,i){s=cm(s),n.context===null?n.context=s:n.pendingContext=s,n=Ua(t),n.payload={element:a},i=i===void 0?null:i,i!==null&&(n.callback=i),a=Ba(e,n,t),a!==null&&(bt(a,e,t),Rn(a,e,t))}function um(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function $r(e,t){um(e,t),(e=e.alternate)&&um(e,t)}function om(e){if(e.tag===13||e.tag===31){var t=cl(e,67108864);t!==null&&bt(t,e,67108864),$r(e,67108864)}}function dm(e){if(e.tag===13||e.tag===31){var t=Rt();t=Xi(t);var a=cl(e,t);a!==null&&bt(a,e,t),$r(e,t)}}var ji=!0;function _g(e,t,a,n){var s=g.T;g.T=null;var i=T.p;try{T.p=2,Wr(e,t,a,n)}finally{T.p=i,g.T=s}}function kg(e,t,a,n){var s=g.T;g.T=null;var i=T.p;try{T.p=8,Wr(e,t,a,n)}finally{T.p=i,g.T=s}}function Wr(e,t,a,n){if(ji){var s=Ir(n);if(s===null)Br(e,t,n,Si,a),mm(e,n);else if(Rg(s,e,t,a,n))n.stopPropagation();else if(mm(e,n),t&4&&-1<Og.indexOf(e)){for(;s!==null;){var i=Cl(s);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var u=al(i.pendingLanes);if(u!==0){var f=i;for(f.pendingLanes|=2,f.entangledLanes|=2;u;){var x=1<<31-Et(u);f.entanglements[1]|=x,u&=~x}Pt(i),(Ce&6)===0&&(ni=wt()+500,Wn(0))}}break;case 31:case 13:f=cl(i,2),f!==null&&bt(f,i,2),ii(),$r(i,2)}if(i=Ir(n),i===null&&Br(e,t,n,Si,a),i===s)break;s=i}s!==null&&n.stopPropagation()}else Br(e,t,n,null,a)}}function Ir(e){return e=ec(e),Pr(e)}var Si=null;function Pr(e){if(Si=null,e=Nl(e),e!==null){var t=p(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=v(t),e!==null)return e;e=null}else if(a===31){if(e=y(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 Si=e,null}function fm(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(vh()){case yu:return 2;case vu:return 8;case ds:case bh:return 32;case bu:return 268435456;default:return 32}default:return 32}}var eu=!1,Fa=null,Ja=null,$a=null,ns=new Map,ss=new Map,Wa=[],Og="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 mm(e,t){switch(e){case"focusin":case"focusout":Fa=null;break;case"dragenter":case"dragleave":Ja=null;break;case"mouseover":case"mouseout":$a=null;break;case"pointerover":case"pointerout":ns.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ss.delete(t.pointerId)}}function is(e,t,a,n,s,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:a,eventSystemFlags:n,nativeEvent:i,targetContainers:[s]},t!==null&&(t=Cl(t),t!==null&&om(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,s!==null&&t.indexOf(s)===-1&&t.push(s),e)}function Rg(e,t,a,n,s){switch(t){case"focusin":return Fa=is(Fa,e,t,a,n,s),!0;case"dragenter":return Ja=is(Ja,e,t,a,n,s),!0;case"mouseover":return $a=is($a,e,t,a,n,s),!0;case"pointerover":var i=s.pointerId;return ns.set(i,is(ns.get(i)||null,e,t,a,n,s)),!0;case"gotpointercapture":return i=s.pointerId,ss.set(i,is(ss.get(i)||null,e,t,a,n,s)),!0}return!1}function hm(e){var t=Nl(e.target);if(t!==null){var a=p(t);if(a!==null){if(t=a.tag,t===13){if(t=v(a),t!==null){e.blockedOn=t,wu(e.priority,function(){dm(a)});return}}else if(t===31){if(t=y(a),t!==null){e.blockedOn=t,wu(e.priority,function(){dm(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 Ni(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=Ir(e.nativeEvent);if(a===null){a=e.nativeEvent;var n=new a.constructor(a.type,a);Pi=n,a.target.dispatchEvent(n),Pi=null}else return t=Cl(a),t!==null&&om(t),e.blockedOn=a,!1;t.shift()}return!0}function xm(e,t,a){Ni(e)&&a.delete(t)}function Ug(){eu=!1,Fa!==null&&Ni(Fa)&&(Fa=null),Ja!==null&&Ni(Ja)&&(Ja=null),$a!==null&&Ni($a)&&($a=null),ns.forEach(xm),ss.forEach(xm)}function Ci(e,t){e.blockedOn===t&&(e.blockedOn=null,eu||(eu=!0,c.unstable_scheduleCallback(c.unstable_NormalPriority,Ug)))}var zi=null;function gm(e){zi!==e&&(zi=e,c.unstable_scheduleCallback(c.unstable_NormalPriority,function(){zi===e&&(zi=null);for(var t=0;t<e.length;t+=3){var a=e[t],n=e[t+1],s=e[t+2];if(typeof n!="function"){if(Pr(n||a)===null)continue;break}var i=Cl(a);i!==null&&(e.splice(t,3),t-=3,Ic(i,{pending:!0,data:s,method:a.method,action:n},n,s))}}))}function sn(e){function t(x){return Ci(x,e)}Fa!==null&&Ci(Fa,e),Ja!==null&&Ci(Ja,e),$a!==null&&Ci($a,e),ns.forEach(t),ss.forEach(t);for(var a=0;a<Wa.length;a++){var n=Wa[a];n.blockedOn===e&&(n.blockedOn=null)}for(;0<Wa.length&&(a=Wa[0],a.blockedOn===null);)hm(a),a.blockedOn===null&&Wa.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(n=0;n<a.length;n+=3){var s=a[n],i=a[n+1],u=s[ht]||null;if(typeof i=="function")u||gm(a);else if(u){var f=null;if(i&&i.hasAttribute("formAction")){if(s=i,u=i[ht]||null)f=u.formAction;else if(Pr(s)!==null)continue}else f=u.action;typeof f=="function"?a[n+1]=f:(a.splice(n,3),n-=3),gm(a)}}}function pm(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(u){return s=u})},focusReset:"manual",scroll:"manual"})}function t(){s!==null&&(s(),s=null),n||setTimeout(a,20)}function a(){if(!n&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var n=!1,s=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){n=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),s!==null&&(s(),s=null)}}}function tu(e){this._internalRoot=e}wi.prototype.render=tu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(o(409));var a=t.current,n=Rt();rm(a,n,e,t,null,null)},wi.prototype.unmount=tu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;rm(e.current,2,null,e,null,null),ii(),t[Sl]=null}};function wi(e){this._internalRoot=e}wi.prototype.unstable_scheduleHydration=function(e){if(e){var t=zu();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Wa.length&&t!==0&&t<Wa[a].priority;a++);Wa.splice(a,0,e),a===0&&hm(e)}};var ym=r.version;if(ym!=="19.2.3")throw Error(o(527,ym,"19.2.3"));T.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=z(t),e=e!==null?E(e):null,e=e===null?null:e.stateNode,e};var Bg={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:g,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Ai=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Ai.isDisabled&&Ai.supportsFiber)try{xn=Ai.inject(Bg),At=Ai}catch{}}return cs.createRoot=function(e,t){if(!h(e))throw Error(o(299));var a=!1,n="",s=Cd,i=zd,u=wd;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(n=t.identifierPrefix),t.onUncaughtError!==void 0&&(s=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(u=t.onRecoverableError)),t=im(e,1,!1,null,null,a,n,null,s,i,u,pm),e[Sl]=t.current,Ur(e),new tu(t)},cs.hydrateRoot=function(e,t,a){if(!h(e))throw Error(o(299));var n=!1,s="",i=Cd,u=zd,f=wd,x=null;return a!=null&&(a.unstable_strictMode===!0&&(n=!0),a.identifierPrefix!==void 0&&(s=a.identifierPrefix),a.onUncaughtError!==void 0&&(i=a.onUncaughtError),a.onCaughtError!==void 0&&(u=a.onCaughtError),a.onRecoverableError!==void 0&&(f=a.onRecoverableError),a.formState!==void 0&&(x=a.formState)),t=im(e,1,!0,t,a??null,n,s,x,i,u,f,pm),t.context=cm(null),a=t.current,n=Rt(),n=Xi(n),s=Ua(n),s.callback=null,Ba(a,s,n),a=n,t.current.lanes=a,pn(t,a),Pt(t),e[Sl]=t.current,Ur(e),new wi(t)},cs.version="19.2.3",cs}var Am;function ny(){if(Am)return au.exports;Am=1;function c(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(c)}catch(r){console.error(r)}}return c(),au.exports=ly(),au.exports}var sy=ny();const iy="/api";async function pe(c,r){const d=await fetch(`${iy}${c}`,{...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 cy(){return pe("/projects")}async function ry(c,r,d="manual"){return pe("/projects",{method:"POST",body:JSON.stringify({name:c,path:r,spec_method:d})})}async function uy(c){await pe(`/projects/${encodeURIComponent(c)}`,{method:"DELETE"})}async function oy(c,r){return pe(`/projects/${encodeURIComponent(c)}/settings`,{method:"PATCH",body:JSON.stringify(r)})}async function dy(c,r=!1){const d=r?"?full_reset=true":"";return pe(`/projects/${encodeURIComponent(c)}/reset${d}`,{method:"POST"})}async function fy(c){return pe(`/projects/${encodeURIComponent(c)}/features`)}async function my(c,r){return pe(`/projects/${encodeURIComponent(c)}/features`,{method:"POST",body:JSON.stringify(r)})}async function hy(c,r){await pe(`/projects/${encodeURIComponent(c)}/features/${r}`,{method:"DELETE"})}async function xy(c,r){await pe(`/projects/${encodeURIComponent(c)}/features/${r}/skip`,{method:"PATCH"})}async function gy(c,r,d){return pe(`/projects/${encodeURIComponent(c)}/features/${r}`,{method:"PATCH",body:JSON.stringify(d)})}async function py(c){return pe(`/projects/${encodeURIComponent(c)}/features/graph`)}async function yy(c){return pe(`/projects/${encodeURIComponent(c)}/agent/status`)}async function hu(c,r={}){return pe(`/projects/${encodeURIComponent(c)}/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 vy(c){return pe(`/projects/${encodeURIComponent(c)}/agent/stop`,{method:"POST"})}async function by(c){return pe(`/spec/status/${encodeURIComponent(c)}`)}async function jy(){return pe("/setup/status")}async function Sy(){return pe("/health")}async function Ny(c){const r=c?`?path=${encodeURIComponent(c)}`:"";return pe(`/filesystem/list${r}`)}async function Cy(c){const r=c.endsWith("/")?c.slice(0,-1):c,d=r.lastIndexOf("/");let o,h;if(d===2&&/^[A-Za-z]:/.test(r))o=r.substring(0,3),h=r.substring(3);else if(d>0)o=r.substring(0,d),h=r.substring(d+1);else if(d===0)o="/",h=r.substring(1);else throw new Error("Invalid path: must be an absolute path");if(!h)throw new Error("Invalid path: directory name is empty");return pe("/filesystem/create-directory",{method:"POST",body:JSON.stringify({parent_path:o,name:h})})}async function zy(c){return pe(`/assistant/conversations/${encodeURIComponent(c)}`)}async function wy(c,r){return pe(`/assistant/conversations/${encodeURIComponent(c)}/${r}`)}async function Ay(c,r){await pe(`/assistant/conversations/${encodeURIComponent(c)}/${r}`,{method:"DELETE"})}async function Ey(){return pe("/settings/models")}async function Ty(){return pe("/settings/providers")}async function Dy(){return pe("/settings")}async function My(c){return pe("/settings",{method:"PATCH",body:JSON.stringify(c)})}async function _y(c,r){return pe(`/projects/${encodeURIComponent(c)}/devserver/start`,{method:"POST",body:JSON.stringify({command:r})})}async function ky(c){return pe(`/projects/${encodeURIComponent(c)}/devserver/stop`,{method:"POST"})}async function Oy(c){return pe(`/terminal/${encodeURIComponent(c)}`)}async function Ry(c,r){return pe(`/terminal/${encodeURIComponent(c)}`,{method:"POST",body:JSON.stringify({name:null})})}async function Uy(c,r,d){return pe(`/terminal/${encodeURIComponent(c)}/${r}`,{method:"PATCH",body:JSON.stringify({name:d})})}async function By(c,r){await pe(`/terminal/${encodeURIComponent(c)}/${r}`,{method:"DELETE"})}async function qy(c){return pe(`/projects/${encodeURIComponent(c)}/schedules`)}async function Hy(c,r){return pe(`/projects/${encodeURIComponent(c)}/schedules`,{method:"POST",body:JSON.stringify(r)})}async function Ly(c,r,d){return pe(`/projects/${encodeURIComponent(c)}/schedules/${r}`,{method:"PATCH",body:JSON.stringify(d)})}async function Gy(c,r){await pe(`/projects/${encodeURIComponent(c)}/schedules/${r}`,{method:"DELETE"})}async function Qy(c){return pe(`/projects/${encodeURIComponent(c)}/schedules/next`)}function Yy(){return Nt({queryKey:["projects"],queryFn:cy})}function Vy(){const c=at();return rt({mutationFn:({name:r,path:d,specMethod:o})=>ry(r,d,o),onSuccess:()=>{c.invalidateQueries({queryKey:["projects"]})}})}function Xy(){const c=at();return rt({mutationFn:r=>uy(r),onSuccess:()=>{c.invalidateQueries({queryKey:["projects"]})}})}function Ky(c){const r=at();return rt({mutationFn:d=>dy(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["projects"]}),r.invalidateQueries({queryKey:["project",c]}),r.invalidateQueries({queryKey:["features",c]}),r.invalidateQueries({queryKey:["agent-status",c]})}})}function Zy(c){const r=at();return rt({mutationFn:d=>oy(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["projects"]}),r.invalidateQueries({queryKey:["project",c]})}})}function rh(c){return Nt({queryKey:["features",c],queryFn:()=>fy(c),enabled:!!c,refetchInterval:5e3})}function Fy(c){const r=at();return rt({mutationFn:d=>my(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",c]})}})}function Jy(c){const r=at();return rt({mutationFn:d=>hy(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",c]})}})}function $y(c){const r=at();return rt({mutationFn:d=>xy(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",c]})}})}function Wy(c){const r=at();return rt({mutationFn:({featureId:d,update:o})=>gy(c,d,o),onSuccess:()=>{r.invalidateQueries({queryKey:["features",c]})}})}function Iy(c){return Nt({queryKey:["agent-status",c],queryFn:()=>yy(c),enabled:!!c,refetchInterval:3e3})}function Py(c){const r=at();return rt({mutationFn:(d={})=>hu(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",c]})}})}function e0(c){const r=at();return rt({mutationFn:()=>vy(c),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",c]}),r.invalidateQueries({queryKey:["nextRun",c]})}})}function t0(){return Nt({queryKey:["setup-status"],queryFn:jy,staleTime:6e4})}function a0(){return Nt({queryKey:["health"],queryFn:Sy,retry:!1})}const uh={models:[{id:"claude-opus-4-6",name:"Claude Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet"}],default:"claude-opus-4-6"},oh={yolo_mode:!1,model:"claude-opus-4-6",glm_mode:!1,ollama_mode:!1,testing_agent_ratio:1,playwright_headless:!0,batch_size:3,api_provider:"claude",api_base_url:null,api_has_auth_token:!1,api_model:null},l0={providers:[{id:"claude",name:"Claude (Anthropic)",base_url:null,models:uh.models,default_model:"claude-opus-4-6",requires_auth:!1}],current:"claude"};function n0(){return Nt({queryKey:["available-providers"],queryFn:Ty,staleTime:3e5,retry:1,placeholderData:l0})}function s0(){return Nt({queryKey:["available-models"],queryFn:Ey,staleTime:3e5,retry:1,placeholderData:uh})}function xu(){return Nt({queryKey:["settings"],queryFn:Dy,staleTime:6e4,retry:1,placeholderData:oh})}function i0(){const c=at();return rt({mutationFn:r=>My(r),onMutate:async r=>{await c.cancelQueries({queryKey:["settings"]});const d=c.getQueryData(["settings"]);return c.setQueryData(["settings"],o=>({...oh,...o,...r})),{previous:d}},onError:(r,d,o)=>{o?.previous&&c.setQueryData(["settings"],o.previous)},onSettled:()=>{c.invalidateQueries({queryKey:["settings"]}),c.invalidateQueries({queryKey:["available-models"]}),c.invalidateQueries({queryKey:["available-providers"]})}})}const Em=100,c0=20,Tm=500;function r0(c){const[r,d]=m.useState({progress:{passing:0,in_progress: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=m.useRef(null),h=m.useRef(null),p=m.useRef(0),v=m.useCallback(()=>{if(!c)return;const A=window.location.protocol==="https:"?"wss:":"ws:",H=window.location.host,B=`${A}//${H}/ws/projects/${encodeURIComponent(c)}`;try{const R=new WebSocket(B);o.current=R,R.onopen=()=>{d(w=>({...w,isConnected:!0})),p.current=0},R.onmessage=w=>{try{const S=JSON.parse(w.data);switch(S.type){case"progress":d(j=>({...j,progress:{passing:S.passing,in_progress:S.in_progress,total:S.total,percentage:S.percentage}}));break;case"agent_status":d(j=>({...j,agentStatus:S.status,...(S.status==="stopped"||S.status==="crashed")&&{activeAgents:[],recentActivity:[],orchestratorStatus:null}}));break;case"log":d(j=>{const K=[...j.logs.slice(-Em+1),{line:S.line,timestamp:S.timestamp,featureId:S.featureId,agentIndex:S.agentIndex}];let J=j.agentLogs;if(S.agentIndex!==void 0){J=new Map(j.agentLogs);const $=J.get(S.agentIndex)||[],X={line:S.line,timestamp:S.timestamp,type:"output"};J.set(S.agentIndex,[...$.slice(-Tm+1),X])}return{...j,logs:K,agentLogs:J}});break;case"feature_update":break;case"agent_update":d(j=>{const K=new Map(j.agentLogs),J=K.get(S.agentIndex)||[],$={line:`[STATE] ${S.state}${S.thought?`: ${S.thought}`:""}`,timestamp:S.timestamp,type:S.state==="error"?"error":"state_change"};K.set(S.agentIndex,[...J.slice(-Tm+1),$]);const X=K.get(S.agentIndex)||[],ee=j.activeAgents.findIndex(q=>q.agentIndex===S.agentIndex);let Q;S.state==="success"||S.state==="error"?S.agentIndex===-1?Q=j.activeAgents.filter(q=>q.featureId!==S.featureId):Q=j.activeAgents.filter(q=>q.agentIndex!==S.agentIndex):ee>=0?(Q=[...j.activeAgents],Q[ee]={agentIndex:S.agentIndex,agentName:S.agentName,agentType:S.agentType||"coding",featureId:S.featureId,featureIds:S.featureIds||[S.featureId],featureName:S.featureName,state:S.state,thought:S.thought,timestamp:S.timestamp,logs:X}):Q=[...j.activeAgents,{agentIndex:S.agentIndex,agentName:S.agentName,agentType:S.agentType||"coding",featureId:S.featureId,featureIds:S.featureIds||[S.featureId],featureName:S.featureName,state:S.state,thought:S.thought,timestamp:S.timestamp,logs:X}];let ne=j.recentActivity;S.thought&&(ne=[{agentName:S.agentName,thought:S.thought,timestamp:S.timestamp,featureId:S.featureId},...j.recentActivity.slice(0,c0-1)]);let Z=j.celebrationQueue,O=j.celebration;if(S.state==="success"){const q={agentName:S.agentName,featureName:S.featureName,featureId:S.featureId};j.celebration?Z=[...j.celebrationQueue,q]:O=q}return{...j,activeAgents:Q,agentLogs:K,recentActivity:ne,celebrationQueue:Z,celebration:O}});break;case"orchestrator_update":d(j=>{const K={eventType:S.eventType,message:S.message,timestamp:S.timestamp,featureId:S.featureId,featureName:S.featureName};return{...j,orchestratorStatus:{state:S.state,message:S.message,codingAgents:S.codingAgents??j.orchestratorStatus?.codingAgents??0,testingAgents:S.testingAgents??j.orchestratorStatus?.testingAgents??0,maxConcurrency:S.maxConcurrency??j.orchestratorStatus?.maxConcurrency??3,readyCount:S.readyCount??j.orchestratorStatus?.readyCount??0,blockedCount:S.blockedCount??j.orchestratorStatus?.blockedCount??0,timestamp:S.timestamp,recentEvents:[K,...(j.orchestratorStatus?.recentEvents??[]).slice(0,4)]}}});break;case"dev_log":d(j=>({...j,devLogs:[...j.devLogs.slice(-Em+1),{line:S.line,timestamp:S.timestamp}]}));break;case"dev_server_status":d(j=>({...j,devServerStatus:S.status,devServerUrl:S.url}));break;case"pong":break}}catch{console.error("Failed to parse WebSocket message")}},R.onclose=w=>{if(d(K=>({...K,isConnected:!1})),o.current=null,w.code>=4e3&&w.code<=4999)return;const j=Math.min(1e3*Math.pow(2,p.current),3e4);p.current++,h.current=window.setTimeout(()=>{v()},j)},R.onerror=()=>{R.close()}}catch{}},[c]),y=m.useCallback(()=>{o.current?.readyState===WebSocket.OPEN&&o.current.send(JSON.stringify({type:"ping"}))},[]),C=m.useCallback(()=>{d(A=>{const[H,...B]=A.celebrationQueue;return{...A,celebration:H||null,celebrationQueue:B}})},[]);m.useEffect(()=>{if(d({progress:{passing:0,in_progress: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}),!c){o.current&&(o.current.close(),o.current=null);return}v();const A=setInterval(y,3e4);return()=>{clearInterval(A),h.current&&clearTimeout(h.current),o.current&&(o.current.close(),o.current=null)}},[c,v,y]),m.useEffect(()=>{const H=setInterval(()=>{d(B=>{const R=Date.now(),w=B.activeAgents.filter(S=>R-new Date(S.timestamp).getTime()<18e5);return w.length!==B.activeAgents.length?{...B,activeAgents:w}:B})},6e4);return()=>clearInterval(H)},[]);const z=m.useCallback(()=>{d(A=>({...A,logs:[]}))},[]),E=m.useCallback(()=>{d(A=>({...A,devLogs:[]}))},[]),k=m.useCallback(A=>r.agentLogs.get(A)||[],[r.agentLogs]),G=m.useCallback(A=>{d(H=>{const B=new Map(H.agentLogs);return B.delete(A),{...H,agentLogs:B}})},[]);return{...r,clearLogs:z,clearDevLogs:E,clearCelebration:C,getAgentLogs:k,clearAgentLogs:G}}const u0={started:[523.25,659.25],completed:[523.25,659.25,783.99]};function Dm(c){try{const r=new(window.AudioContext||window.webkitAudioContext),d=u0[c],o=c==="completed"?.15:.12,h=d.length*o;d.forEach((p,v)=>{const y=r.createOscillator(),C=r.createGain();y.connect(C),C.connect(r.destination),y.type="sine",y.frequency.setValueAtTime(p,r.currentTime);const z=r.currentTime+v*o;C.gain.setValueAtTime(0,z),C.gain.linearRampToValueAtTime(.3,z+.02),C.gain.exponentialRampToValueAtTime(.01,z+o),y.start(z),y.stop(z+o)}),setTimeout(()=>{r.close()},h*1e3+100)}catch{}}function o0(c){return{pendingIds:new Set(c?.pending.map(r=>r.id)??[]),inProgressIds:new Set(c?.in_progress.map(r=>r.id)??[]),doneIds:new Set(c?.done.map(r=>r.id)??[])}}function d0(c){const r=m.useRef(null),d=m.useRef(!1);m.useEffect(()=>{if(!c)return;const o=o0(c);if(!d.current){r.current=o,d.current=!0;return}const h=r.current;if(!h){r.current=o;return}for(const p of o.inProgressIds)if(h.pendingIds.has(p)&&!h.inProgressIds.has(p)){Dm("started");break}for(const p of o.doneIds)if(!h.doneIds.has(p)&&(h.inProgressIds.has(p)||h.pendingIds.has(p))){Dm("completed");break}r.current=o},[c])}function f0(){try{const c=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:v,start:y})=>{const C=c.createOscillator(),z=c.createGain();C.connect(z),z.connect(c.destination),C.type="sine",C.frequency.setValueAtTime(v,c.currentTime+y);const E=c.currentTime+y;z.gain.setValueAtTime(0,E),z.gain.linearRampToValueAtTime(.4,E+.03),z.gain.setValueAtTime(.4,E+d*.6),z.gain.exponentialRampToValueAtTime(.01,E+d),C.start(E),C.stop(E+d)});const o=[523.25,659.25,783.99,1046.5],h=.65,p=.5;o.forEach(v=>{const y=c.createOscillator(),C=c.createGain();y.connect(C),C.connect(c.destination),y.type="sine",y.frequency.setValueAtTime(v,c.currentTime+h);const z=c.currentTime+h;C.gain.setValueAtTime(0,z),C.gain.linearRampToValueAtTime(.2,z+.05),C.gain.setValueAtTime(.2,z+p*.5),C.gain.exponentialRampToValueAtTime(.01,z+p),y.start(z),y.stop(z+p)}),setTimeout(()=>{c.close()},1500)}catch{}}function m0(){const r=Date.now()+2e3;Ei({particleCount:100,spread:70,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Ei({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}Ei({particleCount:30,spread:60,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Ei({particleCount:30,spread:60,origin:{x:1,y:.6},angle:120,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]})},250)}function h0(c){return c?c.pending.length===0&&c.in_progress.length===0&&c.done.length>0:!1}function x0(c,r){const d=m.useRef(new Set),o=m.useRef(null);m.useEffect(()=>{if(!c||!r)return;const h=h0(c);if(o.current!==r){o.current=r,h&&d.current.add(r);return}h&&!d.current.has(r)&&(d.current.add(r),m0(),f0())},[c,r])}const ki=[{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"}}],Mm="autoforge-theme",_m="autoforge-dark-mode";function g0(c){switch(c){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 dh(){const[c,r]=m.useState(()=>{try{const y=localStorage.getItem(Mm);if(y==="twitter"||y==="claude"||y==="neo-brutalism"||y==="retro-arcade"||y==="aurora"||y==="business")return y}catch{}return"twitter"}),[d,o]=m.useState(()=>{try{return localStorage.getItem(_m)==="true"}catch{return!1}});m.useEffect(()=>{const y=document.documentElement;y.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business");const C=g0(c);C&&y.classList.add(C),d?y.classList.add("dark"):y.classList.remove("dark");try{localStorage.setItem(Mm,c),localStorage.setItem(_m,String(d))}catch{}},[c,d]);const h=m.useCallback(y=>{r(y)},[]),p=m.useCallback(y=>{o(y)},[]),v=m.useCallback(()=>{o(y=>!y)},[]);return{theme:c,setTheme:h,darkMode:d,setDarkMode:p,toggleDarkMode:v,themes:ki,currentTheme:ki.find(y=>y.id===c)??ki[0]}}function bl(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function p0({projectName:c,onError:r}){const[d,o]=m.useState([]),[h,p]=m.useState(!1),[v,y]=m.useState(!1),[C,z]=m.useState("disconnected"),[E,k]=m.useState(null),[G,A]=m.useState(null),H=m.useRef(null),B=m.useRef(null),R=m.useRef(0),w=3,S=m.useRef(null),j=m.useRef(null),K=m.useRef(!1);m.useEffect(()=>{K.current=v},[v]),m.useEffect(()=>()=>{S.current&&clearInterval(S.current),j.current&&clearTimeout(j.current),H.current&&H.current.close()},[]),m.useEffect(()=>{if(v)return;const ne=setTimeout(()=>{const Z=setInterval(async()=>{if(K.current){clearInterval(Z);return}try{const O=await by(c);O.exists&&O.status==="complete"&&(y(!0),p(!1),o(q=>{const W=q[q.length-1];return W?.role==="assistant"&&W.isStreaming?[...q.slice(0,-1),{...W,isStreaming:!1}]:q}),o(q=>[...q,{id:bl(),role:"system",content:`Spec creation complete! Files written: ${O.files_written.join(", ")}${O.feature_count?` (${O.feature_count} features)`:""}`,timestamp:new Date}]),clearInterval(Z))}catch{}},3e3);return()=>clearInterval(Z)},3e3);return()=>clearTimeout(ne)},[c,v]);const J=m.useCallback(()=>{if(H.current?.readyState===WebSocket.OPEN)return;z("connecting");const ne=window.location.protocol==="https:"?"wss:":"ws:",Z=window.location.host,O=`${ne}//${Z}/api/spec/ws/${encodeURIComponent(c)}`,q=new WebSocket(O);H.current=q,q.onopen=()=>{z("connected"),R.current=0,S.current=window.setInterval(()=>{q.readyState===WebSocket.OPEN&&q.send(JSON.stringify({type:"ping"}))},3e4)},q.onclose=W=>{if(z("disconnected"),S.current&&(clearInterval(S.current),S.current=null),!(W.code>=4e3&&W.code<=4999)&&R.current<w&&!K.current){R.current++;const g=Math.min(1e3*Math.pow(2,R.current),1e4);j.current=window.setTimeout(J,g)}},q.onerror=()=>{z("error"),r?.("WebSocket connection error")},q.onmessage=W=>{try{const ae=JSON.parse(W.data);switch(ae.type){case"text":{o(g=>{const T=g[g.length-1];return T?.role==="assistant"&&T.isStreaming?[...g.slice(0,-1),{...T,content:T.content+ae.content}]:(B.current=bl(),[...g,{id:B.current,role:"assistant",content:ae.content,timestamp:new Date,isStreaming:!0}])});break}case"question":{k(ae.questions),A(ae.tool_id||null),p(!1),o(g=>{const T=g[g.length-1];return T?.role==="assistant"&&T.isStreaming?[...g.slice(0,-1),{...T,isStreaming:!1,questions:ae.questions}]:g});break}case"spec_complete":{y(!0),p(!1),o(g=>{const T=g[g.length-1];return T?.role==="assistant"&&T.isStreaming?[...g.slice(0,-1),{...T,isStreaming:!1}]:g}),o(g=>[...g,{id:bl(),role:"system",content:`Specification file created: ${ae.path}`,timestamp:new Date}]);break}case"file_written":{o(g=>[...g,{id:bl(),role:"system",content:`File created: ${ae.path}`,timestamp:new Date}]);break}case"complete":{y(!0),p(!1),o(g=>{const T=g[g.length-1];return T?.role==="assistant"&&T.isStreaming?[...g.slice(0,-1),{...T,isStreaming:!1}]:g});break}case"error":{p(!1),r?.(ae.content),o(g=>[...g,{id:bl(),role:"system",content:`Error: ${ae.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{p(!1),o(g=>{const T=g[g.length-1];return T?.role==="assistant"&&T.isStreaming?[...g.slice(0,-1),{...T,isStreaming:!1}]:g});break}}}catch(ae){console.error("Failed to parse WebSocket message:",ae)}}},[c,r]),$=m.useCallback(()=>{J();const ne=()=>{H.current?.readyState===WebSocket.OPEN?(p(!0),H.current.send(JSON.stringify({type:"start"}))):H.current?.readyState===WebSocket.CONNECTING&&setTimeout(ne,100)};setTimeout(ne,100)},[J]),X=m.useCallback((ne,Z)=>{if(!H.current||H.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}o(q=>[...q,{id:bl(),role:"user",content:ne,attachments:Z,timestamp:new Date}]),k(null),A(null),p(!0);const O={type:"message",content:ne};Z&&Z.length>0&&(O.attachments=Z.map(q=>({filename:q.filename,mimeType:q.mimeType,base64Data:q.base64Data}))),H.current.send(JSON.stringify(O))},[r]),ee=m.useCallback(ne=>{if(!H.current||H.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}const Z=Object.values(ne).map(O=>Array.isArray(O)?O.join(", "):O).join("; ");o(O=>[...O,{id:bl(),role:"user",content:Z,timestamp:new Date}]),k(null),A(null),p(!0),H.current.send(JSON.stringify({type:"answer",answers:ne,tool_id:G}))},[G,r]),Q=m.useCallback(()=>{R.current=w,S.current&&(clearInterval(S.current),S.current=null),H.current&&(H.current.close(),H.current=null),z("disconnected")},[]);return{messages:d,isLoading:h,isComplete:v,connectionStatus:C,currentQuestions:E,currentToolId:G,start:$,sendMessage:X,sendAnswer:ee,disconnect:Q}}function Re(...c){return Vg(Xg(c))}function ke({className:c,...r}){return l.jsx("div",{"data-slot":"card",className:Re("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",c),...r})}function Hi({className:c,...r}){return l.jsx("div",{"data-slot":"card-header",className:Re("@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",c),...r})}function gu({className:c,...r}){return l.jsx("div",{"data-slot":"card-title",className:Re("leading-none font-semibold",c),...r})}function y0({className:c,...r}){return l.jsx("div",{"data-slot":"card-description",className:Re("text-muted-foreground text-sm",c),...r})}function Ge({className:c,...r}){return l.jsx("div",{"data-slot":"card-content",className:Re("px-6",c),...r})}const v0=[Op],b0={a:({children:c,href:r,...d})=>l.jsx("a",{href:r,target:"_blank",rel:"noopener noreferrer",...d,children:c})},pu=m.memo(function({message:r}){const{role:d,content:o,attachments:h,timestamp:p,isStreaming:v}=r,y=p.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),z={user:{icon:Zg,bgColor:"bg-primary",textColor:"text-primary-foreground",align:"justify-end",bubbleAlign:"items-end",iconBg:"bg-primary",iconColor:"text-primary-foreground"},assistant:{icon:uu,bgColor:"bg-muted",textColor:"text-foreground",align:"justify-start",bubbleAlign:"items-start",iconBg:"bg-secondary",iconColor:"text-secondary-foreground"},system:{icon:Kg,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],E=z.icon;return d==="system"?l.jsx("div",{className:`flex ${z.align} px-4 py-2`,children:l.jsx("div",{className:`${z.bgColor} border border-border rounded-lg px-4 py-2 text-sm font-mono ${z.textColor}`,children:l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(E,{size:14}),o]})})}):l.jsx("div",{className:`flex ${z.align} px-4 py-2`,children:l.jsxs("div",{className:`flex flex-col ${z.bubbleAlign} max-w-[80%] gap-1`,children:[l.jsxs("div",{className:"flex items-start gap-2",children:[d==="assistant"&&l.jsx("div",{className:`${z.iconBg} p-1.5 rounded flex-shrink-0`,children:l.jsx(E,{size:16,className:z.iconColor})}),l.jsxs(ke,{className:`${z.bgColor} px-4 py-3 border ${v?"animate-pulse":""}`,children:[o&&l.jsx("div",{className:`text-sm leading-relaxed ${z.textColor} chat-prose${d==="user"?" chat-prose-user":""}`,children:l.jsx(kp,{remarkPlugins:v0,components:b0,children:o})}),h&&h.length>0&&l.jsx("div",{className:`flex flex-wrap gap-2 ${o?"mt-3":""}`,children:h.map(k=>l.jsxs("div",{className:"border border-border rounded p-1 bg-card",children:[l.jsx("img",{src:k.previewUrl,alt:k.filename,className:"max-w-48 max-h-48 object-contain cursor-pointer hover:opacity-90 transition-opacity rounded",onClick:()=>window.open(k.previewUrl,"_blank"),title:`${k.filename} (click to enlarge)`}),l.jsx("span",{className:"text-xs text-muted-foreground block mt-1 text-center",children:k.filename})]},k.id))}),v&&l.jsx("span",{className:"inline-block w-2 h-4 bg-primary ml-1 animate-pulse rounded"})]}),d==="user"&&l.jsx("div",{className:`${z.iconBg} p-1.5 rounded flex-shrink-0`,children:l.jsx(E,{size:16,className:z.iconColor})})]}),l.jsx("span",{className:"text-xs text-muted-foreground font-mono px-2",children:y})]})})}),j0=ou("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:c,variant:r="default",size:d="default",asChild:o=!1,...h}){const p=o?ih:"button";return l.jsx(p,{"data-slot":"button","data-variant":r,"data-size":d,className:Re(j0({variant:r,size:d,className:c})),...h})}function dt({className:c,type:r,...d}){return l.jsx("input",{type:r,"data-slot":"input",className:Re("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",c),...d})}const S0=ou("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 Oe({className:c,variant:r="default",asChild:d=!1,...o}){const h=d?ih:"span";return l.jsx(h,{"data-slot":"badge","data-variant":r,className:Re(S0({variant:r}),c),...o})}function N0({questions:c,onSubmit:r,disabled:d=!1}){const[o,h]=m.useState({}),[p,v]=m.useState({}),[y,C]=m.useState({}),z=(B,R,w)=>{const S=String(B);if(R==="Other"){C(j=>({...j,[S]:!0}));return}C(j=>({...j,[S]:!1})),h(j=>{if(w){const K=j[S]||[];return K.includes(R)?{...j,[S]:K.filter(J=>J!==R)}:{...j,[S]:[...K,R]}}else return{...j,[S]:R}})},E=(B,R)=>{const w=String(B);v(S=>({...S,[w]:R})),h(S=>({...S,[w]:R}))},k=()=>{const B={};c.forEach((R,w)=>{const S=String(w);y[S]&&p[S]?B[S]=p[S]:o[S]&&(B[S]=o[S])}),r(B)},G=(B,R,w)=>{const S=String(B),j=o[S];return w?Array.isArray(j)&&j.includes(R):j===R},A=B=>{const R=String(B);return!!(o[R]||y[R]&&p[R])},H=c.every((B,R)=>A(R));return l.jsxs("div",{className:"space-y-6 p-4",children:[c.map((B,R)=>l.jsx(ke,{children:l.jsxs(Ge,{className:"p-4",children:[l.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[l.jsx(Oe,{children:B.header}),l.jsx("span",{className:"font-bold text-foreground",children:B.question}),B.multiSelect&&l.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:"(select multiple)"})]}),l.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[B.options.map((w,S)=>{const j=G(R,w.label,B.multiSelect);return l.jsx("button",{onClick:()=>z(R,w.label,B.multiSelect),disabled:d,className:`
13
10
  text-left p-4 rounded-lg border-2 transition-all duration-150
14
11
  ${j?"bg-primary/10 border-primary":"bg-card border-border hover:border-primary/50 hover:bg-muted"}
15
12
  disabled:opacity-50 disabled:cursor-not-allowed
16
13
  `,children:l.jsxs("div",{className:"flex items-start gap-2",children:[l.jsx("div",{className:`
17
14
  w-5 h-5 flex-shrink-0 mt-0.5 border-2 flex items-center justify-center
18
- ${U.multiSelect?"rounded":"rounded-full"}
15
+ ${B.multiSelect?"rounded":"rounded-full"}
19
16
  ${j?"bg-primary border-primary text-primary-foreground":"border-border bg-background"}
20
- `,children:j&&l.jsx(ea,{size:12,strokeWidth:3})}),l.jsxs("div",{className:"flex-1",children:[l.jsx("div",{className:"font-bold text-foreground",children:A.label}),l.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:A.description})]})]})},S)}),l.jsx("button",{onClick:()=>w(R,"Other",U.multiSelect),disabled:d,className:`
17
+ `,children:j&&l.jsx(ea,{size:12,strokeWidth:3})}),l.jsxs("div",{className:"flex-1",children:[l.jsx("div",{className:"font-bold text-foreground",children:w.label}),l.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:w.description})]})]})},S)}),l.jsx("button",{onClick:()=>z(R,"Other",B.multiSelect),disabled:d,className:`
21
18
  text-left p-4 rounded-lg border-2 transition-all duration-150
22
19
  ${y[String(R)]?"bg-primary/10 border-primary":"bg-card border-border hover:border-primary/50 hover:bg-muted"}
23
20
  disabled:opacity-50 disabled:cursor-not-allowed
24
21
  `,children:l.jsxs("div",{className:"flex items-start gap-2",children:[l.jsx("div",{className:`
25
22
  w-5 h-5 flex-shrink-0 mt-0.5 border-2 flex items-center justify-center
26
- ${U.multiSelect?"rounded":"rounded-full"}
23
+ ${B.multiSelect?"rounded":"rounded-full"}
27
24
  ${y[String(R)]?"bg-primary border-primary text-primary-foreground":"border-border bg-background"}
28
- `,children:y[String(R)]&&l.jsx(ea,{size:12,strokeWidth:3})}),l.jsxs("div",{className:"flex-1",children:[l.jsx("div",{className:"font-bold text-foreground",children:"Other"}),l.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:"Provide a custom answer"})]})]})})]}),y[String(R)]&&l.jsx("div",{className:"mt-4",children:l.jsx(dt,{type:"text",value:p[String(R)]||"",onChange:A=>E(R,A.target.value),placeholder:"Type your answer...",autoFocus:!0,disabled:d})})]})},R)),l.jsx("div",{className:"flex justify-end",children:l.jsx(F,{onClick:_,disabled:d||!q,children:"Continue"})})]})}function mh(){return l.jsxs("div",{className:"flex items-center gap-2 p-4",children:[l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),l.jsx("span",{className:"text-sm font-mono text-muted-foreground",children:"Claude is thinking..."})]})}function us(c,r=!0){return!(c.key!=="Enter"||r&&c.shiftKey||c.nativeEvent.isComposing)}function Li({className:c,...r}){return l.jsx("textarea",{"data-slot":"textarea",className:Re("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",c),...r})}const j0=ou("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 jt({className:c,variant:r,...d}){return l.jsx("div",{"data-slot":"alert",role:"alert",className:Re(j0({variant:r}),c),...d})}function S0({className:c,...r}){return l.jsx("div",{"data-slot":"alert-title",className:Re("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",c),...r})}function St({className:c,...r}){return l.jsx("div",{"data-slot":"alert-description",className:Re("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",c),...r})}const N0=5*1024*1024,C0=["image/jpeg","image/png"],z0=`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:
25
+ `,children:y[String(R)]&&l.jsx(ea,{size:12,strokeWidth:3})}),l.jsxs("div",{className:"flex-1",children:[l.jsx("div",{className:"font-bold text-foreground",children:"Other"}),l.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:"Provide a custom answer"})]})]})})]}),y[String(R)]&&l.jsx("div",{className:"mt-4",children:l.jsx(dt,{type:"text",value:p[String(R)]||"",onChange:w=>E(R,w.target.value),placeholder:"Type your answer...",autoFocus:!0,disabled:d})})]})},R)),l.jsx("div",{className:"flex justify-end",children:l.jsx(F,{onClick:k,disabled:d||!H,children:"Continue"})})]})}function fh(){return l.jsxs("div",{className:"flex items-center gap-2 p-4",children:[l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),l.jsx("span",{className:"text-sm font-mono text-muted-foreground",children:"Claude is thinking..."})]})}function us(c,r=!0){return!(c.key!=="Enter"||r&&c.shiftKey||c.nativeEvent.isComposing)}function Li({className:c,...r}){return l.jsx("textarea",{"data-slot":"textarea",className:Re("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",c),...r})}const C0=ou("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 jt({className:c,variant:r,...d}){return l.jsx("div",{"data-slot":"alert",role:"alert",className:Re(C0({variant:r}),c),...d})}function z0({className:c,...r}){return l.jsx("div",{"data-slot":"alert-title",className:Re("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",c),...r})}function St({className:c,...r}){return l.jsx("div",{"data-slot":"alert-description",className:Re("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",c),...r})}const w0=5*1024*1024,A0=["image/jpeg","image/png"],E0=`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:
29
26
 
30
27
  - To Do
31
28
  - In Progress
@@ -40,49 +37,49 @@ There is no need for user authentication either. All the to-dos will be stored i
40
37
 
41
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.
42
39
 
43
- You choose the rest. Keep it simple. Should be 25 features.`;function hh({projectName:c,onComplete:r,onCancel:d,onExitToProject:o,initializerStatus:h="idle",initializerError:p=null,onRetryInitializer:v}){const[y,C]=m.useState(""),[w,E]=m.useState(null),[_,L]=m.useState(!1),[z,q]=m.useState([]),U=m.useRef(null),R=m.useRef(null),A=m.useRef(null),{messages:S,isLoading:j,isComplete:K,connectionStatus:J,currentQuestions:$,start:X,sendMessage:ee,sendAnswer:Q,disconnect:ne}=g0({projectName:c,onComplete:r,onError:P=>E(P)});m.useEffect(()=>(X(),()=>{ne()}),[]),m.useEffect(()=>{U.current?.scrollIntoView({behavior:"smooth"})},[S,$,j]),m.useEffect(()=>{!j&&!$&&R.current&&R.current.focus()},[j,$]);const Z=()=>{const P=y.trim();if(!(!P&&z.length===0||j)){if(/^\s*\/exit\s*$/i.test(P)){C(""),o();return}ee(P,z.length>0?z:void 0),C(""),q([]),R.current&&(R.current.style.height="auto")}},O=P=>{us(P)&&(P.preventDefault(),Z())},H=P=>{Q(P)},W=m.useCallback(P=>{P&&Array.from(P).forEach(fe=>{if(!C0.includes(fe.type)){E(`Invalid file type: ${fe.name}. Only JPEG and PNG are supported.`);return}if(fe.size>N0){E(`File too large: ${fe.name}. Maximum size is 5 MB.`);return}const oe=new FileReader;oe.onload=te=>{const ie=te.target?.result,Ue=ie.split(",")[1],ut={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:fe.name,mimeType:fe.type,base64Data:Ue,previewUrl:ie,size:fe.size};q(ft=>[...ft,ut])},oe.readAsDataURL(fe)})},[]),ae=m.useCallback(P=>{q(fe=>fe.filter(oe=>oe.id!==P))},[]),g=m.useCallback(P=>{P.preventDefault(),W(P.dataTransfer.files)},[W]),T=m.useCallback(P=>{P.preventDefault()},[]),I=()=>{switch(J){case"connected":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[l.jsx(fn,{size:12}),"Connected"]});case"connecting":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[l.jsx(fn,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[l.jsx(dn,{size:12}),"Error"]});default:return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[l.jsx(dn,{size:12}),"Disconnected"]})}};return l.jsxs("div",{className:"flex flex-col h-screen bg-background",children:[l.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Create Spec: ",c]}),l.jsx(I,{})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[K&&l.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[l.jsx(ta,{size:16}),"Complete"]}),l.jsxs(F,{onClick:()=>{C(z0),R.current&&(R.current.style.height="auto",R.current.style.height=`${Math.min(R.current.scrollHeight,200)}px`)},variant:"ghost",size:"sm",title:"Load sample prompt (Simple Todo app)",children:[l.jsx(Jg,{size:16}),"Load Sample"]}),l.jsxs(F,{onClick:o,variant:"ghost",size:"sm",title:"Exit chat and go to project (you can start the agent manually)",children:[l.jsx(du,{size:16}),"Exit to Project"]}),l.jsx(F,{onClick:d,variant:"ghost",size:"icon",title:"Cancel",children:l.jsx(tt,{size:20})})]})]}),w&&l.jsxs(jt,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[l.jsx(wa,{size:16}),l.jsx(St,{className:"flex-1",children:w}),l.jsx(F,{onClick:()=>E(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:l.jsx(tt,{size:14})})]}),l.jsxs("div",{className:"flex-1 overflow-y-auto py-4 min-h-0",children:[S.length===0&&!j&&l.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:l.jsx(ke,{className:"p-6 max-w-md",children:l.jsxs(Ge,{className:"p-0",children:[l.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Spec Creation"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you create your app specification..."}),J==="error"&&l.jsxs(F,{onClick:X,className:"mt-4",size:"sm",children:[l.jsx(on,{size:14}),"Retry Connection"]})]})})}),S.map(P=>l.jsx(pu,{message:P},P.id)),$&&$.length>0&&l.jsx(b0,{questions:$,onSubmit:H,disabled:j}),j&&!$&&l.jsx(mh,{}),l.jsx("div",{ref:U})]}),!K&&l.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:g,onDragOver:T,children:[z.length>0&&l.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:z.map(P=>l.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[l.jsx("img",{src:P.previewUrl,alt:P.filename,className:"w-16 h-16 object-cover rounded"}),l.jsx("button",{onClick:()=>ae(P.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:l.jsx(tt,{size:12})}),l.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:P.filename.length>10?`${P.filename.substring(0,7)}...`:P.filename})]},P.id))}),l.jsxs("div",{className:"flex gap-3",children:[l.jsx("input",{ref:A,type:"file",accept:"image/jpeg,image/png",multiple:!0,onChange:P=>W(P.target.files),className:"hidden"}),l.jsx(F,{onClick:()=>A.current?.click(),disabled:J!=="connected",variant:"ghost",size:"icon",title:"Attach image (JPEG, PNG - max 5MB)",children:l.jsx(Oi,{size:18})}),l.jsx(Li,{ref:R,value:y,onChange:P=>{C(P.target.value),P.target.style.height="auto",P.target.style.height=`${Math.min(P.target.scrollHeight,200)}px`},onKeyDown:O,placeholder:$?"Or type a custom response...":z.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:j&&!$||J!=="connected",rows:1}),l.jsx(F,{onClick:Z,disabled:!y.trim()&&z.length===0||j&&!$||J!=="connected",className:"px-6",children:l.jsx(fu,{size:18})})]}),l.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send, Shift+Enter for new line. Drag & drop or click ",l.jsx(Oi,{size:12,className:"inline"})," to attach images (JPEG/PNG, max 5MB)."]})]}),K&&l.jsx("div",{className:`p-4 border-t-2 border-border ${h==="error"?"bg-destructive":"bg-green-500"}`,children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx("div",{className:"flex items-center gap-2",children:h==="starting"?l.jsxs(l.Fragment,{children:[l.jsx(_e,{size:20,className:"animate-spin text-white"}),l.jsxs("span",{className:"font-bold text-white",children:["Starting agent",_?" (YOLO mode)":"","..."]})]}):h==="error"?l.jsxs(l.Fragment,{children:[l.jsx(wa,{size:20,className:"text-white"}),l.jsx("span",{className:"font-bold text-white",children:p||"Failed to start agent"})]}):l.jsxs(l.Fragment,{children:[l.jsx(ta,{size:20,className:"text-white"}),l.jsx("span",{className:"font-bold text-white",children:"Specification created successfully!"})]})}),l.jsxs("div",{className:"flex items-center gap-2",children:[h==="error"&&v&&l.jsxs(F,{onClick:v,variant:"secondary",children:[l.jsx(on,{size:14}),"Retry"]}),h==="idle"&&l.jsxs(l.Fragment,{children:[l.jsxs(F,{onClick:()=>L(!_),variant:_?"default":"secondary",size:"sm",className:_?"bg-yellow-500 hover:bg-yellow-600 text-yellow-900":"",title:"YOLO Mode: Skip testing for rapid prototyping",children:[l.jsx($g,{size:16}),l.jsx("span",{className:_?"font-bold":"",children:"YOLO"})]}),l.jsxs(F,{onClick:()=>r("",_),children:["Continue to Project",l.jsx(Im,{size:16})]})]})]})]})})]})}function w0({onSelect:c,onCancel:r,initialPath:d}){const[o,h]=m.useState(d),[p,v]=m.useState(null),[y,C]=m.useState(!1),[w,E]=m.useState(""),[_,L]=m.useState(null),{data:z,isLoading:q,error:U,refetch:R}=Nt({queryKey:["filesystem","list",o],queryFn:()=>Sy(o)});m.useEffect(()=>{z?.current_path&&v(z.current_path)},[z?.current_path]);const A=Q=>{h(Q),v(Q),C(!1),E(""),L(null)},S=()=>{z?.parent_path&&A(z.parent_path)},j=Q=>{A(`${Q.letter}:/`)},K=Q=>{Q.is_directory&&A(Q.path)},J=async()=>{if(!w.trim()){L("Folder name is required");return}if(!/^[a-zA-Z0-9_\-. ]+$/.test(w)){L("Invalid folder name");return}const Q=`${z?.current_path}/${w.trim()}`;try{await Ny(Q),await R(),A(Q)}catch(ne){L(ne instanceof Error?ne.message:"Failed to create folder")}},$=()=>{p&&c(p)},X=Q=>{if(!Q)return[];const ne=[];if(/^[A-Za-z]:/.test(Q)){const H=Q.slice(0,2);ne.push({name:H,path:`${H}/`}),Q=Q.slice(3)}else Q.startsWith("/")&&(ne.push({name:"/",path:"/"}),Q=Q.slice(1));const Z=Q.split("/").filter(Boolean);let O=ne.length>0?ne[0].path:"";for(const H of Z)O=O.endsWith("/")?O+H:O+"/"+H,ne.push({name:H,path:O});return ne},ee=z?.current_path?X(z.current_path):[];return l.jsxs("div",{className:"flex flex-col h-full max-h-[70vh]",children:[l.jsxs("div",{className:"flex-shrink-0 p-4 border-b bg-card",children:[l.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[l.jsx(_i,{size:20,className:"text-primary"}),l.jsx("span",{className:"font-semibold",children:"Select Project Folder"})]}),l.jsxs("div",{className:"flex items-center gap-1 flex-wrap text-sm",children:[z?.parent_path&&l.jsx(F,{variant:"ghost",size:"icon-sm",onClick:S,title:"Go up",children:l.jsx(Pm,{size:16})}),ee.map((Q,ne)=>l.jsxs("div",{className:"flex items-center",children:[ne>0&&l.jsx(vm,{size:14,className:"text-muted-foreground mx-1"}),l.jsx(F,{variant:"ghost",size:"sm",onClick:()=>A(Q.path),className:ne===ee.length-1?"font-semibold":"",children:Q.name})]},Q.path))]})]}),z?.drives&&z.drives.length>0&&l.jsx("div",{className:"flex-shrink-0 p-3 border-b bg-muted/50",children:l.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[l.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Drives:"}),z.drives.map(Q=>l.jsxs(F,{variant:o?.startsWith(Q.letter)?"default":"outline",size:"sm",onClick:()=>j(Q),children:[l.jsx(Wg,{size:14}),Q.letter,": ",Q.label&&`(${Q.label})`]},Q.letter))]})}),l.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto bg-card",children:l.jsxs("div",{className:"p-2",children:[q?l.jsx("div",{className:"flex items-center justify-center p-8",children:l.jsx(_e,{size:24,className:"animate-spin text-primary"})}):U?l.jsxs("div",{className:"p-4 text-center",children:[l.jsx(wa,{size:32,className:"mx-auto mb-2 text-destructive"}),l.jsx("p",{className:"text-destructive",children:U instanceof Error?U.message:"Failed to load directory"}),l.jsx(F,{variant:"outline",size:"sm",onClick:()=>R(),className:"mt-2",children:"Retry"})]}):l.jsxs("div",{className:"grid grid-cols-1 gap-1",children:[z?.entries.filter(Q=>Q.is_directory).map(Q=>l.jsxs("button",{onClick:()=>K(Q),onDoubleClick:()=>A(Q.path),className:`
40
+ You choose the rest. Keep it simple. Should be 25 features.`;function mh({projectName:c,onComplete:r,onCancel:d,onExitToProject:o,initializerStatus:h="idle",initializerError:p=null,onRetryInitializer:v}){const[y,C]=m.useState(""),[z,E]=m.useState(null),[k,G]=m.useState(!1),[A,H]=m.useState([]),B=m.useRef(null),R=m.useRef(null),w=m.useRef(null),{messages:S,isLoading:j,isComplete:K,connectionStatus:J,currentQuestions:$,start:X,sendMessage:ee,sendAnswer:Q,disconnect:ne}=p0({projectName:c,onComplete:r,onError:P=>E(P)});m.useEffect(()=>(X(),()=>{ne()}),[]),m.useEffect(()=>{B.current?.scrollIntoView({behavior:"smooth"})},[S,$,j]),m.useEffect(()=>{!j&&!$&&R.current&&R.current.focus()},[j,$]);const Z=()=>{const P=y.trim();if(!(!P&&A.length===0||j)){if(/^\s*\/exit\s*$/i.test(P)){C(""),o();return}ee(P,A.length>0?A:void 0),C(""),H([]),R.current&&(R.current.style.height="auto")}},O=P=>{us(P)&&(P.preventDefault(),Z())},q=P=>{Q(P)},W=m.useCallback(P=>{P&&Array.from(P).forEach(fe=>{if(!A0.includes(fe.type)){E(`Invalid file type: ${fe.name}. Only JPEG and PNG are supported.`);return}if(fe.size>w0){E(`File too large: ${fe.name}. Maximum size is 5 MB.`);return}const oe=new FileReader;oe.onload=te=>{const ie=te.target?.result,Ue=ie.split(",")[1],ut={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:fe.name,mimeType:fe.type,base64Data:Ue,previewUrl:ie,size:fe.size};H(ft=>[...ft,ut])},oe.readAsDataURL(fe)})},[]),ae=m.useCallback(P=>{H(fe=>fe.filter(oe=>oe.id!==P))},[]),g=m.useCallback(P=>{P.preventDefault(),W(P.dataTransfer.files)},[W]),T=m.useCallback(P=>{P.preventDefault()},[]),I=()=>{switch(J){case"connected":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[l.jsx(fn,{size:12}),"Connected"]});case"connecting":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[l.jsx(fn,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[l.jsx(dn,{size:12}),"Error"]});default:return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[l.jsx(dn,{size:12}),"Disconnected"]})}};return l.jsxs("div",{className:"flex flex-col h-screen bg-background",children:[l.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Create Spec: ",c]}),l.jsx(I,{})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[K&&l.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[l.jsx(ta,{size:16}),"Complete"]}),l.jsxs(F,{onClick:()=>{C(E0),R.current&&(R.current.style.height="auto",R.current.style.height=`${Math.min(R.current.scrollHeight,200)}px`)},variant:"ghost",size:"sm",title:"Load sample prompt (Simple Todo app)",children:[l.jsx(Fg,{size:16}),"Load Sample"]}),l.jsxs(F,{onClick:o,variant:"ghost",size:"sm",title:"Exit chat and go to project (you can start the agent manually)",children:[l.jsx(du,{size:16}),"Exit to Project"]}),l.jsx(F,{onClick:d,variant:"ghost",size:"icon",title:"Cancel",children:l.jsx(tt,{size:20})})]})]}),z&&l.jsxs(jt,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[l.jsx(wa,{size:16}),l.jsx(St,{className:"flex-1",children:z}),l.jsx(F,{onClick:()=>E(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:l.jsx(tt,{size:14})})]}),l.jsxs("div",{className:"flex-1 overflow-y-auto py-4 min-h-0",children:[S.length===0&&!j&&l.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:l.jsx(ke,{className:"p-6 max-w-md",children:l.jsxs(Ge,{className:"p-0",children:[l.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Spec Creation"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you create your app specification..."}),J==="error"&&l.jsxs(F,{onClick:X,className:"mt-4",size:"sm",children:[l.jsx(on,{size:14}),"Retry Connection"]})]})})}),S.map(P=>l.jsx(pu,{message:P},P.id)),$&&$.length>0&&l.jsx(N0,{questions:$,onSubmit:q,disabled:j}),j&&!$&&l.jsx(fh,{}),l.jsx("div",{ref:B})]}),!K&&l.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:g,onDragOver:T,children:[A.length>0&&l.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:A.map(P=>l.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[l.jsx("img",{src:P.previewUrl,alt:P.filename,className:"w-16 h-16 object-cover rounded"}),l.jsx("button",{onClick:()=>ae(P.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:l.jsx(tt,{size:12})}),l.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:P.filename.length>10?`${P.filename.substring(0,7)}...`:P.filename})]},P.id))}),l.jsxs("div",{className:"flex gap-3",children:[l.jsx("input",{ref:w,type:"file",accept:"image/jpeg,image/png",multiple:!0,onChange:P=>W(P.target.files),className:"hidden"}),l.jsx(F,{onClick:()=>w.current?.click(),disabled:J!=="connected",variant:"ghost",size:"icon",title:"Attach image (JPEG, PNG - max 5MB)",children:l.jsx(Oi,{size:18})}),l.jsx(Li,{ref:R,value:y,onChange:P=>{C(P.target.value),P.target.style.height="auto",P.target.style.height=`${Math.min(P.target.scrollHeight,200)}px`},onKeyDown:O,placeholder:$?"Or type a custom response...":A.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:j&&!$||J!=="connected",rows:1}),l.jsx(F,{onClick:Z,disabled:!y.trim()&&A.length===0||j&&!$||J!=="connected",className:"px-6",children:l.jsx(fu,{size:18})})]}),l.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send, Shift+Enter for new line. Drag & drop or click ",l.jsx(Oi,{size:12,className:"inline"})," to attach images (JPEG/PNG, max 5MB)."]})]}),K&&l.jsx("div",{className:`p-4 border-t-2 border-border ${h==="error"?"bg-destructive":"bg-green-500"}`,children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx("div",{className:"flex items-center gap-2",children:h==="starting"?l.jsxs(l.Fragment,{children:[l.jsx(_e,{size:20,className:"animate-spin text-white"}),l.jsxs("span",{className:"font-bold text-white",children:["Starting agent",k?" (YOLO mode)":"","..."]})]}):h==="error"?l.jsxs(l.Fragment,{children:[l.jsx(wa,{size:20,className:"text-white"}),l.jsx("span",{className:"font-bold text-white",children:p||"Failed to start agent"})]}):l.jsxs(l.Fragment,{children:[l.jsx(ta,{size:20,className:"text-white"}),l.jsx("span",{className:"font-bold text-white",children:"Specification created successfully!"})]})}),l.jsxs("div",{className:"flex items-center gap-2",children:[h==="error"&&v&&l.jsxs(F,{onClick:v,variant:"secondary",children:[l.jsx(on,{size:14}),"Retry"]}),h==="idle"&&l.jsxs(l.Fragment,{children:[l.jsxs(F,{onClick:()=>G(!k),variant:k?"default":"secondary",size:"sm",className:k?"bg-yellow-500 hover:bg-yellow-600 text-yellow-900":"",title:"YOLO Mode: Skip testing for rapid prototyping",children:[l.jsx(Jg,{size:16}),l.jsx("span",{className:k?"font-bold":"",children:"YOLO"})]}),l.jsxs(F,{onClick:()=>r("",k),children:["Continue to Project",l.jsx(Wm,{size:16})]})]})]})]})})]})}function T0({onSelect:c,onCancel:r,initialPath:d}){const[o,h]=m.useState(d),[p,v]=m.useState(null),[y,C]=m.useState(!1),[z,E]=m.useState(""),[k,G]=m.useState(null),{data:A,isLoading:H,error:B,refetch:R}=Nt({queryKey:["filesystem","list",o],queryFn:()=>Ny(o)});m.useEffect(()=>{A?.current_path&&v(A.current_path)},[A?.current_path]);const w=Q=>{h(Q),v(Q),C(!1),E(""),G(null)},S=()=>{A?.parent_path&&w(A.parent_path)},j=Q=>{w(`${Q.letter}:/`)},K=Q=>{Q.is_directory&&w(Q.path)},J=async()=>{if(!z.trim()){G("Folder name is required");return}if(!/^[a-zA-Z0-9_\-. ]+$/.test(z)){G("Invalid folder name");return}const Q=`${A?.current_path}/${z.trim()}`;try{await Cy(Q),await R(),w(Q)}catch(ne){G(ne instanceof Error?ne.message:"Failed to create folder")}},$=()=>{p&&c(p)},X=Q=>{if(!Q)return[];const ne=[];if(/^[A-Za-z]:/.test(Q)){const q=Q.slice(0,2);ne.push({name:q,path:`${q}/`}),Q=Q.slice(3)}else Q.startsWith("/")&&(ne.push({name:"/",path:"/"}),Q=Q.slice(1));const Z=Q.split("/").filter(Boolean);let O=ne.length>0?ne[0].path:"";for(const q of Z)O=O.endsWith("/")?O+q:O+"/"+q,ne.push({name:q,path:O});return ne},ee=A?.current_path?X(A.current_path):[];return l.jsxs("div",{className:"flex flex-col h-full max-h-[70vh]",children:[l.jsxs("div",{className:"flex-shrink-0 p-4 border-b bg-card",children:[l.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[l.jsx(_i,{size:20,className:"text-primary"}),l.jsx("span",{className:"font-semibold",children:"Select Project Folder"})]}),l.jsxs("div",{className:"flex items-center gap-1 flex-wrap text-sm",children:[A?.parent_path&&l.jsx(F,{variant:"ghost",size:"icon-sm",onClick:S,title:"Go up",children:l.jsx(Im,{size:16})}),ee.map((Q,ne)=>l.jsxs("div",{className:"flex items-center",children:[ne>0&&l.jsx(vm,{size:14,className:"text-muted-foreground mx-1"}),l.jsx(F,{variant:"ghost",size:"sm",onClick:()=>w(Q.path),className:ne===ee.length-1?"font-semibold":"",children:Q.name})]},Q.path))]})]}),A?.drives&&A.drives.length>0&&l.jsx("div",{className:"flex-shrink-0 p-3 border-b bg-muted/50",children:l.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[l.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Drives:"}),A.drives.map(Q=>l.jsxs(F,{variant:o?.startsWith(Q.letter)?"default":"outline",size:"sm",onClick:()=>j(Q),children:[l.jsx($g,{size:14}),Q.letter,": ",Q.label&&`(${Q.label})`]},Q.letter))]})}),l.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto bg-card",children:l.jsxs("div",{className:"p-2",children:[H?l.jsx("div",{className:"flex items-center justify-center p-8",children:l.jsx(_e,{size:24,className:"animate-spin text-primary"})}):B?l.jsxs("div",{className:"p-4 text-center",children:[l.jsx(wa,{size:32,className:"mx-auto mb-2 text-destructive"}),l.jsx("p",{className:"text-destructive",children:B instanceof Error?B.message:"Failed to load directory"}),l.jsx(F,{variant:"outline",size:"sm",onClick:()=>R(),className:"mt-2",children:"Retry"})]}):l.jsxs("div",{className:"grid grid-cols-1 gap-1",children:[A?.entries.filter(Q=>Q.is_directory).map(Q=>l.jsxs("button",{onClick:()=>K(Q),onDoubleClick:()=>w(Q.path),className:`
44
41
  w-full text-left p-2 rounded-md
45
42
  flex items-center gap-2
46
43
  hover:bg-muted
47
44
  border-2 border-transparent transition-colors
48
45
  ${p===Q.path?"bg-primary/10 border-primary":""}
49
- `,children:[p===Q.path?l.jsx(Ri,{size:18,className:"text-primary flex-shrink-0"}):l.jsx(_i,{size:18,className:"text-muted-foreground flex-shrink-0"}),l.jsx("span",{className:"truncate flex-1",children:Q.name}),Q.has_children&&l.jsx(vm,{size:14,className:"ml-auto text-muted-foreground flex-shrink-0"})]},Q.path)),z?.entries.filter(Q=>Q.is_directory).length===0&&l.jsxs("div",{className:"p-4 text-center text-muted-foreground",children:[l.jsx(_i,{size:32,className:"mx-auto mb-2 opacity-50"}),l.jsx("p",{children:"No subfolders"}),l.jsx("p",{className:"text-sm",children:"You can create a new folder or select this directory."})]})]}),y&&l.jsx(ke,{className:"mt-2",children:l.jsxs(Ge,{className:"p-3",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(bm,{size:18,className:"text-primary"}),l.jsx(dt,{type:"text",value:w,onChange:Q=>E(Q.target.value),placeholder:"New folder name",className:"flex-1",autoFocus:!0,onKeyDown:Q=>{us(Q,!1)&&J(),Q.key==="Escape"&&(C(!1),E(""),L(null))}}),l.jsx(F,{onClick:J,size:"sm",children:"Create"}),l.jsx(F,{variant:"ghost",size:"sm",onClick:()=>{C(!1),E(""),L(null)},children:"Cancel"})]}),_&&l.jsx("p",{className:"text-sm text-destructive mt-1",children:_})]})})]})}),l.jsxs("div",{className:"flex-shrink-0 p-4 border-t bg-card",children:[l.jsx(ke,{className:"mb-3",children:l.jsxs(Ge,{className:"p-2",children:[l.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Selected path:"}),l.jsx("div",{className:"font-mono text-sm truncate",children:p||"No folder selected"}),p&&l.jsx("div",{className:"text-xs text-muted-foreground mt-2 italic",children:"This folder will contain all project files"})]})}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs(F,{variant:"outline",onClick:()=>C(!0),disabled:y,children:[l.jsx(bm,{size:16}),"New Folder"]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(F,{variant:"outline",onClick:r,children:"Cancel"}),l.jsx(F,{onClick:$,disabled:!p,children:"Select This Folder"})]})]})]})]})}function aa({...c}){return l.jsx(Op,{"data-slot":"dialog",...c})}function A0({...c}){return l.jsx(qp,{"data-slot":"dialog-portal",...c})}function E0({className:c,...r}){return l.jsx(Hp,{"data-slot":"dialog-overlay",className:Re("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",c),...r})}function la({className:c,children:r,showCloseButton:d=!0,...o}){return l.jsxs(A0,{"data-slot":"dialog-portal",children:[l.jsx(E0,{}),l.jsxs(Rp,{"data-slot":"dialog-content",className:Re("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",c),...o,children:[r,d&&l.jsxs(rh,{"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:[l.jsx(tt,{}),l.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function na({className:c,...r}){return l.jsx("div",{"data-slot":"dialog-header",className:Re("flex flex-col gap-2 text-center sm:text-left",c),...r})}function el({className:c,showCloseButton:r=!1,children:d,...o}){return l.jsxs("div",{"data-slot":"dialog-footer",className:Re("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",c),...o,children:[d,r&&l.jsx(rh,{asChild:!0,children:l.jsx(F,{variant:"outline",children:"Close"})})]})}function sa({className:c,...r}){return l.jsx(Up,{"data-slot":"dialog-title",className:Re("text-lg leading-none font-semibold",c),...r})}function Bi({className:c,...r}){return l.jsx(Bp,{"data-slot":"dialog-description",className:Re("text-muted-foreground text-sm",c),...r})}function Me({className:c,...r}){return l.jsx(Lp,{"data-slot":"label",className:Re("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",c),...r})}function T0({isOpen:c,onClose:r,onProjectCreated:d,onStepChange:o}){const[h,p]=m.useState("name"),[v,y]=m.useState(""),[C,w]=m.useState(null),[E,_]=m.useState(null),[L,z]=m.useState(null),[q,U]=m.useState("idle"),[R,A]=m.useState(null),[S,j]=m.useState(!1),K=Yy(),J=g=>{p(g),o?.(g)};if(!c)return null;const $=g=>{g.preventDefault();const T=v.trim();if(!T){z("Please enter a project name");return}if(!/^[a-zA-Z0-9_-]+$/.test(T)){z("Project name can only contain letters, numbers, hyphens, and underscores");return}z(null),J("folder")},X=g=>{w(g),J("method")},ee=()=>{J("name")},Q=async g=>{if(_(g),!C){z("Please select a project folder first"),J("folder");return}if(g==="manual")try{const T=await K.mutateAsync({name:v.trim(),path:C,specMethod:"manual"});J("complete"),setTimeout(()=>{d(T.name),W()},1500)}catch(T){z(T instanceof Error?T.message:"Failed to create project")}else try{await K.mutateAsync({name:v.trim(),path:C,specMethod:"claude"}),J("chat")}catch(T){z(T instanceof Error?T.message:"Failed to create project")}},ne=async(g,T=!1)=>{j(T),U("starting");try{await hu(v.trim(),{yoloMode:T,maxConcurrency:3}),J("complete"),setTimeout(()=>{d(v.trim()),W()},1500)}catch(I){U("error"),A(I instanceof Error?I.message:"Failed to start agent")}},Z=()=>{A(null),U("idle"),ne("",S)},O=()=>{J("method"),_(null)},H=()=>{d(v.trim()),W()},W=()=>{J("name"),y(""),w(null),_(null),z(null),U("idle"),A(null),j(!1),r()},ae=()=>{h==="method"?(J("folder"),_(null)):h==="folder"&&(J("name"),w(null))};return h==="chat"?ih.createPortal(l.jsx("div",{className:"fixed inset-0 z-50 bg-background flex flex-col",children:l.jsx(hh,{projectName:v.trim(),onComplete:ne,onCancel:O,onExitToProject:H,initializerStatus:q,initializerError:R,onRetryInitializer:Z})}),document.body):h==="folder"?l.jsx(aa,{open:!0,onOpenChange:g=>!g&&W(),children:l.jsxs(la,{className:"sm:max-w-3xl max-h-[85vh] flex flex-col p-0",children:[l.jsx(na,{className:"p-6 pb-4 border-b",children:l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(_i,{size:24,className:"text-primary"}),l.jsxs("div",{children:[l.jsx(sa,{children:"Select Project Location"}),l.jsxs(Bi,{children:["Select the folder to use for project ",l.jsx("span",{className:"font-semibold font-mono",children:v}),". Create a new folder or choose an existing one."]})]})]})}),l.jsx("div",{className:"flex-1 overflow-hidden",children:l.jsx(w0,{onSelect:X,onCancel:ee})})]})}):l.jsx(aa,{open:!0,onOpenChange:g=>!g&&W(),children:l.jsxs(la,{className:"sm:max-w-lg",children:[l.jsx(na,{children:l.jsxs(sa,{children:[h==="name"&&"Create New Project",h==="method"&&"Choose Setup Method",h==="complete"&&"Project Created!"]})}),h==="name"&&l.jsxs("form",{onSubmit:$,className:"space-y-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{htmlFor:"project-name",children:"Project Name"}),l.jsx(dt,{id:"project-name",type:"text",value:v,onChange:g=>y(g.target.value),placeholder:"my-awesome-app",pattern:"^[a-zA-Z0-9_-]+$",autoFocus:!0}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Use letters, numbers, hyphens, and underscores only."})]}),L&&l.jsx(jt,{variant:"destructive",children:l.jsx(St,{children:L})}),l.jsx(el,{children:l.jsxs(F,{type:"submit",disabled:!v.trim(),children:["Next",l.jsx(Im,{size:16})]})})]}),h==="method"&&l.jsxs("div",{className:"space-y-4",children:[l.jsx(Bi,{children:"How would you like to define your project?"}),l.jsxs("div",{className:"space-y-3",children:[l.jsx(ke,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!K.isPending&&Q("claude"),children:l.jsx(Ge,{className:"p-4",children:l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:l.jsx(uu,{size:24,className:"text-primary"})}),l.jsxs("div",{className:"flex-1",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"font-semibold",children:"Create with Claude"}),l.jsx(Oe,{children:"Recommended"})]}),l.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Interactive conversation to define features and generate your app specification automatically."})]})]})})}),l.jsx(ke,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!K.isPending&&Q("manual"),children:l.jsx(Ge,{className:"p-4",children:l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx("div",{className:"p-2 bg-secondary rounded-lg",children:l.jsx(cu,{size:24,className:"text-secondary-foreground"})}),l.jsxs("div",{className:"flex-1",children:[l.jsx("span",{className:"font-semibold",children:"Edit Templates Manually"}),l.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Edit the template files directly. Best for developers who want full control."})]})]})})})]}),L&&l.jsx(jt,{variant:"destructive",children:l.jsx(St,{children:L})}),K.isPending&&l.jsxs("div",{className:"flex items-center justify-center gap-2 text-muted-foreground",children:[l.jsx(_e,{size:16,className:"animate-spin"}),l.jsx("span",{children:"Creating project..."})]}),l.jsx(el,{className:"sm:justify-start",children:l.jsxs(F,{variant:"ghost",onClick:ae,disabled:K.isPending,children:[l.jsx(Pm,{size:16}),"Back"]})})]}),h==="complete"&&l.jsxs("div",{className:"text-center py-8",children:[l.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-primary/10 rounded-full mb-4",children:l.jsx(ta,{size:32,className:"text-primary"})}),l.jsx("h3",{className:"font-semibold text-xl mb-2",children:v}),l.jsx("p",{className:"text-muted-foreground",children:"Your project has been created successfully!"}),l.jsxs("div",{className:"mt-4 flex items-center justify-center gap-2",children:[l.jsx(_e,{size:16,className:"animate-spin"}),l.jsx("span",{className:"text-sm text-muted-foreground",children:"Redirecting..."})]})]})]})})}function xh({isOpen:c,title:r,message:d,confirmLabel:o="Confirm",cancelLabel:h="Cancel",variant:p="danger",isLoading:v=!1,onConfirm:y,onCancel:C}){return l.jsx(aa,{open:c,onOpenChange:w=>!w&&C(),children:l.jsxs(la,{className:"sm:max-w-md",children:[l.jsx(na,{children:l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("div",{className:`p-2 rounded-lg ${p==="danger"?"bg-destructive/10 text-destructive":"bg-primary/10 text-primary"}`,children:l.jsx(Aa,{size:20})}),l.jsx(sa,{children:r})]})}),l.jsx(Bi,{asChild:!0,children:l.jsx("div",{className:"text-muted-foreground",children:d})}),l.jsxs(el,{className:"gap-2 sm:gap-0",children:[l.jsx(F,{variant:"outline",onClick:C,disabled:v,children:h}),l.jsx(F,{variant:p==="danger"?"destructive":"default",onClick:y,disabled:v,children:v?"Deleting...":o})]})]})})}function D0({...c}){return l.jsx(Gp,{"data-slot":"dropdown-menu",...c})}function M0({...c}){return l.jsx(Qp,{"data-slot":"dropdown-menu-trigger",...c})}function _0({className:c,sideOffset:r=4,...d}){return l.jsx(Yp,{children:l.jsx(Vp,{"data-slot":"dropdown-menu-content",sideOffset:r,className:Re("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",c),...d})})}function Om({className:c,inset:r,variant:d="default",...o}){return l.jsx(Xp,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":d,className:Re("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",c),...o})}function k0({className:c,...r}){return l.jsx(Kp,{"data-slot":"dropdown-menu-separator",className:Re("bg-border -mx-1 my-1 h-px",c),...r})}function O0({projects:c,selectedProject:r,onSelectProject:d,isLoading:o,onSpecCreatingChange:h}){const[p,v]=m.useState(!1),[y,C]=m.useState(!1),[w,E]=m.useState(null),_=Vy(),L=A=>{d(A),v(!1)},z=(A,S)=>{A.stopPropagation(),A.preventDefault(),E(S)},q=async()=>{if(w)try{await _.mutateAsync(w),r===w&&d(null),E(null)}catch(A){console.error("Failed to delete project:",A),E(null)}},U=()=>{E(null)},R=c.find(A=>A.name===r);return l.jsxs("div",{className:"relative",children:[l.jsxs(D0,{open:p,onOpenChange:v,children:[l.jsx(M0,{asChild:!0,children:l.jsxs(F,{variant:"outline",className:"min-w-[200px] justify-between",disabled:o,children:[o?l.jsx(_e,{size:18,className:"animate-spin"}):r?l.jsxs(l.Fragment,{children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(Ri,{size:18}),r]}),R&&R.stats.total>0&&l.jsxs(Oe,{className:"ml-2",children:[R.stats.percentage,"%"]})]}):l.jsx("span",{className:"text-muted-foreground",children:"Select Project"}),l.jsx(rs,{size:18,className:`transition-transform ${p?"rotate-180":""}`})]})}),l.jsxs(_0,{align:"start",className:"w-[280px] p-0 flex flex-col",children:[c.length>0?l.jsx("div",{className:"max-h-[300px] overflow-y-auto p-1",children:c.map(A=>l.jsxs(Om,{className:`flex items-center justify-between cursor-pointer ${A.name===r?"bg-primary/10":""}`,onSelect:()=>{d(A.name)},children:[l.jsxs("span",{className:"flex items-center gap-2 flex-1",children:[l.jsx(Ri,{size:16}),A.name,A.stats.total>0&&l.jsxs("span",{className:"text-sm font-mono text-muted-foreground ml-auto",children:[A.stats.passing,"/",A.stats.total]})]}),l.jsx(F,{variant:"ghost",size:"icon-xs",onClick:S=>z(S,A.name),className:"text-muted-foreground hover:text-destructive",children:l.jsx(tl,{size:14})})]},A.name))}):l.jsx("div",{className:"p-4 text-center text-muted-foreground",children:"No projects yet"}),l.jsx(k0,{className:"my-0"}),l.jsx("div",{className:"p-1",children:l.jsxs(Om,{onSelect:()=>{C(!0)},className:"cursor-pointer font-semibold",children:[l.jsx(Pa,{size:16}),"New Project"]})})]})]}),l.jsx(T0,{isOpen:y,onClose:()=>C(!1),onProjectCreated:L,onStepChange:A=>h?.(A==="chat")}),l.jsx(xh,{isOpen:w!==null,title:"Delete Project",message:`Are you sure you want to remove "${w}" from the registry? This will unregister the project but preserve its files on disk.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:_.isPending,onConfirm:q,onCancel:U})]})}function R0({feature:c,allFeatures:r=[],compact:d=!1}){const o=c.dependencies||[];if(o.length===0)return null;const h=c.blocked??(c.blocking_dependencies&&c.blocking_dependencies.length>0)??!1,p=c.blocking_dependencies?.length??0;let v=o.length-p;if(r.length>0&&!c.blocking_dependencies){const y=new Set(r.filter(C=>C.passes).map(C=>C.id));v=o.filter(C=>y.has(C)).length}return d?l.jsx(Oe,{variant:"outline",className:`gap-1 font-mono text-xs ${h?"bg-destructive/10 text-destructive border-destructive/30":"bg-muted text-muted-foreground"}`,title:h?`Blocked by ${p} ${p===1?"dependency":"dependencies"}`:`${v}/${o.length} dependencies satisfied`,children:h?l.jsxs(l.Fragment,{children:[l.jsx(Aa,{size:12}),l.jsx("span",{children:p})]}):l.jsxs(l.Fragment,{children:[l.jsx(mn,{size:12}),l.jsxs("span",{children:[v,"/",o.length]})]})}):l.jsx("div",{className:"flex items-center gap-2",children:h?l.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-destructive",children:[l.jsx(Aa,{size:14}),l.jsxs("span",{className:"font-medium",children:["Blocked by ",p," ",p===1?"dependency":"dependencies"]})]}):l.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[l.jsx(ea,{size:14,className:"text-primary"}),l.jsxs("span",{children:["All ",o.length," ",o.length===1?"dependency":"dependencies"," satisfied"]})]})})}const U0={primary:"#6B7280",secondary:"#9CA3AF",accent:"#F3F4F6"},B0={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 q0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"16",y:"20",width:"32",height:"28",rx:"4",fill:c.primary}),l.jsx("rect",{x:"12",y:"8",width:"40",height:"24",rx:"4",fill:c.secondary}),l.jsx("circle",{cx:"32",cy:"4",r:"4",fill:c.primary,className:"animate-pulse"}),l.jsx("rect",{x:"30",y:"4",width:"4",height:"8",fill:c.primary}),l.jsx("circle",{cx:"24",cy:"18",r:"4",fill:"white"}),l.jsx("circle",{cx:"40",cy:"18",r:"4",fill:"white"}),l.jsx("circle",{cx:"25",cy:"18",r:"2",fill:c.primary}),l.jsx("circle",{cx:"41",cy:"18",r:"2",fill:c.primary}),l.jsx("rect",{x:"26",y:"24",width:"12",height:"2",rx:"1",fill:"white"}),l.jsx("rect",{x:"6",y:"24",width:"8",height:"4",rx:"2",fill:c.primary}),l.jsx("rect",{x:"50",y:"24",width:"8",height:"4",rx:"2",fill:c.primary})]})}function H0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("polygon",{points:"12,12 20,28 4,28",fill:c.primary}),l.jsx("polygon",{points:"52,12 60,28 44,28",fill:c.primary}),l.jsx("polygon",{points:"14,14 18,26 8,26",fill:c.accent}),l.jsx("polygon",{points:"50,14 56,26 44,26",fill:c.accent}),l.jsx("ellipse",{cx:"32",cy:"36",rx:"24",ry:"22",fill:c.primary}),l.jsx("ellipse",{cx:"32",cy:"40",rx:"18",ry:"14",fill:c.accent}),l.jsx("ellipse",{cx:"24",cy:"32",rx:"4",ry:"5",fill:"white"}),l.jsx("ellipse",{cx:"40",cy:"32",rx:"4",ry:"5",fill:"white"}),l.jsx("circle",{cx:"25",cy:"33",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"41",cy:"33",r:"2",fill:"#1a1a1a"}),l.jsx("ellipse",{cx:"32",cy:"42",rx:"4",ry:"3",fill:c.primary}),l.jsx("line",{x1:"8",y1:"38",x2:"18",y2:"40",stroke:c.primary,strokeWidth:"2"}),l.jsx("line",{x1:"8",y1:"44",x2:"18",y2:"44",stroke:c.primary,strokeWidth:"2"}),l.jsx("line",{x1:"46",y1:"40",x2:"56",y2:"38",stroke:c.primary,strokeWidth:"2"}),l.jsx("line",{x1:"46",y1:"44",x2:"56",y2:"44",stroke:c.primary,strokeWidth:"2"})]})}function L0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("path",{d:"M12,48 Q8,56 12,60 Q16,64 20,58",fill:c.secondary}),l.jsx("path",{d:"M22,50 Q20,58 24,62",fill:c.secondary}),l.jsx("path",{d:"M32,52 Q32,60 36,62",fill:c.secondary}),l.jsx("path",{d:"M42,50 Q44,58 40,62",fill:c.secondary}),l.jsx("path",{d:"M52,48 Q56,56 52,60 Q48,64 44,58",fill:c.secondary}),l.jsx("ellipse",{cx:"32",cy:"32",rx:"22",ry:"24",fill:c.primary}),l.jsx("ellipse",{cx:"24",cy:"28",rx:"6",ry:"8",fill:"white"}),l.jsx("ellipse",{cx:"40",cy:"28",rx:"6",ry:"8",fill:"white"}),l.jsx("ellipse",{cx:"25",cy:"30",rx:"3",ry:"4",fill:c.primary}),l.jsx("ellipse",{cx:"41",cy:"30",rx:"3",ry:"4",fill:c.primary}),l.jsx("path",{d:"M24,42 Q32,48 40,42",stroke:c.accent,strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function G0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("polygon",{points:"14,8 22,24 6,20",fill:c.primary}),l.jsx("polygon",{points:"50,8 58,20 42,24",fill:c.primary}),l.jsx("ellipse",{cx:"32",cy:"40",rx:"20",ry:"18",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"28",r:"20",fill:c.secondary}),l.jsx("circle",{cx:"24",cy:"26",r:"10",fill:c.accent}),l.jsx("circle",{cx:"40",cy:"26",r:"10",fill:c.accent}),l.jsx("circle",{cx:"24",cy:"26",r:"6",fill:"white"}),l.jsx("circle",{cx:"40",cy:"26",r:"6",fill:"white"}),l.jsx("circle",{cx:"25",cy:"27",r:"3",fill:"#1a1a1a"}),l.jsx("circle",{cx:"41",cy:"27",r:"3",fill:"#1a1a1a"}),l.jsx("polygon",{points:"32,32 28,40 36,40",fill:"#F97316"}),l.jsx("ellipse",{cx:"32",cy:"46",rx:"10",ry:"8",fill:c.accent})]})}function Q0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("ellipse",{cx:"14",cy:"32",rx:"10",ry:"14",fill:c.accent,opacity:"0.8",className:"animate-pulse"}),l.jsx("ellipse",{cx:"50",cy:"32",rx:"10",ry:"14",fill:c.accent,opacity:"0.8",className:"animate-pulse"}),l.jsx("ellipse",{cx:"32",cy:"36",rx:"14",ry:"20",fill:c.primary}),l.jsx("ellipse",{cx:"32",cy:"30",rx:"12",ry:"6",fill:"#1a1a1a"}),l.jsx("ellipse",{cx:"32",cy:"44",rx:"12",ry:"6",fill:"#1a1a1a"}),l.jsx("circle",{cx:"32",cy:"16",r:"12",fill:c.primary}),l.jsx("line",{x1:"26",y1:"8",x2:"22",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),l.jsx("line",{x1:"38",y1:"8",x2:"42",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),l.jsx("circle",{cx:"22",cy:"2",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"42",cy:"2",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"28",cy:"14",r:"4",fill:"white"}),l.jsx("circle",{cx:"36",cy:"14",r:"4",fill:"white"}),l.jsx("circle",{cx:"29",cy:"15",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"37",cy:"15",r:"2",fill:"#1a1a1a"}),l.jsx("path",{d:"M28,20 Q32,24 36,20",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function Y0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"20",y:"28",width:"24",height:"28",fill:c.primary}),l.jsx("rect",{x:"16",y:"32",width:"8",height:"20",fill:c.secondary}),l.jsx("rect",{x:"40",y:"32",width:"8",height:"20",fill:c.secondary}),l.jsx("rect",{x:"16",y:"8",width:"32",height:"24",fill:c.primary}),l.jsx("rect",{x:"20",y:"14",width:"8",height:"8",fill:"white"}),l.jsx("rect",{x:"36",y:"14",width:"8",height:"8",fill:"white"}),l.jsx("rect",{x:"24",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),l.jsx("rect",{x:"38",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),l.jsx("rect",{x:"26",y:"26",width:"12",height:"4",fill:c.accent})]})}function V0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("polygon",{points:"32,8 56,20 56,44 32,56 8,44 8,20",fill:c.primary}),l.jsx("polygon",{points:"32,8 56,20 32,32 8,20",fill:c.secondary}),l.jsx("polygon",{points:"32,32 56,20 56,44 32,56",fill:c.accent,opacity:"0.6"}),l.jsx("circle",{cx:"24",cy:"28",r:"4",fill:"white"}),l.jsx("circle",{cx:"40",cy:"28",r:"4",fill:"white"}),l.jsx("circle",{cx:"25",cy:"29",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"41",cy:"29",r:"2",fill:"#1a1a1a"}),l.jsx("path",{d:"M26,38 Q32,42 38,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function X0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("polygon",{points:"32,2 38,22 58,22 42,36 48,56 32,44 16,56 22,36 6,22 26,22",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"14",fill:c.secondary}),l.jsx("circle",{cx:"27",cy:"30",r:"3",fill:"white"}),l.jsx("circle",{cx:"37",cy:"30",r:"3",fill:"white"}),l.jsx("circle",{cx:"28",cy:"31",r:"1.5",fill:"#1a1a1a"}),l.jsx("circle",{cx:"38",cy:"31",r:"1.5",fill:"#1a1a1a"}),l.jsx("path",{d:"M28,37 Q32,40 36,37",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function K0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"16",y:"16",width:"32",height:"32",rx:"4",fill:c.primary}),l.jsx("rect",{x:"20",y:"10",width:"4",height:"8",fill:c.secondary}),l.jsx("rect",{x:"30",y:"10",width:"4",height:"8",fill:c.secondary}),l.jsx("rect",{x:"40",y:"10",width:"4",height:"8",fill:c.secondary}),l.jsx("rect",{x:"20",y:"46",width:"4",height:"8",fill:c.secondary}),l.jsx("rect",{x:"30",y:"46",width:"4",height:"8",fill:c.secondary}),l.jsx("rect",{x:"40",y:"46",width:"4",height:"8",fill:c.secondary}),l.jsx("circle",{cx:"26",cy:"28",r:"4",fill:c.accent}),l.jsx("circle",{cx:"38",cy:"28",r:"4",fill:c.accent}),l.jsx("circle",{cx:"26",cy:"28",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"38",cy:"28",r:"2",fill:"#1a1a1a"}),l.jsx("rect",{x:"26",y:"38",width:"12",height:"3",rx:"1",fill:c.accent})]})}function Z0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("polygon",{points:"36,4 20,28 30,28 24,60 48,32 36,32 44,4",fill:c.primary}),l.jsx("polygon",{points:"34,8 24,26 32,26 28,52 42,34 34,34 40,8",fill:c.secondary}),l.jsx("circle",{cx:"30",cy:"30",r:"3",fill:"white"}),l.jsx("circle",{cx:"38",cy:"26",r:"3",fill:"white"}),l.jsx("circle",{cx:"31",cy:"31",r:"1.5",fill:"#1a1a1a"}),l.jsx("circle",{cx:"39",cy:"27",r:"1.5",fill:"#1a1a1a"})]})}function F0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"4",y:"28",width:"12",height:"3",rx:"1",fill:c.accent,opacity:"0.6"}),l.jsx("rect",{x:"8",y:"34",width:"10",height:"3",rx:"1",fill:c.accent,opacity:"0.4"}),l.jsx("ellipse",{cx:"36",cy:"32",rx:"20",ry:"16",fill:c.primary}),l.jsx("ellipse",{cx:"40",cy:"32",rx:"14",ry:"12",fill:c.secondary}),l.jsx("circle",{cx:"38",cy:"28",r:"4",fill:"white"}),l.jsx("circle",{cx:"48",cy:"28",r:"4",fill:"white"}),l.jsx("circle",{cx:"39",cy:"29",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"49",cy:"29",r:"2",fill:"#1a1a1a"}),l.jsx("path",{d:"M40,36 Q44,39 48,36",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function J0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("path",{d:"M12,32 L20,28 L16,32 L22,30",stroke:c.secondary,strokeWidth:"2",className:"animate-pulse"}),l.jsx("path",{d:"M52,32 L44,28 L48,32 L42,30",stroke:c.secondary,strokeWidth:"2",className:"animate-pulse"}),l.jsx("circle",{cx:"32",cy:"32",r:"18",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"14",fill:c.secondary}),l.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"27",cy:"31",r:"2",fill:c.primary}),l.jsx("circle",{cx:"39",cy:"31",r:"2",fill:c.primary}),l.jsx("path",{d:"M28,40 Q32,44 36,40",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function $0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"28",y:"4",width:"8",height:"8",fill:c.primary}),l.jsx("rect",{x:"28",y:"52",width:"8",height:"8",fill:c.primary}),l.jsx("rect",{x:"4",y:"28",width:"8",height:"8",fill:c.primary}),l.jsx("rect",{x:"52",y:"28",width:"8",height:"8",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"20",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"14",fill:c.secondary}),l.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"27",cy:"31",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"39",cy:"31",r:"2",fill:"#1a1a1a"}),l.jsx("path",{d:"M28,40 Q32,43 36,40",stroke:"#1a1a1a",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function W0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("ellipse",{cx:"32",cy:"58",rx:"8",ry:"6",fill:"#FBBF24",className:"animate-pulse"}),l.jsx("ellipse",{cx:"32",cy:"56",rx:"5",ry:"4",fill:"#FCD34D"}),l.jsx("ellipse",{cx:"32",cy:"32",rx:"14",ry:"24",fill:c.primary}),l.jsx("ellipse",{cx:"32",cy:"12",rx:"8",ry:"10",fill:c.secondary}),l.jsx("polygon",{points:"18,44 10,56 18,52",fill:c.secondary}),l.jsx("polygon",{points:"46,44 54,56 46,52",fill:c.secondary}),l.jsx("circle",{cx:"32",cy:"28",r:"8",fill:c.accent}),l.jsx("circle",{cx:"29",cy:"27",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"35",cy:"27",r:"2",fill:"#1a1a1a"}),l.jsx("path",{d:"M29,32 Q32,34 35,32",stroke:"#1a1a1a",strokeWidth:"1",fill:"none"})]})}function I0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("circle",{cx:"32",cy:"32",r:"28",stroke:c.accent,strokeWidth:"2",fill:"none",opacity:"0.3"}),l.jsx("circle",{cx:"32",cy:"32",r:"22",stroke:c.accent,strokeWidth:"2",fill:"none",opacity:"0.5"}),l.jsx("circle",{cx:"32",cy:"32",r:"14",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"10",fill:c.secondary}),l.jsx("circle",{cx:"28",cy:"30",r:"3",fill:"white"}),l.jsx("circle",{cx:"36",cy:"30",r:"3",fill:"white"}),l.jsx("circle",{cx:"29",cy:"31",r:"1.5",fill:"#1a1a1a"}),l.jsx("circle",{cx:"37",cy:"31",r:"1.5",fill:"#1a1a1a"}),l.jsx("path",{d:"M29,37 Q32,40 35,37",stroke:"white",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function P0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("circle",{cx:"32",cy:"32",r:"26",fill:c.accent,opacity:"0.3"}),l.jsx("circle",{cx:"32",cy:"32",r:"22",fill:c.accent,opacity:"0.5"}),l.jsx("circle",{cx:"32",cy:"32",r:"18",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"12",fill:c.secondary}),l.jsx("circle",{cx:"27",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"37",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"28",cy:"31",r:"2",fill:c.primary}),l.jsx("circle",{cx:"38",cy:"31",r:"2",fill:c.primary}),l.jsx("path",{d:"M28,38 Q32,42 36,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function ev({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"8",y:"12",width:"48",height:"40",rx:"4",fill:c.primary}),l.jsx("rect",{x:"8",y:"12",width:"48",height:"10",rx:"4",fill:c.secondary}),l.jsx("circle",{cx:"16",cy:"17",r:"2",fill:"#EF4444"}),l.jsx("circle",{cx:"24",cy:"17",r:"2",fill:"#FBBF24"}),l.jsx("circle",{cx:"32",cy:"17",r:"2",fill:"#22C55E"}),l.jsx("rect",{x:"12",y:"26",width:"40",height:"22",rx:"2",fill:c.accent}),l.jsx("circle",{cx:"24",cy:"34",r:"4",fill:"white"}),l.jsx("circle",{cx:"40",cy:"34",r:"4",fill:"white"}),l.jsx("circle",{cx:"25",cy:"35",r:"2",fill:c.primary}),l.jsx("circle",{cx:"41",cy:"35",r:"2",fill:c.primary}),l.jsx("rect",{x:"28",y:"42",width:"8",height:"3",rx:"1",fill:c.primary})]})}function tv({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("ellipse",{cx:"22",cy:"14",rx:"6",ry:"14",fill:c.primary}),l.jsx("ellipse",{cx:"42",cy:"14",rx:"6",ry:"14",fill:c.primary}),l.jsx("ellipse",{cx:"22",cy:"14",rx:"3",ry:"10",fill:c.accent}),l.jsx("ellipse",{cx:"42",cy:"14",rx:"3",ry:"10",fill:c.accent}),l.jsx("circle",{cx:"32",cy:"38",r:"20",fill:c.primary}),l.jsx("circle",{cx:"24",cy:"34",r:"5",fill:"white"}),l.jsx("circle",{cx:"40",cy:"34",r:"5",fill:"white"}),l.jsx("circle",{cx:"25",cy:"35",r:"2.5",fill:"#1a1a1a"}),l.jsx("circle",{cx:"41",cy:"35",r:"2.5",fill:"#1a1a1a"}),l.jsx("ellipse",{cx:"32",cy:"44",rx:"3",ry:"2",fill:c.secondary}),l.jsx("path",{d:"M32,46 L32,50 M28,52 Q32,56 36,52",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none"})]})}function av({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("path",{d:"M24,20 Q24,8 32,8 Q44,8 44,20 Q44,28 32,32 L32,40",stroke:c.primary,strokeWidth:"8",fill:"none",strokeLinecap:"round"}),l.jsx("circle",{cx:"32",cy:"52",r:"6",fill:c.primary}),l.jsx("circle",{cx:"29",cy:"51",r:"1.5",fill:"white"}),l.jsx("circle",{cx:"35",cy:"51",r:"1.5",fill:"white"}),l.jsx("circle",{cx:"29",cy:"51",r:"0.75",fill:"#1a1a1a"}),l.jsx("circle",{cx:"35",cy:"51",r:"0.75",fill:"#1a1a1a"}),l.jsx("circle",{cx:"32",cy:"20",r:"4",fill:c.secondary})]})}function lv({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:c.primary,strokeWidth:"16",fill:"none",strokeLinecap:"round"}),l.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:c.secondary,strokeWidth:"10",fill:"none",strokeLinecap:"round"}),l.jsx("circle",{cx:"28",cy:"28",r:"4",fill:"white"}),l.jsx("circle",{cx:"40",cy:"36",r:"4",fill:"white"}),l.jsx("circle",{cx:"29",cy:"29",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"41",cy:"37",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"16",cy:"24",r:"2",fill:c.accent,className:"animate-pulse"}),l.jsx("circle",{cx:"48",cy:"40",r:"2",fill:c.accent,className:"animate-pulse"})]})}function nv({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("circle",{cx:"32",cy:"32",r:"28",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"24",fill:c.secondary}),l.jsx("text",{x:"32",y:"44",textAnchor:"middle",fontSize:"32",fontWeight:"bold",fill:"white",children:"?"})]})}const sv={Spark:q0,Fizz:H0,Octo:L0,Hoot:G0,Buzz:Q0,Pixel:Y0,Byte:V0,Nova:X0,Chip:K0,Bolt:Z0,Dash:F0,Zap:J0,Gizmo:$0,Turbo:W0,Blip:I0,Neon:P0,Widget:ev,Zippy:tv,Quirk:av,Flux:lv},iv=nv,cv={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}};function rv(c){switch(c){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 uv(c){switch(c){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 ov(c){switch(c){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 c}}function hn({name:c,state:r,size:d="md",showName:o=!1}){const h=c==="Unknown",p=h?U0:B0[c],{svg:v,font:y}=cv[d],C=h?iv:sv[c],w=ov(r),E=`Agent ${c} is ${w}`;return l.jsxs("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":E,"aria-live":"polite",children:[l.jsx("div",{className:`
46
+ `,children:[p===Q.path?l.jsx(Ri,{size:18,className:"text-primary flex-shrink-0"}):l.jsx(_i,{size:18,className:"text-muted-foreground flex-shrink-0"}),l.jsx("span",{className:"truncate flex-1",children:Q.name}),Q.has_children&&l.jsx(vm,{size:14,className:"ml-auto text-muted-foreground flex-shrink-0"})]},Q.path)),A?.entries.filter(Q=>Q.is_directory).length===0&&l.jsxs("div",{className:"p-4 text-center text-muted-foreground",children:[l.jsx(_i,{size:32,className:"mx-auto mb-2 opacity-50"}),l.jsx("p",{children:"No subfolders"}),l.jsx("p",{className:"text-sm",children:"You can create a new folder or select this directory."})]})]}),y&&l.jsx(ke,{className:"mt-2",children:l.jsxs(Ge,{className:"p-3",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(bm,{size:18,className:"text-primary"}),l.jsx(dt,{type:"text",value:z,onChange:Q=>E(Q.target.value),placeholder:"New folder name",className:"flex-1",autoFocus:!0,onKeyDown:Q=>{us(Q,!1)&&J(),Q.key==="Escape"&&(C(!1),E(""),G(null))}}),l.jsx(F,{onClick:J,size:"sm",children:"Create"}),l.jsx(F,{variant:"ghost",size:"sm",onClick:()=>{C(!1),E(""),G(null)},children:"Cancel"})]}),k&&l.jsx("p",{className:"text-sm text-destructive mt-1",children:k})]})})]})}),l.jsxs("div",{className:"flex-shrink-0 p-4 border-t bg-card",children:[l.jsx(ke,{className:"mb-3",children:l.jsxs(Ge,{className:"p-2",children:[l.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Selected path:"}),l.jsx("div",{className:"font-mono text-sm truncate",children:p||"No folder selected"}),p&&l.jsx("div",{className:"text-xs text-muted-foreground mt-2 italic",children:"This folder will contain all project files"})]})}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs(F,{variant:"outline",onClick:()=>C(!0),disabled:y,children:[l.jsx(bm,{size:16}),"New Folder"]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(F,{variant:"outline",onClick:r,children:"Cancel"}),l.jsx(F,{onClick:$,disabled:!p,children:"Select This Folder"})]})]})]})]})}function aa({...c}){return l.jsx(Rp,{"data-slot":"dialog",...c})}function D0({...c}){return l.jsx(Hp,{"data-slot":"dialog-portal",...c})}function M0({className:c,...r}){return l.jsx(Lp,{"data-slot":"dialog-overlay",className:Re("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",c),...r})}function la({className:c,children:r,showCloseButton:d=!0,...o}){return l.jsxs(D0,{"data-slot":"dialog-portal",children:[l.jsx(M0,{}),l.jsxs(Up,{"data-slot":"dialog-content",className:Re("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",c),...o,children:[r,d&&l.jsxs(ch,{"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:[l.jsx(tt,{}),l.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function na({className:c,...r}){return l.jsx("div",{"data-slot":"dialog-header",className:Re("flex flex-col gap-2 text-center sm:text-left",c),...r})}function el({className:c,showCloseButton:r=!1,children:d,...o}){return l.jsxs("div",{"data-slot":"dialog-footer",className:Re("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",c),...o,children:[d,r&&l.jsx(ch,{asChild:!0,children:l.jsx(F,{variant:"outline",children:"Close"})})]})}function sa({className:c,...r}){return l.jsx(Bp,{"data-slot":"dialog-title",className:Re("text-lg leading-none font-semibold",c),...r})}function Bi({className:c,...r}){return l.jsx(qp,{"data-slot":"dialog-description",className:Re("text-muted-foreground text-sm",c),...r})}function Me({className:c,...r}){return l.jsx(Gp,{"data-slot":"label",className:Re("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",c),...r})}function _0({isOpen:c,onClose:r,onProjectCreated:d,onStepChange:o}){const[h,p]=m.useState("name"),[v,y]=m.useState(""),[C,z]=m.useState(null),[E,k]=m.useState(null),[G,A]=m.useState(null),[H,B]=m.useState("idle"),[R,w]=m.useState(null),[S,j]=m.useState(!1),K=Vy(),J=g=>{p(g),o?.(g)};if(!c)return null;const $=g=>{g.preventDefault();const T=v.trim();if(!T){A("Please enter a project name");return}if(!/^[a-zA-Z0-9_-]+$/.test(T)){A("Project name can only contain letters, numbers, hyphens, and underscores");return}A(null),J("folder")},X=g=>{z(g),J("method")},ee=()=>{J("name")},Q=async g=>{if(k(g),!C){A("Please select a project folder first"),J("folder");return}if(g==="manual")try{const T=await K.mutateAsync({name:v.trim(),path:C,specMethod:"manual"});J("complete"),setTimeout(()=>{d(T.name),W()},1500)}catch(T){A(T instanceof Error?T.message:"Failed to create project")}else try{await K.mutateAsync({name:v.trim(),path:C,specMethod:"claude"}),J("chat")}catch(T){A(T instanceof Error?T.message:"Failed to create project")}},ne=async(g,T=!1)=>{j(T),B("starting");try{await hu(v.trim(),{yoloMode:T,maxConcurrency:3}),J("complete"),setTimeout(()=>{d(v.trim()),W()},1500)}catch(I){B("error"),w(I instanceof Error?I.message:"Failed to start agent")}},Z=()=>{w(null),B("idle"),ne("",S)},O=()=>{J("method"),k(null)},q=()=>{d(v.trim()),W()},W=()=>{J("name"),y(""),z(null),k(null),A(null),B("idle"),w(null),j(!1),r()},ae=()=>{h==="method"?(J("folder"),k(null)):h==="folder"&&(J("name"),z(null))};return h==="chat"?sh.createPortal(l.jsx("div",{className:"fixed inset-0 z-50 bg-background flex flex-col",children:l.jsx(mh,{projectName:v.trim(),onComplete:ne,onCancel:O,onExitToProject:q,initializerStatus:H,initializerError:R,onRetryInitializer:Z})}),document.body):h==="folder"?l.jsx(aa,{open:!0,onOpenChange:g=>!g&&W(),children:l.jsxs(la,{className:"sm:max-w-3xl max-h-[85vh] flex flex-col p-0",children:[l.jsx(na,{className:"p-6 pb-4 border-b",children:l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(_i,{size:24,className:"text-primary"}),l.jsxs("div",{children:[l.jsx(sa,{children:"Select Project Location"}),l.jsxs(Bi,{children:["Select the folder to use for project ",l.jsx("span",{className:"font-semibold font-mono",children:v}),". Create a new folder or choose an existing one."]})]})]})}),l.jsx("div",{className:"flex-1 overflow-hidden",children:l.jsx(T0,{onSelect:X,onCancel:ee})})]})}):l.jsx(aa,{open:!0,onOpenChange:g=>!g&&W(),children:l.jsxs(la,{className:"sm:max-w-lg",children:[l.jsx(na,{children:l.jsxs(sa,{children:[h==="name"&&"Create New Project",h==="method"&&"Choose Setup Method",h==="complete"&&"Project Created!"]})}),h==="name"&&l.jsxs("form",{onSubmit:$,className:"space-y-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{htmlFor:"project-name",children:"Project Name"}),l.jsx(dt,{id:"project-name",type:"text",value:v,onChange:g=>y(g.target.value),placeholder:"my-awesome-app",pattern:"^[a-zA-Z0-9_-]+$",autoFocus:!0}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Use letters, numbers, hyphens, and underscores only."})]}),G&&l.jsx(jt,{variant:"destructive",children:l.jsx(St,{children:G})}),l.jsx(el,{children:l.jsxs(F,{type:"submit",disabled:!v.trim(),children:["Next",l.jsx(Wm,{size:16})]})})]}),h==="method"&&l.jsxs("div",{className:"space-y-4",children:[l.jsx(Bi,{children:"How would you like to define your project?"}),l.jsxs("div",{className:"space-y-3",children:[l.jsx(ke,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!K.isPending&&Q("claude"),children:l.jsx(Ge,{className:"p-4",children:l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:l.jsx(uu,{size:24,className:"text-primary"})}),l.jsxs("div",{className:"flex-1",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"font-semibold",children:"Create with Claude"}),l.jsx(Oe,{children:"Recommended"})]}),l.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Interactive conversation to define features and generate your app specification automatically."})]})]})})}),l.jsx(ke,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!K.isPending&&Q("manual"),children:l.jsx(Ge,{className:"p-4",children:l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx("div",{className:"p-2 bg-secondary rounded-lg",children:l.jsx(cu,{size:24,className:"text-secondary-foreground"})}),l.jsxs("div",{className:"flex-1",children:[l.jsx("span",{className:"font-semibold",children:"Edit Templates Manually"}),l.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Edit the template files directly. Best for developers who want full control."})]})]})})})]}),G&&l.jsx(jt,{variant:"destructive",children:l.jsx(St,{children:G})}),K.isPending&&l.jsxs("div",{className:"flex items-center justify-center gap-2 text-muted-foreground",children:[l.jsx(_e,{size:16,className:"animate-spin"}),l.jsx("span",{children:"Creating project..."})]}),l.jsx(el,{className:"sm:justify-start",children:l.jsxs(F,{variant:"ghost",onClick:ae,disabled:K.isPending,children:[l.jsx(Im,{size:16}),"Back"]})})]}),h==="complete"&&l.jsxs("div",{className:"text-center py-8",children:[l.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-primary/10 rounded-full mb-4",children:l.jsx(ta,{size:32,className:"text-primary"})}),l.jsx("h3",{className:"font-semibold text-xl mb-2",children:v}),l.jsx("p",{className:"text-muted-foreground",children:"Your project has been created successfully!"}),l.jsxs("div",{className:"mt-4 flex items-center justify-center gap-2",children:[l.jsx(_e,{size:16,className:"animate-spin"}),l.jsx("span",{className:"text-sm text-muted-foreground",children:"Redirecting..."})]})]})]})})}function hh({isOpen:c,title:r,message:d,confirmLabel:o="Confirm",cancelLabel:h="Cancel",variant:p="danger",isLoading:v=!1,onConfirm:y,onCancel:C}){return l.jsx(aa,{open:c,onOpenChange:z=>!z&&C(),children:l.jsxs(la,{className:"sm:max-w-md",children:[l.jsx(na,{children:l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("div",{className:`p-2 rounded-lg ${p==="danger"?"bg-destructive/10 text-destructive":"bg-primary/10 text-primary"}`,children:l.jsx(Aa,{size:20})}),l.jsx(sa,{children:r})]})}),l.jsx(Bi,{asChild:!0,children:l.jsx("div",{className:"text-muted-foreground",children:d})}),l.jsxs(el,{className:"gap-2 sm:gap-0",children:[l.jsx(F,{variant:"outline",onClick:C,disabled:v,children:h}),l.jsx(F,{variant:p==="danger"?"destructive":"default",onClick:y,disabled:v,children:v?"Deleting...":o})]})]})})}function k0({...c}){return l.jsx(Qp,{"data-slot":"dropdown-menu",...c})}function O0({...c}){return l.jsx(Yp,{"data-slot":"dropdown-menu-trigger",...c})}function R0({className:c,sideOffset:r=4,...d}){return l.jsx(Vp,{children:l.jsx(Xp,{"data-slot":"dropdown-menu-content",sideOffset:r,className:Re("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",c),...d})})}function km({className:c,inset:r,variant:d="default",...o}){return l.jsx(Kp,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":d,className:Re("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",c),...o})}function U0({className:c,...r}){return l.jsx(Zp,{"data-slot":"dropdown-menu-separator",className:Re("bg-border -mx-1 my-1 h-px",c),...r})}function B0({projects:c,selectedProject:r,onSelectProject:d,isLoading:o,onSpecCreatingChange:h}){const[p,v]=m.useState(!1),[y,C]=m.useState(!1),[z,E]=m.useState(null),k=Xy(),G=w=>{d(w),v(!1)},A=(w,S)=>{w.stopPropagation(),w.preventDefault(),E(S)},H=async()=>{if(z)try{await k.mutateAsync(z),r===z&&d(null),E(null)}catch(w){console.error("Failed to delete project:",w),E(null)}},B=()=>{E(null)},R=c.find(w=>w.name===r);return l.jsxs("div",{className:"relative",children:[l.jsxs(k0,{open:p,onOpenChange:v,children:[l.jsx(O0,{asChild:!0,children:l.jsxs(F,{variant:"outline",className:"min-w-[200px] justify-between",disabled:o,children:[o?l.jsx(_e,{size:18,className:"animate-spin"}):r?l.jsxs(l.Fragment,{children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(Ri,{size:18}),r]}),R&&R.stats.total>0&&l.jsxs(Oe,{className:"ml-2",children:[R.stats.percentage,"%"]})]}):l.jsx("span",{className:"text-muted-foreground",children:"Select Project"}),l.jsx(rs,{size:18,className:`transition-transform ${p?"rotate-180":""}`})]})}),l.jsxs(R0,{align:"start",className:"w-[280px] p-0 flex flex-col",children:[c.length>0?l.jsx("div",{className:"max-h-[300px] overflow-y-auto p-1",children:c.map(w=>l.jsxs(km,{className:`flex items-center justify-between cursor-pointer ${w.name===r?"bg-primary/10":""}`,onSelect:()=>{d(w.name)},children:[l.jsxs("span",{className:"flex items-center gap-2 flex-1",children:[l.jsx(Ri,{size:16}),w.name,w.stats.total>0&&l.jsxs("span",{className:"text-sm font-mono text-muted-foreground ml-auto",children:[w.stats.passing,"/",w.stats.total]})]}),l.jsx(F,{variant:"ghost",size:"icon-xs",onClick:S=>A(S,w.name),className:"text-muted-foreground hover:text-destructive",children:l.jsx(tl,{size:14})})]},w.name))}):l.jsx("div",{className:"p-4 text-center text-muted-foreground",children:"No projects yet"}),l.jsx(U0,{className:"my-0"}),l.jsx("div",{className:"p-1",children:l.jsxs(km,{onSelect:()=>{C(!0)},className:"cursor-pointer font-semibold",children:[l.jsx(Pa,{size:16}),"New Project"]})})]})]}),l.jsx(_0,{isOpen:y,onClose:()=>C(!1),onProjectCreated:G,onStepChange:w=>h?.(w==="chat")}),l.jsx(hh,{isOpen:z!==null,title:"Delete Project",message:`Are you sure you want to remove "${z}" from the registry? This will unregister the project but preserve its files on disk.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:k.isPending,onConfirm:H,onCancel:B})]})}function q0({feature:c,allFeatures:r=[],compact:d=!1}){const o=c.dependencies||[];if(o.length===0)return null;const h=c.blocked??(c.blocking_dependencies&&c.blocking_dependencies.length>0)??!1,p=c.blocking_dependencies?.length??0;let v=o.length-p;if(r.length>0&&!c.blocking_dependencies){const y=new Set(r.filter(C=>C.passes).map(C=>C.id));v=o.filter(C=>y.has(C)).length}return d?l.jsx(Oe,{variant:"outline",className:`gap-1 font-mono text-xs ${h?"bg-destructive/10 text-destructive border-destructive/30":"bg-muted text-muted-foreground"}`,title:h?`Blocked by ${p} ${p===1?"dependency":"dependencies"}`:`${v}/${o.length} dependencies satisfied`,children:h?l.jsxs(l.Fragment,{children:[l.jsx(Aa,{size:12}),l.jsx("span",{children:p})]}):l.jsxs(l.Fragment,{children:[l.jsx(mn,{size:12}),l.jsxs("span",{children:[v,"/",o.length]})]})}):l.jsx("div",{className:"flex items-center gap-2",children:h?l.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-destructive",children:[l.jsx(Aa,{size:14}),l.jsxs("span",{className:"font-medium",children:["Blocked by ",p," ",p===1?"dependency":"dependencies"]})]}):l.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[l.jsx(ea,{size:14,className:"text-primary"}),l.jsxs("span",{children:["All ",o.length," ",o.length===1?"dependency":"dependencies"," satisfied"]})]})})}const H0={primary:"#6B7280",secondary:"#9CA3AF",accent:"#F3F4F6"},L0={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 G0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"16",y:"20",width:"32",height:"28",rx:"4",fill:c.primary}),l.jsx("rect",{x:"12",y:"8",width:"40",height:"24",rx:"4",fill:c.secondary}),l.jsx("circle",{cx:"32",cy:"4",r:"4",fill:c.primary,className:"animate-pulse"}),l.jsx("rect",{x:"30",y:"4",width:"4",height:"8",fill:c.primary}),l.jsx("circle",{cx:"24",cy:"18",r:"4",fill:"white"}),l.jsx("circle",{cx:"40",cy:"18",r:"4",fill:"white"}),l.jsx("circle",{cx:"25",cy:"18",r:"2",fill:c.primary}),l.jsx("circle",{cx:"41",cy:"18",r:"2",fill:c.primary}),l.jsx("rect",{x:"26",y:"24",width:"12",height:"2",rx:"1",fill:"white"}),l.jsx("rect",{x:"6",y:"24",width:"8",height:"4",rx:"2",fill:c.primary}),l.jsx("rect",{x:"50",y:"24",width:"8",height:"4",rx:"2",fill:c.primary})]})}function Q0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("polygon",{points:"12,12 20,28 4,28",fill:c.primary}),l.jsx("polygon",{points:"52,12 60,28 44,28",fill:c.primary}),l.jsx("polygon",{points:"14,14 18,26 8,26",fill:c.accent}),l.jsx("polygon",{points:"50,14 56,26 44,26",fill:c.accent}),l.jsx("ellipse",{cx:"32",cy:"36",rx:"24",ry:"22",fill:c.primary}),l.jsx("ellipse",{cx:"32",cy:"40",rx:"18",ry:"14",fill:c.accent}),l.jsx("ellipse",{cx:"24",cy:"32",rx:"4",ry:"5",fill:"white"}),l.jsx("ellipse",{cx:"40",cy:"32",rx:"4",ry:"5",fill:"white"}),l.jsx("circle",{cx:"25",cy:"33",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"41",cy:"33",r:"2",fill:"#1a1a1a"}),l.jsx("ellipse",{cx:"32",cy:"42",rx:"4",ry:"3",fill:c.primary}),l.jsx("line",{x1:"8",y1:"38",x2:"18",y2:"40",stroke:c.primary,strokeWidth:"2"}),l.jsx("line",{x1:"8",y1:"44",x2:"18",y2:"44",stroke:c.primary,strokeWidth:"2"}),l.jsx("line",{x1:"46",y1:"40",x2:"56",y2:"38",stroke:c.primary,strokeWidth:"2"}),l.jsx("line",{x1:"46",y1:"44",x2:"56",y2:"44",stroke:c.primary,strokeWidth:"2"})]})}function Y0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("path",{d:"M12,48 Q8,56 12,60 Q16,64 20,58",fill:c.secondary}),l.jsx("path",{d:"M22,50 Q20,58 24,62",fill:c.secondary}),l.jsx("path",{d:"M32,52 Q32,60 36,62",fill:c.secondary}),l.jsx("path",{d:"M42,50 Q44,58 40,62",fill:c.secondary}),l.jsx("path",{d:"M52,48 Q56,56 52,60 Q48,64 44,58",fill:c.secondary}),l.jsx("ellipse",{cx:"32",cy:"32",rx:"22",ry:"24",fill:c.primary}),l.jsx("ellipse",{cx:"24",cy:"28",rx:"6",ry:"8",fill:"white"}),l.jsx("ellipse",{cx:"40",cy:"28",rx:"6",ry:"8",fill:"white"}),l.jsx("ellipse",{cx:"25",cy:"30",rx:"3",ry:"4",fill:c.primary}),l.jsx("ellipse",{cx:"41",cy:"30",rx:"3",ry:"4",fill:c.primary}),l.jsx("path",{d:"M24,42 Q32,48 40,42",stroke:c.accent,strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function V0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("polygon",{points:"14,8 22,24 6,20",fill:c.primary}),l.jsx("polygon",{points:"50,8 58,20 42,24",fill:c.primary}),l.jsx("ellipse",{cx:"32",cy:"40",rx:"20",ry:"18",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"28",r:"20",fill:c.secondary}),l.jsx("circle",{cx:"24",cy:"26",r:"10",fill:c.accent}),l.jsx("circle",{cx:"40",cy:"26",r:"10",fill:c.accent}),l.jsx("circle",{cx:"24",cy:"26",r:"6",fill:"white"}),l.jsx("circle",{cx:"40",cy:"26",r:"6",fill:"white"}),l.jsx("circle",{cx:"25",cy:"27",r:"3",fill:"#1a1a1a"}),l.jsx("circle",{cx:"41",cy:"27",r:"3",fill:"#1a1a1a"}),l.jsx("polygon",{points:"32,32 28,40 36,40",fill:"#F97316"}),l.jsx("ellipse",{cx:"32",cy:"46",rx:"10",ry:"8",fill:c.accent})]})}function X0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("ellipse",{cx:"14",cy:"32",rx:"10",ry:"14",fill:c.accent,opacity:"0.8",className:"animate-pulse"}),l.jsx("ellipse",{cx:"50",cy:"32",rx:"10",ry:"14",fill:c.accent,opacity:"0.8",className:"animate-pulse"}),l.jsx("ellipse",{cx:"32",cy:"36",rx:"14",ry:"20",fill:c.primary}),l.jsx("ellipse",{cx:"32",cy:"30",rx:"12",ry:"6",fill:"#1a1a1a"}),l.jsx("ellipse",{cx:"32",cy:"44",rx:"12",ry:"6",fill:"#1a1a1a"}),l.jsx("circle",{cx:"32",cy:"16",r:"12",fill:c.primary}),l.jsx("line",{x1:"26",y1:"8",x2:"22",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),l.jsx("line",{x1:"38",y1:"8",x2:"42",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),l.jsx("circle",{cx:"22",cy:"2",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"42",cy:"2",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"28",cy:"14",r:"4",fill:"white"}),l.jsx("circle",{cx:"36",cy:"14",r:"4",fill:"white"}),l.jsx("circle",{cx:"29",cy:"15",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"37",cy:"15",r:"2",fill:"#1a1a1a"}),l.jsx("path",{d:"M28,20 Q32,24 36,20",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function K0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"20",y:"28",width:"24",height:"28",fill:c.primary}),l.jsx("rect",{x:"16",y:"32",width:"8",height:"20",fill:c.secondary}),l.jsx("rect",{x:"40",y:"32",width:"8",height:"20",fill:c.secondary}),l.jsx("rect",{x:"16",y:"8",width:"32",height:"24",fill:c.primary}),l.jsx("rect",{x:"20",y:"14",width:"8",height:"8",fill:"white"}),l.jsx("rect",{x:"36",y:"14",width:"8",height:"8",fill:"white"}),l.jsx("rect",{x:"24",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),l.jsx("rect",{x:"38",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),l.jsx("rect",{x:"26",y:"26",width:"12",height:"4",fill:c.accent})]})}function Z0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("polygon",{points:"32,8 56,20 56,44 32,56 8,44 8,20",fill:c.primary}),l.jsx("polygon",{points:"32,8 56,20 32,32 8,20",fill:c.secondary}),l.jsx("polygon",{points:"32,32 56,20 56,44 32,56",fill:c.accent,opacity:"0.6"}),l.jsx("circle",{cx:"24",cy:"28",r:"4",fill:"white"}),l.jsx("circle",{cx:"40",cy:"28",r:"4",fill:"white"}),l.jsx("circle",{cx:"25",cy:"29",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"41",cy:"29",r:"2",fill:"#1a1a1a"}),l.jsx("path",{d:"M26,38 Q32,42 38,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function F0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("polygon",{points:"32,2 38,22 58,22 42,36 48,56 32,44 16,56 22,36 6,22 26,22",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"14",fill:c.secondary}),l.jsx("circle",{cx:"27",cy:"30",r:"3",fill:"white"}),l.jsx("circle",{cx:"37",cy:"30",r:"3",fill:"white"}),l.jsx("circle",{cx:"28",cy:"31",r:"1.5",fill:"#1a1a1a"}),l.jsx("circle",{cx:"38",cy:"31",r:"1.5",fill:"#1a1a1a"}),l.jsx("path",{d:"M28,37 Q32,40 36,37",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function J0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"16",y:"16",width:"32",height:"32",rx:"4",fill:c.primary}),l.jsx("rect",{x:"20",y:"10",width:"4",height:"8",fill:c.secondary}),l.jsx("rect",{x:"30",y:"10",width:"4",height:"8",fill:c.secondary}),l.jsx("rect",{x:"40",y:"10",width:"4",height:"8",fill:c.secondary}),l.jsx("rect",{x:"20",y:"46",width:"4",height:"8",fill:c.secondary}),l.jsx("rect",{x:"30",y:"46",width:"4",height:"8",fill:c.secondary}),l.jsx("rect",{x:"40",y:"46",width:"4",height:"8",fill:c.secondary}),l.jsx("circle",{cx:"26",cy:"28",r:"4",fill:c.accent}),l.jsx("circle",{cx:"38",cy:"28",r:"4",fill:c.accent}),l.jsx("circle",{cx:"26",cy:"28",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"38",cy:"28",r:"2",fill:"#1a1a1a"}),l.jsx("rect",{x:"26",y:"38",width:"12",height:"3",rx:"1",fill:c.accent})]})}function $0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("polygon",{points:"36,4 20,28 30,28 24,60 48,32 36,32 44,4",fill:c.primary}),l.jsx("polygon",{points:"34,8 24,26 32,26 28,52 42,34 34,34 40,8",fill:c.secondary}),l.jsx("circle",{cx:"30",cy:"30",r:"3",fill:"white"}),l.jsx("circle",{cx:"38",cy:"26",r:"3",fill:"white"}),l.jsx("circle",{cx:"31",cy:"31",r:"1.5",fill:"#1a1a1a"}),l.jsx("circle",{cx:"39",cy:"27",r:"1.5",fill:"#1a1a1a"})]})}function W0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"4",y:"28",width:"12",height:"3",rx:"1",fill:c.accent,opacity:"0.6"}),l.jsx("rect",{x:"8",y:"34",width:"10",height:"3",rx:"1",fill:c.accent,opacity:"0.4"}),l.jsx("ellipse",{cx:"36",cy:"32",rx:"20",ry:"16",fill:c.primary}),l.jsx("ellipse",{cx:"40",cy:"32",rx:"14",ry:"12",fill:c.secondary}),l.jsx("circle",{cx:"38",cy:"28",r:"4",fill:"white"}),l.jsx("circle",{cx:"48",cy:"28",r:"4",fill:"white"}),l.jsx("circle",{cx:"39",cy:"29",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"49",cy:"29",r:"2",fill:"#1a1a1a"}),l.jsx("path",{d:"M40,36 Q44,39 48,36",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function I0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("path",{d:"M12,32 L20,28 L16,32 L22,30",stroke:c.secondary,strokeWidth:"2",className:"animate-pulse"}),l.jsx("path",{d:"M52,32 L44,28 L48,32 L42,30",stroke:c.secondary,strokeWidth:"2",className:"animate-pulse"}),l.jsx("circle",{cx:"32",cy:"32",r:"18",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"14",fill:c.secondary}),l.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"27",cy:"31",r:"2",fill:c.primary}),l.jsx("circle",{cx:"39",cy:"31",r:"2",fill:c.primary}),l.jsx("path",{d:"M28,40 Q32,44 36,40",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function P0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"28",y:"4",width:"8",height:"8",fill:c.primary}),l.jsx("rect",{x:"28",y:"52",width:"8",height:"8",fill:c.primary}),l.jsx("rect",{x:"4",y:"28",width:"8",height:"8",fill:c.primary}),l.jsx("rect",{x:"52",y:"28",width:"8",height:"8",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"20",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"14",fill:c.secondary}),l.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"27",cy:"31",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"39",cy:"31",r:"2",fill:"#1a1a1a"}),l.jsx("path",{d:"M28,40 Q32,43 36,40",stroke:"#1a1a1a",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function ev({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("ellipse",{cx:"32",cy:"58",rx:"8",ry:"6",fill:"#FBBF24",className:"animate-pulse"}),l.jsx("ellipse",{cx:"32",cy:"56",rx:"5",ry:"4",fill:"#FCD34D"}),l.jsx("ellipse",{cx:"32",cy:"32",rx:"14",ry:"24",fill:c.primary}),l.jsx("ellipse",{cx:"32",cy:"12",rx:"8",ry:"10",fill:c.secondary}),l.jsx("polygon",{points:"18,44 10,56 18,52",fill:c.secondary}),l.jsx("polygon",{points:"46,44 54,56 46,52",fill:c.secondary}),l.jsx("circle",{cx:"32",cy:"28",r:"8",fill:c.accent}),l.jsx("circle",{cx:"29",cy:"27",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"35",cy:"27",r:"2",fill:"#1a1a1a"}),l.jsx("path",{d:"M29,32 Q32,34 35,32",stroke:"#1a1a1a",strokeWidth:"1",fill:"none"})]})}function tv({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("circle",{cx:"32",cy:"32",r:"28",stroke:c.accent,strokeWidth:"2",fill:"none",opacity:"0.3"}),l.jsx("circle",{cx:"32",cy:"32",r:"22",stroke:c.accent,strokeWidth:"2",fill:"none",opacity:"0.5"}),l.jsx("circle",{cx:"32",cy:"32",r:"14",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"10",fill:c.secondary}),l.jsx("circle",{cx:"28",cy:"30",r:"3",fill:"white"}),l.jsx("circle",{cx:"36",cy:"30",r:"3",fill:"white"}),l.jsx("circle",{cx:"29",cy:"31",r:"1.5",fill:"#1a1a1a"}),l.jsx("circle",{cx:"37",cy:"31",r:"1.5",fill:"#1a1a1a"}),l.jsx("path",{d:"M29,37 Q32,40 35,37",stroke:"white",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function av({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("circle",{cx:"32",cy:"32",r:"26",fill:c.accent,opacity:"0.3"}),l.jsx("circle",{cx:"32",cy:"32",r:"22",fill:c.accent,opacity:"0.5"}),l.jsx("circle",{cx:"32",cy:"32",r:"18",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"12",fill:c.secondary}),l.jsx("circle",{cx:"27",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"37",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"28",cy:"31",r:"2",fill:c.primary}),l.jsx("circle",{cx:"38",cy:"31",r:"2",fill:c.primary}),l.jsx("path",{d:"M28,38 Q32,42 36,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function lv({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"8",y:"12",width:"48",height:"40",rx:"4",fill:c.primary}),l.jsx("rect",{x:"8",y:"12",width:"48",height:"10",rx:"4",fill:c.secondary}),l.jsx("circle",{cx:"16",cy:"17",r:"2",fill:"#EF4444"}),l.jsx("circle",{cx:"24",cy:"17",r:"2",fill:"#FBBF24"}),l.jsx("circle",{cx:"32",cy:"17",r:"2",fill:"#22C55E"}),l.jsx("rect",{x:"12",y:"26",width:"40",height:"22",rx:"2",fill:c.accent}),l.jsx("circle",{cx:"24",cy:"34",r:"4",fill:"white"}),l.jsx("circle",{cx:"40",cy:"34",r:"4",fill:"white"}),l.jsx("circle",{cx:"25",cy:"35",r:"2",fill:c.primary}),l.jsx("circle",{cx:"41",cy:"35",r:"2",fill:c.primary}),l.jsx("rect",{x:"28",y:"42",width:"8",height:"3",rx:"1",fill:c.primary})]})}function nv({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("ellipse",{cx:"22",cy:"14",rx:"6",ry:"14",fill:c.primary}),l.jsx("ellipse",{cx:"42",cy:"14",rx:"6",ry:"14",fill:c.primary}),l.jsx("ellipse",{cx:"22",cy:"14",rx:"3",ry:"10",fill:c.accent}),l.jsx("ellipse",{cx:"42",cy:"14",rx:"3",ry:"10",fill:c.accent}),l.jsx("circle",{cx:"32",cy:"38",r:"20",fill:c.primary}),l.jsx("circle",{cx:"24",cy:"34",r:"5",fill:"white"}),l.jsx("circle",{cx:"40",cy:"34",r:"5",fill:"white"}),l.jsx("circle",{cx:"25",cy:"35",r:"2.5",fill:"#1a1a1a"}),l.jsx("circle",{cx:"41",cy:"35",r:"2.5",fill:"#1a1a1a"}),l.jsx("ellipse",{cx:"32",cy:"44",rx:"3",ry:"2",fill:c.secondary}),l.jsx("path",{d:"M32,46 L32,50 M28,52 Q32,56 36,52",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none"})]})}function sv({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("path",{d:"M24,20 Q24,8 32,8 Q44,8 44,20 Q44,28 32,32 L32,40",stroke:c.primary,strokeWidth:"8",fill:"none",strokeLinecap:"round"}),l.jsx("circle",{cx:"32",cy:"52",r:"6",fill:c.primary}),l.jsx("circle",{cx:"29",cy:"51",r:"1.5",fill:"white"}),l.jsx("circle",{cx:"35",cy:"51",r:"1.5",fill:"white"}),l.jsx("circle",{cx:"29",cy:"51",r:"0.75",fill:"#1a1a1a"}),l.jsx("circle",{cx:"35",cy:"51",r:"0.75",fill:"#1a1a1a"}),l.jsx("circle",{cx:"32",cy:"20",r:"4",fill:c.secondary})]})}function iv({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:c.primary,strokeWidth:"16",fill:"none",strokeLinecap:"round"}),l.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:c.secondary,strokeWidth:"10",fill:"none",strokeLinecap:"round"}),l.jsx("circle",{cx:"28",cy:"28",r:"4",fill:"white"}),l.jsx("circle",{cx:"40",cy:"36",r:"4",fill:"white"}),l.jsx("circle",{cx:"29",cy:"29",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"41",cy:"37",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"16",cy:"24",r:"2",fill:c.accent,className:"animate-pulse"}),l.jsx("circle",{cx:"48",cy:"40",r:"2",fill:c.accent,className:"animate-pulse"})]})}function cv({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("circle",{cx:"32",cy:"32",r:"28",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"24",fill:c.secondary}),l.jsx("text",{x:"32",y:"44",textAnchor:"middle",fontSize:"32",fontWeight:"bold",fill:"white",children:"?"})]})}const rv={Spark:G0,Fizz:Q0,Octo:Y0,Hoot:V0,Buzz:X0,Pixel:K0,Byte:Z0,Nova:F0,Chip:J0,Bolt:$0,Dash:W0,Zap:I0,Gizmo:P0,Turbo:ev,Blip:tv,Neon:av,Widget:lv,Zippy:nv,Quirk:sv,Flux:iv},uv=cv,ov={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}};function dv(c){switch(c){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 fv(c){switch(c){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 mv(c){switch(c){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 c}}function hn({name:c,state:r,size:d="md",showName:o=!1}){const h=c==="Unknown",p=h?H0:L0[c],{svg:v,font:y}=ov[d],C=h?uv:rv[c],z=mv(r),E=`Agent ${c} is ${z}`;return l.jsxs("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":E,"aria-live":"polite",children:[l.jsx("div",{className:`
50
47
  rounded-full p-1 transition-all duration-300
51
- ${rv(r)}
52
- ${uv(r)}
53
- `,style:{backgroundColor:p.accent},title:E,role:"img","aria-hidden":"true",children:l.jsx(C,{colors:p,size:v})}),o&&l.jsx("span",{className:`${y} font-bold text-foreground`,style:{color:p.primary},children:c})]})}function dv(c){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<c.length;o++)d=c.charCodeAt(o)+((d<<5)-d);return r[Math.abs(d)%r.length]}function fv({feature:c,onClick:r,isInProgress:d,allFeatures:o=[],activeAgent:h}){const p=dv(c.category),v=c.blocked||c.blocking_dependencies&&c.blocking_dependencies.length>0,y=!!h;return l.jsx(ke,{onClick:r,className:`
48
+ ${dv(r)}
49
+ ${fv(r)}
50
+ `,style:{backgroundColor:p.accent},title:E,role:"img","aria-hidden":"true",children:l.jsx(C,{colors:p,size:v})}),o&&l.jsx("span",{className:`${y} font-bold text-foreground`,style:{color:p.primary},children:c})]})}function hv(c){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<c.length;o++)d=c.charCodeAt(o)+((d<<5)-d);return r[Math.abs(d)%r.length]}function xv({feature:c,onClick:r,isInProgress:d,allFeatures:o=[],activeAgent:h}){const p=hv(c.category),v=c.blocked||c.blocking_dependencies&&c.blocking_dependencies.length>0,y=!!h;return l.jsx(ke,{onClick:r,className:`
54
51
  cursor-pointer transition-all hover:border-primary py-3
55
52
  ${d?"animate-pulse":""}
56
53
  ${c.passes?"border-primary/50":""}
57
54
  ${v&&!c.passes?"border-destructive/50 opacity-80":""}
58
55
  ${y?"ring-2 ring-primary ring-offset-2":""}
59
- `,children:l.jsxs(Ge,{className:"p-4 space-y-3",children:[l.jsxs("div",{className:"flex items-start justify-between gap-2",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Oe,{className:`${p} text-white`,children:c.category}),l.jsx(R0,{feature:c,allFeatures:o,compact:!0})]}),l.jsxs("span",{className:"font-mono text-sm text-muted-foreground",children:["#",c.priority]})]}),l.jsx("h3",{className:"font-semibold line-clamp-2",children:c.name}),l.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:c.description}),h&&l.jsxs("div",{className:"flex items-center gap-2 py-2 px-2 rounded-md bg-primary/10 border border-primary/30",children:[l.jsx(hn,{name:h.agentName,state:h.state,size:"sm"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsxs("div",{className:"text-xs font-semibold text-primary",children:[h.agentName," is working on this!"]}),h.thought&&l.jsxs("div",{className:"flex items-center gap-1 mt-0.5",children:[l.jsx(mu,{size:10,className:"text-muted-foreground shrink-0"}),l.jsx("p",{className:"text-[10px] text-muted-foreground truncate italic",children:h.thought})]})]})]}),l.jsx("div",{className:"flex items-center gap-2 text-sm",children:d?l.jsxs(l.Fragment,{children:[l.jsx(_e,{size:16,className:"animate-spin text-primary"}),l.jsx("span",{className:"text-primary font-medium",children:"Processing..."})]}):c.passes?l.jsxs(l.Fragment,{children:[l.jsx(ta,{size:16,className:"text-primary"}),l.jsx("span",{className:"text-primary font-medium",children:"Complete"})]}):v?l.jsxs(l.Fragment,{children:[l.jsx(rn,{size:16,className:"text-destructive"}),l.jsx("span",{className:"text-destructive",children:"Blocked"})]}):l.jsxs(l.Fragment,{children:[l.jsx(rn,{size:16,className:"text-muted-foreground"}),l.jsx("span",{className:"text-muted-foreground",children:"Pending"})]})})]})})}const mv={pending:"border-t-4 border-t-muted",progress:"border-t-4 border-t-primary",done:"border-t-4 border-t-primary"};function su({title:c,count:r,features:d,allFeatures:o=[],activeAgents:h=[],color:p,onFeatureClick:v,onAddFeature:y,onExpandProject:C,showExpandButton:w,onCreateSpec:E,showCreateSpec:_}){const L=new Map;for(const z of h){const q=z.featureIds||[z.featureId];for(const U of q)L.set(U,z)}return l.jsxs(ke,{className:`overflow-hidden ${mv[p]} py-0`,children:[l.jsxs(Hi,{className:"px-4 py-3 border-b flex-row items-center justify-between space-y-0",children:[l.jsxs(gu,{className:"text-lg font-semibold flex items-center gap-2",children:[c,l.jsx(Oe,{variant:"secondary",children:r})]}),(y||C)&&l.jsxs("div",{className:"flex items-center gap-2",children:[y&&l.jsx(F,{onClick:y,size:"icon-sm",title:"Add new feature (N)",children:l.jsx(Pa,{size:16})}),C&&w&&l.jsx(F,{onClick:C,size:"icon-sm",variant:"secondary",title:"Expand project with AI (E)",children:l.jsx(jl,{size:16})})]})]}),l.jsx(Ge,{className:"p-0",children:l.jsx("div",{className:"h-[600px] overflow-y-auto",children:l.jsx("div",{className:"p-4 space-y-3",children:d.length===0?l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:_&&E?l.jsxs("div",{className:"space-y-4",children:[l.jsx("p",{children:"No spec created yet"}),l.jsxs(F,{onClick:E,children:[l.jsx(Ig,{size:18}),"Create Spec with AI"]})]}):"No features"}):d.map((z,q)=>l.jsx("div",{className:"animate-slide-in",style:{animationDelay:`${q*50}ms`},children:l.jsx(fv,{feature:z,onClick:()=>v(z),isInProgress:p==="progress",allFeatures:o,activeAgent:L.get(z.id)})},z.id))})})})]})}function hv({features:c,onFeatureClick:r,onAddFeature:d,onExpandProject:o,activeAgents:h=[],onCreateSpec:p,hasSpec:v=!0}){const y=c&&c.pending.length+c.in_progress.length+c.done.length>0,C=c?[...c.pending,...c.in_progress,...c.done]:[];return c?l.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[l.jsx(su,{title:"Pending",count:c.pending.length,features:c.pending,allFeatures:C,activeAgents:h,color:"pending",onFeatureClick:r,onAddFeature:d,onExpandProject:o,showExpandButton:y&&v,onCreateSpec:p,showCreateSpec:!v&&!y}),l.jsx(su,{title:"In Progress",count:c.in_progress.length,features:c.in_progress,allFeatures:C,activeAgents:h,color:"progress",onFeatureClick:r}),l.jsx(su,{title:"Done",count:c.done.length,features:c.done,allFeatures:C,activeAgents:h,color:"done",onFeatureClick:r})]}):l.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:["Pending","In Progress","Done"].map(w=>l.jsx(ke,{className:"py-4",children:l.jsxs(Ge,{className:"p-4",children:[l.jsx("div",{className:"h-8 bg-muted animate-pulse rounded mb-4"}),l.jsx("div",{className:"space-y-3",children:[1,2,3].map(E=>l.jsx("div",{className:"h-24 bg-muted animate-pulse rounded"},E))})]})},w))})}function xv(c){return Nt({queryKey:["schedules",c],queryFn:()=>By(c),enabled:!!c})}function gv(c){const r=at();return rt({mutationFn:d=>qy(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",c]}),r.invalidateQueries({queryKey:["nextRun",c]})}})}function pv(c){const r=at();return rt({mutationFn:d=>Ly(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",c]}),r.invalidateQueries({queryKey:["nextRun",c]})}})}function yv(c){const r=at();return rt({mutationFn:({scheduleId:d,enabled:o})=>Hy(c,d,{enabled:o}),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",c]}),r.invalidateQueries({queryKey:["nextRun",c]})}})}function vv(c){return Nt({queryKey:["nextRun",c],queryFn:()=>Gy(c),enabled:!!c,refetchInterval:3e4})}function bv(c){const[r,d]=c.split(":").map(Number),o=new Date(Date.UTC(2e3,0,15,r,d,0,0)),h=o.getDate();let p=0;h===14&&(p=-1),h===16&&(p=1);const v=o.getHours(),y=o.getMinutes();return{time:`${String(v).padStart(2,"0")}:${String(y).padStart(2,"0")}`,dayShift:p}}function jv(c){const[r,d]=c.split(":").map(Number),o=new Date(2e3,0,15,r,d,0,0),h=o.getUTCDate();let p=0;h===14&&(p=-1),h===16&&(p=1);const v=o.getUTCHours(),y=o.getUTCMinutes();return{time:`${String(v).padStart(2,"0")}:${String(y).padStart(2,"0")}`,dayShift:p}}function Sv(c){let r=0;return c&1&&(r|=2),c&2&&(r|=4),c&4&&(r|=8),c&8&&(r|=16),c&16&&(r|=32),c&32&&(r|=64),c&64&&(r|=1),r}function Nv(c){let r=0;return c&1&&(r|=64),c&2&&(r|=1),c&4&&(r|=2),c&8&&(r|=4),c&16&&(r|=8),c&32&&(r|=16),c&64&&(r|=32),r}function Rm(c,r){return r===1?Sv(c):r===-1?Nv(c):c}function Um(c){const r=Math.floor(c/60),d=c%60;return r===0?`${d}m`:d===0?`${r}h`:`${r}h ${d}m`}function Cv(c){const r=new Date(c),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 zv(c){return new Date(c).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}const Bm=[{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 qm(c,r){return(c&r)!==0}function wv(c,r){return c^r}function Av({className:c,...r}){return l.jsx(Zp,{"data-slot":"checkbox",className:Re("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",c),...r,children:l.jsx(Fp,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:l.jsx(ea,{className:"size-3.5"})})})}function ru({className:c,orientation:r="horizontal",decorative:d=!0,...o}){return l.jsx(Jp,{"data-slot":"separator",decorative:d,orientation:r,className:Re("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",c),...o})}function Ev({projectName:c,isOpen:r,onClose:d}){const o=m.useRef(null),h=m.useRef(null),{data:p,isLoading:v}=xv(c),y=gv(c),C=pv(c),w=yv(c),[E,_]=m.useState({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3}),[L,z]=m.useState(null);m.useEffect(()=>{r&&h.current&&h.current.focus()},[r]);const q=p?.schedules||[],U=async()=>{try{if(z(null),E.days_of_week===0){z("Please select at least one day");return}if(E.duration_minutes<1||E.duration_minutes>1440){z("Duration must be between 1 and 1440 minutes");return}const{time:j,dayShift:K}=jv(E.start_time),J=Rm(E.days_of_week,K),$={...E,start_time:j,days_of_week:J};await y.mutateAsync($),_({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3})}catch(j){z(j instanceof Error?j.message:"Failed to create schedule")}},R=async(j,K)=>{try{z(null),await w.mutateAsync({scheduleId:j,enabled:!K})}catch(J){z(J instanceof Error?J.message:"Failed to toggle schedule")}},A=async j=>{if(confirm("Are you sure you want to delete this schedule?"))try{z(null),await C.mutateAsync(j)}catch(K){z(K instanceof Error?K.message:"Failed to delete schedule")}},S=j=>{_(K=>({...K,days_of_week:wv(K.days_of_week,j)}))};return l.jsx(aa,{open:r,onOpenChange:j=>!j&&d(),children:l.jsxs(la,{ref:o,className:"sm:max-w-[650px] max-h-[80vh] flex flex-col p-0",children:[l.jsx(na,{className:"p-6 pb-4",children:l.jsxs(sa,{className:"flex items-center gap-2",children:[l.jsx(un,{size:24,className:"text-primary"}),"Agent Schedules"]})}),l.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto px-6",children:[L&&l.jsx(jt,{variant:"destructive",className:"mb-4",children:l.jsx(St,{children:L})}),v&&l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"Loading schedules..."}),!v&&q.length>0&&l.jsx("div",{className:"space-y-3 mb-6",children:q.map(j=>{const{time:K,dayShift:J}=bv(j.start_time),$=Um(j.duration_minutes),X=Rm(j.days_of_week,J);return l.jsx(ke,{children:l.jsx(Ge,{className:"p-4",children:l.jsxs("div",{className:"flex items-start justify-between gap-4",children:[l.jsxs("div",{className:"flex-1",children:[l.jsxs("div",{className:"flex items-baseline gap-2 mb-2",children:[l.jsx("span",{className:"text-lg font-semibold",children:K}),l.jsxs("span",{className:"text-sm text-muted-foreground",children:["for ",$]})]}),l.jsx("div",{className:"flex gap-1 mb-2",children:Bm.map(ee=>{const Q=qm(X,ee.bit);return l.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:ee.label},ee.label)})}),l.jsxs("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[j.yolo_mode&&l.jsx("span",{className:"font-semibold text-yellow-600",children:"YOLO mode"}),l.jsxs("span",{className:"flex items-center gap-1",children:[l.jsx(mn,{size:12}),j.max_concurrency,"x"]}),j.model&&l.jsxs("span",{children:["Model: ",j.model]}),j.crash_count>0&&l.jsxs("span",{className:"text-destructive",children:["Crashes: ",j.crash_count]})]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(F,{variant:"ghost",size:"sm",onClick:()=>R(j.id,j.enabled),disabled:w.isPending,className:j.enabled?"text-primary":"text-muted-foreground",children:j.enabled?"Enabled":"Disabled"}),l.jsx(F,{variant:"ghost",size:"icon-sm",onClick:()=>A(j.id),disabled:C.isPending,className:"text-destructive hover:text-destructive",children:l.jsx(tl,{size:16})})]})]})})},j.id)})}),!v&&q.length===0&&l.jsxs("div",{className:"text-center py-6 text-muted-foreground mb-6",children:[l.jsx(un,{size:48,className:"mx-auto mb-2 opacity-50"}),l.jsx("p",{children:"No schedules configured yet"})]}),l.jsx(ru,{className:"my-6"}),l.jsxs("div",{className:"pb-6",children:[l.jsx("h3",{className:"text-lg font-semibold mb-4",children:"Add New Schedule"}),l.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{children:"Start Time (Local)"}),l.jsx(dt,{type:"time",value:E.start_time,onChange:j=>_(K=>({...K,start_time:j.target.value}))})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{children:"Duration (minutes)"}),l.jsx(dt,{type:"number",min:"1",max:"1440",value:E.duration_minutes,onChange:j=>{const K=parseInt(j.target.value,10),J=isNaN(K)?1:Math.max(1,Math.min(1440,K));_($=>({...$,duration_minutes:J}))}}),l.jsx("p",{className:"text-xs text-muted-foreground",children:Um(E.duration_minutes)})]})]}),l.jsxs("div",{className:"mb-4 space-y-2",children:[l.jsx(Me,{children:"Days"}),l.jsx("div",{className:"flex gap-2",children:Bm.map(j=>{const K=qm(E.days_of_week,j.bit);return l.jsx(F,{variant:K?"default":"outline",size:"sm",onClick:()=>S(j.bit),children:j.label},j.label)})})]}),l.jsxs("div",{className:"mb-4 flex items-center space-x-2",children:[l.jsx(Av,{id:"yolo-mode",checked:E.yolo_mode,onCheckedChange:j=>_(K=>({...K,yolo_mode:j===!0}))}),l.jsx(Me,{htmlFor:"yolo-mode",className:"font-normal",children:"YOLO Mode (skip testing)"})]}),l.jsxs("div",{className:"mb-4 space-y-2",children:[l.jsx(Me,{children:"Concurrent Agents (1-5)"}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(mn,{size:16,className:E.max_concurrency>1?"text-primary":"text-muted-foreground"}),l.jsx("input",{type:"range",min:1,max:5,value:E.max_concurrency,onChange:j=>_(K=>({...K,max_concurrency:Number(j.target.value)})),className:"flex-1 h-2 accent-primary cursor-pointer"}),l.jsxs("span",{className:"text-sm font-medium min-w-[2rem] text-center",children:[E.max_concurrency,"x"]})]}),l.jsxs("p",{className:"text-xs text-muted-foreground",children:["Run ",E.max_concurrency," agent",E.max_concurrency>1?"s":""," in parallel for faster feature completion"]})]}),l.jsxs("div",{className:"mb-4 space-y-2",children:[l.jsx(Me,{children:"Model (optional, defaults to global setting)"}),l.jsx(dt,{placeholder:"e.g., claude-3-5-sonnet-20241022",value:E.model||"",onChange:j=>_(K=>({...K,model:j.target.value||null}))})]})]})]}),l.jsxs(el,{className:"p-6 pt-4 border-t",children:[l.jsx(F,{variant:"outline",onClick:d,children:"Close"}),l.jsx(F,{onClick:U,disabled:y.isPending||E.days_of_week===0,children:y.isPending?"Creating...":"Create Schedule"})]})]})})}function Tv({projectName:c,status:r,defaultConcurrency:d=3}){const{data:o}=xu(),h=o?.yolo_mode??!1,[p,v]=m.useState(d);m.useEffect(()=>{v(d)},[d]);const y=Ky(c),C=m.useRef(null),w=m.useCallback($=>{v($),C.current&&clearTimeout(C.current),C.current=setTimeout(()=>{y.mutate({default_concurrency:$})},500)},[y]);m.useEffect(()=>()=>{C.current&&clearTimeout(C.current)},[]);const E=Iy(c),_=Py(c),{data:L}=vv(c),[z,q]=m.useState(!1),U=E.isPending||_.isPending,R=r==="running"||r==="paused",A=r==="loading",S=p>1,j=()=>E.mutate({yoloMode:h,parallelMode:S,maxConcurrency:p,testingAgentRatio:o?.testing_agent_ratio}),K=()=>_.mutate(),J=r==="stopped"||r==="crashed";return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"flex items-center gap-4",children:[J&&l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(mn,{size:16,className:S?"text-primary":"text-muted-foreground"}),l.jsx("input",{type:"range",min:1,max:5,value:p,onChange:$=>w(Number($.target.value)),disabled:U,className:"w-16 h-2 accent-primary cursor-pointer",title:`${p} concurrent agent${p>1?"s":""}`,"aria-label":"Set number of concurrent agents"}),l.jsxs("span",{className:"text-xs font-semibold min-w-[1.5rem] text-center",children:[p,"x"]})]}),R&&S&&l.jsxs(Oe,{variant:"secondary",className:"gap-1",children:[l.jsx(mn,{size:14}),p,"x"]}),L?.is_currently_running&&L.next_end&&l.jsxs(Oe,{variant:"default",className:"gap-1",children:[l.jsx(un,{size:14}),"Running until ",zv(L.next_end)]}),!L?.is_currently_running&&L?.next_start&&l.jsxs(Oe,{variant:"secondary",className:"gap-1",children:[l.jsx(un,{size:14}),"Next: ",Cv(L.next_start)]}),A?l.jsx(F,{disabled:!0,variant:"outline",size:"sm",children:l.jsx(_e,{size:18,className:"animate-spin"})}):J?l.jsx(F,{onClick:j,disabled:U,variant:h?"secondary":"default",size:"sm",title:h?"Start Agent (YOLO Mode)":"Start Agent",children:U?l.jsx(_e,{size:18,className:"animate-spin"}):l.jsx(Pg,{size:18})}):l.jsx(F,{onClick:K,disabled:U,variant:"destructive",size:"sm",title:h?"Stop Agent (YOLO Mode)":"Stop Agent",children:U?l.jsx(_e,{size:18,className:"animate-spin"}):l.jsx(eh,{size:18})}),l.jsx(F,{variant:"outline",size:"sm",onClick:()=>q(!0),title:"Manage schedules",children:l.jsx(un,{size:18})})]}),l.jsx(Ev,{projectName:c,isOpen:z,onClose:()=>q(!1)})]})}const Dv=3e4;function Mv(c){const r=c.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 _v(c){for(let r=c.length-1;r>=0;r--)if(Mv(c[r].line))return c[r].line.trim();return null}function kv({passing:c,total:r,percentage:d,isConnected:o,logs:h=[],agentStatus:p}){const v=m.useMemo(()=>_v(h),[h]),[y,C]=m.useState(null),[w,E]=m.useState(!0),_=h.length>0?new Date(h[h.length-1].timestamp).getTime():0,L=m.useMemo(()=>v?p==="running"?!0:p==="paused"?Date.now()-_<Dv:!1:!1,[v,p,_]);m.useEffect(()=>{if(v!==y&&v){E(!1);const q=setTimeout(()=>{C(v),E(!0)},150);return()=>clearTimeout(q)}},[v,y]);const z=p==="running";return l.jsxs(ke,{children:[l.jsxs(Hi,{className:"flex-row items-center justify-between space-y-0 pb-0",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(gu,{className:"text-xl uppercase tracking-wide",children:"Progress"}),l.jsx(Oe,{variant:o?"default":"destructive",className:"gap-1",children:o?l.jsxs(l.Fragment,{children:[l.jsx(fn,{size:14}),"Live"]}):l.jsxs(l.Fragment,{children:[l.jsx(dn,{size:14}),"Offline"]})})]}),l.jsxs("div",{className:"flex items-baseline gap-1",children:[l.jsx("span",{className:"font-mono text-lg font-bold text-primary",children:c}),l.jsx("span",{className:"text-sm text-muted-foreground",children:"/"}),l.jsx("span",{className:"font-mono text-lg font-bold",children:r})]})]}),l.jsxs(Ge,{className:"pt-3 pb-3",children:[l.jsxs("div",{className:"flex items-center gap-4",children:[l.jsx("div",{className:"h-2.5 bg-muted rounded-full overflow-hidden flex-1",children:l.jsx("div",{className:"h-full bg-primary rounded-full transition-all duration-500 ease-out",style:{width:`${d}%`}})}),l.jsxs("span",{className:"text-sm font-bold tabular-nums text-muted-foreground w-12 text-right",children:[d.toFixed(1),"%"]})]}),l.jsx("div",{className:`
56
+ `,children:l.jsxs(Ge,{className:"p-4 space-y-3",children:[l.jsxs("div",{className:"flex items-start justify-between gap-2",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Oe,{className:`${p} text-white`,children:c.category}),l.jsx(q0,{feature:c,allFeatures:o,compact:!0})]}),l.jsxs("span",{className:"font-mono text-sm text-muted-foreground",children:["#",c.priority]})]}),l.jsx("h3",{className:"font-semibold line-clamp-2",children:c.name}),l.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:c.description}),h&&l.jsxs("div",{className:"flex items-center gap-2 py-2 px-2 rounded-md bg-primary/10 border border-primary/30",children:[l.jsx(hn,{name:h.agentName,state:h.state,size:"sm"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsxs("div",{className:"text-xs font-semibold text-primary",children:[h.agentName," is working on this!"]}),h.thought&&l.jsxs("div",{className:"flex items-center gap-1 mt-0.5",children:[l.jsx(mu,{size:10,className:"text-muted-foreground shrink-0"}),l.jsx("p",{className:"text-[10px] text-muted-foreground truncate italic",children:h.thought})]})]})]}),l.jsx("div",{className:"flex items-center gap-2 text-sm",children:d?l.jsxs(l.Fragment,{children:[l.jsx(_e,{size:16,className:"animate-spin text-primary"}),l.jsx("span",{className:"text-primary font-medium",children:"Processing..."})]}):c.passes?l.jsxs(l.Fragment,{children:[l.jsx(ta,{size:16,className:"text-primary"}),l.jsx("span",{className:"text-primary font-medium",children:"Complete"})]}):v?l.jsxs(l.Fragment,{children:[l.jsx(rn,{size:16,className:"text-destructive"}),l.jsx("span",{className:"text-destructive",children:"Blocked"})]}):l.jsxs(l.Fragment,{children:[l.jsx(rn,{size:16,className:"text-muted-foreground"}),l.jsx("span",{className:"text-muted-foreground",children:"Pending"})]})})]})})}const gv={pending:"border-t-4 border-t-muted",progress:"border-t-4 border-t-primary",done:"border-t-4 border-t-primary"};function su({title:c,count:r,features:d,allFeatures:o=[],activeAgents:h=[],color:p,onFeatureClick:v,onAddFeature:y,onExpandProject:C,showExpandButton:z,onCreateSpec:E,showCreateSpec:k}){const G=new Map;for(const A of h){const H=A.featureIds||[A.featureId];for(const B of H)G.set(B,A)}return l.jsxs(ke,{className:`overflow-hidden ${gv[p]} py-0`,children:[l.jsxs(Hi,{className:"px-4 py-3 border-b flex-row items-center justify-between space-y-0",children:[l.jsxs(gu,{className:"text-lg font-semibold flex items-center gap-2",children:[c,l.jsx(Oe,{variant:"secondary",children:r})]}),(y||C)&&l.jsxs("div",{className:"flex items-center gap-2",children:[y&&l.jsx(F,{onClick:y,size:"icon-sm",title:"Add new feature (N)",children:l.jsx(Pa,{size:16})}),C&&z&&l.jsx(F,{onClick:C,size:"icon-sm",variant:"secondary",title:"Expand project with AI (E)",children:l.jsx(jl,{size:16})})]})]}),l.jsx(Ge,{className:"p-0",children:l.jsx("div",{className:"h-[600px] overflow-y-auto",children:l.jsx("div",{className:"p-4 space-y-3",children:d.length===0?l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:k&&E?l.jsxs("div",{className:"space-y-4",children:[l.jsx("p",{children:"No spec created yet"}),l.jsxs(F,{onClick:E,children:[l.jsx(Wg,{size:18}),"Create Spec with AI"]})]}):"No features"}):d.map((A,H)=>l.jsx("div",{className:"animate-slide-in",style:{animationDelay:`${H*50}ms`},children:l.jsx(xv,{feature:A,onClick:()=>v(A),isInProgress:p==="progress",allFeatures:o,activeAgent:G.get(A.id)})},A.id))})})})]})}function pv({features:c,onFeatureClick:r,onAddFeature:d,onExpandProject:o,activeAgents:h=[],onCreateSpec:p,hasSpec:v=!0}){const y=c&&c.pending.length+c.in_progress.length+c.done.length>0,C=c?[...c.pending,...c.in_progress,...c.done]:[];return c?l.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[l.jsx(su,{title:"Pending",count:c.pending.length,features:c.pending,allFeatures:C,activeAgents:h,color:"pending",onFeatureClick:r,onAddFeature:d,onExpandProject:o,showExpandButton:y&&v,onCreateSpec:p,showCreateSpec:!v&&!y}),l.jsx(su,{title:"In Progress",count:c.in_progress.length,features:c.in_progress,allFeatures:C,activeAgents:h,color:"progress",onFeatureClick:r}),l.jsx(su,{title:"Done",count:c.done.length,features:c.done,allFeatures:C,activeAgents:h,color:"done",onFeatureClick:r})]}):l.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:["Pending","In Progress","Done"].map(z=>l.jsx(ke,{className:"py-4",children:l.jsxs(Ge,{className:"p-4",children:[l.jsx("div",{className:"h-8 bg-muted animate-pulse rounded mb-4"}),l.jsx("div",{className:"space-y-3",children:[1,2,3].map(E=>l.jsx("div",{className:"h-24 bg-muted animate-pulse rounded"},E))})]})},z))})}function yv(c){return Nt({queryKey:["schedules",c],queryFn:()=>qy(c),enabled:!!c})}function vv(c){const r=at();return rt({mutationFn:d=>Hy(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",c]}),r.invalidateQueries({queryKey:["nextRun",c]})}})}function bv(c){const r=at();return rt({mutationFn:d=>Gy(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",c]}),r.invalidateQueries({queryKey:["nextRun",c]})}})}function jv(c){const r=at();return rt({mutationFn:({scheduleId:d,enabled:o})=>Ly(c,d,{enabled:o}),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",c]}),r.invalidateQueries({queryKey:["nextRun",c]})}})}function Sv(c){return Nt({queryKey:["nextRun",c],queryFn:()=>Qy(c),enabled:!!c,refetchInterval:3e4})}function Nv(c){const[r,d]=c.split(":").map(Number),o=new Date(Date.UTC(2e3,0,15,r,d,0,0)),h=o.getDate();let p=0;h===14&&(p=-1),h===16&&(p=1);const v=o.getHours(),y=o.getMinutes();return{time:`${String(v).padStart(2,"0")}:${String(y).padStart(2,"0")}`,dayShift:p}}function Cv(c){const[r,d]=c.split(":").map(Number),o=new Date(2e3,0,15,r,d,0,0),h=o.getUTCDate();let p=0;h===14&&(p=-1),h===16&&(p=1);const v=o.getUTCHours(),y=o.getUTCMinutes();return{time:`${String(v).padStart(2,"0")}:${String(y).padStart(2,"0")}`,dayShift:p}}function zv(c){let r=0;return c&1&&(r|=2),c&2&&(r|=4),c&4&&(r|=8),c&8&&(r|=16),c&16&&(r|=32),c&32&&(r|=64),c&64&&(r|=1),r}function wv(c){let r=0;return c&1&&(r|=64),c&2&&(r|=1),c&4&&(r|=2),c&8&&(r|=4),c&16&&(r|=8),c&32&&(r|=16),c&64&&(r|=32),r}function Om(c,r){return r===1?zv(c):r===-1?wv(c):c}function Rm(c){const r=Math.floor(c/60),d=c%60;return r===0?`${d}m`:d===0?`${r}h`:`${r}h ${d}m`}function Av(c){const r=new Date(c),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 Ev(c){return new Date(c).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}const Um=[{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 Bm(c,r){return(c&r)!==0}function Tv(c,r){return c^r}function Dv({className:c,...r}){return l.jsx(Fp,{"data-slot":"checkbox",className:Re("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",c),...r,children:l.jsx(Jp,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:l.jsx(ea,{className:"size-3.5"})})})}function ru({className:c,orientation:r="horizontal",decorative:d=!0,...o}){return l.jsx($p,{"data-slot":"separator",decorative:d,orientation:r,className:Re("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",c),...o})}function Mv({projectName:c,isOpen:r,onClose:d}){const o=m.useRef(null),h=m.useRef(null),{data:p,isLoading:v}=yv(c),y=vv(c),C=bv(c),z=jv(c),[E,k]=m.useState({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3}),[G,A]=m.useState(null);m.useEffect(()=>{r&&h.current&&h.current.focus()},[r]);const H=p?.schedules||[],B=async()=>{try{if(A(null),E.days_of_week===0){A("Please select at least one day");return}if(E.duration_minutes<1||E.duration_minutes>1440){A("Duration must be between 1 and 1440 minutes");return}const{time:j,dayShift:K}=Cv(E.start_time),J=Om(E.days_of_week,K),$={...E,start_time:j,days_of_week:J};await y.mutateAsync($),k({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3})}catch(j){A(j instanceof Error?j.message:"Failed to create schedule")}},R=async(j,K)=>{try{A(null),await z.mutateAsync({scheduleId:j,enabled:!K})}catch(J){A(J instanceof Error?J.message:"Failed to toggle schedule")}},w=async j=>{if(confirm("Are you sure you want to delete this schedule?"))try{A(null),await C.mutateAsync(j)}catch(K){A(K instanceof Error?K.message:"Failed to delete schedule")}},S=j=>{k(K=>({...K,days_of_week:Tv(K.days_of_week,j)}))};return l.jsx(aa,{open:r,onOpenChange:j=>!j&&d(),children:l.jsxs(la,{ref:o,className:"sm:max-w-[650px] max-h-[80vh] flex flex-col p-0",children:[l.jsx(na,{className:"p-6 pb-4",children:l.jsxs(sa,{className:"flex items-center gap-2",children:[l.jsx(un,{size:24,className:"text-primary"}),"Agent Schedules"]})}),l.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto px-6",children:[G&&l.jsx(jt,{variant:"destructive",className:"mb-4",children:l.jsx(St,{children:G})}),v&&l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"Loading schedules..."}),!v&&H.length>0&&l.jsx("div",{className:"space-y-3 mb-6",children:H.map(j=>{const{time:K,dayShift:J}=Nv(j.start_time),$=Rm(j.duration_minutes),X=Om(j.days_of_week,J);return l.jsx(ke,{children:l.jsx(Ge,{className:"p-4",children:l.jsxs("div",{className:"flex items-start justify-between gap-4",children:[l.jsxs("div",{className:"flex-1",children:[l.jsxs("div",{className:"flex items-baseline gap-2 mb-2",children:[l.jsx("span",{className:"text-lg font-semibold",children:K}),l.jsxs("span",{className:"text-sm text-muted-foreground",children:["for ",$]})]}),l.jsx("div",{className:"flex gap-1 mb-2",children:Um.map(ee=>{const Q=Bm(X,ee.bit);return l.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:ee.label},ee.label)})}),l.jsxs("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[j.yolo_mode&&l.jsx("span",{className:"font-semibold text-yellow-600",children:"YOLO mode"}),l.jsxs("span",{className:"flex items-center gap-1",children:[l.jsx(mn,{size:12}),j.max_concurrency,"x"]}),j.model&&l.jsxs("span",{children:["Model: ",j.model]}),j.crash_count>0&&l.jsxs("span",{className:"text-destructive",children:["Crashes: ",j.crash_count]})]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(F,{variant:"ghost",size:"sm",onClick:()=>R(j.id,j.enabled),disabled:z.isPending,className:j.enabled?"text-primary":"text-muted-foreground",children:j.enabled?"Enabled":"Disabled"}),l.jsx(F,{variant:"ghost",size:"icon-sm",onClick:()=>w(j.id),disabled:C.isPending,className:"text-destructive hover:text-destructive",children:l.jsx(tl,{size:16})})]})]})})},j.id)})}),!v&&H.length===0&&l.jsxs("div",{className:"text-center py-6 text-muted-foreground mb-6",children:[l.jsx(un,{size:48,className:"mx-auto mb-2 opacity-50"}),l.jsx("p",{children:"No schedules configured yet"})]}),l.jsx(ru,{className:"my-6"}),l.jsxs("div",{className:"pb-6",children:[l.jsx("h3",{className:"text-lg font-semibold mb-4",children:"Add New Schedule"}),l.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{children:"Start Time (Local)"}),l.jsx(dt,{type:"time",value:E.start_time,onChange:j=>k(K=>({...K,start_time:j.target.value}))})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{children:"Duration (minutes)"}),l.jsx(dt,{type:"number",min:"1",max:"1440",value:E.duration_minutes,onChange:j=>{const K=parseInt(j.target.value,10),J=isNaN(K)?1:Math.max(1,Math.min(1440,K));k($=>({...$,duration_minutes:J}))}}),l.jsx("p",{className:"text-xs text-muted-foreground",children:Rm(E.duration_minutes)})]})]}),l.jsxs("div",{className:"mb-4 space-y-2",children:[l.jsx(Me,{children:"Days"}),l.jsx("div",{className:"flex gap-2",children:Um.map(j=>{const K=Bm(E.days_of_week,j.bit);return l.jsx(F,{variant:K?"default":"outline",size:"sm",onClick:()=>S(j.bit),children:j.label},j.label)})})]}),l.jsxs("div",{className:"mb-4 flex items-center space-x-2",children:[l.jsx(Dv,{id:"yolo-mode",checked:E.yolo_mode,onCheckedChange:j=>k(K=>({...K,yolo_mode:j===!0}))}),l.jsx(Me,{htmlFor:"yolo-mode",className:"font-normal",children:"YOLO Mode (skip testing)"})]}),l.jsxs("div",{className:"mb-4 space-y-2",children:[l.jsx(Me,{children:"Concurrent Agents (1-5)"}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(mn,{size:16,className:E.max_concurrency>1?"text-primary":"text-muted-foreground"}),l.jsx("input",{type:"range",min:1,max:5,value:E.max_concurrency,onChange:j=>k(K=>({...K,max_concurrency:Number(j.target.value)})),className:"flex-1 h-2 accent-primary cursor-pointer"}),l.jsxs("span",{className:"text-sm font-medium min-w-[2rem] text-center",children:[E.max_concurrency,"x"]})]}),l.jsxs("p",{className:"text-xs text-muted-foreground",children:["Run ",E.max_concurrency," agent",E.max_concurrency>1?"s":""," in parallel for faster feature completion"]})]}),l.jsxs("div",{className:"mb-4 space-y-2",children:[l.jsx(Me,{children:"Model (optional, defaults to global setting)"}),l.jsx(dt,{placeholder:"e.g., claude-3-5-sonnet-20241022",value:E.model||"",onChange:j=>k(K=>({...K,model:j.target.value||null}))})]})]})]}),l.jsxs(el,{className:"p-6 pt-4 border-t",children:[l.jsx(F,{variant:"outline",onClick:d,children:"Close"}),l.jsx(F,{onClick:B,disabled:y.isPending||E.days_of_week===0,children:y.isPending?"Creating...":"Create Schedule"})]})]})})}function _v({projectName:c,status:r,defaultConcurrency:d=3}){const{data:o}=xu(),h=o?.yolo_mode??!1,[p,v]=m.useState(d);m.useEffect(()=>{v(d)},[d]);const y=Zy(c),C=m.useRef(null),z=m.useCallback($=>{v($),C.current&&clearTimeout(C.current),C.current=setTimeout(()=>{y.mutate({default_concurrency:$})},500)},[y]);m.useEffect(()=>()=>{C.current&&clearTimeout(C.current)},[]);const E=Py(c),k=e0(c),{data:G}=Sv(c),[A,H]=m.useState(!1),B=E.isPending||k.isPending,R=r==="running"||r==="paused",w=r==="loading",S=p>1,j=()=>E.mutate({yoloMode:h,parallelMode:S,maxConcurrency:p,testingAgentRatio:o?.testing_agent_ratio}),K=()=>k.mutate(),J=r==="stopped"||r==="crashed";return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"flex items-center gap-4",children:[J&&l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(mn,{size:16,className:S?"text-primary":"text-muted-foreground"}),l.jsx("input",{type:"range",min:1,max:5,value:p,onChange:$=>z(Number($.target.value)),disabled:B,className:"w-16 h-2 accent-primary cursor-pointer",title:`${p} concurrent agent${p>1?"s":""}`,"aria-label":"Set number of concurrent agents"}),l.jsxs("span",{className:"text-xs font-semibold min-w-[1.5rem] text-center",children:[p,"x"]})]}),R&&S&&l.jsxs(Oe,{variant:"secondary",className:"gap-1",children:[l.jsx(mn,{size:14}),p,"x"]}),G?.is_currently_running&&G.next_end&&l.jsxs(Oe,{variant:"default",className:"gap-1",children:[l.jsx(un,{size:14}),"Running until ",Ev(G.next_end)]}),!G?.is_currently_running&&G?.next_start&&l.jsxs(Oe,{variant:"secondary",className:"gap-1",children:[l.jsx(un,{size:14}),"Next: ",Av(G.next_start)]}),w?l.jsx(F,{disabled:!0,variant:"outline",size:"sm",children:l.jsx(_e,{size:18,className:"animate-spin"})}):J?l.jsx(F,{onClick:j,disabled:B,variant:h?"secondary":"default",size:"sm",title:h?"Start Agent (YOLO Mode)":"Start Agent",children:B?l.jsx(_e,{size:18,className:"animate-spin"}):l.jsx(Ig,{size:18})}):l.jsx(F,{onClick:K,disabled:B,variant:"destructive",size:"sm",title:h?"Stop Agent (YOLO Mode)":"Stop Agent",children:B?l.jsx(_e,{size:18,className:"animate-spin"}):l.jsx(Pm,{size:18})}),l.jsx(F,{variant:"outline",size:"sm",onClick:()=>H(!0),title:"Manage schedules",children:l.jsx(un,{size:18})})]}),l.jsx(Mv,{projectName:c,isOpen:A,onClose:()=>H(!1)})]})}const kv=3e4;function Ov(c){const r=c.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 Rv(c){for(let r=c.length-1;r>=0;r--)if(Ov(c[r].line))return c[r].line.trim();return null}function Uv({passing:c,total:r,percentage:d,isConnected:o,logs:h=[],agentStatus:p}){const v=m.useMemo(()=>Rv(h),[h]),[y,C]=m.useState(null),[z,E]=m.useState(!0),k=h.length>0?new Date(h[h.length-1].timestamp).getTime():0,G=m.useMemo(()=>v?p==="running"?!0:p==="paused"?Date.now()-k<kv:!1:!1,[v,p,k]);m.useEffect(()=>{if(v!==y&&v){E(!1);const H=setTimeout(()=>{C(v),E(!0)},150);return()=>clearTimeout(H)}},[v,y]);const A=p==="running";return l.jsxs(ke,{children:[l.jsxs(Hi,{className:"flex-row items-center justify-between space-y-0 pb-0",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(gu,{className:"text-xl uppercase tracking-wide",children:"Progress"}),l.jsx(Oe,{variant:o?"default":"destructive",className:"gap-1",children:o?l.jsxs(l.Fragment,{children:[l.jsx(fn,{size:14}),"Live"]}):l.jsxs(l.Fragment,{children:[l.jsx(dn,{size:14}),"Offline"]})})]}),l.jsxs("div",{className:"flex items-baseline gap-1",children:[l.jsx("span",{className:"font-mono text-lg font-bold text-primary",children:c}),l.jsx("span",{className:"text-sm text-muted-foreground",children:"/"}),l.jsx("span",{className:"font-mono text-lg font-bold",children:r})]})]}),l.jsxs(Ge,{className:"pt-3 pb-3",children:[l.jsxs("div",{className:"flex items-center gap-4",children:[l.jsx("div",{className:"h-2.5 bg-muted rounded-full overflow-hidden flex-1",children:l.jsx("div",{className:"h-full bg-primary rounded-full transition-all duration-500 ease-out",style:{width:`${d}%`}})}),l.jsxs("span",{className:"text-sm font-bold tabular-nums text-muted-foreground w-12 text-right",children:[d.toFixed(1),"%"]})]}),l.jsx("div",{className:`
60
57
  transition-all duration-300 ease-out overflow-hidden
61
- ${L&&y?"opacity-100 max-h-10 mt-3":"opacity-0 max-h-0 mt-0"}
62
- `,children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs("div",{className:"relative shrink-0",children:[l.jsx(ep,{size:16,className:"text-primary",strokeWidth:2.5}),z&&l.jsx(jl,{size:8,className:"absolute -top-1 -right-1 text-yellow-500 animate-pulse"})]}),l.jsx("p",{className:"font-mono text-sm truncate text-muted-foreground transition-all duration-150 ease-out",style:{opacity:w?1:0,transform:w?"translateY(0)":"translateY(-4px)"},children:y?.replace(/:$/,"")})]})})]})]})}function Ov({onComplete:c}){const{data:r,isLoading:d,error:o}=e0(),{data:h,error:p}=t0(),v=h?.status==="healthy"&&!p,y=v&&r?.claude_cli&&r?.credentials,C=m.useCallback(()=>{y&&c()},[y,c]);return m.useEffect(()=>{C()},[C]),l.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:l.jsx(ke,{className:"w-full max-w-lg",children:l.jsxs(Ge,{className:"p-8",children:[l.jsx("h1",{className:"font-display text-3xl font-bold text-center mb-2",children:"Setup Wizard"}),l.jsx("p",{className:"text-center text-muted-foreground mb-8",children:"Let's make sure everything is ready to go"}),l.jsxs("div",{className:"space-y-4",children:[l.jsx(Ti,{label:"Backend Server",description:"FastAPI server is running",status:p?"error":v?"success":"loading"}),l.jsx(Ti,{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"}),l.jsx(Ti,{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"}),l.jsx(Ti,{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})]}),y&&l.jsx(F,{onClick:c,className:"w-full mt-8 bg-green-500 hover:bg-green-600 text-white",children:"Continue to Dashboard"}),(p||o)&&l.jsxs(jt,{variant:"destructive",className:"mt-6",children:[l.jsx(S0,{children:"Setup Error"}),l.jsx(St,{children:p?"Cannot connect to the backend server. Make sure to run start_ui.py first.":"Failed to check setup status."})]})]})})})}function Ti({label:c,description:r,status:d,helpLink:o,helpText:h,optional:p}){return l.jsxs("div",{className:"flex items-start gap-4 p-4 bg-background border-2 border-border rounded-lg",children:[l.jsx("div",{className:"flex-shrink-0 mt-1",children:d==="success"?l.jsx(ta,{size:24,className:"text-green-500"}):d==="error"?l.jsx(jm,{size:24,className:"text-destructive"}):d==="warning"?l.jsx(jm,{size:24,className:"text-yellow-500"}):l.jsx(_e,{size:24,className:"animate-spin text-primary"})}),l.jsxs("div",{className:"flex-1",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"font-display font-bold text-foreground",children:c}),p&&l.jsx("span",{className:"text-xs text-muted-foreground",children:"(optional)"})]}),l.jsx("p",{className:"text-sm text-muted-foreground",children:r}),(d==="error"||d==="warning")&&o&&l.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:[h," ",l.jsx(du,{size:12})]})]})]})}function Rv({projectName:c,onClose:r}){const d=m.useId(),[o,h]=m.useState(""),[p,v]=m.useState(""),[y,C]=m.useState(""),[w,E]=m.useState(""),[_,L]=m.useState([{id:`${d}-step-0`,value:""}]),[z,q]=m.useState(null),[U,R]=m.useState(1),A=Zy(c),S=()=>{L([..._,{id:`${d}-step-${U}`,value:""}]),R(U+1)},j=X=>{L(_.filter(ee=>ee.id!==X))},K=(X,ee)=>{L(_.map(Q=>Q.id===X?{...Q,value:ee}:Q))},J=async X=>{X.preventDefault(),q(null);const ee=_.map(Q=>Q.value.trim()).filter(Q=>Q.length>0);try{await A.mutateAsync({category:o.trim(),name:p.trim(),description:y.trim(),steps:ee,priority:w?parseInt(w,10):void 0}),r()}catch(Q){q(Q instanceof Error?Q.message:"Failed to create feature")}},$=o.trim()&&p.trim()&&y.trim();return l.jsx(aa,{open:!0,onOpenChange:X=>!X&&r(),children:l.jsxs(la,{className:"sm:max-w-2xl",children:[l.jsx(na,{children:l.jsx(sa,{children:"Add Feature"})}),l.jsxs("form",{onSubmit:J,className:"space-y-4",children:[z&&l.jsxs(jt,{variant:"destructive",children:[l.jsx(wa,{className:"h-4 w-4"}),l.jsxs(St,{className:"flex items-center justify-between",children:[l.jsx("span",{children:z}),l.jsx(F,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>q(null),children:l.jsx(tt,{size:14})})]})]}),l.jsxs("div",{className:"flex gap-4",children:[l.jsxs("div",{className:"flex-1 space-y-2",children:[l.jsx(Me,{htmlFor:"category",children:"Category"}),l.jsx(dt,{id:"category",type:"text",value:o,onChange:X=>h(X.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),l.jsxs("div",{className:"w-32 space-y-2",children:[l.jsx(Me,{htmlFor:"priority",children:"Priority"}),l.jsx(dt,{id:"priority",type:"number",value:w,onChange:X=>E(X.target.value),placeholder:"Auto",min:"1"})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{htmlFor:"name",children:"Feature Name"}),l.jsx(dt,{id:"name",type:"text",value:p,onChange:X=>v(X.target.value),placeholder:"e.g., User login form",required:!0})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{htmlFor:"description",children:"Description"}),l.jsx(Li,{id:"description",value:y,onChange:X=>C(X.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{children:"Test Steps (Optional)"}),l.jsx("div",{className:"space-y-2",children:_.map((X,ee)=>l.jsxs("div",{className:"flex gap-2 items-center",children:[l.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:ee+1}),l.jsx(dt,{type:"text",value:X.value,onChange:Q=>K(X.id,Q.target.value),placeholder:"Describe this step...",className:"flex-1"}),_.length>1&&l.jsx(F,{type:"button",variant:"ghost",size:"icon",onClick:()=>j(X.id),children:l.jsx(tl,{size:18})})]},X.id))}),l.jsxs(F,{type:"button",variant:"ghost",size:"sm",onClick:S,children:[l.jsx(Pa,{size:16}),"Add Step"]})]}),l.jsxs(el,{className:"pt-4 border-t",children:[l.jsx(F,{type:"button",variant:"outline",onClick:r,children:"Cancel"}),l.jsx(F,{type:"submit",disabled:!$||A.isPending,children:A.isPending?l.jsx(_e,{size:18,className:"animate-spin"}):l.jsxs(l.Fragment,{children:[l.jsx(Pa,{size:18}),"Create Feature"]})})]})]})]})})}function Uv({feature:c,projectName:r,onClose:d,onSaved:o}){const h=m.useId(),[p,v]=m.useState(c.category),[y,C]=m.useState(c.name),[w,E]=m.useState(c.description),[_,L]=m.useState(String(c.priority)),[z,q]=m.useState(()=>c.steps.length>0?c.steps.map((Z,O)=>({id:`${h}-step-${O}`,value:Z})):[{id:`${h}-step-0`,value:""}]),[U,R]=m.useState(null),[A,S]=m.useState(c.steps.length||1),j=$y(r),K=()=>{q([...z,{id:`${h}-step-${A}`,value:""}]),S(A+1)},J=Z=>{q(z.filter(O=>O.id!==Z))},$=(Z,O)=>{q(z.map(H=>H.id===Z?{...H,value:O}:H))},X=async Z=>{Z.preventDefault(),R(null);const O=z.map(H=>H.value.trim()).filter(H=>H.length>0);try{await j.mutateAsync({featureId:c.id,update:{category:p.trim(),name:y.trim(),description:w.trim(),steps:O,priority:parseInt(_,10)}}),o()}catch(H){R(H instanceof Error?H.message:"Failed to update feature")}},ee=p.trim()&&y.trim()&&w.trim(),Q=z.map(Z=>Z.value.trim()).filter(Z=>Z),ne=p.trim()!==c.category||y.trim()!==c.name||w.trim()!==c.description||parseInt(_,10)!==c.priority||JSON.stringify(Q)!==JSON.stringify(c.steps);return l.jsx(aa,{open:!0,onOpenChange:Z=>!Z&&d(),children:l.jsxs(la,{className:"sm:max-w-2xl",children:[l.jsx(na,{children:l.jsx(sa,{children:"Edit Feature"})}),l.jsxs("form",{onSubmit:X,className:"space-y-4",children:[U&&l.jsxs(jt,{variant:"destructive",children:[l.jsx(wa,{className:"h-4 w-4"}),l.jsxs(St,{className:"flex items-center justify-between",children:[l.jsx("span",{children:U}),l.jsx(F,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>R(null),children:l.jsx(tt,{size:14})})]})]}),l.jsxs("div",{className:"flex gap-4",children:[l.jsxs("div",{className:"flex-1 space-y-2",children:[l.jsx(Me,{htmlFor:"category",children:"Category"}),l.jsx(dt,{id:"category",type:"text",value:p,onChange:Z=>v(Z.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),l.jsxs("div",{className:"w-32 space-y-2",children:[l.jsx(Me,{htmlFor:"priority",children:"Priority"}),l.jsx(dt,{id:"priority",type:"number",value:_,onChange:Z=>L(Z.target.value),min:"1",required:!0})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{htmlFor:"name",children:"Feature Name"}),l.jsx(dt,{id:"name",type:"text",value:y,onChange:Z=>C(Z.target.value),placeholder:"e.g., User login form",required:!0})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{htmlFor:"description",children:"Description"}),l.jsx(Li,{id:"description",value:w,onChange:Z=>E(Z.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{children:"Test Steps"}),l.jsx("div",{className:"space-y-2",children:z.map((Z,O)=>l.jsxs("div",{className:"flex gap-2 items-center",children:[l.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:O+1}),l.jsx(dt,{type:"text",value:Z.value,onChange:H=>$(Z.id,H.target.value),placeholder:"Describe this step...",className:"flex-1"}),z.length>1&&l.jsx(F,{type:"button",variant:"ghost",size:"icon",onClick:()=>J(Z.id),children:l.jsx(tl,{size:18})})]},Z.id))}),l.jsxs(F,{type:"button",variant:"ghost",size:"sm",onClick:K,children:[l.jsx(Pa,{size:16}),"Add Step"]})]}),l.jsxs(el,{className:"pt-4 border-t",children:[l.jsx(F,{type:"button",variant:"outline",onClick:d,children:"Cancel"}),l.jsx(F,{type:"submit",disabled:!ee||!ne||j.isPending,children:j.isPending?l.jsx(_e,{size:18,className:"animate-spin"}):l.jsxs(l.Fragment,{children:[l.jsx(tp,{size:18}),"Save Changes"]})})]})]})]})})}function Bv(c){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<c.length;o++)d=c.charCodeAt(o)+((d<<5)-d);return r[Math.abs(d)%r.length]}function qv({feature:c,projectName:r,onClose:d}){const[o,h]=m.useState(null),[p,v]=m.useState(!1),[y,C]=m.useState(!1),w=Jy(r),E=Fy(r),{data:_}=uh(r),L=new Map;_&&[..._.pending,..._.in_progress,..._.done].forEach(A=>{L.set(A.id,A)});const z=(c.dependencies||[]).map(A=>L.get(A)).filter(A=>A!==void 0),q=(c.blocking_dependencies||[]).map(A=>L.get(A)).filter(A=>A!==void 0),U=async()=>{h(null);try{await w.mutateAsync(c.id),d()}catch(A){h(A instanceof Error?A.message:"Failed to skip feature")}},R=async()=>{h(null);try{await E.mutateAsync(c.id),d()}catch(A){h(A instanceof Error?A.message:"Failed to delete feature")}};return y?l.jsx(Uv,{feature:c,projectName:r,onClose:()=>C(!1),onSaved:d}):l.jsx(aa,{open:!0,onOpenChange:A=>!A&&d(),children:l.jsxs(la,{className:"sm:max-w-2xl p-0 gap-0",children:[l.jsxs(na,{className:"p-6 pb-4",children:[l.jsx("div",{className:"flex items-start gap-3",children:l.jsx(Oe,{className:`${Bv(c.category)} text-white`,children:c.category})}),l.jsx(sa,{className:"text-xl mt-2",children:c.name})]}),l.jsx(ru,{}),l.jsxs("div",{className:"p-6 space-y-6 max-h-[60vh] overflow-y-auto",children:[o&&l.jsxs(jt,{variant:"destructive",children:[l.jsx(wa,{className:"h-4 w-4"}),l.jsxs(St,{className:"flex items-center justify-between",children:[l.jsx("span",{children:o}),l.jsx(F,{variant:"ghost",size:"icon-xs",onClick:()=>h(null),children:l.jsx(tt,{size:14})})]})]}),l.jsxs("div",{className:"flex items-center gap-3 p-4 bg-muted rounded-lg",children:[c.passes?l.jsxs(l.Fragment,{children:[l.jsx(ta,{size:24,className:"text-primary"}),l.jsx("span",{className:"font-semibold text-primary",children:"COMPLETE"})]}):l.jsxs(l.Fragment,{children:[l.jsx(rn,{size:24,className:"text-muted-foreground"}),l.jsx("span",{className:"font-semibold text-muted-foreground",children:"PENDING"})]}),l.jsxs("span",{className:"ml-auto font-mono text-sm text-muted-foreground",children:["Priority: #",c.priority]})]}),l.jsxs("div",{children:[l.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Description"}),l.jsx("p",{className:"text-foreground",children:c.description})]}),q.length>0&&l.jsxs(jt,{variant:"destructive",className:"border-orange-500 bg-orange-50 dark:bg-orange-950/20",children:[l.jsx(Aa,{className:"h-4 w-4 text-orange-600"}),l.jsxs(St,{children:[l.jsx("h4",{className:"font-semibold mb-1 text-orange-700 dark:text-orange-400",children:"Blocked By"}),l.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:"}),l.jsx("ul",{className:"space-y-1",children:q.map(A=>l.jsxs("li",{className:"flex items-center gap-2 text-sm text-orange-600 dark:text-orange-300",children:[l.jsx(rn,{size:14}),l.jsxs("span",{className:"font-mono text-xs",children:["#",A.id]}),l.jsx("span",{children:A.name})]},A.id))})]})]}),z.length>0&&l.jsxs("div",{children:[l.jsxs("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground flex items-center gap-2",children:[l.jsx(ap,{size:16}),"Depends On"]}),l.jsx("ul",{className:"space-y-1",children:z.map(A=>l.jsxs("li",{className:"flex items-center gap-2 p-2 bg-muted rounded-md text-sm",children:[A.passes?l.jsx(ta,{size:16,className:"text-primary"}):l.jsx(rn,{size:16,className:"text-muted-foreground"}),l.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:["#",A.id]}),l.jsx("span",{className:A.passes?"text-primary":"",children:A.name})]},A.id))})]}),c.steps.length>0&&l.jsxs("div",{children:[l.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Test Steps"}),l.jsx("ol",{className:"list-decimal list-inside space-y-2",children:c.steps.map((A,S)=>l.jsx("li",{className:"p-3 bg-muted rounded-md text-sm",children:A},S))})]})]}),!c.passes&&l.jsxs(l.Fragment,{children:[l.jsx(ru,{}),l.jsx(el,{className:"p-4 bg-muted/50",children:p?l.jsxs("div",{className:"w-full space-y-4",children:[l.jsx("p",{className:"font-medium text-center",children:"Are you sure you want to delete this feature?"}),l.jsxs("div",{className:"flex gap-3",children:[l.jsx(F,{variant:"destructive",onClick:R,disabled:E.isPending,className:"flex-1",children:E.isPending?l.jsx(_e,{size:18,className:"animate-spin"}):"Yes, Delete"}),l.jsx(F,{variant:"outline",onClick:()=>v(!1),disabled:E.isPending,className:"flex-1",children:"Cancel"})]})]}):l.jsxs("div",{className:"flex gap-3 w-full",children:[l.jsxs(F,{onClick:()=>C(!0),disabled:w.isPending,className:"flex-1",children:[l.jsx(lp,{size:18}),"Edit"]}),l.jsx(F,{variant:"secondary",onClick:U,disabled:w.isPending,className:"flex-1",children:w.isPending?l.jsx(_e,{size:18,className:"animate-spin"}):l.jsxs(l.Fragment,{children:[l.jsx(np,{size:18}),"Skip"]})}),l.jsx(F,{variant:"destructive",size:"icon",onClick:()=>v(!0),disabled:w.isPending,children:l.jsx(tl,{size:18})})]})})]})]})})}const Hv={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"},Hm=1e3,Lm=3e4;function Lv({projectName:c,terminalId:r,isActive:d}){const o=m.useRef(null),h=m.useRef(null),p=m.useRef(null),v=m.useRef(null),y=m.useRef(null),C=m.useRef(0),w=m.useRef(!1),E=m.useRef(!1),_=m.useRef(!1),L=m.useRef(!1),z=m.useRef(null),q=m.useRef(null),U=m.useRef(null),R=m.useRef(d),[A,S]=m.useState(!1),[j,K]=m.useState(!1),[J,$]=m.useState(null);m.useEffect(()=>{_.current=j},[j]),m.useEffect(()=>{R.current=d},[d]);const X=m.useCallback(W=>{const g=new TextEncoder().encode(W);let T="";for(let I=0;I<g.length;I++)T+=String.fromCharCode(g[I]);return btoa(T)},[]),ee=m.useCallback(W=>{try{const ae=atob(W),g=new Uint8Array(ae.length);for(let I=0;I<ae.length;I++)g[I]=ae.charCodeAt(I);return new TextDecoder().decode(g)}catch{return console.error("Failed to decode base64 data"),""}},[]),Q=m.useCallback(W=>{v.current?.readyState===WebSocket.OPEN&&v.current.send(JSON.stringify(W))},[]),ne=m.useCallback((W,ae)=>{Q({type:"resize",cols:W,rows:ae})},[Q]),Z=m.useCallback(()=>{if(p.current&&h.current)try{const W=p.current.proposeDimensions();W&&W.cols&&W.rows&&!isNaN(W.cols)&&!isNaN(W.rows)&&W.cols>=1&&W.rows>=1&&p.current.fit();const{cols:g,rows:T}=h.current;g>0&&T>0&&ne(g,T)}catch{}},[ne]),O=m.useCallback(()=>{if(!c||!r||!R.current||E.current||v.current?.readyState===WebSocket.CONNECTING||v.current?.readyState===WebSocket.OPEN)return;E.current=!0,y.current&&(clearTimeout(y.current),y.current=null);const W=window.location.protocol==="https:"?"wss:":"ws:",ae=window.location.host,g=`${W}//${ae}/api/terminal/ws/${encodeURIComponent(c)}/${encodeURIComponent(r)}`;try{const T=new WebSocket(g);v.current=T,T.onopen=()=>{if(E.current=!1,S(!0),K(!1),$(null),C.current=0,h.current){const{cols:I,rows:P}=h.current;ne(I,P)}},T.onmessage=I=>{try{const P=JSON.parse(I.data);switch(P.type){case"output":{const fe=ee(P.data);fe&&h.current&&h.current.write(fe);break}case"exit":{K(!0),$(P.code),h.current&&(h.current.writeln(""),h.current.writeln(`\x1B[33m[Shell exited with code ${P.code}]\x1B[0m`),h.current.writeln("\x1B[90mPress any key to reconnect...\x1B[0m"));break}}}catch{console.error("Failed to parse terminal WebSocket message")}},T.onclose=()=>{E.current=!1,S(!1),v.current=null;const I=R.current&&!_.current&&!L.current;if(L.current=!1,I){const P=Math.min(Hm*Math.pow(2,C.current),Lm);C.current++,y.current=window.setTimeout(()=>{O()},P)}},T.onerror=()=>{T.close()}}catch{E.current=!1;const T=Math.min(Hm*Math.pow(2,C.current),Lm);C.current++,y.current=window.setTimeout(()=>{O()},T)}},[c,r,ne,ee]);m.useEffect(()=>{z.current=O},[O]);const H=m.useCallback(()=>{if(!o.current||w.current)return;const W=new Ip({theme:Hv,fontFamily:"JetBrains Mono, Consolas, Monaco, monospace",fontSize:14,cursorBlink:!0,cursorStyle:"block",allowProposedApi:!0,scrollback:1e4}),ae=new Pp;W.loadAddon(ae),W.open(o.current),h.current=W,p.current=ae,w.current=!0,W.onData(g=>{if(_.current){K(!1),$(null),z.current?.();return}const T={type:"input",data:X(g)};Q(T)}),W.onResize(({cols:g,rows:T})=>{ne(g,T)})},[X,Q,ne]);return m.useEffect(()=>{if(!d)return;const W=()=>{Z()};return window.addEventListener("resize",W),()=>{window.removeEventListener("resize",W)}},[d,Z]),m.useEffect(()=>{if(!d){y.current&&(clearTimeout(y.current),y.current=null);return}w.current||H();let W,ae;const g=()=>{W=requestAnimationFrame(()=>{ae=requestAnimationFrame(()=>{(!v.current||v.current.readyState!==WebSocket.OPEN)&&z.current?.()})})},T=window.setTimeout(g,50);return()=>{clearTimeout(T),cancelAnimationFrame(W),cancelAnimationFrame(ae)}},[d,H]),m.useEffect(()=>{if(d&&h.current){let W,ae;const g=()=>{W=requestAnimationFrame(()=>{ae=requestAnimationFrame(()=>{h.current&&p.current&&(Z(),h.current.refresh(0,h.current.rows-1),h.current.focus())})})},T=window.setTimeout(g,16);return()=>{clearTimeout(T),cancelAnimationFrame(W),cancelAnimationFrame(ae)}}},[d,Z]),m.useEffect(()=>()=>{y.current&&clearTimeout(y.current),v.current&&v.current.close(),h.current&&h.current.dispose(),w.current=!1},[]),m.useEffect(()=>{if(d&&w.current){if(q.current===null&&U.current===null){q.current=c,U.current=r;return}if(q.current===c&&U.current===r)return;q.current=c,U.current=r,h.current&&(h.current.clear(),h.current.write("\x1B[H")),L.current=!0,v.current&&(v.current.close(),v.current=null),E.current=!1,K(!1),$(null),C.current=0,z.current?.()}},[c,r,d]),l.jsxs("div",{className:"relative h-full w-full bg-zinc-950",children:[l.jsxs("div",{className:"absolute top-2 right-2 z-10 flex items-center gap-2",children:[l.jsx("div",{className:`w-2 h-2 rounded-full ${A?"bg-green-500":"bg-destructive"}`,title:A?"Connected":"Disconnected"}),!A&&!j&&l.jsx("span",{className:"text-xs font-mono text-muted-foreground",children:"Connecting..."}),j&&J!==null&&l.jsxs("span",{className:"text-xs font-mono text-yellow-500",children:["Exit: ",J]})]}),l.jsx("div",{ref:o,className:"h-full w-full p-2",style:{minHeight:"100px"},onClick:()=>{h.current?.focus()}})]})}function Gv({terminals:c,activeTerminalId:r,onSelect:d,onCreate:o,onRename:h,onClose:p}){const[v,y]=m.useState(null),[C,w]=m.useState(""),[E,_]=m.useState({visible:!1,x:0,y:0,terminalId:null}),L=m.useRef(null),z=m.useRef(null);m.useEffect(()=>{v&&L.current&&(L.current.focus(),L.current.select())},[v]),m.useEffect(()=>{const X=ee=>{z.current&&!z.current.contains(ee.target)&&_(Q=>({...Q,visible:!1}))};if(E.visible)return document.addEventListener("mousedown",X),()=>document.removeEventListener("mousedown",X)},[E.visible]);const q=m.useCallback(X=>{y(X.id),w(X.name),_(ee=>({...ee,visible:!1}))},[]),U=m.useCallback(()=>{v&&C.trim()&&h(v,C.trim()),y(null),w("")},[v,C,h]),R=m.useCallback(()=>{y(null),w("")},[]),A=m.useCallback(X=>{us(X,!1)?(X.preventDefault(),U()):X.key==="Escape"&&(X.preventDefault(),R())},[U,R]),S=m.useCallback(X=>{q(X)},[q]),j=m.useCallback((X,ee)=>{X.preventDefault(),_({visible:!0,x:X.clientX,y:X.clientY,terminalId:ee})},[]),K=m.useCallback(()=>{if(E.terminalId){const X=c.find(ee=>ee.id===E.terminalId);X&&q(X)}},[E.terminalId,c,q]),J=m.useCallback(()=>{E.terminalId&&p(E.terminalId),_(X=>({...X,visible:!1}))},[E.terminalId,p]),$=m.useCallback((X,ee)=>{X.stopPropagation(),p(ee)},[p]);return l.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-zinc-900 border-b border-border overflow-x-auto",children:[c.map(X=>l.jsxs("div",{className:`
58
+ ${G&&y?"opacity-100 max-h-10 mt-3":"opacity-0 max-h-0 mt-0"}
59
+ `,children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs("div",{className:"relative shrink-0",children:[l.jsx(Pg,{size:16,className:"text-primary",strokeWidth:2.5}),A&&l.jsx(jl,{size:8,className:"absolute -top-1 -right-1 text-yellow-500 animate-pulse"})]}),l.jsx("p",{className:"font-mono text-sm truncate text-muted-foreground transition-all duration-150 ease-out",style:{opacity:z?1:0,transform:z?"translateY(0)":"translateY(-4px)"},children:y?.replace(/:$/,"")})]})})]})]})}function Bv({onComplete:c}){const{data:r,isLoading:d,error:o}=t0(),{data:h,error:p}=a0(),v=h?.status==="healthy"&&!p,y=v&&r?.claude_cli&&r?.credentials,C=m.useCallback(()=>{y&&c()},[y,c]);return m.useEffect(()=>{C()},[C]),l.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:l.jsx(ke,{className:"w-full max-w-lg",children:l.jsxs(Ge,{className:"p-8",children:[l.jsx("h1",{className:"font-display text-3xl font-bold text-center mb-2",children:"Setup Wizard"}),l.jsx("p",{className:"text-center text-muted-foreground mb-8",children:"Let's make sure everything is ready to go"}),l.jsxs("div",{className:"space-y-4",children:[l.jsx(Ti,{label:"Backend Server",description:"FastAPI server is running",status:p?"error":v?"success":"loading"}),l.jsx(Ti,{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"}),l.jsx(Ti,{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"}),l.jsx(Ti,{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})]}),y&&l.jsx(F,{onClick:c,className:"w-full mt-8 bg-green-500 hover:bg-green-600 text-white",children:"Continue to Dashboard"}),(p||o)&&l.jsxs(jt,{variant:"destructive",className:"mt-6",children:[l.jsx(z0,{children:"Setup Error"}),l.jsx(St,{children:p?"Cannot connect to the backend server. Make sure to run start_ui.py first.":"Failed to check setup status."})]})]})})})}function Ti({label:c,description:r,status:d,helpLink:o,helpText:h,optional:p}){return l.jsxs("div",{className:"flex items-start gap-4 p-4 bg-background border-2 border-border rounded-lg",children:[l.jsx("div",{className:"flex-shrink-0 mt-1",children:d==="success"?l.jsx(ta,{size:24,className:"text-green-500"}):d==="error"?l.jsx(jm,{size:24,className:"text-destructive"}):d==="warning"?l.jsx(jm,{size:24,className:"text-yellow-500"}):l.jsx(_e,{size:24,className:"animate-spin text-primary"})}),l.jsxs("div",{className:"flex-1",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"font-display font-bold text-foreground",children:c}),p&&l.jsx("span",{className:"text-xs text-muted-foreground",children:"(optional)"})]}),l.jsx("p",{className:"text-sm text-muted-foreground",children:r}),(d==="error"||d==="warning")&&o&&l.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:[h," ",l.jsx(du,{size:12})]})]})]})}function qv({projectName:c,onClose:r}){const d=m.useId(),[o,h]=m.useState(""),[p,v]=m.useState(""),[y,C]=m.useState(""),[z,E]=m.useState(""),[k,G]=m.useState([{id:`${d}-step-0`,value:""}]),[A,H]=m.useState(null),[B,R]=m.useState(1),w=Fy(c),S=()=>{G([...k,{id:`${d}-step-${B}`,value:""}]),R(B+1)},j=X=>{G(k.filter(ee=>ee.id!==X))},K=(X,ee)=>{G(k.map(Q=>Q.id===X?{...Q,value:ee}:Q))},J=async X=>{X.preventDefault(),H(null);const ee=k.map(Q=>Q.value.trim()).filter(Q=>Q.length>0);try{await w.mutateAsync({category:o.trim(),name:p.trim(),description:y.trim(),steps:ee,priority:z?parseInt(z,10):void 0}),r()}catch(Q){H(Q instanceof Error?Q.message:"Failed to create feature")}},$=o.trim()&&p.trim()&&y.trim();return l.jsx(aa,{open:!0,onOpenChange:X=>!X&&r(),children:l.jsxs(la,{className:"sm:max-w-2xl",children:[l.jsx(na,{children:l.jsx(sa,{children:"Add Feature"})}),l.jsxs("form",{onSubmit:J,className:"space-y-4",children:[A&&l.jsxs(jt,{variant:"destructive",children:[l.jsx(wa,{className:"h-4 w-4"}),l.jsxs(St,{className:"flex items-center justify-between",children:[l.jsx("span",{children:A}),l.jsx(F,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>H(null),children:l.jsx(tt,{size:14})})]})]}),l.jsxs("div",{className:"flex gap-4",children:[l.jsxs("div",{className:"flex-1 space-y-2",children:[l.jsx(Me,{htmlFor:"category",children:"Category"}),l.jsx(dt,{id:"category",type:"text",value:o,onChange:X=>h(X.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),l.jsxs("div",{className:"w-32 space-y-2",children:[l.jsx(Me,{htmlFor:"priority",children:"Priority"}),l.jsx(dt,{id:"priority",type:"number",value:z,onChange:X=>E(X.target.value),placeholder:"Auto",min:"1"})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{htmlFor:"name",children:"Feature Name"}),l.jsx(dt,{id:"name",type:"text",value:p,onChange:X=>v(X.target.value),placeholder:"e.g., User login form",required:!0})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{htmlFor:"description",children:"Description"}),l.jsx(Li,{id:"description",value:y,onChange:X=>C(X.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{children:"Test Steps (Optional)"}),l.jsx("div",{className:"space-y-2",children:k.map((X,ee)=>l.jsxs("div",{className:"flex gap-2 items-center",children:[l.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:ee+1}),l.jsx(dt,{type:"text",value:X.value,onChange:Q=>K(X.id,Q.target.value),placeholder:"Describe this step...",className:"flex-1"}),k.length>1&&l.jsx(F,{type:"button",variant:"ghost",size:"icon",onClick:()=>j(X.id),children:l.jsx(tl,{size:18})})]},X.id))}),l.jsxs(F,{type:"button",variant:"ghost",size:"sm",onClick:S,children:[l.jsx(Pa,{size:16}),"Add Step"]})]}),l.jsxs(el,{className:"pt-4 border-t",children:[l.jsx(F,{type:"button",variant:"outline",onClick:r,children:"Cancel"}),l.jsx(F,{type:"submit",disabled:!$||w.isPending,children:w.isPending?l.jsx(_e,{size:18,className:"animate-spin"}):l.jsxs(l.Fragment,{children:[l.jsx(Pa,{size:18}),"Create Feature"]})})]})]})]})})}function Hv({feature:c,projectName:r,onClose:d,onSaved:o}){const h=m.useId(),[p,v]=m.useState(c.category),[y,C]=m.useState(c.name),[z,E]=m.useState(c.description),[k,G]=m.useState(String(c.priority)),[A,H]=m.useState(()=>c.steps.length>0?c.steps.map((Z,O)=>({id:`${h}-step-${O}`,value:Z})):[{id:`${h}-step-0`,value:""}]),[B,R]=m.useState(null),[w,S]=m.useState(c.steps.length||1),j=Wy(r),K=()=>{H([...A,{id:`${h}-step-${w}`,value:""}]),S(w+1)},J=Z=>{H(A.filter(O=>O.id!==Z))},$=(Z,O)=>{H(A.map(q=>q.id===Z?{...q,value:O}:q))},X=async Z=>{Z.preventDefault(),R(null);const O=A.map(q=>q.value.trim()).filter(q=>q.length>0);try{await j.mutateAsync({featureId:c.id,update:{category:p.trim(),name:y.trim(),description:z.trim(),steps:O,priority:parseInt(k,10)}}),o()}catch(q){R(q instanceof Error?q.message:"Failed to update feature")}},ee=p.trim()&&y.trim()&&z.trim(),Q=A.map(Z=>Z.value.trim()).filter(Z=>Z),ne=p.trim()!==c.category||y.trim()!==c.name||z.trim()!==c.description||parseInt(k,10)!==c.priority||JSON.stringify(Q)!==JSON.stringify(c.steps);return l.jsx(aa,{open:!0,onOpenChange:Z=>!Z&&d(),children:l.jsxs(la,{className:"sm:max-w-2xl",children:[l.jsx(na,{children:l.jsx(sa,{children:"Edit Feature"})}),l.jsxs("form",{onSubmit:X,className:"space-y-4",children:[B&&l.jsxs(jt,{variant:"destructive",children:[l.jsx(wa,{className:"h-4 w-4"}),l.jsxs(St,{className:"flex items-center justify-between",children:[l.jsx("span",{children:B}),l.jsx(F,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>R(null),children:l.jsx(tt,{size:14})})]})]}),l.jsxs("div",{className:"flex gap-4",children:[l.jsxs("div",{className:"flex-1 space-y-2",children:[l.jsx(Me,{htmlFor:"category",children:"Category"}),l.jsx(dt,{id:"category",type:"text",value:p,onChange:Z=>v(Z.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),l.jsxs("div",{className:"w-32 space-y-2",children:[l.jsx(Me,{htmlFor:"priority",children:"Priority"}),l.jsx(dt,{id:"priority",type:"number",value:k,onChange:Z=>G(Z.target.value),min:"1",required:!0})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{htmlFor:"name",children:"Feature Name"}),l.jsx(dt,{id:"name",type:"text",value:y,onChange:Z=>C(Z.target.value),placeholder:"e.g., User login form",required:!0})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{htmlFor:"description",children:"Description"}),l.jsx(Li,{id:"description",value:z,onChange:Z=>E(Z.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{children:"Test Steps"}),l.jsx("div",{className:"space-y-2",children:A.map((Z,O)=>l.jsxs("div",{className:"flex gap-2 items-center",children:[l.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:O+1}),l.jsx(dt,{type:"text",value:Z.value,onChange:q=>$(Z.id,q.target.value),placeholder:"Describe this step...",className:"flex-1"}),A.length>1&&l.jsx(F,{type:"button",variant:"ghost",size:"icon",onClick:()=>J(Z.id),children:l.jsx(tl,{size:18})})]},Z.id))}),l.jsxs(F,{type:"button",variant:"ghost",size:"sm",onClick:K,children:[l.jsx(Pa,{size:16}),"Add Step"]})]}),l.jsxs(el,{className:"pt-4 border-t",children:[l.jsx(F,{type:"button",variant:"outline",onClick:d,children:"Cancel"}),l.jsx(F,{type:"submit",disabled:!ee||!ne||j.isPending,children:j.isPending?l.jsx(_e,{size:18,className:"animate-spin"}):l.jsxs(l.Fragment,{children:[l.jsx(ep,{size:18}),"Save Changes"]})})]})]})]})})}function Lv(c){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<c.length;o++)d=c.charCodeAt(o)+((d<<5)-d);return r[Math.abs(d)%r.length]}function Gv({feature:c,projectName:r,onClose:d}){const[o,h]=m.useState(null),[p,v]=m.useState(!1),[y,C]=m.useState(!1),z=$y(r),E=Jy(r),{data:k}=rh(r),G=new Map;k&&[...k.pending,...k.in_progress,...k.done].forEach(w=>{G.set(w.id,w)});const A=(c.dependencies||[]).map(w=>G.get(w)).filter(w=>w!==void 0),H=(c.blocking_dependencies||[]).map(w=>G.get(w)).filter(w=>w!==void 0),B=async()=>{h(null);try{await z.mutateAsync(c.id),d()}catch(w){h(w instanceof Error?w.message:"Failed to skip feature")}},R=async()=>{h(null);try{await E.mutateAsync(c.id),d()}catch(w){h(w instanceof Error?w.message:"Failed to delete feature")}};return y?l.jsx(Hv,{feature:c,projectName:r,onClose:()=>C(!1),onSaved:d}):l.jsx(aa,{open:!0,onOpenChange:w=>!w&&d(),children:l.jsxs(la,{className:"sm:max-w-2xl p-0 gap-0",children:[l.jsxs(na,{className:"p-6 pb-4",children:[l.jsx("div",{className:"flex items-start gap-3",children:l.jsx(Oe,{className:`${Lv(c.category)} text-white`,children:c.category})}),l.jsx(sa,{className:"text-xl mt-2",children:c.name})]}),l.jsx(ru,{}),l.jsxs("div",{className:"p-6 space-y-6 max-h-[60vh] overflow-y-auto",children:[o&&l.jsxs(jt,{variant:"destructive",children:[l.jsx(wa,{className:"h-4 w-4"}),l.jsxs(St,{className:"flex items-center justify-between",children:[l.jsx("span",{children:o}),l.jsx(F,{variant:"ghost",size:"icon-xs",onClick:()=>h(null),children:l.jsx(tt,{size:14})})]})]}),l.jsxs("div",{className:"flex items-center gap-3 p-4 bg-muted rounded-lg",children:[c.passes?l.jsxs(l.Fragment,{children:[l.jsx(ta,{size:24,className:"text-primary"}),l.jsx("span",{className:"font-semibold text-primary",children:"COMPLETE"})]}):l.jsxs(l.Fragment,{children:[l.jsx(rn,{size:24,className:"text-muted-foreground"}),l.jsx("span",{className:"font-semibold text-muted-foreground",children:"PENDING"})]}),l.jsxs("span",{className:"ml-auto font-mono text-sm text-muted-foreground",children:["Priority: #",c.priority]})]}),l.jsxs("div",{children:[l.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Description"}),l.jsx("p",{className:"text-foreground",children:c.description})]}),H.length>0&&l.jsxs(jt,{variant:"destructive",className:"border-orange-500 bg-orange-50 dark:bg-orange-950/20",children:[l.jsx(Aa,{className:"h-4 w-4 text-orange-600"}),l.jsxs(St,{children:[l.jsx("h4",{className:"font-semibold mb-1 text-orange-700 dark:text-orange-400",children:"Blocked By"}),l.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:"}),l.jsx("ul",{className:"space-y-1",children:H.map(w=>l.jsxs("li",{className:"flex items-center gap-2 text-sm text-orange-600 dark:text-orange-300",children:[l.jsx(rn,{size:14}),l.jsxs("span",{className:"font-mono text-xs",children:["#",w.id]}),l.jsx("span",{children:w.name})]},w.id))})]})]}),A.length>0&&l.jsxs("div",{children:[l.jsxs("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground flex items-center gap-2",children:[l.jsx(tp,{size:16}),"Depends On"]}),l.jsx("ul",{className:"space-y-1",children:A.map(w=>l.jsxs("li",{className:"flex items-center gap-2 p-2 bg-muted rounded-md text-sm",children:[w.passes?l.jsx(ta,{size:16,className:"text-primary"}):l.jsx(rn,{size:16,className:"text-muted-foreground"}),l.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:["#",w.id]}),l.jsx("span",{className:w.passes?"text-primary":"",children:w.name})]},w.id))})]}),c.steps.length>0&&l.jsxs("div",{children:[l.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Test Steps"}),l.jsx("ol",{className:"list-decimal list-inside space-y-2",children:c.steps.map((w,S)=>l.jsx("li",{className:"p-3 bg-muted rounded-md text-sm",children:w},S))})]})]}),!c.passes&&l.jsxs(l.Fragment,{children:[l.jsx(ru,{}),l.jsx(el,{className:"p-4 bg-muted/50",children:p?l.jsxs("div",{className:"w-full space-y-4",children:[l.jsx("p",{className:"font-medium text-center",children:"Are you sure you want to delete this feature?"}),l.jsxs("div",{className:"flex gap-3",children:[l.jsx(F,{variant:"destructive",onClick:R,disabled:E.isPending,className:"flex-1",children:E.isPending?l.jsx(_e,{size:18,className:"animate-spin"}):"Yes, Delete"}),l.jsx(F,{variant:"outline",onClick:()=>v(!1),disabled:E.isPending,className:"flex-1",children:"Cancel"})]})]}):l.jsxs("div",{className:"flex gap-3 w-full",children:[l.jsxs(F,{onClick:()=>C(!0),disabled:z.isPending,className:"flex-1",children:[l.jsx(ap,{size:18}),"Edit"]}),l.jsx(F,{variant:"secondary",onClick:B,disabled:z.isPending,className:"flex-1",children:z.isPending?l.jsx(_e,{size:18,className:"animate-spin"}):l.jsxs(l.Fragment,{children:[l.jsx(lp,{size:18}),"Skip"]})}),l.jsx(F,{variant:"destructive",size:"icon",onClick:()=>v(!0),disabled:z.isPending,children:l.jsx(tl,{size:18})})]})})]})]})})}const Qv={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"},qm=1e3,Hm=3e4;function Yv({projectName:c,terminalId:r,isActive:d}){const o=m.useRef(null),h=m.useRef(null),p=m.useRef(null),v=m.useRef(null),y=m.useRef(null),C=m.useRef(0),z=m.useRef(!1),E=m.useRef(!1),k=m.useRef(!1),G=m.useRef(!1),A=m.useRef(null),H=m.useRef(null),B=m.useRef(null),R=m.useRef(d),[w,S]=m.useState(!1),[j,K]=m.useState(!1),[J,$]=m.useState(null);m.useEffect(()=>{k.current=j},[j]),m.useEffect(()=>{R.current=d},[d]);const X=m.useCallback(W=>{const g=new TextEncoder().encode(W);let T="";for(let I=0;I<g.length;I++)T+=String.fromCharCode(g[I]);return btoa(T)},[]),ee=m.useCallback(W=>{try{const ae=atob(W),g=new Uint8Array(ae.length);for(let I=0;I<ae.length;I++)g[I]=ae.charCodeAt(I);return new TextDecoder().decode(g)}catch{return console.error("Failed to decode base64 data"),""}},[]),Q=m.useCallback(W=>{v.current?.readyState===WebSocket.OPEN&&v.current.send(JSON.stringify(W))},[]),ne=m.useCallback((W,ae)=>{Q({type:"resize",cols:W,rows:ae})},[Q]),Z=m.useCallback(()=>{if(p.current&&h.current)try{const W=p.current.proposeDimensions();W&&W.cols&&W.rows&&!isNaN(W.cols)&&!isNaN(W.rows)&&W.cols>=1&&W.rows>=1&&p.current.fit();const{cols:g,rows:T}=h.current;g>0&&T>0&&ne(g,T)}catch{}},[ne]),O=m.useCallback(()=>{if(!c||!r||!R.current||E.current||v.current?.readyState===WebSocket.CONNECTING||v.current?.readyState===WebSocket.OPEN)return;E.current=!0,y.current&&(clearTimeout(y.current),y.current=null);const W=window.location.protocol==="https:"?"wss:":"ws:",ae=window.location.host,g=`${W}//${ae}/api/terminal/ws/${encodeURIComponent(c)}/${encodeURIComponent(r)}`;try{const T=new WebSocket(g);v.current=T,T.onopen=()=>{if(E.current=!1,S(!0),K(!1),$(null),C.current=0,h.current){const{cols:I,rows:P}=h.current;ne(I,P)}},T.onmessage=I=>{try{const P=JSON.parse(I.data);switch(P.type){case"output":{const fe=ee(P.data);fe&&h.current&&h.current.write(fe);break}case"exit":{K(!0),$(P.code),h.current&&(h.current.writeln(""),h.current.writeln(`\x1B[33m[Shell exited with code ${P.code}]\x1B[0m`),h.current.writeln("\x1B[90mPress any key to reconnect...\x1B[0m"));break}}}catch{console.error("Failed to parse terminal WebSocket message")}},T.onclose=()=>{E.current=!1,S(!1),v.current=null;const I=R.current&&!k.current&&!G.current;if(G.current=!1,I){const P=Math.min(qm*Math.pow(2,C.current),Hm);C.current++,y.current=window.setTimeout(()=>{O()},P)}},T.onerror=()=>{T.close()}}catch{E.current=!1;const T=Math.min(qm*Math.pow(2,C.current),Hm);C.current++,y.current=window.setTimeout(()=>{O()},T)}},[c,r,ne,ee]);m.useEffect(()=>{A.current=O},[O]);const q=m.useCallback(()=>{if(!o.current||z.current)return;const W=new Pp({theme:Qv,fontFamily:"JetBrains Mono, Consolas, Monaco, monospace",fontSize:14,cursorBlink:!0,cursorStyle:"block",allowProposedApi:!0,scrollback:1e4}),ae=new ey;W.loadAddon(ae),W.open(o.current),h.current=W,p.current=ae,z.current=!0,W.onData(g=>{if(k.current){K(!1),$(null),A.current?.();return}const T={type:"input",data:X(g)};Q(T)}),W.onResize(({cols:g,rows:T})=>{ne(g,T)})},[X,Q,ne]);return m.useEffect(()=>{if(!d)return;const W=()=>{Z()};return window.addEventListener("resize",W),()=>{window.removeEventListener("resize",W)}},[d,Z]),m.useEffect(()=>{if(!d){y.current&&(clearTimeout(y.current),y.current=null);return}z.current||q();let W,ae;const g=()=>{W=requestAnimationFrame(()=>{ae=requestAnimationFrame(()=>{(!v.current||v.current.readyState!==WebSocket.OPEN)&&A.current?.()})})},T=window.setTimeout(g,50);return()=>{clearTimeout(T),cancelAnimationFrame(W),cancelAnimationFrame(ae)}},[d,q]),m.useEffect(()=>{if(d&&h.current){let W,ae;const g=()=>{W=requestAnimationFrame(()=>{ae=requestAnimationFrame(()=>{h.current&&p.current&&(Z(),h.current.refresh(0,h.current.rows-1),h.current.focus())})})},T=window.setTimeout(g,16);return()=>{clearTimeout(T),cancelAnimationFrame(W),cancelAnimationFrame(ae)}}},[d,Z]),m.useEffect(()=>()=>{y.current&&clearTimeout(y.current),v.current&&v.current.close(),h.current&&h.current.dispose(),z.current=!1},[]),m.useEffect(()=>{if(d&&z.current){if(H.current===null&&B.current===null){H.current=c,B.current=r;return}if(H.current===c&&B.current===r)return;H.current=c,B.current=r,h.current&&(h.current.clear(),h.current.write("\x1B[H")),G.current=!0,v.current&&(v.current.close(),v.current=null),E.current=!1,K(!1),$(null),C.current=0,A.current?.()}},[c,r,d]),l.jsxs("div",{className:"relative h-full w-full bg-zinc-950",children:[l.jsxs("div",{className:"absolute top-2 right-2 z-10 flex items-center gap-2",children:[l.jsx("div",{className:`w-2 h-2 rounded-full ${w?"bg-green-500":"bg-destructive"}`,title:w?"Connected":"Disconnected"}),!w&&!j&&l.jsx("span",{className:"text-xs font-mono text-muted-foreground",children:"Connecting..."}),j&&J!==null&&l.jsxs("span",{className:"text-xs font-mono text-yellow-500",children:["Exit: ",J]})]}),l.jsx("div",{ref:o,className:"h-full w-full p-2",style:{minHeight:"100px"},onClick:()=>{h.current?.focus()}})]})}function Vv({terminals:c,activeTerminalId:r,onSelect:d,onCreate:o,onRename:h,onClose:p}){const[v,y]=m.useState(null),[C,z]=m.useState(""),[E,k]=m.useState({visible:!1,x:0,y:0,terminalId:null}),G=m.useRef(null),A=m.useRef(null);m.useEffect(()=>{v&&G.current&&(G.current.focus(),G.current.select())},[v]),m.useEffect(()=>{const X=ee=>{A.current&&!A.current.contains(ee.target)&&k(Q=>({...Q,visible:!1}))};if(E.visible)return document.addEventListener("mousedown",X),()=>document.removeEventListener("mousedown",X)},[E.visible]);const H=m.useCallback(X=>{y(X.id),z(X.name),k(ee=>({...ee,visible:!1}))},[]),B=m.useCallback(()=>{v&&C.trim()&&h(v,C.trim()),y(null),z("")},[v,C,h]),R=m.useCallback(()=>{y(null),z("")},[]),w=m.useCallback(X=>{us(X,!1)?(X.preventDefault(),B()):X.key==="Escape"&&(X.preventDefault(),R())},[B,R]),S=m.useCallback(X=>{H(X)},[H]),j=m.useCallback((X,ee)=>{X.preventDefault(),k({visible:!0,x:X.clientX,y:X.clientY,terminalId:ee})},[]),K=m.useCallback(()=>{if(E.terminalId){const X=c.find(ee=>ee.id===E.terminalId);X&&H(X)}},[E.terminalId,c,H]),J=m.useCallback(()=>{E.terminalId&&p(E.terminalId),k(X=>({...X,visible:!1}))},[E.terminalId,p]),$=m.useCallback((X,ee)=>{X.stopPropagation(),p(ee)},[p]);return l.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-zinc-900 border-b border-border overflow-x-auto",children:[c.map(X=>l.jsxs("div",{className:`
63
60
  group flex items-center gap-1 px-3 py-1 rounded cursor-pointer
64
61
  transition-colors duration-100 select-none min-w-0
65
62
  ${r===X.id?"bg-primary text-primary-foreground":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"}
66
- `,onClick:()=>d(X.id),onDoubleClick:()=>S(X),onContextMenu:ee=>j(ee,X.id),children:[v===X.id?l.jsx(dt,{ref:L,type:"text",value:C,onChange:ee=>w(ee.target.value),onBlur:U,onKeyDown:A,className:"h-6 px-1 py-0 text-sm font-mono w-24",onClick:ee=>ee.stopPropagation()}):l.jsx("span",{className:"text-sm font-mono truncate max-w-[120px]",children:X.name}),c.length>1&&l.jsx("button",{onClick:ee=>$(ee,X.id),className:`
63
+ `,onClick:()=>d(X.id),onDoubleClick:()=>S(X),onContextMenu:ee=>j(ee,X.id),children:[v===X.id?l.jsx(dt,{ref:G,type:"text",value:C,onChange:ee=>z(ee.target.value),onBlur:B,onKeyDown:w,className:"h-6 px-1 py-0 text-sm font-mono w-24",onClick:ee=>ee.stopPropagation()}):l.jsx("span",{className:"text-sm font-mono truncate max-w-[120px]",children:X.name}),c.length>1&&l.jsx("button",{onClick:ee=>$(ee,X.id),className:`
67
64
  p-0.5 rounded opacity-0 group-hover:opacity-100 transition-opacity
68
65
  ${r===X.id?"hover:bg-black/20":"hover:bg-white/20"}
69
- `,title:"Close terminal",children:l.jsx(tt,{className:"w-3 h-3"})})]},X.id)),l.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:l.jsx(Pa,{className:"w-4 h-4"})}),E.visible&&l.jsxs("div",{ref:z,className:"fixed z-50 bg-popover border border-border rounded-md py-1 min-w-[120px] shadow-md",style:{left:E.x,top:E.y},children:[l.jsx("button",{onClick:K,className:"w-full px-3 py-1.5 text-left text-sm font-mono hover:bg-accent transition-colors",children:"Rename"}),c.length>1&&l.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 Gm=150,Qm=600,Qv=288,Ym="debug-panel-height",Vm="debug-panel-tab";function Yv({logs:c,devLogs:r,isOpen:d,onToggle:o,onClear:h,onClearDevLogs:p,onHeightChange:v,projectName:y,activeTab:C,onTabChange:w}){const E=m.useRef(null),_=m.useRef(null),[L,z]=m.useState(!0),[q,U]=m.useState(!0),[R,A]=m.useState(!1),[S,j]=m.useState(()=>{const le=localStorage.getItem(Ym);return le?Math.min(Math.max(parseInt(le,10),Gm),Qm):Qv}),[K,J]=m.useState(()=>localStorage.getItem(Vm)||"agent"),[$,X]=m.useState([]),[ee,Q]=m.useState(null),[ne,Z]=m.useState(!1),O=C??K,H=le=>{J(le),localStorage.setItem(Vm,le),w?.(le)},W=m.useCallback(async()=>{if(y){Z(!0);try{const le=await ky(y);X(le),le.length>0&&(!ee||!le.find(de=>de.id===ee))&&Q(le[0].id)}catch(le){console.error("Failed to fetch terminals:",le)}finally{Z(!1)}}},[y,ee]),ae=m.useCallback(async()=>{if(y)try{const le=await Oy(y);X(de=>[...de,le]),Q(le.id)}catch(le){console.error("Failed to create terminal:",le)}},[y]),g=m.useCallback(async(le,de)=>{if(y)try{const Be=await Ry(y,le,de);X(Ct=>Ct.map(Kt=>Kt.id===le?Be:Kt))}catch(Be){console.error("Failed to rename terminal:",Be)}},[y]),T=m.useCallback(async le=>{if(!(!y||$.length<=1))try{if(await Uy(y,le),X(de=>de.filter(Be=>Be.id!==le)),ee===le){const de=$.filter(Be=>Be.id!==le);de.length>0&&Q(de[0].id)}}catch(de){console.error("Failed to close terminal:",de)}},[y,$,ee]);m.useEffect(()=>{y?W():(X([]),Q(null))},[y]),m.useEffect(()=>{L&&E.current&&d&&O==="agent"&&(E.current.scrollTop=E.current.scrollHeight)},[c,L,d,O]),m.useEffect(()=>{q&&_.current&&d&&O==="devserver"&&(_.current.scrollTop=_.current.scrollHeight)},[r,q,d,O]),m.useEffect(()=>{v&&d&&v(S)},[S,d,v]);const I=m.useCallback(le=>{const de=window.innerHeight-le.clientY,Be=Math.min(Math.max(de,Gm),Qm);j(Be)},[]),P=m.useCallback(()=>{A(!1),localStorage.setItem(Ym,S.toString())},[S]);m.useEffect(()=>(R&&(document.addEventListener("mousemove",I),document.addEventListener("mouseup",P),document.body.style.cursor="ns-resize",document.body.style.userSelect="none"),()=>{document.removeEventListener("mousemove",I),document.removeEventListener("mouseup",P),document.body.style.cursor="",document.body.style.userSelect=""}),[R,I,P]);const fe=le=>{le.preventDefault(),le.stopPropagation(),A(!0)},oe=le=>{const de=le.currentTarget,Be=de.scrollHeight-de.scrollTop<=de.clientHeight+50;z(Be)},te=le=>{const de=le.currentTarget,Be=de.scrollHeight-de.scrollTop<=de.clientHeight+50;U(Be)},ie=()=>{O==="agent"?h():O==="devserver"&&p()},Ue=()=>O==="agent"?c.length:O==="devserver"?r.length:0,ut=()=>O==="agent"?!L:O==="devserver"?!q:!1,ft=le=>{const de=le.toLowerCase();return de.includes("error")||de.includes("exception")||de.includes("traceback")?"error":de.includes("warn")||de.includes("warning")?"warn":de.includes("debug")?"debug":"info"},ia=le=>{switch(le){case"error":return"text-red-500";case"warn":return"text-yellow-500";case"debug":return"text-blue-400";default:return"text-foreground"}},ca=le=>{try{return new Date(le).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return""}};return l.jsxs("div",{className:`fixed bottom-0 left-0 right-0 z-40 ${R?"":"transition-all duration-200"}`,style:{height:d?S:40},children:[d&&l.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:fe,children:l.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:l.jsx(sp,{size:12,className:"text-muted-foreground group-hover:text-foreground"})})}),l.jsxs("div",{className:"flex items-center justify-between h-10 px-4 bg-muted border-t border-border",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs("button",{onClick:o,className:"flex items-center gap-2 hover:bg-accent px-2 py-1 rounded transition-colors cursor-pointer",children:[l.jsx(Sm,{size:16,className:"text-green-500"}),l.jsx("span",{className:"font-mono text-sm text-foreground font-bold",children:"Debug"}),l.jsx(Oe,{variant:"secondary",className:"text-xs font-mono",title:"Toggle debug panel",children:"D"})]}),d&&l.jsxs("div",{className:"flex items-center gap-1 ml-4",children:[l.jsxs(F,{variant:O==="agent"?"secondary":"ghost",size:"sm",onClick:le=>{le.stopPropagation(),H("agent")},className:"h-7 text-xs font-mono gap-1.5",children:[l.jsx(ip,{size:12}),"Agent",c.length>0&&l.jsx(Oe,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:c.length})]}),l.jsxs(F,{variant:O==="devserver"?"secondary":"ghost",size:"sm",onClick:le=>{le.stopPropagation(),H("devserver")},className:"h-7 text-xs font-mono gap-1.5",children:[l.jsx(cp,{size:12}),"Dev Server",r.length>0&&l.jsx(Oe,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:r.length})]}),l.jsxs(F,{variant:O==="terminal"?"secondary":"ghost",size:"sm",onClick:le=>{le.stopPropagation(),H("terminal")},className:"h-7 text-xs font-mono gap-1.5",children:[l.jsx(Sm,{size:12}),"Terminal",l.jsx(Oe,{variant:"outline",className:"h-4 px-1.5 text-[10px]",title:"Toggle terminal",children:"T"})]})]}),d&&O!=="terminal"&&l.jsxs(l.Fragment,{children:[Ue()>0&&l.jsx(Oe,{variant:"secondary",className:"ml-2 font-mono",children:Ue()}),ut()&&l.jsx(Oe,{variant:"default",className:"bg-yellow-500 text-yellow-950",children:"Paused"})]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[d&&O!=="terminal"&&l.jsx(F,{variant:"ghost",size:"icon",onClick:le=>{le.stopPropagation(),ie()},className:"h-7 w-7",title:"Clear logs",children:l.jsx(tl,{size:14,className:"text-muted-foreground"})}),l.jsx("div",{className:"p-1",children:d?l.jsx(rs,{size:16,className:"text-muted-foreground"}):l.jsx(Ui,{size:16,className:"text-muted-foreground"})})]})]}),d&&l.jsxs("div",{className:"h-[calc(100%-2.5rem)] bg-card",children:[O==="agent"&&l.jsx("div",{ref:E,onScroll:oe,className:"h-full overflow-y-auto p-2 font-mono text-sm",children:c.length===0?l.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No logs yet. Start the agent to see output."}):l.jsx("div",{className:"space-y-0.5",children:c.map((le,de)=>{const Be=ft(le.line),Ct=ia(Be),Kt=ca(le.timestamp);return l.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[l.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:Kt}),l.jsx("span",{className:`${Ct} whitespace-pre-wrap break-all`,children:le.line})]},`${le.timestamp}-${de}`)})})}),O==="devserver"&&l.jsx("div",{ref:_,onScroll:te,className:"h-full overflow-y-auto p-2 font-mono text-sm",children:r.length===0?l.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No dev server logs yet."}):l.jsx("div",{className:"space-y-0.5",children:r.map((le,de)=>{const Be=ft(le.line),Ct=ia(Be),Kt=ca(le.timestamp);return l.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[l.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:Kt}),l.jsx("span",{className:`${Ct} whitespace-pre-wrap break-all`,children:le.line})]},`${le.timestamp}-${de}`)})})}),O==="terminal"&&l.jsxs("div",{className:"h-full flex flex-col",children:[$.length>0&&l.jsx(Gv,{terminals:$,activeTerminalId:ee,onSelect:Q,onCreate:ae,onRename:g,onClose:T}),l.jsx("div",{className:"flex-1 min-h-0 relative",children:ne?l.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"Loading terminals..."}):$.length===0?l.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"No terminal available"}):$.map(le=>{const de=le.id===ee;return l.jsx("div",{className:"absolute inset-0",style:{zIndex:de?10:1,transform:de?"none":"translateX(-200%)",pointerEvents:de?"auto":"none"},children:l.jsx(Lv,{projectName:y,terminalId:le.id,isActive:O==="terminal"&&de})},le.id)})})]})]})]})}function Vv(c){switch(c){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 Xv(c){switch(c){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 gh(c){return c==="testing"?{label:"TEST",className:"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",icon:th}:{label:"CODE",className:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300",icon:ah}}function Kv({agent:c,onShowLogs:r}){const d=["thinking","working","testing"].includes(c.state),o=c.logs&&c.logs.length>0,h=gh(c.agentType||"coding"),p=h.icon;return l.jsx(ke,{className:`min-w-[180px] max-w-[220px] py-3 ${d?"animate-pulse":""}`,children:l.jsxs(Ge,{className:"p-3 space-y-2",children:[l.jsx("div",{className:"flex justify-end",children:l.jsxs(Oe,{variant:"outline",className:`text-[10px] ${h.className}`,children:[l.jsx(p,{size:10}),h.label]})}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(hn,{name:c.agentName,state:c.state,size:"sm"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"font-semibold text-sm truncate",children:c.agentName}),l.jsx("div",{className:`text-xs ${Xv(c.state)}`,children:Vv(c.state)})]}),o&&r&&l.jsx(F,{variant:"ghost",size:"icon-xs",onClick:()=>r(c.agentIndex),title:`View logs (${c.logs?.length||0} entries)`,children:l.jsx(rp,{size:14,className:"text-muted-foreground"})})]}),l.jsx("div",{children:c.featureIds&&c.featureIds.length>1?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Batch: ",c.featureIds.map(v=>`#${v}`).join(", ")]}),l.jsxs("div",{className:"text-sm font-bold truncate",children:["Active: Feature #",c.featureId]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Feature #",c.featureId]}),l.jsx("div",{className:"text-sm font-medium truncate",title:c.featureName,children:c.featureName})]})}),c.thought&&l.jsx("div",{className:"pt-2 border-t border-border/50",children:l.jsxs("div",{className:"flex items-start gap-1.5",children:[l.jsx(mu,{size:14,className:"text-primary shrink-0 mt-0.5"}),l.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2 italic",title:c.thought,children:c.thought})]})})]})})}function Zv({agent:c,logs:r,onClose:d}){const[o,h]=m.useState(!1),p=gh(c.agentType||"coding"),v=p.icon,y=async()=>{const w=r.map(E=>`[${E.timestamp}] ${E.line}`).join(`
70
- `);await navigator.clipboard.writeText(w),h(!0),setTimeout(()=>h(!1),2e3)},C=w=>{switch(w){case"error":return"text-destructive";case"state_change":return"text-primary";default:return"text-foreground"}};return ih.createPortal(l.jsx("div",{className:"fixed inset-0 flex items-center justify-center p-4 bg-black/50",style:{zIndex:9999},onClick:w=>{w.target===w.currentTarget&&d()},children:l.jsxs(ke,{className:"w-full max-w-4xl max-h-[80vh] flex flex-col py-0",children:[l.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(hn,{name:c.agentName,state:c.state,size:"sm"}),l.jsxs("div",{children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs("h2",{className:"font-semibold text-lg",children:[c.agentName," Logs"]}),l.jsxs(Oe,{variant:"outline",className:`text-[10px] ${p.className}`,children:[l.jsx(v,{size:10}),p.label]})]}),l.jsx("p",{className:"text-sm text-muted-foreground",children:c.featureIds&&c.featureIds.length>1?`Batch: ${c.featureIds.map(w=>`#${w}`).join(", ")}`:`Feature #${c.featureId}: ${c.featureName}`})]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs(F,{variant:"outline",size:"sm",onClick:y,children:[o?l.jsx(ea,{size:14}):l.jsx(up,{size:14}),o?"Copied!":"Copy"]}),l.jsx(F,{variant:"ghost",size:"icon-sm",onClick:d,children:l.jsx(tt,{size:20})})]})]}),l.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 bg-muted/50",children:l.jsx("div",{className:"font-mono text-xs space-y-1",children:r.length===0?l.jsx("p",{className:"text-muted-foreground italic",children:"No logs available"}):r.map((w,E)=>l.jsxs("div",{className:`${C(w.type)} whitespace-pre-wrap break-all`,children:[l.jsxs("span",{className:"text-muted-foreground",children:["[",new Date(w.timestamp).toLocaleTimeString(),"]"]})," ",w.line]},E))})}),l.jsxs("div",{className:"p-3 border-t text-xs text-muted-foreground",children:[r.length," log entries"]})]})}),document.body)}function Fv(c){const r=new Date(c),o=new Date().getTime()-r.getTime(),h=Math.floor(o/1e3);return h<5?"just now":h<60?`${h}s ago`:h<3600?`${Math.floor(h/60)}m ago`:r.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function Jv({activities:c,maxItems:r=5,showHeader:d=!0}){const o=c.slice(0,r);return o.length===0?null:l.jsxs("div",{children:[d&&l.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[l.jsx(lh,{size:14,className:"text-muted-foreground"}),l.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"})]}),l.jsx("div",{className:"space-y-2",children:o.map(h=>l.jsx(ke,{className:"py-1.5",children:l.jsxs(Ge,{className:"p-2 flex items-start gap-2",children:[l.jsx(hn,{name:h.agentName,state:"working",size:"sm"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"text-xs font-semibold",style:{color:$v(h.agentName)},children:h.agentName}),l.jsxs("span",{className:"text-[10px] text-muted-foreground",children:["#",h.featureId]}),l.jsx("span",{className:"text-[10px] text-muted-foreground ml-auto",children:Fv(h.timestamp)})]}),l.jsx("p",{className:"text-xs text-muted-foreground truncate",title:h.thought,children:h.thought})]})]})},`${h.featureId}-${h.timestamp}-${h.thought.slice(0,20)}`))})]})}function $v(c){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"}[c]||"#6B7280"}const Wv={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}},Ie={primary:"#7C3AED",secondary:"#A78BFA",accent:"#EDE9FE",baton:"#FBBF24",gold:"#F59E0B"};function Iv({size:c,state:r}){const d=r==="spawning"?"animate-conducting":r==="scheduling"?"animate-baton-tap":"";return l.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"22",y:"54",width:"20",height:"6",rx:"2",fill:Ie.primary,opacity:"0.3"}),l.jsx("rect",{x:"18",y:"28",width:"28",height:"26",rx:"4",fill:Ie.primary}),l.jsx("rect",{x:"26",y:"32",width:"12",height:"18",fill:Ie.accent}),l.jsx("rect",{x:"30",y:"32",width:"4",height:"18",fill:Ie.secondary}),l.jsx("path",{d:"M27,30 L32,33 L37,30 L32,32 Z",fill:Ie.gold}),l.jsx("rect",{x:"16",y:"6",width:"32",height:"24",rx:"4",fill:Ie.secondary}),l.jsx("rect",{x:"14",y:"2",width:"36",height:"8",rx:"2",fill:Ie.primary}),l.jsx("rect",{x:"20",y:"0",width:"24",height:"4",rx:"2",fill:Ie.primary}),l.jsx("circle",{cx:"32",cy:"2",r:"3",fill:Ie.gold}),l.jsx("circle",{cx:"24",cy:"16",r:"4",fill:"white"}),l.jsx("circle",{cx:"40",cy:"16",r:"4",fill:"white"}),l.jsx("circle",{cx:"25",cy:"16",r:"2",fill:Ie.primary}),l.jsx("circle",{cx:"41",cy:"16",r:"2",fill:Ie.primary}),l.jsx("path",{d:"M26,24 Q32,28 38,24",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"}),l.jsx("rect",{x:"8",y:"32",width:"10",height:"4",rx:"2",fill:Ie.primary}),l.jsx("rect",{x:"46",y:"28",width:"10",height:"4",rx:"2",fill:Ie.primary,className:d,style:{transformOrigin:"46px 30px"}}),l.jsx("circle",{cx:"56",cy:"30",r:"4",fill:Ie.secondary,className:d,style:{transformOrigin:"46px 30px"}}),l.jsxs("g",{className:d,style:{transformOrigin:"56px 30px"},children:[l.jsx("line",{x1:"56",y1:"26",x2:"62",y2:"10",stroke:Ie.baton,strokeWidth:"2",strokeLinecap:"round"}),l.jsx("circle",{cx:"62",cy:"10",r:"2",fill:Ie.gold})]}),(r==="spawning"||r==="monitoring")&&l.jsxs(l.Fragment,{children:[l.jsx("text",{x:"4",y:"20",fontSize:"8",fill:Ie.secondary,className:"animate-pulse",children:"♪"}),l.jsx("text",{x:"58",y:"48",fontSize:"8",fill:Ie.secondary,className:"animate-pulse",style:{animationDelay:"0.3s"},children:"♫"})]})]})}function Pv(c){switch(c){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"complete":return"animate-celebrate";default:return""}}function eb(c){switch(c){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"complete":return"shadow-[0_0_20px_rgba(112,224,0,0.6)]";default:return""}}function tb(c){switch(c){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"complete":return"all features complete";default:return c}}function ab({state:c,size:r="md"}){const{svg:d}=Wv[r],h=`Orchestrator Maestro is ${tb(c)}`;return l.jsx("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":h,"aria-live":"polite",children:l.jsx("div",{className:`
66
+ `,title:"Close terminal",children:l.jsx(tt,{className:"w-3 h-3"})})]},X.id)),l.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:l.jsx(Pa,{className:"w-4 h-4"})}),E.visible&&l.jsxs("div",{ref:A,className:"fixed z-50 bg-popover border border-border rounded-md py-1 min-w-[120px] shadow-md",style:{left:E.x,top:E.y},children:[l.jsx("button",{onClick:K,className:"w-full px-3 py-1.5 text-left text-sm font-mono hover:bg-accent transition-colors",children:"Rename"}),c.length>1&&l.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 Lm=150,Gm=600,Xv=288,Qm="debug-panel-height",Ym="debug-panel-tab";function Kv({logs:c,devLogs:r,isOpen:d,onToggle:o,onClear:h,onClearDevLogs:p,onHeightChange:v,projectName:y,activeTab:C,onTabChange:z}){const E=m.useRef(null),k=m.useRef(null),[G,A]=m.useState(!0),[H,B]=m.useState(!0),[R,w]=m.useState(!1),[S,j]=m.useState(()=>{const le=localStorage.getItem(Qm);return le?Math.min(Math.max(parseInt(le,10),Lm),Gm):Xv}),[K,J]=m.useState(()=>localStorage.getItem(Ym)||"agent"),[$,X]=m.useState([]),[ee,Q]=m.useState(null),[ne,Z]=m.useState(!1),O=C??K,q=le=>{J(le),localStorage.setItem(Ym,le),z?.(le)},W=m.useCallback(async()=>{if(y){Z(!0);try{const le=await Oy(y);X(le),le.length>0&&(!ee||!le.find(de=>de.id===ee))&&Q(le[0].id)}catch(le){console.error("Failed to fetch terminals:",le)}finally{Z(!1)}}},[y,ee]),ae=m.useCallback(async()=>{if(y)try{const le=await Ry(y);X(de=>[...de,le]),Q(le.id)}catch(le){console.error("Failed to create terminal:",le)}},[y]),g=m.useCallback(async(le,de)=>{if(y)try{const Be=await Uy(y,le,de);X(Ct=>Ct.map(Kt=>Kt.id===le?Be:Kt))}catch(Be){console.error("Failed to rename terminal:",Be)}},[y]),T=m.useCallback(async le=>{if(!(!y||$.length<=1))try{if(await By(y,le),X(de=>de.filter(Be=>Be.id!==le)),ee===le){const de=$.filter(Be=>Be.id!==le);de.length>0&&Q(de[0].id)}}catch(de){console.error("Failed to close terminal:",de)}},[y,$,ee]);m.useEffect(()=>{y?W():(X([]),Q(null))},[y]),m.useEffect(()=>{G&&E.current&&d&&O==="agent"&&(E.current.scrollTop=E.current.scrollHeight)},[c,G,d,O]),m.useEffect(()=>{H&&k.current&&d&&O==="devserver"&&(k.current.scrollTop=k.current.scrollHeight)},[r,H,d,O]),m.useEffect(()=>{v&&d&&v(S)},[S,d,v]);const I=m.useCallback(le=>{const de=window.innerHeight-le.clientY,Be=Math.min(Math.max(de,Lm),Gm);j(Be)},[]),P=m.useCallback(()=>{w(!1),localStorage.setItem(Qm,S.toString())},[S]);m.useEffect(()=>(R&&(document.addEventListener("mousemove",I),document.addEventListener("mouseup",P),document.body.style.cursor="ns-resize",document.body.style.userSelect="none"),()=>{document.removeEventListener("mousemove",I),document.removeEventListener("mouseup",P),document.body.style.cursor="",document.body.style.userSelect=""}),[R,I,P]);const fe=le=>{le.preventDefault(),le.stopPropagation(),w(!0)},oe=le=>{const de=le.currentTarget,Be=de.scrollHeight-de.scrollTop<=de.clientHeight+50;A(Be)},te=le=>{const de=le.currentTarget,Be=de.scrollHeight-de.scrollTop<=de.clientHeight+50;B(Be)},ie=()=>{O==="agent"?h():O==="devserver"&&p()},Ue=()=>O==="agent"?c.length:O==="devserver"?r.length:0,ut=()=>O==="agent"?!G:O==="devserver"?!H:!1,ft=le=>{const de=le.toLowerCase();return de.includes("error")||de.includes("exception")||de.includes("traceback")?"error":de.includes("warn")||de.includes("warning")?"warn":de.includes("debug")?"debug":"info"},ia=le=>{switch(le){case"error":return"text-red-500";case"warn":return"text-yellow-500";case"debug":return"text-blue-400";default:return"text-foreground"}},ca=le=>{try{return new Date(le).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return""}};return l.jsxs("div",{className:`fixed bottom-0 left-0 right-0 z-40 ${R?"":"transition-all duration-200"}`,style:{height:d?S:40},children:[d&&l.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:fe,children:l.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:l.jsx(np,{size:12,className:"text-muted-foreground group-hover:text-foreground"})})}),l.jsxs("div",{className:"flex items-center justify-between h-10 px-4 bg-muted border-t border-border",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs("button",{onClick:o,className:"flex items-center gap-2 hover:bg-accent px-2 py-1 rounded transition-colors cursor-pointer",children:[l.jsx(Sm,{size:16,className:"text-green-500"}),l.jsx("span",{className:"font-mono text-sm text-foreground font-bold",children:"Debug"}),l.jsx(Oe,{variant:"secondary",className:"text-xs font-mono",title:"Toggle debug panel",children:"D"})]}),d&&l.jsxs("div",{className:"flex items-center gap-1 ml-4",children:[l.jsxs(F,{variant:O==="agent"?"secondary":"ghost",size:"sm",onClick:le=>{le.stopPropagation(),q("agent")},className:"h-7 text-xs font-mono gap-1.5",children:[l.jsx(sp,{size:12}),"Agent",c.length>0&&l.jsx(Oe,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:c.length})]}),l.jsxs(F,{variant:O==="devserver"?"secondary":"ghost",size:"sm",onClick:le=>{le.stopPropagation(),q("devserver")},className:"h-7 text-xs font-mono gap-1.5",children:[l.jsx(ip,{size:12}),"Dev Server",r.length>0&&l.jsx(Oe,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:r.length})]}),l.jsxs(F,{variant:O==="terminal"?"secondary":"ghost",size:"sm",onClick:le=>{le.stopPropagation(),q("terminal")},className:"h-7 text-xs font-mono gap-1.5",children:[l.jsx(Sm,{size:12}),"Terminal",l.jsx(Oe,{variant:"outline",className:"h-4 px-1.5 text-[10px]",title:"Toggle terminal",children:"T"})]})]}),d&&O!=="terminal"&&l.jsxs(l.Fragment,{children:[Ue()>0&&l.jsx(Oe,{variant:"secondary",className:"ml-2 font-mono",children:Ue()}),ut()&&l.jsx(Oe,{variant:"default",className:"bg-yellow-500 text-yellow-950",children:"Paused"})]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[d&&O!=="terminal"&&l.jsx(F,{variant:"ghost",size:"icon",onClick:le=>{le.stopPropagation(),ie()},className:"h-7 w-7",title:"Clear logs",children:l.jsx(tl,{size:14,className:"text-muted-foreground"})}),l.jsx("div",{className:"p-1",children:d?l.jsx(rs,{size:16,className:"text-muted-foreground"}):l.jsx(Ui,{size:16,className:"text-muted-foreground"})})]})]}),d&&l.jsxs("div",{className:"h-[calc(100%-2.5rem)] bg-card",children:[O==="agent"&&l.jsx("div",{ref:E,onScroll:oe,className:"h-full overflow-y-auto p-2 font-mono text-sm",children:c.length===0?l.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No logs yet. Start the agent to see output."}):l.jsx("div",{className:"space-y-0.5",children:c.map((le,de)=>{const Be=ft(le.line),Ct=ia(Be),Kt=ca(le.timestamp);return l.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[l.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:Kt}),l.jsx("span",{className:`${Ct} whitespace-pre-wrap break-all`,children:le.line})]},`${le.timestamp}-${de}`)})})}),O==="devserver"&&l.jsx("div",{ref:k,onScroll:te,className:"h-full overflow-y-auto p-2 font-mono text-sm",children:r.length===0?l.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No dev server logs yet."}):l.jsx("div",{className:"space-y-0.5",children:r.map((le,de)=>{const Be=ft(le.line),Ct=ia(Be),Kt=ca(le.timestamp);return l.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[l.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:Kt}),l.jsx("span",{className:`${Ct} whitespace-pre-wrap break-all`,children:le.line})]},`${le.timestamp}-${de}`)})})}),O==="terminal"&&l.jsxs("div",{className:"h-full flex flex-col",children:[$.length>0&&l.jsx(Vv,{terminals:$,activeTerminalId:ee,onSelect:Q,onCreate:ae,onRename:g,onClose:T}),l.jsx("div",{className:"flex-1 min-h-0 relative",children:ne?l.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"Loading terminals..."}):$.length===0?l.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"No terminal available"}):$.map(le=>{const de=le.id===ee;return l.jsx("div",{className:"absolute inset-0",style:{zIndex:de?10:1,transform:de?"none":"translateX(-200%)",pointerEvents:de?"auto":"none"},children:l.jsx(Yv,{projectName:y,terminalId:le.id,isActive:O==="terminal"&&de})},le.id)})})]})]})]})}function Zv(c){switch(c){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 Fv(c){switch(c){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 xh(c){return c==="testing"?{label:"TEST",className:"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",icon:eh}:{label:"CODE",className:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300",icon:th}}function Jv({agent:c,onShowLogs:r}){const d=["thinking","working","testing"].includes(c.state),o=c.logs&&c.logs.length>0,h=xh(c.agentType||"coding"),p=h.icon;return l.jsx(ke,{className:`min-w-[180px] max-w-[220px] py-3 ${d?"animate-pulse":""}`,children:l.jsxs(Ge,{className:"p-3 space-y-2",children:[l.jsx("div",{className:"flex justify-end",children:l.jsxs(Oe,{variant:"outline",className:`text-[10px] ${h.className}`,children:[l.jsx(p,{size:10}),h.label]})}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(hn,{name:c.agentName,state:c.state,size:"sm"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"font-semibold text-sm truncate",children:c.agentName}),l.jsx("div",{className:`text-xs ${Fv(c.state)}`,children:Zv(c.state)})]}),o&&r&&l.jsx(F,{variant:"ghost",size:"icon-xs",onClick:()=>r(c.agentIndex),title:`View logs (${c.logs?.length||0} entries)`,children:l.jsx(cp,{size:14,className:"text-muted-foreground"})})]}),l.jsx("div",{children:c.featureIds&&c.featureIds.length>1?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Batch: ",c.featureIds.map(v=>`#${v}`).join(", ")]}),l.jsxs("div",{className:"text-sm font-bold truncate",children:["Active: Feature #",c.featureId]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Feature #",c.featureId]}),l.jsx("div",{className:"text-sm font-medium truncate",title:c.featureName,children:c.featureName})]})}),c.thought&&l.jsx("div",{className:"pt-2 border-t border-border/50",children:l.jsxs("div",{className:"flex items-start gap-1.5",children:[l.jsx(mu,{size:14,className:"text-primary shrink-0 mt-0.5"}),l.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2 italic",title:c.thought,children:c.thought})]})})]})})}function $v({agent:c,logs:r,onClose:d}){const[o,h]=m.useState(!1),p=xh(c.agentType||"coding"),v=p.icon,y=async()=>{const z=r.map(E=>`[${E.timestamp}] ${E.line}`).join(`
67
+ `);await navigator.clipboard.writeText(z),h(!0),setTimeout(()=>h(!1),2e3)},C=z=>{switch(z){case"error":return"text-destructive";case"state_change":return"text-primary";default:return"text-foreground"}};return sh.createPortal(l.jsx("div",{className:"fixed inset-0 flex items-center justify-center p-4 bg-black/50",style:{zIndex:9999},onClick:z=>{z.target===z.currentTarget&&d()},children:l.jsxs(ke,{className:"w-full max-w-4xl max-h-[80vh] flex flex-col py-0",children:[l.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(hn,{name:c.agentName,state:c.state,size:"sm"}),l.jsxs("div",{children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs("h2",{className:"font-semibold text-lg",children:[c.agentName," Logs"]}),l.jsxs(Oe,{variant:"outline",className:`text-[10px] ${p.className}`,children:[l.jsx(v,{size:10}),p.label]})]}),l.jsx("p",{className:"text-sm text-muted-foreground",children:c.featureIds&&c.featureIds.length>1?`Batch: ${c.featureIds.map(z=>`#${z}`).join(", ")}`:`Feature #${c.featureId}: ${c.featureName}`})]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs(F,{variant:"outline",size:"sm",onClick:y,children:[o?l.jsx(ea,{size:14}):l.jsx(rp,{size:14}),o?"Copied!":"Copy"]}),l.jsx(F,{variant:"ghost",size:"icon-sm",onClick:d,children:l.jsx(tt,{size:20})})]})]}),l.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 bg-muted/50",children:l.jsx("div",{className:"font-mono text-xs space-y-1",children:r.length===0?l.jsx("p",{className:"text-muted-foreground italic",children:"No logs available"}):r.map((z,E)=>l.jsxs("div",{className:`${C(z.type)} whitespace-pre-wrap break-all`,children:[l.jsxs("span",{className:"text-muted-foreground",children:["[",new Date(z.timestamp).toLocaleTimeString(),"]"]})," ",z.line]},E))})}),l.jsxs("div",{className:"p-3 border-t text-xs text-muted-foreground",children:[r.length," log entries"]})]})}),document.body)}function Wv(c){const r=new Date(c),o=new Date().getTime()-r.getTime(),h=Math.floor(o/1e3);return h<5?"just now":h<60?`${h}s ago`:h<3600?`${Math.floor(h/60)}m ago`:r.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function Iv({activities:c,maxItems:r=5,showHeader:d=!0}){const o=c.slice(0,r);return o.length===0?null:l.jsxs("div",{children:[d&&l.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[l.jsx(ah,{size:14,className:"text-muted-foreground"}),l.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"})]}),l.jsx("div",{className:"space-y-2",children:o.map(h=>l.jsx(ke,{className:"py-1.5",children:l.jsxs(Ge,{className:"p-2 flex items-start gap-2",children:[l.jsx(hn,{name:h.agentName,state:"working",size:"sm"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"text-xs font-semibold",style:{color:Pv(h.agentName)},children:h.agentName}),l.jsxs("span",{className:"text-[10px] text-muted-foreground",children:["#",h.featureId]}),l.jsx("span",{className:"text-[10px] text-muted-foreground ml-auto",children:Wv(h.timestamp)})]}),l.jsx("p",{className:"text-xs text-muted-foreground truncate",title:h.thought,children:h.thought})]})]})},`${h.featureId}-${h.timestamp}-${h.thought.slice(0,20)}`))})]})}function Pv(c){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"}[c]||"#6B7280"}const eb={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}},Ie={primary:"#7C3AED",secondary:"#A78BFA",accent:"#EDE9FE",baton:"#FBBF24",gold:"#F59E0B"};function tb({size:c,state:r}){const d=r==="spawning"?"animate-conducting":r==="scheduling"?"animate-baton-tap":"";return l.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"22",y:"54",width:"20",height:"6",rx:"2",fill:Ie.primary,opacity:"0.3"}),l.jsx("rect",{x:"18",y:"28",width:"28",height:"26",rx:"4",fill:Ie.primary}),l.jsx("rect",{x:"26",y:"32",width:"12",height:"18",fill:Ie.accent}),l.jsx("rect",{x:"30",y:"32",width:"4",height:"18",fill:Ie.secondary}),l.jsx("path",{d:"M27,30 L32,33 L37,30 L32,32 Z",fill:Ie.gold}),l.jsx("rect",{x:"16",y:"6",width:"32",height:"24",rx:"4",fill:Ie.secondary}),l.jsx("rect",{x:"14",y:"2",width:"36",height:"8",rx:"2",fill:Ie.primary}),l.jsx("rect",{x:"20",y:"0",width:"24",height:"4",rx:"2",fill:Ie.primary}),l.jsx("circle",{cx:"32",cy:"2",r:"3",fill:Ie.gold}),l.jsx("circle",{cx:"24",cy:"16",r:"4",fill:"white"}),l.jsx("circle",{cx:"40",cy:"16",r:"4",fill:"white"}),l.jsx("circle",{cx:"25",cy:"16",r:"2",fill:Ie.primary}),l.jsx("circle",{cx:"41",cy:"16",r:"2",fill:Ie.primary}),l.jsx("path",{d:"M26,24 Q32,28 38,24",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"}),l.jsx("rect",{x:"8",y:"32",width:"10",height:"4",rx:"2",fill:Ie.primary}),l.jsx("rect",{x:"46",y:"28",width:"10",height:"4",rx:"2",fill:Ie.primary,className:d,style:{transformOrigin:"46px 30px"}}),l.jsx("circle",{cx:"56",cy:"30",r:"4",fill:Ie.secondary,className:d,style:{transformOrigin:"46px 30px"}}),l.jsxs("g",{className:d,style:{transformOrigin:"56px 30px"},children:[l.jsx("line",{x1:"56",y1:"26",x2:"62",y2:"10",stroke:Ie.baton,strokeWidth:"2",strokeLinecap:"round"}),l.jsx("circle",{cx:"62",cy:"10",r:"2",fill:Ie.gold})]}),(r==="spawning"||r==="monitoring")&&l.jsxs(l.Fragment,{children:[l.jsx("text",{x:"4",y:"20",fontSize:"8",fill:Ie.secondary,className:"animate-pulse",children:"♪"}),l.jsx("text",{x:"58",y:"48",fontSize:"8",fill:Ie.secondary,className:"animate-pulse",style:{animationDelay:"0.3s"},children:"♫"})]})]})}function ab(c){switch(c){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"complete":return"animate-celebrate";default:return""}}function lb(c){switch(c){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"complete":return"shadow-[0_0_20px_rgba(112,224,0,0.6)]";default:return""}}function nb(c){switch(c){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"complete":return"all features complete";default:return c}}function sb({state:c,size:r="md"}){const{svg:d}=eb[r],h=`Orchestrator Maestro is ${nb(c)}`;return l.jsx("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":h,"aria-live":"polite",children:l.jsx("div",{className:`
71
68
  rounded-full p-1 transition-all duration-300
72
- ${Pv(c)}
73
- ${eb(c)}
74
- `,style:{backgroundColor:Ie.accent},title:h,role:"img","aria-hidden":"true",children:l.jsx(Iv,{size:d,state:c})})})}function lb(c){switch(c){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!";default:return"Orchestrating..."}}function nb(c){switch(c){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";default:return"text-muted-foreground"}}function sb(c){const r=new Date,d=new Date(c),o=r.getTime()-d.getTime(),h=Math.floor(o/1e3);if(h<5)return"just now";if(h<60)return`${h}s ago`;const p=Math.floor(h/60);return p<60?`${p}m ago`:`${Math.floor(p/60)}h ago`}function ib({status:c}){const[r,d]=m.useState(!1);return l.jsx(ke,{className:"mb-4 bg-primary/10 border-primary/30 py-4",children:l.jsxs(Ge,{className:"p-4",children:[l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx(ab,{state:c.state,size:"md"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[l.jsx("span",{className:"font-semibold text-lg text-primary",children:"Maestro"}),l.jsx("span",{className:`text-sm font-medium ${nb(c.state)}`,children:lb(c.state)})]}),l.jsx("p",{className:"text-sm text-foreground mb-3 line-clamp-2",children:c.message}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsxs(Oe,{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:[l.jsx(ah,{size:12}),"Coding: ",c.codingAgents]}),l.jsxs(Oe,{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:[l.jsx(th,{size:12}),"Testing: ",c.testingAgents]}),l.jsxs(Oe,{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:[l.jsx(un,{size:12}),"Ready: ",c.readyCount]}),c.blockedCount>0&&l.jsxs(Oe,{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:[l.jsx(op,{size:12}),"Blocked: ",c.blockedCount]})]})]}),c.recentEvents.length>0&&l.jsxs(F,{variant:"ghost",size:"sm",onClick:()=>d(!r),className:"text-primary hover:bg-primary/10",children:[l.jsx(jl,{size:12}),"Activity",r?l.jsx(Ui,{size:14}):l.jsx(rs,{size:14})]})]}),r&&c.recentEvents.length>0&&l.jsx("div",{className:"mt-3 pt-3 border-t border-primary/20",children:l.jsx("div",{className:"space-y-1.5",children:c.recentEvents.map((o,h)=>l.jsxs("div",{className:"flex items-start gap-2 text-xs",children:[l.jsx("span",{className:"text-primary shrink-0 font-mono",children:sb(o.timestamp)}),l.jsx("span",{className:"text-foreground",children:o.message})]},`${o.timestamp}-${h}`))})})]})})}const Xm="autoforge-activity-collapsed";function cb({agents:c,orchestratorStatus:r,recentActivity:d,isExpanded:o=!0,getAgentLogs:h}){const[p,v]=m.useState(o),[y,C]=m.useState(()=>{try{return localStorage.getItem(Xm)==="true"}catch{return!1}}),[w,E]=m.useState(null),_=()=>{const L=!y;C(L);try{localStorage.setItem(Xm,String(L))}catch{}};return!r&&c.length===0?null:l.jsxs(ke,{className:"mb-6 overflow-hidden py-0",children:[l.jsxs("button",{onClick:()=>v(!p),className:"w-full flex items-center justify-between px-4 py-3 bg-primary hover:bg-primary/90 transition-colors",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(dp,{size:20,className:"text-primary-foreground"}),l.jsx("span",{className:"font-semibold text-primary-foreground uppercase tracking-wide",children:"Mission Control"}),l.jsx(Oe,{variant:"secondary",className:"ml-2",children:c.length>0?`${c.length} ${c.length===1?"agent":"agents"} active`:r?.state==="initializing"?"Initializing":r?.state==="complete"?"Complete":"Orchestrating"})]}),p?l.jsx(Ui,{size:20,className:"text-primary-foreground"}):l.jsx(rs,{size:20,className:"text-primary-foreground"})]}),l.jsx("div",{className:`
69
+ ${ab(c)}
70
+ ${lb(c)}
71
+ `,style:{backgroundColor:Ie.accent},title:h,role:"img","aria-hidden":"true",children:l.jsx(tb,{size:d,state:c})})})}function ib(c){switch(c){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!";default:return"Orchestrating..."}}function cb(c){switch(c){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";default:return"text-muted-foreground"}}function rb(c){const r=new Date,d=new Date(c),o=r.getTime()-d.getTime(),h=Math.floor(o/1e3);if(h<5)return"just now";if(h<60)return`${h}s ago`;const p=Math.floor(h/60);return p<60?`${p}m ago`:`${Math.floor(p/60)}h ago`}function ub({status:c}){const[r,d]=m.useState(!1);return l.jsx(ke,{className:"mb-4 bg-primary/10 border-primary/30 py-4",children:l.jsxs(Ge,{className:"p-4",children:[l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx(sb,{state:c.state,size:"md"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[l.jsx("span",{className:"font-semibold text-lg text-primary",children:"Maestro"}),l.jsx("span",{className:`text-sm font-medium ${cb(c.state)}`,children:ib(c.state)})]}),l.jsx("p",{className:"text-sm text-foreground mb-3 line-clamp-2",children:c.message}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsxs(Oe,{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:[l.jsx(th,{size:12}),"Coding: ",c.codingAgents]}),l.jsxs(Oe,{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:[l.jsx(eh,{size:12}),"Testing: ",c.testingAgents]}),l.jsxs(Oe,{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:[l.jsx(un,{size:12}),"Ready: ",c.readyCount]}),c.blockedCount>0&&l.jsxs(Oe,{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:[l.jsx(up,{size:12}),"Blocked: ",c.blockedCount]})]})]}),c.recentEvents.length>0&&l.jsxs(F,{variant:"ghost",size:"sm",onClick:()=>d(!r),className:"text-primary hover:bg-primary/10",children:[l.jsx(jl,{size:12}),"Activity",r?l.jsx(Ui,{size:14}):l.jsx(rs,{size:14})]})]}),r&&c.recentEvents.length>0&&l.jsx("div",{className:"mt-3 pt-3 border-t border-primary/20",children:l.jsx("div",{className:"space-y-1.5",children:c.recentEvents.map((o,h)=>l.jsxs("div",{className:"flex items-start gap-2 text-xs",children:[l.jsx("span",{className:"text-primary shrink-0 font-mono",children:rb(o.timestamp)}),l.jsx("span",{className:"text-foreground",children:o.message})]},`${o.timestamp}-${h}`))})})]})})}const Vm="autoforge-activity-collapsed";function ob({agents:c,orchestratorStatus:r,recentActivity:d,isExpanded:o=!0,getAgentLogs:h}){const[p,v]=m.useState(o),[y,C]=m.useState(()=>{try{return localStorage.getItem(Vm)==="true"}catch{return!1}}),[z,E]=m.useState(null),k=()=>{const G=!y;C(G);try{localStorage.setItem(Vm,String(G))}catch{}};return!r&&c.length===0?null:l.jsxs(ke,{className:"mb-6 overflow-hidden py-0",children:[l.jsxs("button",{onClick:()=>v(!p),className:"w-full flex items-center justify-between px-4 py-3 bg-primary hover:bg-primary/90 transition-colors",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(op,{size:20,className:"text-primary-foreground"}),l.jsx("span",{className:"font-semibold text-primary-foreground uppercase tracking-wide",children:"Mission Control"}),l.jsx(Oe,{variant:"secondary",className:"ml-2",children:c.length>0?`${c.length} ${c.length===1?"agent":"agents"} active`:r?.state==="initializing"?"Initializing":r?.state==="complete"?"Complete":"Orchestrating"})]}),p?l.jsx(Ui,{size:20,className:"text-primary-foreground"}):l.jsx(rs,{size:20,className:"text-primary-foreground"})]}),l.jsx("div",{className:`
75
72
  transition-all duration-300 ease-out
76
73
  ${p?"max-h-[600px] opacity-100 overflow-y-auto":"max-h-0 opacity-0 overflow-hidden"}
77
- `,children:l.jsxs(Ge,{className:"p-4",children:[r&&l.jsx(ib,{status:r}),c.length>0&&l.jsx("div",{className:"flex gap-4 overflow-x-auto pb-4",children:c.map(L=>l.jsx(Kv,{agent:L,onShowLogs:z=>{const q=c.find(U=>U.agentIndex===z);q&&E(q)}},`agent-${L.agentIndex}`))}),d.length>0&&l.jsxs("div",{className:"mt-4 pt-4 border-t",children:[l.jsxs(F,{variant:"ghost",size:"sm",onClick:_,className:"gap-2 mb-2 h-auto p-1",children:[l.jsx(lh,{size:14,className:"text-muted-foreground"}),l.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"}),l.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",d.length,")"]}),y?l.jsx(rs,{size:14,className:"text-muted-foreground"}):l.jsx(Ui,{size:14,className:"text-muted-foreground"})]}),l.jsx("div",{className:`
74
+ `,children:l.jsxs(Ge,{className:"p-4",children:[r&&l.jsx(ub,{status:r}),c.length>0&&l.jsx("div",{className:"flex gap-4 overflow-x-auto pb-4",children:c.map(G=>l.jsx(Jv,{agent:G,onShowLogs:A=>{const H=c.find(B=>B.agentIndex===A);H&&E(H)}},`agent-${G.agentIndex}`))}),d.length>0&&l.jsxs("div",{className:"mt-4 pt-4 border-t",children:[l.jsxs(F,{variant:"ghost",size:"sm",onClick:k,className:"gap-2 mb-2 h-auto p-1",children:[l.jsx(ah,{size:14,className:"text-muted-foreground"}),l.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"}),l.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",d.length,")"]}),y?l.jsx(rs,{size:14,className:"text-muted-foreground"}):l.jsx(Ui,{size:14,className:"text-muted-foreground"})]}),l.jsx("div",{className:`
78
75
  transition-all duration-200 ease-out overflow-hidden
79
76
  ${y?"max-h-0 opacity-0":"max-h-[300px] opacity-100"}
80
- `,children:l.jsx(Jv,{activities:d,maxItems:5,showHeader:!1})})]})]})}),w&&h&&l.jsx(Zv,{agent:w,logs:h(w.agentIndex),onClose:()=>E(null)})]})}function rb(c){return Array.from({length:c},(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 ub({agentName:c,featureName:r,onComplete:d}){const[o,h]=m.useState(!0),[p]=m.useState(()=>rb(30)),v=m.useCallback(()=>{h(!1),setTimeout(()=>d?.(),300)},[d]);return m.useEffect(()=>{const y=setTimeout(v,3e3),C=w=>{w.key==="Escape"&&v()};return window.addEventListener("keydown",C),()=>{clearTimeout(y),window.removeEventListener("keydown",C)}},[v]),o?l.jsxs("div",{className:`
77
+ `,children:l.jsx(Iv,{activities:d,maxItems:5,showHeader:!1})})]})]})}),z&&h&&l.jsx($v,{agent:z,logs:h(z.agentIndex),onClose:()=>E(null)})]})}function db(c){return Array.from({length:c},(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 fb({agentName:c,featureName:r,onComplete:d}){const[o,h]=m.useState(!0),[p]=m.useState(()=>db(30)),v=m.useCallback(()=>{h(!1),setTimeout(()=>d?.(),300)},[d]);return m.useEffect(()=>{const y=setTimeout(v,3e3),C=z=>{z.key==="Escape"&&v()};return window.addEventListener("keydown",C),()=>{clearTimeout(y),window.removeEventListener("keydown",C)}},[v]),o?l.jsxs("div",{className:`
81
78
  fixed inset-0 z-50 flex items-center justify-center
82
79
  pointer-events-none
83
80
  transition-opacity duration-300
84
81
  ${o?"opacity-100":"opacity-0"}
85
- `,children:[l.jsx("div",{className:"absolute inset-0 overflow-hidden",children:p.map(y=>l.jsx("div",{className:"absolute w-3 h-3 animate-confetti",style:{left:`${y.x}%`,top:"-20px",backgroundColor:y.color,animationDelay:`${y.delay}s`,animationDuration:`${y.duration}s`,transform:`rotate(${y.rotation}deg)`}},y.id))}),l.jsx(ke,{onClick:v,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:l.jsxs(Ge,{className:"p-0 flex flex-col items-center gap-4",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(jl,{size:24,className:"text-yellow-300 animate-pulse"}),l.jsx(fp,{size:28,className:"text-white"}),l.jsx(jl,{size:24,className:"text-yellow-300 animate-pulse"})]}),l.jsx(hn,{name:c,state:"success",size:"lg"}),l.jsxs("div",{className:"text-center",children:[l.jsx("h3",{className:"font-display text-lg font-bold text-white mb-1",children:"Feature Complete!"}),l.jsx("p",{className:"text-sm text-white/80 max-w-[200px] truncate",children:r}),l.jsxs("p",{className:"text-xs text-white/60 mt-2",children:["Great job, ",c,"!"]})]}),l.jsx("p",{className:"text-xs text-white/40 mt-1",children:"Click or press Esc to dismiss"})]})})]}):null}function ob({onClick:c,isOpen:r}){return l.jsx(F,{onClick:c,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?l.jsx(tt,{size:24}):l.jsx(mu,{size:24})})}function Di(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function db({projectName:c,onError:r}){const[d,o]=m.useState([]),[h,p]=m.useState(!1),[v,y]=m.useState("disconnected"),[C,w]=m.useState(null),E=m.useRef(null),_=m.useRef(null),L=m.useRef(0),z=3,q=m.useRef(null),U=m.useRef(null),R=m.useRef(null);m.useEffect(()=>()=>{q.current&&clearInterval(q.current),U.current&&clearTimeout(U.current),R.current&&clearTimeout(R.current),E.current&&E.current.close(),_.current=null},[]);const A=m.useCallback(()=>{if(E.current?.readyState===WebSocket.OPEN||E.current?.readyState===WebSocket.CONNECTING)return;y("connecting");const $=window.location.protocol==="https:"?"wss:":"ws:",X=window.location.host,ee=`${$}//${X}/api/assistant/ws/${encodeURIComponent(c)}`,Q=new WebSocket(ee);E.current=Q,Q.onopen=()=>{y("connected"),L.current=0,q.current=window.setInterval(()=>{Q.readyState===WebSocket.OPEN&&Q.send(JSON.stringify({type:"ping"}))},3e4)},Q.onclose=()=>{if(y("disconnected"),q.current&&(clearInterval(q.current),q.current=null),L.current<z){L.current++;const ne=Math.min(1e3*Math.pow(2,L.current),1e4);U.current=window.setTimeout(A,ne)}},Q.onerror=()=>{y("error"),r?.("WebSocket connection error")},Q.onmessage=ne=>{try{const Z=JSON.parse(ne.data);switch(Z.type){case"text":{o(O=>{const H=O[O.length-1];return H?.role==="assistant"&&H.isStreaming?[...O.slice(0,-1),{...H,content:H.content+Z.content}]:(_.current=Di(),[...O,{id:_.current,role:"assistant",content:Z.content,timestamp:new Date,isStreaming:!0}])});break}case"tool_call":{let O=`Using tool: ${Z.tool}`;if(Z.tool==="mcp__features__feature_create"){const H=Z.input;O=`Creating feature: "${H.name||"New Feature"}" in ${H.category||"General"}`}else if(Z.tool==="mcp__features__feature_create_bulk"){const W=Z.input.features?.length||0;O=`Creating ${W} feature${W!==1?"s":""}`}else if(Z.tool==="mcp__features__feature_skip")O="Skipping feature (moving to end of queue)";else if(Z.tool==="mcp__features__feature_get_stats")O="Checking project progress";else if(Z.tool==="mcp__features__feature_get_next")O="Getting next pending feature";else if(Z.tool==="Read"){const W=Z.input.file_path||"";O=`Reading file: ${W.split("/").pop()||W}`}else Z.tool==="Glob"?O=`Searching for files: ${Z.input.pattern||"..."}`:Z.tool==="Grep"&&(O=`Searching for: ${Z.input.pattern||"..."}`);o(H=>[...H,{id:Di(),role:"system",content:O,timestamp:new Date}]);break}case"conversation_created":{w(Z.conversation_id);break}case"response_done":{p(!1),_.current=null,o(O=>{const H=O[O.length-1];return H?.role==="assistant"&&H.isStreaming?[...O.slice(0,-1),{...H,isStreaming:!1}]:O});break}case"error":{p(!1),r?.(Z.content),o(O=>[...O,{id:Di(),role:"system",content:`Error: ${Z.content}`,timestamp:new Date}]);break}case"pong":break}}catch(Z){console.error("Failed to parse WebSocket message:",Z)}}},[c,r]),S=m.useCallback($=>{R.current&&(clearTimeout(R.current),R.current=null),A();const X=()=>{if(E.current?.readyState===WebSocket.OPEN){R.current=null,p(!0);const ee={type:"start"};$&&(ee.conversation_id=$,w($)),E.current.send(JSON.stringify(ee))}else E.current?.readyState===WebSocket.CONNECTING?R.current=window.setTimeout(X,100):R.current=null};R.current=window.setTimeout(X,100)},[A]),j=m.useCallback($=>{if(!E.current||E.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}o(X=>[...X,{id:Di(),role:"user",content:$,timestamp:new Date}]),p(!0),E.current.send(JSON.stringify({type:"message",content:$}))},[r]),K=m.useCallback(()=>{L.current=z,q.current&&(clearInterval(q.current),q.current=null),E.current&&(E.current.close(),E.current=null),y("disconnected")},[]),J=m.useCallback(()=>{o([])},[]);return{messages:d,isLoading:h,connectionStatus:v,conversationId:C,start:S,sendMessage:j,disconnect:K,clearMessages:J}}function fb(c){return Nt({queryKey:["conversations",c],queryFn:()=>Cy(c),enabled:!!c,staleTime:3e4})}function mb(c,r){return Nt({queryKey:["conversation",c,r],queryFn:()=>zy(c,r),enabled:!!c&&!!r,staleTime:3e4,retry:(d,o)=>o instanceof Error&&(o.message.toLowerCase().includes("not found")||o.message==="HTTP 404")?!1:d<3})}function hb(c){const r=at();return rt({mutationFn:d=>wy(c,d),onSuccess:(d,o)=>{r.invalidateQueries({queryKey:["conversations",c]}),r.removeQueries({queryKey:["conversation",c,o]})}})}function xb(c){if(!c)return"";const r=new Date(c),o=new Date().getTime()-r.getTime(),h=Math.floor(o/1e3),p=Math.floor(h/60),v=Math.floor(p/60),y=Math.floor(v/24);return h<60?"just now":p<60?`${p}m ago`:v<24?`${v}h ago`:y===1?"yesterday":y<7?`${y}d ago`:r.toLocaleDateString()}function gb({projectName:c,currentConversationId:r,isOpen:d,onClose:o,onSelectConversation:h}){const[p,v]=m.useState(null),[y,C]=m.useState(null),{data:w,isLoading:E}=fb(c),_=hb(c);m.useEffect(()=>{d||C(null)},[d]);const L=(R,A)=>{R.stopPropagation(),v(A)},z=async()=>{if(p)try{C(null),await _.mutateAsync(p.id),v(null)}catch{C("Failed to delete conversation. Please try again.")}},q=()=>{v(null),C(null)},U=R=>{h(R),o()};return m.useEffect(()=>{if(!d)return;const R=A=>{A.key==="Escape"&&(A.preventDefault(),o())};return document.addEventListener("keydown",R),()=>document.removeEventListener("keydown",R)},[d,o]),d?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"fixed inset-0 z-40",onClick:o}),l.jsxs(ke,{className:"absolute top-full left-0 mt-2 z-50 w-[320px] max-w-[calc(100vw-2rem)] shadow-lg",children:[l.jsx(Hi,{className:"p-3 border-b border-border",children:l.jsx("h3",{className:"font-bold text-sm",children:"Conversation History"})}),l.jsx(Ge,{className:"p-0",children:E?l.jsx("div",{className:"p-4 flex items-center justify-center",children:l.jsx(_e,{size:20,className:"animate-spin text-muted-foreground"})}):!w||w.length===0?l.jsx("div",{className:"p-4 text-center text-muted-foreground text-sm",children:"No conversations yet"}):l.jsx("div",{className:"max-h-[300px] overflow-y-auto",children:w.map(R=>{const A=R.id===r;return l.jsxs("div",{className:`flex items-center group ${A?"bg-primary/10":"hover:bg-muted"}`,children:[l.jsx("button",{onClick:()=>U(R.id),className:"flex-1 px-3 py-2 text-left",disabled:A,children:l.jsxs("div",{className:"flex items-start gap-2",children:[l.jsx(mp,{size:16,className:"mt-0.5 flex-shrink-0 text-muted-foreground"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"font-medium truncate text-foreground",children:R.title||"Untitled conversation"}),l.jsxs("div",{className:"text-xs flex items-center gap-2 text-muted-foreground",children:[l.jsxs("span",{children:[R.message_count," messages"]}),l.jsx("span",{children:"|"}),l.jsx("span",{children:xb(R.updated_at)})]})]})]})}),l.jsx(F,{variant:"ghost",size:"icon",onClick:S=>L(S,R),className:`h-8 w-8 mr-2 ${A?"opacity-60 hover:opacity-100":"opacity-0 group-hover:opacity-100"} hover:text-destructive hover:bg-destructive/10`,title:"Delete conversation",children:l.jsx(tl,{size:14})})]},R.id)})})})]}),l.jsx(xh,{isOpen:p!==null,title:"Delete Conversation",message:y?l.jsxs("div",{className:"space-y-3",children:[l.jsx("p",{children:`Are you sure you want to delete "${p?.title||"this conversation"}"? This action cannot be undone.`}),l.jsxs("div",{className:"flex items-center gap-2 p-2 bg-destructive/10 border border-destructive rounded text-sm text-destructive",children:[l.jsx(wa,{size:16,className:"flex-shrink-0"}),l.jsx("span",{children:y})]})]}):`Are you sure you want to delete "${p?.title||"this conversation"}"? This action cannot be undone.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:_.isPending,onConfirm:z,onCancel:q})]}):null}function pb({projectName:c,conversationId:r,initialMessages:d,isLoadingConversation:o,onNewChat:h,onSelectConversation:p,onConversationCreated:v}){const[y,C]=m.useState(""),[w,E]=m.useState(!1),_=m.useRef(null),L=m.useRef(null),z=m.useRef(!1),q=m.useRef(void 0),U=m.useCallback(H=>{console.error("Assistant error:",H)},[]),{messages:R,isLoading:A,connectionStatus:S,conversationId:j,start:K,sendMessage:J,clearMessages:$}=db({projectName:c,onError:U}),X=m.useRef(j);m.useEffect(()=>{X.current===null&&j!==null&&v&&v(j),X.current=j},[j,v]),m.useEffect(()=>{_.current?.scrollIntoView({behavior:"smooth"})},[R]),m.useEffect(()=>{if(o||q.current===r&&z.current)return;const H=q.current!==void 0&&q.current!==r;q.current=r,z.current=!0,H&&$(),K(r)},[r,o,K,$]);const ee=m.useCallback(()=>{$(),h?.()},[$,h]),Q=m.useCallback(H=>{E(!1),p?.(H)},[p]);m.useEffect(()=>{A||L.current?.focus()},[A]);const ne=()=>{const H=y.trim();!H||A||o||(J(H),C(""))},Z=H=>{us(H)&&(H.preventDefault(),ne())},O=m.useMemo(()=>{if(!(q.current===r&&!o))return d??[];if(!d||d.length===0)return R;const W=new Map;for(const ae of d)W.set(ae.id,ae);for(const ae of R)W.set(ae.id,ae);return Array.from(W.values())},[d,R,r,o]);return l.jsxs("div",{className:"flex flex-col h-full",children:[l.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border bg-background",children:[l.jsxs("div",{className:"flex items-center gap-1 relative",children:[l.jsx(F,{variant:"ghost",size:"icon",onClick:ee,className:"h-8 w-8",title:"New conversation",disabled:A,children:l.jsx(Pa,{size:16})}),l.jsx(F,{variant:w?"secondary":"ghost",size:"icon",onClick:()=>E(!w),className:"h-8 w-8",title:"Conversation history",children:l.jsx(hp,{size:16})}),l.jsx(gb,{projectName:c,currentConversationId:r??j,isOpen:w,onClose:()=>E(!1),onSelectConversation:Q})]}),l.jsx("div",{className:"flex items-center gap-2",children:S==="connected"?l.jsxs(l.Fragment,{children:[l.jsx(fn,{size:14,className:"text-green-500"}),l.jsx("span",{className:"text-xs text-muted-foreground",children:"Connected"})]}):S==="connecting"?l.jsxs(l.Fragment,{children:[l.jsx(_e,{size:14,className:"text-primary animate-spin"}),l.jsx("span",{className:"text-xs text-muted-foreground",children:"Connecting..."})]}):l.jsxs(l.Fragment,{children:[l.jsx(dn,{size:14,className:"text-destructive"}),l.jsx("span",{className:"text-xs text-muted-foreground",children:"Disconnected"})]})})]}),l.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:o?l.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(_e,{size:16,className:"animate-spin"}),l.jsx("span",{children:"Loading conversation..."})]})}):O.length===0?l.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:A?l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(_e,{size:16,className:"animate-spin"}),l.jsx("span",{children:"Connecting to assistant..."})]}):l.jsx("span",{children:"Ask me anything about the codebase"})}):l.jsxs("div",{className:"py-4",children:[O.map(H=>l.jsx(pu,{message:H},H.id)),l.jsx("div",{ref:_})]})}),A&&O.length>0&&l.jsx("div",{className:"px-4 py-2 border-t border-border bg-background",children:l.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground text-sm",children:[l.jsxs("div",{className:"flex gap-1",children:[l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),l.jsx("span",{children:"Thinking..."})]})}),l.jsxs("div",{className:"border-t border-border p-4 bg-card",children:[l.jsxs("div",{className:"flex gap-2",children:[l.jsx(Li,{ref:L,value:y,onChange:H=>C(H.target.value),onKeyDown:Z,placeholder:"Ask about the codebase...",disabled:A||o||S!=="connected",className:"flex-1 resize-none min-h-[44px] max-h-[120px]",rows:1}),l.jsx(F,{onClick:ne,disabled:!y.trim()||A||o||S!=="connected",title:"Send message",children:A?l.jsx(_e,{size:18,className:"animate-spin"}):l.jsx(fu,{size:18})})]}),l.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"Press Enter to send, Shift+Enter for new line"})]})]})}const ph="assistant-conversation-";function Km(c){try{const r=localStorage.getItem(`${ph}${c}`);if(r)return JSON.parse(r).conversationId||null}catch{}return null}function yb(c,r){const d=`${ph}${c}`;r?localStorage.setItem(d,JSON.stringify({conversationId:r})):localStorage.removeItem(d)}function vb({projectName:c,isOpen:r,onClose:d}){const[o,h]=m.useState(()=>Km(c)),{data:p,isLoading:v,error:y}=mb(c,o);m.useEffect(()=>{if(y&&o){const L=y.message.toLowerCase();(L.includes("not found")||L.includes("404"))&&(console.warn(`Conversation ${o} not found, clearing stored ID`),h(null))}},[y,o]);const C=p?.messages.map(L=>({id:`db-${L.id}`,role:L.role,content:L.content,timestamp:L.timestamp?new Date(L.timestamp):new Date}));m.useEffect(()=>{yb(c,o)},[c,o]),m.useEffect(()=>{h(Km(c))},[c]);const w=m.useCallback(()=>{h(null)},[]),E=m.useCallback(L=>{h(L)},[]),_=m.useCallback(L=>{h(L)},[]);return l.jsxs(l.Fragment,{children:[r&&l.jsx("div",{className:"fixed inset-0 bg-black/20 z-40 transition-opacity duration-300",onClick:d,"aria-hidden":"true"}),l.jsxs("div",{className:`
82
+ `,children:[l.jsx("div",{className:"absolute inset-0 overflow-hidden",children:p.map(y=>l.jsx("div",{className:"absolute w-3 h-3 animate-confetti",style:{left:`${y.x}%`,top:"-20px",backgroundColor:y.color,animationDelay:`${y.delay}s`,animationDuration:`${y.duration}s`,transform:`rotate(${y.rotation}deg)`}},y.id))}),l.jsx(ke,{onClick:v,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:l.jsxs(Ge,{className:"p-0 flex flex-col items-center gap-4",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(jl,{size:24,className:"text-yellow-300 animate-pulse"}),l.jsx(dp,{size:28,className:"text-white"}),l.jsx(jl,{size:24,className:"text-yellow-300 animate-pulse"})]}),l.jsx(hn,{name:c,state:"success",size:"lg"}),l.jsxs("div",{className:"text-center",children:[l.jsx("h3",{className:"font-display text-lg font-bold text-white mb-1",children:"Feature Complete!"}),l.jsx("p",{className:"text-sm text-white/80 max-w-[200px] truncate",children:r}),l.jsxs("p",{className:"text-xs text-white/60 mt-2",children:["Great job, ",c,"!"]})]}),l.jsx("p",{className:"text-xs text-white/40 mt-1",children:"Click or press Esc to dismiss"})]})})]}):null}function mb({onClick:c,isOpen:r}){return l.jsx(F,{onClick:c,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?l.jsx(tt,{size:24}):l.jsx(mu,{size:24})})}function Di(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function hb({projectName:c,onError:r}){const[d,o]=m.useState([]),[h,p]=m.useState(!1),[v,y]=m.useState("disconnected"),[C,z]=m.useState(null),E=m.useRef(null),k=m.useRef(null),G=m.useRef(0),A=3,H=m.useRef(null),B=m.useRef(null),R=m.useRef(null);m.useEffect(()=>()=>{H.current&&clearInterval(H.current),B.current&&clearTimeout(B.current),R.current&&clearTimeout(R.current),E.current&&E.current.close(),k.current=null},[]);const w=m.useCallback(()=>{if(E.current?.readyState===WebSocket.OPEN||E.current?.readyState===WebSocket.CONNECTING)return;y("connecting");const $=window.location.protocol==="https:"?"wss:":"ws:",X=window.location.host,ee=`${$}//${X}/api/assistant/ws/${encodeURIComponent(c)}`,Q=new WebSocket(ee);E.current=Q,Q.onopen=()=>{y("connected"),G.current=0,H.current=window.setInterval(()=>{Q.readyState===WebSocket.OPEN&&Q.send(JSON.stringify({type:"ping"}))},3e4)},Q.onclose=()=>{if(y("disconnected"),H.current&&(clearInterval(H.current),H.current=null),G.current<A){G.current++;const ne=Math.min(1e3*Math.pow(2,G.current),1e4);B.current=window.setTimeout(w,ne)}},Q.onerror=()=>{y("error"),r?.("WebSocket connection error")},Q.onmessage=ne=>{try{const Z=JSON.parse(ne.data);switch(Z.type){case"text":{o(O=>{const q=O[O.length-1];return q?.role==="assistant"&&q.isStreaming?[...O.slice(0,-1),{...q,content:q.content+Z.content}]:(k.current=Di(),[...O,{id:k.current,role:"assistant",content:Z.content,timestamp:new Date,isStreaming:!0}])});break}case"tool_call":{let O=`Using tool: ${Z.tool}`;if(Z.tool==="mcp__features__feature_create"){const q=Z.input;O=`Creating feature: "${q.name||"New Feature"}" in ${q.category||"General"}`}else if(Z.tool==="mcp__features__feature_create_bulk"){const W=Z.input.features?.length||0;O=`Creating ${W} feature${W!==1?"s":""}`}else if(Z.tool==="mcp__features__feature_skip")O="Skipping feature (moving to end of queue)";else if(Z.tool==="mcp__features__feature_get_stats")O="Checking project progress";else if(Z.tool==="mcp__features__feature_get_next")O="Getting next pending feature";else if(Z.tool==="Read"){const W=Z.input.file_path||"";O=`Reading file: ${W.split("/").pop()||W}`}else Z.tool==="Glob"?O=`Searching for files: ${Z.input.pattern||"..."}`:Z.tool==="Grep"&&(O=`Searching for: ${Z.input.pattern||"..."}`);o(q=>[...q,{id:Di(),role:"system",content:O,timestamp:new Date}]);break}case"conversation_created":{z(Z.conversation_id);break}case"response_done":{p(!1),k.current=null,o(O=>{const q=O[O.length-1];return q?.role==="assistant"&&q.isStreaming?[...O.slice(0,-1),{...q,isStreaming:!1}]:O});break}case"error":{p(!1),r?.(Z.content),o(O=>[...O,{id:Di(),role:"system",content:`Error: ${Z.content}`,timestamp:new Date}]);break}case"pong":break}}catch(Z){console.error("Failed to parse WebSocket message:",Z)}}},[c,r]),S=m.useCallback($=>{R.current&&(clearTimeout(R.current),R.current=null),w();const X=()=>{if(E.current?.readyState===WebSocket.OPEN){R.current=null,p(!0);const ee={type:"start"};$&&(ee.conversation_id=$,z($)),E.current.send(JSON.stringify(ee))}else E.current?.readyState===WebSocket.CONNECTING?R.current=window.setTimeout(X,100):R.current=null};R.current=window.setTimeout(X,100)},[w]),j=m.useCallback($=>{if(!E.current||E.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}o(X=>[...X,{id:Di(),role:"user",content:$,timestamp:new Date}]),p(!0),E.current.send(JSON.stringify({type:"message",content:$}))},[r]),K=m.useCallback(()=>{G.current=A,H.current&&(clearInterval(H.current),H.current=null),E.current&&(E.current.close(),E.current=null),y("disconnected")},[]),J=m.useCallback(()=>{o([])},[]);return{messages:d,isLoading:h,connectionStatus:v,conversationId:C,start:S,sendMessage:j,disconnect:K,clearMessages:J}}function xb(c){return Nt({queryKey:["conversations",c],queryFn:()=>zy(c),enabled:!!c,staleTime:3e4})}function gb(c,r){return Nt({queryKey:["conversation",c,r],queryFn:()=>wy(c,r),enabled:!!c&&!!r,staleTime:3e4,retry:(d,o)=>o instanceof Error&&(o.message.toLowerCase().includes("not found")||o.message==="HTTP 404")?!1:d<3})}function pb(c){const r=at();return rt({mutationFn:d=>Ay(c,d),onSuccess:(d,o)=>{r.invalidateQueries({queryKey:["conversations",c]}),r.removeQueries({queryKey:["conversation",c,o]})}})}function yb(c){if(!c)return"";const r=new Date(c),o=new Date().getTime()-r.getTime(),h=Math.floor(o/1e3),p=Math.floor(h/60),v=Math.floor(p/60),y=Math.floor(v/24);return h<60?"just now":p<60?`${p}m ago`:v<24?`${v}h ago`:y===1?"yesterday":y<7?`${y}d ago`:r.toLocaleDateString()}function vb({projectName:c,currentConversationId:r,isOpen:d,onClose:o,onSelectConversation:h}){const[p,v]=m.useState(null),[y,C]=m.useState(null),{data:z,isLoading:E}=xb(c),k=pb(c);m.useEffect(()=>{d||C(null)},[d]);const G=(R,w)=>{R.stopPropagation(),v(w)},A=async()=>{if(p)try{C(null),await k.mutateAsync(p.id),v(null)}catch{C("Failed to delete conversation. Please try again.")}},H=()=>{v(null),C(null)},B=R=>{h(R),o()};return m.useEffect(()=>{if(!d)return;const R=w=>{w.key==="Escape"&&(w.preventDefault(),o())};return document.addEventListener("keydown",R),()=>document.removeEventListener("keydown",R)},[d,o]),d?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"fixed inset-0 z-40",onClick:o}),l.jsxs(ke,{className:"absolute top-full left-0 mt-2 z-50 w-[320px] max-w-[calc(100vw-2rem)] shadow-lg",children:[l.jsx(Hi,{className:"p-3 border-b border-border",children:l.jsx("h3",{className:"font-bold text-sm",children:"Conversation History"})}),l.jsx(Ge,{className:"p-0",children:E?l.jsx("div",{className:"p-4 flex items-center justify-center",children:l.jsx(_e,{size:20,className:"animate-spin text-muted-foreground"})}):!z||z.length===0?l.jsx("div",{className:"p-4 text-center text-muted-foreground text-sm",children:"No conversations yet"}):l.jsx("div",{className:"max-h-[300px] overflow-y-auto",children:z.map(R=>{const w=R.id===r;return l.jsxs("div",{className:`flex items-center group ${w?"bg-primary/10":"hover:bg-muted"}`,children:[l.jsx("button",{onClick:()=>B(R.id),className:"flex-1 px-3 py-2 text-left",disabled:w,children:l.jsxs("div",{className:"flex items-start gap-2",children:[l.jsx(fp,{size:16,className:"mt-0.5 flex-shrink-0 text-muted-foreground"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"font-medium truncate text-foreground",children:R.title||"Untitled conversation"}),l.jsxs("div",{className:"text-xs flex items-center gap-2 text-muted-foreground",children:[l.jsxs("span",{children:[R.message_count," messages"]}),l.jsx("span",{children:"|"}),l.jsx("span",{children:yb(R.updated_at)})]})]})]})}),l.jsx(F,{variant:"ghost",size:"icon",onClick:S=>G(S,R),className:`h-8 w-8 mr-2 ${w?"opacity-60 hover:opacity-100":"opacity-0 group-hover:opacity-100"} hover:text-destructive hover:bg-destructive/10`,title:"Delete conversation",children:l.jsx(tl,{size:14})})]},R.id)})})})]}),l.jsx(hh,{isOpen:p!==null,title:"Delete Conversation",message:y?l.jsxs("div",{className:"space-y-3",children:[l.jsx("p",{children:`Are you sure you want to delete "${p?.title||"this conversation"}"? This action cannot be undone.`}),l.jsxs("div",{className:"flex items-center gap-2 p-2 bg-destructive/10 border border-destructive rounded text-sm text-destructive",children:[l.jsx(wa,{size:16,className:"flex-shrink-0"}),l.jsx("span",{children:y})]})]}):`Are you sure you want to delete "${p?.title||"this conversation"}"? This action cannot be undone.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:k.isPending,onConfirm:A,onCancel:H})]}):null}function bb({projectName:c,conversationId:r,initialMessages:d,isLoadingConversation:o,onNewChat:h,onSelectConversation:p,onConversationCreated:v}){const[y,C]=m.useState(""),[z,E]=m.useState(!1),k=m.useRef(null),G=m.useRef(null),A=m.useRef(!1),H=m.useRef(void 0),B=m.useCallback(q=>{console.error("Assistant error:",q)},[]),{messages:R,isLoading:w,connectionStatus:S,conversationId:j,start:K,sendMessage:J,clearMessages:$}=hb({projectName:c,onError:B}),X=m.useRef(j);m.useEffect(()=>{X.current===null&&j!==null&&v&&v(j),X.current=j},[j,v]),m.useEffect(()=>{k.current?.scrollIntoView({behavior:"smooth"})},[R]),m.useEffect(()=>{if(o||H.current===r&&A.current)return;const q=H.current!==void 0&&H.current!==r;H.current=r,A.current=!0,q&&$(),K(r)},[r,o,K,$]);const ee=m.useCallback(()=>{$(),h?.()},[$,h]),Q=m.useCallback(q=>{E(!1),p?.(q)},[p]);m.useEffect(()=>{w||G.current?.focus()},[w]);const ne=()=>{const q=y.trim();!q||w||o||(J(q),C(""))},Z=q=>{us(q)&&(q.preventDefault(),ne())},O=m.useMemo(()=>{if(!(H.current===r&&!o))return d??[];if(!d||d.length===0)return R;const W=new Map;for(const ae of d)W.set(ae.id,ae);for(const ae of R)W.set(ae.id,ae);return Array.from(W.values())},[d,R,r,o]);return l.jsxs("div",{className:"flex flex-col h-full",children:[l.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border bg-background",children:[l.jsxs("div",{className:"flex items-center gap-1 relative",children:[l.jsx(F,{variant:"ghost",size:"icon",onClick:ee,className:"h-8 w-8",title:"New conversation",disabled:w,children:l.jsx(Pa,{size:16})}),l.jsx(F,{variant:z?"secondary":"ghost",size:"icon",onClick:()=>E(!z),className:"h-8 w-8",title:"Conversation history",children:l.jsx(mp,{size:16})}),l.jsx(vb,{projectName:c,currentConversationId:r??j,isOpen:z,onClose:()=>E(!1),onSelectConversation:Q})]}),l.jsx("div",{className:"flex items-center gap-2",children:S==="connected"?l.jsxs(l.Fragment,{children:[l.jsx(fn,{size:14,className:"text-green-500"}),l.jsx("span",{className:"text-xs text-muted-foreground",children:"Connected"})]}):S==="connecting"?l.jsxs(l.Fragment,{children:[l.jsx(_e,{size:14,className:"text-primary animate-spin"}),l.jsx("span",{className:"text-xs text-muted-foreground",children:"Connecting..."})]}):l.jsxs(l.Fragment,{children:[l.jsx(dn,{size:14,className:"text-destructive"}),l.jsx("span",{className:"text-xs text-muted-foreground",children:"Disconnected"})]})})]}),l.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:o?l.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(_e,{size:16,className:"animate-spin"}),l.jsx("span",{children:"Loading conversation..."})]})}):O.length===0?l.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:w?l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(_e,{size:16,className:"animate-spin"}),l.jsx("span",{children:"Connecting to assistant..."})]}):l.jsx("span",{children:"Ask me anything about the codebase"})}):l.jsxs("div",{className:"py-4",children:[O.map(q=>l.jsx(pu,{message:q},q.id)),l.jsx("div",{ref:k})]})}),w&&O.length>0&&l.jsx("div",{className:"px-4 py-2 border-t border-border bg-background",children:l.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground text-sm",children:[l.jsxs("div",{className:"flex gap-1",children:[l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),l.jsx("span",{children:"Thinking..."})]})}),l.jsxs("div",{className:"border-t border-border p-4 bg-card",children:[l.jsxs("div",{className:"flex gap-2",children:[l.jsx(Li,{ref:G,value:y,onChange:q=>C(q.target.value),onKeyDown:Z,placeholder:"Ask about the codebase...",disabled:w||o||S!=="connected",className:"flex-1 resize-none min-h-[44px] max-h-[120px]",rows:1}),l.jsx(F,{onClick:ne,disabled:!y.trim()||w||o||S!=="connected",title:"Send message",children:w?l.jsx(_e,{size:18,className:"animate-spin"}):l.jsx(fu,{size:18})})]}),l.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"Press Enter to send, Shift+Enter for new line"})]})]})}const gh="assistant-conversation-";function Xm(c){try{const r=localStorage.getItem(`${gh}${c}`);if(r)return JSON.parse(r).conversationId||null}catch{}return null}function jb(c,r){const d=`${gh}${c}`;r?localStorage.setItem(d,JSON.stringify({conversationId:r})):localStorage.removeItem(d)}function Sb({projectName:c,isOpen:r,onClose:d}){const[o,h]=m.useState(()=>Xm(c)),{data:p,isLoading:v,error:y}=gb(c,o);m.useEffect(()=>{if(y&&o){const G=y.message.toLowerCase();(G.includes("not found")||G.includes("404"))&&(console.warn(`Conversation ${o} not found, clearing stored ID`),h(null))}},[y,o]);const C=p?.messages.map(G=>({id:`db-${G.id}`,role:G.role,content:G.content,timestamp:G.timestamp?new Date(G.timestamp):new Date}));m.useEffect(()=>{jb(c,o)},[c,o]),m.useEffect(()=>{h(Xm(c))},[c]);const z=m.useCallback(()=>{h(null)},[]),E=m.useCallback(G=>{h(G)},[]),k=m.useCallback(G=>{h(G)},[]);return l.jsxs(l.Fragment,{children:[r&&l.jsx("div",{className:"fixed inset-0 bg-black/20 z-40 transition-opacity duration-300",onClick:d,"aria-hidden":"true"}),l.jsxs("div",{className:`
86
83
  fixed right-0 top-0 bottom-0 z-50
87
84
  w-[400px] max-w-[90vw]
88
85
  bg-card
@@ -90,8 +87,8 @@ You choose the rest. Keep it simple. Should be 25 features.`;function hh({projec
90
87
  transform transition-transform duration-300 ease-out
91
88
  flex flex-col shadow-xl
92
89
  ${r?"translate-x-0":"translate-x-full"}
93
- `,role:"dialog","aria-label":"Project Assistant","aria-hidden":!r,children:[l.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border bg-primary text-primary-foreground",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"bg-card text-foreground border border-border p-1.5 rounded",children:l.jsx(uu,{size:18})}),l.jsxs("div",{children:[l.jsx("h2",{className:"font-semibold",children:"Project Assistant"}),l.jsx("p",{className:"text-xs opacity-80 font-mono",children:c})]})]}),l.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:l.jsx(tt,{size:18})})]}),l.jsx("div",{className:"flex-1 overflow-hidden",children:r&&l.jsx(pb,{projectName:c,conversationId:o,initialMessages:C,isLoadingConversation:v,onNewChat:w,onSelectConversation:E,onConversationCreated:_})})]})]})}function Mi(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function bb({projectName:c,onComplete:r,onError:d}){const[o,h]=m.useState([]),[p,v]=m.useState(!1),[y,C]=m.useState(!1),[w,E]=m.useState("disconnected"),[_,L]=m.useState(0),[z,q]=m.useState([]),U=m.useRef(null),R=m.useRef(null),A=m.useRef(0),S=3,j=m.useRef(null),K=m.useRef(null),J=m.useRef(!1),$=m.useRef(!1);m.useEffect(()=>{J.current=y},[y]),m.useEffect(()=>()=>{j.current&&clearInterval(j.current),K.current&&clearTimeout(K.current),U.current&&U.current.close()},[]);const X=m.useCallback(()=>{if($.current||U.current?.readyState===WebSocket.OPEN)return;E("connecting");const Z=window.location.protocol==="https:"?"wss:":"ws:",O=window.location.host,H=`${Z}//${O}/api/expand/ws/${encodeURIComponent(c)}`,W=new WebSocket(H);U.current=W,W.onopen=()=>{E("connected"),A.current=0,$.current=!1,j.current=window.setInterval(()=>{W.readyState===WebSocket.OPEN&&W.send(JSON.stringify({type:"ping"}))},3e4)},W.onclose=ae=>{E("disconnected"),j.current&&(clearInterval(j.current),j.current=null);const g=ae.code>=4e3&&ae.code<=4999;if(!$.current&&!g&&A.current<S&&!J.current){A.current++;const T=Math.min(1e3*Math.pow(2,A.current),1e4);K.current=window.setTimeout(X,T)}},W.onerror=()=>{E("error"),d?.("WebSocket connection error")},W.onmessage=ae=>{try{const g=JSON.parse(ae.data);switch(g.type){case"text":{h(T=>{const I=T[T.length-1];return I?.role==="assistant"&&I.isStreaming?[...T.slice(0,-1),{...I,content:I.content+g.content}]:(R.current=Mi(),[...T,{id:R.current,role:"assistant",content:g.content,timestamp:new Date,isStreaming:!0}])});break}case"features_created":{L(T=>T+g.count),q(g.features),h(T=>[...T,{id:Mi(),role:"system",content:`Created ${g.count} new feature${g.count!==1?"s":""}!`,timestamp:new Date}]);break}case"expansion_complete":{C(!0),v(!1),h(T=>{const I=T[T.length-1];return I?.role==="assistant"&&I.isStreaming?[...T.slice(0,-1),{...I,isStreaming:!1}]:T}),r?.(g.total_added);break}case"error":{v(!1),d?.(g.content),h(T=>[...T,{id:Mi(),role:"system",content:`Error: ${g.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{v(!1),h(T=>{const I=T[T.length-1];return I?.role==="assistant"&&I.isStreaming?[...T.slice(0,-1),{...I,isStreaming:!1}]:T});break}}}catch(g){console.error("Failed to parse WebSocket message:",g)}}},[c,r,d]),ee=m.useCallback(()=>{X();let Z=0;const O=50,H=()=>{U.current?.readyState===WebSocket.OPEN?(v(!0),U.current.send(JSON.stringify({type:"start"}))):U.current?.readyState===WebSocket.CONNECTING&&(Z++<O?setTimeout(H,100):(d?.("Connection timeout"),v(!1)))};setTimeout(H,100)},[X,d]),Q=m.useCallback((Z,O)=>{if(!U.current||U.current.readyState!==WebSocket.OPEN){d?.("Not connected");return}h(W=>[...W,{id:Mi(),role:"user",content:Z,attachments:O,timestamp:new Date}]),v(!0);const H={type:"message",content:Z};O&&O.length>0&&(H.attachments=O.map(W=>({filename:W.filename,mimeType:W.mimeType,base64Data:W.base64Data}))),U.current.send(JSON.stringify(H))},[d]),ne=m.useCallback(()=>{$.current=!0,A.current=S,j.current&&(clearInterval(j.current),j.current=null),K.current&&(clearTimeout(K.current),K.current=null),U.current&&(U.current.close(),U.current=null),E("disconnected")},[]);return{messages:o,isLoading:p,isComplete:y,connectionStatus:w,featuresCreated:_,recentFeatures:z,start:ee,sendMessage:Q,disconnect:ne}}const jb=5*1024*1024,Sb=["image/jpeg","image/png"];function Nb({projectName:c,onComplete:r,onCancel:d}){const[o,h]=m.useState(""),[p,v]=m.useState(null),[y,C]=m.useState([]),w=m.useRef(null),E=m.useRef(null),_=m.useRef(null),L=m.useCallback(O=>v(O),[]),{messages:z,isLoading:q,isComplete:U,connectionStatus:R,featuresCreated:A,start:S,sendMessage:j,disconnect:K}=bb({projectName:c,onComplete:r,onError:L});m.useEffect(()=>(S(),()=>{K()}),[]),m.useEffect(()=>{w.current?.scrollIntoView({behavior:"smooth"})},[z,q]),m.useEffect(()=>{!q&&E.current&&E.current.focus()},[q]);const J=()=>{const O=o.trim();!O&&y.length===0||q||(j(O,y.length>0?y:void 0),h(""),C([]))},$=O=>{us(O)&&(O.preventDefault(),J())},X=m.useCallback(O=>{O&&Array.from(O).forEach(H=>{if(!Sb.includes(H.type)){v(`Invalid file type: ${H.name}. Only JPEG and PNG are supported.`);return}if(H.size>jb){v(`File too large: ${H.name}. Maximum size is 5 MB.`);return}const W=new FileReader;W.onload=ae=>{const g=ae.target?.result,T=g.split(",")[1],I={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:H.name,mimeType:H.type,base64Data:T,previewUrl:g,size:H.size};C(P=>[...P,I])},W.onerror=()=>{v(`Failed to read file: ${H.name}`)},W.readAsDataURL(H)})},[]),ee=m.useCallback(O=>{C(H=>H.filter(W=>W.id!==O))},[]),Q=m.useCallback(O=>{O.preventDefault(),X(O.dataTransfer.files)},[X]),ne=m.useCallback(O=>{O.preventDefault()},[]),Z=()=>{switch(R){case"connected":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[l.jsx(fn,{size:12}),"Connected"]});case"connecting":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[l.jsx(fn,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[l.jsx(dn,{size:12}),"Error"]});default:return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[l.jsx(dn,{size:12}),"Disconnected"]})}};return l.jsxs("div",{className:"flex flex-col h-full bg-background",children:[l.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Expand Project: ",c]}),l.jsx(Z,{}),A>0&&l.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[l.jsx(Pa,{size:14}),A," added"]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[U&&l.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[l.jsx(ta,{size:16}),"Complete"]}),l.jsx(F,{onClick:d,variant:"ghost",size:"icon",title:"Close",children:l.jsx(tt,{size:20})})]})]}),p&&l.jsxs(jt,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[l.jsx(wa,{size:16}),l.jsx(St,{className:"flex-1",children:p}),l.jsx(F,{onClick:()=>v(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:l.jsx(tt,{size:14})})]}),l.jsxs("div",{className:"flex-1 overflow-y-auto py-4",children:[z.length===0&&!q&&l.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:l.jsx(ke,{className:"p-6 max-w-md",children:l.jsxs(Ge,{className:"p-0",children:[l.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Project Expansion"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you add new features to your project..."}),R==="error"&&l.jsxs(F,{onClick:S,className:"mt-4",size:"sm",children:[l.jsx(on,{size:14}),"Retry Connection"]})]})})}),z.map(O=>l.jsx(pu,{message:O},O.id)),q&&l.jsx(mh,{}),l.jsx("div",{ref:w})]}),!U&&l.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:Q,onDragOver:ne,children:[y.length>0&&l.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:y.map(O=>l.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[l.jsx("img",{src:O.previewUrl,alt:O.filename,className:"w-16 h-16 object-cover rounded"}),l.jsx("button",{onClick:()=>ee(O.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:l.jsx(tt,{size:12})}),l.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:O.filename.length>10?`${O.filename.substring(0,7)}...`:O.filename})]},O.id))}),l.jsxs("div",{className:"flex gap-3",children:[l.jsx("input",{ref:_,type:"file",accept:"image/jpeg,image/png",multiple:!0,onChange:O=>X(O.target.files),className:"hidden"}),l.jsx(F,{onClick:()=>_.current?.click(),disabled:R!=="connected",variant:"ghost",size:"icon",title:"Attach image (JPEG, PNG - max 5MB)",children:l.jsx(Oi,{size:18})}),l.jsx(dt,{ref:E,type:"text",value:o,onChange:O=>h(O.target.value),onKeyDown:$,placeholder:y.length>0?"Add a message with your image(s)...":"Describe the features you want to add...",className:"flex-1",disabled:q||R!=="connected"}),l.jsx(F,{onClick:J,disabled:!o.trim()&&y.length===0||q||R!=="connected",className:"px-6",children:l.jsx(fu,{size:18})})]}),l.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send. Drag & drop or click ",l.jsx(Oi,{size:12,className:"inline"})," to attach images."]})]}),U&&l.jsx("div",{className:"p-4 border-t-2 border-border bg-green-500 text-white",children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(ta,{size:20}),l.jsxs("span",{className:"font-bold",children:["Added ",A," new feature",A!==1?"s":"","!"]})]}),l.jsx(F,{onClick:()=>r(A),variant:"secondary",children:"Close"})]})})]})}function Cb({isOpen:c,projectName:r,onClose:d,onFeaturesAdded:o}){if(!c)return null;const h=p=>{p>0&&o(),d()};return l.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:l.jsx(Nb,{projectName:r,onComplete:h,onCancel:d})})}function Zm({className:c,size:r="default",...d}){return l.jsx($p,{"data-slot":"switch","data-size":r,className:Re("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",c),...d,children:l.jsx(Wp,{"data-slot":"switch-thumb",className:Re("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")})})}const zb={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 wb({isOpen:c,onClose:r}){const{data:d,isLoading:o,isError:h,refetch:p}=xu(),{data:v}=n0(),{data:y}=l0(),C=s0(),{theme:w,setTheme:E,darkMode:_,toggleDarkMode:L}=fh(),[z,q]=m.useState(!1),[U,R]=m.useState(""),[A,S]=m.useState(""),[j,K]=m.useState(""),J=()=>{d&&!C.isPending&&C.mutate({yolo_mode:!d.yolo_mode})},$=te=>{C.isPending||C.mutate({api_model:te})},X=te=>{C.isPending||C.mutate({testing_agent_ratio:te})},ee=te=>{C.isPending||C.mutate({batch_size:te})},Q=te=>{C.isPending||(C.mutate({api_provider:te}),R(""),q(!1),S(""),K(""))},ne=()=>{U.trim()&&!C.isPending&&(C.mutate({api_auth_token:U.trim()}),R(""),q(!1))},Z=()=>{j.trim()&&!C.isPending&&C.mutate({api_base_url:j.trim()})},O=()=>{A.trim()&&!C.isPending&&(C.mutate({api_model:A.trim()}),S(""))},H=y?.providers??[],W=v?.models??[],ae=C.isPending,g=d?.api_provider??"claude",T=H.find(te=>te.id===g),P=g!=="claude"&&T?.requires_auth,fe=g==="custom",oe=g==="custom"||g==="ollama";return l.jsx(aa,{open:c,onOpenChange:te=>!te&&r(),children:l.jsxs(la,{"aria-describedby":void 0,className:"sm:max-w-sm max-h-[85vh] overflow-y-auto",children:[l.jsx(na,{children:l.jsxs(sa,{className:"flex items-center gap-2",children:["Settings",ae&&l.jsx(_e,{className:"animate-spin",size:16})]})}),o&&l.jsxs("div",{className:"flex items-center justify-center py-8",children:[l.jsx(_e,{className:"animate-spin",size:24}),l.jsx("span",{className:"ml-2",children:"Loading settings..."})]}),h&&l.jsxs(jt,{variant:"destructive",children:[l.jsx(wa,{className:"h-4 w-4"}),l.jsxs(St,{children:["Failed to load settings",l.jsx(F,{variant:"link",onClick:()=>p(),className:"ml-2 p-0 h-auto",children:"Retry"})]})]}),d&&!o&&l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"space-y-3",children:[l.jsx(Me,{className:"font-medium",children:"Theme"}),l.jsx("div",{className:"grid gap-2",children:ki.map(te=>l.jsxs("button",{onClick:()=>E(te.id),className:`flex items-center gap-3 p-3 rounded-lg border-2 transition-colors text-left ${w===te.id?"border-primary bg-primary/5":"border-border hover:border-primary/50 hover:bg-muted/50"}`,children:[l.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[l.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:te.previewColors.background}}),l.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:te.previewColors.primary}}),l.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:te.previewColors.accent}})]}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"font-medium text-sm",children:te.name}),l.jsx("div",{className:"text-xs text-muted-foreground",children:te.description})]}),w===te.id&&l.jsx(ea,{size:18,className:"text-primary shrink-0"})]},te.id))})]}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5",children:[l.jsx(Me,{htmlFor:"dark-mode",className:"font-medium",children:"Dark Mode"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Switch between light and dark appearance"})]}),l.jsxs(F,{id:"dark-mode",variant:"outline",size:"sm",onClick:L,className:"gap-2",children:[_?l.jsx(nh,{size:16}):l.jsx(sh,{size:16}),_?"Light":"Dark"]})]}),l.jsx("hr",{className:"border-border"}),l.jsxs("div",{className:"space-y-3",children:[l.jsx(Me,{className:"font-medium",children:"API Provider"}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:H.map(te=>l.jsx("button",{onClick:()=>Q(te.id),disabled:ae,className:`py-1.5 px-3 text-sm font-medium rounded-md border transition-colors ${g===te.id?"bg-primary text-primary-foreground border-primary":"bg-background text-foreground border-border hover:bg-muted"} ${ae?"opacity-50 cursor-not-allowed":""}`,children:te.name.split(" (")[0]},te.id))}),l.jsx("p",{className:"text-xs text-muted-foreground",children:zb[g]??""}),P&&l.jsxs("div",{className:"space-y-2 pt-1",children:[l.jsx(Me,{className:"text-sm",children:"API Key"}),d.api_has_auth_token&&!U&&l.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[l.jsx(xp,{size:14,className:"text-green-500"}),l.jsx("span",{children:"Configured"}),l.jsx(F,{variant:"ghost",size:"sm",className:"h-auto py-0.5 px-2 text-xs",onClick:()=>R(" "),children:"Change"})]}),(!d.api_has_auth_token||U)&&l.jsxs("div",{className:"flex gap-2",children:[l.jsxs("div",{className:"relative flex-1",children:[l.jsx("input",{type:z?"text":"password",value:U.trim(),onChange:te=>R(te.target.value),placeholder:"Enter API key...",className:"w-full py-1.5 px-3 pe-9 text-sm border rounded-md bg-background"}),l.jsx("button",{type:"button",onClick:()=>q(!z),className:"absolute end-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:z?l.jsx(gp,{size:14}):l.jsx(pp,{size:14})})]}),l.jsx(F,{size:"sm",onClick:ne,disabled:!U.trim()||ae,children:"Save"})]})]}),fe&&l.jsxs("div",{className:"space-y-2 pt-1",children:[l.jsx(Me,{className:"text-sm",children:"Base URL"}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx("input",{type:"text",value:j||d.api_base_url||"",onChange:te=>K(te.target.value),placeholder:"https://api.example.com/v1",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background"}),l.jsx(F,{size:"sm",onClick:Z,disabled:!j.trim()||ae,children:"Save"})]})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{className:"font-medium",children:"Model"}),W.length>0&&l.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:W.map(te=>l.jsxs("button",{onClick:()=>$(te.id),disabled:ae,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${(d.api_model??d.model)===te.id?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${ae?"opacity-50 cursor-not-allowed":""}`,children:[l.jsx("span",{className:"block",children:te.name}),l.jsx("span",{className:"block text-xs opacity-60",children:te.id})]},te.id))}),oe&&l.jsxs("div",{className:"flex gap-2 pt-1",children:[l.jsx("input",{type:"text",value:A,onChange:te=>S(te.target.value),placeholder:"Custom model name...",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background",onKeyDown:te=>te.key==="Enter"&&O()}),l.jsx(F,{size:"sm",onClick:O,disabled:!A.trim()||ae,children:"Set"})]})]}),l.jsx("hr",{className:"border-border"}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5",children:[l.jsx(Me,{htmlFor:"yolo-mode",className:"font-medium",children:"YOLO Mode"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Skip testing for rapid prototyping"})]}),l.jsx(Zm,{id:"yolo-mode",checked:d.yolo_mode,onCheckedChange:J,disabled:ae})]}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5",children:[l.jsx(Me,{htmlFor:"playwright-headless",className:"font-medium",children:"Headless Browser"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Run browser without visible window (saves CPU)"})]}),l.jsx(Zm,{id:"playwright-headless",checked:d.playwright_headless,onCheckedChange:()=>C.mutate({playwright_headless:!d.playwright_headless}),disabled:ae})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{className:"font-medium",children:"Regression Agents"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of regression testing agents (0 = disabled)"}),l.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:[0,1,2,3].map(te=>l.jsx("button",{onClick:()=>X(te),disabled:ae,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${d.testing_agent_ratio===te?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${ae?"opacity-50 cursor-not-allowed":""}`,children:te},te))})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{className:"font-medium",children:"Features per Agent"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of features assigned to each coding agent"}),l.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:[1,2,3].map(te=>l.jsx("button",{onClick:()=>ee(te),disabled:ae,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${(d.batch_size??1)===te?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${ae?"opacity-50 cursor-not-allowed":""}`,children:te},te))})]}),C.isError&&l.jsx(jt,{variant:"destructive",children:l.jsx(St,{children:"Failed to save settings. Please try again."})})]})]})})}function Ab(c){const r=at();return rt({mutationFn:()=>My(c),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-status",c]})}})}function Eb(c){const r=at();return rt({mutationFn:()=>_y(c),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-status",c]})}})}function Tb({projectName:c,status:r,url:d}){const o=Ab(c),h=Eb(c),p=o.isPending||h.isPending,v=()=>{h.reset(),o.mutate()},y=()=>{o.reset(),h.mutate()},C=r==="stopped"||r==="crashed",w=r==="running",E=r==="crashed";return l.jsxs("div",{className:"flex items-center gap-2",children:[C?l.jsx(F,{onClick:v,disabled:p,variant:E?"destructive":"outline",size:"sm",title:E?"Dev Server Crashed - Click to Restart":"Start Dev Server","aria-label":E?"Restart Dev Server (crashed)":"Start Dev Server",children:p?l.jsx(_e,{size:18,className:"animate-spin"}):E?l.jsx(Aa,{size:18}):l.jsx(yp,{size:18})}):l.jsx(F,{onClick:y,disabled:p,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90",title:"Stop Dev Server","aria-label":"Stop Dev Server",children:p?l.jsx(_e,{size:18,className:"animate-spin"}):l.jsx(eh,{size:18})}),w&&d&&l.jsx(F,{asChild:!0,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90 gap-1",children:l.jsxs("a",{href:d,target:"_blank",rel:"noopener noreferrer",title:`Open ${d} in new tab`,children:[l.jsx("span",{className:"font-mono text-xs",children:d}),l.jsx(du,{size:14})]})}),(o.error||h.error)&&l.jsx("span",{className:"text-xs font-mono text-destructive ml-2",children:String((o.error||h.error)?.message||"Operation failed")})]})}function Db({viewMode:c,onViewModeChange:r}){return l.jsxs("div",{className:"inline-flex rounded-lg border p-1 bg-background",children:[l.jsxs(F,{variant:c==="kanban"?"default":"ghost",size:"sm",onClick:()=>r("kanban"),title:"Kanban View",children:[l.jsx(vp,{size:16}),"Kanban"]}),l.jsxs(F,{variant:c==="graph"?"default":"ghost",size:"sm",onClick:()=>r("graph"),title:"Dependency Graph View",children:[l.jsx(mn,{size:16}),"Graph"]})]})}var Mb=zp();const Fm=Vg(Mb),qi=220,Jm=80;class _b extends m.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?l.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:l.jsxs("div",{className:"text-center p-6",children:[l.jsx(Aa,{size:48,className:"mx-auto mb-4 text-yellow-500"}),l.jsx("div",{className:"text-foreground font-bold mb-2",children:"Graph rendering error"}),l.jsx("div",{className:"text-sm text-muted-foreground mb-4",children:"The dependency graph encountered an issue."}),l.jsxs(F,{onClick:this.handleReset,className:"gap-2",children:[l.jsx(bp,{size:16}),"Reload Graph"]})]})}):this.props.children}}function kb({data:c}){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"},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"},o=()=>{switch(c.status){case"done":return l.jsx(ta,{size:16,className:d[c.status]});case"in_progress":return l.jsx(_e,{size:16,className:`${d[c.status]} animate-spin`});case"blocked":return l.jsx(Aa,{size:16,className:"text-destructive"});default:return l.jsx(rn,{size:16,className:d[c.status]})}};return l.jsxs(l.Fragment,{children:[l.jsx(Nm,{type:"target",position:cn.Left,className:"!bg-border !w-2 !h-2"}),l.jsxs("div",{className:`
90
+ `,role:"dialog","aria-label":"Project Assistant","aria-hidden":!r,children:[l.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border bg-primary text-primary-foreground",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"bg-card text-foreground border border-border p-1.5 rounded",children:l.jsx(uu,{size:18})}),l.jsxs("div",{children:[l.jsx("h2",{className:"font-semibold",children:"Project Assistant"}),l.jsx("p",{className:"text-xs opacity-80 font-mono",children:c})]})]}),l.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:l.jsx(tt,{size:18})})]}),l.jsx("div",{className:"flex-1 overflow-hidden",children:r&&l.jsx(bb,{projectName:c,conversationId:o,initialMessages:C,isLoadingConversation:v,onNewChat:z,onSelectConversation:E,onConversationCreated:k})})]})]})}function Mi(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function Nb({projectName:c,onComplete:r,onError:d}){const[o,h]=m.useState([]),[p,v]=m.useState(!1),[y,C]=m.useState(!1),[z,E]=m.useState("disconnected"),[k,G]=m.useState(0),[A,H]=m.useState([]),B=m.useRef(null),R=m.useRef(null),w=m.useRef(0),S=3,j=m.useRef(null),K=m.useRef(null),J=m.useRef(!1),$=m.useRef(!1);m.useEffect(()=>{J.current=y},[y]),m.useEffect(()=>()=>{j.current&&clearInterval(j.current),K.current&&clearTimeout(K.current),B.current&&B.current.close()},[]);const X=m.useCallback(()=>{if($.current||B.current?.readyState===WebSocket.OPEN)return;E("connecting");const Z=window.location.protocol==="https:"?"wss:":"ws:",O=window.location.host,q=`${Z}//${O}/api/expand/ws/${encodeURIComponent(c)}`,W=new WebSocket(q);B.current=W,W.onopen=()=>{E("connected"),w.current=0,$.current=!1,j.current=window.setInterval(()=>{W.readyState===WebSocket.OPEN&&W.send(JSON.stringify({type:"ping"}))},3e4)},W.onclose=ae=>{E("disconnected"),j.current&&(clearInterval(j.current),j.current=null);const g=ae.code>=4e3&&ae.code<=4999;if(!$.current&&!g&&w.current<S&&!J.current){w.current++;const T=Math.min(1e3*Math.pow(2,w.current),1e4);K.current=window.setTimeout(X,T)}},W.onerror=()=>{E("error"),d?.("WebSocket connection error")},W.onmessage=ae=>{try{const g=JSON.parse(ae.data);switch(g.type){case"text":{h(T=>{const I=T[T.length-1];return I?.role==="assistant"&&I.isStreaming?[...T.slice(0,-1),{...I,content:I.content+g.content}]:(R.current=Mi(),[...T,{id:R.current,role:"assistant",content:g.content,timestamp:new Date,isStreaming:!0}])});break}case"features_created":{G(T=>T+g.count),H(g.features),h(T=>[...T,{id:Mi(),role:"system",content:`Created ${g.count} new feature${g.count!==1?"s":""}!`,timestamp:new Date}]);break}case"expansion_complete":{C(!0),v(!1),h(T=>{const I=T[T.length-1];return I?.role==="assistant"&&I.isStreaming?[...T.slice(0,-1),{...I,isStreaming:!1}]:T}),r?.(g.total_added);break}case"error":{v(!1),d?.(g.content),h(T=>[...T,{id:Mi(),role:"system",content:`Error: ${g.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{v(!1),h(T=>{const I=T[T.length-1];return I?.role==="assistant"&&I.isStreaming?[...T.slice(0,-1),{...I,isStreaming:!1}]:T});break}}}catch(g){console.error("Failed to parse WebSocket message:",g)}}},[c,r,d]),ee=m.useCallback(()=>{X();let Z=0;const O=50,q=()=>{B.current?.readyState===WebSocket.OPEN?(v(!0),B.current.send(JSON.stringify({type:"start"}))):B.current?.readyState===WebSocket.CONNECTING&&(Z++<O?setTimeout(q,100):(d?.("Connection timeout"),v(!1)))};setTimeout(q,100)},[X,d]),Q=m.useCallback((Z,O)=>{if(!B.current||B.current.readyState!==WebSocket.OPEN){d?.("Not connected");return}h(W=>[...W,{id:Mi(),role:"user",content:Z,attachments:O,timestamp:new Date}]),v(!0);const q={type:"message",content:Z};O&&O.length>0&&(q.attachments=O.map(W=>({filename:W.filename,mimeType:W.mimeType,base64Data:W.base64Data}))),B.current.send(JSON.stringify(q))},[d]),ne=m.useCallback(()=>{$.current=!0,w.current=S,j.current&&(clearInterval(j.current),j.current=null),K.current&&(clearTimeout(K.current),K.current=null),B.current&&(B.current.close(),B.current=null),E("disconnected")},[]);return{messages:o,isLoading:p,isComplete:y,connectionStatus:z,featuresCreated:k,recentFeatures:A,start:ee,sendMessage:Q,disconnect:ne}}const Cb=5*1024*1024,zb=["image/jpeg","image/png"];function wb({projectName:c,onComplete:r,onCancel:d}){const[o,h]=m.useState(""),[p,v]=m.useState(null),[y,C]=m.useState([]),z=m.useRef(null),E=m.useRef(null),k=m.useRef(null),G=m.useCallback(O=>v(O),[]),{messages:A,isLoading:H,isComplete:B,connectionStatus:R,featuresCreated:w,start:S,sendMessage:j,disconnect:K}=Nb({projectName:c,onComplete:r,onError:G});m.useEffect(()=>(S(),()=>{K()}),[]),m.useEffect(()=>{z.current?.scrollIntoView({behavior:"smooth"})},[A,H]),m.useEffect(()=>{!H&&E.current&&E.current.focus()},[H]);const J=()=>{const O=o.trim();!O&&y.length===0||H||(j(O,y.length>0?y:void 0),h(""),C([]))},$=O=>{us(O)&&(O.preventDefault(),J())},X=m.useCallback(O=>{O&&Array.from(O).forEach(q=>{if(!zb.includes(q.type)){v(`Invalid file type: ${q.name}. Only JPEG and PNG are supported.`);return}if(q.size>Cb){v(`File too large: ${q.name}. Maximum size is 5 MB.`);return}const W=new FileReader;W.onload=ae=>{const g=ae.target?.result,T=g.split(",")[1],I={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:q.name,mimeType:q.type,base64Data:T,previewUrl:g,size:q.size};C(P=>[...P,I])},W.onerror=()=>{v(`Failed to read file: ${q.name}`)},W.readAsDataURL(q)})},[]),ee=m.useCallback(O=>{C(q=>q.filter(W=>W.id!==O))},[]),Q=m.useCallback(O=>{O.preventDefault(),X(O.dataTransfer.files)},[X]),ne=m.useCallback(O=>{O.preventDefault()},[]),Z=()=>{switch(R){case"connected":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[l.jsx(fn,{size:12}),"Connected"]});case"connecting":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[l.jsx(fn,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[l.jsx(dn,{size:12}),"Error"]});default:return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[l.jsx(dn,{size:12}),"Disconnected"]})}};return l.jsxs("div",{className:"flex flex-col h-full bg-background",children:[l.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Expand Project: ",c]}),l.jsx(Z,{}),w>0&&l.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[l.jsx(Pa,{size:14}),w," added"]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[B&&l.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[l.jsx(ta,{size:16}),"Complete"]}),l.jsx(F,{onClick:d,variant:"ghost",size:"icon",title:"Close",children:l.jsx(tt,{size:20})})]})]}),p&&l.jsxs(jt,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[l.jsx(wa,{size:16}),l.jsx(St,{className:"flex-1",children:p}),l.jsx(F,{onClick:()=>v(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:l.jsx(tt,{size:14})})]}),l.jsxs("div",{className:"flex-1 overflow-y-auto py-4",children:[A.length===0&&!H&&l.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:l.jsx(ke,{className:"p-6 max-w-md",children:l.jsxs(Ge,{className:"p-0",children:[l.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Project Expansion"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you add new features to your project..."}),R==="error"&&l.jsxs(F,{onClick:S,className:"mt-4",size:"sm",children:[l.jsx(on,{size:14}),"Retry Connection"]})]})})}),A.map(O=>l.jsx(pu,{message:O},O.id)),H&&l.jsx(fh,{}),l.jsx("div",{ref:z})]}),!B&&l.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:Q,onDragOver:ne,children:[y.length>0&&l.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:y.map(O=>l.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[l.jsx("img",{src:O.previewUrl,alt:O.filename,className:"w-16 h-16 object-cover rounded"}),l.jsx("button",{onClick:()=>ee(O.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:l.jsx(tt,{size:12})}),l.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:O.filename.length>10?`${O.filename.substring(0,7)}...`:O.filename})]},O.id))}),l.jsxs("div",{className:"flex gap-3",children:[l.jsx("input",{ref:k,type:"file",accept:"image/jpeg,image/png",multiple:!0,onChange:O=>X(O.target.files),className:"hidden"}),l.jsx(F,{onClick:()=>k.current?.click(),disabled:R!=="connected",variant:"ghost",size:"icon",title:"Attach image (JPEG, PNG - max 5MB)",children:l.jsx(Oi,{size:18})}),l.jsx(dt,{ref:E,type:"text",value:o,onChange:O=>h(O.target.value),onKeyDown:$,placeholder:y.length>0?"Add a message with your image(s)...":"Describe the features you want to add...",className:"flex-1",disabled:H||R!=="connected"}),l.jsx(F,{onClick:J,disabled:!o.trim()&&y.length===0||H||R!=="connected",className:"px-6",children:l.jsx(fu,{size:18})})]}),l.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send. Drag & drop or click ",l.jsx(Oi,{size:12,className:"inline"})," to attach images."]})]}),B&&l.jsx("div",{className:"p-4 border-t-2 border-border bg-green-500 text-white",children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(ta,{size:20}),l.jsxs("span",{className:"font-bold",children:["Added ",w," new feature",w!==1?"s":"","!"]})]}),l.jsx(F,{onClick:()=>r(w),variant:"secondary",children:"Close"})]})})]})}function Ab({isOpen:c,projectName:r,onClose:d,onFeaturesAdded:o}){if(!c)return null;const h=p=>{p>0&&o(),d()};return l.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:l.jsx(wb,{projectName:r,onComplete:h,onCancel:d})})}function Km({className:c,size:r="default",...d}){return l.jsx(Wp,{"data-slot":"switch","data-size":r,className:Re("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",c),...d,children:l.jsx(Ip,{"data-slot":"switch-thumb",className:Re("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")})})}const Eb={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 Tb({isOpen:c,onClose:r}){const{data:d,isLoading:o,isError:h,refetch:p}=xu(),{data:v}=s0(),{data:y}=n0(),C=i0(),{theme:z,setTheme:E,darkMode:k,toggleDarkMode:G}=dh(),[A,H]=m.useState(!1),[B,R]=m.useState(""),[w,S]=m.useState(""),[j,K]=m.useState(""),J=()=>{d&&!C.isPending&&C.mutate({yolo_mode:!d.yolo_mode})},$=te=>{C.isPending||C.mutate({api_model:te})},X=te=>{C.isPending||C.mutate({testing_agent_ratio:te})},ee=te=>{C.isPending||C.mutate({batch_size:te})},Q=te=>{C.isPending||(C.mutate({api_provider:te}),R(""),H(!1),S(""),K(""))},ne=()=>{B.trim()&&!C.isPending&&(C.mutate({api_auth_token:B.trim()}),R(""),H(!1))},Z=()=>{j.trim()&&!C.isPending&&C.mutate({api_base_url:j.trim()})},O=()=>{w.trim()&&!C.isPending&&(C.mutate({api_model:w.trim()}),S(""))},q=y?.providers??[],W=v?.models??[],ae=C.isPending,g=d?.api_provider??"claude",T=q.find(te=>te.id===g),P=g!=="claude"&&T?.requires_auth,fe=g==="custom",oe=g==="custom"||g==="ollama";return l.jsx(aa,{open:c,onOpenChange:te=>!te&&r(),children:l.jsxs(la,{"aria-describedby":void 0,className:"sm:max-w-sm max-h-[85vh] overflow-y-auto",children:[l.jsx(na,{children:l.jsxs(sa,{className:"flex items-center gap-2",children:["Settings",ae&&l.jsx(_e,{className:"animate-spin",size:16})]})}),o&&l.jsxs("div",{className:"flex items-center justify-center py-8",children:[l.jsx(_e,{className:"animate-spin",size:24}),l.jsx("span",{className:"ml-2",children:"Loading settings..."})]}),h&&l.jsxs(jt,{variant:"destructive",children:[l.jsx(wa,{className:"h-4 w-4"}),l.jsxs(St,{children:["Failed to load settings",l.jsx(F,{variant:"link",onClick:()=>p(),className:"ml-2 p-0 h-auto",children:"Retry"})]})]}),d&&!o&&l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"space-y-3",children:[l.jsx(Me,{className:"font-medium",children:"Theme"}),l.jsx("div",{className:"grid gap-2",children:ki.map(te=>l.jsxs("button",{onClick:()=>E(te.id),className:`flex items-center gap-3 p-3 rounded-lg border-2 transition-colors text-left ${z===te.id?"border-primary bg-primary/5":"border-border hover:border-primary/50 hover:bg-muted/50"}`,children:[l.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[l.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:te.previewColors.background}}),l.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:te.previewColors.primary}}),l.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:te.previewColors.accent}})]}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"font-medium text-sm",children:te.name}),l.jsx("div",{className:"text-xs text-muted-foreground",children:te.description})]}),z===te.id&&l.jsx(ea,{size:18,className:"text-primary shrink-0"})]},te.id))})]}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5",children:[l.jsx(Me,{htmlFor:"dark-mode",className:"font-medium",children:"Dark Mode"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Switch between light and dark appearance"})]}),l.jsxs(F,{id:"dark-mode",variant:"outline",size:"sm",onClick:G,className:"gap-2",children:[k?l.jsx(lh,{size:16}):l.jsx(nh,{size:16}),k?"Light":"Dark"]})]}),l.jsx("hr",{className:"border-border"}),l.jsxs("div",{className:"space-y-3",children:[l.jsx(Me,{className:"font-medium",children:"API Provider"}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:q.map(te=>l.jsx("button",{onClick:()=>Q(te.id),disabled:ae,className:`py-1.5 px-3 text-sm font-medium rounded-md border transition-colors ${g===te.id?"bg-primary text-primary-foreground border-primary":"bg-background text-foreground border-border hover:bg-muted"} ${ae?"opacity-50 cursor-not-allowed":""}`,children:te.name.split(" (")[0]},te.id))}),l.jsx("p",{className:"text-xs text-muted-foreground",children:Eb[g]??""}),P&&l.jsxs("div",{className:"space-y-2 pt-1",children:[l.jsx(Me,{className:"text-sm",children:"API Key"}),d.api_has_auth_token&&!B&&l.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[l.jsx(hp,{size:14,className:"text-green-500"}),l.jsx("span",{children:"Configured"}),l.jsx(F,{variant:"ghost",size:"sm",className:"h-auto py-0.5 px-2 text-xs",onClick:()=>R(" "),children:"Change"})]}),(!d.api_has_auth_token||B)&&l.jsxs("div",{className:"flex gap-2",children:[l.jsxs("div",{className:"relative flex-1",children:[l.jsx("input",{type:A?"text":"password",value:B.trim(),onChange:te=>R(te.target.value),placeholder:"Enter API key...",className:"w-full py-1.5 px-3 pe-9 text-sm border rounded-md bg-background"}),l.jsx("button",{type:"button",onClick:()=>H(!A),className:"absolute end-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:A?l.jsx(xp,{size:14}):l.jsx(gp,{size:14})})]}),l.jsx(F,{size:"sm",onClick:ne,disabled:!B.trim()||ae,children:"Save"})]})]}),fe&&l.jsxs("div",{className:"space-y-2 pt-1",children:[l.jsx(Me,{className:"text-sm",children:"Base URL"}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx("input",{type:"text",value:j||d.api_base_url||"",onChange:te=>K(te.target.value),placeholder:"https://api.example.com/v1",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background"}),l.jsx(F,{size:"sm",onClick:Z,disabled:!j.trim()||ae,children:"Save"})]})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{className:"font-medium",children:"Model"}),W.length>0&&l.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:W.map(te=>l.jsxs("button",{onClick:()=>$(te.id),disabled:ae,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${(d.api_model??d.model)===te.id?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${ae?"opacity-50 cursor-not-allowed":""}`,children:[l.jsx("span",{className:"block",children:te.name}),l.jsx("span",{className:"block text-xs opacity-60",children:te.id})]},te.id))}),oe&&l.jsxs("div",{className:"flex gap-2 pt-1",children:[l.jsx("input",{type:"text",value:w,onChange:te=>S(te.target.value),placeholder:"Custom model name...",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background",onKeyDown:te=>te.key==="Enter"&&O()}),l.jsx(F,{size:"sm",onClick:O,disabled:!w.trim()||ae,children:"Set"})]})]}),l.jsx("hr",{className:"border-border"}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5",children:[l.jsx(Me,{htmlFor:"yolo-mode",className:"font-medium",children:"YOLO Mode"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Skip testing for rapid prototyping"})]}),l.jsx(Km,{id:"yolo-mode",checked:d.yolo_mode,onCheckedChange:J,disabled:ae})]}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5",children:[l.jsx(Me,{htmlFor:"playwright-headless",className:"font-medium",children:"Headless Browser"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Run browser without visible window (saves CPU)"})]}),l.jsx(Km,{id:"playwright-headless",checked:d.playwright_headless,onCheckedChange:()=>C.mutate({playwright_headless:!d.playwright_headless}),disabled:ae})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{className:"font-medium",children:"Regression Agents"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of regression testing agents (0 = disabled)"}),l.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:[0,1,2,3].map(te=>l.jsx("button",{onClick:()=>X(te),disabled:ae,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${d.testing_agent_ratio===te?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${ae?"opacity-50 cursor-not-allowed":""}`,children:te},te))})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Me,{className:"font-medium",children:"Features per Agent"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of features assigned to each coding agent"}),l.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:[1,2,3].map(te=>l.jsx("button",{onClick:()=>ee(te),disabled:ae,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${(d.batch_size??1)===te?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${ae?"opacity-50 cursor-not-allowed":""}`,children:te},te))})]}),C.isError&&l.jsx(jt,{variant:"destructive",children:l.jsx(St,{children:"Failed to save settings. Please try again."})})]})]})})}function Db(c){const r=at();return rt({mutationFn:()=>_y(c),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-status",c]})}})}function Mb(c){const r=at();return rt({mutationFn:()=>ky(c),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-status",c]})}})}function _b({projectName:c,status:r,url:d}){const o=Db(c),h=Mb(c),p=o.isPending||h.isPending,v=()=>{h.reset(),o.mutate()},y=()=>{o.reset(),h.mutate()},C=r==="stopped"||r==="crashed",z=r==="running",E=r==="crashed";return l.jsxs("div",{className:"flex items-center gap-2",children:[C?l.jsx(F,{onClick:v,disabled:p,variant:E?"destructive":"outline",size:"sm",title:E?"Dev Server Crashed - Click to Restart":"Start Dev Server","aria-label":E?"Restart Dev Server (crashed)":"Start Dev Server",children:p?l.jsx(_e,{size:18,className:"animate-spin"}):E?l.jsx(Aa,{size:18}):l.jsx(pp,{size:18})}):l.jsx(F,{onClick:y,disabled:p,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90",title:"Stop Dev Server","aria-label":"Stop Dev Server",children:p?l.jsx(_e,{size:18,className:"animate-spin"}):l.jsx(Pm,{size:18})}),z&&d&&l.jsx(F,{asChild:!0,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90 gap-1",children:l.jsxs("a",{href:d,target:"_blank",rel:"noopener noreferrer",title:`Open ${d} in new tab`,children:[l.jsx("span",{className:"font-mono text-xs",children:d}),l.jsx(du,{size:14})]})}),(o.error||h.error)&&l.jsx("span",{className:"text-xs font-mono text-destructive ml-2",children:String((o.error||h.error)?.message||"Operation failed")})]})}function kb({viewMode:c,onViewModeChange:r}){return l.jsxs("div",{className:"inline-flex rounded-lg border p-1 bg-background",children:[l.jsxs(F,{variant:c==="kanban"?"default":"ghost",size:"sm",onClick:()=>r("kanban"),title:"Kanban View",children:[l.jsx(yp,{size:16}),"Kanban"]}),l.jsxs(F,{variant:c==="graph"?"default":"ghost",size:"sm",onClick:()=>r("graph"),title:"Dependency Graph View",children:[l.jsx(mn,{size:16}),"Graph"]})]})}var Ob=Cp();const Zm=Yg(Ob),qi=220,Fm=80;class Rb extends m.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?l.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:l.jsxs("div",{className:"text-center p-6",children:[l.jsx(Aa,{size:48,className:"mx-auto mb-4 text-yellow-500"}),l.jsx("div",{className:"text-foreground font-bold mb-2",children:"Graph rendering error"}),l.jsx("div",{className:"text-sm text-muted-foreground mb-4",children:"The dependency graph encountered an issue."}),l.jsxs(F,{onClick:this.handleReset,className:"gap-2",children:[l.jsx(vp,{size:16}),"Reload Graph"]})]})}):this.props.children}}function Ub({data:c}){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"},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"},o=()=>{switch(c.status){case"done":return l.jsx(ta,{size:16,className:d[c.status]});case"in_progress":return l.jsx(_e,{size:16,className:`${d[c.status]} animate-spin`});case"blocked":return l.jsx(Aa,{size:16,className:"text-destructive"});default:return l.jsx(rn,{size:16,className:d[c.status]})}};return l.jsxs(l.Fragment,{children:[l.jsx(Nm,{type:"target",position:cn.Left,className:"!bg-border !w-2 !h-2"}),l.jsxs("div",{className:`
94
91
  px-4 py-3 rounded-lg border-2 cursor-pointer
95
92
  transition-all hover:shadow-md relative
96
93
  ${r[c.status]}
97
- `,onClick:c.onClick,style:{minWidth:qi-20,maxWidth:qi},children:[c.agent&&l.jsx("div",{className:"absolute -top-3 -right-3 z-10",children:l.jsx("div",{className:"rounded-full border-2 border-border bg-background shadow-sm",children:l.jsx(hn,{name:c.agent.name,state:c.agent.state,size:"sm"})})}),l.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[l.jsx(o,{}),l.jsxs("span",{className:`text-xs font-mono ${d[c.status]} opacity-70`,children:["#",c.priority]}),c.agent&&l.jsx("span",{className:`text-xs font-bold ${d[c.status]} ml-auto`,children:c.agent.name})]}),l.jsx("div",{className:`font-bold text-sm ${d[c.status]} truncate`,title:c.name,children:c.name}),l.jsx("div",{className:`text-xs ${d[c.status]} opacity-70 truncate`,title:c.category,children:c.category})]}),l.jsx(Nm,{type:"source",position:cn.Right,className:"!bg-border !w-2 !h-2"})]})}const Ob={feature:kb};function $m(c,r,d="LR"){const o=new Fm.graphlib.Graph;o.setDefaultEdgeLabel(()=>({}));const h=d==="LR";return o.setGraph({rankdir:d,nodesep:50,ranksep:100,marginx:50,marginy:50}),c.forEach(v=>{o.setNode(v.id,{width:qi,height:Jm})}),r.forEach(v=>{o.setEdge(v.source,v.target)}),Fm.layout(o),{nodes:c.map(v=>{const y=o.node(v.id);return{...v,position:{x:y.x-qi/2,y:y.y-Jm/2},sourcePosition:h?cn.Right:cn.Bottom,targetPosition:h?cn.Left:cn.Top}}),edges:r}}function Rb({graphData:c,onNodeClick:r,activeAgents:d=[]}){const[o,h]=m.useState("LR"),p=m.useRef(r);m.useEffect(()=>{p.current=r},[r]);const v=m.useCallback(j=>{p.current?.(j)},[]),y=m.useMemo(()=>{const j=new Map;for(const K of d){const J=K.featureIds||[K.featureId];for(const $ of J)j.set($,{name:K.agentName,state:K.state})}return j},[d]),C=m.useMemo(()=>{const j=c.nodes.map(J=>({id:String(J.id),type:"feature",position:{x:0,y:0},data:{...J,onClick:()=>v(J.id),agent:y.get(J.id)}})),K=c.edges.map((J,$)=>({id:`e${J.source}-${J.target}-${$}`,source:String(J.source),target:String(J.target),type:"smoothstep",animated:!1,style:{stroke:"#a1a1aa",strokeWidth:2},markerEnd:{type:wp.ArrowClosed,color:"#a1a1aa"}}));return $m(j,K,o)},[c,o,v,y]),[w,E,_]=Ap(C.nodes),[L,z,q]=Ep(C.edges),U=m.useRef(""),R=m.useRef(o);m.useEffect(()=>{const j=Array.from(y.entries()).map(([J,$])=>({featureId:J,agentName:$.name,agentState:$.state})),K=JSON.stringify({nodes:c.nodes.map(J=>({id:J.id,status:J.status})),edges:c.edges,agents:j});if(K!==U.current||o!==R.current){U.current=K,R.current=o;const{nodes:J,edges:$}=$m(C.nodes,C.edges,o);E(J),z($)}},[c,o,E,z,C,y]);const A=m.useCallback(j=>{h(j)},[]),S=m.useCallback(j=>{switch(j.data.status){case"done":return"#22c55e";case"in_progress":return"#06b6d4";case"blocked":return"#ef4444";default:return"#eab308"}},[]);return c.nodes.length===0?l.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:l.jsxs("div",{className:"text-center",children:[l.jsx("div",{className:"text-muted-foreground mb-2",children:"No features to display"}),l.jsx("div",{className:"text-sm text-muted-foreground/70",children:"Create features to see the dependency graph"})]})}):l.jsxs("div",{className:"h-full w-full relative bg-background",children:[l.jsxs("div",{className:"absolute top-4 left-4 z-10 flex gap-2",children:[l.jsx(F,{variant:o==="LR"?"default":"outline",size:"sm",onClick:()=>A("LR"),children:"Horizontal"}),l.jsx(F,{variant:o==="TB"?"default":"outline",size:"sm",onClick:()=>A("TB"),children:"Vertical"})]}),l.jsx(ke,{className:"absolute top-4 right-4 z-10",children:l.jsxs(Ge,{className:"p-3",children:[l.jsx("div",{className:"text-xs font-bold mb-2",children:"Status"}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[l.jsx("div",{className:"w-3 h-3 rounded bg-yellow-400 border border-yellow-500"}),l.jsx("span",{children:"Pending"})]}),l.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[l.jsx("div",{className:"w-3 h-3 rounded bg-cyan-400 border border-cyan-500"}),l.jsx("span",{children:"In Progress"})]}),l.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[l.jsx("div",{className:"w-3 h-3 rounded bg-green-400 border border-green-500"}),l.jsx("span",{children:"Done"})]}),l.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[l.jsx("div",{className:"w-3 h-3 rounded bg-red-100 border border-red-400"}),l.jsx("span",{children:"Blocked"})]})]})]})}),l.jsxs(Tp,{nodes:w,edges:L,onNodesChange:_,onEdgesChange:q,nodeTypes:Ob,connectionMode:Dp.Loose,fitView:!0,fitViewOptions:{padding:.2},attributionPosition:"bottom-left",minZoom:.1,maxZoom:2,children:[l.jsx(Mp,{color:"#d4d4d8",gap:20,size:1}),l.jsx(_p,{className:"!bg-card !border !border-border !rounded-lg !shadow-sm",showInteractive:!1}),l.jsx(kp,{nodeColor:S,className:"!bg-card !border !border-border !rounded-lg !shadow-sm",maskColor:"rgba(0, 0, 0, 0.1)"})]})]})}function Ub({graphData:c,onNodeClick:r,activeAgents:d}){const[o,h]=m.useState(0),p=m.useCallback(()=>{h(v=>v+1)},[]);return l.jsx(_b,{onReset:p,children:l.jsx(Rb,{graphData:c,onNodeClick:r,activeAgents:d})},o)}const Bb=[{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 qb({isOpen:c,onClose:r}){const d=m.useCallback(o=>{(o.key==="Escape"||o.key==="?")&&(o.preventDefault(),r())},[r]);return m.useEffect(()=>{if(c)return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[c,d]),l.jsx(aa,{open:c,onOpenChange:o=>!o&&r(),children:l.jsxs(la,{className:"sm:max-w-md",children:[l.jsx(na,{children:l.jsxs(sa,{className:"flex items-center gap-2",children:[l.jsx(jp,{size:20,className:"text-primary"}),"Keyboard Shortcuts"]})}),l.jsx("ul",{className:"space-y-1",children:Bb.map(o=>l.jsxs("li",{className:"flex items-center justify-between py-2 border-b border-border/50 last:border-0",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.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}),l.jsx("span",{className:"text-sm",children:o.description})]}),o.context&&l.jsx(Oe,{variant:"secondary",className:"text-xs",children:o.context})]},o.key))}),l.jsx("p",{className:"text-xs text-muted-foreground text-center pt-2",children:"Press ? or Esc to close"})]})})}function Hb({themes:c,currentTheme:r,onThemeChange:d}){const[o,h]=m.useState(!1),[p,v]=m.useState(null),y=m.useRef(null),C=m.useRef(null);m.useEffect(()=>{const z=q=>{y.current&&!y.current.contains(q.target)&&(h(!1),v(null))};return document.addEventListener("mousedown",z),()=>document.removeEventListener("mousedown",z)},[]),m.useEffect(()=>{if(p){const z=document.documentElement;z.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business"),p==="claude"?z.classList.add("theme-claude"):p==="neo-brutalism"?z.classList.add("theme-neo-brutalism"):p==="retro-arcade"?z.classList.add("theme-retro-arcade"):p==="aurora"?z.classList.add("theme-aurora"):p==="business"&&z.classList.add("theme-business")}return()=>{if(p){const z=document.documentElement;z.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business"),r==="claude"?z.classList.add("theme-claude"):r==="neo-brutalism"?z.classList.add("theme-neo-brutalism"):r==="retro-arcade"?z.classList.add("theme-retro-arcade"):r==="aurora"?z.classList.add("theme-aurora"):r==="business"&&z.classList.add("theme-business")}}},[p,r]);const w=()=>{C.current&&clearTimeout(C.current),h(!0)},E=()=>{C.current=setTimeout(()=>{h(!1),v(null)},150)},_=z=>{v(z)},L=z=>{d(z),v(null),h(!1)};return l.jsxs("div",{ref:y,className:"relative",onMouseEnter:w,onMouseLeave:E,children:[l.jsx(F,{variant:"outline",size:"sm",title:"Theme","aria-label":"Select theme","aria-expanded":o,"aria-haspopup":"true",children:l.jsx(Sp,{size:18})}),o&&l.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:l.jsx("div",{className:"p-2 space-y-1",children:c.map(z=>l.jsxs("button",{onClick:()=>L(z.id),onMouseEnter:()=>_(z.id),onMouseLeave:()=>v(null),className:`w-full flex items-center gap-3 px-3 py-2 rounded-md text-left transition-colors ${r===z.id?"bg-primary/10 text-foreground":"hover:bg-muted text-foreground"}`,role:"menuitem",children:[l.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[l.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:z.previewColors.background}}),l.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:z.previewColors.primary}}),l.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:z.previewColors.accent}})]}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"font-medium text-sm",children:z.name}),l.jsx("div",{className:"text-xs text-muted-foreground truncate",children:z.description})]}),r===z.id&&l.jsx(ea,{size:16,className:"text-primary shrink-0"})]},z.id))})})]})}function Lb({isOpen:c,projectName:r,onClose:d,onResetComplete:o}){const[h,p]=m.useState("quick"),v=Xy(r),y=async()=>{const w=h==="full";try{await v.mutateAsync(w),o?.(w),d()}catch{}},C=()=>{v.isPending||(v.reset(),p("quick"),d())};return l.jsx(aa,{open:c,onOpenChange:w=>!w&&C(),children:l.jsxs(la,{className:"sm:max-w-md",children:[l.jsxs(na,{children:[l.jsxs(sa,{className:"flex items-center gap-2",children:[l.jsx(on,{size:20}),"Reset Project"]}),l.jsxs(Bi,{children:["Reset ",l.jsx("span",{className:"font-semibold",children:r})," to start fresh"]})]}),l.jsxs("div",{className:"space-y-4 py-4",children:[l.jsxs("div",{className:"flex rounded-lg border-2 border-border overflow-hidden",children:[l.jsxs("button",{onClick:()=>p("quick"),disabled:v.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${h==="quick"?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${v.isPending?"opacity-50 cursor-not-allowed":""}`,children:[l.jsx(on,{size:16}),"Quick Reset"]}),l.jsxs("button",{onClick:()=>p("full"),disabled:v.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${h==="full"?"bg-destructive text-destructive-foreground":"bg-background text-foreground hover:bg-muted"} ${v.isPending?"opacity-50 cursor-not-allowed":""}`,children:[l.jsx(tl,{size:16}),"Full Reset"]})]}),l.jsxs(jt,{variant:h==="full"?"destructive":"default",className:"border-2",children:[l.jsx(Aa,{className:"h-4 w-4"}),l.jsxs(St,{children:[l.jsx("div",{className:"font-semibold mb-2",children:"What will be deleted:"}),l.jsxs("ul",{className:"list-none space-y-1 text-sm",children:[l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(tt,{size:14,className:"text-destructive"}),"All features and progress"]}),l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(tt,{size:14,className:"text-destructive"}),"Assistant chat history"]}),l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(tt,{size:14,className:"text-destructive"}),"Agent settings"]}),h==="full"&&l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(tt,{size:14,className:"text-destructive"}),"App spec and prompts"]})]})]})]}),l.jsxs("div",{className:"bg-muted/50 rounded-lg border-2 border-border p-3",children:[l.jsx("div",{className:"font-semibold mb-2 text-sm",children:"What will be preserved:"}),l.jsx("ul",{className:"list-none space-y-1 text-sm text-muted-foreground",children:h==="quick"?l.jsxs(l.Fragment,{children:[l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(ea,{size:14,className:"text-green-600"}),"App spec and prompts"]}),l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(ea,{size:14,className:"text-green-600"}),"Project code and files"]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(ea,{size:14,className:"text-green-600"}),"Project code and files"]}),l.jsxs("li",{className:"flex items-center gap-2 text-muted-foreground/70",children:[l.jsx(Aa,{size:14}),"Setup wizard will appear"]})]})})]}),v.isError&&l.jsx(jt,{variant:"destructive",children:l.jsx(St,{children:v.error instanceof Error?v.error.message:"Failed to reset project. Please try again."})})]}),l.jsxs(el,{className:"gap-2",children:[l.jsx(F,{variant:"outline",onClick:C,disabled:v.isPending,children:"Cancel"}),l.jsx(F,{variant:h==="full"?"destructive":"default",onClick:y,disabled:v.isPending,children:v.isPending?l.jsxs(l.Fragment,{children:[l.jsx(_e,{className:"animate-spin mr-2",size:16}),"Resetting..."]}):l.jsx(l.Fragment,{children:h==="quick"?"Quick Reset":"Full Reset"})})]})]})})}function Gb({projectName:c,projectPath:r,onCreateWithClaude:d,onEditManually:o}){return l.jsx("div",{className:"max-w-2xl mx-auto mt-8",children:l.jsxs(ke,{className:"border-2",children:[l.jsxs(Hi,{className:"text-center",children:[l.jsx(gu,{className:"text-2xl font-display",children:"Project Setup Required"}),l.jsxs(p0,{className:"text-base",children:[l.jsx("span",{className:"font-semibold",children:c})," needs an app spec to get started"]}),r&&l.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground mt-2",children:[l.jsx(Ri,{size:14}),l.jsx("code",{className:"bg-muted px-2 py-0.5 rounded text-xs",children:r})]})]}),l.jsxs(Ge,{className:"space-y-4",children:[l.jsx("p",{className:"text-center text-muted-foreground",children:"Choose how you want to create your app specification:"}),l.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[l.jsx(ke,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:d,children:l.jsxs(Ge,{className:"pt-6 text-center space-y-3",children:[l.jsx("div",{className:"w-12 h-12 mx-auto bg-primary/10 rounded-full flex items-center justify-center",children:l.jsx(jl,{className:"text-primary",size:24})}),l.jsx("h3",{className:"font-semibold text-lg",children:"Create with Claude"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Describe your app idea and Claude will help create a detailed specification"}),l.jsxs(F,{className:"w-full",children:[l.jsx(jl,{size:16,className:"mr-2"}),"Start Chat"]})]})}),l.jsx(ke,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:o,children:l.jsxs(Ge,{className:"pt-6 text-center space-y-3",children:[l.jsx("div",{className:"w-12 h-12 mx-auto bg-muted rounded-full flex items-center justify-center",children:l.jsx(cu,{className:"text-muted-foreground",size:24})}),l.jsx("h3",{className:"font-semibold text-lg",children:"Edit Templates Manually"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Create the prompts directory and edit template files yourself"}),l.jsxs(F,{variant:"outline",className:"w-full",children:[l.jsx(cu,{size:16,className:"mr-2"}),"View Templates"]})]})})]}),l.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 iu="autoforge-selected-project",Wm="autoforge-view-mode",Qb=48;function Yb(){const[c,r]=m.useState(()=>{try{return localStorage.getItem(iu)}catch{return null}}),[d,o]=m.useState(!1),[h,p]=m.useState(!1),[v,y]=m.useState(null),[C,w]=m.useState(!0),[E,_]=m.useState(!1),[L,z]=m.useState(288),[q,U]=m.useState("agent"),[R,A]=m.useState(!1),[S,j]=m.useState(!1),[K,J]=m.useState(!1),[$,X]=m.useState(!1),[ee,Q]=m.useState(!1),[ne,Z]=m.useState(!1),[O,H]=m.useState("idle"),[W,ae]=m.useState(null),[g,T]=m.useState(()=>{try{return localStorage.getItem(Wm)==="graph"?"graph":"kanban"}catch{return"kanban"}}),I=at(),{data:P,isLoading:fe}=Qy(),{data:oe}=uh(c),{data:te}=xu();Wy(c);const ie=c0(c),{theme:Ue,setTheme:ut,darkMode:ft,toggleDarkMode:ia,themes:ca}=fh(),le=P?.find(Ke=>Ke.name===c),de=le?.has_spec??!0,{data:Be}=Nt({queryKey:["dependencyGraph",c],queryFn:()=>gy(c),enabled:!!c&&g==="graph",refetchInterval:5e3});m.useEffect(()=>{try{localStorage.setItem(Wm,g)}catch{}},[g]),o0(oe),h0(oe,c);const Ct=m.useCallback(Ke=>{r(Ke);try{Ke?localStorage.setItem(iu,Ke):localStorage.removeItem(iu)}catch{}},[]),Kt=m.useCallback(Ke=>{const zt=[...oe?.pending??[],...oe?.in_progress??[],...oe?.done??[]].find(os=>os.id===Ke);zt&&y(zt)},[oe]);m.useEffect(()=>{c&&P&&!P.some(Ke=>Ke.name===c)&&Ct(null)},[c,P,Ct]),m.useEffect(()=>{const Ke=be=>{be.target instanceof HTMLInputElement||be.target instanceof HTMLTextAreaElement||((be.key==="d"||be.key==="D")&&(be.preventDefault(),_(zt=>!zt)),(be.key==="t"||be.key==="T")&&(be.preventDefault(),E?q==="terminal"?_(!1):U("terminal"):(_(!0),U("terminal"))),(be.key==="n"||be.key==="N")&&c&&(be.preventDefault(),o(!0)),(be.key==="e"||be.key==="E")&&c&&de&&oe&&oe.pending.length+oe.in_progress.length+oe.done.length>0&&(be.preventDefault(),p(!0)),(be.key==="a"||be.key==="A")&&c&&!$&&(be.preventDefault(),A(zt=>!zt)),be.key===","&&(be.preventDefault(),j(!0)),(be.key==="g"||be.key==="G")&&c&&(be.preventDefault(),T(zt=>zt==="kanban"?"graph":"kanban")),be.key==="?"&&(be.preventDefault(),J(!0)),(be.key==="r"||be.key==="R")&&c&&ie.agentStatus!=="running"&&(be.preventDefault(),Q(!0)),be.key==="Escape"&&(K?J(!1):ee?Q(!1):h?p(!1):S?j(!1):R?A(!1):d?o(!1):v?y(null):E&&_(!1)))};return window.addEventListener("keydown",Ke),()=>window.removeEventListener("keydown",Ke)},[c,d,h,v,E,q,R,oe,S,K,$,g,ee,ie.agentStatus,de]);const ot=ie.progress.total>0?ie.progress:{passing:oe?.done.length??0,total:(oe?.pending.length??0)+(oe?.in_progress.length??0)+(oe?.done.length??0),percentage:0};return ot.total>0&&ot.percentage===0&&(ot.percentage=Math.round(ot.passing/ot.total*100*10)/10),C?l.jsxs("div",{className:"min-h-screen bg-background",children:[l.jsx("header",{className:"sticky top-0 z-50 bg-card/80 backdrop-blur-md text-foreground border-b-2 border-border",children:l.jsx("div",{className:"max-w-7xl mx-auto px-4 py-4",children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("img",{src:"/logo.png",alt:"AutoForge",className:"h-9 w-9 rounded-full"}),l.jsx("h1",{className:"font-display text-2xl font-bold tracking-tight uppercase",children:"AutoForge"})]}),l.jsxs("div",{className:"flex items-center gap-4",children:[l.jsx(O0,{projects:P??[],selectedProject:c,onSelectProject:Ct,isLoading:fe,onSpecCreatingChange:X}),c&&l.jsxs(l.Fragment,{children:[l.jsx(Tv,{projectName:c,status:ie.agentStatus,defaultConcurrency:le?.default_concurrency}),l.jsx(Tb,{projectName:c,status:ie.devServerStatus,url:ie.devServerUrl}),l.jsx(F,{onClick:()=>j(!0),variant:"outline",size:"sm",title:"Settings (,)","aria-label":"Open Settings",children:l.jsx(Np,{size:18})}),l.jsx(F,{onClick:()=>Q(!0),variant:"outline",size:"sm",title:"Reset Project (R)","aria-label":"Reset Project",disabled:ie.agentStatus==="running",children:l.jsx(on,{size:18})}),te?.ollama_mode&&l.jsxs("div",{className:"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:[l.jsx("img",{src:"/ollama.png",alt:"Ollama",className:"w-5 h-5"}),l.jsx("span",{className:"text-xs font-bold text-foreground",children:"Ollama"})]}),te?.glm_mode&&l.jsx(Oe,{className:"bg-purple-500 text-white hover:bg-purple-600",title:"Using GLM API",children:"GLM"})]}),l.jsx(F,{onClick:()=>window.open("https://autoforge.cc","_blank"),variant:"outline",size:"sm",title:"Documentation","aria-label":"Open Documentation",children:l.jsx(Cp,{size:18})}),l.jsx(Hb,{themes:ca,currentTheme:Ue,onThemeChange:ut}),l.jsx(F,{onClick:ia,variant:"outline",size:"sm",title:"Toggle dark mode","aria-label":"Toggle dark mode",children:ft?l.jsx(nh,{size:18}):l.jsx(sh,{size:18})})]})]})})}),l.jsx("main",{className:"max-w-7xl mx-auto px-4 py-8",style:{paddingBottom:E?L+32:Qb},children:c?de?l.jsxs("div",{className:"space-y-8",children:[l.jsx(kv,{passing:ot.passing,total:ot.total,percentage:ot.percentage,isConnected:ie.isConnected,logs:ie.activeAgents.length===0?ie.logs:void 0,agentStatus:ie.activeAgents.length===0?ie.agentStatus:void 0}),l.jsx(cb,{agents:ie.activeAgents,orchestratorStatus:ie.orchestratorStatus,recentActivity:ie.recentActivity,getAgentLogs:ie.getAgentLogs}),oe&&oe.pending.length===0&&oe.in_progress.length===0&&oe.done.length===0&&ie.agentStatus==="running"&&l.jsx(ke,{className:"p-8 text-center",children:l.jsxs(Ge,{className:"p-0",children:[l.jsx(_e,{size:32,className:"animate-spin mx-auto mb-4 text-primary"}),l.jsx("h3",{className:"font-display font-bold text-xl mb-2",children:"Initializing Features..."}),l.jsx("p",{className:"text-muted-foreground",children:"The agent is reading your spec and creating features. This may take a moment."})]})}),oe&&oe.pending.length+oe.in_progress.length+oe.done.length>0&&l.jsx("div",{className:"flex justify-center",children:l.jsx(Db,{viewMode:g,onViewModeChange:T})}),g==="kanban"?l.jsx(hv,{features:oe,onFeatureClick:y,onAddFeature:()=>o(!0),onExpandProject:()=>p(!0),activeAgents:ie.activeAgents,onCreateSpec:()=>Z(!0),hasSpec:de}):l.jsx(ke,{className:"overflow-hidden",style:{height:"600px"},children:Be?l.jsx(Ub,{graphData:Be,onNodeClick:Kt,activeAgents:ie.activeAgents}):l.jsx("div",{className:"h-full flex items-center justify-center",children:l.jsx(_e,{size:32,className:"animate-spin text-primary"})})})]}):l.jsx(Gb,{projectName:c,projectPath:le?.path,onCreateWithClaude:()=>Z(!0),onEditManually:()=>{_(!0)}}):l.jsxs("div",{className:"text-center mt-12",children:[l.jsx("h2",{className:"font-display text-2xl font-bold mb-2",children:"Welcome to AutoForge"}),l.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&&c&&l.jsx(Rv,{projectName:c,onClose:()=>o(!1)}),v&&c&&l.jsx(qv,{feature:v,projectName:c,onClose:()=>y(null)}),h&&c&&de&&l.jsx(Cb,{isOpen:h,projectName:c,onClose:()=>p(!1),onFeaturesAdded:()=>{I.invalidateQueries({queryKey:["features",c]})}}),ne&&c&&l.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:l.jsx(hh,{projectName:c,onComplete:async(Ke,be)=>{H("starting");try{await hu(c,{yoloMode:be??!1,maxConcurrency:3}),Z(!1),H("idle"),I.invalidateQueries({queryKey:["projects"]}),I.invalidateQueries({queryKey:["features",c]})}catch(zt){H("error"),ae(zt instanceof Error?zt.message:"Failed to start agent")}},onCancel:()=>{Z(!1),H("idle")},onExitToProject:()=>{Z(!1),H("idle")},initializerStatus:O,initializerError:W,onRetryInitializer:()=>{ae(null),H("idle")}})}),c&&l.jsx(Yv,{logs:ie.logs,devLogs:ie.devLogs,isOpen:E,onToggle:()=>_(!E),onClear:ie.clearLogs,onClearDevLogs:ie.clearDevLogs,onHeightChange:z,projectName:c,activeTab:q,onTabChange:U}),c&&!h&&!$&&!ne&&l.jsxs(l.Fragment,{children:[l.jsx(ob,{onClick:()=>A(!R),isOpen:R}),l.jsx(vb,{projectName:c,isOpen:R,onClose:()=>A(!1)})]}),l.jsx(wb,{isOpen:S,onClose:()=>j(!1)}),l.jsx(qb,{isOpen:K,onClose:()=>J(!1)}),ee&&c&&l.jsx(Lb,{isOpen:ee,projectName:c,onClose:()=>Q(!1),onResetComplete:Ke=>{Ke&&Z(!0)}}),ie.celebration&&l.jsx(ub,{agentName:ie.celebration.agentName,featureName:ie.celebration.featureName,onComplete:ie.clearCelebration})]}):l.jsx(Ov,{onComplete:()=>w(!0)})}const Vb=new Lg({defaultOptions:{queries:{staleTime:5e3,refetchOnWindowFocus:!1}}});ny.createRoot(document.getElementById("root")).render(l.jsx(m.StrictMode,{children:l.jsx(Gg,{client:Vb,children:l.jsx(Yb,{})})}));
94
+ `,onClick:c.onClick,style:{minWidth:qi-20,maxWidth:qi},children:[c.agent&&l.jsx("div",{className:"absolute -top-3 -right-3 z-10",children:l.jsx("div",{className:"rounded-full border-2 border-border bg-background shadow-sm",children:l.jsx(hn,{name:c.agent.name,state:c.agent.state,size:"sm"})})}),l.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[l.jsx(o,{}),l.jsxs("span",{className:`text-xs font-mono ${d[c.status]} opacity-70`,children:["#",c.priority]}),c.agent&&l.jsx("span",{className:`text-xs font-bold ${d[c.status]} ml-auto`,children:c.agent.name})]}),l.jsx("div",{className:`font-bold text-sm ${d[c.status]} truncate`,title:c.name,children:c.name}),l.jsx("div",{className:`text-xs ${d[c.status]} opacity-70 truncate`,title:c.category,children:c.category})]}),l.jsx(Nm,{type:"source",position:cn.Right,className:"!bg-border !w-2 !h-2"})]})}const Bb={feature:Ub};function Jm(c,r,d="LR"){const o=new Zm.graphlib.Graph;o.setDefaultEdgeLabel(()=>({}));const h=d==="LR";return o.setGraph({rankdir:d,nodesep:50,ranksep:100,marginx:50,marginy:50}),c.forEach(v=>{o.setNode(v.id,{width:qi,height:Fm})}),r.forEach(v=>{o.setEdge(v.source,v.target)}),Zm.layout(o),{nodes:c.map(v=>{const y=o.node(v.id);return{...v,position:{x:y.x-qi/2,y:y.y-Fm/2},sourcePosition:h?cn.Right:cn.Bottom,targetPosition:h?cn.Left:cn.Top}}),edges:r}}function qb({graphData:c,onNodeClick:r,activeAgents:d=[]}){const[o,h]=m.useState("LR"),p=m.useRef(r);m.useEffect(()=>{p.current=r},[r]);const v=m.useCallback(j=>{p.current?.(j)},[]),y=m.useMemo(()=>{const j=new Map;for(const K of d){const J=K.featureIds||[K.featureId];for(const $ of J)j.set($,{name:K.agentName,state:K.state})}return j},[d]),C=m.useMemo(()=>{const j=c.nodes.map(J=>({id:String(J.id),type:"feature",position:{x:0,y:0},data:{...J,onClick:()=>v(J.id),agent:y.get(J.id)}})),K=c.edges.map((J,$)=>({id:`e${J.source}-${J.target}-${$}`,source:String(J.source),target:String(J.target),type:"smoothstep",animated:!1,style:{stroke:"#a1a1aa",strokeWidth:2},markerEnd:{type:zp.ArrowClosed,color:"#a1a1aa"}}));return Jm(j,K,o)},[c,o,v,y]),[z,E,k]=wp(C.nodes),[G,A,H]=Ap(C.edges),B=m.useRef(""),R=m.useRef(o);m.useEffect(()=>{const j=Array.from(y.entries()).map(([J,$])=>({featureId:J,agentName:$.name,agentState:$.state})),K=JSON.stringify({nodes:c.nodes.map(J=>({id:J.id,status:J.status})),edges:c.edges,agents:j});if(K!==B.current||o!==R.current){B.current=K,R.current=o;const{nodes:J,edges:$}=Jm(C.nodes,C.edges,o);E(J),A($)}},[c,o,E,A,C,y]);const w=m.useCallback(j=>{h(j)},[]),S=m.useCallback(j=>{switch(j.data.status){case"done":return"#22c55e";case"in_progress":return"#06b6d4";case"blocked":return"#ef4444";default:return"#eab308"}},[]);return c.nodes.length===0?l.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:l.jsxs("div",{className:"text-center",children:[l.jsx("div",{className:"text-muted-foreground mb-2",children:"No features to display"}),l.jsx("div",{className:"text-sm text-muted-foreground/70",children:"Create features to see the dependency graph"})]})}):l.jsxs("div",{className:"h-full w-full relative bg-background",children:[l.jsxs("div",{className:"absolute top-4 left-4 z-10 flex gap-2",children:[l.jsx(F,{variant:o==="LR"?"default":"outline",size:"sm",onClick:()=>w("LR"),children:"Horizontal"}),l.jsx(F,{variant:o==="TB"?"default":"outline",size:"sm",onClick:()=>w("TB"),children:"Vertical"})]}),l.jsx(ke,{className:"absolute top-4 right-4 z-10",children:l.jsxs(Ge,{className:"p-3",children:[l.jsx("div",{className:"text-xs font-bold mb-2",children:"Status"}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[l.jsx("div",{className:"w-3 h-3 rounded bg-yellow-400 border border-yellow-500"}),l.jsx("span",{children:"Pending"})]}),l.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[l.jsx("div",{className:"w-3 h-3 rounded bg-cyan-400 border border-cyan-500"}),l.jsx("span",{children:"In Progress"})]}),l.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[l.jsx("div",{className:"w-3 h-3 rounded bg-green-400 border border-green-500"}),l.jsx("span",{children:"Done"})]}),l.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[l.jsx("div",{className:"w-3 h-3 rounded bg-red-100 border border-red-400"}),l.jsx("span",{children:"Blocked"})]})]})]})}),l.jsxs(Ep,{nodes:z,edges:G,onNodesChange:k,onEdgesChange:H,nodeTypes:Bb,connectionMode:Tp.Loose,fitView:!0,fitViewOptions:{padding:.2},attributionPosition:"bottom-left",minZoom:.1,maxZoom:2,children:[l.jsx(Dp,{color:"#d4d4d8",gap:20,size:1}),l.jsx(Mp,{className:"!bg-card !border !border-border !rounded-lg !shadow-sm",showInteractive:!1}),l.jsx(_p,{nodeColor:S,className:"!bg-card !border !border-border !rounded-lg !shadow-sm",maskColor:"rgba(0, 0, 0, 0.1)"})]})]})}function Hb({graphData:c,onNodeClick:r,activeAgents:d}){const[o,h]=m.useState(0),p=m.useCallback(()=>{h(v=>v+1)},[]);return l.jsx(Rb,{onReset:p,children:l.jsx(qb,{graphData:c,onNodeClick:r,activeAgents:d})},o)}const Lb=[{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 Gb({isOpen:c,onClose:r}){const d=m.useCallback(o=>{(o.key==="Escape"||o.key==="?")&&(o.preventDefault(),r())},[r]);return m.useEffect(()=>{if(c)return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[c,d]),l.jsx(aa,{open:c,onOpenChange:o=>!o&&r(),children:l.jsxs(la,{className:"sm:max-w-md",children:[l.jsx(na,{children:l.jsxs(sa,{className:"flex items-center gap-2",children:[l.jsx(bp,{size:20,className:"text-primary"}),"Keyboard Shortcuts"]})}),l.jsx("ul",{className:"space-y-1",children:Lb.map(o=>l.jsxs("li",{className:"flex items-center justify-between py-2 border-b border-border/50 last:border-0",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.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}),l.jsx("span",{className:"text-sm",children:o.description})]}),o.context&&l.jsx(Oe,{variant:"secondary",className:"text-xs",children:o.context})]},o.key))}),l.jsx("p",{className:"text-xs text-muted-foreground text-center pt-2",children:"Press ? or Esc to close"})]})})}function Qb({themes:c,currentTheme:r,onThemeChange:d}){const[o,h]=m.useState(!1),[p,v]=m.useState(null),y=m.useRef(null),C=m.useRef(null);m.useEffect(()=>{const A=H=>{y.current&&!y.current.contains(H.target)&&(h(!1),v(null))};return document.addEventListener("mousedown",A),()=>document.removeEventListener("mousedown",A)},[]),m.useEffect(()=>{if(p){const A=document.documentElement;A.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business"),p==="claude"?A.classList.add("theme-claude"):p==="neo-brutalism"?A.classList.add("theme-neo-brutalism"):p==="retro-arcade"?A.classList.add("theme-retro-arcade"):p==="aurora"?A.classList.add("theme-aurora"):p==="business"&&A.classList.add("theme-business")}return()=>{if(p){const A=document.documentElement;A.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business"),r==="claude"?A.classList.add("theme-claude"):r==="neo-brutalism"?A.classList.add("theme-neo-brutalism"):r==="retro-arcade"?A.classList.add("theme-retro-arcade"):r==="aurora"?A.classList.add("theme-aurora"):r==="business"&&A.classList.add("theme-business")}}},[p,r]);const z=()=>{C.current&&clearTimeout(C.current),h(!0)},E=()=>{C.current=setTimeout(()=>{h(!1),v(null)},150)},k=A=>{v(A)},G=A=>{d(A),v(null),h(!1)};return l.jsxs("div",{ref:y,className:"relative",onMouseEnter:z,onMouseLeave:E,children:[l.jsx(F,{variant:"outline",size:"sm",title:"Theme","aria-label":"Select theme","aria-expanded":o,"aria-haspopup":"true",children:l.jsx(jp,{size:18})}),o&&l.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:l.jsx("div",{className:"p-2 space-y-1",children:c.map(A=>l.jsxs("button",{onClick:()=>G(A.id),onMouseEnter:()=>k(A.id),onMouseLeave:()=>v(null),className:`w-full flex items-center gap-3 px-3 py-2 rounded-md text-left transition-colors ${r===A.id?"bg-primary/10 text-foreground":"hover:bg-muted text-foreground"}`,role:"menuitem",children:[l.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[l.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:A.previewColors.background}}),l.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:A.previewColors.primary}}),l.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:A.previewColors.accent}})]}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"font-medium text-sm",children:A.name}),l.jsx("div",{className:"text-xs text-muted-foreground truncate",children:A.description})]}),r===A.id&&l.jsx(ea,{size:16,className:"text-primary shrink-0"})]},A.id))})})]})}function Yb({isOpen:c,projectName:r,onClose:d,onResetComplete:o}){const[h,p]=m.useState("quick"),v=Ky(r),y=async()=>{const z=h==="full";try{await v.mutateAsync(z),o?.(z),d()}catch{}},C=()=>{v.isPending||(v.reset(),p("quick"),d())};return l.jsx(aa,{open:c,onOpenChange:z=>!z&&C(),children:l.jsxs(la,{className:"sm:max-w-md",children:[l.jsxs(na,{children:[l.jsxs(sa,{className:"flex items-center gap-2",children:[l.jsx(on,{size:20}),"Reset Project"]}),l.jsxs(Bi,{children:["Reset ",l.jsx("span",{className:"font-semibold",children:r})," to start fresh"]})]}),l.jsxs("div",{className:"space-y-4 py-4",children:[l.jsxs("div",{className:"flex rounded-lg border-2 border-border overflow-hidden",children:[l.jsxs("button",{onClick:()=>p("quick"),disabled:v.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${h==="quick"?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${v.isPending?"opacity-50 cursor-not-allowed":""}`,children:[l.jsx(on,{size:16}),"Quick Reset"]}),l.jsxs("button",{onClick:()=>p("full"),disabled:v.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${h==="full"?"bg-destructive text-destructive-foreground":"bg-background text-foreground hover:bg-muted"} ${v.isPending?"opacity-50 cursor-not-allowed":""}`,children:[l.jsx(tl,{size:16}),"Full Reset"]})]}),l.jsxs(jt,{variant:h==="full"?"destructive":"default",className:"border-2",children:[l.jsx(Aa,{className:"h-4 w-4"}),l.jsxs(St,{children:[l.jsx("div",{className:"font-semibold mb-2",children:"What will be deleted:"}),l.jsxs("ul",{className:"list-none space-y-1 text-sm",children:[l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(tt,{size:14,className:"text-destructive"}),"All features and progress"]}),l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(tt,{size:14,className:"text-destructive"}),"Assistant chat history"]}),l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(tt,{size:14,className:"text-destructive"}),"Agent settings"]}),h==="full"&&l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(tt,{size:14,className:"text-destructive"}),"App spec and prompts"]})]})]})]}),l.jsxs("div",{className:"bg-muted/50 rounded-lg border-2 border-border p-3",children:[l.jsx("div",{className:"font-semibold mb-2 text-sm",children:"What will be preserved:"}),l.jsx("ul",{className:"list-none space-y-1 text-sm text-muted-foreground",children:h==="quick"?l.jsxs(l.Fragment,{children:[l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(ea,{size:14,className:"text-green-600"}),"App spec and prompts"]}),l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(ea,{size:14,className:"text-green-600"}),"Project code and files"]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(ea,{size:14,className:"text-green-600"}),"Project code and files"]}),l.jsxs("li",{className:"flex items-center gap-2 text-muted-foreground/70",children:[l.jsx(Aa,{size:14}),"Setup wizard will appear"]})]})})]}),v.isError&&l.jsx(jt,{variant:"destructive",children:l.jsx(St,{children:v.error instanceof Error?v.error.message:"Failed to reset project. Please try again."})})]}),l.jsxs(el,{className:"gap-2",children:[l.jsx(F,{variant:"outline",onClick:C,disabled:v.isPending,children:"Cancel"}),l.jsx(F,{variant:h==="full"?"destructive":"default",onClick:y,disabled:v.isPending,children:v.isPending?l.jsxs(l.Fragment,{children:[l.jsx(_e,{className:"animate-spin mr-2",size:16}),"Resetting..."]}):l.jsx(l.Fragment,{children:h==="quick"?"Quick Reset":"Full Reset"})})]})]})})}function Vb({projectName:c,projectPath:r,onCreateWithClaude:d,onEditManually:o}){return l.jsx("div",{className:"max-w-2xl mx-auto mt-8",children:l.jsxs(ke,{className:"border-2",children:[l.jsxs(Hi,{className:"text-center",children:[l.jsx(gu,{className:"text-2xl font-display",children:"Project Setup Required"}),l.jsxs(y0,{className:"text-base",children:[l.jsx("span",{className:"font-semibold",children:c})," needs an app spec to get started"]}),r&&l.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground mt-2",children:[l.jsx(Ri,{size:14}),l.jsx("code",{className:"bg-muted px-2 py-0.5 rounded text-xs",children:r})]})]}),l.jsxs(Ge,{className:"space-y-4",children:[l.jsx("p",{className:"text-center text-muted-foreground",children:"Choose how you want to create your app specification:"}),l.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[l.jsx(ke,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:d,children:l.jsxs(Ge,{className:"pt-6 text-center space-y-3",children:[l.jsx("div",{className:"w-12 h-12 mx-auto bg-primary/10 rounded-full flex items-center justify-center",children:l.jsx(jl,{className:"text-primary",size:24})}),l.jsx("h3",{className:"font-semibold text-lg",children:"Create with Claude"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Describe your app idea and Claude will help create a detailed specification"}),l.jsxs(F,{className:"w-full",children:[l.jsx(jl,{size:16,className:"mr-2"}),"Start Chat"]})]})}),l.jsx(ke,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:o,children:l.jsxs(Ge,{className:"pt-6 text-center space-y-3",children:[l.jsx("div",{className:"w-12 h-12 mx-auto bg-muted rounded-full flex items-center justify-center",children:l.jsx(cu,{className:"text-muted-foreground",size:24})}),l.jsx("h3",{className:"font-semibold text-lg",children:"Edit Templates Manually"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Create the prompts directory and edit template files yourself"}),l.jsxs(F,{variant:"outline",className:"w-full",children:[l.jsx(cu,{size:16,className:"mr-2"}),"View Templates"]})]})})]}),l.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 iu="autoforge-selected-project",$m="autoforge-view-mode",Xb=48;function Kb(){const[c,r]=m.useState(()=>{try{return localStorage.getItem(iu)}catch{return null}}),[d,o]=m.useState(!1),[h,p]=m.useState(!1),[v,y]=m.useState(null),[C,z]=m.useState(!0),[E,k]=m.useState(!1),[G,A]=m.useState(288),[H,B]=m.useState("agent"),[R,w]=m.useState(!1),[S,j]=m.useState(!1),[K,J]=m.useState(!1),[$,X]=m.useState(!1),[ee,Q]=m.useState(!1),[ne,Z]=m.useState(!1),[O,q]=m.useState("idle"),[W,ae]=m.useState(null),[g,T]=m.useState(()=>{try{return localStorage.getItem($m)==="graph"?"graph":"kanban"}catch{return"kanban"}}),I=at(),{data:P,isLoading:fe}=Yy(),{data:oe}=rh(c),{data:te}=xu();Iy(c);const ie=r0(c),{theme:Ue,setTheme:ut,darkMode:ft,toggleDarkMode:ia,themes:ca}=dh(),le=P?.find(Ke=>Ke.name===c),de=le?.has_spec??!0,{data:Be}=Nt({queryKey:["dependencyGraph",c],queryFn:()=>py(c),enabled:!!c&&g==="graph",refetchInterval:5e3});m.useEffect(()=>{try{localStorage.setItem($m,g)}catch{}},[g]),d0(oe),x0(oe,c);const Ct=m.useCallback(Ke=>{r(Ke);try{Ke?localStorage.setItem(iu,Ke):localStorage.removeItem(iu)}catch{}},[]),Kt=m.useCallback(Ke=>{const zt=[...oe?.pending??[],...oe?.in_progress??[],...oe?.done??[]].find(os=>os.id===Ke);zt&&y(zt)},[oe]);m.useEffect(()=>{c&&P&&!P.some(Ke=>Ke.name===c)&&Ct(null)},[c,P,Ct]),m.useEffect(()=>{const Ke=be=>{be.target instanceof HTMLInputElement||be.target instanceof HTMLTextAreaElement||((be.key==="d"||be.key==="D")&&(be.preventDefault(),k(zt=>!zt)),(be.key==="t"||be.key==="T")&&(be.preventDefault(),E?H==="terminal"?k(!1):B("terminal"):(k(!0),B("terminal"))),(be.key==="n"||be.key==="N")&&c&&(be.preventDefault(),o(!0)),(be.key==="e"||be.key==="E")&&c&&de&&oe&&oe.pending.length+oe.in_progress.length+oe.done.length>0&&(be.preventDefault(),p(!0)),(be.key==="a"||be.key==="A")&&c&&!$&&(be.preventDefault(),w(zt=>!zt)),be.key===","&&(be.preventDefault(),j(!0)),(be.key==="g"||be.key==="G")&&c&&(be.preventDefault(),T(zt=>zt==="kanban"?"graph":"kanban")),be.key==="?"&&(be.preventDefault(),J(!0)),(be.key==="r"||be.key==="R")&&c&&ie.agentStatus!=="running"&&(be.preventDefault(),Q(!0)),be.key==="Escape"&&(K?J(!1):ee?Q(!1):h?p(!1):S?j(!1):R?w(!1):d?o(!1):v?y(null):E&&k(!1)))};return window.addEventListener("keydown",Ke),()=>window.removeEventListener("keydown",Ke)},[c,d,h,v,E,H,R,oe,S,K,$,g,ee,ie.agentStatus,de]);const ot=ie.progress.total>0?ie.progress:{passing:oe?.done.length??0,total:(oe?.pending.length??0)+(oe?.in_progress.length??0)+(oe?.done.length??0),percentage:0};return ot.total>0&&ot.percentage===0&&(ot.percentage=Math.round(ot.passing/ot.total*100*10)/10),C?l.jsxs("div",{className:"min-h-screen bg-background",children:[l.jsx("header",{className:"sticky top-0 z-50 bg-card/80 backdrop-blur-md text-foreground border-b-2 border-border",children:l.jsx("div",{className:"max-w-7xl mx-auto px-4 py-4",children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("img",{src:"/logo.png",alt:"AutoForge",className:"h-9 w-9 rounded-full"}),l.jsx("h1",{className:"font-display text-2xl font-bold tracking-tight uppercase",children:"AutoForge"})]}),l.jsxs("div",{className:"flex items-center gap-4",children:[l.jsx(B0,{projects:P??[],selectedProject:c,onSelectProject:Ct,isLoading:fe,onSpecCreatingChange:X}),c&&l.jsxs(l.Fragment,{children:[l.jsx(_v,{projectName:c,status:ie.agentStatus,defaultConcurrency:le?.default_concurrency}),l.jsx(_b,{projectName:c,status:ie.devServerStatus,url:ie.devServerUrl}),l.jsx(F,{onClick:()=>j(!0),variant:"outline",size:"sm",title:"Settings (,)","aria-label":"Open Settings",children:l.jsx(Sp,{size:18})}),l.jsx(F,{onClick:()=>Q(!0),variant:"outline",size:"sm",title:"Reset Project (R)","aria-label":"Reset Project",disabled:ie.agentStatus==="running",children:l.jsx(on,{size:18})}),te?.ollama_mode&&l.jsxs("div",{className:"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:[l.jsx("img",{src:"/ollama.png",alt:"Ollama",className:"w-5 h-5"}),l.jsx("span",{className:"text-xs font-bold text-foreground",children:"Ollama"})]}),te?.glm_mode&&l.jsx(Oe,{className:"bg-purple-500 text-white hover:bg-purple-600",title:"Using GLM API",children:"GLM"})]}),l.jsx(F,{onClick:()=>window.open("https://autoforge.cc","_blank"),variant:"outline",size:"sm",title:"Documentation","aria-label":"Open Documentation",children:l.jsx(Np,{size:18})}),l.jsx(Qb,{themes:ca,currentTheme:Ue,onThemeChange:ut}),l.jsx(F,{onClick:ia,variant:"outline",size:"sm",title:"Toggle dark mode","aria-label":"Toggle dark mode",children:ft?l.jsx(lh,{size:18}):l.jsx(nh,{size:18})})]})]})})}),l.jsx("main",{className:"max-w-7xl mx-auto px-4 py-8",style:{paddingBottom:E?G+32:Xb},children:c?de?l.jsxs("div",{className:"space-y-8",children:[l.jsx(Uv,{passing:ot.passing,total:ot.total,percentage:ot.percentage,isConnected:ie.isConnected,logs:ie.activeAgents.length===0?ie.logs:void 0,agentStatus:ie.activeAgents.length===0?ie.agentStatus:void 0}),l.jsx(ob,{agents:ie.activeAgents,orchestratorStatus:ie.orchestratorStatus,recentActivity:ie.recentActivity,getAgentLogs:ie.getAgentLogs}),oe&&oe.pending.length===0&&oe.in_progress.length===0&&oe.done.length===0&&ie.agentStatus==="running"&&l.jsx(ke,{className:"p-8 text-center",children:l.jsxs(Ge,{className:"p-0",children:[l.jsx(_e,{size:32,className:"animate-spin mx-auto mb-4 text-primary"}),l.jsx("h3",{className:"font-display font-bold text-xl mb-2",children:"Initializing Features..."}),l.jsx("p",{className:"text-muted-foreground",children:"The agent is reading your spec and creating features. This may take a moment."})]})}),oe&&oe.pending.length+oe.in_progress.length+oe.done.length>0&&l.jsx("div",{className:"flex justify-center",children:l.jsx(kb,{viewMode:g,onViewModeChange:T})}),g==="kanban"?l.jsx(pv,{features:oe,onFeatureClick:y,onAddFeature:()=>o(!0),onExpandProject:()=>p(!0),activeAgents:ie.activeAgents,onCreateSpec:()=>Z(!0),hasSpec:de}):l.jsx(ke,{className:"overflow-hidden",style:{height:"600px"},children:Be?l.jsx(Hb,{graphData:Be,onNodeClick:Kt,activeAgents:ie.activeAgents}):l.jsx("div",{className:"h-full flex items-center justify-center",children:l.jsx(_e,{size:32,className:"animate-spin text-primary"})})})]}):l.jsx(Vb,{projectName:c,projectPath:le?.path,onCreateWithClaude:()=>Z(!0),onEditManually:()=>{k(!0)}}):l.jsxs("div",{className:"text-center mt-12",children:[l.jsx("h2",{className:"font-display text-2xl font-bold mb-2",children:"Welcome to AutoForge"}),l.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&&c&&l.jsx(qv,{projectName:c,onClose:()=>o(!1)}),v&&c&&l.jsx(Gv,{feature:v,projectName:c,onClose:()=>y(null)}),h&&c&&de&&l.jsx(Ab,{isOpen:h,projectName:c,onClose:()=>p(!1),onFeaturesAdded:()=>{I.invalidateQueries({queryKey:["features",c]})}}),ne&&c&&l.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:l.jsx(mh,{projectName:c,onComplete:async(Ke,be)=>{q("starting");try{await hu(c,{yoloMode:be??!1,maxConcurrency:3}),Z(!1),q("idle"),I.invalidateQueries({queryKey:["projects"]}),I.invalidateQueries({queryKey:["features",c]})}catch(zt){q("error"),ae(zt instanceof Error?zt.message:"Failed to start agent")}},onCancel:()=>{Z(!1),q("idle")},onExitToProject:()=>{Z(!1),q("idle")},initializerStatus:O,initializerError:W,onRetryInitializer:()=>{ae(null),q("idle")}})}),c&&l.jsx(Kv,{logs:ie.logs,devLogs:ie.devLogs,isOpen:E,onToggle:()=>k(!E),onClear:ie.clearLogs,onClearDevLogs:ie.clearDevLogs,onHeightChange:A,projectName:c,activeTab:H,onTabChange:B}),c&&!h&&!$&&!ne&&l.jsxs(l.Fragment,{children:[l.jsx(mb,{onClick:()=>w(!R),isOpen:R}),l.jsx(Sb,{projectName:c,isOpen:R,onClose:()=>w(!1)})]}),l.jsx(Tb,{isOpen:S,onClose:()=>j(!1)}),l.jsx(Gb,{isOpen:K,onClose:()=>J(!1)}),ee&&c&&l.jsx(Yb,{isOpen:ee,projectName:c,onClose:()=>Q(!1),onResetComplete:Ke=>{Ke&&Z(!0)}}),ie.celebration&&l.jsx(fb,{agentName:ie.celebration.agentName,featureName:ie.celebration.featureName,onComplete:ie.clearCelebration})]}):l.jsx(Bv,{onComplete:()=>z(!0)})}const Zb=new Hg({defaultOptions:{queries:{staleTime:5e3,refetchOnWindowFocus:!1}}});sy.createRoot(document.getElementById("root")).render(l.jsx(m.StrictMode,{children:l.jsx(Lg,{client:Zb,children:l.jsx(Kb,{})})}));