@@ -4,7 +4,7 @@
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
< title > Codex 命令台< / title >
< script type = "module" crossorigin > ( f u n c t i o n ( ) { c o n s t r = d o c u m e n t . c r e a t e E l e m e n t ( " l i n k " ) . r e l L i s t ; i f ( r & & r . s u p p o r t s & & r . s u p p o r t s ( " m o d u l e p r e l o a d " ) ) r e t u r n ; f o r ( c o n s t p o f d o c u m e n t . q u e r y S e l e c t o r A l l ( ' l i n k [ r e l = " m o d u l e p r e l o a d " ] ' ) ) f ( p ) ; n e w M u t a t i o n O b s e r v e r ( p = > { f o r ( c o n s t N o f p ) i f ( N . t y p e = = = " c h i l d L i s t " ) f o r ( c o n s t C o f N . a d d e d N o d e s ) C . t a g N a m e = = = " L I N K " & & C . r e l = = = " m o d u l e p r e l o a d " & & f ( C ) } ) . o b s e r v e ( d o c u m e n t , { c h i l d L i s t : ! 0 , s u b t r e e : ! 0 } ) ; f u n c t i o n h ( p ) { c o n s t N = { } ; r e t u r n p . i n t e g r i t y & & ( N . i n t e g r i t y = p . i n t e g r i t y ) , p . r e f e r r e r P o l i c y & & ( N . r e f e r r e r P o l i c y = p . r e f e r r e r P o l i c y ) , p . c r o s s O r i g i n = = = " u s e - c r e d e n t i a l s " ? N . c r e d e n t i a l s = " i n c l u d e " : p . c r o s s O r i g i n = = = " a n o n y m o u s " ? N . c r e d e n t i a l s = " o m i t " : N . c r e d e n t i a l s = " s a m e - o r i g i n " , N } f u n c t i o n f ( p ) { i f ( p . e p ) r e t u r n ; p . e p = ! 0 ; c o n s t N = h ( p ) ; f e t c h ( p . h r e f , N ) } } ) ( ) ; f u n c t i o n I h ( i ) { r e t u r n i & & i . _ _ e s M o d u l e & & O b j e c t . p r o t o t y p e . h a s O w n P r o p e r t y . c a l l ( i , " d e f a u l t " ) ? i . d e f a u l t : i } v a r c o = { e x p o r t s : { } } , u i = { } ; / * *
< script type = "module" crossorigin > ( f u n c t i o n ( ) { c o n s t r = d o c u m e n t . c r e a t e E l e m e n t ( " l i n k " ) . r e l L i s t ; i f ( r & & r . s u p p o r t s & & r . s u p p o r t s ( " m o d u l e p r e l o a d " ) ) r e t u r n ; f o r ( c o n s t p o f d o c u m e n t . q u e r y S e l e c t o r A l l ( ' l i n k [ r e l = " m o d u l e p r e l o a d " ] ' ) ) f ( p ) ; n e w M u t a t i o n O b s e r v e r ( p = > { f o r ( c o n s t N o f p ) i f ( N . t y p e = = = " c h i l d L i s t " ) f o r ( c o n s t C o f N . a d d e d N o d e s ) C . t a g N a m e = = = " L I N K " & & C . r e l = = = " m o d u l e p r e l o a d " & & f ( C ) } ) . o b s e r v e ( d o c u m e n t , { c h i l d L i s t : ! 0 , s u b t r e e : ! 0 } ) ; f u n c t i o n h ( p ) { c o n s t N = { } ; r e t u r n p . i n t e g r i t y & & ( N . i n t e g r i t y = p . i n t e g r i t y ) , p . r e f e r r e r P o l i c y & & ( N . r e f e r r e r P o l i c y = p . r e f e r r e r P o l i c y ) , p . c r o s s O r i g i n = = = " u s e - c r e d e n t i a l s " ? N . c r e d e n t i a l s = " i n c l u d e " : p . c r o s s O r i g i n = = = " a n o n y m o u s " ? N . c r e d e n t i a l s = " o m i t " : N . c r e d e n t i a l s = " s a m e - o r i g i n " , N } f u n c t i o n f ( p ) { i f ( p . e p ) r e t u r n ; p . e p = ! 0 ; c o n s t N = h ( p ) ; f e t c h ( p . h r e f , N ) } } ) ( ) ; f u n c t i o n P h ( i ) { r e t u r n i & & i . _ _ e s M o d u l e & & O b j e c t . p r o t o t y p e . h a s O w n P r o p e r t y . c a l l ( i , " d e f a u l t " ) ? i . d e f a u l t : i } v a r c o = { e x p o r t s : { } } , u i = { } ; / * *
* @license React
* react-jsx-runtime.production.js
*
@@ -12,7 +12,7 @@
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var U h;function G y(){if(U h)return ui;U h=1;var i=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function h(f,p,N){var C=null;if(N!==void 0& & (C=""+N),p.key!==void 0& & (C=""+p.key),"key"in p){N={};for(var j in p)j!=="key"& & (N[j]=p[j])}else N=p;return p=N.ref,{$$typeof:i,type:f,key:C,ref:p!==void 0?p:null,props:N}}return ui.Fragment=r,ui.jsx=h,ui.jsxs=h,ui}var H h;function V y(){return H h||(H h=1,co.exports=G y()),co.exports}var c=V y(),so={exports:{}},pt={};/**
*/var H h;function V y(){if(H h)return ui;H h=1;var i=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function h(f,p,N){var C=null;if(N!==void 0& & (C=""+N),p.key!==void 0& & (C=""+p.key),"key"in p){N={};for(var j in p)j!=="key"& & (N[j]=p[j])}else N=p;return p=N.ref,{$$typeof:i,type:f,key:C,ref:p!==void 0?p:null,props:N}}return ui.Fragment=r,ui.jsx=h,ui.jsxs=h,ui}var B h;function Q y(){return B h||(B h=1,co.exports=V y()),co.exports}var c=Q y(),so={exports:{}},pt={};/**
* @license React
* react.production.js
*
@@ -20,7 +20,7 @@
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Bh;function Qy(){if(Bh)return pt;Bh=1;var i=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),h=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),p=Symbol.for("react.profiler"),N=Symbol.for("react.consumer"),C=Symbol.for("react.context"),j=Symbol.for("react.forward_ref"),z=Symbol.for("react.suspense"),R=Symbol.for("react.memo"),q=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),U=Symbol.for("react.view_transition"),F=Symbol.iterator;function X(y){return y===null||typeof y!="object"?null:(y=F& & y[F]||y["@@iterator"],typeof y=="function"?y:null)}var J={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Q=Object.assign,vt={};function St(y,D,ut){this.props=y,this.context=D,this.refs=vt,this.updater=ut||J}St.prototype.isReactComponent={},St.prototype.setState=function(y,D){if(typeof y!="object"& & typeof y!="function"& & y!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,y,D,"setState")},St.prototype.forceUpdate=function(y){this.updater.enqueueForceUpdate(this,y,"forceUpdate")};function jt(){}jt.prototype=St.prototype;function K(y,D,ut){this.props=y,this.context=D,this.refs=vt,this.updater=ut||J}var Nt=K.prototype=new jt;Nt.constructor=K,Q(Nt,St.prototype),Nt.isPureReactComponent=!0;var k=Array.isArray;function V(){}var nt={H:null,A:null,T:null,S:null},Dt=Object.prototype.hasOwnProperty;function qt(y,D,ut){var et=ut.ref;return{$$typeof:i,type:y,key:D,ref:et!==void 0?et:null,props:ut}}function dt(y,D){return qt(y.type,D,y.props)}function wt(y){return typeof y=="object"& & y!==null& & y.$$typeof===i}function H(y){var D={"=":"=0",":":"=2"};return"$"+y.replace(/[=:]/g,function(ut){return D[ut]})}var ot=/\/+/g;function yt(y,D){return typeof y=="object"& & y!==null& & y.key!=null?H(""+y.key):D.toString(36)}function G(y){switch(y.status){case"fulfilled":return y.value;case"rejected":throw y.reason;default:switch(typeof y.status=="string"?y.then(V,V):(y.status="pending",y.then(function(D){y.status==="pending"& & (y.status="fulfilled",y.value=D)},function(D){y.status==="pending"& & (y.status="rejected",y.reason=D)})),y.status){case"fulfilled":return y.value;case"rejected":throw y.reason}}throw y}function Y(y,D,ut,et,Ct){var bt=typeof y;(bt==="undefined"||bt==="boolean")&&(y=null); var Tt=!1;if(y===null)Tt=!0;else switch(bt){case"bigint":case"string":case"number":Tt=!0;break;case"object":switch(y.$$typeof){case i:case r:Tt=!0;break;case q:return Tt=y._init,Y(Tt(y._payload),D,ut,et,Ct)}}if(Tt)return Ct=Ct(y),Tt=et===""?"."+yt(y,0):et,k(Ct)?(ut="",Tt!=null& & (ut=Tt.replace(ot,"$& /")+"/"),Y(Ct,D,ut,"",function(re){return re})):Ct!=null&&(wt(Ct)&&(Ct=dt(Ct,ut+(Ct.key==null||y&&y.key===Ct.key?"":(""+Ct.key).replace(ot,"$&/")+"/")+Tt)),D.push(Ct)),1; Tt=0;var lt=et===""?".":et+":";if(k(y))for(var mt=0;mt< y.length ; mt + + ) et = y[mt],bt=lt+yt(et,mt),Tt+=Y(et,D,ut,bt,Ct);else if ( mt = X(y),typeof mt = ="function")for(y=mt.call(y),mt=0;!(et=y.next()).done;)et=et.value,bt=lt+yt(et,mt++),Tt+=Y(et,D,ut,bt,Ct);else if ( bt = =="object"){if(typeof y . then = ="function")return Y ( G ( y ) , D , ut , et , Ct ) ; throw D = String(y),Error("Objects are not valid as a React child ( found: " + ( D = =="[object Object ] " ? " object with keys { " + Object . keys ( y ) . join ( " , " ) + " } " :D ) + " ) . If you meant to render a collection of children , use an array instead . " ) } return Tt } function tt ( y , D , ut ) { if ( y = =null)return y ; var et = [],Ct=0;return Y ( y , et , " " , " " , function ( bt ) { return D . call ( ut , bt , Ct + + ) } ) , et } function gt ( y ) { if ( y . _status = ==-1){var D = y._result,ut=D();ut.then(function(et){(y._status===0||y._status===-1)&&(y._status=1,y._result=et,ut.status===void 0 & & ( ut . status = "fulfilled" , ut . value = et))},function(et){(y._status===0||y._status===-1)&&(y._status=2,y._result=et,ut.status===void 0 & & ( ut . status = "rejected" , ut . reason = et))}),y._status===-1&&(y._status=0,y._result=ut)}if(y._status===1)return y . _result . default ; throw y . _result } var xt = typeof reportError = ="function"?reportError:function(y){if(typeof window = ="object"&&typeof window . ErrorEvent = ="function"){var D = new window . ErrorEvent ( " error " , { bubbles: ! 0 , cancelable: ! 0 , message:typeof y = ="object"&&y!==null&&typeof y . message = ="string"?String(y.message):String(y),error:y});if(!window.dispatchEvent(D))return}else if ( typeof process = ="object"&&typeof process . emit = ="function"){process.emit("uncaughtException",y);return}console.error(y)};function Se ( y ) { var D = nt.T,ut={};ut.types=D!==null?D.types:null,nt.T=ut;try{var et = y(),Ct=nt.S;Ct!==null&&Ct(ut,et),typeof et = ="object"&&et!==null&&typeof et . then = ="function"&&et.then(V,xt)}catch(bt){xt(bt)}finally{D!==null&&ut.types!==null&&(D.types=ut.types),nt.T=D}}function L ( y ) { var D = nt.T;if(D!==null){var ut = D.types;ut===null?D.types=[y]:ut.indexOf(y)===-1&&ut.push(y)}else Se ( L . bind ( null , y ) ) } var se = {map:tt,forEach:function(y,D,ut){tt(y,function(){D.apply(this,arguments)},ut)},count:function(y){var D = 0;return tt ( y , function ( ) { D + + } ) , D } , toA Line truncated
*/var qh;function Xy(){if(qh)return pt;qh=1;var i=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),h=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),p=Symbol.for("react.profiler"),N=Symbol.for("react.consumer"),C=Symbol.for("react.context"),j=Symbol.for("react.forward_ref"),z=Symbol.for("react.suspense"),R=Symbol.for("react.memo"),q=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),k=Symbol.for("react.view_transition"),F=Symbol.iterator;function X(y){return y===null||typeof y!="object"?null:(y=F& & y[F]||y["@@iterator"],typeof y=="function"?y:null)}var J={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Q=Object.assign,vt={};function St(y,D,nt){this.props=y,this.context=D,this.refs=vt,this.updater=nt||J}St.prototype.isReactComponent={},St.prototype.setState=function(y,D){if(typeof y!="object"& & typeof y!="function"& & y!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,y,D,"setState")},St.prototype.forceUpdate=function(y){this.updater.enqueueForceUpdate(this,y,"forceUpdate")};function jt(){}jt.prototype=St.prototype;function K(y,D,nt){this.props=y,this.context=D,this.refs=vt,this.updater=nt||J}var Nt=K.prototype=new jt;Nt.constructor=K,Q(Nt,St.prototype),Nt.isPureReactComponent=!0;var w=Array.isArray;function V(){}var at={H:null,A:null,T:null,S:null},Dt=Object.prototype.hasOwnProperty;function qt(y,D,nt){var tt=nt.ref;return{$$typeof:i,type:y,key:D,ref:tt!==void 0?tt:null,props:nt}}function dt(y,D){return qt(y.type,D,y.props)}function Ut(y){return typeof y=="object"& & y!==null& & y.$$typeof===i}function H(y){var D={"=":"=0",":":"=2"};return"$"+y.replace(/[=:]/g,function(nt){return D[nt]})}var ot=/\/+/g;function yt(y,D){return typeof y=="object"& & y!==null& & y.key!=null?H(""+y.key):D.toString(36)}function G(y){switch(y.status){case"fulfilled":return y.value;case"rejected":throw y.reason;default:switch(typeof y.status=="string"?y.then(V,V):(y.status="pending",y.then(function(D){y.status==="pending"& & (y.status="fulfilled",y.value=D)},function(D){y.status==="pending"& & (y.status="rejected",y.reason=D)})),y.status){case"fulfilled":return y.value;case"rejected":throw y.reason}}throw y}function Y(y,D,nt,tt,Ct){var bt=typeof y;(bt==="undefined"||bt==="boolean")&&(y=null); var Tt=!1;if(y===null)Tt=!0;else switch(bt){case"bigint":case"string":case"number":Tt=!0;break;case"object":switch(y.$$typeof){case i:case r:Tt=!0;break;case q:return Tt=y._init,Y(Tt(y._payload),D,nt,tt,Ct)}}if(Tt)return Ct=Ct(y),Tt=tt===""?"."+yt(y,0):tt,w(Ct)?(nt="",Tt!=null& & (nt=Tt.replace(ot,"$& /")+"/"),Y(Ct,D,nt,"",function(re){return re})):Ct!=null&&(Ut(Ct)&&(Ct=dt(Ct,nt+(Ct.key==null||y&&y.key===Ct.key?"":(""+Ct.key).replace(ot,"$&/")+"/")+Tt)),D.push(Ct)),1; Tt=0;var et=tt===""?".":tt+":";if(w(y))for(var mt=0;mt< y.length ; mt + + ) tt = y[mt],bt=et+yt(tt,mt),Tt+=Y(tt,D,nt,bt,Ct);else if ( mt = X(y),typeof mt = ="function")for(y=mt.call(y),mt=0;!(tt=y.next()).done;)tt=tt.value,bt=et+yt(tt,mt++),Tt+=Y(tt,D,nt,bt,Ct);else if ( bt = =="object"){if(typeof y . then = ="function")return Y ( G ( y ) , D , nt , tt , Ct ) ; throw D = String(y),Error("Objects are not valid as a React child ( found: " + ( D = =="[object Object ] " ? " object with keys { " + Object . keys ( y ) . join ( " , " ) + " } " :D ) + " ) . If you meant to render a collection of children , use an array instead . " ) } return Tt } function st ( y , D , nt ) { if ( y = =null)return y ; var tt = [],Ct=0;return Y ( y , tt , " " , " " , function ( bt ) { return D . call ( nt , bt , Ct + + ) } ) , tt } function gt ( y ) { if ( y . _status = ==-1){var D = y._result,nt=D();nt.then(function(tt){(y._status===0||y._status===-1)&&(y._status=1,y._result=tt,nt.status===void 0 & & ( nt . status = "fulfilled" , nt . value = tt))},function(tt){(y._status===0||y._status===-1)&&(y._status=2,y._result=tt,nt.status===void 0 & & ( nt . status = "rejected" , nt . reason = tt))}),y._status===-1&&(y._status=0,y._result=nt)}if(y._status===1)return y . _result . default ; throw y . _result } var xt = typeof reportError = ="function"?reportError:function(y){if(typeof window = ="object"&&typeof window . ErrorEvent = ="function"){var D = new window . ErrorEvent ( " error " , { bubbles: ! 0 , cancelable: ! 0 , message:typeof y = ="object"&&y!==null&&typeof y . message = ="string"?String(y.message):String(y),error:y});if(!window.dispatchEvent(D))return}else if ( typeof process = ="object"&&typeof process . emit = ="function"){process.emit("uncaughtException",y);return}console.error(y)};function Se ( y ) { var D = at.T,nt={};nt.types=D!==null?D.types:null,at.T=nt;try{var tt = y(),Ct=at.S;Ct!==null&&Ct(nt,tt),typeof tt = ="object"&&tt!==null&&typeof tt . then = ="function"&&tt.then(V,xt)}catch(bt){xt(bt)}finally{D!==null&&nt.types!==null&&(D.types=nt.types),at.T=D}}function L ( y ) { var D = at.T;if(D!==null){var nt = D.types;nt===null?D.types=[y]:nt.indexOf(y)===-1&&nt.push(y)}else Se ( L . bind ( null , y ) ) } var se = {map:st,forEach:function(y,D,nt){st(y,function(){D.apply(this,arguments)},nt)},count:function(y){var D = 0;return st ( y , function ( ) { D + + } ) , D } , toA Line truncated
* @license React
* scheduler.production.js
*
@@ -28,7 +28,7 @@
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Y h;function L y(){return Y h||(Y h=1,(function(i){function r(G,Y){var t t=G.length;G.push(Y);t:for(;0< tt ; ) { var gt = tt-1 > >>1,xt=G[gt];if(0< p ( xt , Y ) ) G [ gt ] = Y , G [ tt ] = xt , tt = gt;else break t } } function h ( G ) { return G . length = ==0?null:G[0]}function f ( G ) { if ( G . length = ==0)return null ; var Y = G[0],t t=G.pop();if(t t!==Y){G[0]=t t;t:for(var gt = 0,xt=G.length,Se=xt > >>1;gt< Se ; ) { var L = 2*(gt+1)-1,se=G[L],y=L+1,D=G[y];if(0 > p(se,t t))y< xt & & 0 > p(D,se)?(G[gt]=D,G[y]=t t,gt=y):(G[gt]=se,G[L]=t t,gt=L);else if(y< xt & & 0 > p(D,t t))G[gt]=D,G[y]=t t,gt=y;else break t}}return Y}function p(G,Y){var t t=G.sortIndex-Y.sortIndex;return t t!==0?t t:G.id-Y.id}if(i.unstable_now=void 0,typeof performance=="object"& & typeof performance.now=="function"){var N=performance;i.unstable_now=function(){return N.now()}}else{var C=Date,j=C.now();i.unstable_now=function(){return C.now()-j}}var z=[],R=[],q=1,g=null,U =3,F=!1,X=!1,J=!1,Q=!1,vt=typeof setTimeout=="function"?setTimeout:null,St=typeof clearTimeout=="function"?clearTimeout:null,jt=typeof setImmediate< "u"?setImmediate:null;function K(G){for(var Y=h(R);Y!==null;){if(Y.callback===null)f(R);else if(Y.startTime< =G)f(R),Y.sortIndex=Y.expirationTime,r(z,Y);else break;Y=h(R)}}function Nt(G){if(J=!1,K(G),!X)if(h(z)!==null)X=!0,k ||(k =!0,w t());else{var Y=h(R);Y!==null& & yt(Nt,Y.startTime-G)}}var k =!1,V=-1,n t=5,Dt=-1;function qt(){return Q?!0:!(i.unstable_now()-Dt< nt ) } function dt ( ) { if ( Q = !1,k ){var G = i.unstable_now();Dt=G;var Y = !0;try{t:{X=!1,J&&(J=!1,St(V),V=-1),F=!0;var tt = U ;try{e:{for(K(G),g=h(z);g!==null&&!(g.expirationTime> G&&qt()); ){var gt=g.callback;if(typeof gt=="function"){g.callback=null,U =g.priorityLevel;var xt=gt(g.expirationTime< =G);if(G=i.unstable_now(),typeof xt=="function"){g.callback=xt,K(G),Y=!0;break e}g===h(z)& & f(z),K(G)}else f(z);g=h(z)}if(g!==null)Y=!0;else{var Se=h(R);Se!==null& & yt(Nt,Se.startTime-G),Y=!1}}break t}finally{g=null,U=t t,F=!1}Y=void 0}}finally{Y?w t():k =!1}}}var w t;if(typeof jt=="function")w t=function(){jt(dt)};else if(typeof MessageChannel< "u"){var H=new MessageChannel,ot=H.port2;H.port1.onmessage=dt,w t=function(){ot.postMessage(null)}}else w t=function(){vt(dt,0)};function yt(G,Y){V=vt(function(){G(i.unstable_now())},Y)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(G){G.callback=null},i.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 " ) :n t = 0<G?Math.floor(1e3/G):5},i.unstable_getCurrentPriorityLevel=function(){return U } , i . unstable_next = function(G){switch(U ){case 1:case 2:case 3:var Y = 3;break;default:Y=U }var tt = U;U =Y;try{return G ( ) } finally { U = t t}},i.unstable_requestPaint=function(){Q=!0},i.unstable_runWithPriority=function(G,Y){switch(G){case 1:case 2:case 3:case 4:case 5:break ; default:G = 3}var tt = U;U =G;try{return Y ( ) } finally { U = t t}},i.unstable_scheduleCallback=function(G,Y,t t){var gt = i.unstable_now();switch(typeof tt = ="object"&&t t!==null?(t t=t t.delay,t t=typeof tt = ="number"&&0<t t?gt+t t:gt):t t=gt,G){case 1:var xt = -1;break;case 2:xt = 250;break;case 5:xt = 1073741823;break;case 4:xt = 1e4;break;default:xt=5e3}return xt = t t+xt,G={id:q++,callback:Y,priorityLevel:G,startTime:t t,expirationTime:xt,sortIndex:-1},t t> gt?(G.sortIndex=t t,r(R,G),h(z)===null& & G===h(R)& & (J?(St(V),V=-1):J=!0,yt(Nt,t t-gt))):(G.sortIndex=xt,r(z,G),X||F||(X=!0,k ||(k =!0,w t()))),G},i.unstable_shouldYield=qt,i.unstable_wrapCallback=function(G){var Y=U ;return function(){var t t=U;U =Y;try{return G.apply(this,arguments)}finally{U=t t}}}})(fo)),fo}var G h;function Z y(){return G h||(G h=1,oo.exports=L y()),oo.exports}var mo={exports:{}},U e={};/**
*/var G h;function Z y(){return G h||(G h=1,(function(i){function r(G,Y){var s t=G.length;G.push(Y);t:for(;0< st ; ) { var gt = st-1 > >>1,xt=G[gt];if(0< p ( xt , Y ) ) G [ gt ] = Y , G [ st ] = xt , st = gt;else break t } } function h ( G ) { return G . length = ==0?null:G[0]}function f ( G ) { if ( G . length = ==0)return null ; var Y = G[0],s t=G.pop();if(s t!==Y){G[0]=s t;t:for(var gt = 0,xt=G.length,Se=xt > >>1;gt< Se ; ) { var L = 2*(gt+1)-1,se=G[L],y=L+1,D=G[y];if(0 > p(se,s t))y< xt & & 0 > p(D,se)?(G[gt]=D,G[y]=s t,gt=y):(G[gt]=se,G[L]=s t,gt=L);else if(y< xt & & 0 > p(D,s t))G[gt]=D,G[y]=s t,gt=y;else break t}}return Y}function p(G,Y){var s t=G.sortIndex-Y.sortIndex;return s t!==0?s t:G.id-Y.id}if(i.unstable_now=void 0,typeof performance=="object"& & typeof performance.now=="function"){var N=performance;i.unstable_now=function(){return N.now()}}else{var C=Date,j=C.now();i.unstable_now=function(){return C.now()-j}}var z=[],R=[],q=1,g=null,k =3,F=!1,X=!1,J=!1,Q=!1,vt=typeof setTimeout=="function"?setTimeout:null,St=typeof clearTimeout=="function"?clearTimeout:null,jt=typeof setImmediate< "u"?setImmediate:null;function K(G){for(var Y=h(R);Y!==null;){if(Y.callback===null)f(R);else if(Y.startTime< =G)f(R),Y.sortIndex=Y.expirationTime,r(z,Y);else break;Y=h(R)}}function Nt(G){if(J=!1,K(G),!X)if(h(z)!==null)X=!0,w ||(w =!0,U t());else{var Y=h(R);Y!==null& & yt(Nt,Y.startTime-G)}}var w =!1,V=-1,a t=5,Dt=-1;function qt(){return Q?!0:!(i.unstable_now()-Dt< at ) } function dt ( ) { if ( Q = !1,w ){var G = i.unstable_now();Dt=G;var Y = !0;try{t:{X=!1,J&&(J=!1,St(V),V=-1),F=!0;var st = k ;try{e:{for(K(G),g=h(z);g!==null&&!(g.expirationTime> G&&qt()); ){var gt=g.callback;if(typeof gt=="function"){g.callback=null,k =g.priorityLevel;var xt=gt(g.expirationTime< =G);if(G=i.unstable_now(),typeof xt=="function"){g.callback=xt,K(G),Y=!0;break e}g===h(z)& & f(z),K(G)}else f(z);g=h(z)}if(g!==null)Y=!0;else{var Se=h(R);Se!==null& & yt(Nt,Se.startTime-G),Y=!1}}break t}finally{g=null,k=s t,F=!1}Y=void 0}}finally{Y?U t():w =!1}}}var U t;if(typeof jt=="function")U t=function(){jt(dt)};else if(typeof MessageChannel< "u"){var H=new MessageChannel,ot=H.port2;H.port1.onmessage=dt,U t=function(){ot.postMessage(null)}}else U t=function(){vt(dt,0)};function yt(G,Y){V=vt(function(){G(i.unstable_now())},Y)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(G){G.callback=null},i.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 " ) :a t = 0<G?Math.floor(1e3/G):5},i.unstable_getCurrentPriorityLevel=function(){return k } , i . unstable_next = function(G){switch(k ){case 1:case 2:case 3:var Y = 3;break;default:Y=k }var st = k;k =Y;try{return G ( ) } finally { k = s t}},i.unstable_requestPaint=function(){Q=!0},i.unstable_runWithPriority=function(G,Y){switch(G){case 1:case 2:case 3:case 4:case 5:break ; default:G = 3}var st = k;k =G;try{return Y ( ) } finally { k = s t}},i.unstable_scheduleCallback=function(G,Y,s t){var gt = i.unstable_now();switch(typeof st = ="object"&&s t!==null?(s t=s t.delay,s t=typeof st = ="number"&&0<s t?gt+s t:gt):s t=gt,G){case 1:var xt = -1;break;case 2:xt = 250;break;case 5:xt = 1073741823;break;case 4:xt = 1e4;break;default:xt=5e3}return xt = s t+xt,G={id:q++,callback:Y,priorityLevel:G,startTime:s t,expirationTime:xt,sortIndex:-1},s t> gt?(G.sortIndex=s t,r(R,G),h(z)===null& & G===h(R)& & (J?(St(V),V=-1):J=!0,yt(Nt,s t-gt))):(G.sortIndex=xt,r(z,G),X||F||(X=!0,w ||(w =!0,U t()))),G},i.unstable_shouldYield=qt,i.unstable_wrapCallback=function(G){var Y=k ;return function(){var s t=k;k =Y;try{return G.apply(this,arguments)}finally{k=s t}}}})(fo)),fo}var V h;function K y(){return V h||(V h=1,oo.exports=Z y()),oo.exports}var mo={exports:{}},k e={};/**
* @license React
* react-dom.production.js
*
@@ -36,7 +36,7 @@
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var V h;function K y(){if(V h)return U e;V h=1;var i=So();function r(q){var g="https://react.dev/errors/"+q;if(1< arguments.length ) { g + = " ? args [ ] = " + encodeURIComponent ( arguments [ 1 ] ) ; for ( var U = 2;U <arguments.length;U ++)g+="&args[]="+encodeURIComponent(arguments[U ])}return"Minified React error # " + q + " ; visit " + g + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings . " } function h ( ) { } var f = {d:{f:h,r:function(){throw Error ( r ( 522 ) ) } , D:h , C:h , L:h , m:h , X:h , S:h , M:h } , p:0 , findDOMNode:null } , p = Symbol.for("react.portal"),N=Symbol.for("react.recoverable"),C=Symbol.for("react.optimistic_key");function j ( q , g , U ) { var F = 3<arguments.length&&arguments[3]!==void 0 ? arguments [ 3 ] :null ; return { $ $ typeof:p , key:F = =null?null:F===C?C:""+F,children:q,containerInfo:g,implementation:U }}var z = i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function R ( q , g ) { if ( q = =="font")return"";if(typeof g = ="string")return g = =="use-credentials"?g:""}return Ue . __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = f,U e.browser=function(q){return{$$typeof:N,_reason:q}},U e.createPortal=function(q,g){var U = 2<arguments.length&&arguments[2]!==void 0 ? arguments [ 2 ] :null ; if ( ! g | | g . nodeType ! = = 1 & & g . nodeType ! = = 9 & & g . nodeType ! = = 11 ) throw Error ( r ( 299 ) ) ; return j ( q , g , null , U ) } , Ue . flushSync = function(q){var g = z.T,U =f.p;try{if(z.T=null,f.p=2,q)return q ( ) } finally { z . T = g,f.p=U ,f.d.f()}},U e.preconnect=function(q,g){typeof q = ="string"&&(g?(g=g.crossOrigin,g=typeof g = ="string"?g==="use-credentials"?g:"":void 0 ) :g = null,f.d.C(q,g))},U e.prefetchDNS=function(q){typeof q = ="string"&&f.d.D(q)},U e.preinit=function(q,g){if(typeof q = ="string"&&g&&typeof g . as = ="string"){var U = g.as,F=R(U ,g.crossOrigin),X=typeof g . integrity = ="string"?g.integrity:void 0 , J = typeof g . fetchPriority = ="string"?g.fetchPriority:void 0 ; U = =="style"?f.d.S(q,typeof g . precedence = ="string"?g.precedence:void 0 , { crossOrigin:F , integrity:X , fetchPriority:J } ) :U = =="script"&&f.d.X(q,{crossOrigin:F,integrity:X,fetchPriority:J,nonce:typeof g . nonce = ="string"?g.nonce:void 0 } ) } } , Ue . preinitModule = function(q,g){if(typeof q = ="string")if(typeof g = ="object"&&g!==null){if(g.as==null||g.as==="script"){var U = R(g.as,g.crossOrigin);f.d.M(q,{crossOrigin:U ,integrity:typeof g . integrity = ="string"?g.integrity:void 0 , nonce:typeof g . nonce = ="string"?g.nonce:void 0 , fetchPriority:typeof g . fetchPriority = ="string"?g.fetchPriority:void 0 } ) } } else g = =null&&f.d.M(q)},U e.preload=function(q,g){if(typeof q = ="string"&&typeof g = ="object"&&g!==null&&typeof g . as = ="string"){var U = g.as,F=R(U ,g.crossOrigin);f.d.L(q,U ,{crossOrigin:F,integrity:typeof g . integrity = ="string"?g.integrity:void 0 , nonce:typeof g . nonce = ="string"?g.nonce:void 0 , type:typeof g . type = ="string"?g.type:void 0 , fetchPriority:typeof g . fetchPriority = ="string"?g.fetchPriority:void 0 , referrerPolicy:typeof g . referrerPolicy = ="string"?g.referrerPolicy:void 0 , imageSrcSet:typeof g . imageSrcSet = ="string"?g.imageSrcSet:void 0 , imageSizes:typeof g . imageSizes = ="string"?g.imageSizes:void 0 , media:typeof g . media = ="string"?g.media:void 0 } ) } } , Ue . preloadModule = function(q,g){if(typeof q = ="string")if(g){var U = R(g.as,g.crossOrigin);f.d.m(q,{as:typeof g . as = ="string"&&g.as!=="script"?g.as:void 0 , crossOrigin:U , integrity:typeof g . integrity = ="string"?g.integrity:void 0 , nonce:typeof g . nonce = ="string"?g.nonce:void 0 , fetchPriority:typeof g . fetchPriority = ="string"?g.fetchPriority:void 0 } ) } else f . d . m ( q ) } , Ue . requestFormReset = function(q){f.d.r(q)},U e.unstable_batchedUpdates=function(q,g){return q ( g ) } , Ue . useFormState = function(q,g,U ){return z . H . useFormState ( q , g , U ) } , Ue . useFormStatus = function(){return z . H . useHostTransitionStatus ( ) } , Ue . version = "19.3.1" , Ue } var Qh ; function Jy ( ) { if ( Qh ) return mo . exports ; Qh = 1;function i ( ) { if ( ! ( typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(r){console.error(r)}}return i(),mo.exports=K y(),mo.exports}/**
*/var Q h;function J y(){if(Q h)return k e;Q h=1;var i=So();function r(q){var g="https://react.dev/errors/"+q;if(1< arguments.length ) { g + = " ? args [ ] = " + encodeURIComponent ( arguments [ 1 ] ) ; for ( var k = 2;k <arguments.length;k ++)g+="&args[]="+encodeURIComponent(arguments[k ])}return"Minified React error # " + q + " ; visit " + g + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings . " } function h ( ) { } var f = {d:{f:h,r:function(){throw Error ( r ( 522 ) ) } , D:h , C:h , L:h , m:h , X:h , S:h , M:h } , p:0 , findDOMNode:null } , p = Symbol.for("react.portal"),N=Symbol.for("react.recoverable"),C=Symbol.for("react.optimistic_key");function j ( q , g , k ) { var F = 3<arguments.length&&arguments[3]!==void 0 ? arguments [ 3 ] :null ; return { $ $ typeof:p , key:F = =null?null:F===C?C:""+F,children:q,containerInfo:g,implementation:k }}var z = i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function R ( q , g ) { if ( q = =="font")return"";if(typeof g = ="string")return g = =="use-credentials"?g:""}return ke . __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = f,k e.browser=function(q){return{$$typeof:N,_reason:q}},k e.createPortal=function(q,g){var k = 2<arguments.length&&arguments[2]!==void 0 ? arguments [ 2 ] :null ; if ( ! g | | g . nodeType ! = = 1 & & g . nodeType ! = = 9 & & g . nodeType ! = = 11 ) throw Error ( r ( 299 ) ) ; return j ( q , g , null , k ) } , ke . flushSync = function(q){var g = z.T,k =f.p;try{if(z.T=null,f.p=2,q)return q ( ) } finally { z . T = g,f.p=k ,f.d.f()}},k e.preconnect=function(q,g){typeof q = ="string"&&(g?(g=g.crossOrigin,g=typeof g = ="string"?g==="use-credentials"?g:"":void 0 ) :g = null,f.d.C(q,g))},k e.prefetchDNS=function(q){typeof q = ="string"&&f.d.D(q)},k e.preinit=function(q,g){if(typeof q = ="string"&&g&&typeof g . as = ="string"){var k = g.as,F=R(k ,g.crossOrigin),X=typeof g . integrity = ="string"?g.integrity:void 0 , J = typeof g . fetchPriority = ="string"?g.fetchPriority:void 0 ; k = =="style"?f.d.S(q,typeof g . precedence = ="string"?g.precedence:void 0 , { crossOrigin:F , integrity:X , fetchPriority:J } ) :k = =="script"&&f.d.X(q,{crossOrigin:F,integrity:X,fetchPriority:J,nonce:typeof g . nonce = ="string"?g.nonce:void 0 } ) } } , ke . preinitModule = function(q,g){if(typeof q = ="string")if(typeof g = ="object"&&g!==null){if(g.as==null||g.as==="script"){var k = R(g.as,g.crossOrigin);f.d.M(q,{crossOrigin:k ,integrity:typeof g . integrity = ="string"?g.integrity:void 0 , nonce:typeof g . nonce = ="string"?g.nonce:void 0 , fetchPriority:typeof g . fetchPriority = ="string"?g.fetchPriority:void 0 } ) } } else g = =null&&f.d.M(q)},k e.preload=function(q,g){if(typeof q = ="string"&&typeof g = ="object"&&g!==null&&typeof g . as = ="string"){var k = g.as,F=R(k ,g.crossOrigin);f.d.L(q,k ,{crossOrigin:F,integrity:typeof g . integrity = ="string"?g.integrity:void 0 , nonce:typeof g . nonce = ="string"?g.nonce:void 0 , type:typeof g . type = ="string"?g.type:void 0 , fetchPriority:typeof g . fetchPriority = ="string"?g.fetchPriority:void 0 , referrerPolicy:typeof g . referrerPolicy = ="string"?g.referrerPolicy:void 0 , imageSrcSet:typeof g . imageSrcSet = ="string"?g.imageSrcSet:void 0 , imageSizes:typeof g . imageSizes = ="string"?g.imageSizes:void 0 , media:typeof g . media = ="string"?g.media:void 0 } ) } } , ke . preloadModule = function(q,g){if(typeof q = ="string")if(g){var k = R(g.as,g.crossOrigin);f.d.m(q,{as:typeof g . as = ="string"&&g.as!=="script"?g.as:void 0 , crossOrigin:k , integrity:typeof g . integrity = ="string"?g.integrity:void 0 , nonce:typeof g . nonce = ="string"?g.nonce:void 0 , fetchPriority:typeof g . fetchPriority = ="string"?g.fetchPriority:void 0 } ) } else f . d . m ( q ) } , ke . requestFormReset = function(q){f.d.r(q)},k e.unstable_batchedUpdates=function(q,g){return q ( g ) } , ke . useFormState = function(q,g,k ){return z . H . useFormState ( q , g , k ) } , ke . useFormStatus = function(){return z . H . useHostTransitionStatus ( ) } , ke . version = "19.3.1" , ke } var Xh ; function Fy ( ) { if ( Xh ) return mo . exports ; Xh = 1;function i ( ) { if ( ! ( typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(r){console.error(r)}}return i(),mo.exports=J y(),mo.exports}/**
* @license React
* react-dom-client.production.js
*
@@ -44,37 +44,37 @@
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Xh;function Fy(){if(Xh)return ii;Xh=1;var i=Zy(),r=So(),h=Jy();function f(t){var e="https://react.dev/errors/"+t;if(1< arguments.length ) { e + = " ? args [ ] = " + encodeURIComponent ( arguments [ 1 ] ) ; for ( var l = 2;l<arguments.length;l++)e+="&args[]="+encodeURIComponent(arguments[l])}return"Minified React error # " + t + " ; visit " + e + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings . " } function p ( t ) { return ! ( ! t | | t . nodeType ! = = 1 & & t . nodeType ! = = 9 & & t . nodeType ! = = 11 ) } function N ( t ) { for ( var e = t,l=e;l&&!l.alternate;)e=l,(e.flags&4098)!==0&&(t=e.return),l=e.return;for(;e.return;)e=e.return;return e . tag = ==3?t:null}function C ( t ) { if ( t . tag = ==13){var e = t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e . dehydrated } return null } function j ( t ) { if ( t . tag = ==31){var e = t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e . dehydrated } return null } function z ( t ) { if ( N ( t ) ! = = t ) throw Error ( f ( 188 ) ) } function R ( t ) { var e = t.alternate;if(!e){if(e=N(t),e===null)throw Error ( f ( 188 ) ) ; return e ! = = t ? null:t } for ( var l = t,a=e;;){var n = l.return;if(n===null)break;var u = n.alternate;if(u===null){if(a=n.return,a!==null){l=a;continue}break}if(n.child===u.child){for(u=n.child;u;){if(u===l)return z ( n ) , t ; if ( u = ==a)return z ( n ) , e ; u = u.sibling}throw Error ( f ( 188 ) ) } if ( l . return ! = = a . return ) l = n,a=u;else{for(var s = !1,o=n.child;o;){if(o===l){s=!0,l=n,a=u;break}if(o===a){s=!0,a=n,l=u;break}o=o.sibling}if(!s){for(o=u.child;o;){if(o===l){s=!0,l=u,a=n;break}if(o===a){s=!0,a=u,l=n;break}o=o.sibling}if(!s)throw Error ( f ( 189 ) ) } } if ( l . alternate ! = = a ) throw Error ( f ( 190 ) ) } if ( l . tag ! = = 3 ) throw Error ( f ( 188 ) ) ; return l . stateNode . current = ==l?t:e}function q ( t ) { var e = t.tag;if(e===5||e===26||e===27||e===6)return t ; for ( t = t.child;t!==null;){if(e=q(t),e!==null)return e ; t = t.sibling}return null } function g ( t , e , l , a , n , u ) { for ( ; t ! = = null ; ) { if ( ( t . tag = ==5||t.tag===27||t.tag===6)&&l(t,a,n,u)||(t.tag!==22||t.memoizedState===null)&&(e||t.tag!==5&&t.tag!==27)&&g(t.child,e,l,a,n,u))return!0;t=t.sibling}return!1}function U ( t ) { for ( t = t.return;t!==null;){if(t.tag===3||t.tag===5||t.tag===27)return t ; t = t.return}return null } function F ( t ) { var e = !1;for(t=t.return;t!==null&&(t.tag===4&&(e=!0),!(t.tag===3||t.tag===5||t.tag===27));)t=t.return;return e } function X ( t ) { var e = [null,null],l=U(t);return l = ==null||J(e,t,l.child,{foundSelf:!1}),e}function J ( t , e , l , a ) { for ( ; l ! = = null ; ) { if ( l = ==e)a.foundSelf=!0;else if ( l . tag = ==5||l.tag===27||l.tag===6){if(a.foundSelf)return t [ 1 ] = l , ! 0 ; t [ 0 ] = l } else if ( ( l . tag ! = = 22 | | l . memoizedState = ==null)&&J(t,e,l.child,a))return!0;l=l.sibling}return!1}function Q ( t ) { switch ( t . tag ) { case 5:case 27:case 6:return t . stateNode ; case 3:return t . stateNode . containerInfo ; default:throw Error ( f ( 559 ) ) } } var vt = null,St=null;function jt ( t , e , l ) { return t = ==l?!0:t===e?(vt=t,!0):!1}function K ( t , e , l ) { return t = ==l?(St=t,!1):t===e?(St!==null&&(vt=t),!0):!1}function Nt ( t ) { if ( t = ==null)return null ; do t = t===null?null:t.return;while(t&&t.tag!==5&&t.tag!==27&&t.tag!==3);return t | | null } function k ( t , e , l ) { for ( var a = 0,n=t;n;n=l(n))a++;n=0;for(var u = e;u;u=l(u))n++;for(;0<a-n;)t=l(t),a--;for(;0<n-a;)e=l(e),n--;for(;a--;){if(t===e||e!==null&&t===e.alternate)return t ; t = l(t),e=l(e)}return null } var V = Object.assign,nt=Symbol.for("react.element"),Dt=Symbol.for("react.transitional.element"),qt=Symbol.for("react.portal"),dt=Symbol.for("react.fragment"),wt=Symbol.for("react.strict_mode"),H=Symbol.for("react.profiler"),ot=Symbol.for("react.consumer"),yt=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),Y=Symbol.for("react.suspense"),tt=Symbol.for("react.suspense_list"),gt=Symbol.for("react.memo"),xt=Symbol.for("react.lazy"),Se=Symbol.for("react.activity"),L=Symbol.for("react.legacy_hidden"),se=Symbol.for("react.memo_cache_sentinel"),y=Symbol.for("react.view_transition"),D=Symbol.for("react.recoverable"),ut=Symbol.iterator;function et ( t ) { return t = ==null||typeof t ! = " object " ? null: ( t = ut&&t[ut]||t["@@iterator"],typeof t = ="function"?t:null)}var Ct = Symbol.for("react.client.reference");function bt ( t ) { if ( t = =null)return null ; if ( typeof t = ="function")return t . $ $ typeof = ==Ct?null:t.displayName||t.name||null;if(typeof t = ="string")return t ; switch ( t ) { case dt:return " Fragment " ; case H:return " Profiler " ; case wt:return " StrictMode " ; case Y:return " Suspense " ; case tt:return " SuspenseList " ; case Se:return " Activity " ; case y:return " ViewTransition " } if ( typeof t = ="object")switch(t.$$typeof){case qt:return " Portal " ; case yt:return t . displayName | | " Context " ; case ot:return ( t . _context . displayName | | " Context " ) + " . Consumer " ; case G:var e = t.render;return t = t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case gt:return e = t.displayName||null,e!==null?e:bt(t.type)||"Memo";case xt:e = t._payload,t=t._init;try{return bt ( t ( e ) ) } catch { } } return null } var Tt = Array.isArray,lt=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,mt=h.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,re={pending:!1,data:null,method:null,action:n Line truncated
*/var Lh;function Wy(){if(Lh)return ii;Lh=1;var i=Ky(),r=So(),h=Fy();function f(t){var e="https://react.dev/errors/"+t;if(1< arguments.length ) { e + = " ? args [ ] = " + encodeURIComponent ( arguments [ 1 ] ) ; for ( var l = 2;l<arguments.length;l++)e+="&args[]="+encodeURIComponent(arguments[l])}return"Minified React error # " + t + " ; visit " + e + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings . " } function p ( t ) { return ! ( ! t | | t . nodeType ! = = 1 & & t . nodeType ! = = 9 & & t . nodeType ! = = 11 ) } function N ( t ) { for ( var e = t,l=e;l&&!l.alternate;)e=l,(e.flags&4098)!==0&&(t=e.return),l=e.return;for(;e.return;)e=e.return;return e . tag = ==3?t:null}function C ( t ) { if ( t . tag = ==13){var e = t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e . dehydrated } return null } function j ( t ) { if ( t . tag = ==31){var e = t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e . dehydrated } return null } function z ( t ) { if ( N ( t ) ! = = t ) throw Error ( f ( 188 ) ) } function R ( t ) { var e = t.alternate;if(!e){if(e=N(t),e===null)throw Error ( f ( 188 ) ) ; return e ! = = t ? null:t } for ( var l = t,a=e;;){var n = l.return;if(n===null)break;var u = n.alternate;if(u===null){if(a=n.return,a!==null){l=a;continue}break}if(n.child===u.child){for(u=n.child;u;){if(u===l)return z ( n ) , t ; if ( u = ==a)return z ( n ) , e ; u = u.sibling}throw Error ( f ( 188 ) ) } if ( l . return ! = = a . return ) l = n,a=u;else{for(var s = !1,o=n.child;o;){if(o===l){s=!0,l=n,a=u;break}if(o===a){s=!0,a=n,l=u;break}o=o.sibling}if(!s){for(o=u.child;o;){if(o===l){s=!0,l=u,a=n;break}if(o===a){s=!0,a=u,l=n;break}o=o.sibling}if(!s)throw Error ( f ( 189 ) ) } } if ( l . alternate ! = = a ) throw Error ( f ( 190 ) ) } if ( l . tag ! = = 3 ) throw Error ( f ( 188 ) ) ; return l . stateNode . current = ==l?t:e}function q ( t ) { var e = t.tag;if(e===5||e===26||e===27||e===6)return t ; for ( t = t.child;t!==null;){if(e=q(t),e!==null)return e ; t = t.sibling}return null } function g ( t , e , l , a , n , u ) { for ( ; t ! = = null ; ) { if ( ( t . tag = ==5||t.tag===27||t.tag===6)&&l(t,a,n,u)||(t.tag!==22||t.memoizedState===null)&&(e||t.tag!==5&&t.tag!==27)&&g(t.child,e,l,a,n,u))return!0;t=t.sibling}return!1}function k ( t ) { for ( t = t.return;t!==null;){if(t.tag===3||t.tag===5||t.tag===27)return t ; t = t.return}return null } function F ( t ) { var e = !1;for(t=t.return;t!==null&&(t.tag===4&&(e=!0),!(t.tag===3||t.tag===5||t.tag===27));)t=t.return;return e } function X ( t ) { var e = [null,null],l=k(t);return l = ==null||J(e,t,l.child,{foundSelf:!1}),e}function J ( t , e , l , a ) { for ( ; l ! = = null ; ) { if ( l = ==e)a.foundSelf=!0;else if ( l . tag = ==5||l.tag===27||l.tag===6){if(a.foundSelf)return t [ 1 ] = l , ! 0 ; t [ 0 ] = l } else if ( ( l . tag ! = = 22 | | l . memoizedState = ==null)&&J(t,e,l.child,a))return!0;l=l.sibling}return!1}function Q ( t ) { switch ( t . tag ) { case 5:case 27:case 6:return t . stateNode ; case 3:return t . stateNode . containerInfo ; default:throw Error ( f ( 559 ) ) } } var vt = null,St=null;function jt ( t , e , l ) { return t = ==l?!0:t===e?(vt=t,!0):!1}function K ( t , e , l ) { return t = ==l?(St=t,!1):t===e?(St!==null&&(vt=t),!0):!1}function Nt ( t ) { if ( t = ==null)return null ; do t = t===null?null:t.return;while(t&&t.tag!==5&&t.tag!==27&&t.tag!==3);return t | | null } function w ( t , e , l ) { for ( var a = 0,n=t;n;n=l(n))a++;n=0;for(var u = e;u;u=l(u))n++;for(;0<a-n;)t=l(t),a--;for(;0<n-a;)e=l(e),n--;for(;a--;){if(t===e||e!==null&&t===e.alternate)return t ; t = l(t),e=l(e)}return null } var V = Object.assign,at=Symbol.for("react.element"),Dt=Symbol.for("react.transitional.element"),qt=Symbol.for("react.portal"),dt=Symbol.for("react.fragment"),Ut=Symbol.for("react.strict_mode"),H=Symbol.for("react.profiler"),ot=Symbol.for("react.consumer"),yt=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),Y=Symbol.for("react.suspense"),st=Symbol.for("react.suspense_list"),gt=Symbol.for("react.memo"),xt=Symbol.for("react.lazy"),Se=Symbol.for("react.activity"),L=Symbol.for("react.legacy_hidden"),se=Symbol.for("react.memo_cache_sentinel"),y=Symbol.for("react.view_transition"),D=Symbol.for("react.recoverable"),nt=Symbol.iterator;function tt ( t ) { return t = ==null||typeof t ! = " object " ? null: ( t = nt&&t[nt]||t["@@iterator"],typeof t = ="function"?t:null)}var Ct = Symbol.for("react.client.reference");function bt ( t ) { if ( t = =null)return null ; if ( typeof t = ="function")return t . $ $ typeof = ==Ct?null:t.displayName||t.name||null;if(typeof t = ="string")return t ; switch ( t ) { case dt:return " Fragment " ; case H:return " Profiler " ; case Ut:return " StrictMode " ; case Y:return " Suspense " ; case st:return " SuspenseList " ; case Se:return " Activity " ; case y:return " ViewTransition " } if ( typeof t = ="object")switch(t.$$typeof){case qt:return " Portal " ; case yt:return t . displayName | | " Context " ; case ot:return ( t . _context . displayName | | " Context " ) + " . Consumer " ; case G:var e = t.render;return t = t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case gt:return e = t.displayName||null,e!==null?e:bt(t.type)||"Memo";case xt:e = t._payload,t=t._init;try{return bt ( t ( e ) ) } catch { } } return null } var Tt = Array.isArray,et=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,mt=h.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,re={pending:!1,data:null,method:null,action:n Line truncated
at`)?" (< anonymous > )":-1< l.stack.indexOf ( " @ " ) ? " @ unknown:0:0 " : " " } return `
`+Be+t+oe}var rl=!1;function Fl(t,e){if(!t||rl)return"";rl=!0;var l=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(e){var O=function(){throw Error()};if(Object.defineProperty(O.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"& & Reflect.construct){try{Reflect.construct(O,[])}catch(Z){var S=Z}Reflect.construct(t,[],O)}else{try{O.call()}catch(Z){S=Z}O=!1;try{var _=Object.getOwnPropertyDescriptor(t.prototype,"props");Object.defineProperty(t.prototype,"props",{configurable:!0,set:function(){throw Error()}}),O=!0,new t}finally{O& & (_!==void 0?Object.defineProperty(t.prototype,"props",_):delete t.prototype.props)}}}else{try{throw Error()}catch(Z){S=Z}(O=t())& & typeof O.catch=="function"& & O.catch(function(){})}}catch(Z){if(Z& & S& & typeof Z.stack=="string")return[Z.stack,S.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var n=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");n&&n.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"}); var u=a.DetermineComponentFrameRoot(),s=u[0],o=u[1];if(s& & o){var m=s.split(`
`),b=o.split(`
`);for(n=a=0;a< m.length & & ! m [ a ] . includes ( " DetermineComponentFrameRoot " ) ; ) a + + ; for ( ; n < b . length & & ! b [ n ] . includes ( " DetermineComponentFrameRoot " ) ; ) n + + ; if ( a = ==m.length||n===b.length)for(a=m.length-1,n=b.length-1;1<=a&&0<=n&&m[a]!==b[n];)n--;for(;1<=a&&0<=n;a--,n--)if(m[a]!==b[n]){if(a!==1||n!==1)do if ( a-- , n-- , 0 > n||m[a]!==b[n]){var E=`
`+m[a].replace(" at new "," at ");return t.displayName&&E.includes("<anonymous>")&&(E=E.replace("<anonymous>",t.displayName)),E}while(1<=a&&0<=n); break}}}finally{rl=!1,Error.prepareStackTrace=l}return(l=t?t.displayName||t.name:"")?fe(l):""}function ma(t,e){switch(t.tag){case 26:case 27:case 5:return fe(t.type);case 16:return fe("Lazy");case 13:return t.child!==e& & e!==null?fe("Suspense Fallback"):fe("Suspense");case 19:return fe("SuspenseList");case 0:case 15:return Fl(t.type,!1);case 11:return Fl(t.type.render,!1);case 1:return Fl(t.type,!0);case 31:return fe("Activity");case 30:return fe("ViewTransition");default:return""}}function Dl(t){try{var e="",l=null;do e+=ma(t,l),l=t,t=t.return;while(t);return e}catch(a){return`
Error generating stack: `+a.message+`
`+a.stack}}var ee=Object.prototype.hasOwnProperty,Pe=i.unstable_scheduleCallback,qe=i.unstable_cancelCallback,_l=i.unstable_shouldYield,ol=i.unstable_requestPaint,$t=i.unstable_now,wl=i.unstable_getCurrentPriorityLevel,mn=i.unstable_ImmediatePriority,Va=i.unstable_UserBlockingPriority,be=i.unstable_NormalPriority,Qa=i.unstable_LowPriority,ha=i.unstable_IdlePriority,su=i.log,ru=i.unstable_setDisableYieldValue,Wl=null,Me=null;function fl(t){if(typeof su=="function"& & ru(t),Me& & typeof Me.setStrictMode=="function")try{Me.setStrictMode(Wl,t)}catch{}}var Oe=Math.clz32?Math.clz32:du,ou=Math.log,fu=Math.LN2;function du(t){return t>>>=0,t===0?32:31-(ou(t)/fu|0)|0}var B=256,w=262144,P=4194304;function ct(t){var e=t&42; if(e!==0)return e;switch(t& -t){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 t&-t; case 262144:case 524288:case 1048576:case 2097152:return t&3932160; case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560; case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function A(t,e,l){var a=t.pendingLanes;if(a===0)return 0;var n=0,u=t.suspendedLanes,s=t.pingedLanes;t=t.warmLanes;var o=a&134217727; return o!==0?(a=o& ~u,a!==0?n=ct(a):(s& =o,s!==0?n=ct(s):l||(l=o& ~t,l!==0& & (n=ct(l))))):(o=a& ~u,o!==0?n=ct(o):s!==0?n=ct(s):l||(l=a& ~t,l!==0& & (n=ct(l)))),n===0?0:e!==0& & e!==n& & (e& u)===0& & (u=n& -n,l=e& -e,u>=l||u===32& & (l& 4194048)!==0)?e:n}function $(t,e){return(t.pendingLanes& ~(t.suspendedLanes& ~t.pingedLanes)& e)===0}function st(t,e){(e&8)!==0&&(e|=e&32); var l=t.entangledLanes;if(l!==0)for(t=t.entanglements,l&=e; 0< l ; ) { var a = 31-Oe(l),n=1<<a;e|=t[a],l&=~n}return e } function Yt ( t , e ) { switch ( t ) { case 1:case 2:case 4:case 8:case 64:return e + 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 e + 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 kt ( ) { var t = P;return P < < = 1 , ( P & 62914560 ) = = = 0 & & ( P = 4194304),t}function je ( t ) { for ( var e = [],l=0;31 > l;l++)e.push(t);return e}function Te(t,e){t.pendingLanes|=e,e!==268435456& & (t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Uc(t,e,l,a,n,u){var s=t.pendingLanes;t.pendingLanes=l,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=l,t.entangledLanes&=l,t.errorRecoveryDisabledLanes&=l,t.shellSuspendCounter=0; var o=t.entanglements,m=t.expirationTimes,b=t.hiddenUpdates;for(l=s&~l; 0< l ; ) { var E = 31-Oe(l),O=1<<E;o[E]=0,m[E]=-1;var S = b[E];if(S!==null)for(b[E]=null,E=0;E<S.length;E++){var _ = S[E];_!==null&&(_.lane&=-536870913)}l&=~O}a!==0&&ri(t,a,0),u!==0&&n===0&&t.tag!==0&&(t.suspendedLanes|=u&~(s&~e))}function ri ( t , e , l ) { t . pendingLanes | = e , t . suspendedLanes & = ~ e ; var a = 31-Oe(e);t.entangledLanes|=e,t.entanglements[a]=t.entanglements[a]|1073741824|l&261930}function hn ( t , e ) { var l = t.entangledLanes|=e;for(t=t.entanglements;l;){var a = 31-Oe(l),n=1<<a;n&e|t[a]&e&&(t[a]|=e),l&=~n}}function $ l ( t , e ) { var l = e&-e;return l = (l&42)!==0?1:kl(l),(l&(t.suspendedLanes|e))!==0?0:l}function kl ( t ) { switch ( t ) { case 2:t = 1;break;case 8:t = 4;break;case 32:t = 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:t = 128;break;case 268435456:t = 134217728;break;default:t=0}return t } function mu ( t ) { return t & = -t , 2 < t ? 8 < t ? ( t & 134217727 ) ! = = 0 ? 32:268435456:8:2 } function hu ( ) { var t = mt.p;return t ! = = 0 ? t: ( t = window.event,t===void 0 ? 32:Mh ( t . type ) ) } function Ze ( t , e ) { var l = mt.p;try{return mt . p = t,e()}finally{mt.p=l}}var ne = Math.random().toString(36).slice(2),ge="__reactFiber$"+ne,Ke="__reactProps$"+ne,vn="__reactContainer$"+ne,To="__reactEvents$"+ne,av="__reactListeners$"+ne,nv="__reactHandles$"+ne,_o="__reactResources$"+ne,vu="__reactMarker$"+ne,oi="__reactLoad$"+ne;function fi ( t ) { delete t [ ge ] , delete t [ Ke ] , delete t [ av ] , delete t [ nv ] } function Xa ( t ) { var e ; if ( e = t[ge])return e ; for ( var l = t.parentNode;l;){if(e=l[vn]||l[ge]){if(l=e.alternate,e.child!==null||l!==null&&l.child!==null)for(t=rh(t);t!==null;){if(l=t[ge])return l ; t = rh(t)}return e } t = l,l=t.parentNode}return null } function yn ( t ) { if ( t = t[ge]||t[vn]){var e = t.tag;if(e===5||e===6||e===13||e===31||e===26||e===27||e===3)return t } return null } function yu ( t ) { var e = t.tag;if(e===5||e===26||e===27||e===6)return t . stateNode ; throw Error ( f ( 33 ) ) } function gn ( t ) { var e = t[_o];return e | | ( e = t[_o]={hoistableStyles:new Map , hoistableScripts:new Map } ) , e } function _e ( t ) { t [ vu ] = ! 0 } function Eo ( t ) { t [ oi ] = void 0 } var No = new Set , Co = {};function La ( t , e ) { pn ( t , e ) , pn ( t + " Capture " , e ) } function pn ( t , Line truncated
`).replace(L0,"")}function Qm(t,e){return e=Vm(e),Vm(t)===e}function Zt(t,e,l,a,n,u){switch(l){case"children":if(typeof a=="string")e==="body"||e==="textarea"&&a===""||xn(t,a); else if(typeof a=="number"||typeof a=="bigint")e!=="body"&&xn(t,""+a); else return;break;case"className":mi(t,"class",a);break;case"tabIndex":mi(t,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":mi(t,l,a);break;case"style":Ho(t,a,u);return;case"data":if(e!=="object"){mi(t,"data",a);break}case"src":case"href":if(a===""&&(e!=="a"||l!=="href")){t.removeAttribute(l); break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){t.removeAttribute(l);break}a=hi(a),t.setAttribute(l,a);break;case"action":case"formAction":if(typeof a=="function"){t.setAttribute(l,"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 u=="function"&&(l==="formAction"?(e!=="input"&&Zt(t,e,"name",n.name,n,null),Zt(t,e,"formEncType",n.formEncType,n,null),Zt(t,e,"formMethod",n.formMethod,n,null),Zt(t,e,"formTarget",n.formTarget,n,null)):(Zt(t,e,"encType",n.encType,n,null),Zt(t,e,"method",n.method,n,null),Zt(t,e,"target",n.target,n,null))); if(a==null||typeof a=="symbol"||typeof a=="boolean"){t.removeAttribute(l);break}a=hi(a),t.setAttribute(l,a);break;case"onClick":a!=null&&(t.onclick=Ul); return;case"onScroll":a!=null&&Ot("scroll",t); return;case"onScrollEnd":a!=null&&Ot("scrollend",t); return;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(f(61));if(l=a.__html,l!=null){if(n.children!=null)throw Error(f(60));(u!=null?u.__html:void 0)!==l&&(t.innerHTML=l)}}break; case"multiple":t.multiple=a& & typeof a!="function"& & typeof a!="symbol";break;case"muted":t.muted=a& & typeof a!="function"& & typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){t.removeAttribute("xlink:href");break}l=hi(a),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",l);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null& & typeof a!="function"& & typeof a!="symbol"?t.setAttribute(l,a):t.removeAttribute(l);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"credentialless":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":a& & typeof a!="function"& & typeof a!="symbol"?t.setAttribute(l,""):t.removeAttribute(l);break;case"capture":case"download":a===!0?t.setAttribute(l,""):a!==!1& & a!=null& & typeof a!="function"& & typeof a!="symbol"?t.setAttribute(l,a):t.removeAttribute(l);break;case"cols":case"rows":case"size":case"span":a!=null& & typeof a!="function"& & typeof a!="symbol"&&!isNaN(a)&&1<=a?t.setAttribute(l,a):t.removeAttribute(l); break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?t.removeAttribute(l):t.setAttribute(l,a);break;case"popover":Ot("beforetoggle",t),Ot("toggle",t),di(t,"popover",a);break;case"xlinkActuate":Il(t,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Il(t,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Il(t,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Il(t,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Il(t,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Il(t,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Il(t,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":Il(t,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":Il(t,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":di(t,"is",a);break;case"innerText":case"textContent":return;default:if(!(2< l.length ) | | l [ 0 ] ! = = " o " & & l [ 0 ] ! = = " O " | | l [ 1 ] ! = = " n " & & l [ 1 ] ! = = " N " ) l = ov.get(l)||l,di(t,l,a);else return } Bt = !0}function Br ( t , e , l , a , n , u ) { switch ( l ) { case " style " :Ho ( t , a , u ) ; return ; case " dangerouslySetInnerHTML " :if ( a ! = null ) { if ( typeof a ! = " object " | | ! ( " __html " in a ) ) throw Error ( f ( 61 ) ) ; if ( l = a.__html,l!=null){if(n.children!=null)throw Error ( f ( 60 ) ) ; ( u ! = null ? u . __html:void 0 ) ! = = l & & ( t . innerHTML = l)}}break;case"children":if(typeof a = ="string")xn(t,a);else if ( typeof a = ="number"||typeof a = ="bigint")xn(t,""+a);else return ; break ; case " onScroll " :a ! = null & & Ot ( " scroll " , t ) ; return ; case " onScrollEnd " :a ! = null & & Ot ( " scro Line truncated
`+a.stack}}var ee=Object.prototype.hasOwnProperty,Pe=i.unstable_scheduleCallback,qe=i.unstable_cancelCallback,_l=i.unstable_shouldYield,ol=i.unstable_requestPaint,$t=i.unstable_now,Ul=i.unstable_getCurrentPriorityLevel,mn=i.unstable_ImmediatePriority,Va=i.unstable_UserBlockingPriority,be=i.unstable_NormalPriority,Qa=i.unstable_LowPriority,ha=i.unstable_IdlePriority,su=i.log,ru=i.unstable_setDisableYieldValue,Wl=null,Me=null;function fl(t){if(typeof su=="function"& & ru(t),Me& & typeof Me.setStrictMode=="function")try{Me.setStrictMode(Wl,t)}catch{}}var Oe=Math.clz32?Math.clz32:du,ou=Math.log,fu=Math.LN2;function du(t){return t>>>=0,t===0?32:31-(ou(t)/fu|0)|0}var B=256,U=262144,P=4194304;function it(t){var e=t&42; if(e!==0)return e;switch(t& -t){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 t&-t; case 262144:case 524288:case 1048576:case 2097152:return t&3932160; case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560; case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function A(t,e,l){var a=t.pendingLanes;if(a===0)return 0;var n=0,u=t.suspendedLanes,s=t.pingedLanes;t=t.warmLanes;var o=a&134217727; return o!==0?(a=o& ~u,a!==0?n=it(a):(s& =o,s!==0?n=it(s):l||(l=o& ~t,l!==0& & (n=it(l))))):(o=a& ~u,o!==0?n=it(o):s!==0?n=it(s):l||(l=a& ~t,l!==0& & (n=it(l)))),n===0?0:e!==0& & e!==n& & (e& u)===0& & (u=n& -n,l=e& -e,u>=l||u===32& & (l& 4194048)!==0)?e:n}function $(t,e){return(t.pendingLanes& ~(t.suspendedLanes& ~t.pingedLanes)& e)===0}function ct(t,e){(e&8)!==0&&(e|=e&32); var l=t.entangledLanes;if(l!==0)for(t=t.entanglements,l&=e; 0< l ; ) { var a = 31-Oe(l),n=1<<a;e|=t[a],l&=~n}return e } function Yt ( t , e ) { switch ( t ) { case 1:case 2:case 4:case 8:case 64:return e + 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 e + 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 wt ( ) { var t = P;return P < < = 1 , ( P & 62914560 ) = = = 0 & & ( P = 4194304),t}function je ( t ) { for ( var e = [],l=0;31 > l;l++)e.push(t);return e}function Te(t,e){t.pendingLanes|=e,e!==268435456& & (t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function kc(t,e,l,a,n,u){var s=t.pendingLanes;t.pendingLanes=l,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=l,t.entangledLanes&=l,t.errorRecoveryDisabledLanes&=l,t.shellSuspendCounter=0; var o=t.entanglements,m=t.expirationTimes,b=t.hiddenUpdates;for(l=s&~l; 0< l ; ) { var E = 31-Oe(l),O=1<<E;o[E]=0,m[E]=-1;var S = b[E];if(S!==null)for(b[E]=null,E=0;E<S.length;E++){var _ = S[E];_!==null&&(_.lane&=-536870913)}l&=~O}a!==0&&ri(t,a,0),u!==0&&n===0&&t.tag!==0&&(t.suspendedLanes|=u&~(s&~e))}function ri ( t , e , l ) { t . pendingLanes | = e , t . suspendedLanes & = ~ e ; var a = 31-Oe(e);t.entangledLanes|=e,t.entanglements[a]=t.entanglements[a]|1073741824|l&261930}function hn ( t , e ) { var l = t.entangledLanes|=e;for(t=t.entanglements;l;){var a = 31-Oe(l),n=1<<a;n&e|t[a]&e&&(t[a]|=e),l&=~n}}function $ l ( t , e ) { var l = e&-e;return l = (l&42)!==0?1:wl(l),(l&(t.suspendedLanes|e))!==0?0:l}function wl ( t ) { switch ( t ) { case 2:t = 1;break;case 8:t = 4;break;case 32:t = 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:t = 128;break;case 268435456:t = 134217728;break;default:t=0}return t } function mu ( t ) { return t & = -t , 2 < t ? 8 < t ? ( t & 134217727 ) ! = = 0 ? 32:268435456:8:2 } function hu ( ) { var t = mt.p;return t ! = = 0 ? t: ( t = window.event,t===void 0 ? 32:Oh ( t . type ) ) } function Ze ( t , e ) { var l = mt.p;try{return mt . p = t,e()}finally{mt.p=l}}var ne = Math.random().toString(36).slice(2),ge="__reactFiber$"+ne,Ke="__reactProps$"+ne,vn="__reactContainer$"+ne,_o="__reactEvents$"+ne,nv="__reactListeners$"+ne,uv="__reactHandles$"+ne,Eo="__reactResources$"+ne,vu="__reactMarker$"+ne,oi="__reactLoad$"+ne;function fi ( t ) { delete t [ ge ] , delete t [ Ke ] , delete t [ nv ] , delete t [ uv ] } function Xa ( t ) { var e ; if ( e = t[ge])return e ; for ( var l = t.parentNode;l;){if(e=l[vn]||l[ge]){if(l=e.alternate,e.child!==null||l!==null&&l.child!==null)for(t=oh(t);t!==null;){if(l=t[ge])return l ; t = oh(t)}return e } t = l,l=t.parentNode}return null } function yn ( t ) { if ( t = t[ge]||t[vn]){var e = t.tag;if(e===5||e===6||e===13||e===31||e===26||e===27||e===3)return t } return null } function yu ( t ) { var e = t.tag;if(e===5||e===26||e===27||e===6)return t . stateNode ; throw Error ( f ( 33 ) ) } function gn ( t ) { var e = t[Eo];return e | | ( e = t[Eo]={hoistableStyles:new Map , hoistableScripts:new Map } ) , e } function _e ( t ) { t [ vu ] = ! 0 } function No ( t ) { t [ oi ] = void 0 } var Co = new Set , Ao = {};function La ( t , e ) { pn ( t , e ) , pn ( t + " Capture " , e ) } function pn ( t , Line truncated
`).replace(Z0,"")}function Xm(t,e){return e=Qm(e),Qm(t)===e}function Zt(t,e,l,a,n,u){switch(l){case"children":if(typeof a=="string")e==="body"||e==="textarea"&&a===""||xn(t,a); else if(typeof a=="number"||typeof a=="bigint")e!=="body"&&xn(t,""+a); else return;break;case"className":mi(t,"class",a);break;case"tabIndex":mi(t,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":mi(t,l,a);break;case"style":Bo(t,a,u);return;case"data":if(e!=="object"){mi(t,"data",a);break}case"src":case"href":if(a===""&&(e!=="a"||l!=="href")){t.removeAttribute(l); break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){t.removeAttribute(l);break}a=hi(a),t.setAttribute(l,a);break;case"action":case"formAction":if(typeof a=="function"){t.setAttribute(l,"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 u=="function"&&(l==="formAction"?(e!=="input"&&Zt(t,e,"name",n.name,n,null),Zt(t,e,"formEncType",n.formEncType,n,null),Zt(t,e,"formMethod",n.formMethod,n,null),Zt(t,e,"formTarget",n.formTarget,n,null)):(Zt(t,e,"encType",n.encType,n,null),Zt(t,e,"method",n.method,n,null),Zt(t,e,"target",n.target,n,null))); if(a==null||typeof a=="symbol"||typeof a=="boolean"){t.removeAttribute(l);break}a=hi(a),t.setAttribute(l,a);break;case"onClick":a!=null&&(t.onclick=kl); return;case"onScroll":a!=null&&Ot("scroll",t); return;case"onScrollEnd":a!=null&&Ot("scrollend",t); return;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(f(61));if(l=a.__html,l!=null){if(n.children!=null)throw Error(f(60));(u!=null?u.__html:void 0)!==l&&(t.innerHTML=l)}}break; case"multiple":t.multiple=a& & typeof a!="function"& & typeof a!="symbol";break;case"muted":t.muted=a& & typeof a!="function"& & typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){t.removeAttribute("xlink:href");break}l=hi(a),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",l);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null& & typeof a!="function"& & typeof a!="symbol"?t.setAttribute(l,a):t.removeAttribute(l);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"credentialless":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":a& & typeof a!="function"& & typeof a!="symbol"?t.setAttribute(l,""):t.removeAttribute(l);break;case"capture":case"download":a===!0?t.setAttribute(l,""):a!==!1& & a!=null& & typeof a!="function"& & typeof a!="symbol"?t.setAttribute(l,a):t.removeAttribute(l);break;case"cols":case"rows":case"size":case"span":a!=null& & typeof a!="function"& & typeof a!="symbol"&&!isNaN(a)&&1<=a?t.setAttribute(l,a):t.removeAttribute(l); break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?t.removeAttribute(l):t.setAttribute(l,a);break;case"popover":Ot("beforetoggle",t),Ot("toggle",t),di(t,"popover",a);break;case"xlinkActuate":Il(t,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Il(t,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Il(t,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Il(t,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Il(t,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Il(t,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Il(t,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":Il(t,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":Il(t,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":di(t,"is",a);break;case"innerText":case"textContent":return;default:if(!(2< l.length ) | | l [ 0 ] ! = = " o " & & l [ 0 ] ! = = " O " | | l [ 1 ] ! = = " n " & & l [ 1 ] ! = = " N " ) l = fv.get(l)||l,di(t,l,a);else return } Bt = !0}function Br ( t , e , l , a , n , u ) { switch ( l ) { case " style " :Bo ( t , a , u ) ; return ; case " dangerouslySetInnerHTML " :if ( a ! = null ) { if ( typeof a ! = " object " | | ! ( " __html " in a ) ) throw Error ( f ( 61 ) ) ; if ( l = a.__html,l!=null){if(n.children!=null)throw Error ( f ( 60 ) ) ; ( u ! = null ? u . __html:void 0 ) ! = = l & & ( t . innerHTML = l)}}break;case"children":if(typeof a = ="string")xn(t,a);else if ( typeof a = ="number"||typeof a = ="bigint")xn(t,""+a);else return ; break ; case " onScroll " :a ! = null & & Ot ( " scroll " , t ) ; return ; case " onScrollEnd " :a ! = null & & Ot ( " scro Line truncated
`;Yt& & (je+=Yt+`
`),k t& & (je+=(Array.isArray(k t)?k t.join(`
`):String(k t))+`
`),je+=JSON.stringify(st,null,2).slice(0,4e3),jl(je),re("已返回登录信息,见下方")}catch(st){re("发起失败:"+st.message)}},[]),w=d.useCallback(async()=>{const A=X.trim();if(!A){F("请填要查配额的用户 id");return}try{const $=await at(W.adminQuotaUser(A));F("用户 "+A.slice(0,8)+":本月用量 "+vo($.used_usd_micros)+" / 配额 "+vo($.quota_usd_micros)+($.remaining_usd_micros!==null& & $.remaining_usd_micros!==void 0?"(剩余 "+vo($.remaining_usd_micros)+") ":"")+" | 月份 "+($.month||""))}catch($){F(ho($))}},[X]),P=d.useCallback(async()=>{if(window.confirm("确定手动触发 sweep 吗?超阈值的陈旧 running 任务会被标为 interrupted。"))try{const $=(await at(W.adminSweep,"POST",{})).swept||[];F("sweep 完成,清理 "+$.length+" 个任务"+($.length?": "+$.join("、"):""))}catch(A){F(ho(A))}},[]),ct=d.useCallback(async()=>{try{const A=await at(W.adminBackup,"POST",{});F("备份完成:backend="+A.backend+" | 路径 "+A.path+" | 大小 "+A.size_bytes+" 字节 | 任务 "+A.task_count+" 行")}catch(A){F(ho(A))}},[]);return{keySaved:i,keyState:h,quotaText:p,healthText:C,adminGate:z,adminBody:q,adminResult:U,adminUserId:X,setAdminUserId:J,projects:Q,projectId:St,setProjectId:jt,projectMsg:K,githubRepos:k,workers:nt,workersSummary:qt,workersError:wt,members:ot,memberMsg:G,memberError:tt,skills:xt,apps:L,mcpServers:y,skillMsg:ut,skillError:Ct,mcpMsg:Tt,mcpOauthMsg:mt,mcpOauthBox:Ga,envs:Xe,envCount:Vt,envMsg:Jl,envRepoLine:da,envRepoBar:zl,envRepoMsg:Tl,envSelect:oe,setEnvSelect:fe,models:rl,modelCustomVisible:ma,refreshHealth:qe,loadQuota:_l,probeAdmin:ol,refreshProjects:$t,loadGithubRepos:wl,loadRelayModels:mn,refreshWorkers:Va,refreshEnvs:be,refreshMembers:Qa,refreshSkills:ha,saveKeyInput:su,clearKeyInput:ru,createProject:Wl,createEnv:Me,archiveEnv:fl,saveEnvRepo:Oe,inviteMember:ou,changeMemberRole:fu,reloadMcp:du,mcpOauth:B,adminQuota:w,adminSweep:P,adminBackup:ct}}const yo=20;function cg(){const[i,r]=d.useState([]),[h,f]=d.useState(""),[p,N]=d.useState(""),[C,j]=d.useState(""),[z,R]=d.useState(""),[q,g]=d.useState(0),[U,F]=d.useState(0),[X,J]=d.useState({}),Q=d.useRef(0),vt=d.useRef({status:"",executor:"",q:""});vt.current={status:p,executor:C,q:z};const St=d.useRef(""),jt=d.useCallback(async(ot,yt,G)=>{const Y=ot!==void 0?ot:yt;if(!Y){r([]),F(0),J({});return}St.current=Y;const tt=G!==void 0?G:Q.current,gt=vt.current;try{const xt=await at(W.tasksPage(Y,yo,tt*yo,gt.status,gt.executor,gt.q));r(xt.tasks||[]),F(xt.total??(xt.tasks||[]).length),J(xt.status_counts||{}),f("")}catch(xt){f("加载失败:"+xt.message)}},[]),K=d.useCallback(ot=>{const yt=Math.max(0,ot);Q.current=yt,g(yt)},[]),Nt=d.useCallback(ot=>{K(ot),jt(St.current||void 0,void 0,ot)},[jt,K]);d.useEffect(()=>{if(!St.current)return;const ot=setTimeout(()=>{jt(St.current,void 0,0)},300);return()=>clearTimeout(ot)},[p,C,z]);const k=d.useCallback(ot=>{N(ot),K(0)},[K]),V=d.useCallback(ot=>{j(ot),K(0)},[K]),nt=d.useCallback(ot=>{R(ot),K(0)},[K]),Dt=d.useCallback(async ot=>{K(0),await jt(ot,void 0,0)},[jt,K]),qt=Math.max(1,Math.ceil(U/yo)),dt=U===0?"共 0 个任务":"共 "+U+" 个任务,第 "+(q+1)+" / "+qt+" 页",wt=i,H=d.useCallback(async(ot,yt)=>{const G={...ot};yt.length& & (G.upload_id=await ng(yt));const Y=await at(W.tasksCreate,"POST",G);return"任务已建:"+Ae(Y.id)},[]);return{tasks:i,taskError:h,statusFilter:p,setStatusFilter:k,executorFilter:C,setExecutorFilter:V,searchText:z,setSearchText:nt,filteredTasks:wt,taskCountText:dt,refreshTasks:jt,refreshTasksFirstPage:Dt,page:q,totalPages:qt,taskTotal:U,taskStatusCounts:X,goToPage:Nt,dispatch:H}}function sg(i,r){const[h,f]=d.useState(null),[p,N]=d.useState(""),[C,j]=d.useState(""),[z,R]=d.useState(""),[q,g]=d.useState(""),[U,F]=d.useState(void 0),[X,J]=d.useState(!1),[Q,vt]=d.useState(""),[St,jt]=d.useState([]),[K,Nt]=d.useState([]),[k,V]=d.useState(""),[nt,Dt]=d.useState([]),[qt,dt]=d.useState(""),[wt,H]=d.useState(""),[ot,yt]=d.useState([]),[G,Y]=d.useState(""),[tt,gt]=d.useState(""),[xt,Se]=d.useState(""),[L,se]=d.useState(""),[y,D]=d.useState([]),[ut,et]=d.useState([]),[Ct,bt]=d.useState(""),[Tt,lt]=d.useState([]),[mt,re]=d.useState(""),[Ga,jl]=d.useState(""),[Xe,ae]=d.useState(""),[Vt,ye]=d.useState(""),[Jl,xe]=d.useState([]),[da,Le]=d.useState(""),[zl,Rl]=d.useState(null),Tl=d.useRef(null),Be=d.useRef(null),oe=d.useRef(null);oe.current=h;const fe=d.useCallback(()=>{if(Tl.current){try{Tl.current.abort()}catch{}Tl.current=null}Be.current& & (clearTimeout(Be.current),Be.current=null)},[]),rl=d.useCallback(async B=>{try{const w=await at(W.taskAgents(B));Nt(w.agents||[]),V(w.note||"")}catch(w){Nt([]),V("子代理链路加载失败:"+w.message)}},[]),Fl=d.useCallback(B=>{Be.current& & clearTimeout(Be.current),Be.current=setTimeout(()=>void rl(B),1e3)},[rl]),ma=d.useCallback(async B=>{if(!B.coordinator_parts){jt([]);return}try{const w=await at(W.tasksByParent(B.project_id||"",B.id));jt(w.tasks||[])}catch{jt([])}},[]),Dl=d.useCallback(async B=>{try{cLine truncated
`),w t& & (je+=(Array.isArray(w t)?w t.join(`
`):String(w t))+`
`),je+=JSON.stringify(ct,null,2).slice(0,4e3),jl(je),re("已返回登录信息,见下方")}catch(ct){re("发起失败:"+ct.message)}},[]),U=d.useCallback(async()=>{const A=X.trim();if(!A){F("请填要查配额的用户 id");return}try{const $=await lt(W.adminQuotaUser(A));F("用户 "+A.slice(0,8)+":本月用量 "+vo($.used_usd_micros)+" / 配额 "+vo($.quota_usd_micros)+($.remaining_usd_micros!==null& & $.remaining_usd_micros!==void 0?"(剩余 "+vo($.remaining_usd_micros)+") ":"")+" | 月份 "+($.month||""))}catch($){F(ho($))}},[X]),P=d.useCallback(async()=>{if(window.confirm("确定手动触发 sweep 吗?超阈值的陈旧 running 任务会被标为 interrupted。"))try{const $=(await lt(W.adminSweep,"POST",{})).swept||[];F("sweep 完成,清理 "+$.length+" 个任务"+($.length?": "+$.join("、"):""))}catch(A){F(ho(A))}},[]),it=d.useCallback(async()=>{try{const A=await lt(W.adminBackup,"POST",{});F("备份完成:backend="+A.backend+" | 路径 "+A.path+" | 大小 "+A.size_bytes+" 字节 | 任务 "+A.task_count+" 行")}catch(A){F(ho(A))}},[]);return{keySaved:i,keyState:h,quotaText:p,healthText:C,adminGate:z,adminBody:q,adminResult:k,adminUserId:X,setAdminUserId:J,projects:Q,projectId:St,setProjectId:jt,projectMsg:K,githubRepos:w,workers:at,workersSummary:qt,workersError:Ut,members:ot,memberMsg:G,memberError:st,skills:xt,apps:L,mcpServers:y,skillMsg:nt,skillError:Ct,mcpMsg:Tt,mcpOauthMsg:mt,mcpOauthBox:Ga,envs:Xe,envCount:Vt,envMsg:Jl,envRepoLine:da,envRepoBar:zl,envRepoMsg:Tl,envSelect:oe,setEnvSelect:fe,models:rl,modelCustomVisible:ma,refreshHealth:qe,loadQuota:_l,probeAdmin:ol,refreshProjects:$t,loadGithubRepos:Ul,loadRelayModels:mn,refreshWorkers:Va,refreshEnvs:be,refreshMembers:Qa,refreshSkills:ha,saveKeyInput:su,clearKeyInput:ru,createProject:Wl,createEnv:Me,archiveEnv:fl,saveEnvRepo:Oe,inviteMember:ou,changeMemberRole:fu,reloadMcp:du,mcpOauth:B,adminQuota:U,adminSweep:P,adminBackup:it}}const yo=20;function sg(){const[i,r]=d.useState([]),[h,f]=d.useState(""),[p,N]=d.useState(""),[C,j]=d.useState(""),[z,R]=d.useState(""),[q,g]=d.useState(0),[k,F]=d.useState(0),[X,J]=d.useState({}),Q=d.useRef(0),vt=d.useRef({status:"",executor:"",q:""});vt.current={status:p,executor:C,q:z};const St=d.useRef(""),jt=d.useCallback(async(ot,yt,G)=>{const Y=ot!==void 0?ot:yt;if(!Y){r([]),F(0),J({});return}St.current=Y;const st=G!==void 0?G:Q.current,gt=vt.current;try{const xt=await lt(W.tasksPage(Y,yo,st*yo,gt.status,gt.executor,gt.q));r(xt.tasks||[]),F(xt.total??(xt.tasks||[]).length),J(xt.status_counts||{}),f("")}catch(xt){f("加载失败:"+xt.message)}},[]),K=d.useCallback(ot=>{const yt=Math.max(0,ot);Q.current=yt,g(yt)},[]),Nt=d.useCallback(ot=>{K(ot),jt(St.current||void 0,void 0,ot)},[jt,K]);d.useEffect(()=>{if(!St.current)return;const ot=setTimeout(()=>{jt(St.current,void 0,0)},300);return()=>clearTimeout(ot)},[p,C,z]);const w=d.useCallback(ot=>{N(ot),K(0)},[K]),V=d.useCallback(ot=>{j(ot),K(0)},[K]),at=d.useCallback(ot=>{R(ot),K(0)},[K]),Dt=d.useCallback(async ot=>{K(0),await jt(ot,void 0,0)},[jt,K]),qt=Math.max(1,Math.ceil(k/yo)),dt=k===0?"共 0 个任务":"共 "+k+" 个任务,第 "+(q+1)+" / "+qt+" 页",Ut=i,H=d.useCallback(async(ot,yt)=>{const G={...ot};yt.length& & (G.upload_id=await ug(yt));const Y=await lt(W.tasksCreate,"POST",G);return"任务已建:"+Ae(Y.id)},[]);return{tasks:i,taskError:h,statusFilter:p,setStatusFilter:w,executorFilter:C,setExecutorFilter:V,searchText:z,setSearchText:at,filteredTasks:Ut,taskCountText:dt,refreshTasks:jt,refreshTasksFirstPage:Dt,page:q,totalPages:qt,taskTotal:k,taskStatusCounts:X,goToPage:Nt,dispatch:H}}function rg(i,r){const[h,f]=d.useState(null),[p,N]=d.useState(""),[C,j]=d.useState(""),[z,R]=d.useState(""),[q,g]=d.useState(""),[k,F]=d.useState(void 0),[X,J]=d.useState(!1),[Q,vt]=d.useState(""),[St,jt]=d.useState([]),[K,Nt]=d.useState([]),[w,V]=d.useState(""),[at,Dt]=d.useState([]),[qt,dt]=d.useState(""),[Ut,H]=d.useState(""),[ot,yt]=d.useState([]),[G,Y]=d.useState(""),[st,gt]=d.useState(""),[xt,Se]=d.useState(""),[L,se]=d.useState(""),[y,D]=d.useState([]),[nt,tt]=d.useState([]),[Ct,bt]=d.useState(""),[Tt,et]=d.useState([]),[mt,re]=d.useState(""),[Ga,jl]=d.useState(""),[Xe,ae]=d.useState(""),[Vt,ye]=d.useState(""),[Jl,xe]=d.useState([]),[da,Le]=d.useState(""),[zl,Rl]=d.useState(null),Tl=d.useRef(null),Be=d.useRef(null),oe=d.useRef(null);oe.current=h;const fe=d.useCallback(()=>{if(Tl.current){try{Tl.current.abort()}catch{}Tl.current=null}Be.current& & (clearTimeout(Be.current),Be.current=null)},[]),rl=d.useCallback(async B=>{try{const U=await lt(W.taskAgents(B));Nt(U.agents||[]),V(U.note||"")}catch(U){Nt([]),V("子代理链路加载失败:"+U.message)}},[]),Fl=d.useCallback(B=>{Be.current& & clearTimeout(Be.current),Be.current=setTimeout(()=>void rl(B),1e3)},[rl]),ma=d.useCallback(async B=>{if(!B.coordinator_parts){jt([]);return}try{const U=await lt(W.tasksByParent(B.project_id||"",B.id));jt(U.tasks||[])}catch{jt([])}},[]),Dl=d.useCallback(async B=>{try{cLine truncated
`);hn=k l.pop()||"";for(const mu of k l){const hu=mu.split(`
`);hn=w l.pop()||"";for(const mu of w l){const hu=mu.split(`
`).filter(Ze=>Ze.indexOf("data: ")===0).map(Ze=>Ze.slice(6)).join(`
`);if(hu)try{const Ze=JSON.parse(hu);if(Ze.type==="snapshot")c t=Ze.entries||[],Object.keys(A).forEach(ne=>delete A[ne]),c t.forEach((ne,ge)=>{ne.id&&(A[ne.id]=ge)}),$=Ze.note||"",yt([...c t]),Y($),Fl(B); else if(Ze.type==="entry"){const ne=Ze.entry;ne.id& & ne.id in A?c t[A[ne.id]]=ne:(ne.id& & (A[ne.id]=c t.length),c t.push(ne)),yt([...c t]),Fl(B)}else Ze.type==="done"&&(s t=!0,Yt=Ze.status,gt(Yt))}catch{}}if(s t)break}}catch(k t){if(k t&&k t.name==="AbortError")return; Y("链路流中断:"+k t.message);return}s t& & r()},[fe,Fl,r]),be=d.useCallback(async B=>{fe();try{const w =await a t(W.task(B));f(w );let P="";w .result_text& & (P+=`=== result ===
`+w .result_text.slice(0,8e3)+`
`),w .error_text& & (P+=`=== error ===
`+w .error_text.slice(0,8e3)+`
`),P||(P="(暂无 result/error 输出)"),N(P),g(""),F(void 0),Dl(B),J(!1),vt(""),re(""),ye(""),mn(w .status);const c t=i(w .project_id),A=c t==="maintainer"||c t==="owner",$=c t==="contributor"||A,s t=uu.includes(w .status),Yt=[];["failed","interrupted","merge-failed"].includes(w .status)& & A||Yt.push("重试:不可用——仅 failed/interrupted/merge-failed 可重试"+(A?"":",且仅 maintainer 可重试")),!s t& & $||Yt.push("取消:不可用——"+(s t?"终态任务不可取消":"仅项目成员(contributor 及以上)可取消")),w .status==="completed"& & A||Yt.push("合并:不可用——仅 completed 可合并"+(A?"":",且仅 maintainer 可合并")),w .status==="merged"& & A||Yt.push("提 PR:不可用——仅 merged 可提 PR"+(A?"":",且仅 maintainer 可提 PR")),R(Yt.join("; ")),j(""),Va(B,w .status),rl(B),ma(w ),Pe(B),ee(B),ol(B),$t(B),w l(B),qe(B),_l(B)}catch(w ){f(null),N("加载失败:"+w .message)}},[fe,Va,rl,ma,Pe,ee,ol,$t,w l,qe,_l,Dl,i]),Qa=d.useCallback(async()=>{const B=oe.current;if(B){try{const w =await a t(W.task(B.id));f(w );let P="";w .result_text& & (P+=`=== result ===
`+w .result_text.slice(0,8e3)+`
`),w .error_text& & (P+=`=== error ===
`+w .error_text.slice(0,8e3)+`
`),N(P||"(暂无 result/error 输出)")}catch{}ee(B.id),Pe(B.id),qe(B.id),_l(B.id),ma(B),rl(B.id),ol(B.id),$t(B.id),wl(B.id),Dl(B.id)}},[ee,Pe,qe,_l,ma,rl,ol,$t,wl,Dl]),ha=d.useCallback(async B=>{const w=oe.current;if(!w)return;const P={cancel:"确定取消该任务吗?",merge:"确定把 completed 任务标为 merged 吗?",pr:"确定为该任务提 PR 吗?(会在仓库真实建 PR) "};if(!(P[B]& & !window.confirm(P[B])))try{const ct=await at(W.taskAction(w.id,B),"POST",{});j(B+" 已提交:"+JSON.stringify(ct).slice(0,300)),r(),await be(w.id)}catch(ct){j(B+" 失败:"+ct.message)}},[be,r]),su=d.useCallback(async()=>{const B=oe.current;if(B)try{const w=await at(W.taskCost(B.id));g(JSON.stringify(w,null,2).slice(0,4e3))}catch(w){g("查成本失败:"+w.message)}},[]),ru=d.useCallback(async B=>{const w=oe.current;if(w){if(!B.trim()){vt("分支消息必填");return}if(!uu.includes(w.status)){vt("仅终态任务可分支");return}try{const P=await at(W.taskFork(w.id),"POST",{message:B.trim()});vt("分支任务已建:"+P.id.slice(0,8)),r()}catch(P){vt("分支失败:"+P.message)}}},[r]),Wl=d.useCallback(async B=>{const w=oe.current;if(w)try{await at(W.taskReviews(w.id),"POST",B),dt("评审已登记(requested) "),await qe(w.id)}catch(P){dt("登记评审需求失败:"+P.message)}},[qe]),Me=d.useCallback(B=>{const w=oe.current;if(!w)return;const P=window.prompt("输入该条评审的 findings(将写回记录并标为 completed):");P!==null& & at(W.taskReviewFindings(w.id,B),"POST",{findings:P}).then(()=>void qe(w.id)).catch(ct=>dt("写 findings 失败:"+ct.message))},[qe]),fl=d.useCallback((B,w)=>{const P=oe.current;if(!P)return;const ct=w==="approved"?"approve":"deny";at(W.taskApprovalDecision(P.id,B,ct),"POST",{}).then(()=>{bt("已记录"+(w==="approved"?"允许":"拒绝")+"(当前版本只留回执,不拦截实时行为)"),_l(P.id)}).catch(A=>bt("决定失败:"+A.message))},[_l]),Oe=d.useCallback(async(B,w,P)=>{const ct=oe.current;if(ct){if(!w.trim()){re("目标任务 id 不能为空");return}if(!P.trim()){re("消息正文不能为空");return}try{const A=await at(W.taskMessagesTo(w.trim()),"POST",{from_task_id:ct.id,body:P.trim(),mode:B});re("已发送("+A.delivery+") "),await ol(ct.id)}catch(A){re("发送失败:"+A.message)}}},[ol]),ou=d.useCallback((B,w)=>{const P=oe.current;if(!P)return;if(!["completed","failed","interrupted"].includes(P.status)){ye("仅 completed/failed/interrupted 任务可操作线程(merged/merge-failed 不可改,服务端同样 409) ");return}const ct={};if(B==="rename"){if(!w.trim()){ye("新线程名不能为空");return}ct.name=w.trim()}at(W.taskThreadAction(P.id,B),"POST",ct).then(A=>{ye(B+" 已提交:"+JSON.stringify(A).slice(0,300)),$t(P.id),wl(P.id)}).catch(A=>ye(B+" 失败:"+A.message))},[$t,wl]),fu=d.useCallback(async B=>{const w=oe.current;if(!w)return;const P=B.trim();if(!P){Le("消息不能为空");return}try{uu.includes(w.status)& & w.status!=="merged"?(await at(W.taskContinue(w.id),"POST",{message:P}),Le("已重新排队,同一会话继续"),r(),await be(w.id)):["queued","running"].includes(w.status)?(await at(W.taskFollowups(w.id),"POST",{body:P,mode:"direct"}),Le("已直接发送"),await ee(w.id),await Pe(w.id)):Le("merged/merge-failed 任务不可继续,也不可发后续消息")}catch(ct){Le("发送失败:"+ct.message)}},[be,r,ee,Pe]),du=d.useCallback(async()=>{const B=oe.current;if(!B){se("先选一个任务");return}try{const w=await at(W.taskTrace(B.id)),P=new Blob([JSON.stringify({task_id:B.id,status:w.status,note:w.note||"",count:(w.entries||[]).length,entries:w.entries||[]},null,2)],{type:"application/json"}),ct=document.createElement("a");ct.href=URL.createObjectURL(P),ct.download="trace-"+B.id.slice(0,8)+".json",document.body.appendChild(ct),ct.click(),ct.remove(),setTimeout(()=>URL.revokeObjectURL(ct.href),1e3),se("已下载完整链路 "+(w.entries||[]).length+" 条")}catch(w){se("下载失败:"+w.message)}},[]);return d.useEffect(()=>()=>fe(),[fe]),{currentTask:h,detailBody:p,actionMsg:C,actionReasons:z,costBox:q,costSummary:U,forkVisible:X,setForkVisible:J,forkMsg:Q,coordChildren:St,agents:K,agentsNote:k,reviews:nt,reviewMsg:qt,reviewError:wt,traceEntries:ot,traceNote:G,traceDone:tt,traceKind:xt,setTraceKind:Se,traceMsg:L,followups:y,approvals:ut,approvalMsg:Ct,peerMessages:Tt,peerMsg:mt,threadText:Ga,threadGateNote:Xe,threadMsg:Vt,threadList:Jl,chatMsg:da,chatHistory:zl,showDetail:be,refreshDetailLists:Qa,doAction:ha,taskCost:su,forkTask:ru,postReview:Wl,submitFindings:Me,decideApproval:fl,postPeer:Oe,threadAction:ou,sendChatMessage:fu,downloadTrace:du,refreshReviews:()=>void qe(),refreshApprovals:()=>void _l()}}function rg(i){const[r,h]=d.useState([]),[f,p]=d.useState(""),[N,C]=d.useState(null),[j,z]=d.useState(""),R=d.useCallback(async X=>{const J=X!==void 0?X:i();if(!J){h([]);return}try{const Q=await at(W.projectAutomations(J));h(Q.automations||[])}catch(Q){p("自动化加载失败:"+Q.message)}},Line truncated
(链路摘要已截断至 300 字,完整回复见右侧任务结果)`:f,label:"助手"}}if(i.kind==="exec"||i.kind==="file"||i.kind==="tool"||i.kind==="call"){const f=i.kind==="exec"?"命令":i.kind==="file"?"文件":i.kind==="tool"?"工具":"调用";return{id:h,role:"tool",kind:i.kind,text:po(i),label:f}}return i.kind==="plan"?{id:h,role:"status",kind:i.kind,text:i.text||""}:i.kind==="reasoning"?{id:h,role:"status",kind:i.kind,text:"思考:"+(i.summary||"")}:i.kind==="agent-start"?{id:h,role:"status",kind:i.kind,text:"子代理开始:"+(i.name||"")+(i.prompt?"( "+i.prompt+") ":"")}:i.kind==="agent-done"?{id:h,role:"status",kind:i.kind,text:"子代理结束:"+(i.name||"")+" "+(i.status||"")}:{id:h,role:"status",kind:i.kind,text:po(i)}}function Ng(){const i=Kt(),r=i.currentTask,h=d.useMemo(()=>{if(!r)return[];let z;if(i.chatHistory){z=i.chatHistory.messages.map(X=>({id:X.id,role:X.role,text:X.text,label:X.label,kind:X.kind}));const U=new Set(z.map(X=>X.id)),F=i.traceEntries.filter(X=>X.id&&!U.has(X.id)&&!String(X.id).startsWith("fu-")).map((X,J)=>Jh(X,J)); z=[...z,...F]}else{const U=r.prompt?[{id:"task-prompt",role:"user",text:r.prompt}]:[],F=i.traceEntries.filter(J=>!String(J.id||"").startsWith("fu-")).map((J,Q)=>Jh(J,Q)),X=i.followups.map((J,Q)=>({id:"followup-"+Q,role:"user",text:String(J.body||""),label:"后续消息"}));z=[...U,...F,...X]}const R=i.traceKind,q=R?z.filter(U=>U.role==="user"||!U.kind||U.kind===R):z,g=i.traceDone?[{id:"trace-done",role:"status",text:"链路已结束("+i.traceDone+") "}]:[];return[...q,...g]},[r,i.chatHistory,i.traceEntries,i.followups,i.traceKind,i.traceDone]);if(!r)return c.jsx("div",{className:"muted",children:"点任务行查看详情后,这里显示继续会话"});const f=uu.includes(r.status),p=["queued","running"].includes(r.status),N=f||p,C=f?"终态任务:发送走继续接口(同一会话再跑一轮)":p?"运行中/排队中:发送走后续消息直接发送(跑完当前轮后优先执行)":"merged/merge-failed 任务不可继续,也不可发后续消息",j=i.chatHistory?i.chatHistory.legacy_continue_count??null:null;return c.jsxs("div",{className:"chat-column",children:[c.jsx("div",{className:"muted",children:"实时对话"}),c.jsxs(Ht,{children:[c.jsxs("select",{"aria-label":"链路类型",value:i.traceKind,onChange:z=>i.setTraceKind(z.target.value),children:[c.jsx("option",{value:"",children:"链路类型:全部"}),["exec","file","call","tool","message","reasoning","plan","agent-start","agent-done"].map(z=>c.jsx("option",{value:z,children:z==="exec"?"命令":z==="file"?"文件":z==="call"?"调用":z==="tool"?"工具":z==="message"?"消息":z==="reasoning"?"思考":z==="plan"?"计划":"子代理"},z))]}),c.jsx("button",{onClick:i.downloadTrace,children:"下载完整链路"}),c.jsx("span",{className:"muted",children:i.traceMsg})]}),i.traceNote?c.jsx("div",{children:c.jsx("span",{className:"err",children:i.traceNote})}):null,j!==null& & j>0?c.jsxs("div",{className:"muted",children:["此前有 ",j," 条继续消息发生在持久化之前,未入库,上面历史不完整;部署后新发的继续消息会正常显示。"]}):null,i.chatHistory& & i.chatHistory.trace_note?c.jsx("div",{className:"muted",children:i.chatHistory.trace_note}):null,c.jsx(_g,{messages:h,empty:"(暂无会话消息)"}),c.jsx(Eg,{disabled:!N,placeholder:"消息",onSend:z=>void i.sendChatMessage(z)}),c.jsxs("div",{className:"muted",children:[C,"。",i.chatMsg]}),c.jsx("div",{className:"muted",children:"对话时间线:首条是本任务 prompt(用户);助手回复、命令/文件/工具/调用、计划/思考/子代理开始结束都在同一列里,不再另起一份链路名单。流式进行中时新条目实时追加;你在底部时自动跟随,往上翻时暂停跟随,点“回到最新”恢复。"})]})}function Cg(){return Kt().currentTask?c.jsx("div",{className:"conversation",children:c.jsx(Ng,{})}):c.jsx("div",{className:"conversation",children:c.jsx("div",{className:"muted",children:"在任务列表里点一条任务,对话和详情就切到该任务;也可以在上面派发一个新任务。"})})}function Ag(){const i=Kt(),r=i.currentTask,[h,f]=d.useState("");if(!r)return null;const p=uu.includes(r.status),N=["failed","interrupted","merge-failed"].includes(r.status);return c.jsxs(c.Fragment,{children:[c.jsxs(Ht,{children:[c.jsx("button",{disabled:!N,title:N?"":"仅 failed/interrupted/merge-failed 可重试",onClick:()=>i.doAction("retry"),children:"重试"}),c.jsx("button",{className:"danger",disabled:p,title:p?"终态任务不可取消":"",onClick:()=>i.doAction("cancel"),children:"取消"}),c.jsx("button",{disabled:r.status!=="completed",title:r.status!=="completed"?"仅 completed 可合并":"",onClick:()=>i.doAction("merge"),children:"合并(completed → merged) "}),c.jsx("button",{disabled:r.status!=="merged",title:r.status!=="merged"?"仅 merged 可提 PR":"",onClick:()=>i.doAction("pr"),children:"提 PR(须 mergedLine truncated
`);if(hu)try{const Ze=JSON.parse(hu);if(Ze.type==="snapshot")i t=Ze.entries||[],Object.keys(A).forEach(ne=>delete A[ne]),i t.forEach((ne,ge)=>{ne.id&&(A[ne.id]=ge)}),$=Ze.note||"",yt([...i t]),Y($),Fl(B); else if(Ze.type==="entry"){const ne=Ze.entry;ne.id& & ne.id in A?i t[A[ne.id]]=ne:(ne.id& & (A[ne.id]=i t.length),i t.push(ne)),yt([...i t]),Fl(B)}else Ze.type==="done"&&(c t=!0,Yt=Ze.status,gt(Yt))}catch{}}if(c t)break}}catch(w t){if(w t&&w t.name==="AbortError")return; Y("链路流中断:"+w t.message);return}c t& & r()},[fe,Fl,r]),be=d.useCallback(async B=>{fe();try{const U =await l t(W.task(B));f(U );let P="";U .result_text& & (P+=`=== result ===
`+U .result_text.slice(0,8e3)+`
`),U .error_text& & (P+=`=== error ===
`+U .error_text.slice(0,8e3)+`
`),P||(P="(暂无 result/error 输出)"),N(P),g(""),F(void 0),Dl(B),J(!1),vt(""),re(""),ye(""),mn(U .status);const i t=i(U .project_id),A=i t==="maintainer"||i t==="owner",$=i t==="contributor"||A,c t=uu.includes(U .status),Yt=[];["failed","interrupted","merge-failed"].includes(U .status)& & A||Yt.push("重试:不可用——仅 failed/interrupted/merge-failed 可重试"+(A?"":",且仅 maintainer 可重试")),!c t& & $||Yt.push("取消:不可用——"+(c t?"终态任务不可取消":"仅项目成员(contributor 及以上)可取消")),U .status==="completed"& & A||Yt.push("合并:不可用——仅 completed 可合并"+(A?"":",且仅 maintainer 可合并")),U .status==="merged"& & A||Yt.push("提 PR:不可用——仅 merged 可提 PR"+(A?"":",且仅 maintainer 可提 PR")),R(Yt.join("; ")),j(""),Va(B,U .status),rl(B),ma(U ),Pe(B),ee(B),ol(B),$t(B),U l(B),qe(B),_l(B)}catch(U ){f(null),N("加载失败:"+U .message)}},[fe,Va,rl,ma,Pe,ee,ol,$t,U l,qe,_l,Dl,i]),Qa=d.useCallback(async()=>{const B=oe.current;if(B){try{const U =await l t(W.task(B.id));f(U );let P="";U .result_text& & (P+=`=== result ===
`+U .result_text.slice(0,8e3)+`
`),U .error_text& & (P+=`=== error ===
`+U .error_text.slice(0,8e3)+`
`),N(P||"(暂无 result/error 输出)")}catch{}ee(B.id),Pe(B.id),qe(B.id),_l(B.id),ma(B),rl(B.id),ol(B.id),$t(B.id),Ul(B.id),Dl(B.id)}},[ee,Pe,qe,_l,ma,rl,ol,$t,Ul,Dl]),ha=d.useCallback(async B=>{const U=oe.current;if(!U)return;const P={cancel:"确定取消该任务吗?",merge:"确定把 completed 任务标为 merged 吗?",pr:"确定为该任务提 PR 吗?(会在仓库真实建 PR) "};if(!(P[B]& & !window.confirm(P[B])))try{const it=await lt(W.taskAction(U.id,B),"POST",{});j(B+" 已提交:"+JSON.stringify(it).slice(0,300)),r(),await be(U.id)}catch(it){j(B+" 失败:"+it.message)}},[be,r]),su=d.useCallback(async()=>{const B=oe.current;if(B)try{const U=await lt(W.taskCost(B.id));g(JSON.stringify(U,null,2).slice(0,4e3))}catch(U){g("查成本失败:"+U.message)}},[]),ru=d.useCallback(async B=>{const U=oe.current;if(U){if(!B.trim()){vt("分支消息必填");return}if(!uu.includes(U.status)){vt("仅终态任务可分支");return}try{const P=await lt(W.taskFork(U.id),"POST",{message:B.trim()});vt("分支任务已建:"+P.id.slice(0,8)),r()}catch(P){vt("分支失败:"+P.message)}}},[r]),Wl=d.useCallback(async B=>{const U=oe.current;if(U)try{await lt(W.taskReviews(U.id),"POST",B),dt("评审已登记(requested) "),await qe(U.id)}catch(P){dt("登记评审需求失败:"+P.message)}},[qe]),Me=d.useCallback(B=>{const U=oe.current;if(!U)return;const P=window.prompt("输入该条评审的 findings(将写回记录并标为 completed):");P!==null& & lt(W.taskReviewFindings(U.id,B),"POST",{findings:P}).then(()=>void qe(U.id)).catch(it=>dt("写 findings 失败:"+it.message))},[qe]),fl=d.useCallback((B,U)=>{const P=oe.current;if(!P)return;const it=U==="approved"?"approve":"deny";lt(W.taskApprovalDecision(P.id,B,it),"POST",{}).then(()=>{bt("已记录"+(U==="approved"?"允许":"拒绝")+"(当前版本只留回执,不拦截实时行为)"),_l(P.id)}).catch(A=>bt("决定失败:"+A.message))},[_l]),Oe=d.useCallback(async(B,U,P)=>{const it=oe.current;if(it){if(!U.trim()){re("目标任务 id 不能为空");return}if(!P.trim()){re("消息正文不能为空");return}try{const A=await lt(W.taskMessagesTo(U.trim()),"POST",{from_task_id:it.id,body:P.trim(),mode:B});re("已发送("+A.delivery+") "),await ol(it.id)}catch(A){re("发送失败:"+A.message)}}},[ol]),ou=d.useCallback((B,U)=>{const P=oe.current;if(!P)return;if(!["completed","failed","interrupted"].includes(P.status)){ye("仅 completed/failed/interrupted 任务可操作线程(merged/merge-failed 不可改,服务端同样 409) ");return}const it={};if(B==="rename"){if(!U.trim()){ye("新线程名不能为空");return}it.name=U.trim()}lt(W.taskThreadAction(P.id,B),"POST",it).then(A=>{ye(B+" 已提交:"+JSON.stringify(A).slice(0,300)),$t(P.id),Ul(P.id)}).catch(A=>ye(B+" 失败:"+A.message))},[$t,Ul]),fu=d.useCallback(async B=>{const U=oe.current;if(!U)return;const P=B.trim();if(!P){Le("消息不能为空");return}try{uu.includes(U.status)& & U.status!=="merged"?(await lt(W.taskContinue(U.id),"POST",{message:P}),Le("已重新排队,同一会话继续"),r(),await be(U.id)):["queued","running"].includes(U.status)?(await lt(W.taskFollowups(U.id),"POST",{body:P,mode:"direct"}),Le("已直接发送"),await ee(U.id),await Pe(U.id)):Le("merged/merge-failed 任务不可继续,也不可发后续消息")}catch(it){Le("发送失败:"+it.message)}},[be,r,ee,Pe]),du=d.useCallback(async()=>{const B=oe.current;if(!B){se("先选一个任务");return}try{const U=await lt(W.taskTrace(B.id)),P=new Blob([JSON.stringify({task_id:B.id,status:U.status,note:U.note||"",count:(U.entries||[]).length,entries:U.entries||[]},null,2)],{type:"application/json"}),it=document.createElement("a");it.href=URL.createObjectURL(P),it.download="trace-"+B.id.slice(0,8)+".json",document.body.appendChild(it),it.click(),it.remove(),setTimeout(()=>URL.revokeObjectURL(it.href),1e3),se("已下载完整链路 "+(U.entries||[]).length+" 条")}catch(U){se("下载失败:"+U.message)}},[]);return d.useEffect(()=>()=>fe(),[fe]),{currentTask:h,detailBody:p,actionMsg:C,actionReasons:z,costBox:q,costSummary:k,forkVisible:X,setForkVisible:J,forkMsg:Q,coordChildren:St,agents:K,agentsNote:w,reviews:at,reviewMsg:qt,reviewError:Ut,traceEntries:ot,traceNote:G,traceDone:st,traceKind:xt,setTraceKind:Se,traceMsg:L,followups:y,approvals:nt,approvalMsg:Ct,peerMessages:Tt,peerMsg:mt,threadText:Ga,threadGateNote:Xe,threadMsg:Vt,threadList:Jl,chatMsg:da,chatHistory:zl,showDetail:be,refreshDetailLists:Qa,doAction:ha,taskCost:su,forkTask:ru,postReview:Wl,submitFindings:Me,decideApproval:fl,postPeer:Oe,threadAction:ou,sendChatMessage:fu,downloadTrace:du,refreshReviews:()=>void qe(),refreshApprovals:()=>void _l()}}function og(i){const[r,h]=d.useState([]),[f,p]=d.useState(""),[N,C]=d.useState(null),[j,z]=d.useState(""),R=d.useCallback(async X=>{const J=X!==void 0?X:i();if(!J){h([]);return}try{const Q=await lt(W.projectAutomations(J));h(Q.automations||[])}catch(Q){p("自动化加载失败:"+Q.message)}},Line truncated
(链路摘要已截断至 300 字,完整回复见右侧任务结果)`:f,label:"助手"}}if(i.kind==="exec"||i.kind==="file"||i.kind==="tool"||i.kind==="call"){const f=i.kind==="exec"?"命令":i.kind==="file"?"文件":i.kind==="tool"?"工具":"调用";return{id:h,role:"tool",kind:i.kind,text:po(i),label:f}}return i.kind==="plan"?{id:h,role:"status",kind:i.kind,text:i.text||""}:i.kind==="reasoning"?{id:h,role:"status",kind:i.kind,text:"思考:"+(i.summary||"")}:i.kind==="agent-start"?{id:h,role:"status",kind:i.kind,text:"子代理开始:"+(i.name||"")+(i.prompt?"( "+i.prompt+") ":"")}:i.kind==="agent-done"?{id:h,role:"status",kind:i.kind,text:"子代理结束:"+(i.name||"")+" "+(i.status||"")}:{id:h,role:"status",kind:i.kind,text:po(i)}}function Cg(){const i=Kt(),r=i.currentTask,h=d.useMemo(()=>{if(!r)return[];let z;if(i.chatHistory){z=i.chatHistory.messages.map(X=>({id:X.id,role:X.role,text:X.text,label:X.label,kind:X.kind}));const k=new Set(z.map(X=>X.id)),F=i.traceEntries.filter(X=>X.id&&!k.has(X.id)&&!String(X.id).startsWith("fu-")).map((X,J)=>Fh(X,J)); z=[...z,...F]}else{const k=r.prompt?[{id:"task-prompt",role:"user",text:r.prompt}]:[],F=i.traceEntries.filter(J=>!String(J.id||"").startsWith("fu-")).map((J,Q)=>Fh(J,Q)),X=i.followups.map((J,Q)=>({id:"followup-"+Q,role:"user",text:String(J.body||""),label:"后续消息"}));z=[...k,...F,...X]}const R=i.traceKind,q=R?z.filter(k=>k.role==="user"||!k.kind||k.kind===R):z,g=i.traceDone?[{id:"trace-done",role:"status",text:"链路已结束("+i.traceDone+") "}]:[];return[...q,...g]},[r,i.chatHistory,i.traceEntries,i.followups,i.traceKind,i.traceDone]);if(!r)return c.jsx("div",{className:"muted",children:"点任务行查看详情后,这里显示继续会话"});const f=uu.includes(r.status),p=["queued","running"].includes(r.status),N=f||p,C=f?"终态任务:发送走继续接口(同一会话再跑一轮)":p?"运行中/排队中:发送走后续消息直接发送(跑完当前轮后优先执行)":"merged/merge-failed 任务不可继续,也不可发后续消息",j=i.chatHistory?i.chatHistory.legacy_continue_count??null:null;return c.jsxs("div",{className:"chat-column",children:[c.jsx("div",{className:"muted",children:"实时对话"}),c.jsxs(Ht,{children:[c.jsxs("select",{"aria-label":"链路类型",value:i.traceKind,onChange:z=>i.setTraceKind(z.target.value),children:[c.jsx("option",{value:"",children:"链路类型:全部"}),["exec","file","call","tool","message","reasoning","plan","agent-start","agent-done"].map(z=>c.jsx("option",{value:z,children:z==="exec"?"命令":z==="file"?"文件":z==="call"?"调用":z==="tool"?"工具":z==="message"?"消息":z==="reasoning"?"思考":z==="plan"?"计划":"子代理"},z))]}),c.jsx("button",{onClick:i.downloadTrace,children:"下载完整链路"}),c.jsx("span",{className:"muted",children:i.traceMsg})]}),i.traceNote?c.jsx("div",{children:c.jsx("span",{className:"err",children:i.traceNote})}):null,j!==null& & j>0?c.jsxs("div",{className:"muted",children:["此前有 ",j," 条继续消息发生在持久化之前,未入库,上面历史不完整;部署后新发的继续消息会正常显示。"]}):null,i.chatHistory& & i.chatHistory.trace_note?c.jsx("div",{className:"muted",children:i.chatHistory.trace_note}):null,c.jsx(Eg,{messages:h,empty:"(暂无会话消息)"}),c.jsx(Ng,{disabled:!N,placeholder:"消息",onSend:z=>void i.sendChatMessage(z)}),c.jsxs("div",{className:"muted",children:[C,"。",i.chatMsg]}),c.jsx("div",{className:"muted",children:"对话时间线:首条是本任务 prompt(用户);助手回复、命令/文件/工具/调用、计划/思考/子代理开始结束都在同一列里,不再另起一份链路名单。流式进行中时新条目实时追加;你在底部时自动跟随,往上翻时暂停跟随,点“回到最新”恢复。"})]})}function Ag(){return Kt().currentTask?c.jsx("div",{className:"conversation",children:c.jsx(Cg,{})}):c.jsx("div",{className:"conversation",children:c.jsx("div",{className:"muted",children:"在任务列表里点一条任务,对话和详情就切到该任务;也可以在上面派发一个新任务。"})})}function Mg(){const i=Kt(),r=i.currentTask,[h,f]=d.useState("");if(!r)return null;const p=uu.includes(r.status),N=["failed","interrupted","merge-failed"].includes(r.status);return c.jsxs(c.Fragment,{children:[c.jsxs(Ht,{children:[c.jsx("button",{disabled:!N,title:N?"":"仅 failed/interrupted/merge-failed 可重试",onClick:()=>i.doAction("retry"),children:"重试"}),c.jsx("button",{className:"danger",disabled:p,title:p?"终态任务不可取消":"",onClick:()=>i.doAction("cancel"),children:"取消"}),c.jsx("button",{disabled:r.status!=="completed",title:r.status!=="completed"?"仅 completed 可合并":"",onClick:()=>i.doAction("merge"),children:"合并(completed → merged) "}),c.jsx("button",{disabled:r.status!=="merged",title:r.status!=="merged"?"仅 merged 可提 PR":"",onClick:()=>i.doAction("pr"),children:"提 PR(须 mergedLine truncated
`);for(;ot>=0;){const yt=dt.slice(0,ot);dt=dt.slice(ot+2);for(const G of yt.split(`
`))if(G.startsWith("data: "))try{const Y=JSON.parse(G.slice(6));Y.waiting?j(Y.task_status==="interrupted"?"任务已中断,等待续跑…":Y.task_status==="paused"?"任务已暂停…":"等待会话…"):Y.image&&(f("data:image/jpeg; base64,"+Y.image),j("直播中"));const t t={};Y.holder& & (t t.holder=Y.holder),Y.url& & (t t.url=Y.url),Y.title!==void 0& & (t t.title=Y.title),Object.keys(t t).length>0& & N(gt=>({...gt||{},...t t}))}catch{}ot=dt.indexOf(`
`))if(G.startsWith("data: "))try{const Y=JSON.parse(G.slice(6));Y.waiting?j(Y.task_status==="interrupted"?"任务已中断,等待续跑…":Y.task_status==="paused"?"任务已暂停…":"等待会话…"):Y.image&&(f("data:image/jpeg; base64,"+Y.image),j("直播中"));const s t={};Y.holder& & (s t.holder=Y.holder),Y.url& & (s t.url=Y.url),Y.title!==void 0& & (s t.title=Y.title),Object.keys(s t).length>0& & N(gt=>({...gt||{},...s t}))}catch{}ot=dt.indexOf(`
`)}}j("流已断开")}catch(nt){if(nt.name==="AbortError")return;R(nt instanceof Error?nt.message:String(nt)),j("未开始")}finally{g(!1)}},[r]),Q=d.useCallback(()=>{var k;(k=U.current)==null||k.abort(),g(!1),j("已停止")},[]),vt=d.useCallback(async k=>{if(r)try{const V=await at(W.taskBrowserControl(r.id),"POST",{holder:k});N(V),R("")}catch(V){R(V instanceof Error?V.message:String(V))}},[r]),St=d.useCallback(async k=>{if(!r||(p==null?void 0:p.holder)!=="user"||!F.current)return;const V=F.current.getBoundingClientRect(),nt=Math.round((k.clientX-V.left)/V.width*1280),Dt=Math.round((k.clientY-V.top)/V.height*800);try{await at(W.taskBrowserInput(r.id),"POST",{type:"mouse_click",x:nt,y:Dt})}catch(qt){R(qt instanceof Error?qt.message:String(qt))}},[r,p]),jt=d.useCallback(async k=>{if(!(!r||(p==null?void 0:p.holder)!=="user")){k.preventDefault();try{k.key.length===1?await at(W.taskBrowserInput(r.id),"POST",{type:"type",text:k.key}):await at(W.taskBrowserInput(r.id),"POST",{type:"key",key:k.key})}catch(V){R(V instanceof Error?V.message:String(V))}}},[r,p]);if(!r)return c.jsx("div",{className:"muted",children:"点任务行查看详情"});const K=(p==null?void 0:p.holder)||"—",Nt=p!==null;return c.jsxs("div",{children:[c.jsxs("div",{style:{display:"flex",gap:8,flexWrap:"wrap",alignItems:"center"},children:[c.jsxs("span",{children:["状态 ",c.jsx("b",{children:C})]}),c.jsxs("span",{className:"muted",children:["会话 ",Nt?"活跃":"未激活(轮次结束即消失)"]}),c.jsxs("span",{className:"muted",children:["控制权 ",K]}),p!=null& & p.url?c.jsx("span",{className:"muted",title:p.url,children:p.url.slice(0,80)}):null]}),c.jsxs("div",{style:{display:"flex",gap:8,flexWrap:"wrap",marginTop:8},children:[q?c.jsx("button",{type:"button",onClick:Q,children:"停止观看"}):c.jsx("button",{type:"button",onClick:()=>void J(),children:"开始观看"}),c.jsx("button",{type:"button",onClick:()=>void X(),children:"刷新状态"}),K!=="user"?c.jsx("button",{type:"button",onClick:()=>void vt("user"),disabled:!Nt,children:"接管"}):c.jsx("button",{type:"button",onClick:()=>void vt("agent"),children:"交还给 Agent"})]}),z?c.jsx("div",{className:"muted",style:{marginTop:8},children:z}):null,K==="user"?c.jsx("div",{className:"muted",style:{marginTop:8},children:"你已接管:点画面即点击,键盘输入直达页面。交还后 Agent 续跑前会先快照确认你的改动。"}):null,c.jsx("div",{style:{marginTop:8},children:h?c.jsx("img",{ref:F,src:h,alt:"浏览器实时画面",tabIndex:0,onClick:k=>void St(k),onKeyDown:k=>void jt(k),style:{width:"100%",maxWidth:1280,cursor:K==="user"?"crosshair":"default",border:"1px solid var(--border, #ccc)"}}):c.jsx("div",{className:"muted",children:Nt?"点“开始观看”接入画面流(接管后点画面即点击)":"浏览器会话未激活:任务本轮未开浏览器,或轮次已结束。"})})]})}function Og(){const i=Kt(),[r,h]=d.useState("uncommittedChanges"),[f,p]=d.useState(""),[N,C]=d.useState(""),[j,z]=d.useState("");return c.jsxs(c.Fragment,{children:[c.jsx("h3",{children:"评审队列"}),c.jsxs("select",{"aria-label":"评审目标",value:r,onChange:R=>h(R.target.value),children:[c.jsx("option",{value:"uncommittedChanges",children:"未提交改动(工作区)"}),c.jsx("option",{value:"baseBranch",children:"与分支的差异"}),c.jsx("option",{value:"commit",children:"指定提交"}),c.jsx("option",{value:"custom",children:"自定义评审指令"})]}),c.jsx("input",{className:"stacked",placeholder:"与分支的差异用:分支名(如 main) ",style:{width:"100%"},value:f,onChange:R=>p(R.target.value)}),c.jsx("input",{className:"stacked",placeholder:"指定提交用:提交 sha",style:{width:"100%"},value:N,onChange:R=>C(R.target.value)}),c.jsx("textarea",{placeholder:"自定义评审指令用:评审指令正文",value:j,onChange:R=>z(R.target.value)}),c.jsxs(Ht,{children:[c.jsx("button",{className:"primary",onClick:()=>void i.postReview({target_type:r,branch:f.trim()||void 0,sha:N.trim()||void 0,instructions:j.trim()||void 0}),children:"登记评审需求"}),c.jsx("button",{onClick:i.refreshReviews,children:"刷新队列"}),c.jsx("span",{className:"muted",children:i.reviewMsg})]}),c.jsx("div",{className:"muted",children:"本基线只登记评审需求(requested),不自动跑评审;评审是否执行、结果如何,以评审队列里的记录为准。"}),i.reviewError?c.jsx("div",{className:"muted",children:i.reviewError}):i.reviews.length===0?c.jsx("div",{className:"muted",children:"点任务行查看详情后,点“刷新队列”查看评审记录"}):c.jsx(cu,{children:i.reviews.map(R=>{let q=R.target_type||"";return R.branch& & (q+=": "+R.branch),R.sha& & (q+=": "+String(R.sha).slice(0,12)),R.instructions& & (q+=": "+String(R.instructions).slice(0,80)),c.jsxs("li",{children:[c.jsxs("span",{className:"row-main",children:[c.jsx("b",{children:"评审"})," ",Ae(R.id)," | ",q," | ",c.jsx("span",{className:"st-"+(R.status||""),children:RLine truncated
`)}}j("流已断开")}catch(at){if(at.name==="AbortError")return;R(at instanceof Error?at.message:String(at)),j("未开始")}finally{g(!1)}},[r]),Q=d.useCallback(()=>{var w;(w=k.current)==null||w.abort(),g(!1),j("已停止")},[]),vt=d.useCallback(async w=>{if(r)try{const V=await lt(W.taskBrowserControl(r.id),"POST",{holder:w});N(V),R("")}catch(V){R(V instanceof Error?V.message:String(V))}},[r]),St=d.useCallback(async w=>{if(!r||(p==null?void 0:p.holder)!=="user"||!F.current)return;const V=F.current.getBoundingClientRect(),at=Math.round((w.clientX-V.left)/V.width*1280),Dt=Math.round((w.clientY-V.top)/V.height*800);try{await lt(W.taskBrowserInput(r.id),"POST",{type:"mouse_click",x:at,y:Dt})}catch(qt){R(qt instanceof Error?qt.message:String(qt))}},[r,p]),jt=d.useCallback(async w=>{if(!(!r||(p==null?void 0:p.holder)!=="user")){w.preventDefault();try{w.key.length===1?await lt(W.taskBrowserInput(r.id),"POST",{type:"type",text:w.key}):await lt(W.taskBrowserInput(r.id),"POST",{type:"key",key:w.key})}catch(V){R(V instanceof Error?V.message:String(V))}}},[r,p]);if(!r)return c.jsx("div",{className:"muted",children:"点任务行查看详情"});const K=(p==null?void 0:p.holder)||"—",Nt=p!==null;return c.jsxs("div",{children:[c.jsxs("div",{style:{display:"flex",gap:8,flexWrap:"wrap",alignItems:"center"},children:[c.jsxs("span",{children:["状态 ",c.jsx("b",{children:C})]}),c.jsxs("span",{className:"muted",children:["会话 ",Nt?"活跃":"未激活(轮次结束即消失)"]}),c.jsxs("span",{className:"muted",children:["控制权 ",K]}),p!=null& & p.url?c.jsx("span",{className:"muted",title:p.url,children:p.url.slice(0,80)}):null]}),c.jsxs("div",{style:{display:"flex",gap:8,flexWrap:"wrap",marginTop:8},children:[q?c.jsx("button",{type:"button",onClick:Q,children:"停止观看"}):c.jsx("button",{type:"button",onClick:()=>void J(),children:"开始观看"}),c.jsx("button",{type:"button",onClick:()=>void X(),children:"刷新状态"}),K!=="user"?c.jsx("button",{type:"button",onClick:()=>void vt("user"),disabled:!Nt,children:"接管"}):c.jsx("button",{type:"button",onClick:()=>void vt("agent"),children:"交还给 Agent"})]}),z?c.jsx("div",{className:"muted",style:{marginTop:8},children:z}):null,K==="user"?c.jsx("div",{className:"muted",style:{marginTop:8},children:"你已接管:点画面即点击,键盘输入直达页面。交还后 Agent 续跑前会先快照确认你的改动。"}):null,c.jsx("div",{style:{marginTop:8},children:h?c.jsx("img",{ref:F,src:h,alt:"浏览器实时画面",tabIndex:0,onClick:w=>void St(w),onKeyDown:w=>void jt(w),style:{width:"100%",maxWidth:1280,cursor:K==="user"?"crosshair":"default",border:"1px solid var(--border, #ccc)"}}):c.jsx("div",{className:"muted",children:Nt?"点“开始观看”接入画面流(接管后点画面即点击)":"浏览器会话未激活:任务本轮未开浏览器,或轮次已结束。"})})]})}function zg(){const i=Kt(),[r,h]=d.useState("uncommittedChanges"),[f,p]=d.useState(""),[N,C]=d.useState(""),[j,z]=d.useState("");return c.jsxs(c.Fragment,{children:[c.jsx("h3",{children:"评审队列"}),c.jsxs("select",{"aria-label":"评审目标",value:r,onChange:R=>h(R.target.value),children:[c.jsx("option",{value:"uncommittedChanges",children:"未提交改动(工作区)"}),c.jsx("option",{value:"baseBranch",children:"与分支的差异"}),c.jsx("option",{value:"commit",children:"指定提交"}),c.jsx("option",{value:"custom",children:"自定义评审指令"})]}),c.jsx("input",{className:"stacked",placeholder:"与分支的差异用:分支名(如 main) ",style:{width:"100%"},value:f,onChange:R=>p(R.target.value)}),c.jsx("input",{className:"stacked",placeholder:"指定提交用:提交 sha",style:{width:"100%"},value:N,onChange:R=>C(R.target.value)}),c.jsx("textarea",{placeholder:"自定义评审指令用:评审指令正文",value:j,onChange:R=>z(R.target.value)}),c.jsxs(Ht,{children:[c.jsx("button",{className:"primary",onClick:()=>void i.postReview({target_type:r,branch:f.trim()||void 0,sha:N.trim()||void 0,instructions:j.trim()||void 0}),children:"登记评审需求"}),c.jsx("button",{onClick:i.refreshReviews,children:"刷新队列"}),c.jsx("span",{className:"muted",children:i.reviewMsg})]}),c.jsx("div",{className:"muted",children:"本基线只登记评审需求(requested),不自动跑评审;评审是否执行、结果如何,以评审队列里的记录为准。"}),i.reviewError?c.jsx("div",{className:"muted",children:i.reviewError}):i.reviews.length===0?c.jsx("div",{className:"muted",children:"点任务行查看详情后,点“刷新队列”查看评审记录"}):c.jsx(cu,{children:i.reviews.map(R=>{let q=R.target_type||"";return R.branch& & (q+=": "+R.branch),R.sha& & (q+=": "+String(R.sha).slice(0,12)),R.instructions& & (q+=": "+String(R.instructions).slice(0,80)),c.jsxs("li",{children:[c.jsxs("span",{className:"row-main",children:[c.jsx("b",{children:"评审"})," ",Ae(R.id)," | ",q," | ",c.jsx("span",{className:"st-"+(R.status||""),children:RLine truncated
< style rel = "stylesheet" crossorigin > : r o o t { - - t e x t : # 1 f 2 3 2 8 ; - - m u t e d : # 6 5 6 d 7 6 ; - - s u b t l e : # 6 e 7 7 8 1 ; - - l i n e : # d 0 d 7 d e ; - - l i n e - m u t e d : # d 8 d e e 4 ; - - p a p e r : # f f f f f f ; - - c a r d : # f f f f f f ; - - s u b t l e - b g : # f 6 f 8 f a ; - - i n s e t - b g : # f 6 f 8 f a ; - - a c c e n t : # 0 9 6 9 d a ; - - a c c e n t - e m p h a s i s : # 0 9 6 9 d a ; - - g r e e n : # 2 d a 4 4 e ; - - g r e e n - h o v e r : # 2 c 9 7 4 b ; - - s u c c e s s : # 1 a 7 f 3 7 ; - - d a n g e r : # d 1 2 4 2 f ; - - d a n g e r - b g : # f f e b e 9 ; - - a t t e n t i o n : # 9 a 6 7 0 0 ; - - d o n e : # 8 2 5 0 d f ; - - s e l e c t e d - b g : # d d f 4 f f ; - - r a d i u s : 6 p x ; - - s h a d o w : 0 1 p x 0 r g b a ( 2 7 , 3 1 , 3 6 , . 0 4 ) ; - - s a n s : - a p p l e - s y s t e m , B l i n k M a c S y s t e m F o n t , " S e g o e U I " , " N o t o S a n s " , H e l v e t i c a , A r i a l , s a n s - s e r i f ; - - m o n o : u i - m o n o s p a c e , S F M o n o - R e g u l a r , S F M o n o - R e g u l a r , M e n l o , C o n s o l a s , " L i b e r a t i o n M o n o " , m o n o s p a c e ; - - c t l : 3 2 p x } * { b o x - s i z i n g : b o r d e r - b o x } h t m l , b o d y , # r o o t { h e i g h t : 1 0 0 % } b o d y { f o n t - f a m i l y : v a r ( - - s a n s ) ; m a r g i n : 0 ; c o l o r : v a r ( - - t e x t ) ; b a c k g r o u n d : # f f f ; l i n e - h e i g h t : 1 . 5 ; f o n t - s i z e : 1 4 p x } a { c o l o r : v a r ( - - a c c e n t ) ; t e x t - u n d e r l i n e - o f f s e t : 3 p x } : f o c u s - v i s i b l e { o u t l i n e : 2 p x s o l i d v a r ( - - a c c e n t ) ; o u t l i n e - o f f s e t : 2 p x } @ m e d i a ( p r e f e r s - r e d u c e d - m o t i o n : r e d u c e ) { * { s c r o l l - b e h a v i o r : a u t o ! i m p o r t a n t ; t r a n s i t i o n : n o n e ! i m p o r t a n t } } . m u t e d { c o l o r : v a r ( - - m u t e d ) ; f o n t - s i z e : 1 2 p x ; l i n e - h e i g h t : 1 . 5 } . e r r { c o l o r : v a r ( - - d a n g e r ) } . o k { c o l o r : v a r ( - - s u c c e s s ) } b u t t o n { c u r s o r : p o i n t e r ; f o n t - w e i g h t : 5 0 0 ; b o r d e r - r a d i u s : v a r ( - - r a d i u s ) ; b o r d e r : 1 p x s o l i d v a r ( - - l i n e ) ; b a c k g r o u n d : # f f f ; c o l o r : v a r ( - - t e x t ) ; b o x - s h a d o w : v a r ( - - s h a d o w ) } b u t t o n : h o v e r { b a c k g r o u n d : v a r ( - - s u b t l e - b g ) } b u t t o n : d i s a b l e d { o p a c i t y : . 4 5 ; c u r s o r : n o t - a l l o w e d ; b o x - s h a d o w : n o n e } b u t t o n . p r i m a r y , b u t t o n . s e a l { b a c k g r o u n d : v a r ( - - g r e e n ) ; b o r d e r - c o l o r : # 1 b 1 f 2 4 2 6 ; c o l o r : # f f f } b u t t o n . p r i m a r y : h o v e r , b u t t o n . s e a l : h o v e r { b a c k g r o u n d : v a r ( - - g r e e n - h o v e r ) } b u t t o n . d a n g e r { c o l o r : v a r ( - - d a n g e r ) ; b o r d e r - c o l o r : v a r ( - - l i n e ) ; b a c k g r o u n d : # f f f } b u t t o n . d a n g e r : h o v e r { b a c k g r o u n d : v a r ( - - d a n g e r - b g ) ; c o l o r : v a r ( - - d a n g e r ) } . i c o n - b t n { w i d t h : 3 2 p x ; h e i g h t : 3 2 p x ; p a d d i n g : 0 ; d i s p l a y : g r i d ; p l a c e - i t e m s : c e n t e r ; b o r d e r : 1 p x s o l i d v a r ( - - l i n e ) ; b o r d e r - r a d i u s : v a r ( - - r a d i u s ) ; b a c k g r o u n d : # f f f ; c o l o r : v a r ( - - t e x t ) ; f o n t - s i z e : 1 6 p x ; l i n e - h e i g h t : 1 } . i c o n - b t n : h o v e r { b a c k g r o u n d : v a r ( - - s u b t l e - b g ) } . d a s h - t o p b a r { p o s i t i o n : s t i c k y ; t o p : 0 ; z - i n d e x : 1 0 ; b a c k g r o u n d : # 2 4 2 9 2 f ; c o l o r : # f f f ; b o r d e r - b o t t o m : 1 p x s o l i d r g b a ( 2 5 5 , 2 5 5 , 2 5 5 , . 1 5 ) ; p a d d i n g : 1 0 p x 2 0 p x 8 p x } . d a s h - t o p b a r . m u t e d { c o l o r : # f f f f f f b f } . d a s h - t o p b a r - r o w { d i s p l a y : f l e x ; g a p : 1 4 p x ; a l i g n - i t e m s : c e n t e r ; f l e x - w r a p : w r a p } . d a s h - b r a n d { f o n t - w e i g h t : 6 0 0 ; f o n t - s i z e : 1 6 p x ; c o l o r : # f f f } . d a s h - s t a t u s { f o n t - s i z e : 1 3 p x ; f o n t - w e i g h t : 6 0 0 ; c o l o r : # f f f f f f b f } . d a s h - s t a t u s . o k { c o l o r : # 2 d a 4 4 e } . d a s h - s t a m p { m a r g i n - l e f t : a u t o } . d a s h - n a v { d i s p l a y : f l e x ; g a p : 4 p x ; f l e x - w r a p : w r a p ; m a r g i n - t o p : 8 p x } . d a s h - n a v a { c o l o r : # f f f ; t e x t - d e c o r a t i o n : n o n e ; f o n t - s i z e : 1 3 p x ; f o n t - w e i g h t : 6 0 0 ; p a d d i n g : 6 p x 1 2 p x ; b o r d e r - r a d i u s : v a r ( - - r a d i u s ) } . d a s h - n a v a : h o v e r { b a c k g r o u n d : # f f f f f f 1 f ; t e x t - d e c o r a t i o n : n o n e } . t a b - n a v b u t t o n { b a c k g r o u n d : t r a n s p a r e n t ; b o r d e r : 0 ; b o x - s h a d o w : n o n e ; c o l o r : # f f f ; f o n t - s i z e : 1 3 p x ; f o n t - w e i g h t : 6 0 0 ; p a d d i n g : 6 p x 1 2 p x ; b o r d e r - r a d i u s : v a r ( - - r a d i u s ) } . t a b - n a v b u t t o n : h o v e r { b a c k g r o u n d : # f f f f f f 1 f } . t a b - n a v b u t t o n . a c t i v e { b a c k g r o u n d : # f f f f f f 2 e } . d a s h - p a g e - t a b s { d i s p l a y : f l e x } . d a s h - p a g e - t a b s > . t a b - c o n t e n t { g r i d - c o l u m n : 1 / - 1 ; m i n - w i d t h : 0 ; d i s p l a y : f l e x ; f l e x - d i r e c t i o n : c o l u m n ; g a p : 2 0 p x } . t a b - w o r k b e n c h { d i s p l a y : g r i d ; g r i d - t e m p l a t e - c o l u m n s : 3 2 0 p x m i n m a x ( 0 , 1 f r ) ; g a p : 2 0 p x ; a l i g n - i t e m s : s t a r t } . t a b - w o r k b e n c h > * { m i n - w i d t h : 0 } @ m e d i a ( m a x - w i d t h : 8 9 9 p x ) { . t a b - w o r k b e n c h { g r i d - t e m p l a t e - c o l u m n s : 1 f r } . t a b - w o r k b e n c h # s e c - d i s p a t c h { o r d e r : 1 } . t a b - w o r k b e n c h # s e c - t a s k s { o r d e r : 2 } . t a b - w o r k b e n c h # s e c - c o n v { o r d e r : 3 } } . d a s h - p a g e { m a x - w i d t h : 1 1 8 0 p x ; m a r g i n : 0 a u t o ; p a d d i n g : 2 0 p x ; d i s p l a y : f l e x ; f l e x - d i r e c t i o n : c o l u m n ; g a p : 2 0 p x } . d a s h - p a g e > * { m i n - w i d t h : 0 } . d a s h - s e c t i o n > * { m i n - w i d t h : 0 } . d a s h - s e c t i o n { s c r o l l - m a r g i n - t o p : 1 3 0 p x ; d i s p l a y : f l e x ; f l e x - d i r e c t i o n : c o l u m n ; g a p : 1 6 p x } . d a s h - s e c t i o n . c a r d { p a d d i n g : 1 6 p x } . d a s h - c a r d s { d i s p l a y : g r i d ; g r i d - t e m p l a t e - c o l u m n s : r e p e a t ( 3 , 1 f r ) ; g a p : 1 2 p x } . d a s h - c a r d { b a c k g r o u n d : # f f f ; b o r d e r : 1 p x s o l i d v a r ( - - l i n e ) ; b o r d e r - r a d i u s : v a r ( - - r a d i u s ) ; p a d d i n g : 1 6 p x ; m i n - w i d t h : 0 } . d a s h - c a r d - l a b e l { c o l o r : v a r ( - - m u t e d ) ; f o n t - s i z e : 1 2 p x ; f o n t - w e i g h t : 6 0 0 } . d a s h - c a r d - v a l u e { f o n t - s i z e : 2 4 p x ; f o n t - w e i g h t : 6 0 0 ; l i n e - h e i g h t : 1 . 3 ; o v e r f l o w - w r a p : a n y w h e r e } . c a r d { b a c k g r o u n d : v a r ( - - c a r d ) ; b o r d e r : 1 p x s o l i d v a r ( - - l i n e ) ; b o r d e r - r a d i u s : v a r ( - - r a d i u s ) ; b o x - s h a d o w : n o n e ; p a d d i n g : 1 6 p x } . c a r d h 2 { f o n t - s i z e : 1 4 p x ; m a r g i n : 0 0 1 2 p x ; f o n t - w e i g h t : 6 0 0 } . c a r d h 3 { f o n t - s i z e : 1 4 p x ; m a r g i n : 2 4 p x 0 1 2 p x ; p a d d i n g - t o p : 1 6 p x ; b o r d e r - t o p : 1 p x s o l i d v a r ( - - l i n e ) ; f o n t - w e i g h t : 6 0 0 } . c a r d h 3 : f i r s t - o f - t y p e { b o r d e r - t o p : 0 ; p a d d i n g - t o p : 0 } . c o m p o s e r h 2 { f o n t - s i z e : 1 6 p x } . c o m p o s e r t e x t a r e a . p r o m p t { m i n - h e i g h t : 1 4 8 p x ; f o n t - s i z e : 1 4 p x ; p a d d i n g : 1 2 p x ; b o r d e r - r a d i u s : v a r ( - - r a d i u s ) } . c o m p o s e r t e x t a r e a . c o o r d { f o n t - f a m i l y : v a r ( - - m o n o ) ; f o n t - s i z e : 1 3 p x } . b a r { d i s p l a y : f l e x ; g a p : 8 p x ; f l e x - w r a p : w r a p ; a l i g n - i t e m s : c e n t e r ; m a r g i n : 1 2 p x 0 } . b a r > b u t t o n , . b a r > l a b e l { d i s p l a y : i n l i n e - f l e x ; a l i g n - i t e m s : c e n t e r ; h e i g h t : v a r ( - - c t l ) ; m i n - h e i g h t : v a r ( - - c t l ) ; p a d d i n g : 0 1 6 p x ; b o x - s i z i n g : b o r d e r - b o x ; w h i t e - s p a c e : n o w r a p } . b a r > i n p u t , . b a r > s e l e c t { h e i g h t : v a r ( - - c t l ) ; m i n - h e i g h t : v a r ( - - c t l ) } i n p u t , s e l e c t , t e x t a r e a , b u t t o n { f o n t : i n h e r i t ; f o n t - s i z e : 1 4 p x ; p a d d i n g : 5 p x 1 2 p x ; b o r d e r - r a d i u s : v a r ( - - r a d i u s ) ; b o r d e r : 1 p x s o l i d v a r ( - - l i n e ) ; b a c k g r o u n d : # f f f ; c o l o r : v a r ( - - t e x t ) } i n p u t : f o c u s , s e l e c t : f o c u s , t e x t a r e a : f o c u s { o u t l i n e : n o n e ; b o r d e r - c o l o r : v a r ( - - a c c e n t ) ; b o x - s h a d o w : 0 0 0 3 p x # 0 9 6 9 d a 4 d } s e l e c t { - m o z - a p p e a r a n c e : n o n e ; a p p e a r a n c e : n o n e ; - w e b k i t - a p p e a r a n c e : n o n e ; c u r s Line truncated
< / head >
< body >