@tea-agent/loop-agent 0.29.2 → 0.29.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -27
- package/bin/agent-worker.js +0 -0
- package/dist/commands/client-recovery.js +2 -10
- package/dist/commands/init.js +1 -1
- package/dist/executors/pi-executor.js +5 -3
- package/dist/executors/pi-playwright-cli-tool.js +9 -14
- package/dist/executors/pi-sdk-executor.js +16 -0
- package/dist/shared/operator/capabilities.js +9 -9
- package/dist/shared/pi-retry-settings.js +23 -0
- package/dist/worker/console/chat/pi-runtime.js +167 -41
- package/dist/worker/console/chat/routes.js +21 -2
- package/dist/worker/console/chat/runtime-context.js +50 -8
- package/dist/worker/console/chat/tool-preview.js +90 -0
- package/dist/worker/console/chat/turn-process.js +178 -0
- package/dist/worker/console/chat/usage.js +144 -16
- package/dist/worker/console/night-aux-ticker.js +141 -0
- package/dist/worker/console/operation-runner.js +21 -4
- package/dist/worker/console/operator-user-error.js +12 -0
- package/dist/worker/console/recovery-cta.js +6 -6
- package/dist/worker/console/routes.js +61 -0
- package/dist/worker/console/server.js +7 -0
- package/dist/worker/console/static/assets/index-D9gnJn_l.js +29 -0
- package/dist/worker/console/static/assets/index-rajoXwkM.css +1 -0
- package/dist/worker/console/static/index.html +2 -2
- package/dist/worker/console/static-src/night-prepare-result.js +118 -0
- package/dist/worker/scheduler/clock-install/win32-schtasks.js +70 -15
- package/dist/workflows/dag/frontend-test-case-checklist.js +3 -3
- package/dist/workflows/dag/init-hybrid.js +21 -12
- package/docs/templates/frontend-test-case-checklist.md +1 -1
- package/docs/templates/frontend-test-dag.generate-cases.prompt.md +1 -1
- package/docs/templates/frontend-test-dag.json +1 -1
- package/docs/templates/frontend-test-dag.retrieve-context.prompt.md +1 -1
- package/docs/templates/frontend-test-dag.review-cases.prompt.md +1 -1
- package/docs/templates/init-managed-agents.md +6 -3
- package/package.json +1 -1
- package/skills/playwright-cli/SKILL.md +1 -1
- package/skills/playwright-cli-case-generator/SKILL.md +1 -1
- package/dist/worker/console/static/assets/index-Cwx-ZVEQ.js +0 -29
- package/dist/worker/console/static/assets/index-Yyn3ynVv.css +0 -1
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const b of document.querySelectorAll('link[rel="modulepreload"]'))d(b);new MutationObserver(b=>{for(const C of b)if(C.type==="childList")for(const D of C.addedNodes)D.tagName==="LINK"&&D.rel==="modulepreload"&&d(D)}).observe(document,{childList:!0,subtree:!0});function h(b){const C={};return b.integrity&&(C.integrity=b.integrity),b.referrerPolicy&&(C.referrerPolicy=b.referrerPolicy),b.crossOrigin==="use-credentials"?C.credentials="include":b.crossOrigin==="anonymous"?C.credentials="omit":C.credentials="same-origin",C}function d(b){if(b.ep)return;b.ep=!0;const C=h(b);fetch(b.href,C)}})();var _r={exports:{}},bs={};var Dm;function Yv(){if(Dm)return bs;Dm=1;var u=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function h(d,b,C){var D=null;if(C!==void 0&&(D=""+C),b.key!==void 0&&(D=""+b.key),"key"in b){C={};for(var Z in b)Z!=="key"&&(C[Z]=b[Z])}else C=b;return b=C.ref,{$$typeof:u,type:d,key:D,ref:b!==void 0?b:null,props:C}}return bs.Fragment=r,bs.jsx=h,bs.jsxs=h,bs}var Om;function Xv(){return Om||(Om=1,_r.exports=Yv()),_r.exports}var s=Xv(),Mr={exports:{}},me={};var zm;function Qv(){if(zm)return me;zm=1;var u=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),h=Symbol.for("react.fragment"),d=Symbol.for("react.strict_mode"),b=Symbol.for("react.profiler"),C=Symbol.for("react.consumer"),D=Symbol.for("react.context"),Z=Symbol.for("react.forward_ref"),X=Symbol.for("react.suspense"),k=Symbol.for("react.memo"),K=Symbol.for("react.lazy"),Q=Symbol.for("react.activity"),ee=Symbol.iterator;function G(g){return g===null||typeof g!="object"?null:(g=ee&&g[ee]||g["@@iterator"],typeof g=="function"?g:null)}var le={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ce=Object.assign,nt={};function oe(g,T,Y){this.props=g,this.context=T,this.refs=nt,this.updater=Y||le}oe.prototype.isReactComponent={},oe.prototype.setState=function(g,T){if(typeof g!="object"&&typeof g!="function"&&g!=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,g,T,"setState")},oe.prototype.forceUpdate=function(g){this.updater.enqueueForceUpdate(this,g,"forceUpdate")};function Ue(){}Ue.prototype=oe.prototype;function He(g,T,Y){this.props=g,this.context=T,this.refs=nt,this.updater=Y||le}var xt=He.prototype=new Ue;xt.constructor=He,ce(xt,oe.prototype),xt.isPureReactComponent=!0;var ut=Array.isArray;function Se(){}var ue={H:null,A:null,T:null,S:null},Ne=Object.prototype.hasOwnProperty;function Fe(g,T,Y){var J=Y.ref;return{$$typeof:u,type:g,key:T,ref:J!==void 0?J:null,props:Y}}function Pe(g,T){return Fe(g.type,T,g.props)}function ht(g){return typeof g=="object"&&g!==null&&g.$$typeof===u}function vt(g){var T={"=":"=0",":":"=2"};return"$"+g.replace(/[=:]/g,function(Y){return T[Y]})}var rt=/\/+/g;function Je(g,T){return typeof g=="object"&&g!==null&&g.key!=null?vt(""+g.key):T.toString(36)}function zt(g){switch(g.status){case"fulfilled":return g.value;case"rejected":throw g.reason;default:switch(typeof g.status=="string"?g.then(Se,Se):(g.status="pending",g.then(function(T){g.status==="pending"&&(g.status="fulfilled",g.value=T)},function(T){g.status==="pending"&&(g.status="rejected",g.reason=T)})),g.status){case"fulfilled":return g.value;case"rejected":throw g.reason}}throw g}function O(g,T,Y,J,ae){var ve=typeof g;(ve==="undefined"||ve==="boolean")&&(g=null);var Oe=!1;if(g===null)Oe=!0;else switch(ve){case"bigint":case"string":case"number":Oe=!0;break;case"object":switch(g.$$typeof){case u:case r:Oe=!0;break;case K:return Oe=g._init,O(Oe(g._payload),T,Y,J,ae)}}if(Oe)return ae=ae(g),Oe=J===""?"."+Je(g,0):J,ut(ae)?(Y="",Oe!=null&&(Y=Oe.replace(rt,"$&/")+"/"),O(ae,T,Y,"",function(Bt){return Bt})):ae!=null&&(ht(ae)&&(ae=Pe(ae,Y+(ae.key==null||g&&g.key===ae.key?"":(""+ae.key).replace(rt,"$&/")+"/")+Oe)),T.push(ae)),1;Oe=0;var Ge=J===""?".":J+":";if(ut(g))for(var Ve=0;Ve<g.length;Ve++)J=g[Ve],ve=Ge+Je(J,Ve),Oe+=O(J,T,Y,ve,ae);else if(Ve=G(g),typeof Ve=="function")for(g=Ve.call(g),Ve=0;!(J=g.next()).done;)J=J.value,ve=Ge+Je(J,Ve++),Oe+=O(J,T,Y,ve,ae);else if(ve==="object"){if(typeof g.then=="function")return O(zt(g),T,Y,J,ae);throw T=String(g),Error("Objects are not valid as a React child (found: "+(T==="[object Object]"?"object with keys {"+Object.keys(g).join(", ")+"}":T)+"). If you meant to render a collection of children, use an array instead.")}return Oe}function $(g,T,Y){if(g==null)return g;var J=[],ae=0;return O(g,J,"","",function(ve){return T.call(Y,ve,ae++)}),J}function te(g){if(g._status===-1){var T=g._result;T=T(),T.then(function(Y){(g._status===0||g._status===-1)&&(g._status=1,g._result=Y)},function(Y){(g._status===0||g._status===-1)&&(g._status=2,g._result=Y)}),g._status===-1&&(g._status=0,g._result=T)}if(g._status===1)return g._result.default;throw g._result}var Ae=typeof reportError=="function"?reportError:function(g){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var T=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof g=="object"&&g!==null&&typeof g.message=="string"?String(g.message):String(g),error:g});if(!window.dispatchEvent(T))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",g);return}console.error(g)},Te={map:$,forEach:function(g,T,Y){$(g,function(){T.apply(this,arguments)},Y)},count:function(g){var T=0;return $(g,function(){T++}),T},toArray:function(g){return $(g,function(T){return T})||[]},only:function(g){if(!ht(g))throw Error("React.Children.only expected to receive a single React element child.");return g}};return me.Activity=Q,me.Children=Te,me.Component=oe,me.Fragment=h,me.Profiler=b,me.PureComponent=He,me.StrictMode=d,me.Suspense=X,me.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=ue,me.__COMPILER_RUNTIME={__proto__:null,c:function(g){return ue.H.useMemoCache(g)}},me.cache=function(g){return function(){return g.apply(null,arguments)}},me.cacheSignal=function(){return null},me.cloneElement=function(g,T,Y){if(g==null)throw Error("The argument must be a React element, but you passed "+g+".");var J=ce({},g.props),ae=g.key;if(T!=null)for(ve in T.key!==void 0&&(ae=""+T.key),T)!Ne.call(T,ve)||ve==="key"||ve==="__self"||ve==="__source"||ve==="ref"&&T.ref===void 0||(J[ve]=T[ve]);var ve=arguments.length-2;if(ve===1)J.children=Y;else if(1<ve){for(var Oe=Array(ve),Ge=0;Ge<ve;Ge++)Oe[Ge]=arguments[Ge+2];J.children=Oe}return Fe(g.type,ae,J)},me.createContext=function(g){return g={$$typeof:D,_currentValue:g,_currentValue2:g,_threadCount:0,Provider:null,Consumer:null},g.Provider=g,g.Consumer={$$typeof:C,_context:g},g},me.createElement=function(g,T,Y){var J,ae={},ve=null;if(T!=null)for(J in T.key!==void 0&&(ve=""+T.key),T)Ne.call(T,J)&&J!=="key"&&J!=="__self"&&J!=="__source"&&(ae[J]=T[J]);var Oe=arguments.length-2;if(Oe===1)ae.children=Y;else if(1<Oe){for(var Ge=Array(Oe),Ve=0;Ve<Oe;Ve++)Ge[Ve]=arguments[Ve+2];ae.children=Ge}if(g&&g.defaultProps)for(J in Oe=g.defaultProps,Oe)ae[J]===void 0&&(ae[J]=Oe[J]);return Fe(g,ve,ae)},me.createRef=function(){return{current:null}},me.forwardRef=function(g){return{$$typeof:Z,render:g}},me.isValidElement=ht,me.lazy=function(g){return{$$typeof:K,_payload:{_status:-1,_result:g},_init:te}},me.memo=function(g,T){return{$$typeof:k,type:g,compare:T===void 0?null:T}},me.startTransition=function(g){var T=ue.T,Y={};ue.T=Y;try{var J=g(),ae=ue.S;ae!==null&&ae(Y,J),typeof J=="object"&&J!==null&&typeof J.then=="function"&&J.then(Se,Ae)}catch(ve){Ae(ve)}finally{T!==null&&Y.types!==null&&(T.types=Y.types),ue.T=T}},me.unstable_useCacheRefresh=function(){return ue.H.useCacheRefresh()},me.use=function(g){return ue.H.use(g)},me.useActionState=function(g,T,Y){return ue.H.useActionState(g,T,Y)},me.useCallback=function(g,T){return ue.H.useCallback(g,T)},me.useContext=function(g){return ue.H.useContext(g)},me.useDebugValue=function(){},me.useDeferredValue=function(g,T){return ue.H.useDeferredValue(g,T)},me.useEffect=function(g,T){return ue.H.useEffect(g,T)},me.useEffectEvent=function(g){return ue.H.useEffectEvent(g)},me.useId=function(){return ue.H.useId()},me.useImperativeHandle=function(g,T,Y){return ue.H.useImperativeHandle(g,T,Y)},me.useInsertionEffect=function(g,T){return ue.H.useInsertionEffect(g,T)},me.useLayoutEffect=function(g,T){return ue.H.useLayoutEffect(g,T)},me.useMemo=function(g,T){return ue.H.useMemo(g,T)},me.useOptimistic=function(g,T){return ue.H.useOptimistic(g,T)},me.useReducer=function(g,T,Y){return ue.H.useReducer(g,T,Y)},me.useRef=function(g){return ue.H.useRef(g)},me.useState=function(g){return ue.H.useState(g)},me.useSyncExternalStore=function(g,T,Y){return ue.H.useSyncExternalStore(g,T,Y)},me.useTransition=function(){return ue.H.useTransition()},me.version="19.2.8",me}var km;function Pr(){return km||(km=1,Mr.exports=Qv()),Mr.exports}var v=Pr(),wr={exports:{}},xs={},Ur={exports:{}},Hr={};var _m;function Zv(){return _m||(_m=1,(function(u){function r(O,$){var te=O.length;O.push($);e:for(;0<te;){var Ae=te-1>>>1,Te=O[Ae];if(0<b(Te,$))O[Ae]=$,O[te]=Te,te=Ae;else break e}}function h(O){return O.length===0?null:O[0]}function d(O){if(O.length===0)return null;var $=O[0],te=O.pop();if(te!==$){O[0]=te;e:for(var Ae=0,Te=O.length,g=Te>>>1;Ae<g;){var T=2*(Ae+1)-1,Y=O[T],J=T+1,ae=O[J];if(0>b(Y,te))J<Te&&0>b(ae,Y)?(O[Ae]=ae,O[J]=te,Ae=J):(O[Ae]=Y,O[T]=te,Ae=T);else if(J<Te&&0>b(ae,te))O[Ae]=ae,O[J]=te,Ae=J;else break e}}return $}function b(O,$){var te=O.sortIndex-$.sortIndex;return te!==0?te:O.id-$.id}if(u.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var C=performance;u.unstable_now=function(){return C.now()}}else{var D=Date,Z=D.now();u.unstable_now=function(){return D.now()-Z}}var X=[],k=[],K=1,Q=null,ee=3,G=!1,le=!1,ce=!1,nt=!1,oe=typeof setTimeout=="function"?setTimeout:null,Ue=typeof clearTimeout=="function"?clearTimeout:null,He=typeof setImmediate<"u"?setImmediate:null;function xt(O){for(var $=h(k);$!==null;){if($.callback===null)d(k);else if($.startTime<=O)d(k),$.sortIndex=$.expirationTime,r(X,$);else break;$=h(k)}}function ut(O){if(ce=!1,xt(O),!le)if(h(X)!==null)le=!0,Se||(Se=!0,vt());else{var $=h(k);$!==null&&zt(ut,$.startTime-O)}}var Se=!1,ue=-1,Ne=5,Fe=-1;function Pe(){return nt?!0:!(u.unstable_now()-Fe<Ne)}function ht(){if(nt=!1,Se){var O=u.unstable_now();Fe=O;var $=!0;try{e:{le=!1,ce&&(ce=!1,Ue(ue),ue=-1),G=!0;var te=ee;try{t:{for(xt(O),Q=h(X);Q!==null&&!(Q.expirationTime>O&&Pe());){var Ae=Q.callback;if(typeof Ae=="function"){Q.callback=null,ee=Q.priorityLevel;var Te=Ae(Q.expirationTime<=O);if(O=u.unstable_now(),typeof Te=="function"){Q.callback=Te,xt(O),$=!0;break t}Q===h(X)&&d(X),xt(O)}else d(X);Q=h(X)}if(Q!==null)$=!0;else{var g=h(k);g!==null&&zt(ut,g.startTime-O),$=!1}}break e}finally{Q=null,ee=te,G=!1}$=void 0}}finally{$?vt():Se=!1}}}var vt;if(typeof He=="function")vt=function(){He(ht)};else if(typeof MessageChannel<"u"){var rt=new MessageChannel,Je=rt.port2;rt.port1.onmessage=ht,vt=function(){Je.postMessage(null)}}else vt=function(){oe(ht,0)};function zt(O,$){ue=oe(function(){O(u.unstable_now())},$)}u.unstable_IdlePriority=5,u.unstable_ImmediatePriority=1,u.unstable_LowPriority=4,u.unstable_NormalPriority=3,u.unstable_Profiling=null,u.unstable_UserBlockingPriority=2,u.unstable_cancelCallback=function(O){O.callback=null},u.unstable_forceFrameRate=function(O){0>O||125<O?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Ne=0<O?Math.floor(1e3/O):5},u.unstable_getCurrentPriorityLevel=function(){return ee},u.unstable_next=function(O){switch(ee){case 1:case 2:case 3:var $=3;break;default:$=ee}var te=ee;ee=$;try{return O()}finally{ee=te}},u.unstable_requestPaint=function(){nt=!0},u.unstable_runWithPriority=function(O,$){switch(O){case 1:case 2:case 3:case 4:case 5:break;default:O=3}var te=ee;ee=O;try{return $()}finally{ee=te}},u.unstable_scheduleCallback=function(O,$,te){var Ae=u.unstable_now();switch(typeof te=="object"&&te!==null?(te=te.delay,te=typeof te=="number"&&0<te?Ae+te:Ae):te=Ae,O){case 1:var Te=-1;break;case 2:Te=250;break;case 5:Te=1073741823;break;case 4:Te=1e4;break;default:Te=5e3}return Te=te+Te,O={id:K++,callback:$,priorityLevel:O,startTime:te,expirationTime:Te,sortIndex:-1},te>Ae?(O.sortIndex=te,r(k,O),h(X)===null&&O===h(k)&&(ce?(Ue(ue),ue=-1):ce=!0,zt(ut,te-Ae))):(O.sortIndex=Te,r(X,O),le||G||(le=!0,Se||(Se=!0,vt()))),O},u.unstable_shouldYield=Pe,u.unstable_wrapCallback=function(O){var $=ee;return function(){var te=ee;ee=$;try{return O.apply(this,arguments)}finally{ee=te}}}})(Hr)),Hr}var Mm;function $v(){return Mm||(Mm=1,Ur.exports=Zv()),Ur.exports}var Lr={exports:{}},Jt={};var wm;function Vv(){if(wm)return Jt;wm=1;var u=Pr();function r(X){var k="https://react.dev/errors/"+X;if(1<arguments.length){k+="?args[]="+encodeURIComponent(arguments[1]);for(var K=2;K<arguments.length;K++)k+="&args[]="+encodeURIComponent(arguments[K])}return"Minified React error #"+X+"; visit "+k+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function h(){}var d={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},b=Symbol.for("react.portal");function C(X,k,K){var Q=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:b,key:Q==null?null:""+Q,children:X,containerInfo:k,implementation:K}}var D=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function Z(X,k){if(X==="font")return"";if(typeof k=="string")return k==="use-credentials"?k:""}return Jt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=d,Jt.createPortal=function(X,k){var K=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!k||k.nodeType!==1&&k.nodeType!==9&&k.nodeType!==11)throw Error(r(299));return C(X,k,null,K)},Jt.flushSync=function(X){var k=D.T,K=d.p;try{if(D.T=null,d.p=2,X)return X()}finally{D.T=k,d.p=K,d.d.f()}},Jt.preconnect=function(X,k){typeof X=="string"&&(k?(k=k.crossOrigin,k=typeof k=="string"?k==="use-credentials"?k:"":void 0):k=null,d.d.C(X,k))},Jt.prefetchDNS=function(X){typeof X=="string"&&d.d.D(X)},Jt.preinit=function(X,k){if(typeof X=="string"&&k&&typeof k.as=="string"){var K=k.as,Q=Z(K,k.crossOrigin),ee=typeof k.integrity=="string"?k.integrity:void 0,G=typeof k.fetchPriority=="string"?k.fetchPriority:void 0;K==="style"?d.d.S(X,typeof k.precedence=="string"?k.precedence:void 0,{crossOrigin:Q,integrity:ee,fetchPriority:G}):K==="script"&&d.d.X(X,{crossOrigin:Q,integrity:ee,fetchPriority:G,nonce:typeof k.nonce=="string"?k.nonce:void 0})}},Jt.preinitModule=function(X,k){if(typeof X=="string")if(typeof k=="object"&&k!==null){if(k.as==null||k.as==="script"){var K=Z(k.as,k.crossOrigin);d.d.M(X,{crossOrigin:K,integrity:typeof k.integrity=="string"?k.integrity:void 0,nonce:typeof k.nonce=="string"?k.nonce:void 0})}}else k==null&&d.d.M(X)},Jt.preload=function(X,k){if(typeof X=="string"&&typeof k=="object"&&k!==null&&typeof k.as=="string"){var K=k.as,Q=Z(K,k.crossOrigin);d.d.L(X,K,{crossOrigin:Q,integrity:typeof k.integrity=="string"?k.integrity:void 0,nonce:typeof k.nonce=="string"?k.nonce:void 0,type:typeof k.type=="string"?k.type:void 0,fetchPriority:typeof k.fetchPriority=="string"?k.fetchPriority:void 0,referrerPolicy:typeof k.referrerPolicy=="string"?k.referrerPolicy:void 0,imageSrcSet:typeof k.imageSrcSet=="string"?k.imageSrcSet:void 0,imageSizes:typeof k.imageSizes=="string"?k.imageSizes:void 0,media:typeof k.media=="string"?k.media:void 0})}},Jt.preloadModule=function(X,k){if(typeof X=="string")if(k){var K=Z(k.as,k.crossOrigin);d.d.m(X,{as:typeof k.as=="string"&&k.as!=="script"?k.as:void 0,crossOrigin:K,integrity:typeof k.integrity=="string"?k.integrity:void 0})}else d.d.m(X)},Jt.requestFormReset=function(X){d.d.r(X)},Jt.unstable_batchedUpdates=function(X,k){return X(k)},Jt.useFormState=function(X,k,K){return D.H.useFormState(X,k,K)},Jt.useFormStatus=function(){return D.H.useHostTransitionStatus()},Jt.version="19.2.8",Jt}var Um;function Kv(){if(Um)return Lr.exports;Um=1;function u(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(r){console.error(r)}}return u(),Lr.exports=Vv(),Lr.exports}var Hm;function Iv(){if(Hm)return xs;Hm=1;var u=$v(),r=Pr(),h=Kv();function d(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function b(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function C(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function D(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Z(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function X(e){if(C(e)!==e)throw Error(d(188))}function k(e){var t=e.alternate;if(!t){if(t=C(e),t===null)throw Error(d(188));return t!==e?null:e}for(var n=e,l=t;;){var a=n.return;if(a===null)break;var i=a.alternate;if(i===null){if(l=a.return,l!==null){n=l;continue}break}if(a.child===i.child){for(i=a.child;i;){if(i===n)return X(a),e;if(i===l)return X(a),t;i=i.sibling}throw Error(d(188))}if(n.return!==l.return)n=a,l=i;else{for(var c=!1,o=a.child;o;){if(o===n){c=!0,n=a,l=i;break}if(o===l){c=!0,l=a,n=i;break}o=o.sibling}if(!c){for(o=i.child;o;){if(o===n){c=!0,n=i,l=a;break}if(o===l){c=!0,l=i,n=a;break}o=o.sibling}if(!c)throw Error(d(189))}}if(n.alternate!==l)throw Error(d(190))}if(n.tag!==3)throw Error(d(188));return n.stateNode.current===n?e:t}function K(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=K(e),t!==null)return t;e=e.sibling}return null}var Q=Object.assign,ee=Symbol.for("react.element"),G=Symbol.for("react.transitional.element"),le=Symbol.for("react.portal"),ce=Symbol.for("react.fragment"),nt=Symbol.for("react.strict_mode"),oe=Symbol.for("react.profiler"),Ue=Symbol.for("react.consumer"),He=Symbol.for("react.context"),xt=Symbol.for("react.forward_ref"),ut=Symbol.for("react.suspense"),Se=Symbol.for("react.suspense_list"),ue=Symbol.for("react.memo"),Ne=Symbol.for("react.lazy"),Fe=Symbol.for("react.activity"),Pe=Symbol.for("react.memo_cache_sentinel"),ht=Symbol.iterator;function vt(e){return e===null||typeof e!="object"?null:(e=ht&&e[ht]||e["@@iterator"],typeof e=="function"?e:null)}var rt=Symbol.for("react.client.reference");function Je(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===rt?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case ce:return"Fragment";case oe:return"Profiler";case nt:return"StrictMode";case ut:return"Suspense";case Se:return"SuspenseList";case Fe:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case le:return"Portal";case He:return e.displayName||"Context";case Ue:return(e._context.displayName||"Context")+".Consumer";case xt:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ue:return t=e.displayName||null,t!==null?t:Je(e.type)||"Memo";case Ne:t=e._payload,e=e._init;try{return Je(e(t))}catch{}}return null}var zt=Array.isArray,O=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$=h.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,te={pending:!1,data:null,method:null,action:null},Ae=[],Te=-1;function g(e){return{current:e}}function T(e){0>Te||(e.current=Ae[Te],Ae[Te]=null,Te--)}function Y(e,t){Te++,Ae[Te]=e.current,e.current=t}var J=g(null),ae=g(null),ve=g(null),Oe=g(null);function Ge(e,t){switch(Y(ve,t),Y(ae,e),Y(J,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Ff(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Ff(t),e=Pf(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}T(J),Y(J,e)}function Ve(){T(J),T(ae),T(ve)}function Bt(e){e.memoizedState!==null&&Y(Oe,e);var t=J.current,n=Pf(t,e.type);t!==n&&(Y(ae,e),Y(J,n))}function Vn(e){ae.current===e&&(T(J),T(ae)),Oe.current===e&&(T(Oe),vs._currentValue=te)}var Fl,Kn;function en(e){if(Fl===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Fl=t&&t[1]||"",Kn=-1<n.stack.indexOf(`
|
|
2
|
-
at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
3
|
-
`+Fl+e+Kn}var Ke=!1;function Yt(e,t){if(!e||Ke)return"";Ke=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(t){var w=function(){throw Error()};if(Object.defineProperty(w.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(w,[])}catch(R){var E=R}Reflect.construct(e,[],w)}else{try{w.call()}catch(R){E=R}e.call(w.prototype)}}else{try{throw Error()}catch(R){E=R}(w=e())&&typeof w.catch=="function"&&w.catch(function(){})}}catch(R){if(R&&E&&typeof R.stack=="string")return[R.stack,E.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var a=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");a&&a.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=l.DetermineComponentFrameRoot(),c=i[0],o=i[1];if(c&&o){var p=c.split(`
|
|
4
|
-
`),N=o.split(`
|
|
5
|
-
`);for(a=l=0;l<p.length&&!p[l].includes("DetermineComponentFrameRoot");)l++;for(;a<N.length&&!N[a].includes("DetermineComponentFrameRoot");)a++;if(l===p.length||a===N.length)for(l=p.length-1,a=N.length-1;1<=l&&0<=a&&p[l]!==N[a];)a--;for(;1<=l&&0<=a;l--,a--)if(p[l]!==N[a]){if(l!==1||a!==1)do if(l--,a--,0>a||p[l]!==N[a]){var _=`
|
|
6
|
-
`+p[l].replace(" at new "," at ");return e.displayName&&_.includes("<anonymous>")&&(_=_.replace("<anonymous>",e.displayName)),_}while(1<=l&&0<=a);break}}}finally{Ke=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?en(n):""}function El(e,t){switch(e.tag){case 26:case 27:case 5:return en(e.type);case 16:return en("Lazy");case 13:return e.child!==t&&t!==null?en("Suspense Fallback"):en("Suspense");case 19:return en("SuspenseList");case 0:case 15:return Yt(e.type,!1);case 11:return Yt(e.type.render,!1);case 1:return Yt(e.type,!0);case 31:return en("Activity");default:return""}}function dl(e){try{var t="",n=null;do t+=El(e,n),n=e,e=e.return;while(e);return t}catch(l){return`
|
|
7
|
-
Error generating stack: `+l.message+`
|
|
8
|
-
`+l.stack}}var Mt=Object.prototype.hasOwnProperty,In=u.unstable_scheduleCallback,Jn=u.unstable_cancelCallback,Cl=u.unstable_shouldYield,Cn=u.unstable_requestPaint,wt=u.unstable_now,Wn=u.unstable_getCurrentPriorityLevel,Pl=u.unstable_ImmediatePriority,mn=u.unstable_UserBlockingPriority,Al=u.unstable_NormalPriority,Xt=u.unstable_LowPriority,tn=u.unstable_IdlePriority,ea=u.log,Fn=u.unstable_setDisableYieldValue,hn=null,q=null;function Qt(e){if(typeof ea=="function"&&Fn(e),q&&typeof q.setStrictMode=="function")try{q.setStrictMode(hn,e)}catch{}}var Rt=Math.clz32?Math.clz32:ge,Ea=Math.log,vn=Math.LN2;function ge(e){return e>>>=0,e===0?32:31-(Ea(e)/vn|0)|0}var Wt=256,_e=262144,pn=4194304;function pt(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Rl(e,t,n){var l=e.pendingLanes;if(l===0)return 0;var a=0,i=e.suspendedLanes,c=e.pingedLanes;e=e.warmLanes;var o=l&134217727;return o!==0?(l=o&~i,l!==0?a=pt(l):(c&=o,c!==0?a=pt(c):n||(n=o&~e,n!==0&&(a=pt(n))))):(o=l&~i,o!==0?a=pt(o):c!==0?a=pt(c):n||(n=l&~e,n!==0&&(a=pt(n)))),a===0?0:t!==0&&t!==a&&(t&i)===0&&(i=a&-a,n=t&-t,i>=n||i===32&&(n&4194048)!==0)?t:a}function nn(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Pn(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function yn(){var e=pn;return pn<<=1,(pn&62914560)===0&&(pn=4194304),e}function pe(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Zt(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ca(e,t,n,l,a,i){var c=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,p=e.expirationTimes,N=e.hiddenUpdates;for(n=c&~n;0<n;){var _=31-Rt(n),w=1<<_;o[_]=0,p[_]=-1;var E=N[_];if(E!==null)for(N[_]=null,_=0;_<E.length;_++){var R=E[_];R!==null&&(R.lane&=-536870913)}n&=~w}l!==0&&fl(e,l,0),i!==0&&a===0&&e.tag!==0&&(e.suspendedLanes|=i&~(c&~t))}function fl(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var l=31-Rt(t);e.entangledLanes|=t,e.entanglements[l]=e.entanglements[l]|1073741824|n&261930}function el(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var l=31-Rt(n),a=1<<l;a&t|e[l]&t&&(e[l]|=t),n&=~a}}function An(e,t){var n=t&-t;return n=(n&42)!==0?1:Rn(n),(n&(e.suspendedLanes|t))!==0?0:n}function Rn(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function ml(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function hl(){var e=$.p;return e!==0?e:(e=window.event,e===void 0?32:jm(e.type))}function tl(e,t){var n=$.p;try{return $.p=e,t()}finally{$.p=n}}var Le=Math.random().toString(36).slice(2),se="__reactFiber$"+Le,We="__reactProps$"+Le,Dn="__reactContainer$"+Le,Ft="__reactEvents$"+Le,ln="__reactListeners$"+Le,Dl="__reactHandles$"+Le,On="__reactResources$"+Le,lt="__reactMarker$"+Le;function zn(e){delete e[se],delete e[We],delete e[Ft],delete e[ln],delete e[Dl]}function ot(e){var t=e[se];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Dn]||n[se]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=sm(e);e!==null;){if(n=e[se])return n;e=sm(e)}return t}e=n,n=e.parentNode}return null}function an(e){if(e=e[se]||e[Dn]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function St(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(d(33))}function sn(e){var t=e[On];return t||(t=e[On]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function ke(e){e[lt]=!0}var nl=new Set,kn={};function _n(e,t){Mn(e,t),Mn(e+"Capture",t)}function Mn(e,t){for(kn[e]=t,e=0;e<t.length;e++)nl.add(t[e])}var Aa=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),wn={},Ol={};function ll(e){return Mt.call(Ol,e)?!0:Mt.call(wn,e)?!1:Aa.test(e)?Ol[e]=!0:(wn[e]=!0,!1)}function kt(e,t,n){if(ll(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var l=t.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function Un(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function jt(e,t,n,l){if(l===null)e.removeAttribute(n);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+l)}}function st(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function cn(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function vl(e,t,n){var l=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var a=l.get,i=l.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(c){n=""+c,i.call(this,c)}}),Object.defineProperty(e,t,{enumerable:l.enumerable}),{getValue:function(){return n},setValue:function(c){n=""+c},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function al(e){if(!e._valueTracker){var t=cn(e)?"checked":"value";e._valueTracker=vl(e,t,""+e[t])}}function ta(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),l="";return e&&(l=cn(e)?e.checked?"true":"false":e.value),e=l,e!==n?(t.setValue(e),!0):!1}function na(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Hn=/[\n"\\]/g;function Ut(e){return e.replace(Hn,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function pl(e,t,n,l,a,i,c,o){e.name="",c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?e.type=c:e.removeAttribute("type"),t!=null?c==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+st(t)):e.value!==""+st(t)&&(e.value=""+st(t)):c!=="submit"&&c!=="reset"||e.removeAttribute("value"),t!=null?$t(e,c,st(t)):n!=null?$t(e,c,st(n)):l!=null&&e.removeAttribute("value"),a==null&&i!=null&&(e.defaultChecked=!!i),a!=null&&(e.checked=a&&typeof a!="function"&&typeof a!="symbol"),o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.name=""+st(o):e.removeAttribute("name")}function Ra(e,t,n,l,a,i,c,o){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){al(e);return}n=n!=null?""+st(n):"",t=t!=null?""+st(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}l=l??a,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=o?e.checked:!!l,e.defaultChecked=!!l,c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(e.name=c),al(e)}function $t(e,t,n){t==="number"&&na(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function f(e,t,n,l){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&l&&(e[n].defaultSelected=!0)}else{for(n=""+st(n),t=null,a=0;a<e.length;a++){if(e[a].value===n){e[a].selected=!0,l&&(e[a].defaultSelected=!0);return}t!==null||e[a].disabled||(t=e[a])}t!==null&&(t.selected=!0)}}function x(e,t,n){if(t!=null&&(t=""+st(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+st(n):""}function A(e,t,n,l){if(t==null){if(l!=null){if(n!=null)throw Error(d(92));if(zt(l)){if(1<l.length)throw Error(d(93));l=l[0]}n=l}n==null&&(n=""),t=n}n=st(t),e.defaultValue=n,l=e.textContent,l===n&&l!==""&&l!==null&&(e.value=l),al(e)}function U(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var I=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function L(e,t,n){var l=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?l?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":l?e.setProperty(t,n):typeof n!="number"||n===0||I.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function Be(e,t,n){if(t!=null&&typeof t!="object")throw Error(d(62));if(e=e.style,n!=null){for(var l in n)!n.hasOwnProperty(l)||t!=null&&t.hasOwnProperty(l)||(l.indexOf("--")===0?e.setProperty(l,""):l==="float"?e.cssFloat="":e[l]="");for(var a in t)l=t[a],t.hasOwnProperty(a)&&n[a]!==l&&L(e,a,l)}else for(var i in t)t.hasOwnProperty(i)&&L(e,i,t[i])}function ct(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var W=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),be=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function at(e){return be.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function xe(){}var dt=null;function Vt(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Kt=null,il=null;function Oi(e){var t=an(e);if(t&&(e=t.stateNode)){var n=e[We]||null;e:switch(e=t.stateNode,t.type){case"input":if(pl(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+Ut(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var l=n[t];if(l!==e&&l.form===e.form){var a=l[We]||null;if(!a)throw Error(d(90));pl(l,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)l=n[t],l.form===e.form&&ta(l)}break e;case"textarea":x(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&f(e,!!n.multiple,t,!1)}}}var Wa=!1;function zi(e,t,n){if(Wa)return e(t,n);Wa=!0;try{var l=e(t);return l}finally{if(Wa=!1,(Kt!==null||il!==null)&&(rc(),Kt&&(t=Kt,e=il,il=Kt=null,Oi(t),e)))for(t=0;t<e.length;t++)Oi(e[t])}}function re(e,t){var n=e.stateNode;if(n===null)return null;var l=n[We]||null;if(l===null)return null;n=l[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(e=e.type,l=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!l;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(d(231,t,typeof n));return n}var gn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Dt=!1;if(gn)try{var zl={};Object.defineProperty(zl,"passive",{get:function(){Dt=!0}}),window.addEventListener("test",zl,zl),window.removeEventListener("test",zl,zl)}catch{Dt=!1}var yl=null,ki=null,Fa=null;function _i(){if(Fa)return Fa;var e,t=ki,n=t.length,l,a="value"in yl?yl.value:yl.textContent,i=a.length;for(e=0;e<n&&t[e]===a[e];e++);var c=n-e;for(l=1;l<=c&&t[n-l]===a[i-l];l++);return Fa=a.slice(e,1<l?1-l:void 0)}function Da(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Pa(){return!0}function Oa(){return!1}function It(e){function t(n,l,a,i,c){this._reactName=n,this._targetInst=a,this.type=l,this.nativeEvent=i,this.target=c,this.currentTarget=null;for(var o in e)e.hasOwnProperty(o)&&(n=e[o],this[o]=n?n(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?Pa:Oa,this.isPropagationStopped=Oa,this}return Q(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Pa)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Pa)},persist:function(){},isPersistent:Pa}),t}var gl={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},kl=It(gl),_l=Q({},gl,{view:0,detail:0}),bl=It(_l),za,ka,Ml,xl=Q({},_l,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:je,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Ml&&(Ml&&e.type==="mousemove"?(za=e.screenX-Ml.screenX,ka=e.screenY-Ml.screenY):ka=za=0,Ml=e),za)},movementY:function(e){return"movementY"in e?e.movementY:ka}}),Mi=It(xl),_a=Q({},xl,{dataTransfer:0}),Ts=It(_a),Uc=Q({},_l,{relatedTarget:0}),sl=It(Uc),Es=Q({},gl,{animationName:0,elapsedTime:0,pseudoElement:0}),Cs=It(Es),Hc=Q({},gl,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),As=It(Hc),m=Q({},gl,{data:0}),z=It(m),H={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},B={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},V={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function de(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=V[e])?!!t[e]:!1}function je(){return de}var Nt=Q({},_l,{key:function(e){if(e.key){var t=H[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Da(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?B[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:je,charCode:function(e){return e.type==="keypress"?Da(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Da(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),fe=It(Nt),yt=Q({},xl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),wl=It(yt),Lc=Q({},_l,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:je}),wi=It(Lc),ah=Q({},gl,{propertyName:0,elapsedTime:0,pseudoElement:0}),ih=It(ah),sh=Q({},xl,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),ch=It(sh),uh=Q({},gl,{newState:0,oldState:0}),rh=It(uh),oh=[9,13,27,32],qc=gn&&"CompositionEvent"in window,Ui=null;gn&&"documentMode"in document&&(Ui=document.documentMode);var dh=gn&&"TextEvent"in window&&!Ui,no=gn&&(!qc||Ui&&8<Ui&&11>=Ui),lo=" ",ao=!1;function io(e,t){switch(e){case"keyup":return oh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function so(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var ei=!1;function fh(e,t){switch(e){case"compositionend":return so(t);case"keypress":return t.which!==32?null:(ao=!0,lo);case"textInput":return e=t.data,e===lo&&ao?null:e;default:return null}}function mh(e,t){if(ei)return e==="compositionend"||!qc&&io(e,t)?(e=_i(),Fa=ki=yl=null,ei=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return no&&t.locale!=="ko"?null:t.data;default:return null}}var hh={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function co(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!hh[e.type]:t==="textarea"}function uo(e,t,n,l){Kt?il?il.push(l):il=[l]:Kt=l,t=pc(t,"onChange"),0<t.length&&(n=new kl("onChange","change",null,n,l),e.push({event:n,listeners:t}))}var Hi=null,Li=null;function vh(e){$f(e,0)}function Rs(e){var t=St(e);if(ta(t))return e}function ro(e,t){if(e==="change")return t}var oo=!1;if(gn){var Gc;if(gn){var Bc="oninput"in document;if(!Bc){var fo=document.createElement("div");fo.setAttribute("oninput","return;"),Bc=typeof fo.oninput=="function"}Gc=Bc}else Gc=!1;oo=Gc&&(!document.documentMode||9<document.documentMode)}function mo(){Hi&&(Hi.detachEvent("onpropertychange",ho),Li=Hi=null)}function ho(e){if(e.propertyName==="value"&&Rs(Li)){var t=[];uo(t,Li,e,Vt(e)),zi(vh,t)}}function ph(e,t,n){e==="focusin"?(mo(),Hi=t,Li=n,Hi.attachEvent("onpropertychange",ho)):e==="focusout"&&mo()}function yh(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Rs(Li)}function gh(e,t){if(e==="click")return Rs(t)}function bh(e,t){if(e==="input"||e==="change")return Rs(t)}function xh(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var bn=typeof Object.is=="function"?Object.is:xh;function qi(e,t){if(bn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),l=Object.keys(t);if(n.length!==l.length)return!1;for(l=0;l<n.length;l++){var a=n[l];if(!Mt.call(t,a)||!bn(e[a],t[a]))return!1}return!0}function vo(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function po(e,t){var n=vo(e);e=0;for(var l;n;){if(n.nodeType===3){if(l=e+n.textContent.length,e<=t&&l>=t)return{node:n,offset:t-e};e=l}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=vo(n)}}function yo(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?yo(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function go(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=na(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=na(e.document)}return t}function Yc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Sh=gn&&"documentMode"in document&&11>=document.documentMode,ti=null,Xc=null,Gi=null,Qc=!1;function bo(e,t,n){var l=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Qc||ti==null||ti!==na(l)||(l=ti,"selectionStart"in l&&Yc(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),Gi&&qi(Gi,l)||(Gi=l,l=pc(Xc,"onSelect"),0<l.length&&(t=new kl("onSelect","select",null,t,n),e.push({event:t,listeners:l}),t.target=ti)))}function Ma(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var ni={animationend:Ma("Animation","AnimationEnd"),animationiteration:Ma("Animation","AnimationIteration"),animationstart:Ma("Animation","AnimationStart"),transitionrun:Ma("Transition","TransitionRun"),transitionstart:Ma("Transition","TransitionStart"),transitioncancel:Ma("Transition","TransitionCancel"),transitionend:Ma("Transition","TransitionEnd")},Zc={},xo={};gn&&(xo=document.createElement("div").style,"AnimationEvent"in window||(delete ni.animationend.animation,delete ni.animationiteration.animation,delete ni.animationstart.animation),"TransitionEvent"in window||delete ni.transitionend.transition);function wa(e){if(Zc[e])return Zc[e];if(!ni[e])return e;var t=ni[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in xo)return Zc[e]=t[n];return e}var So=wa("animationend"),jo=wa("animationiteration"),No=wa("animationstart"),jh=wa("transitionrun"),Nh=wa("transitionstart"),Th=wa("transitioncancel"),To=wa("transitionend"),Eo=new Map,$c="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");$c.push("scrollEnd");function cl(e,t){Eo.set(e,t),_n(t,[e])}var Ds=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Ln=[],li=0,Vc=0;function Os(){for(var e=li,t=Vc=li=0;t<e;){var n=Ln[t];Ln[t++]=null;var l=Ln[t];Ln[t++]=null;var a=Ln[t];Ln[t++]=null;var i=Ln[t];if(Ln[t++]=null,l!==null&&a!==null){var c=l.pending;c===null?a.next=a:(a.next=c.next,c.next=a),l.pending=a}i!==0&&Co(n,a,i)}}function zs(e,t,n,l){Ln[li++]=e,Ln[li++]=t,Ln[li++]=n,Ln[li++]=l,Vc|=l,e.lanes|=l,e=e.alternate,e!==null&&(e.lanes|=l)}function Kc(e,t,n,l){return zs(e,t,n,l),ks(e)}function Ua(e,t){return zs(e,null,null,t),ks(e)}function Co(e,t,n){e.lanes|=n;var l=e.alternate;l!==null&&(l.lanes|=n);for(var a=!1,i=e.return;i!==null;)i.childLanes|=n,l=i.alternate,l!==null&&(l.childLanes|=n),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(a=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,a&&t!==null&&(a=31-Rt(n),e=i.hiddenUpdates,l=e[a],l===null?e[a]=[t]:l.push(t),t.lane=n|536870912),i):null}function ks(e){if(50<us)throw us=0,lr=null,Error(d(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var ai={};function Eh(e,t,n,l){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function xn(e,t,n,l){return new Eh(e,t,n,l)}function Ic(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ul(e,t){var n=e.alternate;return n===null?(n=xn(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Ao(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function _s(e,t,n,l,a,i){var c=0;if(l=e,typeof e=="function")Ic(e)&&(c=1);else if(typeof e=="string")c=Ov(e,n,J.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Fe:return e=xn(31,n,t,a),e.elementType=Fe,e.lanes=i,e;case ce:return Ha(n.children,a,i,t);case nt:c=8,a|=24;break;case oe:return e=xn(12,n,t,a|2),e.elementType=oe,e.lanes=i,e;case ut:return e=xn(13,n,t,a),e.elementType=ut,e.lanes=i,e;case Se:return e=xn(19,n,t,a),e.elementType=Se,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case He:c=10;break e;case Ue:c=9;break e;case xt:c=11;break e;case ue:c=14;break e;case Ne:c=16,l=null;break e}c=29,n=Error(d(130,e===null?"null":typeof e,"")),l=null}return t=xn(c,n,t,a),t.elementType=e,t.type=l,t.lanes=i,t}function Ha(e,t,n,l){return e=xn(7,e,l,t),e.lanes=n,e}function Jc(e,t,n){return e=xn(6,e,null,t),e.lanes=n,e}function Ro(e){var t=xn(18,null,null,0);return t.stateNode=e,t}function Wc(e,t,n){return t=xn(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Do=new WeakMap;function qn(e,t){if(typeof e=="object"&&e!==null){var n=Do.get(e);return n!==void 0?n:(t={value:e,source:t,stack:dl(t)},Do.set(e,t),t)}return{value:e,source:t,stack:dl(t)}}var ii=[],si=0,Ms=null,Bi=0,Gn=[],Bn=0,la=null,Sl=1,jl="";function Hl(e,t){ii[si++]=Bi,ii[si++]=Ms,Ms=e,Bi=t}function Oo(e,t,n){Gn[Bn++]=Sl,Gn[Bn++]=jl,Gn[Bn++]=la,la=e;var l=Sl;e=jl;var a=32-Rt(l)-1;l&=~(1<<a),n+=1;var i=32-Rt(t)+a;if(30<i){var c=a-a%5;i=(l&(1<<c)-1).toString(32),l>>=c,a-=c,Sl=1<<32-Rt(t)+a|n<<a|l,jl=i+e}else Sl=1<<i|n<<a|l,jl=e}function Fc(e){e.return!==null&&(Hl(e,1),Oo(e,1,0))}function Pc(e){for(;e===Ms;)Ms=ii[--si],ii[si]=null,Bi=ii[--si],ii[si]=null;for(;e===la;)la=Gn[--Bn],Gn[Bn]=null,jl=Gn[--Bn],Gn[Bn]=null,Sl=Gn[--Bn],Gn[Bn]=null}function zo(e,t){Gn[Bn++]=Sl,Gn[Bn++]=jl,Gn[Bn++]=la,Sl=t.id,jl=t.overflow,la=e}var Ht=null,et=null,ze=!1,aa=null,Yn=!1,eu=Error(d(519));function ia(e){var t=Error(d(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Yi(qn(t,e)),eu}function ko(e){var t=e.stateNode,n=e.type,l=e.memoizedProps;switch(t[se]=e,t[We]=l,n){case"dialog":Ce("cancel",t),Ce("close",t);break;case"iframe":case"object":case"embed":Ce("load",t);break;case"video":case"audio":for(n=0;n<os.length;n++)Ce(os[n],t);break;case"source":Ce("error",t);break;case"img":case"image":case"link":Ce("error",t),Ce("load",t);break;case"details":Ce("toggle",t);break;case"input":Ce("invalid",t),Ra(t,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":Ce("invalid",t);break;case"textarea":Ce("invalid",t),A(t,l.value,l.defaultValue,l.children)}n=l.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||l.suppressHydrationWarning===!0||Jf(t.textContent,n)?(l.popover!=null&&(Ce("beforetoggle",t),Ce("toggle",t)),l.onScroll!=null&&Ce("scroll",t),l.onScrollEnd!=null&&Ce("scrollend",t),l.onClick!=null&&(t.onclick=xe),t=!0):t=!1,t||ia(e,!0)}function _o(e){for(Ht=e.return;Ht;)switch(Ht.tag){case 5:case 31:case 13:Yn=!1;return;case 27:case 3:Yn=!0;return;default:Ht=Ht.return}}function ci(e){if(e!==Ht)return!1;if(!ze)return _o(e),ze=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||gr(e.type,e.memoizedProps)),n=!n),n&&et&&ia(e),_o(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(d(317));et=im(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(d(317));et=im(e)}else t===27?(t=et,ba(e.type)?(e=Nr,Nr=null,et=e):et=t):et=Ht?Qn(e.stateNode.nextSibling):null;return!0}function La(){et=Ht=null,ze=!1}function tu(){var e=aa;return e!==null&&(dn===null?dn=e:dn.push.apply(dn,e),aa=null),e}function Yi(e){aa===null?aa=[e]:aa.push(e)}var nu=g(null),qa=null,Ll=null;function sa(e,t,n){Y(nu,t._currentValue),t._currentValue=n}function ql(e){e._currentValue=nu.current,T(nu)}function lu(e,t,n){for(;e!==null;){var l=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,l!==null&&(l.childLanes|=t)):l!==null&&(l.childLanes&t)!==t&&(l.childLanes|=t),e===n)break;e=e.return}}function au(e,t,n,l){var a=e.child;for(a!==null&&(a.return=e);a!==null;){var i=a.dependencies;if(i!==null){var c=a.child;i=i.firstContext;e:for(;i!==null;){var o=i;i=a;for(var p=0;p<t.length;p++)if(o.context===t[p]){i.lanes|=n,o=i.alternate,o!==null&&(o.lanes|=n),lu(i.return,n,e),l||(c=null);break e}i=o.next}}else if(a.tag===18){if(c=a.return,c===null)throw Error(d(341));c.lanes|=n,i=c.alternate,i!==null&&(i.lanes|=n),lu(c,n,e),c=null}else c=a.child;if(c!==null)c.return=a;else for(c=a;c!==null;){if(c===e){c=null;break}if(a=c.sibling,a!==null){a.return=c.return,c=a;break}c=c.return}a=c}}function ui(e,t,n,l){e=null;for(var a=t,i=!1;a!==null;){if(!i){if((a.flags&524288)!==0)i=!0;else if((a.flags&262144)!==0)break}if(a.tag===10){var c=a.alternate;if(c===null)throw Error(d(387));if(c=c.memoizedProps,c!==null){var o=a.type;bn(a.pendingProps.value,c.value)||(e!==null?e.push(o):e=[o])}}else if(a===Oe.current){if(c=a.alternate,c===null)throw Error(d(387));c.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(e!==null?e.push(vs):e=[vs])}a=a.return}e!==null&&au(t,e,n,l),t.flags|=262144}function ws(e){for(e=e.firstContext;e!==null;){if(!bn(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Ga(e){qa=e,Ll=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Lt(e){return Mo(qa,e)}function Us(e,t){return qa===null&&Ga(e),Mo(e,t)}function Mo(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Ll===null){if(e===null)throw Error(d(308));Ll=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Ll=Ll.next=t;return n}var Ch=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,l){e.push(l)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},Ah=u.unstable_scheduleCallback,Rh=u.unstable_NormalPriority,Tt={$$typeof:He,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function iu(){return{controller:new Ch,data:new Map,refCount:0}}function Xi(e){e.refCount--,e.refCount===0&&Ah(Rh,function(){e.controller.abort()})}var Qi=null,su=0,ri=0,oi=null;function Dh(e,t){if(Qi===null){var n=Qi=[];su=0,ri=rr(),oi={status:"pending",value:void 0,then:function(l){n.push(l)}}}return su++,t.then(wo,wo),t}function wo(){if(--su===0&&Qi!==null){oi!==null&&(oi.status="fulfilled");var e=Qi;Qi=null,ri=0,oi=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Oh(e,t){var n=[],l={status:"pending",value:null,reason:null,then:function(a){n.push(a)}};return e.then(function(){l.status="fulfilled",l.value=t;for(var a=0;a<n.length;a++)(0,n[a])(t)},function(a){for(l.status="rejected",l.reason=a,a=0;a<n.length;a++)(0,n[a])(void 0)}),l}var Uo=O.S;O.S=function(e,t){xf=wt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&Dh(e,t),Uo!==null&&Uo(e,t)};var Ba=g(null);function cu(){var e=Ba.current;return e!==null?e:Ie.pooledCache}function Hs(e,t){t===null?Y(Ba,Ba.current):Y(Ba,t.pool)}function Ho(){var e=cu();return e===null?null:{parent:Tt._currentValue,pool:e}}var di=Error(d(460)),uu=Error(d(474)),Ls=Error(d(542)),qs={then:function(){}};function Lo(e){return e=e.status,e==="fulfilled"||e==="rejected"}function qo(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(xe,xe),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Bo(e),e;default:if(typeof t.status=="string")t.then(xe,xe);else{if(e=Ie,e!==null&&100<e.shellSuspendCounter)throw Error(d(482));e=t,e.status="pending",e.then(function(l){if(t.status==="pending"){var a=t;a.status="fulfilled",a.value=l}},function(l){if(t.status==="pending"){var a=t;a.status="rejected",a.reason=l}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Bo(e),e}throw Xa=t,di}}function Ya(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Xa=n,di):n}}var Xa=null;function Go(){if(Xa===null)throw Error(d(459));var e=Xa;return Xa=null,e}function Bo(e){if(e===di||e===Ls)throw Error(d(483))}var fi=null,Zi=0;function Gs(e){var t=Zi;return Zi+=1,fi===null&&(fi=[]),qo(fi,e,t)}function $i(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Bs(e,t){throw t.$$typeof===ee?Error(d(525)):(e=Object.prototype.toString.call(t),Error(d(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Yo(e){function t(S,y){if(e){var j=S.deletions;j===null?(S.deletions=[y],S.flags|=16):j.push(y)}}function n(S,y){if(!e)return null;for(;y!==null;)t(S,y),y=y.sibling;return null}function l(S){for(var y=new Map;S!==null;)S.key!==null?y.set(S.key,S):y.set(S.index,S),S=S.sibling;return y}function a(S,y){return S=Ul(S,y),S.index=0,S.sibling=null,S}function i(S,y,j){return S.index=j,e?(j=S.alternate,j!==null?(j=j.index,j<y?(S.flags|=67108866,y):j):(S.flags|=67108866,y)):(S.flags|=1048576,y)}function c(S){return e&&S.alternate===null&&(S.flags|=67108866),S}function o(S,y,j,M){return y===null||y.tag!==6?(y=Jc(j,S.mode,M),y.return=S,y):(y=a(y,j),y.return=S,y)}function p(S,y,j,M){var ne=j.type;return ne===ce?_(S,y,j.props.children,M,j.key):y!==null&&(y.elementType===ne||typeof ne=="object"&&ne!==null&&ne.$$typeof===Ne&&Ya(ne)===y.type)?(y=a(y,j.props),$i(y,j),y.return=S,y):(y=_s(j.type,j.key,j.props,null,S.mode,M),$i(y,j),y.return=S,y)}function N(S,y,j,M){return y===null||y.tag!==4||y.stateNode.containerInfo!==j.containerInfo||y.stateNode.implementation!==j.implementation?(y=Wc(j,S.mode,M),y.return=S,y):(y=a(y,j.children||[]),y.return=S,y)}function _(S,y,j,M,ne){return y===null||y.tag!==7?(y=Ha(j,S.mode,M,ne),y.return=S,y):(y=a(y,j),y.return=S,y)}function w(S,y,j){if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return y=Jc(""+y,S.mode,j),y.return=S,y;if(typeof y=="object"&&y!==null){switch(y.$$typeof){case G:return j=_s(y.type,y.key,y.props,null,S.mode,j),$i(j,y),j.return=S,j;case le:return y=Wc(y,S.mode,j),y.return=S,y;case Ne:return y=Ya(y),w(S,y,j)}if(zt(y)||vt(y))return y=Ha(y,S.mode,j,null),y.return=S,y;if(typeof y.then=="function")return w(S,Gs(y),j);if(y.$$typeof===He)return w(S,Us(S,y),j);Bs(S,y)}return null}function E(S,y,j,M){var ne=y!==null?y.key:null;if(typeof j=="string"&&j!==""||typeof j=="number"||typeof j=="bigint")return ne!==null?null:o(S,y,""+j,M);if(typeof j=="object"&&j!==null){switch(j.$$typeof){case G:return j.key===ne?p(S,y,j,M):null;case le:return j.key===ne?N(S,y,j,M):null;case Ne:return j=Ya(j),E(S,y,j,M)}if(zt(j)||vt(j))return ne!==null?null:_(S,y,j,M,null);if(typeof j.then=="function")return E(S,y,Gs(j),M);if(j.$$typeof===He)return E(S,y,Us(S,j),M);Bs(S,j)}return null}function R(S,y,j,M,ne){if(typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint")return S=S.get(j)||null,o(y,S,""+M,ne);if(typeof M=="object"&&M!==null){switch(M.$$typeof){case G:return S=S.get(M.key===null?j:M.key)||null,p(y,S,M,ne);case le:return S=S.get(M.key===null?j:M.key)||null,N(y,S,M,ne);case Ne:return M=Ya(M),R(S,y,j,M,ne)}if(zt(M)||vt(M))return S=S.get(j)||null,_(y,S,M,ne,null);if(typeof M.then=="function")return R(S,y,j,Gs(M),ne);if(M.$$typeof===He)return R(S,y,j,Us(y,M),ne);Bs(y,M)}return null}function F(S,y,j,M){for(var ne=null,Me=null,P=y,ye=y=0,De=null;P!==null&&ye<j.length;ye++){P.index>ye?(De=P,P=null):De=P.sibling;var we=E(S,P,j[ye],M);if(we===null){P===null&&(P=De);break}e&&P&&we.alternate===null&&t(S,P),y=i(we,y,ye),Me===null?ne=we:Me.sibling=we,Me=we,P=De}if(ye===j.length)return n(S,P),ze&&Hl(S,ye),ne;if(P===null){for(;ye<j.length;ye++)P=w(S,j[ye],M),P!==null&&(y=i(P,y,ye),Me===null?ne=P:Me.sibling=P,Me=P);return ze&&Hl(S,ye),ne}for(P=l(P);ye<j.length;ye++)De=R(P,S,ye,j[ye],M),De!==null&&(e&&De.alternate!==null&&P.delete(De.key===null?ye:De.key),y=i(De,y,ye),Me===null?ne=De:Me.sibling=De,Me=De);return e&&P.forEach(function(Ta){return t(S,Ta)}),ze&&Hl(S,ye),ne}function ie(S,y,j,M){if(j==null)throw Error(d(151));for(var ne=null,Me=null,P=y,ye=y=0,De=null,we=j.next();P!==null&&!we.done;ye++,we=j.next()){P.index>ye?(De=P,P=null):De=P.sibling;var Ta=E(S,P,we.value,M);if(Ta===null){P===null&&(P=De);break}e&&P&&Ta.alternate===null&&t(S,P),y=i(Ta,y,ye),Me===null?ne=Ta:Me.sibling=Ta,Me=Ta,P=De}if(we.done)return n(S,P),ze&&Hl(S,ye),ne;if(P===null){for(;!we.done;ye++,we=j.next())we=w(S,we.value,M),we!==null&&(y=i(we,y,ye),Me===null?ne=we:Me.sibling=we,Me=we);return ze&&Hl(S,ye),ne}for(P=l(P);!we.done;ye++,we=j.next())we=R(P,S,ye,we.value,M),we!==null&&(e&&we.alternate!==null&&P.delete(we.key===null?ye:we.key),y=i(we,y,ye),Me===null?ne=we:Me.sibling=we,Me=we);return e&&P.forEach(function(Bv){return t(S,Bv)}),ze&&Hl(S,ye),ne}function $e(S,y,j,M){if(typeof j=="object"&&j!==null&&j.type===ce&&j.key===null&&(j=j.props.children),typeof j=="object"&&j!==null){switch(j.$$typeof){case G:e:{for(var ne=j.key;y!==null;){if(y.key===ne){if(ne=j.type,ne===ce){if(y.tag===7){n(S,y.sibling),M=a(y,j.props.children),M.return=S,S=M;break e}}else if(y.elementType===ne||typeof ne=="object"&&ne!==null&&ne.$$typeof===Ne&&Ya(ne)===y.type){n(S,y.sibling),M=a(y,j.props),$i(M,j),M.return=S,S=M;break e}n(S,y);break}else t(S,y);y=y.sibling}j.type===ce?(M=Ha(j.props.children,S.mode,M,j.key),M.return=S,S=M):(M=_s(j.type,j.key,j.props,null,S.mode,M),$i(M,j),M.return=S,S=M)}return c(S);case le:e:{for(ne=j.key;y!==null;){if(y.key===ne)if(y.tag===4&&y.stateNode.containerInfo===j.containerInfo&&y.stateNode.implementation===j.implementation){n(S,y.sibling),M=a(y,j.children||[]),M.return=S,S=M;break e}else{n(S,y);break}else t(S,y);y=y.sibling}M=Wc(j,S.mode,M),M.return=S,S=M}return c(S);case Ne:return j=Ya(j),$e(S,y,j,M)}if(zt(j))return F(S,y,j,M);if(vt(j)){if(ne=vt(j),typeof ne!="function")throw Error(d(150));return j=ne.call(j),ie(S,y,j,M)}if(typeof j.then=="function")return $e(S,y,Gs(j),M);if(j.$$typeof===He)return $e(S,y,Us(S,j),M);Bs(S,j)}return typeof j=="string"&&j!==""||typeof j=="number"||typeof j=="bigint"?(j=""+j,y!==null&&y.tag===6?(n(S,y.sibling),M=a(y,j),M.return=S,S=M):(n(S,y),M=Jc(j,S.mode,M),M.return=S,S=M),c(S)):n(S,y)}return function(S,y,j,M){try{Zi=0;var ne=$e(S,y,j,M);return fi=null,ne}catch(P){if(P===di||P===Ls)throw P;var Me=xn(29,P,null,S.mode);return Me.lanes=M,Me.return=S,Me}}}var Qa=Yo(!0),Xo=Yo(!1),ca=!1;function ru(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ou(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ua(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ra(e,t,n){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(qe&2)!==0){var a=l.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),l.pending=t,t=ks(e),Co(e,null,n),t}return zs(e,l,t,n),ks(e)}function Vi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,n|=l,t.lanes=n,el(e,n)}}function du(e,t){var n=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,n===l)){var a=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var c={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?a=i=c:i=i.next=c,n=n.next}while(n!==null);i===null?a=i=t:i=i.next=t}else a=i=t;n={baseState:l.baseState,firstBaseUpdate:a,lastBaseUpdate:i,shared:l.shared,callbacks:l.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var fu=!1;function Ki(){if(fu){var e=oi;if(e!==null)throw e}}function Ii(e,t,n,l){fu=!1;var a=e.updateQueue;ca=!1;var i=a.firstBaseUpdate,c=a.lastBaseUpdate,o=a.shared.pending;if(o!==null){a.shared.pending=null;var p=o,N=p.next;p.next=null,c===null?i=N:c.next=N,c=p;var _=e.alternate;_!==null&&(_=_.updateQueue,o=_.lastBaseUpdate,o!==c&&(o===null?_.firstBaseUpdate=N:o.next=N,_.lastBaseUpdate=p))}if(i!==null){var w=a.baseState;c=0,_=N=p=null,o=i;do{var E=o.lane&-536870913,R=E!==o.lane;if(R?(Re&E)===E:(l&E)===E){E!==0&&E===ri&&(fu=!0),_!==null&&(_=_.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var F=e,ie=o;E=t;var $e=n;switch(ie.tag){case 1:if(F=ie.payload,typeof F=="function"){w=F.call($e,w,E);break e}w=F;break e;case 3:F.flags=F.flags&-65537|128;case 0:if(F=ie.payload,E=typeof F=="function"?F.call($e,w,E):F,E==null)break e;w=Q({},w,E);break e;case 2:ca=!0}}E=o.callback,E!==null&&(e.flags|=64,R&&(e.flags|=8192),R=a.callbacks,R===null?a.callbacks=[E]:R.push(E))}else R={lane:E,tag:o.tag,payload:o.payload,callback:o.callback,next:null},_===null?(N=_=R,p=w):_=_.next=R,c|=E;if(o=o.next,o===null){if(o=a.shared.pending,o===null)break;R=o,o=R.next,R.next=null,a.lastBaseUpdate=R,a.shared.pending=null}}while(!0);_===null&&(p=w),a.baseState=p,a.firstBaseUpdate=N,a.lastBaseUpdate=_,i===null&&(a.shared.lanes=0),ha|=c,e.lanes=c,e.memoizedState=w}}function Qo(e,t){if(typeof e!="function")throw Error(d(191,e));e.call(t)}function Zo(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)Qo(n[e],t)}var mi=g(null),Ys=g(0);function $o(e,t){e=Kl,Y(Ys,e),Y(mi,t),Kl=e|t.baseLanes}function mu(){Y(Ys,Kl),Y(mi,mi.current)}function hu(){Kl=Ys.current,T(mi),T(Ys)}var Sn=g(null),Xn=null;function oa(e){var t=e.alternate;Y(gt,gt.current&1),Y(Sn,e),Xn===null&&(t===null||mi.current!==null||t.memoizedState!==null)&&(Xn=e)}function vu(e){Y(gt,gt.current),Y(Sn,e),Xn===null&&(Xn=e)}function Vo(e){e.tag===22?(Y(gt,gt.current),Y(Sn,e),Xn===null&&(Xn=e)):da()}function da(){Y(gt,gt.current),Y(Sn,Sn.current)}function jn(e){T(Sn),Xn===e&&(Xn=null),T(gt)}var gt=g(0);function Xs(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||Sr(n)||jr(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Gl=0,he=null,Qe=null,Et=null,Qs=!1,hi=!1,Za=!1,Zs=0,Ji=0,vi=null,zh=0;function ft(){throw Error(d(321))}function pu(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!bn(e[n],t[n]))return!1;return!0}function yu(e,t,n,l,a,i){return Gl=i,he=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,O.H=e===null||e.memoizedState===null?Od:ku,Za=!1,i=n(l,a),Za=!1,hi&&(i=Io(t,n,l,a)),Ko(e),i}function Ko(e){O.H=Pi;var t=Qe!==null&&Qe.next!==null;if(Gl=0,Et=Qe=he=null,Qs=!1,Ji=0,vi=null,t)throw Error(d(300));e===null||Ct||(e=e.dependencies,e!==null&&ws(e)&&(Ct=!0))}function Io(e,t,n,l){he=e;var a=0;do{if(hi&&(vi=null),Ji=0,hi=!1,25<=a)throw Error(d(301));if(a+=1,Et=Qe=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}O.H=zd,i=t(n,l)}while(hi);return i}function kh(){var e=O.H,t=e.useState()[0];return t=typeof t.then=="function"?Wi(t):t,e=e.useState()[0],(Qe!==null?Qe.memoizedState:null)!==e&&(he.flags|=1024),t}function gu(){var e=Zs!==0;return Zs=0,e}function bu(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function xu(e){if(Qs){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Qs=!1}Gl=0,Et=Qe=he=null,hi=!1,Ji=Zs=0,vi=null}function Pt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Et===null?he.memoizedState=Et=e:Et=Et.next=e,Et}function bt(){if(Qe===null){var e=he.alternate;e=e!==null?e.memoizedState:null}else e=Qe.next;var t=Et===null?he.memoizedState:Et.next;if(t!==null)Et=t,Qe=e;else{if(e===null)throw he.alternate===null?Error(d(467)):Error(d(310));Qe=e,e={memoizedState:Qe.memoizedState,baseState:Qe.baseState,baseQueue:Qe.baseQueue,queue:Qe.queue,next:null},Et===null?he.memoizedState=Et=e:Et=Et.next=e}return Et}function $s(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Wi(e){var t=Ji;return Ji+=1,vi===null&&(vi=[]),e=qo(vi,e,t),t=he,(Et===null?t.memoizedState:Et.next)===null&&(t=t.alternate,O.H=t===null||t.memoizedState===null?Od:ku),e}function Vs(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Wi(e);if(e.$$typeof===He)return Lt(e)}throw Error(d(438,String(e)))}function Su(e){var t=null,n=he.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var l=he.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(t={data:l.data.map(function(a){return a.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=$s(),he.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),l=0;l<e;l++)n[l]=Pe;return t.index++,n}function Bl(e,t){return typeof t=="function"?t(e):t}function Ks(e){var t=bt();return ju(t,Qe,e)}function ju(e,t,n){var l=e.queue;if(l===null)throw Error(d(311));l.lastRenderedReducer=n;var a=e.baseQueue,i=l.pending;if(i!==null){if(a!==null){var c=a.next;a.next=i.next,i.next=c}t.baseQueue=a=i,l.pending=null}if(i=e.baseState,a===null)e.memoizedState=i;else{t=a.next;var o=c=null,p=null,N=t,_=!1;do{var w=N.lane&-536870913;if(w!==N.lane?(Re&w)===w:(Gl&w)===w){var E=N.revertLane;if(E===0)p!==null&&(p=p.next={lane:0,revertLane:0,gesture:null,action:N.action,hasEagerState:N.hasEagerState,eagerState:N.eagerState,next:null}),w===ri&&(_=!0);else if((Gl&E)===E){N=N.next,E===ri&&(_=!0);continue}else w={lane:0,revertLane:N.revertLane,gesture:null,action:N.action,hasEagerState:N.hasEagerState,eagerState:N.eagerState,next:null},p===null?(o=p=w,c=i):p=p.next=w,he.lanes|=E,ha|=E;w=N.action,Za&&n(i,w),i=N.hasEagerState?N.eagerState:n(i,w)}else E={lane:w,revertLane:N.revertLane,gesture:N.gesture,action:N.action,hasEagerState:N.hasEagerState,eagerState:N.eagerState,next:null},p===null?(o=p=E,c=i):p=p.next=E,he.lanes|=w,ha|=w;N=N.next}while(N!==null&&N!==t);if(p===null?c=i:p.next=o,!bn(i,e.memoizedState)&&(Ct=!0,_&&(n=oi,n!==null)))throw n;e.memoizedState=i,e.baseState=c,e.baseQueue=p,l.lastRenderedState=i}return a===null&&(l.lanes=0),[e.memoizedState,l.dispatch]}function Nu(e){var t=bt(),n=t.queue;if(n===null)throw Error(d(311));n.lastRenderedReducer=e;var l=n.dispatch,a=n.pending,i=t.memoizedState;if(a!==null){n.pending=null;var c=a=a.next;do i=e(i,c.action),c=c.next;while(c!==a);bn(i,t.memoizedState)||(Ct=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,l]}function Jo(e,t,n){var l=he,a=bt(),i=ze;if(i){if(n===void 0)throw Error(d(407));n=n()}else n=t();var c=!bn((Qe||a).memoizedState,n);if(c&&(a.memoizedState=n,Ct=!0),a=a.queue,Cu(Po.bind(null,l,a,e),[e]),a.getSnapshot!==t||c||Et!==null&&Et.memoizedState.tag&1){if(l.flags|=2048,pi(9,{destroy:void 0},Fo.bind(null,l,a,n,t),null),Ie===null)throw Error(d(349));i||(Gl&127)!==0||Wo(l,t,n)}return n}function Wo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=he.updateQueue,t===null?(t=$s(),he.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Fo(e,t,n,l){t.value=n,t.getSnapshot=l,ed(t)&&td(e)}function Po(e,t,n){return n(function(){ed(t)&&td(e)})}function ed(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!bn(e,n)}catch{return!0}}function td(e){var t=Ua(e,2);t!==null&&fn(t,e,2)}function Tu(e){var t=Pt();if(typeof e=="function"){var n=e;if(e=n(),Za){Qt(!0);try{n()}finally{Qt(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Bl,lastRenderedState:e},t}function nd(e,t,n,l){return e.baseState=n,ju(e,Qe,typeof l=="function"?l:Bl)}function _h(e,t,n,l,a){if(Ws(e))throw Error(d(485));if(e=t.action,e!==null){var i={payload:a,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(c){i.listeners.push(c)}};O.T!==null?n(!0):i.isTransition=!1,l(i),n=t.pending,n===null?(i.next=t.pending=i,ld(t,i)):(i.next=n.next,t.pending=n.next=i)}}function ld(e,t){var n=t.action,l=t.payload,a=e.state;if(t.isTransition){var i=O.T,c={};O.T=c;try{var o=n(a,l),p=O.S;p!==null&&p(c,o),ad(e,t,o)}catch(N){Eu(e,t,N)}finally{i!==null&&c.types!==null&&(i.types=c.types),O.T=i}}else try{i=n(a,l),ad(e,t,i)}catch(N){Eu(e,t,N)}}function ad(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(l){id(e,t,l)},function(l){return Eu(e,t,l)}):id(e,t,n)}function id(e,t,n){t.status="fulfilled",t.value=n,sd(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,ld(e,n)))}function Eu(e,t,n){var l=e.pending;if(e.pending=null,l!==null){l=l.next;do t.status="rejected",t.reason=n,sd(t),t=t.next;while(t!==l)}e.action=null}function sd(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function cd(e,t){return t}function ud(e,t){if(ze){var n=Ie.formState;if(n!==null){e:{var l=he;if(ze){if(et){t:{for(var a=et,i=Yn;a.nodeType!==8;){if(!i){a=null;break t}if(a=Qn(a.nextSibling),a===null){a=null;break t}}i=a.data,a=i==="F!"||i==="F"?a:null}if(a){et=Qn(a.nextSibling),l=a.data==="F!";break e}}ia(l)}l=!1}l&&(t=n[0])}}return n=Pt(),n.memoizedState=n.baseState=t,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:cd,lastRenderedState:t},n.queue=l,n=Ad.bind(null,he,l),l.dispatch=n,l=Tu(!1),i=zu.bind(null,he,!1,l.queue),l=Pt(),a={state:t,dispatch:null,action:e,pending:null},l.queue=a,n=_h.bind(null,he,a,i,n),a.dispatch=n,l.memoizedState=e,[t,n,!1]}function rd(e){var t=bt();return od(t,Qe,e)}function od(e,t,n){if(t=ju(e,t,cd)[0],e=Ks(Bl)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var l=Wi(t)}catch(c){throw c===di?Ls:c}else l=t;t=bt();var a=t.queue,i=a.dispatch;return n!==t.memoizedState&&(he.flags|=2048,pi(9,{destroy:void 0},Mh.bind(null,a,n),null)),[l,i,e]}function Mh(e,t){e.action=t}function dd(e){var t=bt(),n=Qe;if(n!==null)return od(t,n,e);bt(),t=t.memoizedState,n=bt();var l=n.queue.dispatch;return n.memoizedState=e,[t,l,!1]}function pi(e,t,n,l){return e={tag:e,create:n,deps:l,inst:t,next:null},t=he.updateQueue,t===null&&(t=$s(),he.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(l=n.next,n.next=e,e.next=l,t.lastEffect=e),e}function fd(){return bt().memoizedState}function Is(e,t,n,l){var a=Pt();he.flags|=e,a.memoizedState=pi(1|t,{destroy:void 0},n,l===void 0?null:l)}function Js(e,t,n,l){var a=bt();l=l===void 0?null:l;var i=a.memoizedState.inst;Qe!==null&&l!==null&&pu(l,Qe.memoizedState.deps)?a.memoizedState=pi(t,i,n,l):(he.flags|=e,a.memoizedState=pi(1|t,i,n,l))}function md(e,t){Is(8390656,8,e,t)}function Cu(e,t){Js(2048,8,e,t)}function wh(e){he.flags|=4;var t=he.updateQueue;if(t===null)t=$s(),he.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function hd(e){var t=bt().memoizedState;return wh({ref:t,nextImpl:e}),function(){if((qe&2)!==0)throw Error(d(440));return t.impl.apply(void 0,arguments)}}function vd(e,t){return Js(4,2,e,t)}function pd(e,t){return Js(4,4,e,t)}function yd(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function gd(e,t,n){n=n!=null?n.concat([e]):null,Js(4,4,yd.bind(null,t,e),n)}function Au(){}function bd(e,t){var n=bt();t=t===void 0?null:t;var l=n.memoizedState;return t!==null&&pu(t,l[1])?l[0]:(n.memoizedState=[e,t],e)}function xd(e,t){var n=bt();t=t===void 0?null:t;var l=n.memoizedState;if(t!==null&&pu(t,l[1]))return l[0];if(l=e(),Za){Qt(!0);try{e()}finally{Qt(!1)}}return n.memoizedState=[l,t],l}function Ru(e,t,n){return n===void 0||(Gl&1073741824)!==0&&(Re&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=jf(),he.lanes|=e,ha|=e,n)}function Sd(e,t,n,l){return bn(n,t)?n:mi.current!==null?(e=Ru(e,n,l),bn(e,t)||(Ct=!0),e):(Gl&42)===0||(Gl&1073741824)!==0&&(Re&261930)===0?(Ct=!0,e.memoizedState=n):(e=jf(),he.lanes|=e,ha|=e,t)}function jd(e,t,n,l,a){var i=$.p;$.p=i!==0&&8>i?i:8;var c=O.T,o={};O.T=o,zu(e,!1,t,n);try{var p=a(),N=O.S;if(N!==null&&N(o,p),p!==null&&typeof p=="object"&&typeof p.then=="function"){var _=Oh(p,l);Fi(e,t,_,En(e))}else Fi(e,t,l,En(e))}catch(w){Fi(e,t,{then:function(){},status:"rejected",reason:w},En())}finally{$.p=i,c!==null&&o.types!==null&&(c.types=o.types),O.T=c}}function Uh(){}function Du(e,t,n,l){if(e.tag!==5)throw Error(d(476));var a=Nd(e).queue;jd(e,a,t,te,n===null?Uh:function(){return Td(e),n(l)})}function Nd(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:te,baseState:te,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Bl,lastRenderedState:te},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Bl,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Td(e){var t=Nd(e);t.next===null&&(t=e.alternate.memoizedState),Fi(e,t.next.queue,{},En())}function Ou(){return Lt(vs)}function Ed(){return bt().memoizedState}function Cd(){return bt().memoizedState}function Hh(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=En();e=ua(n);var l=ra(t,e,n);l!==null&&(fn(l,t,n),Vi(l,t,n)),t={cache:iu()},e.payload=t;return}t=t.return}}function Lh(e,t,n){var l=En();n={lane:l,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ws(e)?Rd(t,n):(n=Kc(e,t,n,l),n!==null&&(fn(n,e,l),Dd(n,t,l)))}function Ad(e,t,n){var l=En();Fi(e,t,n,l)}function Fi(e,t,n,l){var a={lane:l,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ws(e))Rd(t,a);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var c=t.lastRenderedState,o=i(c,n);if(a.hasEagerState=!0,a.eagerState=o,bn(o,c))return zs(e,t,a,0),Ie===null&&Os(),!1}catch{}if(n=Kc(e,t,a,l),n!==null)return fn(n,e,l),Dd(n,t,l),!0}return!1}function zu(e,t,n,l){if(l={lane:2,revertLane:rr(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},Ws(e)){if(t)throw Error(d(479))}else t=Kc(e,n,l,2),t!==null&&fn(t,e,2)}function Ws(e){var t=e.alternate;return e===he||t!==null&&t===he}function Rd(e,t){hi=Qs=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Dd(e,t,n){if((n&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,n|=l,t.lanes=n,el(e,n)}}var Pi={readContext:Lt,use:Vs,useCallback:ft,useContext:ft,useEffect:ft,useImperativeHandle:ft,useLayoutEffect:ft,useInsertionEffect:ft,useMemo:ft,useReducer:ft,useRef:ft,useState:ft,useDebugValue:ft,useDeferredValue:ft,useTransition:ft,useSyncExternalStore:ft,useId:ft,useHostTransitionStatus:ft,useFormState:ft,useActionState:ft,useOptimistic:ft,useMemoCache:ft,useCacheRefresh:ft};Pi.useEffectEvent=ft;var Od={readContext:Lt,use:Vs,useCallback:function(e,t){return Pt().memoizedState=[e,t===void 0?null:t],e},useContext:Lt,useEffect:md,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,Is(4194308,4,yd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Is(4194308,4,e,t)},useInsertionEffect:function(e,t){Is(4,2,e,t)},useMemo:function(e,t){var n=Pt();t=t===void 0?null:t;var l=e();if(Za){Qt(!0);try{e()}finally{Qt(!1)}}return n.memoizedState=[l,t],l},useReducer:function(e,t,n){var l=Pt();if(n!==void 0){var a=n(t);if(Za){Qt(!0);try{n(t)}finally{Qt(!1)}}}else a=t;return l.memoizedState=l.baseState=a,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:a},l.queue=e,e=e.dispatch=Lh.bind(null,he,e),[l.memoizedState,e]},useRef:function(e){var t=Pt();return e={current:e},t.memoizedState=e},useState:function(e){e=Tu(e);var t=e.queue,n=Ad.bind(null,he,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Au,useDeferredValue:function(e,t){var n=Pt();return Ru(n,e,t)},useTransition:function(){var e=Tu(!1);return e=jd.bind(null,he,e.queue,!0,!1),Pt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var l=he,a=Pt();if(ze){if(n===void 0)throw Error(d(407));n=n()}else{if(n=t(),Ie===null)throw Error(d(349));(Re&127)!==0||Wo(l,t,n)}a.memoizedState=n;var i={value:n,getSnapshot:t};return a.queue=i,md(Po.bind(null,l,i,e),[e]),l.flags|=2048,pi(9,{destroy:void 0},Fo.bind(null,l,i,n,t),null),n},useId:function(){var e=Pt(),t=Ie.identifierPrefix;if(ze){var n=jl,l=Sl;n=(l&~(1<<32-Rt(l)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Zs++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=zh++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Ou,useFormState:ud,useActionState:ud,useOptimistic:function(e){var t=Pt();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=zu.bind(null,he,!0,n),n.dispatch=t,[e,t]},useMemoCache:Su,useCacheRefresh:function(){return Pt().memoizedState=Hh.bind(null,he)},useEffectEvent:function(e){var t=Pt(),n={impl:e};return t.memoizedState=n,function(){if((qe&2)!==0)throw Error(d(440));return n.impl.apply(void 0,arguments)}}},ku={readContext:Lt,use:Vs,useCallback:bd,useContext:Lt,useEffect:Cu,useImperativeHandle:gd,useInsertionEffect:vd,useLayoutEffect:pd,useMemo:xd,useReducer:Ks,useRef:fd,useState:function(){return Ks(Bl)},useDebugValue:Au,useDeferredValue:function(e,t){var n=bt();return Sd(n,Qe.memoizedState,e,t)},useTransition:function(){var e=Ks(Bl)[0],t=bt().memoizedState;return[typeof e=="boolean"?e:Wi(e),t]},useSyncExternalStore:Jo,useId:Ed,useHostTransitionStatus:Ou,useFormState:rd,useActionState:rd,useOptimistic:function(e,t){var n=bt();return nd(n,Qe,e,t)},useMemoCache:Su,useCacheRefresh:Cd};ku.useEffectEvent=hd;var zd={readContext:Lt,use:Vs,useCallback:bd,useContext:Lt,useEffect:Cu,useImperativeHandle:gd,useInsertionEffect:vd,useLayoutEffect:pd,useMemo:xd,useReducer:Nu,useRef:fd,useState:function(){return Nu(Bl)},useDebugValue:Au,useDeferredValue:function(e,t){var n=bt();return Qe===null?Ru(n,e,t):Sd(n,Qe.memoizedState,e,t)},useTransition:function(){var e=Nu(Bl)[0],t=bt().memoizedState;return[typeof e=="boolean"?e:Wi(e),t]},useSyncExternalStore:Jo,useId:Ed,useHostTransitionStatus:Ou,useFormState:dd,useActionState:dd,useOptimistic:function(e,t){var n=bt();return Qe!==null?nd(n,Qe,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Su,useCacheRefresh:Cd};zd.useEffectEvent=hd;function _u(e,t,n,l){t=e.memoizedState,n=n(l,t),n=n==null?t:Q({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Mu={enqueueSetState:function(e,t,n){e=e._reactInternals;var l=En(),a=ua(l);a.payload=t,n!=null&&(a.callback=n),t=ra(e,a,l),t!==null&&(fn(t,e,l),Vi(t,e,l))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var l=En(),a=ua(l);a.tag=1,a.payload=t,n!=null&&(a.callback=n),t=ra(e,a,l),t!==null&&(fn(t,e,l),Vi(t,e,l))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=En(),l=ua(n);l.tag=2,t!=null&&(l.callback=t),t=ra(e,l,n),t!==null&&(fn(t,e,n),Vi(t,e,n))}};function kd(e,t,n,l,a,i,c){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(l,i,c):t.prototype&&t.prototype.isPureReactComponent?!qi(n,l)||!qi(a,i):!0}function _d(e,t,n,l){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,l),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,l),t.state!==e&&Mu.enqueueReplaceState(t,t.state,null)}function $a(e,t){var n=t;if("ref"in t){n={};for(var l in t)l!=="ref"&&(n[l]=t[l])}if(e=e.defaultProps){n===t&&(n=Q({},n));for(var a in e)n[a]===void 0&&(n[a]=e[a])}return n}function Md(e){Ds(e)}function wd(e){console.error(e)}function Ud(e){Ds(e)}function Fs(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(l){setTimeout(function(){throw l})}}function Hd(e,t,n){try{var l=e.onCaughtError;l(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(a){setTimeout(function(){throw a})}}function wu(e,t,n){return n=ua(n),n.tag=3,n.payload={element:null},n.callback=function(){Fs(e,t)},n}function Ld(e){return e=ua(e),e.tag=3,e}function qd(e,t,n,l){var a=n.type.getDerivedStateFromError;if(typeof a=="function"){var i=l.value;e.payload=function(){return a(i)},e.callback=function(){Hd(t,n,l)}}var c=n.stateNode;c!==null&&typeof c.componentDidCatch=="function"&&(e.callback=function(){Hd(t,n,l),typeof a!="function"&&(va===null?va=new Set([this]):va.add(this));var o=l.stack;this.componentDidCatch(l.value,{componentStack:o!==null?o:""})})}function qh(e,t,n,l,a){if(n.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(t=n.alternate,t!==null&&ui(t,n,a,!0),n=Sn.current,n!==null){switch(n.tag){case 31:case 13:return Xn===null?oc():n.alternate===null&&mt===0&&(mt=3),n.flags&=-257,n.flags|=65536,n.lanes=a,l===qs?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([l]):t.add(l),sr(e,l,a)),!1;case 22:return n.flags|=65536,l===qs?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([l])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([l]):n.add(l)),sr(e,l,a)),!1}throw Error(d(435,n.tag))}return sr(e,l,a),oc(),!1}if(ze)return t=Sn.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=a,l!==eu&&(e=Error(d(422),{cause:l}),Yi(qn(e,n)))):(l!==eu&&(t=Error(d(423),{cause:l}),Yi(qn(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,l=qn(l,n),a=wu(e.stateNode,l,a),du(e,a),mt!==4&&(mt=2)),!1;var i=Error(d(520),{cause:l});if(i=qn(i,n),cs===null?cs=[i]:cs.push(i),mt!==4&&(mt=2),t===null)return!0;l=qn(l,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=wu(n.stateNode,l,e),du(n,e),!1;case 1:if(t=n.type,i=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(va===null||!va.has(i))))return n.flags|=65536,a&=-a,n.lanes|=a,a=Ld(a),qd(a,e,n,l),du(n,a),!1}n=n.return}while(n!==null);return!1}var Uu=Error(d(461)),Ct=!1;function qt(e,t,n,l){t.child=e===null?Xo(t,null,n,l):Qa(t,e.child,n,l)}function Gd(e,t,n,l,a){n=n.render;var i=t.ref;if("ref"in l){var c={};for(var o in l)o!=="ref"&&(c[o]=l[o])}else c=l;return Ga(t),l=yu(e,t,n,c,i,a),o=gu(),e!==null&&!Ct?(bu(e,t,a),Yl(e,t,a)):(ze&&o&&Fc(t),t.flags|=1,qt(e,t,l,a),t.child)}function Bd(e,t,n,l,a){if(e===null){var i=n.type;return typeof i=="function"&&!Ic(i)&&i.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=i,Yd(e,t,i,l,a)):(e=_s(n.type,null,l,t,t.mode,a),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!Qu(e,a)){var c=i.memoizedProps;if(n=n.compare,n=n!==null?n:qi,n(c,l)&&e.ref===t.ref)return Yl(e,t,a)}return t.flags|=1,e=Ul(i,l),e.ref=t.ref,e.return=t,t.child=e}function Yd(e,t,n,l,a){if(e!==null){var i=e.memoizedProps;if(qi(i,l)&&e.ref===t.ref)if(Ct=!1,t.pendingProps=l=i,Qu(e,a))(e.flags&131072)!==0&&(Ct=!0);else return t.lanes=e.lanes,Yl(e,t,a)}return Hu(e,t,n,l,a)}function Xd(e,t,n,l){var a=l.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|n:n,e!==null){for(l=t.child=e.child,a=0;l!==null;)a=a|l.lanes|l.childLanes,l=l.sibling;l=a&~i}else l=0,t.child=null;return Qd(e,t,i,n,l)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Hs(t,i!==null?i.cachePool:null),i!==null?$o(t,i):mu(),Vo(t);else return l=t.lanes=536870912,Qd(e,t,i!==null?i.baseLanes|n:n,n,l)}else i!==null?(Hs(t,i.cachePool),$o(t,i),da(),t.memoizedState=null):(e!==null&&Hs(t,null),mu(),da());return qt(e,t,a,n),t.child}function es(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Qd(e,t,n,l,a){var i=cu();return i=i===null?null:{parent:Tt._currentValue,pool:i},t.memoizedState={baseLanes:n,cachePool:i},e!==null&&Hs(t,null),mu(),Vo(t),e!==null&&ui(e,t,l,!0),t.childLanes=a,null}function Ps(e,t){return t=tc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Zd(e,t,n){return Qa(t,e.child,null,n),e=Ps(t,t.pendingProps),e.flags|=2,jn(t),t.memoizedState=null,e}function Gh(e,t,n){var l=t.pendingProps,a=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(ze){if(l.mode==="hidden")return e=Ps(t,l),t.lanes=536870912,es(null,e);if(vu(t),(e=et)?(e=am(e,Yn),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:la!==null?{id:Sl,overflow:jl}:null,retryLane:536870912,hydrationErrors:null},n=Ro(e),n.return=t,t.child=n,Ht=t,et=null)):e=null,e===null)throw ia(t);return t.lanes=536870912,null}return Ps(t,l)}var i=e.memoizedState;if(i!==null){var c=i.dehydrated;if(vu(t),a)if(t.flags&256)t.flags&=-257,t=Zd(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(d(558));else if(Ct||ui(e,t,n,!1),a=(n&e.childLanes)!==0,Ct||a){if(l=Ie,l!==null&&(c=An(l,n),c!==0&&c!==i.retryLane))throw i.retryLane=c,Ua(e,c),fn(l,e,c),Uu;oc(),t=Zd(e,t,n)}else e=i.treeContext,et=Qn(c.nextSibling),Ht=t,ze=!0,aa=null,Yn=!1,e!==null&&zo(t,e),t=Ps(t,l),t.flags|=4096;return t}return e=Ul(e.child,{mode:l.mode,children:l.children}),e.ref=t.ref,t.child=e,e.return=t,e}function ec(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(d(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Hu(e,t,n,l,a){return Ga(t),n=yu(e,t,n,l,void 0,a),l=gu(),e!==null&&!Ct?(bu(e,t,a),Yl(e,t,a)):(ze&&l&&Fc(t),t.flags|=1,qt(e,t,n,a),t.child)}function $d(e,t,n,l,a,i){return Ga(t),t.updateQueue=null,n=Io(t,l,n,a),Ko(e),l=gu(),e!==null&&!Ct?(bu(e,t,i),Yl(e,t,i)):(ze&&l&&Fc(t),t.flags|=1,qt(e,t,n,i),t.child)}function Vd(e,t,n,l,a){if(Ga(t),t.stateNode===null){var i=ai,c=n.contextType;typeof c=="object"&&c!==null&&(i=Lt(c)),i=new n(l,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Mu,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=l,i.state=t.memoizedState,i.refs={},ru(t),c=n.contextType,i.context=typeof c=="object"&&c!==null?Lt(c):ai,i.state=t.memoizedState,c=n.getDerivedStateFromProps,typeof c=="function"&&(_u(t,n,c,l),i.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(c=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),c!==i.state&&Mu.enqueueReplaceState(i,i.state,null),Ii(t,l,i,a),Ki(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),l=!0}else if(e===null){i=t.stateNode;var o=t.memoizedProps,p=$a(n,o);i.props=p;var N=i.context,_=n.contextType;c=ai,typeof _=="object"&&_!==null&&(c=Lt(_));var w=n.getDerivedStateFromProps;_=typeof w=="function"||typeof i.getSnapshotBeforeUpdate=="function",o=t.pendingProps!==o,_||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(o||N!==c)&&_d(t,i,l,c),ca=!1;var E=t.memoizedState;i.state=E,Ii(t,l,i,a),Ki(),N=t.memoizedState,o||E!==N||ca?(typeof w=="function"&&(_u(t,n,w,l),N=t.memoizedState),(p=ca||kd(t,n,p,l,E,N,c))?(_||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=l,t.memoizedState=N),i.props=l,i.state=N,i.context=c,l=p):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),l=!1)}else{i=t.stateNode,ou(e,t),c=t.memoizedProps,_=$a(n,c),i.props=_,w=t.pendingProps,E=i.context,N=n.contextType,p=ai,typeof N=="object"&&N!==null&&(p=Lt(N)),o=n.getDerivedStateFromProps,(N=typeof o=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(c!==w||E!==p)&&_d(t,i,l,p),ca=!1,E=t.memoizedState,i.state=E,Ii(t,l,i,a),Ki();var R=t.memoizedState;c!==w||E!==R||ca||e!==null&&e.dependencies!==null&&ws(e.dependencies)?(typeof o=="function"&&(_u(t,n,o,l),R=t.memoizedState),(_=ca||kd(t,n,_,l,E,R,p)||e!==null&&e.dependencies!==null&&ws(e.dependencies))?(N||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(l,R,p),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(l,R,p)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||c===e.memoizedProps&&E===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||c===e.memoizedProps&&E===e.memoizedState||(t.flags|=1024),t.memoizedProps=l,t.memoizedState=R),i.props=l,i.state=R,i.context=p,l=_):(typeof i.componentDidUpdate!="function"||c===e.memoizedProps&&E===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||c===e.memoizedProps&&E===e.memoizedState||(t.flags|=1024),l=!1)}return i=l,ec(e,t),l=(t.flags&128)!==0,i||l?(i=t.stateNode,n=l&&typeof n.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&l?(t.child=Qa(t,e.child,null,a),t.child=Qa(t,null,n,a)):qt(e,t,n,a),t.memoizedState=i.state,e=t.child):e=Yl(e,t,a),e}function Kd(e,t,n,l){return La(),t.flags|=256,qt(e,t,n,l),t.child}var Lu={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function qu(e){return{baseLanes:e,cachePool:Ho()}}function Gu(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Tn),e}function Id(e,t,n){var l=t.pendingProps,a=!1,i=(t.flags&128)!==0,c;if((c=i)||(c=e!==null&&e.memoizedState===null?!1:(gt.current&2)!==0),c&&(a=!0,t.flags&=-129),c=(t.flags&32)!==0,t.flags&=-33,e===null){if(ze){if(a?oa(t):da(),(e=et)?(e=am(e,Yn),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:la!==null?{id:Sl,overflow:jl}:null,retryLane:536870912,hydrationErrors:null},n=Ro(e),n.return=t,t.child=n,Ht=t,et=null)):e=null,e===null)throw ia(t);return jr(e)?t.lanes=32:t.lanes=536870912,null}var o=l.children;return l=l.fallback,a?(da(),a=t.mode,o=tc({mode:"hidden",children:o},a),l=Ha(l,a,n,null),o.return=t,l.return=t,o.sibling=l,t.child=o,l=t.child,l.memoizedState=qu(n),l.childLanes=Gu(e,c,n),t.memoizedState=Lu,es(null,l)):(oa(t),Bu(t,o))}var p=e.memoizedState;if(p!==null&&(o=p.dehydrated,o!==null)){if(i)t.flags&256?(oa(t),t.flags&=-257,t=Yu(e,t,n)):t.memoizedState!==null?(da(),t.child=e.child,t.flags|=128,t=null):(da(),o=l.fallback,a=t.mode,l=tc({mode:"visible",children:l.children},a),o=Ha(o,a,n,null),o.flags|=2,l.return=t,o.return=t,l.sibling=o,t.child=l,Qa(t,e.child,null,n),l=t.child,l.memoizedState=qu(n),l.childLanes=Gu(e,c,n),t.memoizedState=Lu,t=es(null,l));else if(oa(t),jr(o)){if(c=o.nextSibling&&o.nextSibling.dataset,c)var N=c.dgst;c=N,l=Error(d(419)),l.stack="",l.digest=c,Yi({value:l,source:null,stack:null}),t=Yu(e,t,n)}else if(Ct||ui(e,t,n,!1),c=(n&e.childLanes)!==0,Ct||c){if(c=Ie,c!==null&&(l=An(c,n),l!==0&&l!==p.retryLane))throw p.retryLane=l,Ua(e,l),fn(c,e,l),Uu;Sr(o)||oc(),t=Yu(e,t,n)}else Sr(o)?(t.flags|=192,t.child=e.child,t=null):(e=p.treeContext,et=Qn(o.nextSibling),Ht=t,ze=!0,aa=null,Yn=!1,e!==null&&zo(t,e),t=Bu(t,l.children),t.flags|=4096);return t}return a?(da(),o=l.fallback,a=t.mode,p=e.child,N=p.sibling,l=Ul(p,{mode:"hidden",children:l.children}),l.subtreeFlags=p.subtreeFlags&65011712,N!==null?o=Ul(N,o):(o=Ha(o,a,n,null),o.flags|=2),o.return=t,l.return=t,l.sibling=o,t.child=l,es(null,l),l=t.child,o=e.child.memoizedState,o===null?o=qu(n):(a=o.cachePool,a!==null?(p=Tt._currentValue,a=a.parent!==p?{parent:p,pool:p}:a):a=Ho(),o={baseLanes:o.baseLanes|n,cachePool:a}),l.memoizedState=o,l.childLanes=Gu(e,c,n),t.memoizedState=Lu,es(e.child,l)):(oa(t),n=e.child,e=n.sibling,n=Ul(n,{mode:"visible",children:l.children}),n.return=t,n.sibling=null,e!==null&&(c=t.deletions,c===null?(t.deletions=[e],t.flags|=16):c.push(e)),t.child=n,t.memoizedState=null,n)}function Bu(e,t){return t=tc({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function tc(e,t){return e=xn(22,e,null,t),e.lanes=0,e}function Yu(e,t,n){return Qa(t,e.child,null,n),e=Bu(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Jd(e,t,n){e.lanes|=t;var l=e.alternate;l!==null&&(l.lanes|=t),lu(e.return,t,n)}function Xu(e,t,n,l,a,i){var c=e.memoizedState;c===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:l,tail:n,tailMode:a,treeForkCount:i}:(c.isBackwards=t,c.rendering=null,c.renderingStartTime=0,c.last=l,c.tail=n,c.tailMode=a,c.treeForkCount=i)}function Wd(e,t,n){var l=t.pendingProps,a=l.revealOrder,i=l.tail;l=l.children;var c=gt.current,o=(c&2)!==0;if(o?(c=c&1|2,t.flags|=128):c&=1,Y(gt,c),qt(e,t,l,n),l=ze?Bi:0,!o&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Jd(e,n,t);else if(e.tag===19)Jd(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(a){case"forwards":for(n=t.child,a=null;n!==null;)e=n.alternate,e!==null&&Xs(e)===null&&(a=n),n=n.sibling;n=a,n===null?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),Xu(t,!1,a,n,i,l);break;case"backwards":case"unstable_legacy-backwards":for(n=null,a=t.child,t.child=null;a!==null;){if(e=a.alternate,e!==null&&Xs(e)===null){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}Xu(t,!0,n,null,i,l);break;case"together":Xu(t,!1,null,null,void 0,l);break;default:t.memoizedState=null}return t.child}function Yl(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),ha|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ui(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(d(153));if(t.child!==null){for(e=t.child,n=Ul(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Ul(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Qu(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&ws(e)))}function Bh(e,t,n){switch(t.tag){case 3:Ge(t,t.stateNode.containerInfo),sa(t,Tt,e.memoizedState.cache),La();break;case 27:case 5:Bt(t);break;case 4:Ge(t,t.stateNode.containerInfo);break;case 10:sa(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,vu(t),null;break;case 13:var l=t.memoizedState;if(l!==null)return l.dehydrated!==null?(oa(t),t.flags|=128,null):(n&t.child.childLanes)!==0?Id(e,t,n):(oa(t),e=Yl(e,t,n),e!==null?e.sibling:null);oa(t);break;case 19:var a=(e.flags&128)!==0;if(l=(n&t.childLanes)!==0,l||(ui(e,t,n,!1),l=(n&t.childLanes)!==0),a){if(l)return Wd(e,t,n);t.flags|=128}if(a=t.memoizedState,a!==null&&(a.rendering=null,a.tail=null,a.lastEffect=null),Y(gt,gt.current),l)break;return null;case 22:return t.lanes=0,Xd(e,t,n,t.pendingProps);case 24:sa(t,Tt,e.memoizedState.cache)}return Yl(e,t,n)}function Fd(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Ct=!0;else{if(!Qu(e,n)&&(t.flags&128)===0)return Ct=!1,Bh(e,t,n);Ct=(e.flags&131072)!==0}else Ct=!1,ze&&(t.flags&1048576)!==0&&Oo(t,Bi,t.index);switch(t.lanes=0,t.tag){case 16:e:{var l=t.pendingProps;if(e=Ya(t.elementType),t.type=e,typeof e=="function")Ic(e)?(l=$a(e,l),t.tag=1,t=Vd(null,t,e,l,n)):(t.tag=0,t=Hu(null,t,e,l,n));else{if(e!=null){var a=e.$$typeof;if(a===xt){t.tag=11,t=Gd(null,t,e,l,n);break e}else if(a===ue){t.tag=14,t=Bd(null,t,e,l,n);break e}}throw t=Je(e)||e,Error(d(306,t,""))}}return t;case 0:return Hu(e,t,t.type,t.pendingProps,n);case 1:return l=t.type,a=$a(l,t.pendingProps),Vd(e,t,l,a,n);case 3:e:{if(Ge(t,t.stateNode.containerInfo),e===null)throw Error(d(387));l=t.pendingProps;var i=t.memoizedState;a=i.element,ou(e,t),Ii(t,l,null,n);var c=t.memoizedState;if(l=c.cache,sa(t,Tt,l),l!==i.cache&&au(t,[Tt],n,!0),Ki(),l=c.element,i.isDehydrated)if(i={element:l,isDehydrated:!1,cache:c.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Kd(e,t,l,n);break e}else if(l!==a){a=qn(Error(d(424)),t),Yi(a),t=Kd(e,t,l,n);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,et=Qn(e.firstChild),Ht=t,ze=!0,aa=null,Yn=!0,n=Xo(t,null,l,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(La(),l===a){t=Yl(e,t,n);break e}qt(e,t,l,n)}t=t.child}return t;case 26:return ec(e,t),e===null?(n=om(t.type,null,t.pendingProps,null))?t.memoizedState=n:ze||(n=t.type,e=t.pendingProps,l=yc(ve.current).createElement(n),l[se]=t,l[We]=e,Gt(l,n,e),ke(l),t.stateNode=l):t.memoizedState=om(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Bt(t),e===null&&ze&&(l=t.stateNode=cm(t.type,t.pendingProps,ve.current),Ht=t,Yn=!0,a=et,ba(t.type)?(Nr=a,et=Qn(l.firstChild)):et=a),qt(e,t,t.pendingProps.children,n),ec(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&ze&&((a=l=et)&&(l=yv(l,t.type,t.pendingProps,Yn),l!==null?(t.stateNode=l,Ht=t,et=Qn(l.firstChild),Yn=!1,a=!0):a=!1),a||ia(t)),Bt(t),a=t.type,i=t.pendingProps,c=e!==null?e.memoizedProps:null,l=i.children,gr(a,i)?l=null:c!==null&&gr(a,c)&&(t.flags|=32),t.memoizedState!==null&&(a=yu(e,t,kh,null,null,n),vs._currentValue=a),ec(e,t),qt(e,t,l,n),t.child;case 6:return e===null&&ze&&((e=n=et)&&(n=gv(n,t.pendingProps,Yn),n!==null?(t.stateNode=n,Ht=t,et=null,e=!0):e=!1),e||ia(t)),null;case 13:return Id(e,t,n);case 4:return Ge(t,t.stateNode.containerInfo),l=t.pendingProps,e===null?t.child=Qa(t,null,l,n):qt(e,t,l,n),t.child;case 11:return Gd(e,t,t.type,t.pendingProps,n);case 7:return qt(e,t,t.pendingProps,n),t.child;case 8:return qt(e,t,t.pendingProps.children,n),t.child;case 12:return qt(e,t,t.pendingProps.children,n),t.child;case 10:return l=t.pendingProps,sa(t,t.type,l.value),qt(e,t,l.children,n),t.child;case 9:return a=t.type._context,l=t.pendingProps.children,Ga(t),a=Lt(a),l=l(a),t.flags|=1,qt(e,t,l,n),t.child;case 14:return Bd(e,t,t.type,t.pendingProps,n);case 15:return Yd(e,t,t.type,t.pendingProps,n);case 19:return Wd(e,t,n);case 31:return Gh(e,t,n);case 22:return Xd(e,t,n,t.pendingProps);case 24:return Ga(t),l=Lt(Tt),e===null?(a=cu(),a===null&&(a=Ie,i=iu(),a.pooledCache=i,i.refCount++,i!==null&&(a.pooledCacheLanes|=n),a=i),t.memoizedState={parent:l,cache:a},ru(t),sa(t,Tt,a)):((e.lanes&n)!==0&&(ou(e,t),Ii(t,null,null,n),Ki()),a=e.memoizedState,i=t.memoizedState,a.parent!==l?(a={parent:l,cache:l},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),sa(t,Tt,l)):(l=i.cache,sa(t,Tt,l),l!==a.cache&&au(t,[Tt],n,!0))),qt(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(d(156,t.tag))}function Xl(e){e.flags|=4}function Zu(e,t,n,l,a){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(a&335544128)===a)if(e.stateNode.complete)e.flags|=8192;else if(Cf())e.flags|=8192;else throw Xa=qs,uu}else e.flags&=-16777217}function Pd(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!vm(t))if(Cf())e.flags|=8192;else throw Xa=qs,uu}function nc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?yn():536870912,e.lanes|=t,xi|=t)}function ts(e,t){if(!ze)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var l=null;n!==null;)n.alternate!==null&&(l=n),n=n.sibling;l===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:l.sibling=null}}function tt(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,l=0;if(t)for(var a=e.child;a!==null;)n|=a.lanes|a.childLanes,l|=a.subtreeFlags&65011712,l|=a.flags&65011712,a.return=e,a=a.sibling;else for(a=e.child;a!==null;)n|=a.lanes|a.childLanes,l|=a.subtreeFlags,l|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=l,e.childLanes=n,t}function Yh(e,t,n){var l=t.pendingProps;switch(Pc(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return tt(t),null;case 1:return tt(t),null;case 3:return n=t.stateNode,l=null,e!==null&&(l=e.memoizedState.cache),t.memoizedState.cache!==l&&(t.flags|=2048),ql(Tt),Ve(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(ci(t)?Xl(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,tu())),tt(t),null;case 26:var a=t.type,i=t.memoizedState;return e===null?(Xl(t),i!==null?(tt(t),Pd(t,i)):(tt(t),Zu(t,a,null,l,n))):i?i!==e.memoizedState?(Xl(t),tt(t),Pd(t,i)):(tt(t),t.flags&=-16777217):(e=e.memoizedProps,e!==l&&Xl(t),tt(t),Zu(t,a,e,l,n)),null;case 27:if(Vn(t),n=ve.current,a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&Xl(t);else{if(!l){if(t.stateNode===null)throw Error(d(166));return tt(t),null}e=J.current,ci(t)?ko(t):(e=cm(a,l,n),t.stateNode=e,Xl(t))}return tt(t),null;case 5:if(Vn(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&Xl(t);else{if(!l){if(t.stateNode===null)throw Error(d(166));return tt(t),null}if(i=J.current,ci(t))ko(t);else{var c=yc(ve.current);switch(i){case 1:i=c.createElementNS("http://www.w3.org/2000/svg",a);break;case 2:i=c.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;default:switch(a){case"svg":i=c.createElementNS("http://www.w3.org/2000/svg",a);break;case"math":i=c.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;case"script":i=c.createElement("div"),i.innerHTML="<script><\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof l.is=="string"?c.createElement("select",{is:l.is}):c.createElement("select"),l.multiple?i.multiple=!0:l.size&&(i.size=l.size);break;default:i=typeof l.is=="string"?c.createElement(a,{is:l.is}):c.createElement(a)}}i[se]=t,i[We]=l;e:for(c=t.child;c!==null;){if(c.tag===5||c.tag===6)i.appendChild(c.stateNode);else if(c.tag!==4&&c.tag!==27&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===t)break e;for(;c.sibling===null;){if(c.return===null||c.return===t)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}t.stateNode=i;e:switch(Gt(i,a,l),a){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&Xl(t)}}return tt(t),Zu(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&Xl(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(d(166));if(e=ve.current,ci(t)){if(e=t.stateNode,n=t.memoizedProps,l=null,a=Ht,a!==null)switch(a.tag){case 27:case 5:l=a.memoizedProps}e[se]=t,e=!!(e.nodeValue===n||l!==null&&l.suppressHydrationWarning===!0||Jf(e.nodeValue,n)),e||ia(t,!0)}else e=yc(e).createTextNode(l),e[se]=t,t.stateNode=e}return tt(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(l=ci(t),n!==null){if(e===null){if(!l)throw Error(d(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(d(557));e[se]=t}else La(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;tt(t),e=!1}else n=tu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(jn(t),t):(jn(t),null);if((t.flags&128)!==0)throw Error(d(558))}return tt(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=ci(t),l!==null&&l.dehydrated!==null){if(e===null){if(!a)throw Error(d(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(d(317));a[se]=t}else La(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;tt(t),a=!1}else a=tu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(jn(t),t):(jn(t),null)}return jn(t),(t.flags&128)!==0?(t.lanes=n,t):(n=l!==null,e=e!==null&&e.memoizedState!==null,n&&(l=t.child,a=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(a=l.alternate.memoizedState.cachePool.pool),i=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(i=l.memoizedState.cachePool.pool),i!==a&&(l.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),nc(t,t.updateQueue),tt(t),null);case 4:return Ve(),e===null&&mr(t.stateNode.containerInfo),tt(t),null;case 10:return ql(t.type),tt(t),null;case 19:if(T(gt),l=t.memoizedState,l===null)return tt(t),null;if(a=(t.flags&128)!==0,i=l.rendering,i===null)if(a)ts(l,!1);else{if(mt!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=Xs(e),i!==null){for(t.flags|=128,ts(l,!1),e=i.updateQueue,t.updateQueue=e,nc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Ao(n,e),n=n.sibling;return Y(gt,gt.current&1|2),ze&&Hl(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&wt()>cc&&(t.flags|=128,a=!0,ts(l,!1),t.lanes=4194304)}else{if(!a)if(e=Xs(i),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,nc(t,e),ts(l,!0),l.tail===null&&l.tailMode==="hidden"&&!i.alternate&&!ze)return tt(t),null}else 2*wt()-l.renderingStartTime>cc&&n!==536870912&&(t.flags|=128,a=!0,ts(l,!1),t.lanes=4194304);l.isBackwards?(i.sibling=t.child,t.child=i):(e=l.last,e!==null?e.sibling=i:t.child=i,l.last=i)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=wt(),e.sibling=null,n=gt.current,Y(gt,a?n&1|2:n&1),ze&&Hl(t,l.treeForkCount),e):(tt(t),null);case 22:case 23:return jn(t),hu(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(n&536870912)!==0&&(t.flags&128)===0&&(tt(t),t.subtreeFlags&6&&(t.flags|=8192)):tt(t),n=t.updateQueue,n!==null&&nc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==n&&(t.flags|=2048),e!==null&&T(Ba),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ql(Tt),tt(t),null;case 25:return null;case 30:return null}throw Error(d(156,t.tag))}function Xh(e,t){switch(Pc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ql(Tt),Ve(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Vn(t),null;case 31:if(t.memoizedState!==null){if(jn(t),t.alternate===null)throw Error(d(340));La()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(jn(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(d(340));La()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return T(gt),null;case 4:return Ve(),null;case 10:return ql(t.type),null;case 22:case 23:return jn(t),hu(),e!==null&&T(Ba),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ql(Tt),null;case 25:return null;default:return null}}function ef(e,t){switch(Pc(t),t.tag){case 3:ql(Tt),Ve();break;case 26:case 27:case 5:Vn(t);break;case 4:Ve();break;case 31:t.memoizedState!==null&&jn(t);break;case 13:jn(t);break;case 19:T(gt);break;case 10:ql(t.type);break;case 22:case 23:jn(t),hu(),e!==null&&T(Ba);break;case 24:ql(Tt)}}function ns(e,t){try{var n=t.updateQueue,l=n!==null?n.lastEffect:null;if(l!==null){var a=l.next;n=a;do{if((n.tag&e)===e){l=void 0;var i=n.create,c=n.inst;l=i(),c.destroy=l}n=n.next}while(n!==a)}}catch(o){Xe(t,t.return,o)}}function fa(e,t,n){try{var l=t.updateQueue,a=l!==null?l.lastEffect:null;if(a!==null){var i=a.next;l=i;do{if((l.tag&e)===e){var c=l.inst,o=c.destroy;if(o!==void 0){c.destroy=void 0,a=t;var p=n,N=o;try{N()}catch(_){Xe(a,p,_)}}}l=l.next}while(l!==i)}}catch(_){Xe(t,t.return,_)}}function tf(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Zo(t,n)}catch(l){Xe(e,e.return,l)}}}function nf(e,t,n){n.props=$a(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(l){Xe(e,t,l)}}function ls(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof n=="function"?e.refCleanup=n(l):n.current=l}}catch(a){Xe(e,t,a)}}function Nl(e,t){var n=e.ref,l=e.refCleanup;if(n!==null)if(typeof l=="function")try{l()}catch(a){Xe(e,t,a)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(a){Xe(e,t,a)}else n.current=null}function lf(e){var t=e.type,n=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&l.focus();break e;case"img":n.src?l.src=n.src:n.srcSet&&(l.srcset=n.srcSet)}}catch(a){Xe(e,e.return,a)}}function $u(e,t,n){try{var l=e.stateNode;dv(l,e.type,n,t),l[We]=t}catch(a){Xe(e,e.return,a)}}function af(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ba(e.type)||e.tag===4}function Vu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||af(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&ba(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ku(e,t,n){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=xe));else if(l!==4&&(l===27&&ba(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Ku(e,t,n),e=e.sibling;e!==null;)Ku(e,t,n),e=e.sibling}function lc(e,t,n){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(l!==4&&(l===27&&ba(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(lc(e,t,n),e=e.sibling;e!==null;)lc(e,t,n),e=e.sibling}function sf(e){var t=e.stateNode,n=e.memoizedProps;try{for(var l=e.type,a=t.attributes;a.length;)t.removeAttributeNode(a[0]);Gt(t,l,n),t[se]=e,t[We]=n}catch(i){Xe(e,e.return,i)}}var Ql=!1,At=!1,Iu=!1,cf=typeof WeakSet=="function"?WeakSet:Set,_t=null;function Qh(e,t){if(e=e.containerInfo,pr=Tc,e=go(e),Yc(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var l=n.getSelection&&n.getSelection();if(l&&l.rangeCount!==0){n=l.anchorNode;var a=l.anchorOffset,i=l.focusNode;l=l.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var c=0,o=-1,p=-1,N=0,_=0,w=e,E=null;t:for(;;){for(var R;w!==n||a!==0&&w.nodeType!==3||(o=c+a),w!==i||l!==0&&w.nodeType!==3||(p=c+l),w.nodeType===3&&(c+=w.nodeValue.length),(R=w.firstChild)!==null;)E=w,w=R;for(;;){if(w===e)break t;if(E===n&&++N===a&&(o=c),E===i&&++_===l&&(p=c),(R=w.nextSibling)!==null)break;w=E,E=w.parentNode}w=R}n=o===-1||p===-1?null:{start:o,end:p}}else n=null}n=n||{start:0,end:0}}else n=null;for(yr={focusedElem:e,selectionRange:n},Tc=!1,_t=t;_t!==null;)if(t=_t,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,_t=e;else for(;_t!==null;){switch(t=_t,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)a=e[n],a.ref.impl=a.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,n=t,a=i.memoizedProps,i=i.memoizedState,l=n.stateNode;try{var F=$a(n.type,a);e=l.getSnapshotBeforeUpdate(F,i),l.__reactInternalSnapshotBeforeUpdate=e}catch(ie){Xe(n,n.return,ie)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)xr(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":xr(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(d(163))}if(e=t.sibling,e!==null){e.return=t.return,_t=e;break}_t=t.return}}function uf(e,t,n){var l=n.flags;switch(n.tag){case 0:case 11:case 15:$l(e,n),l&4&&ns(5,n);break;case 1:if($l(e,n),l&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(c){Xe(n,n.return,c)}else{var a=$a(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(a,t,e.__reactInternalSnapshotBeforeUpdate)}catch(c){Xe(n,n.return,c)}}l&64&&tf(n),l&512&&ls(n,n.return);break;case 3:if($l(e,n),l&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{Zo(e,t)}catch(c){Xe(n,n.return,c)}}break;case 27:t===null&&l&4&&sf(n);case 26:case 5:$l(e,n),t===null&&l&4&&lf(n),l&512&&ls(n,n.return);break;case 12:$l(e,n);break;case 31:$l(e,n),l&4&&df(e,n);break;case 13:$l(e,n),l&4&&ff(e,n),l&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Ph.bind(null,n),bv(e,n))));break;case 22:if(l=n.memoizedState!==null||Ql,!l){t=t!==null&&t.memoizedState!==null||At,a=Ql;var i=At;Ql=l,(At=t)&&!i?Vl(e,n,(n.subtreeFlags&8772)!==0):$l(e,n),Ql=a,At=i}break;case 30:break;default:$l(e,n)}}function rf(e){var t=e.alternate;t!==null&&(e.alternate=null,rf(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&zn(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var it=null,un=!1;function Zl(e,t,n){for(n=n.child;n!==null;)of(e,t,n),n=n.sibling}function of(e,t,n){if(q&&typeof q.onCommitFiberUnmount=="function")try{q.onCommitFiberUnmount(hn,n)}catch{}switch(n.tag){case 26:At||Nl(n,t),Zl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:At||Nl(n,t);var l=it,a=un;ba(n.type)&&(it=n.stateNode,un=!1),Zl(e,t,n),fs(n.stateNode),it=l,un=a;break;case 5:At||Nl(n,t);case 6:if(l=it,a=un,it=null,Zl(e,t,n),it=l,un=a,it!==null)if(un)try{(it.nodeType===9?it.body:it.nodeName==="HTML"?it.ownerDocument.body:it).removeChild(n.stateNode)}catch(i){Xe(n,t,i)}else try{it.removeChild(n.stateNode)}catch(i){Xe(n,t,i)}break;case 18:it!==null&&(un?(e=it,nm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),Ri(e)):nm(it,n.stateNode));break;case 4:l=it,a=un,it=n.stateNode.containerInfo,un=!0,Zl(e,t,n),it=l,un=a;break;case 0:case 11:case 14:case 15:fa(2,n,t),At||fa(4,n,t),Zl(e,t,n);break;case 1:At||(Nl(n,t),l=n.stateNode,typeof l.componentWillUnmount=="function"&&nf(n,t,l)),Zl(e,t,n);break;case 21:Zl(e,t,n);break;case 22:At=(l=At)||n.memoizedState!==null,Zl(e,t,n),At=l;break;default:Zl(e,t,n)}}function df(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Ri(e)}catch(n){Xe(t,t.return,n)}}}function ff(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Ri(e)}catch(n){Xe(t,t.return,n)}}function Zh(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new cf),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new cf),t;default:throw Error(d(435,e.tag))}}function ac(e,t){var n=Zh(e);t.forEach(function(l){if(!n.has(l)){n.add(l);var a=ev.bind(null,e,l);l.then(a,a)}})}function rn(e,t){var n=t.deletions;if(n!==null)for(var l=0;l<n.length;l++){var a=n[l],i=e,c=t,o=c;e:for(;o!==null;){switch(o.tag){case 27:if(ba(o.type)){it=o.stateNode,un=!1;break e}break;case 5:it=o.stateNode,un=!1;break e;case 3:case 4:it=o.stateNode.containerInfo,un=!0;break e}o=o.return}if(it===null)throw Error(d(160));of(i,c,a),it=null,un=!1,i=a.alternate,i!==null&&(i.return=null),a.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)mf(t,e),t=t.sibling}var ul=null;function mf(e,t){var n=e.alternate,l=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:rn(t,e),on(e),l&4&&(fa(3,e,e.return),ns(3,e),fa(5,e,e.return));break;case 1:rn(t,e),on(e),l&512&&(At||n===null||Nl(n,n.return)),l&64&&Ql&&(e=e.updateQueue,e!==null&&(l=e.callbacks,l!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?l:n.concat(l))));break;case 26:var a=ul;if(rn(t,e),on(e),l&512&&(At||n===null||Nl(n,n.return)),l&4){var i=n!==null?n.memoizedState:null;if(l=e.memoizedState,n===null)if(l===null)if(e.stateNode===null){e:{l=e.type,n=e.memoizedProps,a=a.ownerDocument||a;t:switch(l){case"title":i=a.getElementsByTagName("title")[0],(!i||i[lt]||i[se]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=a.createElement(l),a.head.insertBefore(i,a.querySelector("head > title"))),Gt(i,l,n),i[se]=e,ke(i),l=i;break e;case"link":var c=mm("link","href",a).get(l+(n.href||""));if(c){for(var o=0;o<c.length;o++)if(i=c[o],i.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&i.getAttribute("rel")===(n.rel==null?null:n.rel)&&i.getAttribute("title")===(n.title==null?null:n.title)&&i.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){c.splice(o,1);break t}}i=a.createElement(l),Gt(i,l,n),a.head.appendChild(i);break;case"meta":if(c=mm("meta","content",a).get(l+(n.content||""))){for(o=0;o<c.length;o++)if(i=c[o],i.getAttribute("content")===(n.content==null?null:""+n.content)&&i.getAttribute("name")===(n.name==null?null:n.name)&&i.getAttribute("property")===(n.property==null?null:n.property)&&i.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&i.getAttribute("charset")===(n.charSet==null?null:n.charSet)){c.splice(o,1);break t}}i=a.createElement(l),Gt(i,l,n),a.head.appendChild(i);break;default:throw Error(d(468,l))}i[se]=e,ke(i),l=i}e.stateNode=l}else hm(a,e.type,e.stateNode);else e.stateNode=fm(a,l,e.memoizedProps);else i!==l?(i===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):i.count--,l===null?hm(a,e.type,e.stateNode):fm(a,l,e.memoizedProps)):l===null&&e.stateNode!==null&&$u(e,e.memoizedProps,n.memoizedProps)}break;case 27:rn(t,e),on(e),l&512&&(At||n===null||Nl(n,n.return)),n!==null&&l&4&&$u(e,e.memoizedProps,n.memoizedProps);break;case 5:if(rn(t,e),on(e),l&512&&(At||n===null||Nl(n,n.return)),e.flags&32){a=e.stateNode;try{U(a,"")}catch(F){Xe(e,e.return,F)}}l&4&&e.stateNode!=null&&(a=e.memoizedProps,$u(e,a,n!==null?n.memoizedProps:a)),l&1024&&(Iu=!0);break;case 6:if(rn(t,e),on(e),l&4){if(e.stateNode===null)throw Error(d(162));l=e.memoizedProps,n=e.stateNode;try{n.nodeValue=l}catch(F){Xe(e,e.return,F)}}break;case 3:if(xc=null,a=ul,ul=gc(t.containerInfo),rn(t,e),ul=a,on(e),l&4&&n!==null&&n.memoizedState.isDehydrated)try{Ri(t.containerInfo)}catch(F){Xe(e,e.return,F)}Iu&&(Iu=!1,hf(e));break;case 4:l=ul,ul=gc(e.stateNode.containerInfo),rn(t,e),on(e),ul=l;break;case 12:rn(t,e),on(e);break;case 31:rn(t,e),on(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,ac(e,l)));break;case 13:rn(t,e),on(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(sc=wt()),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,ac(e,l)));break;case 22:a=e.memoizedState!==null;var p=n!==null&&n.memoizedState!==null,N=Ql,_=At;if(Ql=N||a,At=_||p,rn(t,e),At=_,Ql=N,on(e),l&8192)e:for(t=e.stateNode,t._visibility=a?t._visibility&-2:t._visibility|1,a&&(n===null||p||Ql||At||Va(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){p=n=t;try{if(i=p.stateNode,a)c=i.style,typeof c.setProperty=="function"?c.setProperty("display","none","important"):c.display="none";else{o=p.stateNode;var w=p.memoizedProps.style,E=w!=null&&w.hasOwnProperty("display")?w.display:null;o.style.display=E==null||typeof E=="boolean"?"":(""+E).trim()}}catch(F){Xe(p,p.return,F)}}}else if(t.tag===6){if(n===null){p=t;try{p.stateNode.nodeValue=a?"":p.memoizedProps}catch(F){Xe(p,p.return,F)}}}else if(t.tag===18){if(n===null){p=t;try{var R=p.stateNode;a?lm(R,!0):lm(p.stateNode,!1)}catch(F){Xe(p,p.return,F)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}l&4&&(l=e.updateQueue,l!==null&&(n=l.retryQueue,n!==null&&(l.retryQueue=null,ac(e,n))));break;case 19:rn(t,e),on(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,ac(e,l)));break;case 30:break;case 21:break;default:rn(t,e),on(e)}}function on(e){var t=e.flags;if(t&2){try{for(var n,l=e.return;l!==null;){if(af(l)){n=l;break}l=l.return}if(n==null)throw Error(d(160));switch(n.tag){case 27:var a=n.stateNode,i=Vu(e);lc(e,i,a);break;case 5:var c=n.stateNode;n.flags&32&&(U(c,""),n.flags&=-33);var o=Vu(e);lc(e,o,c);break;case 3:case 4:var p=n.stateNode.containerInfo,N=Vu(e);Ku(e,N,p);break;default:throw Error(d(161))}}catch(_){Xe(e,e.return,_)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function hf(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;hf(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function $l(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)uf(e,t.alternate,t),t=t.sibling}function Va(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:fa(4,t,t.return),Va(t);break;case 1:Nl(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&nf(t,t.return,n),Va(t);break;case 27:fs(t.stateNode);case 26:case 5:Nl(t,t.return),Va(t);break;case 22:t.memoizedState===null&&Va(t);break;case 30:Va(t);break;default:Va(t)}e=e.sibling}}function Vl(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var l=t.alternate,a=e,i=t,c=i.flags;switch(i.tag){case 0:case 11:case 15:Vl(a,i,n),ns(4,i);break;case 1:if(Vl(a,i,n),l=i,a=l.stateNode,typeof a.componentDidMount=="function")try{a.componentDidMount()}catch(N){Xe(l,l.return,N)}if(l=i,a=l.updateQueue,a!==null){var o=l.stateNode;try{var p=a.shared.hiddenCallbacks;if(p!==null)for(a.shared.hiddenCallbacks=null,a=0;a<p.length;a++)Qo(p[a],o)}catch(N){Xe(l,l.return,N)}}n&&c&64&&tf(i),ls(i,i.return);break;case 27:sf(i);case 26:case 5:Vl(a,i,n),n&&l===null&&c&4&&lf(i),ls(i,i.return);break;case 12:Vl(a,i,n);break;case 31:Vl(a,i,n),n&&c&4&&df(a,i);break;case 13:Vl(a,i,n),n&&c&4&&ff(a,i);break;case 22:i.memoizedState===null&&Vl(a,i,n),ls(i,i.return);break;case 30:break;default:Vl(a,i,n)}t=t.sibling}}function Ju(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Xi(n))}function Wu(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Xi(e))}function rl(e,t,n,l){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)vf(e,t,n,l),t=t.sibling}function vf(e,t,n,l){var a=t.flags;switch(t.tag){case 0:case 11:case 15:rl(e,t,n,l),a&2048&&ns(9,t);break;case 1:rl(e,t,n,l);break;case 3:rl(e,t,n,l),a&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Xi(e)));break;case 12:if(a&2048){rl(e,t,n,l),e=t.stateNode;try{var i=t.memoizedProps,c=i.id,o=i.onPostCommit;typeof o=="function"&&o(c,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(p){Xe(t,t.return,p)}}else rl(e,t,n,l);break;case 31:rl(e,t,n,l);break;case 13:rl(e,t,n,l);break;case 23:break;case 22:i=t.stateNode,c=t.alternate,t.memoizedState!==null?i._visibility&2?rl(e,t,n,l):as(e,t):i._visibility&2?rl(e,t,n,l):(i._visibility|=2,yi(e,t,n,l,(t.subtreeFlags&10256)!==0||!1)),a&2048&&Ju(c,t);break;case 24:rl(e,t,n,l),a&2048&&Wu(t.alternate,t);break;default:rl(e,t,n,l)}}function yi(e,t,n,l,a){for(a=a&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,c=t,o=n,p=l,N=c.flags;switch(c.tag){case 0:case 11:case 15:yi(i,c,o,p,a),ns(8,c);break;case 23:break;case 22:var _=c.stateNode;c.memoizedState!==null?_._visibility&2?yi(i,c,o,p,a):as(i,c):(_._visibility|=2,yi(i,c,o,p,a)),a&&N&2048&&Ju(c.alternate,c);break;case 24:yi(i,c,o,p,a),a&&N&2048&&Wu(c.alternate,c);break;default:yi(i,c,o,p,a)}t=t.sibling}}function as(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,l=t,a=l.flags;switch(l.tag){case 22:as(n,l),a&2048&&Ju(l.alternate,l);break;case 24:as(n,l),a&2048&&Wu(l.alternate,l);break;default:as(n,l)}t=t.sibling}}var is=8192;function gi(e,t,n){if(e.subtreeFlags&is)for(e=e.child;e!==null;)pf(e,t,n),e=e.sibling}function pf(e,t,n){switch(e.tag){case 26:gi(e,t,n),e.flags&is&&e.memoizedState!==null&&zv(n,ul,e.memoizedState,e.memoizedProps);break;case 5:gi(e,t,n);break;case 3:case 4:var l=ul;ul=gc(e.stateNode.containerInfo),gi(e,t,n),ul=l;break;case 22:e.memoizedState===null&&(l=e.alternate,l!==null&&l.memoizedState!==null?(l=is,is=16777216,gi(e,t,n),is=l):gi(e,t,n));break;default:gi(e,t,n)}}function yf(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function ss(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var l=t[n];_t=l,bf(l,e)}yf(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)gf(e),e=e.sibling}function gf(e){switch(e.tag){case 0:case 11:case 15:ss(e),e.flags&2048&&fa(9,e,e.return);break;case 3:ss(e);break;case 12:ss(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,ic(e)):ss(e);break;default:ss(e)}}function ic(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var l=t[n];_t=l,bf(l,e)}yf(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:fa(8,t,t.return),ic(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,ic(t));break;default:ic(t)}e=e.sibling}}function bf(e,t){for(;_t!==null;){var n=_t;switch(n.tag){case 0:case 11:case 15:fa(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var l=n.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:Xi(n.memoizedState.cache)}if(l=n.child,l!==null)l.return=n,_t=l;else e:for(n=e;_t!==null;){l=_t;var a=l.sibling,i=l.return;if(rf(l),l===n){_t=null;break e}if(a!==null){a.return=i,_t=a;break e}_t=i}}}var $h={getCacheForType:function(e){var t=Lt(Tt),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Lt(Tt).controller.signal}},Vh=typeof WeakMap=="function"?WeakMap:Map,qe=0,Ie=null,Ee=null,Re=0,Ye=0,Nn=null,ma=!1,bi=!1,Fu=!1,Kl=0,mt=0,ha=0,Ka=0,Pu=0,Tn=0,xi=0,cs=null,dn=null,er=!1,sc=0,xf=0,cc=1/0,uc=null,va=null,Ot=0,pa=null,Si=null,Il=0,tr=0,nr=null,Sf=null,us=0,lr=null;function En(){return(qe&2)!==0&&Re!==0?Re&-Re:O.T!==null?rr():hl()}function jf(){if(Tn===0)if((Re&536870912)===0||ze){var e=_e;_e<<=1,(_e&3932160)===0&&(_e=262144),Tn=e}else Tn=536870912;return e=Sn.current,e!==null&&(e.flags|=32),Tn}function fn(e,t,n){(e===Ie&&(Ye===2||Ye===9)||e.cancelPendingCommit!==null)&&(ji(e,0),ya(e,Re,Tn,!1)),Zt(e,n),((qe&2)===0||e!==Ie)&&(e===Ie&&((qe&2)===0&&(Ka|=n),mt===4&&ya(e,Re,Tn,!1)),Tl(e))}function Nf(e,t,n){if((qe&6)!==0)throw Error(d(327));var l=!n&&(t&127)===0&&(t&e.expiredLanes)===0||nn(e,t),a=l?Jh(e,t):ir(e,t,!0),i=l;do{if(a===0){bi&&!l&&ya(e,t,0,!1);break}else{if(n=e.current.alternate,i&&!Kh(n)){a=ir(e,t,!1),i=!1;continue}if(a===2){if(i=t,e.errorRecoveryDisabledLanes&i)var c=0;else c=e.pendingLanes&-536870913,c=c!==0?c:c&536870912?536870912:0;if(c!==0){t=c;e:{var o=e;a=cs;var p=o.current.memoizedState.isDehydrated;if(p&&(ji(o,c).flags|=256),c=ir(o,c,!1),c!==2){if(Fu&&!p){o.errorRecoveryDisabledLanes|=i,Ka|=i,a=4;break e}i=dn,dn=a,i!==null&&(dn===null?dn=i:dn.push.apply(dn,i))}a=c}if(i=!1,a!==2)continue}}if(a===1){ji(e,0),ya(e,t,0,!0);break}e:{switch(l=e,i=a,i){case 0:case 1:throw Error(d(345));case 4:if((t&4194048)!==t)break;case 6:ya(l,t,Tn,!ma);break e;case 2:dn=null;break;case 3:case 5:break;default:throw Error(d(329))}if((t&62914560)===t&&(a=sc+300-wt(),10<a)){if(ya(l,t,Tn,!ma),Rl(l,0,!0)!==0)break e;Il=t,l.timeoutHandle=em(Tf.bind(null,l,n,dn,uc,er,t,Tn,Ka,xi,ma,i,"Throttled",-0,0),a);break e}Tf(l,n,dn,uc,er,t,Tn,Ka,xi,ma,i,null,-0,0)}}break}while(!0);Tl(e)}function Tf(e,t,n,l,a,i,c,o,p,N,_,w,E,R){if(e.timeoutHandle=-1,w=t.subtreeFlags,w&8192||(w&16785408)===16785408){w={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:xe},pf(t,i,w);var F=(i&62914560)===i?sc-wt():(i&4194048)===i?xf-wt():0;if(F=kv(w,F),F!==null){Il=i,e.cancelPendingCommit=F(kf.bind(null,e,t,i,n,l,a,c,o,p,_,w,null,E,R)),ya(e,i,c,!N);return}}kf(e,t,i,n,l,a,c,o,p)}function Kh(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var l=0;l<n.length;l++){var a=n[l],i=a.getSnapshot;a=a.value;try{if(!bn(i(),a))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function ya(e,t,n,l){t&=~Pu,t&=~Ka,e.suspendedLanes|=t,e.pingedLanes&=~t,l&&(e.warmLanes|=t),l=e.expirationTimes;for(var a=t;0<a;){var i=31-Rt(a),c=1<<i;l[i]=-1,a&=~c}n!==0&&fl(e,n,t)}function rc(){return(qe&6)===0?(rs(0),!1):!0}function ar(){if(Ee!==null){if(Ye===0)var e=Ee.return;else e=Ee,Ll=qa=null,xu(e),fi=null,Zi=0,e=Ee;for(;e!==null;)ef(e.alternate,e),e=e.return;Ee=null}}function ji(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,hv(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),Il=0,ar(),Ie=e,Ee=n=Ul(e.current,null),Re=t,Ye=0,Nn=null,ma=!1,bi=nn(e,t),Fu=!1,xi=Tn=Pu=Ka=ha=mt=0,dn=cs=null,er=!1,(t&8)!==0&&(t|=t&32);var l=e.entangledLanes;if(l!==0)for(e=e.entanglements,l&=t;0<l;){var a=31-Rt(l),i=1<<a;t|=e[a],l&=~i}return Kl=t,Os(),n}function Ef(e,t){he=null,O.H=Pi,t===di||t===Ls?(t=Go(),Ye=3):t===uu?(t=Go(),Ye=4):Ye=t===Uu?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Nn=t,Ee===null&&(mt=1,Fs(e,qn(t,e.current)))}function Cf(){var e=Sn.current;return e===null?!0:(Re&4194048)===Re?Xn===null:(Re&62914560)===Re||(Re&536870912)!==0?e===Xn:!1}function Af(){var e=O.H;return O.H=Pi,e===null?Pi:e}function Rf(){var e=O.A;return O.A=$h,e}function oc(){mt=4,ma||(Re&4194048)!==Re&&Sn.current!==null||(bi=!0),(ha&134217727)===0&&(Ka&134217727)===0||Ie===null||ya(Ie,Re,Tn,!1)}function ir(e,t,n){var l=qe;qe|=2;var a=Af(),i=Rf();(Ie!==e||Re!==t)&&(uc=null,ji(e,t)),t=!1;var c=mt;e:do try{if(Ye!==0&&Ee!==null){var o=Ee,p=Nn;switch(Ye){case 8:ar(),c=6;break e;case 3:case 2:case 9:case 6:Sn.current===null&&(t=!0);var N=Ye;if(Ye=0,Nn=null,Ni(e,o,p,N),n&&bi){c=0;break e}break;default:N=Ye,Ye=0,Nn=null,Ni(e,o,p,N)}}Ih(),c=mt;break}catch(_){Ef(e,_)}while(!0);return t&&e.shellSuspendCounter++,Ll=qa=null,qe=l,O.H=a,O.A=i,Ee===null&&(Ie=null,Re=0,Os()),c}function Ih(){for(;Ee!==null;)Df(Ee)}function Jh(e,t){var n=qe;qe|=2;var l=Af(),a=Rf();Ie!==e||Re!==t?(uc=null,cc=wt()+500,ji(e,t)):bi=nn(e,t);e:do try{if(Ye!==0&&Ee!==null){t=Ee;var i=Nn;t:switch(Ye){case 1:Ye=0,Nn=null,Ni(e,t,i,1);break;case 2:case 9:if(Lo(i)){Ye=0,Nn=null,Of(t);break}t=function(){Ye!==2&&Ye!==9||Ie!==e||(Ye=7),Tl(e)},i.then(t,t);break e;case 3:Ye=7;break e;case 4:Ye=5;break e;case 7:Lo(i)?(Ye=0,Nn=null,Of(t)):(Ye=0,Nn=null,Ni(e,t,i,7));break;case 5:var c=null;switch(Ee.tag){case 26:c=Ee.memoizedState;case 5:case 27:var o=Ee;if(c?vm(c):o.stateNode.complete){Ye=0,Nn=null;var p=o.sibling;if(p!==null)Ee=p;else{var N=o.return;N!==null?(Ee=N,dc(N)):Ee=null}break t}}Ye=0,Nn=null,Ni(e,t,i,5);break;case 6:Ye=0,Nn=null,Ni(e,t,i,6);break;case 8:ar(),mt=6;break e;default:throw Error(d(462))}}Wh();break}catch(_){Ef(e,_)}while(!0);return Ll=qa=null,O.H=l,O.A=a,qe=n,Ee!==null?0:(Ie=null,Re=0,Os(),mt)}function Wh(){for(;Ee!==null&&!Cl();)Df(Ee)}function Df(e){var t=Fd(e.alternate,e,Kl);e.memoizedProps=e.pendingProps,t===null?dc(e):Ee=t}function Of(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=$d(n,t,t.pendingProps,t.type,void 0,Re);break;case 11:t=$d(n,t,t.pendingProps,t.type.render,t.ref,Re);break;case 5:xu(t);default:ef(n,t),t=Ee=Ao(t,Kl),t=Fd(n,t,Kl)}e.memoizedProps=e.pendingProps,t===null?dc(e):Ee=t}function Ni(e,t,n,l){Ll=qa=null,xu(t),fi=null,Zi=0;var a=t.return;try{if(qh(e,a,t,n,Re)){mt=1,Fs(e,qn(n,e.current)),Ee=null;return}}catch(i){if(a!==null)throw Ee=a,i;mt=1,Fs(e,qn(n,e.current)),Ee=null;return}t.flags&32768?(ze||l===1?e=!0:bi||(Re&536870912)!==0?e=!1:(ma=e=!0,(l===2||l===9||l===3||l===6)&&(l=Sn.current,l!==null&&l.tag===13&&(l.flags|=16384))),zf(t,e)):dc(t)}function dc(e){var t=e;do{if((t.flags&32768)!==0){zf(t,ma);return}e=t.return;var n=Yh(t.alternate,t,Kl);if(n!==null){Ee=n;return}if(t=t.sibling,t!==null){Ee=t;return}Ee=t=e}while(t!==null);mt===0&&(mt=5)}function zf(e,t){do{var n=Xh(e.alternate,e);if(n!==null){n.flags&=32767,Ee=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){Ee=e;return}Ee=e=n}while(e!==null);mt=6,Ee=null}function kf(e,t,n,l,a,i,c,o,p){e.cancelPendingCommit=null;do fc();while(Ot!==0);if((qe&6)!==0)throw Error(d(327));if(t!==null){if(t===e.current)throw Error(d(177));if(i=t.lanes|t.childLanes,i|=Vc,Ca(e,n,i,c,o,p),e===Ie&&(Ee=Ie=null,Re=0),Si=t,pa=e,Il=n,tr=i,nr=a,Sf=l,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,tv(Al,function(){return Hf(),null})):(e.callbackNode=null,e.callbackPriority=0),l=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||l){l=O.T,O.T=null,a=$.p,$.p=2,c=qe,qe|=4;try{Qh(e,t,n)}finally{qe=c,$.p=a,O.T=l}}Ot=1,_f(),Mf(),wf()}}function _f(){if(Ot===1){Ot=0;var e=pa,t=Si,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=O.T,O.T=null;var l=$.p;$.p=2;var a=qe;qe|=4;try{mf(t,e);var i=yr,c=go(e.containerInfo),o=i.focusedElem,p=i.selectionRange;if(c!==o&&o&&o.ownerDocument&&yo(o.ownerDocument.documentElement,o)){if(p!==null&&Yc(o)){var N=p.start,_=p.end;if(_===void 0&&(_=N),"selectionStart"in o)o.selectionStart=N,o.selectionEnd=Math.min(_,o.value.length);else{var w=o.ownerDocument||document,E=w&&w.defaultView||window;if(E.getSelection){var R=E.getSelection(),F=o.textContent.length,ie=Math.min(p.start,F),$e=p.end===void 0?ie:Math.min(p.end,F);!R.extend&&ie>$e&&(c=$e,$e=ie,ie=c);var S=po(o,ie),y=po(o,$e);if(S&&y&&(R.rangeCount!==1||R.anchorNode!==S.node||R.anchorOffset!==S.offset||R.focusNode!==y.node||R.focusOffset!==y.offset)){var j=w.createRange();j.setStart(S.node,S.offset),R.removeAllRanges(),ie>$e?(R.addRange(j),R.extend(y.node,y.offset)):(j.setEnd(y.node,y.offset),R.addRange(j))}}}}for(w=[],R=o;R=R.parentNode;)R.nodeType===1&&w.push({element:R,left:R.scrollLeft,top:R.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o<w.length;o++){var M=w[o];M.element.scrollLeft=M.left,M.element.scrollTop=M.top}}Tc=!!pr,yr=pr=null}finally{qe=a,$.p=l,O.T=n}}e.current=t,Ot=2}}function Mf(){if(Ot===2){Ot=0;var e=pa,t=Si,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=O.T,O.T=null;var l=$.p;$.p=2;var a=qe;qe|=4;try{uf(e,t.alternate,t)}finally{qe=a,$.p=l,O.T=n}}Ot=3}}function wf(){if(Ot===4||Ot===3){Ot=0,Cn();var e=pa,t=Si,n=Il,l=Sf;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Ot=5:(Ot=0,Si=pa=null,Uf(e,e.pendingLanes));var a=e.pendingLanes;if(a===0&&(va=null),ml(n),t=t.stateNode,q&&typeof q.onCommitFiberRoot=="function")try{q.onCommitFiberRoot(hn,t,void 0,(t.current.flags&128)===128)}catch{}if(l!==null){t=O.T,a=$.p,$.p=2,O.T=null;try{for(var i=e.onRecoverableError,c=0;c<l.length;c++){var o=l[c];i(o.value,{componentStack:o.stack})}}finally{O.T=t,$.p=a}}(Il&3)!==0&&fc(),Tl(e),a=e.pendingLanes,(n&261930)!==0&&(a&42)!==0?e===lr?us++:(us=0,lr=e):us=0,rs(0)}}function Uf(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Xi(t)))}function fc(){return _f(),Mf(),wf(),Hf()}function Hf(){if(Ot!==5)return!1;var e=pa,t=tr;tr=0;var n=ml(Il),l=O.T,a=$.p;try{$.p=32>n?32:n,O.T=null,n=nr,nr=null;var i=pa,c=Il;if(Ot=0,Si=pa=null,Il=0,(qe&6)!==0)throw Error(d(331));var o=qe;if(qe|=4,gf(i.current),vf(i,i.current,c,n),qe=o,rs(0,!1),q&&typeof q.onPostCommitFiberRoot=="function")try{q.onPostCommitFiberRoot(hn,i)}catch{}return!0}finally{$.p=a,O.T=l,Uf(e,t)}}function Lf(e,t,n){t=qn(n,t),t=wu(e.stateNode,t,2),e=ra(e,t,2),e!==null&&(Zt(e,2),Tl(e))}function Xe(e,t,n){if(e.tag===3)Lf(e,e,n);else for(;t!==null;){if(t.tag===3){Lf(t,e,n);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(va===null||!va.has(l))){e=qn(n,e),n=Ld(2),l=ra(t,n,2),l!==null&&(qd(n,l,t,e),Zt(l,2),Tl(l));break}}t=t.return}}function sr(e,t,n){var l=e.pingCache;if(l===null){l=e.pingCache=new Vh;var a=new Set;l.set(t,a)}else a=l.get(t),a===void 0&&(a=new Set,l.set(t,a));a.has(n)||(Fu=!0,a.add(n),e=Fh.bind(null,e,t,n),t.then(e,e))}function Fh(e,t,n){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Ie===e&&(Re&n)===n&&(mt===4||mt===3&&(Re&62914560)===Re&&300>wt()-sc?(qe&2)===0&&ji(e,0):Pu|=n,xi===Re&&(xi=0)),Tl(e)}function qf(e,t){t===0&&(t=yn()),e=Ua(e,t),e!==null&&(Zt(e,t),Tl(e))}function Ph(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qf(e,n)}function ev(e,t){var n=0;switch(e.tag){case 31:case 13:var l=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(d(314))}l!==null&&l.delete(t),qf(e,n)}function tv(e,t){return In(e,t)}var mc=null,Ti=null,cr=!1,hc=!1,ur=!1,ga=0;function Tl(e){e!==Ti&&e.next===null&&(Ti===null?mc=Ti=e:Ti=Ti.next=e),hc=!0,cr||(cr=!0,lv())}function rs(e,t){if(!ur&&hc){ur=!0;do for(var n=!1,l=mc;l!==null;){if(e!==0){var a=l.pendingLanes;if(a===0)var i=0;else{var c=l.suspendedLanes,o=l.pingedLanes;i=(1<<31-Rt(42|e)+1)-1,i&=a&~(c&~o),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,Xf(l,i))}else i=Re,i=Rl(l,l===Ie?i:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(i&3)===0||nn(l,i)||(n=!0,Xf(l,i));l=l.next}while(n);ur=!1}}function nv(){Gf()}function Gf(){hc=cr=!1;var e=0;ga!==0&&mv()&&(e=ga);for(var t=wt(),n=null,l=mc;l!==null;){var a=l.next,i=Bf(l,t);i===0?(l.next=null,n===null?mc=a:n.next=a,a===null&&(Ti=n)):(n=l,(e!==0||(i&3)!==0)&&(hc=!0)),l=a}Ot!==0&&Ot!==5||rs(e),ga!==0&&(ga=0)}function Bf(e,t){for(var n=e.suspendedLanes,l=e.pingedLanes,a=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var c=31-Rt(i),o=1<<c,p=a[c];p===-1?((o&n)===0||(o&l)!==0)&&(a[c]=Pn(o,t)):p<=t&&(e.expiredLanes|=o),i&=~o}if(t=Ie,n=Re,n=Rl(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l=e.callbackNode,n===0||e===t&&(Ye===2||Ye===9)||e.cancelPendingCommit!==null)return l!==null&&l!==null&&Jn(l),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||nn(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(l!==null&&Jn(l),ml(n)){case 2:case 8:n=mn;break;case 32:n=Al;break;case 268435456:n=tn;break;default:n=Al}return l=Yf.bind(null,e),n=In(n,l),e.callbackPriority=t,e.callbackNode=n,t}return l!==null&&l!==null&&Jn(l),e.callbackPriority=2,e.callbackNode=null,2}function Yf(e,t){if(Ot!==0&&Ot!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(fc()&&e.callbackNode!==n)return null;var l=Re;return l=Rl(e,e===Ie?l:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l===0?null:(Nf(e,l,t),Bf(e,wt()),e.callbackNode!=null&&e.callbackNode===n?Yf.bind(null,e):null)}function Xf(e,t){if(fc())return null;Nf(e,t,!0)}function lv(){vv(function(){(qe&6)!==0?In(Pl,nv):Gf()})}function rr(){if(ga===0){var e=ri;e===0&&(e=Wt,Wt<<=1,(Wt&261888)===0&&(Wt=256)),ga=e}return ga}function Qf(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:at(""+e)}function Zf(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function av(e,t,n,l,a){if(t==="submit"&&n&&n.stateNode===a){var i=Qf((a[We]||null).action),c=l.submitter;c&&(t=(t=c[We]||null)?Qf(t.formAction):c.getAttribute("formAction"),t!==null&&(i=t,c=null));var o=new kl("action","action",null,l,a);e.push({event:o,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(ga!==0){var p=c?Zf(a,c):new FormData(a);Du(n,{pending:!0,data:p,method:a.method,action:i},null,p)}}else typeof i=="function"&&(o.preventDefault(),p=c?Zf(a,c):new FormData(a),Du(n,{pending:!0,data:p,method:a.method,action:i},i,p))},currentTarget:a}]})}}for(var or=0;or<$c.length;or++){var dr=$c[or],iv=dr.toLowerCase(),sv=dr[0].toUpperCase()+dr.slice(1);cl(iv,"on"+sv)}cl(So,"onAnimationEnd"),cl(jo,"onAnimationIteration"),cl(No,"onAnimationStart"),cl("dblclick","onDoubleClick"),cl("focusin","onFocus"),cl("focusout","onBlur"),cl(jh,"onTransitionRun"),cl(Nh,"onTransitionStart"),cl(Th,"onTransitionCancel"),cl(To,"onTransitionEnd"),Mn("onMouseEnter",["mouseout","mouseover"]),Mn("onMouseLeave",["mouseout","mouseover"]),Mn("onPointerEnter",["pointerout","pointerover"]),Mn("onPointerLeave",["pointerout","pointerover"]),_n("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),_n("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),_n("onBeforeInput",["compositionend","keypress","textInput","paste"]),_n("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),_n("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),_n("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var os="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),cv=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(os));function $f(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var l=e[n],a=l.event;l=l.listeners;e:{var i=void 0;if(t)for(var c=l.length-1;0<=c;c--){var o=l[c],p=o.instance,N=o.currentTarget;if(o=o.listener,p!==i&&a.isPropagationStopped())break e;i=o,a.currentTarget=N;try{i(a)}catch(_){Ds(_)}a.currentTarget=null,i=p}else for(c=0;c<l.length;c++){if(o=l[c],p=o.instance,N=o.currentTarget,o=o.listener,p!==i&&a.isPropagationStopped())break e;i=o,a.currentTarget=N;try{i(a)}catch(_){Ds(_)}a.currentTarget=null,i=p}}}}function Ce(e,t){var n=t[Ft];n===void 0&&(n=t[Ft]=new Set);var l=e+"__bubble";n.has(l)||(Vf(t,e,2,!1),n.add(l))}function fr(e,t,n){var l=0;t&&(l|=4),Vf(n,e,l,t)}var vc="_reactListening"+Math.random().toString(36).slice(2);function mr(e){if(!e[vc]){e[vc]=!0,nl.forEach(function(n){n!=="selectionchange"&&(cv.has(n)||fr(n,!1,e),fr(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[vc]||(t[vc]=!0,fr("selectionchange",!1,t))}}function Vf(e,t,n,l){switch(jm(t)){case 2:var a=wv;break;case 8:a=Uv;break;default:a=Rr}n=a.bind(null,t,n,e),a=void 0,!Dt||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(a=!0),l?a!==void 0?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):a!==void 0?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function hr(e,t,n,l,a){var i=l;if((t&1)===0&&(t&2)===0&&l!==null)e:for(;;){if(l===null)return;var c=l.tag;if(c===3||c===4){var o=l.stateNode.containerInfo;if(o===a)break;if(c===4)for(c=l.return;c!==null;){var p=c.tag;if((p===3||p===4)&&c.stateNode.containerInfo===a)return;c=c.return}for(;o!==null;){if(c=ot(o),c===null)return;if(p=c.tag,p===5||p===6||p===26||p===27){l=i=c;continue e}o=o.parentNode}}l=l.return}zi(function(){var N=i,_=Vt(n),w=[];e:{var E=Eo.get(e);if(E!==void 0){var R=kl,F=e;switch(e){case"keypress":if(Da(n)===0)break e;case"keydown":case"keyup":R=fe;break;case"focusin":F="focus",R=sl;break;case"focusout":F="blur",R=sl;break;case"beforeblur":case"afterblur":R=sl;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":R=Mi;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":R=Ts;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":R=wi;break;case So:case jo:case No:R=Cs;break;case To:R=ih;break;case"scroll":case"scrollend":R=bl;break;case"wheel":R=ch;break;case"copy":case"cut":case"paste":R=As;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":R=wl;break;case"toggle":case"beforetoggle":R=rh}var ie=(t&4)!==0,$e=!ie&&(e==="scroll"||e==="scrollend"),S=ie?E!==null?E+"Capture":null:E;ie=[];for(var y=N,j;y!==null;){var M=y;if(j=M.stateNode,M=M.tag,M!==5&&M!==26&&M!==27||j===null||S===null||(M=re(y,S),M!=null&&ie.push(ds(y,M,j))),$e)break;y=y.return}0<ie.length&&(E=new R(E,F,null,n,_),w.push({event:E,listeners:ie}))}}if((t&7)===0){e:{if(E=e==="mouseover"||e==="pointerover",R=e==="mouseout"||e==="pointerout",E&&n!==dt&&(F=n.relatedTarget||n.fromElement)&&(ot(F)||F[Dn]))break e;if((R||E)&&(E=_.window===_?_:(E=_.ownerDocument)?E.defaultView||E.parentWindow:window,R?(F=n.relatedTarget||n.toElement,R=N,F=F?ot(F):null,F!==null&&($e=C(F),ie=F.tag,F!==$e||ie!==5&&ie!==27&&ie!==6)&&(F=null)):(R=null,F=N),R!==F)){if(ie=Mi,M="onMouseLeave",S="onMouseEnter",y="mouse",(e==="pointerout"||e==="pointerover")&&(ie=wl,M="onPointerLeave",S="onPointerEnter",y="pointer"),$e=R==null?E:St(R),j=F==null?E:St(F),E=new ie(M,y+"leave",R,n,_),E.target=$e,E.relatedTarget=j,M=null,ot(_)===N&&(ie=new ie(S,y+"enter",F,n,_),ie.target=j,ie.relatedTarget=$e,M=ie),$e=M,R&&F)t:{for(ie=uv,S=R,y=F,j=0,M=S;M;M=ie(M))j++;M=0;for(var ne=y;ne;ne=ie(ne))M++;for(;0<j-M;)S=ie(S),j--;for(;0<M-j;)y=ie(y),M--;for(;j--;){if(S===y||y!==null&&S===y.alternate){ie=S;break t}S=ie(S),y=ie(y)}ie=null}else ie=null;R!==null&&Kf(w,E,R,ie,!1),F!==null&&$e!==null&&Kf(w,$e,F,ie,!0)}}e:{if(E=N?St(N):window,R=E.nodeName&&E.nodeName.toLowerCase(),R==="select"||R==="input"&&E.type==="file")var Me=ro;else if(co(E))if(oo)Me=bh;else{Me=yh;var P=ph}else R=E.nodeName,!R||R.toLowerCase()!=="input"||E.type!=="checkbox"&&E.type!=="radio"?N&&ct(N.elementType)&&(Me=ro):Me=gh;if(Me&&(Me=Me(e,N))){uo(w,Me,n,_);break e}P&&P(e,E,N),e==="focusout"&&N&&E.type==="number"&&N.memoizedProps.value!=null&&$t(E,"number",E.value)}switch(P=N?St(N):window,e){case"focusin":(co(P)||P.contentEditable==="true")&&(ti=P,Xc=N,Gi=null);break;case"focusout":Gi=Xc=ti=null;break;case"mousedown":Qc=!0;break;case"contextmenu":case"mouseup":case"dragend":Qc=!1,bo(w,n,_);break;case"selectionchange":if(Sh)break;case"keydown":case"keyup":bo(w,n,_)}var ye;if(qc)e:{switch(e){case"compositionstart":var De="onCompositionStart";break e;case"compositionend":De="onCompositionEnd";break e;case"compositionupdate":De="onCompositionUpdate";break e}De=void 0}else ei?io(e,n)&&(De="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(De="onCompositionStart");De&&(no&&n.locale!=="ko"&&(ei||De!=="onCompositionStart"?De==="onCompositionEnd"&&ei&&(ye=_i()):(yl=_,ki="value"in yl?yl.value:yl.textContent,ei=!0)),P=pc(N,De),0<P.length&&(De=new z(De,e,null,n,_),w.push({event:De,listeners:P}),ye?De.data=ye:(ye=so(n),ye!==null&&(De.data=ye)))),(ye=dh?fh(e,n):mh(e,n))&&(De=pc(N,"onBeforeInput"),0<De.length&&(P=new z("onBeforeInput","beforeinput",null,n,_),w.push({event:P,listeners:De}),P.data=ye)),av(w,e,N,n,_)}$f(w,t)})}function ds(e,t,n){return{instance:e,listener:t,currentTarget:n}}function pc(e,t){for(var n=t+"Capture",l=[];e!==null;){var a=e,i=a.stateNode;if(a=a.tag,a!==5&&a!==26&&a!==27||i===null||(a=re(e,n),a!=null&&l.unshift(ds(e,a,i)),a=re(e,t),a!=null&&l.push(ds(e,a,i))),e.tag===3)return l;e=e.return}return[]}function uv(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Kf(e,t,n,l,a){for(var i=t._reactName,c=[];n!==null&&n!==l;){var o=n,p=o.alternate,N=o.stateNode;if(o=o.tag,p!==null&&p===l)break;o!==5&&o!==26&&o!==27||N===null||(p=N,a?(N=re(n,i),N!=null&&c.unshift(ds(n,N,p))):a||(N=re(n,i),N!=null&&c.push(ds(n,N,p)))),n=n.return}c.length!==0&&e.push({event:t,listeners:c})}var rv=/\r\n?/g,ov=/\u0000|\uFFFD/g;function If(e){return(typeof e=="string"?e:""+e).replace(rv,`
|
|
9
|
-
`).replace(ov,"")}function Jf(e,t){return t=If(t),If(e)===t}function Ze(e,t,n,l,a,i){switch(n){case"children":typeof l=="string"?t==="body"||t==="textarea"&&l===""||U(e,l):(typeof l=="number"||typeof l=="bigint")&&t!=="body"&&U(e,""+l);break;case"className":Un(e,"class",l);break;case"tabIndex":Un(e,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":Un(e,n,l);break;case"style":Be(e,l,i);break;case"data":if(t!=="object"){Un(e,"data",l);break}case"src":case"href":if(l===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(n);break}l=at(""+l),e.setAttribute(n,l);break;case"action":case"formAction":if(typeof l=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(n==="formAction"?(t!=="input"&&Ze(e,t,"name",a.name,a,null),Ze(e,t,"formEncType",a.formEncType,a,null),Ze(e,t,"formMethod",a.formMethod,a,null),Ze(e,t,"formTarget",a.formTarget,a,null)):(Ze(e,t,"encType",a.encType,a,null),Ze(e,t,"method",a.method,a,null),Ze(e,t,"target",a.target,a,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(n);break}l=at(""+l),e.setAttribute(n,l);break;case"onClick":l!=null&&(e.onclick=xe);break;case"onScroll":l!=null&&Ce("scroll",e);break;case"onScrollEnd":l!=null&&Ce("scrollend",e);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(d(61));if(n=l.__html,n!=null){if(a.children!=null)throw Error(d(60));e.innerHTML=n}}break;case"multiple":e.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":e.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){e.removeAttribute("xlink:href");break}n=at(""+l),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(n,""+l):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":l&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":l===!0?e.setAttribute(n,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(n,l):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?e.setAttribute(n,l):e.removeAttribute(n);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?e.removeAttribute(n):e.setAttribute(n,l);break;case"popover":Ce("beforetoggle",e),Ce("toggle",e),kt(e,"popover",l);break;case"xlinkActuate":jt(e,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":jt(e,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":jt(e,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":jt(e,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":jt(e,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":jt(e,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":jt(e,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":jt(e,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":jt(e,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":kt(e,"is",l);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=W.get(n)||n,kt(e,n,l))}}function vr(e,t,n,l,a,i){switch(n){case"style":Be(e,l,i);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(d(61));if(n=l.__html,n!=null){if(a.children!=null)throw Error(d(60));e.innerHTML=n}}break;case"children":typeof l=="string"?U(e,l):(typeof l=="number"||typeof l=="bigint")&&U(e,""+l);break;case"onScroll":l!=null&&Ce("scroll",e);break;case"onScrollEnd":l!=null&&Ce("scrollend",e);break;case"onClick":l!=null&&(e.onclick=xe);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!kn.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(a=n.endsWith("Capture"),t=n.slice(2,a?n.length-7:void 0),i=e[We]||null,i=i!=null?i[n]:null,typeof i=="function"&&e.removeEventListener(t,i,a),typeof l=="function")){typeof i!="function"&&i!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,l,a);break e}n in e?e[n]=l:l===!0?e.setAttribute(n,""):kt(e,n,l)}}}function Gt(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ce("error",e),Ce("load",e);var l=!1,a=!1,i;for(i in n)if(n.hasOwnProperty(i)){var c=n[i];if(c!=null)switch(i){case"src":l=!0;break;case"srcSet":a=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(d(137,t));default:Ze(e,t,i,c,n,null)}}a&&Ze(e,t,"srcSet",n.srcSet,n,null),l&&Ze(e,t,"src",n.src,n,null);return;case"input":Ce("invalid",e);var o=i=c=a=null,p=null,N=null;for(l in n)if(n.hasOwnProperty(l)){var _=n[l];if(_!=null)switch(l){case"name":a=_;break;case"type":c=_;break;case"checked":p=_;break;case"defaultChecked":N=_;break;case"value":i=_;break;case"defaultValue":o=_;break;case"children":case"dangerouslySetInnerHTML":if(_!=null)throw Error(d(137,t));break;default:Ze(e,t,l,_,n,null)}}Ra(e,i,o,p,N,c,a,!1);return;case"select":Ce("invalid",e),l=c=i=null;for(a in n)if(n.hasOwnProperty(a)&&(o=n[a],o!=null))switch(a){case"value":i=o;break;case"defaultValue":c=o;break;case"multiple":l=o;default:Ze(e,t,a,o,n,null)}t=i,n=c,e.multiple=!!l,t!=null?f(e,!!l,t,!1):n!=null&&f(e,!!l,n,!0);return;case"textarea":Ce("invalid",e),i=a=l=null;for(c in n)if(n.hasOwnProperty(c)&&(o=n[c],o!=null))switch(c){case"value":l=o;break;case"defaultValue":a=o;break;case"children":i=o;break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(d(91));break;default:Ze(e,t,c,o,n,null)}A(e,l,a,i);return;case"option":for(p in n)n.hasOwnProperty(p)&&(l=n[p],l!=null)&&(p==="selected"?e.selected=l&&typeof l!="function"&&typeof l!="symbol":Ze(e,t,p,l,n,null));return;case"dialog":Ce("beforetoggle",e),Ce("toggle",e),Ce("cancel",e),Ce("close",e);break;case"iframe":case"object":Ce("load",e);break;case"video":case"audio":for(l=0;l<os.length;l++)Ce(os[l],e);break;case"image":Ce("error",e),Ce("load",e);break;case"details":Ce("toggle",e);break;case"embed":case"source":case"link":Ce("error",e),Ce("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(N in n)if(n.hasOwnProperty(N)&&(l=n[N],l!=null))switch(N){case"children":case"dangerouslySetInnerHTML":throw Error(d(137,t));default:Ze(e,t,N,l,n,null)}return;default:if(ct(t)){for(_ in n)n.hasOwnProperty(_)&&(l=n[_],l!==void 0&&vr(e,t,_,l,n,void 0));return}}for(o in n)n.hasOwnProperty(o)&&(l=n[o],l!=null&&Ze(e,t,o,l,n,null))}function dv(e,t,n,l){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var a=null,i=null,c=null,o=null,p=null,N=null,_=null;for(R in n){var w=n[R];if(n.hasOwnProperty(R)&&w!=null)switch(R){case"checked":break;case"value":break;case"defaultValue":p=w;default:l.hasOwnProperty(R)||Ze(e,t,R,null,l,w)}}for(var E in l){var R=l[E];if(w=n[E],l.hasOwnProperty(E)&&(R!=null||w!=null))switch(E){case"type":i=R;break;case"name":a=R;break;case"checked":N=R;break;case"defaultChecked":_=R;break;case"value":c=R;break;case"defaultValue":o=R;break;case"children":case"dangerouslySetInnerHTML":if(R!=null)throw Error(d(137,t));break;default:R!==w&&Ze(e,t,E,R,l,w)}}pl(e,c,o,p,N,_,i,a);return;case"select":R=c=o=E=null;for(i in n)if(p=n[i],n.hasOwnProperty(i)&&p!=null)switch(i){case"value":break;case"multiple":R=p;default:l.hasOwnProperty(i)||Ze(e,t,i,null,l,p)}for(a in l)if(i=l[a],p=n[a],l.hasOwnProperty(a)&&(i!=null||p!=null))switch(a){case"value":E=i;break;case"defaultValue":o=i;break;case"multiple":c=i;default:i!==p&&Ze(e,t,a,i,l,p)}t=o,n=c,l=R,E!=null?f(e,!!n,E,!1):!!l!=!!n&&(t!=null?f(e,!!n,t,!0):f(e,!!n,n?[]:"",!1));return;case"textarea":R=E=null;for(o in n)if(a=n[o],n.hasOwnProperty(o)&&a!=null&&!l.hasOwnProperty(o))switch(o){case"value":break;case"children":break;default:Ze(e,t,o,null,l,a)}for(c in l)if(a=l[c],i=n[c],l.hasOwnProperty(c)&&(a!=null||i!=null))switch(c){case"value":E=a;break;case"defaultValue":R=a;break;case"children":break;case"dangerouslySetInnerHTML":if(a!=null)throw Error(d(91));break;default:a!==i&&Ze(e,t,c,a,l,i)}x(e,E,R);return;case"option":for(var F in n)E=n[F],n.hasOwnProperty(F)&&E!=null&&!l.hasOwnProperty(F)&&(F==="selected"?e.selected=!1:Ze(e,t,F,null,l,E));for(p in l)E=l[p],R=n[p],l.hasOwnProperty(p)&&E!==R&&(E!=null||R!=null)&&(p==="selected"?e.selected=E&&typeof E!="function"&&typeof E!="symbol":Ze(e,t,p,E,l,R));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var ie in n)E=n[ie],n.hasOwnProperty(ie)&&E!=null&&!l.hasOwnProperty(ie)&&Ze(e,t,ie,null,l,E);for(N in l)if(E=l[N],R=n[N],l.hasOwnProperty(N)&&E!==R&&(E!=null||R!=null))switch(N){case"children":case"dangerouslySetInnerHTML":if(E!=null)throw Error(d(137,t));break;default:Ze(e,t,N,E,l,R)}return;default:if(ct(t)){for(var $e in n)E=n[$e],n.hasOwnProperty($e)&&E!==void 0&&!l.hasOwnProperty($e)&&vr(e,t,$e,void 0,l,E);for(_ in l)E=l[_],R=n[_],!l.hasOwnProperty(_)||E===R||E===void 0&&R===void 0||vr(e,t,_,E,l,R);return}}for(var S in n)E=n[S],n.hasOwnProperty(S)&&E!=null&&!l.hasOwnProperty(S)&&Ze(e,t,S,null,l,E);for(w in l)E=l[w],R=n[w],!l.hasOwnProperty(w)||E===R||E==null&&R==null||Ze(e,t,w,E,l,R)}function Wf(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function fv(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),l=0;l<n.length;l++){var a=n[l],i=a.transferSize,c=a.initiatorType,o=a.duration;if(i&&o&&Wf(c)){for(c=0,o=a.responseEnd,l+=1;l<n.length;l++){var p=n[l],N=p.startTime;if(N>o)break;var _=p.transferSize,w=p.initiatorType;_&&Wf(w)&&(p=p.responseEnd,c+=_*(p<o?1:(o-N)/(p-N)))}if(--l,t+=8*(i+c)/(a.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var pr=null,yr=null;function yc(e){return e.nodeType===9?e:e.ownerDocument}function Ff(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Pf(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function gr(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var br=null;function mv(){var e=window.event;return e&&e.type==="popstate"?e===br?!1:(br=e,!0):(br=null,!1)}var em=typeof setTimeout=="function"?setTimeout:void 0,hv=typeof clearTimeout=="function"?clearTimeout:void 0,tm=typeof Promise=="function"?Promise:void 0,vv=typeof queueMicrotask=="function"?queueMicrotask:typeof tm<"u"?function(e){return tm.resolve(null).then(e).catch(pv)}:em;function pv(e){setTimeout(function(){throw e})}function ba(e){return e==="head"}function nm(e,t){var n=t,l=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&a.nodeType===8)if(n=a.data,n==="/$"||n==="/&"){if(l===0){e.removeChild(a),Ri(t);return}l--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")l++;else if(n==="html")fs(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,fs(n);for(var i=n.firstChild;i;){var c=i.nextSibling,o=i.nodeName;i[lt]||o==="SCRIPT"||o==="STYLE"||o==="LINK"&&i.rel.toLowerCase()==="stylesheet"||n.removeChild(i),i=c}}else n==="body"&&fs(e.ownerDocument.body);n=a}while(n);Ri(t)}function lm(e,t){var n=e;e=0;do{var l=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),l&&l.nodeType===8)if(n=l.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=l}while(n)}function xr(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":xr(n),zn(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function yv(e,t,n,l){for(;e.nodeType===1;){var a=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!l&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(l){if(!e[lt])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==a.rel||e.getAttribute("href")!==(a.href==null||a.href===""?null:a.href)||e.getAttribute("crossorigin")!==(a.crossOrigin==null?null:a.crossOrigin)||e.getAttribute("title")!==(a.title==null?null:a.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(a.src==null?null:a.src)||e.getAttribute("type")!==(a.type==null?null:a.type)||e.getAttribute("crossorigin")!==(a.crossOrigin==null?null:a.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=a.name==null?null:""+a.name;if(a.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Qn(e.nextSibling),e===null)break}return null}function gv(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qn(e.nextSibling),e===null))return null;return e}function am(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Qn(e.nextSibling),e===null))return null;return e}function Sr(e){return e.data==="$?"||e.data==="$~"}function jr(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function bv(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var l=function(){t(),n.removeEventListener("DOMContentLoaded",l)};n.addEventListener("DOMContentLoaded",l),e._reactRetry=l}}function Qn(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var Nr=null;function im(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Qn(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function sm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function cm(e,t,n){switch(t=yc(n),e){case"html":if(e=t.documentElement,!e)throw Error(d(452));return e;case"head":if(e=t.head,!e)throw Error(d(453));return e;case"body":if(e=t.body,!e)throw Error(d(454));return e;default:throw Error(d(451))}}function fs(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);zn(e)}var Zn=new Map,um=new Set;function gc(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Jl=$.d;$.d={f:xv,r:Sv,D:jv,C:Nv,L:Tv,m:Ev,X:Av,S:Cv,M:Rv};function xv(){var e=Jl.f(),t=rc();return e||t}function Sv(e){var t=an(e);t!==null&&t.tag===5&&t.type==="form"?Td(t):Jl.r(e)}var Ei=typeof document>"u"?null:document;function rm(e,t,n){var l=Ei;if(l&&typeof t=="string"&&t){var a=Ut(t);a='link[rel="'+e+'"][href="'+a+'"]',typeof n=="string"&&(a+='[crossorigin="'+n+'"]'),um.has(a)||(um.add(a),e={rel:e,crossOrigin:n,href:t},l.querySelector(a)===null&&(t=l.createElement("link"),Gt(t,"link",e),ke(t),l.head.appendChild(t)))}}function jv(e){Jl.D(e),rm("dns-prefetch",e,null)}function Nv(e,t){Jl.C(e,t),rm("preconnect",e,t)}function Tv(e,t,n){Jl.L(e,t,n);var l=Ei;if(l&&e&&t){var a='link[rel="preload"][as="'+Ut(t)+'"]';t==="image"&&n&&n.imageSrcSet?(a+='[imagesrcset="'+Ut(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(a+='[imagesizes="'+Ut(n.imageSizes)+'"]')):a+='[href="'+Ut(e)+'"]';var i=a;switch(t){case"style":i=Ci(e);break;case"script":i=Ai(e)}Zn.has(i)||(e=Q({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Zn.set(i,e),l.querySelector(a)!==null||t==="style"&&l.querySelector(ms(i))||t==="script"&&l.querySelector(hs(i))||(t=l.createElement("link"),Gt(t,"link",e),ke(t),l.head.appendChild(t)))}}function Ev(e,t){Jl.m(e,t);var n=Ei;if(n&&e){var l=t&&typeof t.as=="string"?t.as:"script",a='link[rel="modulepreload"][as="'+Ut(l)+'"][href="'+Ut(e)+'"]',i=a;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=Ai(e)}if(!Zn.has(i)&&(e=Q({rel:"modulepreload",href:e},t),Zn.set(i,e),n.querySelector(a)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(hs(i)))return}l=n.createElement("link"),Gt(l,"link",e),ke(l),n.head.appendChild(l)}}}function Cv(e,t,n){Jl.S(e,t,n);var l=Ei;if(l&&e){var a=sn(l).hoistableStyles,i=Ci(e);t=t||"default";var c=a.get(i);if(!c){var o={loading:0,preload:null};if(c=l.querySelector(ms(i)))o.loading=5;else{e=Q({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Zn.get(i))&&Tr(e,n);var p=c=l.createElement("link");ke(p),Gt(p,"link",e),p._p=new Promise(function(N,_){p.onload=N,p.onerror=_}),p.addEventListener("load",function(){o.loading|=1}),p.addEventListener("error",function(){o.loading|=2}),o.loading|=4,bc(c,t,l)}c={type:"stylesheet",instance:c,count:1,state:o},a.set(i,c)}}}function Av(e,t){Jl.X(e,t);var n=Ei;if(n&&e){var l=sn(n).hoistableScripts,a=Ai(e),i=l.get(a);i||(i=n.querySelector(hs(a)),i||(e=Q({src:e,async:!0},t),(t=Zn.get(a))&&Er(e,t),i=n.createElement("script"),ke(i),Gt(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},l.set(a,i))}}function Rv(e,t){Jl.M(e,t);var n=Ei;if(n&&e){var l=sn(n).hoistableScripts,a=Ai(e),i=l.get(a);i||(i=n.querySelector(hs(a)),i||(e=Q({src:e,async:!0,type:"module"},t),(t=Zn.get(a))&&Er(e,t),i=n.createElement("script"),ke(i),Gt(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},l.set(a,i))}}function om(e,t,n,l){var a=(a=ve.current)?gc(a):null;if(!a)throw Error(d(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Ci(n.href),n=sn(a).hoistableStyles,l=n.get(t),l||(l={type:"style",instance:null,count:0,state:null},n.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Ci(n.href);var i=sn(a).hoistableStyles,c=i.get(e);if(c||(a=a.ownerDocument||a,c={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,c),(i=a.querySelector(ms(e)))&&!i._p&&(c.instance=i,c.state.loading=5),Zn.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Zn.set(e,n),i||Dv(a,e,n,c.state))),t&&l===null)throw Error(d(528,""));return c}if(t&&l!==null)throw Error(d(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Ai(n),n=sn(a).hoistableScripts,l=n.get(t),l||(l={type:"script",instance:null,count:0,state:null},n.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(d(444,e))}}function Ci(e){return'href="'+Ut(e)+'"'}function ms(e){return'link[rel="stylesheet"]['+e+"]"}function dm(e){return Q({},e,{"data-precedence":e.precedence,precedence:null})}function Dv(e,t,n,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),Gt(t,"link",n),ke(t),e.head.appendChild(t))}function Ai(e){return'[src="'+Ut(e)+'"]'}function hs(e){return"script[async]"+e}function fm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+Ut(n.href)+'"]');if(l)return t.instance=l,ke(l),l;var a=Q({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),ke(l),Gt(l,"style",a),bc(l,n.precedence,e),t.instance=l;case"stylesheet":a=Ci(n.href);var i=e.querySelector(ms(a));if(i)return t.state.loading|=4,t.instance=i,ke(i),i;l=dm(n),(a=Zn.get(a))&&Tr(l,a),i=(e.ownerDocument||e).createElement("link"),ke(i);var c=i;return c._p=new Promise(function(o,p){c.onload=o,c.onerror=p}),Gt(i,"link",l),t.state.loading|=4,bc(i,n.precedence,e),t.instance=i;case"script":return i=Ai(n.src),(a=e.querySelector(hs(i)))?(t.instance=a,ke(a),a):(l=n,(a=Zn.get(i))&&(l=Q({},n),Er(l,a)),e=e.ownerDocument||e,a=e.createElement("script"),ke(a),Gt(a,"link",l),e.head.appendChild(a),t.instance=a);case"void":return null;default:throw Error(d(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,bc(l,n.precedence,e));return t.instance}function bc(e,t,n){for(var l=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=l.length?l[l.length-1]:null,i=a,c=0;c<l.length;c++){var o=l[c];if(o.dataset.precedence===t)i=o;else if(i!==a)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Tr(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Er(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var xc=null;function mm(e,t,n){if(xc===null){var l=new Map,a=xc=new Map;a.set(n,l)}else a=xc,l=a.get(n),l||(l=new Map,a.set(n,l));if(l.has(e))return l;for(l.set(e,null),n=n.getElementsByTagName(e),a=0;a<n.length;a++){var i=n[a];if(!(i[lt]||i[se]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var c=i.getAttribute(t)||"";c=e+c;var o=l.get(c);o?o.push(i):l.set(c,[i])}}return l}function hm(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function Ov(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function vm(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function zv(e,t,n,l){if(n.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var a=Ci(l.href),i=t.querySelector(ms(a));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Sc.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=i,ke(i);return}i=t.ownerDocument||t,l=dm(l),(a=Zn.get(a))&&Tr(l,a),i=i.createElement("link"),ke(i);var c=i;c._p=new Promise(function(o,p){c.onload=o,c.onerror=p}),Gt(i,"link",l),n.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=Sc.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var Cr=0;function kv(e,t){return e.stylesheets&&e.count===0&&Nc(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var l=setTimeout(function(){if(e.stylesheets&&Nc(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&Cr===0&&(Cr=62500*fv());var a=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Nc(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>Cr?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(a)}}:null}function Sc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Nc(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var jc=null;function Nc(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,jc=new Map,t.forEach(_v,e),jc=null,Sc.call(e))}function _v(e,t){if(!(t.state.loading&4)){var n=jc.get(e);if(n)var l=n.get(null);else{n=new Map,jc.set(e,n);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<a.length;i++){var c=a[i];(c.nodeName==="LINK"||c.getAttribute("media")!=="not all")&&(n.set(c.dataset.precedence,c),l=c)}l&&n.set(null,l)}a=t.instance,c=a.getAttribute("data-precedence"),i=n.get(c)||l,i===l&&n.set(null,a),n.set(c,a),this.count++,l=Sc.bind(this),a.addEventListener("load",l),a.addEventListener("error",l),i?i.parentNode.insertBefore(a,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(a,e.firstChild)),t.state.loading|=4}}var vs={$$typeof:He,Provider:null,Consumer:null,_currentValue:te,_currentValue2:te,_threadCount:0};function Mv(e,t,n,l,a,i,c,o,p){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=pe(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=pe(0),this.hiddenUpdates=pe(null),this.identifierPrefix=l,this.onUncaughtError=a,this.onCaughtError=i,this.onRecoverableError=c,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=p,this.incompleteTransitions=new Map}function pm(e,t,n,l,a,i,c,o,p,N,_,w){return e=new Mv(e,t,n,c,p,N,_,w,o),t=1,i===!0&&(t|=24),i=xn(3,null,null,t),e.current=i,i.stateNode=e,t=iu(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:l,isDehydrated:n,cache:t},ru(i),e}function ym(e){return e?(e=ai,e):ai}function gm(e,t,n,l,a,i){a=ym(a),l.context===null?l.context=a:l.pendingContext=a,l=ua(t),l.payload={element:n},i=i===void 0?null:i,i!==null&&(l.callback=i),n=ra(e,l,t),n!==null&&(fn(n,e,t),Vi(n,e,t))}function bm(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Ar(e,t){bm(e,t),(e=e.alternate)&&bm(e,t)}function xm(e){if(e.tag===13||e.tag===31){var t=Ua(e,67108864);t!==null&&fn(t,e,67108864),Ar(e,67108864)}}function Sm(e){if(e.tag===13||e.tag===31){var t=En();t=Rn(t);var n=Ua(e,t);n!==null&&fn(n,e,t),Ar(e,t)}}var Tc=!0;function wv(e,t,n,l){var a=O.T;O.T=null;var i=$.p;try{$.p=2,Rr(e,t,n,l)}finally{$.p=i,O.T=a}}function Uv(e,t,n,l){var a=O.T;O.T=null;var i=$.p;try{$.p=8,Rr(e,t,n,l)}finally{$.p=i,O.T=a}}function Rr(e,t,n,l){if(Tc){var a=Dr(l);if(a===null)hr(e,t,l,Ec,n),Nm(e,l);else if(Lv(a,e,t,n,l))l.stopPropagation();else if(Nm(e,l),t&4&&-1<Hv.indexOf(e)){for(;a!==null;){var i=an(a);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var c=pt(i.pendingLanes);if(c!==0){var o=i;for(o.pendingLanes|=2,o.entangledLanes|=2;c;){var p=1<<31-Rt(c);o.entanglements[1]|=p,c&=~p}Tl(i),(qe&6)===0&&(cc=wt()+500,rs(0))}}break;case 31:case 13:o=Ua(i,2),o!==null&&fn(o,i,2),rc(),Ar(i,2)}if(i=Dr(l),i===null&&hr(e,t,l,Ec,n),i===a)break;a=i}a!==null&&l.stopPropagation()}else hr(e,t,l,null,n)}}function Dr(e){return e=Vt(e),Or(e)}var Ec=null;function Or(e){if(Ec=null,e=ot(e),e!==null){var t=C(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=D(t),e!==null)return e;e=null}else if(n===31){if(e=Z(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Ec=e,null}function jm(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Wn()){case Pl:return 2;case mn:return 8;case Al:case Xt:return 32;case tn:return 268435456;default:return 32}default:return 32}}var zr=!1,xa=null,Sa=null,ja=null,ps=new Map,ys=new Map,Na=[],Hv="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Nm(e,t){switch(e){case"focusin":case"focusout":xa=null;break;case"dragenter":case"dragleave":Sa=null;break;case"mouseover":case"mouseout":ja=null;break;case"pointerover":case"pointerout":ps.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ys.delete(t.pointerId)}}function gs(e,t,n,l,a,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:l,nativeEvent:i,targetContainers:[a]},t!==null&&(t=an(t),t!==null&&xm(t)),e):(e.eventSystemFlags|=l,t=e.targetContainers,a!==null&&t.indexOf(a)===-1&&t.push(a),e)}function Lv(e,t,n,l,a){switch(t){case"focusin":return xa=gs(xa,e,t,n,l,a),!0;case"dragenter":return Sa=gs(Sa,e,t,n,l,a),!0;case"mouseover":return ja=gs(ja,e,t,n,l,a),!0;case"pointerover":var i=a.pointerId;return ps.set(i,gs(ps.get(i)||null,e,t,n,l,a)),!0;case"gotpointercapture":return i=a.pointerId,ys.set(i,gs(ys.get(i)||null,e,t,n,l,a)),!0}return!1}function Tm(e){var t=ot(e.target);if(t!==null){var n=C(t);if(n!==null){if(t=n.tag,t===13){if(t=D(n),t!==null){e.blockedOn=t,tl(e.priority,function(){Sm(n)});return}}else if(t===31){if(t=Z(n),t!==null){e.blockedOn=t,tl(e.priority,function(){Sm(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Cc(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Dr(e.nativeEvent);if(n===null){n=e.nativeEvent;var l=new n.constructor(n.type,n);dt=l,n.target.dispatchEvent(l),dt=null}else return t=an(n),t!==null&&xm(t),e.blockedOn=n,!1;t.shift()}return!0}function Em(e,t,n){Cc(e)&&n.delete(t)}function qv(){zr=!1,xa!==null&&Cc(xa)&&(xa=null),Sa!==null&&Cc(Sa)&&(Sa=null),ja!==null&&Cc(ja)&&(ja=null),ps.forEach(Em),ys.forEach(Em)}function Ac(e,t){e.blockedOn===t&&(e.blockedOn=null,zr||(zr=!0,u.unstable_scheduleCallback(u.unstable_NormalPriority,qv)))}var Rc=null;function Cm(e){Rc!==e&&(Rc=e,u.unstable_scheduleCallback(u.unstable_NormalPriority,function(){Rc===e&&(Rc=null);for(var t=0;t<e.length;t+=3){var n=e[t],l=e[t+1],a=e[t+2];if(typeof l!="function"){if(Or(l||n)===null)continue;break}var i=an(n);i!==null&&(e.splice(t,3),t-=3,Du(i,{pending:!0,data:a,method:n.method,action:l},l,a))}}))}function Ri(e){function t(p){return Ac(p,e)}xa!==null&&Ac(xa,e),Sa!==null&&Ac(Sa,e),ja!==null&&Ac(ja,e),ps.forEach(t),ys.forEach(t);for(var n=0;n<Na.length;n++){var l=Na[n];l.blockedOn===e&&(l.blockedOn=null)}for(;0<Na.length&&(n=Na[0],n.blockedOn===null);)Tm(n),n.blockedOn===null&&Na.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(l=0;l<n.length;l+=3){var a=n[l],i=n[l+1],c=a[We]||null;if(typeof i=="function")c||Cm(n);else if(c){var o=null;if(i&&i.hasAttribute("formAction")){if(a=i,c=i[We]||null)o=c.formAction;else if(Or(a)!==null)continue}else o=c.action;typeof o=="function"?n[l+1]=o:(n.splice(l,3),l-=3),Cm(n)}}}function Am(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(c){return a=c})},focusReset:"manual",scroll:"manual"})}function t(){a!==null&&(a(),a=null),l||setTimeout(n,20)}function n(){if(!l&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var l=!1,a=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){l=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),a!==null&&(a(),a=null)}}}function kr(e){this._internalRoot=e}Dc.prototype.render=kr.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(d(409));var n=t.current,l=En();gm(n,l,e,t,null,null)},Dc.prototype.unmount=kr.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;gm(e.current,2,null,e,null,null),rc(),t[Dn]=null}};function Dc(e){this._internalRoot=e}Dc.prototype.unstable_scheduleHydration=function(e){if(e){var t=hl();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Na.length&&t!==0&&t<Na[n].priority;n++);Na.splice(n,0,e),n===0&&Tm(e)}};var Rm=r.version;if(Rm!=="19.2.8")throw Error(d(527,Rm,"19.2.8"));$.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(d(188)):(e=Object.keys(e).join(","),Error(d(268,e)));return e=k(t),e=e!==null?K(e):null,e=e===null?null:e.stateNode,e};var Gv={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:O,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Oc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Oc.isDisabled&&Oc.supportsFiber)try{hn=Oc.inject(Gv),q=Oc}catch{}}return xs.createRoot=function(e,t){if(!b(e))throw Error(d(299));var n=!1,l="",a=Md,i=wd,c=Ud;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(l=t.identifierPrefix),t.onUncaughtError!==void 0&&(a=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=pm(e,1,!1,null,null,n,l,null,a,i,c,Am),e[Dn]=t.current,mr(e),new kr(t)},xs.hydrateRoot=function(e,t,n){if(!b(e))throw Error(d(299));var l=!1,a="",i=Md,c=wd,o=Ud,p=null;return n!=null&&(n.unstable_strictMode===!0&&(l=!0),n.identifierPrefix!==void 0&&(a=n.identifierPrefix),n.onUncaughtError!==void 0&&(i=n.onUncaughtError),n.onCaughtError!==void 0&&(c=n.onCaughtError),n.onRecoverableError!==void 0&&(o=n.onRecoverableError),n.formState!==void 0&&(p=n.formState)),t=pm(e,1,!0,t,n??null,l,a,p,i,c,o,Am),t.context=ym(null),n=t.current,l=En(),l=Rn(l),a=ua(l),a.callback=null,ra(n,a,l),n=l,t.current.lanes=n,Zt(t,n),Tl(t),e[Dn]=t.current,mr(e),new Dc(t)},xs.version="19.2.8",xs}var Lm;function Jv(){if(Lm)return wr.exports;Lm=1;function u(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(r){console.error(r)}}return u(),wr.exports=Iv(),wr.exports}var Wv=Jv();function Ia(u){if(u==null)return null;if(typeof u=="string")return u.trim()||null;if(typeof u=="number"||typeof u=="boolean")return String(u);if(typeof u=="object"){const r=u;if(typeof r.text=="string"&&r.text.trim())return r.text.trim();if(typeof r.errorMessage=="string"&&r.errorMessage.trim())return r.errorMessage.trim();if(Array.isArray(r.content)){const h=r.content.map(d=>{if(typeof d=="string")return d;if(d&&typeof d=="object"){const b=d;if(typeof b.text=="string")return b.text}return""}).filter(Boolean);if(h.length)return h.join(`
|
|
10
|
-
`).slice(0,240)}if(typeof r.role=="string")return`${r.role} 消息`}return null}function Fv(u){const r=Ia(u.at)??Ia(u.timestamp)??Ia(u.recordedAt)??"",h=Ia(u.errorMessage)??Ia(u.label)??Ia(u.type)??Ia(u.message)??"运行事件";return r?`${r} · ${h}`:h}function Ns(u){return String(u.nodeId??u.id??"").trim()}function qr(u){const r=Ns(u);return String(u.label??u.name??(r||"未命名节点"))}function qm(u,r){if(u.length===0)return;const h=r?.trim();if(h){const C=u.find(D=>Ns(D)===h);if(C)return C}const d=u.find(C=>{const D=String(C.status??"").toLowerCase();return D.includes("fail")||D.includes("error")||D==="blocked"});return d||(u.find(C=>{const D=String(C.status??"").toLowerCase();return D==="running"||D==="in_progress"||D==="active"})??u[0])}function Pv({dagRunId:u,nodeId:r,onClose:h,onOpenFull:d}){const b=v.useRef(null),[C,D]=v.useState(null),[Z,X]=v.useState([]),[k,K]=v.useState(null),[Q,ee]=v.useState(!0);v.useEffect(()=>{b.current?.focus();const oe=Ue=>{Ue.key==="Escape"&&h()};return document.addEventListener("keydown",oe),document.title=`检视 · DAG ${u} · Loop Operator`,()=>document.removeEventListener("keydown",oe)},[u,h]),v.useEffect(()=>{const oe=new AbortController;return ee(!0),K(null),X([]),(async()=>{try{const Ue=await fetch(`/api/dag-runs/${encodeURIComponent(u)}`,{signal:oe.signal,credentials:"same-origin"});if(!Ue.ok)throw new Error(`DAG 查询失败(HTTP ${Ue.status})`);const He=await Ue.json();if(oe.signal.aborted)return;D(He);const xt=Array.isArray(He.nodes)?He.nodes:[],ut=qm(xt,r),Se=ut?Ns(ut):r?.trim();if(Se){const ue=await fetch(`/api/dag-runs/${encodeURIComponent(u)}/nodes/${encodeURIComponent(Se)}/session-events`,{signal:oe.signal,credentials:"same-origin"});if(ue.ok){const Ne=await ue.json();oe.signal.aborted||X((Ne.events??[]).slice(-20))}}}catch(Ue){oe.signal.aborted||K(Ue instanceof Error?Ue.message:String(Ue))}finally{oe.signal.aborted||ee(!1)}})(),()=>oe.abort()},[u,r]);const G=v.useMemo(()=>Array.isArray(C?.nodes)?C.nodes:[],[C]),le=qm(G,r),ce=le?Ns(le):"",nt=String(C?.effectiveStatus??C?.status??(Q?"加载中…":"未知"));return s.jsxs("aside",{className:"inspect-split-panel","aria-label":"DAG 紧凑检视",children:[s.jsxs("div",{className:"inspect-split-header",children:[s.jsxs("div",{children:[s.jsx("p",{className:"inspect-split-kicker",children:"Inspect"}),s.jsx("h2",{children:"检视 DAG"})]}),s.jsx("button",{ref:b,type:"button","aria-label":"关闭检视面板",onClick:h,children:"关闭"})]}),s.jsx("p",{className:"inspect-split-id",children:s.jsx("code",{children:u})}),k?s.jsx("p",{className:"error",children:k}):null,Q&&!C?s.jsx("p",{className:"muted",children:"正在加载 DAG…"}):null,s.jsxs("dl",{className:"inspect-split-facts",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"状态"}),s.jsx("dd",{children:nt})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"当前节点"}),s.jsx("dd",{children:le?qr(le):"暂无节点"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"节点状态"}),s.jsx("dd",{children:le?.status??"—"})]}),le?.errorPreview?s.jsxs("div",{children:[s.jsx("dt",{children:"错误摘要"}),s.jsx("dd",{children:le.errorPreview})]}):null]}),s.jsxs("section",{children:[s.jsxs("h3",{children:["节点(",G.length,")"]}),G.length?s.jsx("ul",{className:"inspect-split-nodes",children:G.slice(0,24).map(oe=>{const Ue=Ns(oe)||qr(oe),He=Ue===ce;return s.jsxs("li",{"data-active":He?"true":void 0,className:He?"is-active":void 0,children:[s.jsx("span",{children:qr(oe)}),s.jsx("code",{children:oe.status??"—"})]},Ue)})}):s.jsx("p",{className:"muted",children:Q?"加载节点中…":"该运行暂无节点。"})]}),s.jsxs("section",{children:[s.jsxs("h3",{children:["最近事件",ce?` · ${ce}`:""]}),Z.length?s.jsx("ul",{className:"inspect-split-events",children:Z.map((oe,Ue)=>s.jsx("li",{children:Fv(oe)},`${oe.at??Ue}-${Ue}`))}):s.jsx("p",{className:"muted",children:Q?"加载事件中…":"节点事件将在可用时显示。"})]}),s.jsx("button",{type:"button",className:"btn btn-secondary",onClick:d,children:"全屏观测"}),s.jsx("p",{className:"muted",children:"全屏后点顶栏「返回操作台」可回来。"})]})}function ep(u){const r=[],h=u.split(`
|
|
11
|
-
`);let d=0,b=[];const C=()=>{const D=b.join(`
|
|
12
|
-
`).trimEnd();D&&r.push({type:"text",text:D}),b=[]};for(;d<h.length;){const D=h[d],Z=D.match(/^\s*(`{3,}|~{3,})\s*([^\s`~]*)\s*$/);if(Z){C();const X=Z[1][0],k=(Z[2]??"").trim(),K=[];for(d+=1;d<h.length;){const Q=h[d];if(Q.trim()===X.repeat(Z[1].length)){d+=1;break}if(new RegExp(`^\\s*${X}{3,}`).test(Q)){d+=1;break}K.push(Q),d+=1}r.push({type:"code",lang:k,text:K.join(`
|
|
13
|
-
`)});continue}b.push(D),d+=1}return C(),r}const tp=/(`[^`]+`)|(\*\*[^*]+\*\*)|(\*[^*]+\*|_[^_]+_)|(~~[^~]+~~)|(\[[^\]]+\]\([^)\s]+\))/;function Ss(u,r){const h=[];let d=u,b=0;for(;d.length>0;){const C=tp.exec(d);if(!C||C.index===void 0){h.push(d);break}C.index>0&&h.push(d.slice(0,C.index));const D=C[0],Z=`${r}-i${b++}`;if(D.startsWith("`"))h.push(s.jsx("code",{children:D.slice(1,-1)},Z));else if(D.startsWith("**"))h.push(s.jsx("strong",{children:D.slice(2,-2)},Z));else if(D.startsWith("*")||D.startsWith("_"))h.push(s.jsx("em",{children:D.slice(1,-1)},Z));else if(D.startsWith("~~"))h.push(s.jsx("s",{children:D.slice(2,-2)},Z));else if(D.startsWith("[")){const X=D.match(/^\[([^\]]+)\]\(([^)\s]+)\)$/);X?h.push(s.jsx("a",{href:X[2],target:"_blank",rel:"noreferrer noopener",children:X[1]},Z)):h.push(D)}d=d.slice(C.index+D.length)}return h}function np({lang:u,text:r}){const[h,d]=v.useState(!1),b=()=>{navigator.clipboard?.writeText(r).then(()=>{d(!0),window.setTimeout(()=>d(!1),1600)},()=>{})};return s.jsxs("div",{className:"oc-codeblock",children:[s.jsxs("div",{className:"oc-codeblock-head",children:[s.jsx("span",{className:"oc-codeblock-lang",children:u||"text"}),s.jsx("button",{type:"button",className:"oc-codeblock-copy",onClick:b,children:h?"已复制":"复制"})]}),s.jsx("pre",{children:s.jsx("code",{children:r})})]})}function lp(u,r){const h=[],d=u.split(`
|
|
14
|
-
`);let b=0,C=0;for(;C<d.length;){const Z=d[C].trim();if(Z===""){C+=1;continue}const X=Z.match(/^(#{1,4})\s+(.*)$/);if(X){const Q=`h${X[1].length}`;h.push(s.jsx(Q,{children:Ss(X[2],`${r}-h${b}`)},`${r}-h${b++}`)),C+=1;continue}if(/^(---|\*\*\*|___)\s*$/.test(Z)){h.push(s.jsx("hr",{},`${r}-hr${b++}`)),C+=1;continue}if(Z.startsWith(">")){const K=[];for(;C<d.length&&d[C].trim().startsWith(">");)K.push(d[C].trim().replace(/^>\s?/,"")),C+=1;h.push(s.jsx("blockquote",{children:K.map((Q,ee)=>s.jsx("p",{children:Ss(Q,`${r}-bq${b}-${ee}`)},ee))},`${r}-bq${b++}`));continue}if(/^[-*+]\s+/.test(Z)){const K=[];for(;C<d.length&&/^\s*[-*+]\s+/.test(d[C]);)K.push(d[C].trim().replace(/^[-*+]\s+/,"")),C+=1;h.push(s.jsx("ul",{children:K.map((Q,ee)=>s.jsx("li",{children:Ss(Q,`${r}-ul${b}-${ee}`)},ee))},`${r}-ul${b++}`));continue}if(/^\d+\.\s+/.test(Z)){const K=[];for(;C<d.length&&/^\s*\d+\.\s+/.test(d[C]);)K.push(d[C].trim().replace(/^\d+\.\s+/,"")),C+=1;h.push(s.jsx("ol",{children:K.map((Q,ee)=>s.jsx("li",{children:Ss(Q,`${r}-ol${b}-${ee}`)},ee))},`${r}-ol${b++}`));continue}const k=[];for(;C<d.length&&d[C].trim()!==""&&!/^(#{1,4})\s+/.test(d[C].trim())&&!/^(---|\*\*\*|___)\s*$/.test(d[C].trim())&&!d[C].trim().startsWith(">")&&!/^[-*+]\s+/.test(d[C].trim())&&!/^\d+\.\s+/.test(d[C].trim());)k.push(d[C].trim()),C+=1;h.push(s.jsx("p",{children:Ss(k.join(" "),`${r}-p${b}`)},`${r}-p${b++}`))}return h}function ap({text:u}){const r=ep(u);return s.jsx("div",{className:"oc-md",children:r.map((h,d)=>h.type==="code"?s.jsx(np,{lang:h.lang,text:h.text},`cb-${d}`):s.jsx("div",{children:lp(h.text,`tx-${d}`)},`tx-${d}`))})}const Gr=()=>window.__CONSOLE_CONFIRMATION_TOKEN__??"";function ip({origin:u}){const[r,h]=v.useState(null),[d,b]=v.useState(null),[C,D]=v.useState(null),[Z,X]=v.useState(!1),k=async G=>{h(G),b(null),D(null);const le=G==="models"?"/api/operator/v1/pi/models-config":G==="skills"?"/api/operator/v1/chat/instruction-skills":"/api/operator/v1/pi/packages";try{const ce=await fetch(`${u}${le}`,{credentials:"include"}),nt=await ce.json();if(!ce.ok)throw new Error(nt.error?.message??"读取失败");b(nt.data)}catch(ce){D(ce instanceof Error?ce.message:String(ce))}},K=async G=>{X(!0),D(null);try{const le=await fetch(`${u}/api/operator/v1/pi/models-config`,{method:"PATCH",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Gr()},body:JSON.stringify(G)}),ce=await le.json();if(!le.ok)throw new Error(ce.error?.message??"模型配置保存失败");b(ce.data)}catch(le){D(le instanceof Error?le.message:String(le))}finally{X(!1)}},Q=async(G,le)=>{X(!0),D(null);try{const ce=await fetch(`${u}/api/operator/v1/pi/models-config/test`,{method:"POST",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Gr()},body:JSON.stringify({provider:G,modelId:le})}),nt=await ce.json();if(!ce.ok)throw new Error(nt.error?.message??"模型测试失败");return nt.data?.available===!0}catch(ce){return D(ce instanceof Error?ce.message:String(ce)),!1}finally{X(!1)}},ee=async(G,le)=>{const ce=d,nt=le?[...ce.disabledNames??[],G]:(ce.disabledNames??[]).filter(Ue=>Ue!==G);(await fetch(`${u}/api/operator/v1/chat/instruction-skills/preferences`,{method:"PUT",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Gr()},body:JSON.stringify({disabledNames:nt})})).ok?b({...ce,disabledNames:[...new Set(nt)]}):D("偏好保存失败")};return s.jsxs("div",{className:"oc-governance",children:[s.jsxs("div",{className:"oc-governance-links",children:[s.jsx("button",{type:"button",onClick:()=>{k("models")},children:"Models"}),s.jsx("button",{type:"button",onClick:()=>{k("skills")},children:"Skills"}),s.jsx("button",{type:"button",onClick:()=>{k("packages")},children:"Packages"})]}),r&&s.jsxs("section",{className:"oc-governance-panel",children:[s.jsxs("header",{children:[s.jsx("strong",{children:r==="models"?"Models":r==="skills"?"Skills":"Packages(只读)"}),s.jsx("button",{type:"button",onClick:()=>h(null),children:"关闭"})]}),C&&s.jsx("p",{className:"oc-governance-error",children:C}),r==="models"&&s.jsx(sp,{busy:Z,data:d,onMutate:K,onTest:Q}),r==="skills"&&s.jsx(cp,{data:d,onToggle:ee}),r==="packages"&&s.jsx(up,{data:d})]})]})}function sp({busy:u,data:r,onMutate:h,onTest:d}){const[b,C]=v.useState(""),[D,Z]=v.useState(""),[X,k]=v.useState(""),[K,Q]=v.useState(null),ee=async G=>{G.preventDefault(),!(!r||!b.trim()||!D.trim())&&(await h({expectedRevision:r.revision,action:"upsert-model",provider:b.trim(),model:{id:D.trim(),...X.trim()?{name:X.trim()}:{}}}),Z(""),k(""))};return r?s.jsxs("div",{className:"oc-models-config",children:[s.jsx("p",{children:"Console 不读取或写入 API key;credential 请通过 Pi CLI 配置。"}),r.providers.map(G=>s.jsxs("article",{className:"oc-model-provider",children:[s.jsxs("div",{children:[s.jsx("strong",{children:G.name}),s.jsx("span",{children:G.credential.configured?"credential configured":"credential 未配置"})]}),G.models.map(le=>s.jsxs("div",{className:"oc-model-row",children:[s.jsx("span",{children:le.name?`${le.name} (${le.id})`:le.id}),s.jsxs("div",{children:[s.jsx("button",{type:"button",disabled:u,onClick:()=>{d(G.name,le.id).then(ce=>Q(`${G.name}/${le.id}: ${ce?"可用":"不可用"}`))},children:"测试"}),s.jsx("button",{type:"button",disabled:u,onClick:()=>{window.confirm(`确认删除模型 ${G.name}/${le.id}?`)&&h({expectedRevision:r.revision,action:"remove-model",provider:G.name,model:{id:le.id}})},children:"删除"})]})]},le.id)),s.jsx("button",{type:"button",disabled:u,onClick:()=>{window.confirm(`确认删除 Provider ${G.name}?`)&&h({expectedRevision:r.revision,action:"remove-provider",provider:G.name})},children:"删除 Provider"})]},G.name)),K&&s.jsx("p",{className:"oc-model-test-result",children:K}),s.jsxs("form",{className:"oc-model-form",onSubmit:G=>{ee(G)},children:[s.jsx("strong",{children:"新增或更新模型"}),s.jsx("input",{required:!0,placeholder:"Provider",value:b,onChange:G=>C(G.target.value)}),s.jsx("input",{required:!0,placeholder:"Model ID",value:D,onChange:G=>Z(G.target.value)}),s.jsx("input",{placeholder:"显示名称(可选)",value:X,onChange:G=>k(G.target.value)}),s.jsx("button",{type:"submit",disabled:u,children:u?"保存中…":"保存模型"})]})]}):s.jsx("p",{children:"正在读取模型配置…"})}function cp({data:u,onToggle:r}){return s.jsxs("div",{children:[u?.allowed?.map(h=>{const d=typeof h=="string"?h:h.name,b=u.disabledNames?.includes(d)===!0;return s.jsxs("label",{children:[s.jsx("input",{type:"checkbox",checked:!b,onChange:C=>r(d,!C.target.checked)}),d,typeof h!="string"&&h.description?s.jsx("small",{children:h.description}):null]},d)}),s.jsx("small",{children:"偏好仅影响之后创建的新会话;denied/conditional 策略不可在此绕过。"})]})}function up({data:u}){return s.jsxs("div",{children:[s.jsx("p",{children:"此处仅展示 Pi 配置;不会扩大 Operator Chat 工具面。"}),u?.packages?.map(r=>s.jsxs("article",{children:[s.jsx("strong",{children:r.spec}),s.jsx("span",{children:r.scope})]},`${r.scope}:${r.spec}`))]})}const Kr=10;function rp(u){return[...u].sort((r,h)=>r.kind!==h.kind?r.kind==="directory"?-1:1:r.name.localeCompare(h.name,void 0,{sensitivity:"base"}))}function op({open:u}){return s.jsx("svg",{className:`oc-tree-chevron${u?" is-open":""}`,width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true",children:s.jsx("path",{d:"M4.2 2.4 7.8 6 4.2 9.6",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function dp({open:u}){return u?s.jsxs("svg",{className:"oc-tree-glyph is-folder-open",width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:[s.jsx("path",{d:"M1.5 4.2h3.1l1.1 1.2H12a.8.8 0 0 1 .8.8v5a.8.8 0 0 1-.8.8H2a.8.8 0 0 1-.8-.8V5a.8.8 0 0 1 .8-.8Z",fill:"currentColor",opacity:"0.88"}),s.jsx("path",{d:"M1.8 5.8h10.4l-.7 5.2H2.5L1.8 5.8Z",fill:"currentColor",opacity:"0.55"})]}):s.jsx("svg",{className:"oc-tree-glyph is-folder",width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:s.jsx("path",{d:"M1.5 3.8h3.2l1 1.1H12a.8.8 0 0 1 .8.8v5.5a.8.8 0 0 1-.8.8H2a.8.8 0 0 1-.8-.8V4.6a.8.8 0 0 1 .8-.8Z",fill:"currentColor",opacity:"0.78"})})}function fp(){return s.jsxs("svg",{className:"oc-tree-glyph is-file",width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:[s.jsx("path",{d:"M3.2 1.6h5.1L10.8 4v8.4a.8.8 0 0 1-.8.8H3.2a.8.8 0 0 1-.8-.8V2.4a.8.8 0 0 1 .8-.8Z",fill:"currentColor",opacity:"0.55"}),s.jsx("path",{d:"M8.3 1.7v2.5h2.4",fill:"none",stroke:"currentColor",strokeWidth:"1.1",strokeLinejoin:"round",opacity:"0.75"})]})}function mp(u){const r=u.sessions.slice(0,Kr);return s.jsx("aside",{className:`oc-sidebar${u.open?"":" is-collapsed"}`,"aria-label":"会话与仓库",children:u.open?s.jsxs(s.Fragment,{children:[s.jsxs("section",{className:"oc-sidebar-section oc-sessions",children:[s.jsxs("header",{children:[s.jsx("strong",{children:"会话"}),s.jsxs("div",{className:"oc-sidebar-header-actions",children:[s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:u.onCreate,children:"新建"}),s.jsx("button",{type:"button",className:"oc-sidebar-toggle",onClick:u.onToggleOpen,"aria-expanded":!0,"aria-label":"收起侧栏",title:"收起侧栏",children:s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:s.jsx("path",{d:"M8.8 2.6 5.2 7l3.6 4.4",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]}),s.jsxs("div",{className:"oc-session-scroll",children:[["active","archived"].map(h=>{const d=r.filter(b=>b.state===h);return d.length?s.jsxs("div",{className:"oc-session-group",children:[s.jsx("small",{children:h==="active"?"进行中":"已归档"}),d.map(b=>s.jsxs("div",{className:`oc-session-item${u.activeSessionId===b.sessionId?" is-active":""}`,children:[s.jsxs("button",{type:"button",className:"oc-session-main",onClick:()=>u.onActivate(b.sessionId),children:[s.jsxs("strong",{children:[b.title||"未命名对话",b.activeTurnId?" · 运行中":""]}),s.jsx("span",{children:new Date(b.updatedAt).toLocaleString()})]}),s.jsxs("div",{className:"oc-session-actions",children:[s.jsx("button",{type:"button",className:"oc-session-menu",onClick:()=>{const C=window.prompt("会话名称",b.title??"");C!==null&&u.onRename(b.sessionId,C)},children:"重命名"}),s.jsx("button",{type:"button",className:"oc-session-menu",onClick:()=>u.onSetState(b.sessionId,h==="active"?"archived":"active"),children:h==="active"?"归档":"恢复"}),s.jsx("button",{type:"button",className:"oc-session-menu oc-session-delete",onClick:()=>u.onDelete(b.sessionId),children:"删除"})]})]},b.sessionId))]},h):null}),r.length===0?s.jsx("p",{className:"oc-tree-empty",children:"暂无会话,点击上方新建。"}):null]})]}),s.jsxs("section",{className:"oc-sidebar-section oc-explorer",children:[s.jsxs("header",{children:[s.jsx("strong",{children:"仓库"}),s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:u.onRefreshTree,children:"刷新"})]}),s.jsx("p",{className:"oc-explorer-hint",children:"单击插入 @路径 · 双击预览"}),u.treeError&&s.jsx("p",{className:"oc-sidebar-error",children:u.treeError}),s.jsx("div",{className:"oc-tree-scroll",children:s.jsx(Jm,{entries:u.tree[""]??[],tree:u.tree,expanded:u.expanded,depth:0,onToggle:u.onToggleDir,onInsert:u.onInsert,onPreview:u.onPreview})})]}),s.jsx(ip,{origin:u.origin})]}):s.jsx("button",{type:"button",className:"oc-sidebar-toggle is-collapsed",onClick:u.onToggleOpen,"aria-expanded":!1,"aria-label":"展开侧栏",title:"展开侧栏",children:s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:s.jsx("path",{d:"M5.2 2.6 8.8 7 5.2 11.4",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})})})}function Jm(u){const r=v.useMemo(()=>rp(u.entries),[u.entries]);return r.length?s.jsx("ul",{className:"oc-tree",role:u.depth===0?"tree":"group",children:r.map(h=>{const d=h.name.startsWith(".");if(h.kind==="directory"){const b=u.expanded.has(h.path);return s.jsxs("li",{className:`oc-tree-node is-dir${b?" is-open":""}${d?" is-dot":""}`,role:"treeitem","aria-expanded":b,children:[s.jsxs("button",{type:"button",className:"oc-tree-row oc-tree-dir",onClick:()=>u.onToggle(h.path),style:{paddingLeft:`${8+u.depth*12}px`},children:[s.jsx(op,{open:b}),s.jsx(dp,{open:b}),s.jsx("span",{className:"oc-tree-label",children:h.name})]}),b?s.jsx("div",{className:"oc-tree-children",style:{"--oc-tree-guide":`${14+u.depth*12}px`},children:s.jsx(Jm,{entries:u.tree[h.path]??[],tree:u.tree,expanded:u.expanded,depth:u.depth+1,onToggle:u.onToggle,onInsert:u.onInsert,onPreview:u.onPreview})}):null]},h.path)}return s.jsx("li",{className:`oc-tree-node is-file${d?" is-dot":""}`,role:"treeitem",children:s.jsx(hp,{entry:h,depth:u.depth,onInsert:u.onInsert,onPreview:u.onPreview})},h.path)})}):s.jsx("p",{className:"oc-tree-empty",children:"此目录为空或没有可安全浏览的文件。"})}function hp(u){const r=v.useRef(null);return v.useEffect(()=>()=>{r.current!==null&&window.clearTimeout(r.current)},[]),s.jsxs("button",{type:"button",className:"oc-tree-row oc-tree-file",style:{paddingLeft:`${8+u.depth*12}px`},title:"单击插入引用;双击预览",onClick:()=>{r.current!==null&&window.clearTimeout(r.current),r.current=window.setTimeout(()=>{u.onInsert(u.entry.path),r.current=null},220)},onDoubleClick:()=>{r.current!==null&&window.clearTimeout(r.current),r.current=null,u.onPreview(u.entry.path)},children:[s.jsx("span",{className:"oc-tree-chevron-spacer","aria-hidden":"true"}),s.jsx(fp,{}),s.jsx("span",{className:"oc-tree-label",children:u.entry.name})]})}function vp(u){const r=u.previews.find(h=>h.path===u.activePath);return!r&&!u.loading?null:s.jsxs(s.Fragment,{children:[r&&s.jsxs("section",{className:"oc-file-preview","aria-label":`文件预览 ${r.path}`,children:[s.jsxs("header",{children:[s.jsx("div",{className:"oc-file-tabs",role:"tablist","aria-label":"文件预览 Tabs",children:u.previews.map(h=>s.jsx("button",{type:"button",role:"tab","aria-selected":h.path===r.path,className:h.path===r.path?"is-active":"",onClick:()=>u.onActivate(h.path),children:h.path},h.path))}),s.jsxs("span",{children:[r.bytes," bytes",r.truncated?" · 已截断":""]}),s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>u.onClose(r.path),children:"关闭预览"})]}),s.jsx("pre",{children:s.jsx("code",{children:r.content})})]}),u.loading&&s.jsx("div",{className:"oc-file-preview-loading",children:"正在读取文件…"})]})}function pp(u,r){const h=u.findIndex(d=>d.operationId===r.operationId);return h<0?[...u,r]:u.map((d,b)=>b===h?{...d,...r}:d)}function yp(u){const r=u.operation;if(!r||typeof r!="object")return;const h=r;if(!(h.schemaVersion!==1||typeof h.operationId!="string"||typeof h.action!="string"||typeof h.state!="string"||typeof h.inspectHref!="string"||typeof h.createdAt!="string"||typeof h.updatedAt!="string"||typeof h.previewHash!="string"))return h}function gp(u){if(!u||typeof u!="object")return;const r=u;if(!(r.schemaVersion!==1||typeof r.cardId!="string"||r.gateType!=="contract-apply"&&r.gateType!=="dag-run"||typeof r.taskId!="string"||typeof r.state!="string"||typeof r.expiresAt!="string"||typeof r.inspectHref!="string"||typeof r.previewHash!="string"))return r}function bp(u,r){const h=u.findIndex(b=>b.cardId===r.cardId);if(h<0)return[...u,r];const d=[...u];return d[h]=r,d}const xp=["operation","contract","dag","report","html"];function Sp(u){const r=u.artifact;if(!r||typeof r!="object")return;const h=r;if(!(h.schemaVersion!==1||typeof h.artifactId!="string"||!h.artifactId||typeof h.kind!="string"||!xp.includes(h.kind)||typeof h.previewHash!="string")){for(const d of["title","summary","htmlPreview","reportText","inspectHref"])if(h[d]!==void 0&&typeof h[d]!="string")return;return h}}function jp(u,r){const h=u.findIndex(d=>d.artifactId===r.artifactId);return h<0?[...u,r]:u.map((d,b)=>b===h?{...d,...r}:d)}function Ja(u,r){return`${u}/${r}`}function Br(u){return{...u.modelProvider&&u.modelId?{model:{provider:u.modelProvider,modelId:u.modelId}}:{},...u.thinkingLevel?{thinkingLevel:u.thinkingLevel}:{}}}function Ir(u,r){return{...u,model:r.model??u.model,thinkingLevel:r.thinkingLevel??u.thinkingLevel}}function Gm(u,r){const h=Ir(u,r);return h.model?.provider===u.model?.provider&&h.model?.modelId===u.model?.modelId&&h.thinkingLevel===u.thinkingLevel}const Jr=[{command:"/task",label:"Task context",description:"查看当前任务、Draft 与 assessment",action:"focus-panel:task"},{command:"/contract",label:"Contract",description:"查看 contract diff 与 apply gate",action:"focus-panel:contract"},{command:"/dag",label:"DAG",description:"查看 DAG spine、确认与运行状态",action:"focus-panel:dag"},{command:"/interview",label:"Interview",description:"打开 Requirement Interview",action:"focus:interview"},{command:"/help",label:"Shortcuts",description:"显示可用 shortcut",action:"show-help"}];function Np(u){const r=u.trim().split(/\s+/,1)[0]?.toLowerCase();if(!r?.startsWith("/"))return;const h=Jr.find(d=>d.command===r);return h?{command:h.command,action:h.action}:{command:r,action:"unknown"}}const ol="loop-console.operator-chat.active-session.v1",Tp="loop-console.operator-chat.default-landing.v1";function _c(u){const r=u?.trim().toLowerCase();if(r==="chat")return"chat";if(r==="tasks")return"tasks"}function Ep(u){const r=u?.trim().toLowerCase();if(r==="chat"||r==="tasks"||r==="recovery"||r==="night")return r}function Cp(u){if(!u)return;const r=new URLSearchParams(u.search),h=_c(r.get("landing")??r.get("workspace"));if(h)return h;const d=u.hash.startsWith("#")?u.hash.slice(1):u.hash;return _c(new URLSearchParams(d).get("workspace"))}function Ap(u){return Cp(u.location)??_c(u.storage?.getItem(Tp))??_c(u.env)??"tasks"}function Rp(u,r={}){const h=new URLSearchParams({workspace:u});for(const[d,b]of Object.entries(r))b?.trim()&&h.set(d,b.trim());return`/?${h.toString()}`}function Dp(u){const r=new URLSearchParams(u.search),h=u.hash.startsWith("#")?u.hash.slice(1):u.hash,d=new URLSearchParams(h),b=Ep(r.get("workspace")??r.get("landing")??d.get("workspace"));if(!b)return null;const C=D=>r.get(D)?.trim()||void 0;return{workspace:b,...C("taskId")?{taskId:C("taskId")}:{},...C("dagRunId")?{dagRunId:C("dagRunId")}:{},...C("fromNodeId")?{fromNodeId:C("fromNodeId")}:{},...C("featureId")?{featureId:C("featureId")}:{}}}const Op=[{toolId:"read",kind:"explore",description:"Pi 内置读取文件。"},{toolId:"write",kind:"explore",description:"Pi 内置写入文件(软约束:大改优先走 DAG)。"},{toolId:"edit",kind:"explore",description:"Pi 内置编辑文件(软约束:大改优先走 DAG)。"},{toolId:"bash",kind:"explore",description:"Pi 内置 shell 执行(软约束:优先受治路径)。"},{toolId:"grep",kind:"explore",description:"Pi 内置内容搜索。"},{toolId:"find",kind:"explore",description:"按名称查找文件路径。"},{toolId:"ls",kind:"explore",description:"列出目录内容。"},{toolId:"safe-read",kind:"explore",description:"安全读取仓库相对路径文件;拒绝敏感文件并自动脱敏 secret。"},{toolId:"safe-grep",kind:"explore",description:"安全搜索仓库内容;跳过敏感文件并自动脱敏搜索结果。"},{toolId:"git-status",kind:"explore",description:"固定参数执行 git status --porcelain(无 shell)。"},{toolId:"git-diff",kind:"explore",description:"固定参数查看 git diff;敏感路径不可查看且结果自动脱敏。"}];function Bm(u){switch(u){case"mutation":return"变更";case"long-running":return"长任务";case"explore":return"探查";default:return"只读"}}function $n(){return window.__CONSOLE_CONFIRMATION_TOKEN__??""}function js(u){return`${u}-${Math.random().toString(36).slice(2,10)}`}function Yr(u,r){return new Promise((h,d)=>{if(r?.aborted){d(new DOMException("Aborted","AbortError"));return}const b=setTimeout(()=>{r?.removeEventListener("abort",C),h()},u),C=()=>{clearTimeout(b),d(new DOMException("Aborted","AbortError"))};r?.addEventListener("abort",C)})}function Wm(u){return new Date(u).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function Xr(u){const r=new Date(u),h=new Date;return r.getFullYear()===h.getFullYear()&&r.getMonth()===h.getMonth()&&r.getDate()===h.getDate()?"今天":r.toLocaleDateString([],{month:"long",day:"numeric"})}function zp(u){if(u==null)return"";try{const r=typeof u=="string"?u:JSON.stringify(u);return r?r.length>120?`${r.slice(0,120)}…`:r:""}catch{return String(u)}}const kp=[{label:"新建任务",hint:"从需求描述导入并创建任务",prompt:"帮我新建一个任务:我描述需求,你引导我用 PRD/需求描述导入(bootstrapFromPrd),并给出建议的 taskKind(如后端研发 backend-feature / 后端测试 backend-test)。"},{label:"查看任务状态",hint:"列出任务与就绪/阻塞状态",prompt:"列出当前所有 task 及其状态,重点说明哪些是 Ready 可以推进、哪些 Blocked 及阻塞原因。"},{label:"诊断 DAG 运行",hint:"对失败运行跑 Doctor",prompt:"帮我诊断最近失败或异常的 DAG 运行:先列出最近的 DAG 运行,对有问题的运行执行 doctor,总结根因和可执行的恢复方案。"},{label:"恢复或重跑任务",hint:"从节点重跑 / 完整重跑",prompt:"我要恢复一个卡住或失败的 DAG 运行。请先列出最近的 DAG 运行和可选节点,说明「从节点重跑 dagRerun」「完整重跑任务 standaloneTaskRerun」「Worker Task 重排队 workerTaskRetry」分别适用于什么情况,确定后直接帮我发起重跑。"}];function Ym(u){const r=u.readiness==="setup-required",h=!!u.disabled||r,d=u.mode==="no-session"?"开始一段新的对话":"今天想推进什么?",b=u.mode==="no-session"?"用自然语言编排 loop-agent:查询状态、诊断问题、创建与恢复任务。可先点选下方建议,或新建空白对话。":"会话已就绪。点选建议快速开场,或在下方输入框直接描述目标。业务写入仍经受治理 DAG。";return s.jsxs("div",{className:"oc-empty",role:"status",children:[s.jsxs("div",{className:"oc-empty-hero",children:[s.jsx("div",{className:"oc-empty-icon","aria-hidden":"true",children:"π"}),s.jsxs("div",{className:"oc-empty-copy",children:[s.jsx("h3",{children:d}),s.jsx("p",{children:b})]})]}),s.jsx("div",{className:"oc-suggestions","aria-label":"开场建议",children:kp.map(C=>s.jsxs("button",{type:"button",className:"oc-suggestion",onClick:()=>u.onSuggest(C.prompt),disabled:h,children:[s.jsx("strong",{children:C.label}),s.jsx("span",{children:C.hint})]},C.label))}),s.jsxs("ul",{className:"oc-empty-tips",children:[s.jsxs("li",{children:[s.jsx("kbd",{children:"@"}),s.jsx("span",{children:"引用仓库文件"})]}),s.jsxs("li",{children:[s.jsx("kbd",{children:"/"}),s.jsx("span",{children:"快捷命令"})]}),s.jsxs("li",{children:[s.jsx("kbd",{children:"Enter"}),s.jsx("span",{children:"发送 · Shift+Enter 换行"})]})]}),u.mode==="no-session"&&u.onCreateSession?s.jsx("button",{type:"button",className:"btn btn-primary oc-empty-cta",onClick:u.onCreateSession,disabled:r,children:r?"需先完成 Pi setup":"新建空白对话"}):null]})}function _p(u,r){return u?u.taskId===r.taskId&&u.updatedAt===r.updatedAt&&u.lastEventId===r.lastEventId&&u.operations.length===r.operations.length:!1}function Mp(u){const{origin:r,surface:h="standalone"}=u,d=h==="workspace",[b,C]=v.useState(null),[D,Z]=v.useState(null),[X,k]=v.useState([]),[K,Q]=v.useState(!0),[ee,G]=v.useState({}),[le,ce]=v.useState(new Set),[nt,oe]=v.useState(null),[Ue,He]=v.useState([]),[xt,ut]=v.useState(null),[Se,ue]=v.useState(!1),[Ne,Fe]=v.useState([]),[Pe,ht]=v.useState([]),[vt,rt]=v.useState([]),[Je,zt]=v.useState([]),[O,$]=v.useState(50),[te,Ae]=v.useState(0),[Te,g]=v.useState([]),[T,Y]=v.useState(null),[J,ae]=v.useState(null),[ve,Oe]=v.useState(!1),[Ge,Ve]=v.useState(!1),[Bt,Vn]=v.useState(0),Fl=v.useRef(null),[Kn,en]=v.useState(""),[Ke,Yt]=v.useState(""),[El,dl]=v.useState([]),[Mt,In]=v.useState([]),[Jn,Cl]=v.useState([]),[Cn,wt]=v.useState([]),[Wn,Pl]=v.useState(null),[mn,Al]=v.useState({inputTokens:0,outputTokens:0,totalTokens:0}),[Xt,tn]=v.useState(!1),[ea,Fn]=v.useState(null),[hn,q]=v.useState(null),[Qt,Rt]=v.useState(!0),[Ea]=v.useState(!1),[vn,ge]=v.useState(!1),[Wt,_e]=v.useState(!1),[pn,pt]=v.useState(!1),Rl=v.useRef(null),nn=v.useRef(null),Pn=v.useRef(null),yn=v.useRef(null),pe=v.useRef(null),Zt=v.useRef(null),Ca=v.useRef(new Map),fl=v.useRef(new Set),el=v.useRef(null),An=v.useRef(null),Rn=v.useRef(new Set),ml=v.useRef(new Map),hl=v.useRef(null),tl=v.useRef(!1),Le=v.useRef(0),se=v.useRef(null),We=v.useRef(!1),Dn=v.useCallback(async()=>{try{const f=await fetch(`${r}/api/operator/v1/chat/capabilities`);if(!f.ok)return;const x=await f.json();C(x)}catch{}},[r]),Ft=v.useCallback(async f=>{try{const x=await fetch(`${r}/api/operator/v1/chat/sessions/${encodeURIComponent(f)}`,{credentials:"include"}),A=await x.json();if(!x.ok||!A.session)throw new Error(A.error?.message??"会话不可用");const U={sessionId:A.session.sessionId,...Br(A.session)};se.current=U,We.current=!!A.session.activeTurnId,Rn.current=new Set,ml.current=new Map,An.current=null,Z(U),tn(!!A.session.activeTurnId),Fn(null),el.current=null,Zt.current=Ca.current.get(f)??null,In([]),He([]),Yt(A.session.composerDraft??""),Fe((A.session.messages??[]).filter(I=>I.role==="user"||I.role==="assistant").map(I=>({id:I.id,role:I.role,text:I.text,createdAt:Date.parse(I.at)||Date.now()}))),ht([]),rt([]),g([]),zt([]),ae(null),Y(null),Al({inputTokens:0,outputTokens:0,totalTokens:0}),window.localStorage.setItem(ol,f),ut(null)}catch(x){q(x instanceof Error?x.message:String(x))}},[r]);v.useEffect(()=>{Dn()},[Dn]);const ln=v.useCallback(async()=>{try{const f=await fetch(`${r}/api/operator/v1/chat/sessions`,{credentials:"include"});if(!f.ok)return;const x=(await f.json()).sessions??[],A=x.slice(0,Kr),U=x.slice(Kr);if(k(A),U.length===0)return;await Promise.all(U.map(L=>fetch(`${r}/api/operator/v1/chat/sessions/${encodeURIComponent(L.sessionId)}`,{method:"DELETE",credentials:"include",headers:{"x-loop-console-confirmation":$n()}}).catch(()=>{})));const I=se.current?.sessionId;I&&U.some(L=>L.sessionId===I)&&(se.current=null,Z(null),window.localStorage.removeItem(ol))}catch{}},[r]),Dl=v.useCallback(async f=>{if(window.confirm("确定删除该会话?删除后不可恢复。"))try{if(!(await fetch(`${r}/api/operator/v1/chat/sessions/${encodeURIComponent(f)}`,{method:"DELETE",credentials:"include",headers:{"x-loop-console-confirmation":$n()}})).ok){q("删除会话失败");return}se.current?.sessionId===f&&(se.current=null,Z(null),Fe([]),ht([]),rt([]),g([]),zt([]),ae(null),Y(null),Yt(""),ge(!1),window.localStorage.removeItem(ol)),await ln()}catch(x){q(x instanceof Error?x.message:String(x))}},[r,ln]);v.useEffect(()=>{ln()},[ln]);const On=v.useCallback(async(f="")=>{try{oe(null);const x=await fetch(`${r}/api/operator/v1/chat/repo/tree?path=${encodeURIComponent(f)}`,{credentials:"include"}),A=await x.json();if(!x.ok)throw new Error(A.error?.message??"无法读取仓库目录");G(U=>({...U,[f]:A.data?.entries??[]}))}catch(x){oe(x instanceof Error?x.message:String(x))}},[r]);v.useEffect(()=>{On()},[On]);const lt=v.useCallback(async f=>{ue(!0);try{const x=await fetch(`${r}/api/operator/v1/chat/repo/file?path=${encodeURIComponent(f)}`,{credentials:"include"}),A=await x.json();if(!x.ok||!A.data)throw new Error(A.error?.message??"无法预览文件");He(U=>{const I=[...U.filter(Be=>Be.path!==A.data.path),A.data],L=se.current?.sessionId;return L&&window.localStorage.setItem(`${ol}.previews.${L}`,JSON.stringify(I.map(Be=>Be.path))),I}),ut(A.data.path)}catch(x){q(x instanceof Error?x.message:String(x))}finally{ue(!1)}},[r]);v.useEffect(()=>{if(!D)return;const f=D.sessionId;let x=[];try{const A=JSON.parse(window.localStorage.getItem(`${ol}.previews.${f}`)??"[]");Array.isArray(A)&&(x=A.filter(U=>typeof U=="string").slice(0,10))}catch{}x.length&&Promise.all(x.map(async A=>{const U=await fetch(`${r}/api/operator/v1/chat/repo/file?path=${encodeURIComponent(A)}`,{credentials:"include"});if(U.ok)return(await U.json()).data})).then(A=>{if(se.current?.sessionId!==f)return;const U=A.filter(I=>!!I);He(U),ut(U.at(-1)?.path??null)})},[r,D?.sessionId]),v.useEffect(()=>{let f=!1;const x=window.localStorage.getItem(ol);if(x)return(async()=>{try{const A=await fetch(`${r}/api/operator/v1/chat/sessions/${encodeURIComponent(x)}`,{credentials:"include"});if(!A.ok){window.localStorage.removeItem(ol);return}const U=await A.json();if(f||!U.session)return;const I={sessionId:U.session.sessionId,...Br(U.session)};se.current=I,Rn.current=new Set,ml.current=new Map,An.current=null,Z(I),Yt(U.session.composerDraft??""),Fe((U.session.messages??[]).filter(L=>L.role==="user"||L.role==="assistant").map(L=>({id:L.id,role:L.role,text:L.text,createdAt:Date.parse(L.at)||Date.now()})))}catch{}})(),()=>{f=!0}},[r]),v.useEffect(()=>{if(!D)return;const f=window.setTimeout(()=>{fetch(`${r}/api/operator/v1/chat/sessions/${encodeURIComponent(D.sessionId)}/draft`,{method:"PUT",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":$n()},body:JSON.stringify({text:Ke})})},400);return()=>window.clearTimeout(f)},[r,D,Ke]),v.useEffect(()=>{if(!D){Cl([]),Pl(null);return}const f=D.sessionId,x=`${r}/api/operator/v1/chat/sessions/${encodeURIComponent(f)}`;fetch(`${x}/models`,{credentials:"include"}).then(A=>A.ok?A.json():null).then(A=>{!A||se.current?.sessionId!==f||(Cl(A.models??[]),wt(A.thinkingLevels??[]))}),fetch(`${x}/runtime-context`,{credentials:"include"}).then(A=>A.ok?A.json():null).then(A=>{if(!A?.context||se.current?.sessionId!==f)return;Pl(A.context);const U=A.context,I={model:U.model,thinkingLevel:U.thinkingLevel};Z(L=>{if(!L||L.sessionId!==f||Gm(L,I))return L;const Be=Ir(L,I);return se.current=Be,Be})})},[r,D?.sessionId]),v.useEffect(()=>{if(!D)return;const f=Ke.slice(0,Pn.current?.selectionStart??Ke.length).match(/(?:^|\s)@([^\s@]*)$/);if(!f){dl([]);return}const x=window.setTimeout(()=>{fetch(`${r}/api/operator/v1/chat/sessions/${encodeURIComponent(D.sessionId)}/files?q=${encodeURIComponent(f[1]??"")}`).then(A=>A.ok?A.json():null).then(A=>dl((A?.files??[]).map(U=>U.path)))},150);return()=>window.clearTimeout(x)},[r,D,Ke]);const zn=v.useCallback(f=>{const x=Pn.current?.selectionStart??Ke.length,U=Ke.slice(0,x).search(/@[^\s@]*$/);U<0||(Yt(`${Ke.slice(0,U)}@${f} ${Ke.slice(x)}`),dl([]))},[Ke]),ot=v.useCallback(async f=>{if(!D)return;const x=D.sessionId,A=await fetch(`${r}/api/operator/v1/chat/sessions/${encodeURIComponent(D.sessionId)}/model`,{method:"POST",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":$n()},body:JSON.stringify(f)});if(!A.ok){se.current?.sessionId===x&&q("模型或思考等级切换失败");return}const U=await A.json().catch(()=>({}));U.session&&se.current?.sessionId===x&&(Z(I=>{if(!I||I.sessionId!==x)return I;const L=Br(U.session);if(Gm(I,L))return I;const Be=Ir(I,L);return se.current=Be,Be}),Pl(I=>I&&{...I,...U.session.modelProvider&&U.session.modelId?{model:{provider:U.session.modelProvider,modelId:U.session.modelId}}:{},...U.session.thinkingLevel?{thinkingLevel:U.session.thinkingLevel}:f.thinkingLevel?{thinkingLevel:f.thinkingLevel}:{}}))},[r,D]);v.useEffect(()=>{if(!Wt)return;const f=A=>{const U=yn.current;U&&A.target instanceof Node&&!U.contains(A.target)&&_e(!1)},x=A=>{A.key==="Escape"&&_e(!1)};return document.addEventListener("mousedown",f),document.addEventListener("keydown",x),()=>{document.removeEventListener("mousedown",f),document.removeEventListener("keydown",x)}},[Wt]),v.useEffect(()=>{if(!pn)return;const f=A=>{const U=pe.current;U&&A.target instanceof Node&&!U.contains(A.target)&&pt(!1)},x=A=>{A.key==="Escape"&&pt(!1)};return document.addEventListener("mousedown",f),document.addEventListener("keydown",x),()=>{document.removeEventListener("mousedown",f),document.removeEventListener("keydown",x)}},[pn]),v.useLayoutEffect(()=>{const f=Pn.current;f&&(f.style.height="auto",f.style.height=`${Math.min(f.scrollHeight,280)}px`)},[Ke]);const an=v.useCallback(()=>{const f=nn.current;if(!f)return;const x=f.scrollHeight-f.scrollTop-f.clientHeight<80;Rt(x)},[]);v.useEffect(()=>{Qt&&Rl.current?.scrollIntoView({behavior:"smooth",block:"end"})},[Ne,Qt,Xt]);const St=v.useCallback(async(f,x)=>{const A=x?.background===!0;A||Oe(!0);try{const U=await fetch(`${r}/api/operator/v1/chat/sessions/${encodeURIComponent(f)}/context`,{credentials:"include"});if(!U.ok)return;const I=await U.json();I.context&&se.current?.sessionId===f&&ae(L=>_p(L,I.context)?L:I.context)}finally{A||Oe(!1)}},[r]),sn=v.useCallback(async f=>{q(null),Fe([]),ht([]),rt([]),g([]),Y(null),ae(null),ge(!1),Rt(!0);try{const x=await fetch(`${r}/api/operator/v1/chat/sessions`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":$n()},credentials:"include",body:JSON.stringify(f??{})});if(!x.ok){const I=await x.json().catch(()=>({}));throw new Error(I.error?.message??`HTTP ${x.status}`)}const A=await x.json(),U={sessionId:A.sessionId,...A.model?{model:A.model}:{}};return se.current=U,window.localStorage.setItem(ol,U.sessionId),Z(U),ln(),U}catch(x){return q(x instanceof Error?x.message:String(x)),null}},[r,ln]),ke=v.useCallback((f,x,A,U)=>{const I=U?.replay===!0;if(f==="reconcile"){const W=typeof x.reason=="string"?x.reason:"cursor_expired";q(`会话事件窗口已过期(${W}),建议刷新历史或新建会话。`);return}const L=x.data&&typeof x.data=="object"?x.data:x,Be=typeof x.turnId=="string"?x.turnId:void 0;let ct=A;if(Be){const W=ml.current.get(Be);W?ct=W:ml.current.set(Be,A)}if(f==="interview-turn"){Y(W=>({...W??{},interviewSessionId:typeof L.interviewSessionId=="string"?L.interviewSessionId:W?.interviewSessionId,taskId:typeof L.taskId=="string"?L.taskId:W?.taskId,state:typeof L.state=="string"?L.state:W?.state,question:L.question&&typeof L.question=="object"?L.question:void 0}));return}if(f==="draft"){Y(W=>({...W??{},taskId:typeof L.taskId=="string"?L.taskId:W?.taskId,draft:L.draft&&typeof L.draft=="object"?L.draft:W?.draft,draftSha256:typeof L.draftSha256=="string"?L.draftSha256:W?.draftSha256,taskKindRecommendation:typeof L.taskKindRecommendation=="string"?L.taskKindRecommendation:W?.taskKindRecommendation}));return}if(f==="assessment"){Y(W=>({...W??{},assessment:L}));return}if(f==="taskKind-confirmed"){Y(W=>({...W??{},confirmedTaskKind:typeof L.taskKind=="string"?L.taskKind:W?.confirmedTaskKind,taskKindRecommendation:void 0}));return}if(f==="human-gate-card"){const W=gp(L);W&&g(be=>bp(be,W));return}if(f==="artifact-ref"){const W=Sp(L);W&&zt(be=>jp(be,W));return}if(f==="agent_start"){tn(!0),Fn(ct);return}if(f==="agent_settled"){tn(!1),Fn(null),!I&&document.hidden&&Ae(W=>W+1);return}if(f==="operation-ref"||f==="operation-status"){const W=yp(L);W&&rt(be=>pp(be,W));return}if(f==="usage"){if(I)return;const W=L;Al(be=>({inputTokens:be.inputTokens+(W.inputTokens??0),outputTokens:be.outputTokens+(W.outputTokens??0),totalTokens:be.totalTokens+(W.totalTokens??0),cost:W.cost===void 0?be.cost:(be.cost??0)+W.cost}));return}if(f==="message_update"||f==="message_end"){if(I)return;const W=typeof L.text=="string"?L.text:"";Fe(be=>be.some(xe=>xe.id===ct)?be.map(xe=>xe.id===ct?{...xe,text:W}:xe):[...be,{id:ct,role:"assistant",text:W,createdAt:Date.now()}])}else if(f==="tool_call"){const W=typeof L.toolCallId=="string"?L.toolCallId:js("t"),be=typeof L.toolName=="string"?L.toolName:"tool",at=typeof L.argsPreview=="string"?L.argsPreview:"{}";ht(xe=>xe.some(dt=>dt.id===W)?xe.map(dt=>dt.id===W?{...dt,args:at,status:"running"}:dt):[...xe,{id:W,toolName:be,args:at,status:"running",createdAt:Date.now()}])}else if(f==="tool_result"){const W=typeof L.toolCallId=="string"?L.toolCallId:js("r"),be=typeof L.toolName=="string"?L.toolName:"tool",at=L.isError===!0,xe=typeof L.resultPreview=="string"?L.resultPreview:"{}";at&&ge(!0),ht(dt=>dt.find(Kt=>Kt.id===W)?dt.map(Kt=>Kt.id===W?{...Kt,result:xe,resultText:xe,status:at?"error":"ok"}:Kt):[...dt,{id:W,toolName:be,result:xe,resultText:xe,status:at?"error":"ok",createdAt:Date.now()}])}else f==="error"&&q(typeof L.message=="string"?L.message:"chat error")},[]),nl=v.useCallback((f,x,A)=>{if(A?.targetSessionId&&se.current?.sessionId!==A.targetSessionId)return null;const U=f.split(`
|
|
15
|
-
`);let I="message",L="",Be=null;for(const be of U)be.startsWith("event: ")?I=be.slice(7).trim():be.startsWith("data: ")?L+=be.slice(6):be.startsWith("id: ")&&(Be=be.slice(4).trim());if(!L)return Be;let ct;try{ct=JSON.parse(L)}catch{return Be}const W=Be??(typeof ct.eventId=="string"?ct.eventId:null);if(W){if(Rn.current.has(W))return W;Rn.current.add(W)}return ke(I,ct,x,A),Be??W},[ke]),kn=v.useCallback(async f=>{const x=se.current;if(!x||!f.trim()&&Mt.length===0||We.current)return;const A={id:js("u"),role:"user",text:f.trim(),createdAt:Date.now()};Fe(L=>[...L,A]),Yt(""),hl.current?.abort(),hl.current=null,We.current=!0,tn(!0),Rt(!0),q(null);const U=js("a");el.current=U,Fn(U),Fe(L=>[...L,{id:U,role:"assistant",text:"",createdAt:Date.now()}]);const I=new AbortController;Zt.current=I,Ca.current.set(x.sessionId,I),fl.current.add(x.sessionId);try{const L=await fetch(`${r}/api/operator/v1/chat/sessions/${x.sessionId}/prompt`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":$n(),Accept:"text/event-stream"},credentials:"include",body:JSON.stringify({text:f.trim()||"请查看附件图片。",images:Mt.map(({type:be,mimeType:at,data:xe})=>({type:be,mimeType:at,data:xe}))}),signal:I.signal});if(!L.ok||!L.body){const be=await L.json().catch(()=>({}));throw new Error(be.error?.message??`HTTP ${L.status}`)}const Be=L.body.getReader(),ct=new TextDecoder;let W="";for(;;){const{done:be,value:at}=await Be.read();if(be)break;W+=ct.decode(at,{stream:!0});const xe=W.split(`
|
|
16
|
-
|
|
17
|
-
`);W=xe.pop()??"";for(const dt of xe){const Vt=nl(dt,U,{targetSessionId:x.sessionId});Vt&&(An.current=Vt)}}}catch(L){L?.name==="AbortError"||se.current?.sessionId===x.sessionId&&q(L instanceof Error?L.message:String(L))}finally{se.current?.sessionId===x.sessionId&&(We.current=!1,tn(!1),Fn(null),Zt.current=null,el.current=null,In([])),fl.current.delete(x.sessionId),Ca.current.delete(x.sessionId)}},[r,Mt]),_n=v.useCallback(()=>{Zt.current?.abort(),We.current=!1,tn(!1),Fn(null)},[]),Mn=v.useCallback(async(f,x)=>{for(;!x.aborted;)try{const A={Accept:"text/event-stream"},U=An.current;U&&(A["Last-Event-ID"]=U);const I=await fetch(`${r}/api/operator/v1/chat/sessions/${f}/events`,{headers:A,credentials:"include",signal:x});if(!I.ok||!I.body){if(I.status===404)return;await Yr(2e3,x);continue}const L=I.body.getReader(),Be=new TextDecoder;let ct="",W=el.current;for(W||(W=js("a"),el.current=W);;){const{done:be,value:at}=await L.read();if(be)break;ct+=Be.decode(at,{stream:!0});const xe=ct.split(`
|
|
18
|
-
|
|
19
|
-
`);ct=xe.pop()??"";for(const dt of xe){const Vt=nl(dt,W,{replay:!0,targetSessionId:f});Vt&&(An.current=Vt)}}await Yr(1e3,x)}catch{if(x.aborted)return;await Yr(2e3,x)}},[r,nl]);v.useEffect(()=>{if(!D||Xt&&fl.current.has(D.sessionId))return;const f=new AbortController;return hl.current=f,Mn(D.sessionId,f.signal),()=>{f.abort(),hl.current===f&&(hl.current=null)}},[D,Xt,Mn]);const Aa=v.useCallback(async()=>{const f=se.current;if(!f)return;const x=window.prompt("Task ID(例如 2026-07-26-my-task)")?.trim();if(!x)return;const A=await fetch(`${r}/api/operator/v1/chat/sessions/${f.sessionId}/interviews`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":$n()},credentials:"include",body:JSON.stringify({taskId:x})}),U=await A.json();if(!A.ok){q(U.error?.message??`HTTP ${A.status}`);return}Y({interviewSessionId:U.interview?.sessionId,taskId:x,state:U.interview?.state,question:U.question,draft:U.draft?.draft,draftSha256:U.draft?.draftSha256,assessment:U.assessment})},[r]),wn=v.useCallback(async f=>{const x=se.current;if(!x||!T?.interviewSessionId||!T.question)return;const A=await fetch(`${r}/api/operator/v1/chat/sessions/${x.sessionId}/interviews/${T.interviewSessionId}/answers`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":$n()},credentials:"include",body:JSON.stringify({questionId:T.question.id,response:f,...f==="override"?{text:Kn}:{}})}),U=await A.json();if(!A.ok){q(U.error?.message??`HTTP ${A.status}`);return}Y(I=>({...I??{},state:U.interview?.state,question:U.question,draft:U.draft?.draft,draftSha256:U.draft?.draftSha256,assessment:U.assessment,taskKindRecommendation:U.taskKindRecommendation??I?.taskKindRecommendation})),en("")},[r,T,Kn]),Ol=v.useCallback(async()=>{const f=se.current;if(!f||!T?.interviewSessionId||!T.taskKindRecommendation)return;const x=await fetch(`${r}/api/operator/v1/chat/sessions/${f.sessionId}/interviews/${T.interviewSessionId}/task-kind/confirm`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":$n()},credentials:"include",body:JSON.stringify({taskKind:T.taskKindRecommendation})}),A=await x.json();if(!x.ok){q(A.error?.message??`HTTP ${x.status}`);return}Y(U=>({...U??{},confirmedTaskKind:U?.taskKindRecommendation,taskKindRecommendation:void 0,draft:A.draft?.draft,draftSha256:A.draft?.draftSha256,assessment:A.assessment}))},[r,T]);v.useEffect(()=>{D?.sessionId&&St(D.sessionId)},[D?.sessionId,St]),v.useEffect(()=>{const f=D?.sessionId;if(!f)return;const x=window.setTimeout(()=>{St(f,{background:!0})},350);return()=>window.clearTimeout(x)},[D?.sessionId,vt,Te,T,St]);const ll=v.useCallback(f=>{const x=Np(f);Yt(""),Ve(!1),x&&(x.action==="focus:interview"?Aa():x.action==="show-help"?q(`可用 shortcuts:${Jr.map(A=>A.command).join("、")}`):x.action.startsWith("focus-panel:")?Fl.current?.scrollIntoView({behavior:"smooth",block:"nearest"}):q(`未知 shortcut:${x.command}`))},[Aa]),kt=v.useMemo(()=>Ke.startsWith("/")?Jr.filter(f=>f.command.startsWith(Ke.trim().split(/\s+/,1)[0].toLowerCase())):[],[Ke]),Un=v.useCallback(f=>{if(Ge&&kt.length>0&&!f.nativeEvent.isComposing){if(f.key==="ArrowDown"||f.key==="ArrowUp"){f.preventDefault(),Vn(U=>(U+(f.key==="ArrowDown"?1:kt.length-1))%kt.length);return}if(f.key==="Escape"){f.preventDefault(),Ve(!1);return}if(f.key==="Enter"){f.preventDefault(),ll(kt[Bt]?.command??kt[0].command);return}}const x=Date.now()-Le.current<100,A=tl.current||f.nativeEvent.isComposing;if(f.key==="Enter"&&!f.shiftKey&&(A||x)){x&&f.preventDefault();return}if(f.key==="Enter"&&!f.shiftKey){f.preventDefault(),kn(Ke);return}},[Ke,kn,Ge,kt,Bt,ll]),jt=v.useMemo(()=>Ne.filter(f=>f.role!=="system"||Ea).slice(-O),[Ne,Ea,O]);v.useEffect(()=>{const f=()=>{document.hidden||Ae(0)};return document.addEventListener("visibilitychange",f),()=>document.removeEventListener("visibilitychange",f)},[]);const st=v.useCallback(async()=>{const f=se.current;if(!(!f||We.current))try{const x=await fetch(`${r}/api/operator/v1/chat/sessions/${encodeURIComponent(f.sessionId)}/compact`,{method:"POST",credentials:"include",headers:{"x-loop-console-confirmation":$n()}}),A=await x.json().catch(()=>({}));if(!x.ok){q(A.error?.message??"上下文压缩失败");return}q(null)}catch(x){q(x instanceof Error?x.message:"上下文压缩失败")}},[r]),cn=v.useMemo(()=>{if(Pe.length===0)return null;const f=Pe.filter(L=>L.status==="running"),x=Pe.filter(L=>L.status==="error"),A=f[f.length-1];let U="完成",I="ok";return x.length>0?(U=`${x.length} 出错`,I="error"):f.length>0&&(U=A?`正在调用 ${A.toolName}`:"运行中",I="running"),{count:Pe.length,statusLabel:U,statusKind:I}},[Pe]),vl=D?.model??Wn?.model,al=vl?Ja(vl.provider,vl.modelId):"",ta=D?.thinkingLevel??Wn?.thinkingLevel??"",na=!al||Jn.some(f=>Ja(f.provider,f.id)===al),Hn=v.useMemo(()=>{if(!b)return null;const f=(b.tools??[]).map(A=>({toolId:A.toolId,action:A.action,description:A.description,kind:A.kind??"read",cli:A.cli})),x=[...Op];return{explore:x,operator:f,total:x.length+f.length}},[b]),Ut=u.readiness==="setup-required"?"⚠ Pi 未就绪(setup-required):Chat 需要先完成 Pi 认证 / 模型配置。":u.readiness==="degraded"?"⚠ Pi 降级(degraded):可继续对话,但部分能力不可用。":null,pl=async(f,x)=>{if(!(await fetch(`${r}/api/operator/v1/chat/sessions/${encodeURIComponent(f)}`,{method:"PATCH",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":$n()},body:JSON.stringify(x)})).ok){q("会话更新失败");return}await ln(),x.state==="archived"&&se.current?.sessionId===f&&(se.current=null,Z(null),window.localStorage.removeItem(ol))},Ra=s.jsx(mp,{origin:r,open:K,activeSessionId:D?.sessionId,sessions:X,tree:ee,expanded:le,treeError:nt,onToggleOpen:()=>Q(f=>!f),onCreate:()=>{sn()},onActivate:f=>{Ft(f)},onRename:(f,x)=>{pl(f,{title:x})},onSetState:(f,x)=>{pl(f,{state:x})},onDelete:f=>{Dl(f)},onRefreshTree:()=>{On()},onToggleDir:f=>{ce(x=>{const A=new Set(x);return A.has(f)?A.delete(f):A.add(f),A}),ee[f]||On(f)},onInsert:f=>Yt(x=>`${x}${x&&!x.endsWith(" ")?" ":""}@${f} `),onPreview:f=>{lt(f)}}),$t=jt.length>0||vt.length>0||Te.length>0||Je.length>0||!!T;return s.jsxs("div",{className:"oc-shell",children:[d?null:s.jsxs("div",{className:"oc-banner",children:[s.jsxs("span",{className:"oc-banner-title",children:[s.jsx("span",{className:"oc-banner-dot","aria-hidden":"true"}),"对话"]}),s.jsxs("span",{className:"oc-banner-body",children:["用自然语言编排 loop-agent / agent-worker 的",s.jsx("strong",{children:"全部能力"}),"。这是 ",s.jsx("strong",{children:"Operator"})," ","面:默认具备完整 Pi 工具(read/write/edit/bash/grep/find/ls)与 safe-* 探查、以及受策略约束的 operator action(ADR 0011)。",s.jsx("strong",{children:"软约束"}),":大改与高风险变更优先走受治 DAG 的 implement-pi / repair-pi 与 Human Gate,而非把 Chat 当作第二套 DAG kernel。"]})]}),Ut&&s.jsx("div",{className:"oc-alert oc-alert-warning",children:Ut}),hn&&s.jsxs("div",{className:"oc-alert oc-alert-error",children:[s.jsx("strong",{children:"出错了:"}),hn]}),D?s.jsxs("div",{className:`oc-workspace${vn?" has-process":""}`,children:[Ra,s.jsxs("div",{className:`oc-main${$t?"":" is-landing"}`,children:[s.jsx(vp,{previews:Ue,activePath:xt,loading:Se,onActivate:ut,onClose:f=>{He(x=>{const A=x.filter(U=>U.path!==f);return D&&window.localStorage.setItem(`${ol}.previews.${D.sessionId}`,JSON.stringify(A.map(U=>U.path))),A}),ut(x=>x===f?Ue.find(A=>A.path!==f)?.path??null:x)}}),s.jsxs("div",{ref:nn,className:`oc-messages${$t?" has-thread":" is-empty"}`,onScroll:an,children:[$t?null:s.jsx(Ym,{mode:"empty-session",readiness:u.readiness,disabled:Xt,onSuggest:f=>{kn(f)}}),$t&&Ne.length>jt.length&&s.jsx("button",{type:"button",className:"btn btn-ghost oc-load-history",onClick:()=>$(f=>f+50),children:"加载更早消息"}),$t&&jt.map((f,x)=>{const A=jt[x-1],U=!A||Xr(A.createdAt)!==Xr(f.createdAt);return s.jsxs("div",{children:[U&&s.jsx("div",{className:"oc-day-sep",children:Xr(f.createdAt)}),f.role==="system"?s.jsx("div",{className:"oc-row is-tool",children:s.jsx("div",{className:"oc-bubble oc-bubble-tool",children:f.text})}):s.jsx(Lp,{message:f,streaming:Xt,activeAssistantId:ea})]},`row-${f.id}`)}),T&&s.jsxs("section",{className:"oc-draft-card","aria-label":"Requirement Interview",children:[s.jsxs("header",{children:[s.jsx("strong",{children:"Requirement Interview"}),s.jsx("span",{children:T.state})]}),T.question&&s.jsxs("div",{className:"oc-interview-bubble",children:[s.jsx("strong",{children:T.question.text}),s.jsxs("p",{children:["建议:",T.question.recommendation]}),s.jsx("textarea",{value:Kn,onChange:f=>en(f.target.value),placeholder:"输入答案"}),s.jsxs("div",{children:[s.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>{wn("override")},disabled:!Kn.trim(),children:"提交答案"}),s.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>{wn("accept-recommendation")},children:"接受建议"})]})]}),T.draft&&s.jsxs("details",{open:!0,children:[s.jsxs("summary",{children:["TaskContractDraftV1 ·"," ",T.draftSha256?.slice(0,12)]}),s.jsx("pre",{children:JSON.stringify(T.draft,null,2)})]}),T.assessment&&s.jsxs("div",{className:`oc-assessment${T.assessment.fresh?" is-fresh":""}`,children:[s.jsxs("strong",{children:["完整性:",T.assessment.outcome]}),(T.assessment.missingFields??[]).length>0&&s.jsxs("p",{children:["缺失:",T.assessment.missingFields?.join("、")]})]}),T.taskKindRecommendation&&s.jsxs("div",{className:"oc-task-kind-card",children:[s.jsx("span",{children:"taskKind 建议"}),s.jsx("strong",{children:T.taskKindRecommendation}),s.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>{Ol()},children:"由我确认"}),s.jsx("small",{children:"模型不能代替人类确认。"})]}),T.confirmedTaskKind&&s.jsxs("div",{className:"oc-task-kind-card is-confirmed",children:["已由人类确认:",s.jsx("strong",{children:T.confirmedTaskKind})]})]}),Te.map(f=>s.jsx(wp,{card:f,origin:r,sessionId:D.sessionId},f.cardId)),vt.map(f=>s.jsx(Up,{operation:f,origin:r,onNavigateWorkspace:u.onNavigateWorkspace},f.operationId)),Je.map(f=>s.jsx(Hp,{artifact:f},f.artifactId)),s.jsx("div",{ref:Rl})]}),s.jsx("div",{className:"oc-composer",children:s.jsxs("div",{className:"oc-composer-inner",children:[El.length>0&&s.jsx("div",{className:"oc-file-palette",role:"listbox","aria-label":"Repository files",children:El.map(f=>s.jsx("button",{type:"button",role:"option",onMouseDown:x=>x.preventDefault(),onClick:()=>zn(f),children:s.jsxs("code",{children:["@",f]})},f))}),Mt.length>0&&s.jsx("div",{className:"oc-attachment-list",children:Mt.map(f=>s.jsxs("span",{children:[f.name,s.jsx("button",{type:"button","aria-label":`移除 ${f.name}`,onClick:()=>In(x=>x.filter(A=>A!==f)),children:"×"})]},f.name))}),s.jsxs("div",{className:"oc-composer-toolbar",children:[s.jsxs("label",{className:"oc-attach-button",children:["添加图片",s.jsx("input",{type:"file",accept:"image/png,image/jpeg,image/gif,image/webp",multiple:!0,hidden:!0,onChange:f=>{const x=Array.from(f.target.files??[]).slice(0,4);for(const A of x){if(!A.type.startsWith("image/")||A.size>5*1024*1024){q("图片仅支持 PNG/JPEG/GIF/WebP,单张不超过 5 MiB");continue}const U=new FileReader;U.onload=()=>{const I=String(U.result??""),L=I.slice(I.indexOf(",")+1);In(Be=>[...Be,{name:A.name,type:"image",mimeType:A.type,data:L}].slice(0,4))},U.readAsDataURL(A)}f.target.value=""}})]}),s.jsxs("span",{className:"oc-composer-hint",children:[s.jsx("span",{className:"oc-kbd",children:"Enter"})," 发送"]}),s.jsxs("span",{className:"oc-composer-hint",children:[s.jsx("span",{className:"oc-kbd",children:"Shift"}),"+",s.jsx("span",{className:"oc-kbd",children:"Enter"})," 换行"]})]}),Ge&&kt.length>0&&s.jsx("div",{className:"oc-shortcut-palette",role:"listbox","aria-label":"Chat shortcuts",children:kt.map((f,x)=>s.jsxs("button",{type:"button",role:"option","aria-selected":x===Bt,className:x===Bt?"is-active":"",onMouseDown:A=>A.preventDefault(),onClick:()=>ll(f.command),children:[s.jsx("code",{children:f.command}),s.jsxs("span",{children:[s.jsx("strong",{children:f.label}),s.jsx("small",{children:f.description})]})]},f.command))}),s.jsxs("div",{className:`oc-composer-shell${Xt?" is-busy":""}`,children:[s.jsx("textarea",{ref:Pn,className:"oc-textarea",value:Ke,rows:3,placeholder:Xt?"正在生成回复…(可直接发起新问题)":$t?"输入消息… Enter 发送 · Shift+Enter 换行":"描述目标,或点选上方建议开始…",onChange:f=>{Yt(f.target.value),Ve(f.target.value.startsWith("/")),Vn(0)},onKeyDown:Un,onCompositionStart:()=>{tl.current=!0},onCompositionEnd:()=>{tl.current=!1,Le.current=Date.now()},disabled:Xt}),Xt?s.jsx("button",{type:"button",className:"oc-stop",title:"停止生成","aria-label":"停止生成",onClick:_n,children:s.jsx(Zp,{})}):s.jsx("button",{type:"button",className:"oc-send",title:"发送","aria-label":"发送",onClick:()=>{kn(Ke)},disabled:!Ke.trim()&&Mt.length===0,children:s.jsx(Qp,{})})]}),s.jsxs("div",{className:"oc-runtime-controls",children:[s.jsxs("select",{className:"oc-model-select","aria-label":"Model",value:al,onChange:f=>{const x=Jn.find(A=>Ja(A.provider,A.id)===f.target.value);x&&ot({provider:x.provider,modelId:x.id})},children:[s.jsx("option",{value:"",children:"选择模型"}),vl&&!na?s.jsx("option",{value:al,children:al}):null,Jn.filter(f=>f.hasCredentials!==!1).map(f=>s.jsx("option",{value:Ja(f.provider,f.id),children:Ja(f.provider,f.id)},Ja(f.provider,f.id)))]}),s.jsxs("select",{className:"oc-thinking-select","aria-label":"Thinking level",value:ta,onChange:f=>{ot({thinkingLevel:f.target.value})},children:[s.jsx("option",{value:"",children:"思考等级"}),Cn.map(f=>s.jsx("option",{value:f,children:f},f))]}),s.jsxs("span",{className:"oc-usage",children:[Xt?"运行中":"空闲",te>0?` · ${te} 未读`:""," ·"," ",mn.inputTokens," in · ",mn.outputTokens," out ·"," ",mn.totalTokens," tokens ·"," ",mn.cost===void 0?"—":`$${mn.cost.toFixed(4)}`]}),s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{st()},disabled:Xt||!$t,title:$t?Xt?"生成中,暂不可压缩":"压缩上下文,释放 token":"先进行对话后再压缩上下文",children:"Compact"}),Hn?s.jsxs("div",{className:"oc-tools-menu oc-tools-menu--composer",ref:yn,children:[s.jsxs("button",{type:"button",className:`oc-cap-chip oc-tools-toggle${Wt?" is-active":""}`,"aria-pressed":Wt,"aria-expanded":Wt,"aria-controls":"oc-tools-catalog",onClick:()=>{_e(f=>!f),Wt||ge(!1)},children:[Hn.total," 工具"]}),Wt&&s.jsxs("div",{id:"oc-tools-catalog",className:"oc-tools-catalog",role:"dialog","aria-label":"可用工具列表",children:[s.jsxs("header",{className:"oc-tools-catalog-head",children:[s.jsx("strong",{children:"可用工具"}),s.jsxs("span",{className:"oc-tools-catalog-meta",children:[Hn.total," 个 · 点选了解简介"]}),s.jsx("button",{type:"button",className:"btn btn-ghost oc-tools-catalog-close","aria-label":"关闭工具列表",onClick:()=>_e(!1),children:"关闭"})]}),s.jsxs("div",{className:"oc-tools-catalog-body",children:[Hn.explore.length>0&&s.jsxs("section",{className:"oc-tools-group",children:[s.jsx("h4",{className:"oc-tools-group-title",children:"仓库探查"}),s.jsx("ul",{className:"oc-tools-list",children:Hn.explore.map(f=>s.jsxs("li",{className:"oc-tools-item",children:[s.jsxs("div",{className:"oc-tools-item-head",children:[s.jsx("code",{className:"oc-tools-name",children:f.toolId}),s.jsx("span",{className:"oc-tools-kind is-explore",children:Bm(f.kind)})]}),s.jsx("p",{className:"oc-tools-desc",children:f.description})]},f.toolId))})]}),s.jsxs("section",{className:"oc-tools-group",children:[s.jsx("h4",{className:"oc-tools-group-title",children:"Operator 动作"}),s.jsx("ul",{className:"oc-tools-list",children:Hn.operator.map(f=>s.jsxs("li",{className:"oc-tools-item",children:[s.jsxs("div",{className:"oc-tools-item-head",children:[s.jsx("code",{className:"oc-tools-name",children:f.toolId}),s.jsx("span",{className:`oc-tools-kind is-${f.kind??"read"}`,children:Bm(f.kind)})]}),s.jsx("p",{className:"oc-tools-desc",children:f.description}),f.cli&&s.jsxs("p",{className:"oc-tools-cli",children:["CLI: ",s.jsx("code",{children:f.cli})]})]},f.toolId))})]})]})]})]}):null,cn&&s.jsxs("button",{type:"button",className:`oc-process-summary is-${cn.statusKind}${vn?" is-open":""}`,"aria-pressed":vn,"aria-controls":"oc-process-panel",onClick:()=>{ge(f=>!f),vn||_e(!1)},children:["执行过程 · ",cn.count," 工具 ·"," ",cn.statusLabel]}),Wn&&s.jsx(qp,{ref:pe,open:pn,onToggle:()=>pt(f=>!f),onClose:()=>pt(!1),context:Wn})]})]})})]}),vn&&s.jsxs("aside",{id:"oc-process-panel",className:"oc-process","aria-label":"执行过程",children:[s.jsxs("header",{className:"oc-process-head",children:[s.jsxs("div",{className:"oc-process-title",children:[s.jsx("span",{className:"oc-process-title-mark","aria-hidden":"true"}),"执行过程",s.jsx("span",{className:"oc-process-count",children:Pe.length})]}),s.jsx("button",{type:"button",className:"btn btn-ghost oc-process-close","aria-label":"关闭执行过程",onClick:()=>ge(!1),children:"关闭"})]}),s.jsx("div",{className:"oc-process-timeline",children:Pe.length===0?s.jsx("div",{className:"oc-process-empty",children:"本轮对话尚无工具调用。诊断细节会在这里按时间线展示。"}):Pe.map((f,x)=>s.jsxs("div",{className:`oc-process-item${x===0?" is-first":""}${x===Pe.length-1?" is-last":""}${f.status==="error"?" is-error":""}${f.status==="running"?" is-running":""}`,children:[s.jsx("div",{className:"oc-process-rail","aria-hidden":"true",children:s.jsx("span",{className:"oc-process-dot"})}),s.jsx("div",{className:"oc-process-time",children:Wm(f.createdAt)}),s.jsx("div",{className:"oc-process-body",children:s.jsx(Bp,{entry:f})})]},f.id))})]})]}):s.jsxs("div",{className:"oc-workspace",children:[Ra,s.jsx("div",{className:"oc-main is-landing",children:s.jsx("div",{className:"oc-messages is-empty",children:s.jsx(Ym,{mode:"no-session",readiness:u.readiness,onSuggest:async f=>{await sn()&&await kn(f)},onCreateSession:()=>{sn()}})})})]})]})}v.memo(v.forwardRef(function({context:r,loading:h},d){return s.jsxs("section",{ref:d,className:"oc-task-context","aria-label":"Task context",children:[s.jsxs("header",{children:[s.jsxs("div",{children:[s.jsx("small",{children:"Durable task context"}),s.jsx("strong",{children:r?.taskId??"当前任务"})]}),s.jsx("span",{children:h&&!r?"同步中…":r?.updatedAt?"已恢复":"等待事件"})]}),r?.taskId?s.jsxs("div",{className:"oc-task-context-grid",children:[s.jsxs("div",{children:[s.jsx("b",{children:"Draft"}),s.jsx("span",{children:r.draft?r.draft.draftSha256.slice(0,12):"未生成"})]}),s.jsxs("div",{children:[s.jsx("b",{children:"Assessment"}),s.jsx("span",{children:r.assessment?`${r.assessment.outcome}${r.assessment.fresh?" · fresh":""}`:"未评估"})]}),s.jsxs("div",{children:[s.jsx("b",{children:"Task kind"}),s.jsx("span",{children:r.taskKind?.value??r.draft?.taskKindRecommendation??"待确认"})]}),s.jsxs("div",{children:[s.jsx("b",{children:"Contract"}),s.jsx("span",{children:r.contract?.confirmationState??"待准备"}),r.contract?.diffSummary&&s.jsx("small",{children:r.contract.diffSummary})]}),s.jsxs("div",{children:[s.jsx("b",{children:"DAG"}),s.jsx("span",{children:r.dag?.confirmationState??"待生成"}),r.dag?.spine&&s.jsx("small",{children:r.dag.spine.join(" → ")})]}),s.jsxs("div",{children:[s.jsx("b",{children:"Operations"}),s.jsx("span",{children:r.operations.length?r.operations.map(b=>`${b.action}: ${b.state}`).join(" · "):"无"})]})]}):s.jsx("p",{className:"oc-task-context-empty",children:"Draft、assessment、Contract 与 DAG 状态会在此实时聚合。"})]})}));function wp({card:u,origin:r,sessionId:h}){const[d,b]=v.useState(!1),[C,D]=v.useState(),Z=async()=>{b(!0),D(void 0);try{const Q=u.gateType==="dag-run"?u.state==="prepared"?"dag-confirm":"dag-run":u.gateType==="mutation"?"mutation-apply":"contract-apply",ee=u.gateType==="dag-run"?{confirmationId:u.confirmationId,...u.state==="prepared"?{humanGateToken:u.humanGateToken}:{}}:{receiptId:u.receiptId,humanGateToken:u.humanGateToken},G=await fetch(`${r}/api/operator/v1/chat/sessions/${encodeURIComponent(h)}/human-gate/${Q}`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","x-loop-console-confirmation":$n()},body:JSON.stringify(ee)}),le=await G.json();if(!G.ok)throw new Error(le.error?.message??`HTTP ${G.status}`)}catch(Q){D(Q instanceof Error?Q.message:String(Q))}finally{b(!1)}},X=u.state==="prepared"||u.gateType==="dag-run"&&u.state==="confirmed",k=u.gateType==="contract-apply"?"Contract apply":u.gateType==="mutation"?"Mutation":"DAG run",K=u.gateType==="contract-apply"?"Apply":u.gateType==="mutation"?"Execute":u.state==="prepared"?"Confirm":"Run";return s.jsxs("section",{className:`oc-human-gate-card is-${u.state}`,"aria-label":`Human gate ${u.cardId}`,children:[s.jsxs("header",{children:[s.jsxs("div",{children:[s.jsx("small",{children:"HumanGateCard · 仅人类可确认"}),s.jsx("strong",{children:k})]}),s.jsx("span",{children:u.state})]}),u.contractDiffSummary&&s.jsx("p",{children:u.contractDiffSummary}),u.displayOnlyChallenges&&s.jsxs("div",{className:"oc-human-gate-challenges",children:[s.jsx("b",{children:"Challenge(仅展示,不是确认信号)"}),s.jsx("ul",{children:u.displayOnlyChallenges.map(Q=>s.jsx("li",{children:Q},Q))})]}),u.dagSpine&&u.dagSpine.length>0&&s.jsxs("div",{children:[s.jsx("b",{children:"DAG spine"}),s.jsx("ol",{children:u.dagSpine.map(Q=>s.jsx("li",{children:s.jsx("code",{children:Q})},Q))})]}),s.jsxs("footer",{children:[s.jsx("a",{href:u.inspectHref,children:"Inspect"}),s.jsx("button",{className:"btn btn-primary",type:"button",disabled:!X||d,onClick:()=>{Z()},children:d?"提交中…":K})]}),C&&s.jsx("div",{className:"oc-human-gate-error",children:C})]})}function Up(u){const{operation:r}=u,h=r.inspectHref.startsWith("/")?`${u.origin}${r.inspectHref}`:r.inspectHref,d=r.state==="failed"||r.state==="timed-out"||r.state==="needs-reconcile",b=(D,Z)=>{u.onNavigateWorkspace?u.onNavigateWorkspace(D,Z):window.location.assign(Rp(D,Z))},C=[r.taskId?["task",r.taskId]:void 0,r.dagRunId?["dag",r.dagRunId]:void 0,r.featureId?["feature",r.featureId]:void 0,r.workerRunId?["worker",r.workerRunId]:void 0].filter(D=>!!D);return s.jsxs("section",{className:`oc-operation-card is-${r.state}`,"aria-label":`Operation ${r.operationId}`,children:[s.jsxs("header",{className:"oc-operation-head",children:[s.jsxs("div",{children:[s.jsx("div",{className:"oc-operation-kicker",children:"Operation"}),s.jsx("strong",{children:r.action})]}),s.jsx("span",{className:`oc-operation-state is-${r.state}`,children:r.state})]}),s.jsx("div",{className:"oc-operation-id",children:s.jsx("code",{children:r.operationId})}),C.length>0&&s.jsx("div",{className:"oc-operation-identities",children:C.map(([D,Z])=>s.jsxs("span",{children:[s.jsx("b",{children:D})," ",Z]},`${D}:${Z}`))}),r.controller&&s.jsxs("div",{className:"oc-operation-controller",children:["controller: ",r.controller]}),r.summaryPreview&&s.jsx("pre",{className:"oc-operation-preview",children:r.summaryPreview}),r.stderrPreview&&s.jsx("pre",{className:"oc-operation-preview is-error",children:r.stderrPreview}),r.stdoutPreview&&s.jsx("pre",{className:"oc-operation-preview",children:r.stdoutPreview}),s.jsxs("footer",{className:"oc-operation-actions",children:[s.jsx("a",{className:"btn btn-ghost",href:h,target:"_blank",rel:"noreferrer",children:"Inspect"}),r.taskId&&s.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>b("tasks",{taskId:r.taskId}),children:"打开 Task Ops"}),r.dagRunId&&s.jsx("a",{className:"btn btn-ghost",href:`${u.origin}/inspect/#/dag/${encodeURIComponent(r.dagRunId)}`,target:"_blank",rel:"noreferrer",children:"打开 Run / Inspect"}),d&&(r.dagRunId||r.taskId)&&s.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>b("recovery",{taskId:r.taskId,dagRunId:r.dagRunId}),children:"打开 Recovery"}),s.jsx("time",{dateTime:r.updatedAt,children:new Date(r.updatedAt).toLocaleString()})]})]})}function Hp(u){const{artifact:r}=u;return s.jsxs("section",{className:"oc-artifact-card","aria-label":`${r.kind} artifact`,children:[s.jsxs("header",{children:[s.jsx("strong",{children:r.title??r.artifactId}),s.jsx("span",{children:r.kind})]}),r.summary&&s.jsx("p",{children:r.summary}),r.reportText&&s.jsx("pre",{children:r.reportText}),r.htmlPreview&&s.jsx("iframe",{title:`${r.title??r.artifactId} preview`,sandbox:"",srcDoc:r.htmlPreview}),r.inspectHref&&s.jsx("a",{href:r.inspectHref,children:"查看详情"})]})}function Lp(u){const{message:r,streaming:h,activeAssistantId:d}=u,b=r.role==="user",C=b?"你":"π",D=b?"你":"助手",Z=!b&&h&&d!==null&&r.id===d,X=Z&&r.text.length===0,k=r.text.trim().length>0;return s.jsxs("div",{className:`oc-row ${b?"is-user":"is-assistant"}`,children:[s.jsxs("div",{className:"oc-meta",children:[s.jsx("span",{className:`oc-avatar ${b?"oc-avatar-user":"oc-avatar-assistant"}`,"aria-hidden":"true",children:C}),s.jsx("span",{className:"oc-role",children:D}),s.jsx("span",{className:"oc-time",children:Wm(r.createdAt)}),k&&s.jsx(Gp,{text:r.text})]}),s.jsxs("div",{className:`oc-bubble ${b?"oc-bubble-user":"oc-bubble-assistant"}`,children:[k?b?s.jsx("div",{style:{whiteSpace:"pre-wrap"},children:r.text}):s.jsx(ap,{text:r.text}):X?s.jsx("span",{className:"oc-cursor","aria-hidden":"true"}):s.jsx("span",{style:{color:"var(--muted-soft)"},children:"…"}),Z&&k&&s.jsx("span",{className:"oc-cursor","aria-hidden":"true"})]})]})}const qp=v.forwardRef(function({open:r,onToggle:h,onClose:d,context:b},C){const D=Object.keys(b.resources??{}).length;return s.jsxs("div",{className:"oc-runtime-context-menu",ref:C,children:[s.jsx("button",{type:"button",className:`btn btn-ghost oc-runtime-context-toggle${r?" is-active":""}`,"aria-expanded":r,"aria-controls":"oc-runtime-context-panel",onClick:h,children:"注入上下文"}),r&&s.jsxs("div",{id:"oc-runtime-context-panel",className:"oc-runtime-context-panel",role:"dialog","aria-label":"注入上下文",children:[s.jsxs("header",{className:"oc-runtime-context-head",children:[s.jsx("strong",{children:"注入上下文"}),s.jsx("span",{className:"oc-runtime-context-meta",children:"只读 · 本轮请求实际注入"}),s.jsx("button",{type:"button",className:"btn btn-ghost oc-runtime-context-close","aria-label":"关闭",onClick:d,children:"关闭"})]}),s.jsxs("div",{className:"oc-runtime-context-body",children:[s.jsxs("dl",{className:"oc-runtime-context-dl",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"System prompt"}),s.jsxs("dd",{children:[b.systemPrompt.summary??"—",s.jsxs("code",{className:"oc-runtime-context-hash",children:[b.systemPrompt.hash.slice(0,12),"…"]})]})]}),b.model&&s.jsxs("div",{children:[s.jsx("dt",{children:"Model"}),s.jsx("dd",{children:s.jsx("code",{children:Ja(b.model.provider,b.model.modelId)})})]}),b.thinkingLevel&&s.jsxs("div",{children:[s.jsx("dt",{children:"Thinking"}),s.jsx("dd",{children:b.thinkingLevel})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Skills"}),s.jsx("dd",{children:b.skills.length===0?"无":s.jsx("ul",{className:"oc-runtime-context-skills",children:b.skills.map(Z=>s.jsxs("li",{children:[s.jsx("code",{children:Z.name}),s.jsxs("span",{children:[Z.charCount.toLocaleString()," 字"]})]},Z.name))})})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Suffix"}),s.jsx("dd",{children:b.suffix.present?b.suffix.summary??"已注入":"未注入"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Resources"}),s.jsx("dd",{children:D>0?`${D} 项`:"无"})]})]}),s.jsxs("details",{className:"oc-runtime-context-raw",children:[s.jsx("summary",{children:"原始 JSON"}),s.jsx("pre",{children:JSON.stringify(b,null,2)})]})]})]})]})});function Gp(u){const[r,h]=v.useState(!1),d=()=>{navigator.clipboard?.writeText(u.text).then(()=>{h(!0),window.setTimeout(()=>h(!1),1600)},()=>{})};return s.jsx("button",{type:"button",className:`oc-message-copy${r?" is-copied":""}`,"aria-label":r?"已复制":"复制消息",title:r?"已复制":"复制",onClick:d,children:r?s.jsx(Xp,{}):s.jsx(Yp,{})})}function Bp(u){const{entry:r}=u,[h,d]=v.useState(r.status==="error"),b=r.status==="running"?"运行中":r.status==="error"?"出错":"完成",C=`is-${r.status}`,D=zp(r.args);return s.jsxs("div",{className:`oc-tool ${r.status==="error"?"is-error":""} ${r.status==="running"?"is-running":""}`,children:[s.jsxs("button",{type:"button",className:"oc-tool-head","aria-expanded":h,onClick:()=>d(Z=>!Z),children:[s.jsx($p,{}),s.jsx("span",{className:"oc-tool-icon","aria-hidden":"true",children:s.jsx(Vp,{})}),s.jsx("span",{className:"oc-tool-name",children:r.toolName}),D&&s.jsx("span",{className:"oc-tool-args",children:D}),s.jsx("span",{className:`oc-tool-status ${C}`,children:b})]}),h&&s.jsxs("div",{className:"oc-tool-body",children:[r.args!==void 0&&s.jsxs("div",{className:"oc-tool-section",children:[s.jsx("div",{className:"oc-tool-label",children:"入参"}),s.jsx("pre",{className:"oc-tool-code",children:typeof r.args=="string"?r.args:JSON.stringify(r.args,null,2)})]}),r.resultText!==void 0&&s.jsxs("div",{className:"oc-tool-section",children:[s.jsx("div",{className:"oc-tool-label",children:r.status==="error"?"错误":"结果"}),s.jsx("pre",{className:"oc-tool-code",children:r.resultText})]}),r.status==="running"&&r.resultText===void 0&&r.args===void 0&&s.jsx("div",{className:"oc-tool-section",children:s.jsx("div",{className:"oc-tool-waiting",children:"等待结果…"})})]})]})}function Yp(){return s.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[s.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),s.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function Xp(){return s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:s.jsx("polyline",{points:"20 6 9 17 4 12"})})}function Qp(){return s.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[s.jsx("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),s.jsx("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})}function Zp(){return s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:s.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}function $p(){return s.jsx("svg",{className:"oc-tool-chevron",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:s.jsx("polyline",{points:"4 2.5 7.5 6 4 9.5"})})}function Vp(){return s.jsx("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:s.jsx("path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"})})}function zc(u){const r=(u??"").trim();return r?/controller identity changed|package fingerprint changed|entry binary sha256 changed/i.test(r)?"控制器版本已变更(Console 启动后代码被重新编译)。请重启 Console 后再试,一次会话中途不要升级/重建控制器。":r:"操作失败"}const Kp={report:{id:"report",label:"查看报告",action:"dagReport",lane:"dag",guide:"看失败分类与建议动作(交接报告摘要)",commandHint:"loop-agent dag report --run-id <run-id> --json"},doctor:{id:"doctor",label:"Doctor 诊断",action:"doctor",lane:"dag",guide:"只读诊断:检查 Console / Pi / 仓库就绪,不是重跑前置",commandHint:"agent-worker console doctor --repo ."},decision:{id:"decision",label:"人工决策",lane:"dag",guide:"暂停等人时:先看 doctor 输出再做决策(经 CLI)",commandHint:"loop-agent dag doctor --run-id <run-id> --markdown"},resume:{id:"resume",label:"恢复运行",lane:"dag",guide:"仅当运行可安全 resume 时使用(经 CLI)",commandHint:"loop-agent task advance <task-id> --json"},reconcile:{id:"reconcile",label:"对账 / reconcile",requiresReason:!0,lane:"dag",guide:"状态不一致时先对账,再决定是否重跑(需原因)",commandHint:"loop-agent dag reconcile-run --run-id <run-id> --reason <structured-reason>"},regenerate:{id:"regenerate",label:"重新生成契约/计划",lane:"dag",guide:"契约/计划过期时:回任务页或经 CLI 重新 task advance(本页仅提示)",commandHint:"loop-agent task advance <task-id> --json"},observeLink:{id:"observeLink",label:"全屏观测",action:"observeLink",lane:"dag",guide:"打开完整 Inspect 画布;顶栏可返回操作台",commandHint:"agent-worker console serve --repo . --port 8790"},dagRerun:{id:"dagRerun",label:"从节点重跑",requiresReason:!0,action:"dagRerun",lane:"dag",guide:"子图重跑:需选起点且 plan 合格;含 writer 的早期节点常不可用",commandHint:"loop-agent dag rerun --run-id <run-id> --from-node <node-id> --plan"},standaloneTaskRerun:{id:"standaloneTaskRerun",label:"完整重跑任务",requiresReason:!0,action:"standaloneTaskRerun",lane:"dag",guide:"整单重跑:失败类默认首选;需确认原因后提交",commandHint:"loop-agent task advance <task-id> --json"},workerTaskRetry:{id:"workerTaskRetry",label:"重新排队 Worker Task",requiresReason:!0,action:"workerTaskRetry",lane:"worker",guide:"仅 Worker 队列任务失败时使用,不要与 DAG 重跑混用",commandHint:"agent-worker task retry <task-id> --feature-id <feature-id> --repo . --reason <reason>"}},Xm={"validation-failed":["report","doctor","regenerate"],"contract-drift":["report","doctor","decision","reconcile","regenerate"],"runtime-mismatch":["report","doctor","reconcile","regenerate"],"pause-on-human":["decision","resume","report","doctor"],"verification-failed":["report","doctor","standaloneTaskRerun","dagRerun","resume","regenerate"],"orphan-unknown":["report","doctor","reconcile"],"terminal-failed":["report","doctor","dagRerun","standaloneTaskRerun","workerTaskRetry","regenerate"],"terminal-succeeded":["report","observeLink"],"needs-reconcile":["report","doctor","reconcile","regenerate"]};function Ip(u){return(Xm[u]??Xm["orphan-unknown"]).map(h=>Kp[h])}function Jp(u){const r=[],h=[];for(const d of u)d.lane==="worker"?h.push(d):r.push(d);return{dag:r,worker:h}}function Wp(u){return typeof u.action=="string"&&u.action.trim().length>0}function Fm(u){return Ip(u).filter(Wp)}function Fp(u){const r=new Set(Fm(u).map(d=>d.id)),h=(...d)=>{for(const b of d)if(r.has(b))return b;return null};switch(u){case"terminal-failed":case"verification-failed":return h("standaloneTaskRerun","dagRerun","doctor","report");case"pause-on-human":return h("doctor","report");case"needs-reconcile":case"runtime-mismatch":case"contract-drift":return h("doctor","report");case"validation-failed":return h("doctor","report");case"terminal-succeeded":return h("observeLink","report");default:return h("doctor","report")}}function Pp(u){if(u.needsReconcile)return"needs-reconcile";const r=(u.errorCode??"").toLowerCase(),h=(u.operationState??"").toLowerCase(),d=(u.dagStatus??"").toLowerCase();return r.includes("validation")||r.includes("invalid")||h.includes("validation")?"validation-failed":r.includes("contract")||r.includes("drift")||r.includes("binding")?"contract-drift":r.includes("runtime")||r.includes("mismatch")||r.includes("fingerprint")?"runtime-mismatch":r.includes("human")||h.includes("paused")||d.includes("paused")||h.includes("awaiting")?"pause-on-human":r.includes("verif")||h.includes("verif")?"verification-failed":h==="succeeded"||h==="completed"||d==="succeeded"||d==="completed"?"terminal-succeeded":h==="failed"||h.includes("fail")||d==="failed"||r.includes("fail")?"terminal-failed":r.includes("reconcil")||h.includes("reconcil")?"needs-reconcile":"orphan-unknown"}const eo=new Set(["failed","error","partial_failed"]),Pm=new Set(["blocked","paused","awaiting_human"]);function wc(u){return(u??"").trim().toLowerCase()}function ey(u){return eo.has(wc(u))}function Qm(u){const r=wc(u.status);return eo.has(r)||r.includes("fail")?0:u.lifecycle==="paused"||r==="paused"?1:u.lifecycle==="active"?2:3}function ty(u){return[...u].sort((r,h)=>{const d=Qm(r)-Qm(h);return d!==0?d:h.mtimeMs-r.mtimeMs})}function ny(u){return ty(u)[0]?.dagRunId}function Zm(u){const r=wc(u.status);return eo.has(r)?0:Pm.has(r)?1:2}function eh(u){return[...u].sort((r,h)=>{const d=Zm(r)-Zm(h);return d!==0?d:r.nodeId.localeCompare(h.nodeId)})}function ly(u){const r=eh(u);return r.find(d=>ey(d.status)||Pm.has(wc(d.status)))?.nodeId??r[0]?.nodeId}function ay(u){const r=u.status?.trim()||u.lifecycle;return`${u.dagRunId.length>36?`${u.dagRunId.slice(0,18)}…${u.dagRunId.slice(-8)}`:u.dagRunId} · ${r}`}function iy(u){const r=u.status?.trim()||"unknown",h=u.label?.trim();return h&&h!==u.nodeId?`${u.nodeId} · ${r} · ${h}`:`${u.nodeId} · ${r}`}function sy(u){const h=[`operator-recovery: ${u.actionLabel?.trim()||"恢复"}`],d=u.dagRunId?.trim();if(d){const Z=u.runStatus?.trim();h.push(Z?`run=${d} (${Z})`:`run=${d}`)}const b=u.fromNodeId?.trim();if(b){const Z=u.nodeStatus?.trim();h.push(Z?`from-node=${b} (${Z})`:`from-node=${b}`)}const C=u.factClassLabel?.trim();C&&h.push(`fact=${C}`);const D=u.nodeError?.trim()||u.errorMessage?.trim()||(u.errorCode?.trim()?`code=${u.errorCode.trim()}`:"");return D&&h.push(`detail=${D.replace(/\s+/g," ").slice(0,280)}`),h.join(`
|
|
20
|
-
`).slice(0,500)}function $m(u){const r=u.trim();return r?r==="operator-recovery"||r.startsWith("operator-recovery:")||r.startsWith("recovery:"):!0}const Wr=8*1024*1024,cy=10*1024*1024,Mc=8,uy=".md,.markdown,.txt,text/markdown,text/plain",ry=[".md",".markdown",".txt"],to=/\.[^.]+$/;function oy(u){const r=to.exec(u.trim());return r?r[0].toLowerCase():""}function dy(u){const r=oy(u);return ry.includes(r)}function Fr(u){if(!Number.isFinite(u)||u<0)return"0 B";if(u<1024)return`${u} B`;if(u<1024*1024){const h=u/1024;return`${h>=10?h.toFixed(0):h.toFixed(1)} KiB`}const r=u/(1024*1024);return`${r>=10?r.toFixed(1):r.toFixed(2)} MiB`}function Wl(u,r){return{ok:!1,code:u,message:r}}function fy(u,r){const h=u?Array.from(u):[],d=r?.maxFiles??Mc,b=r?.existingCount??0;return h.length===0?Wl("file-count","请选择至少一个 .md / .markdown / .txt 文件"):b+h.length>d?Wl("file-count",`最多支持 ${d} 个文件(当前已有 ${b} 个)`):null}async function my(u){const r=u.name?.trim()||"untitled.md";if(!dy(r))return Wl("unsupported-extension","仅支持 .md、.markdown、.txt 文件");if(u.size>Wr)return Wl("file-too-large",`文件不能超过 ${Fr(Wr)}`);let h;try{h=await u.arrayBuffer()}catch{return Wl("read-failed","文件读取失败,请重试或直接粘贴")}let d;try{d=new TextDecoder("utf-8",{fatal:!0}).decode(h)}catch{return Wl("invalid-utf8","文件不是有效 UTF-8,请另存为 UTF-8")}if(d.trim().length===0)return Wl("empty-content","文件内容不能为空或只有空白");const b=new TextEncoder().encode(d).byteLength;return{ok:!0,text:d,fileName:r,sourceBytes:u.size,textBytes:b}}async function hy(u){if(u.length===0)return Wl("file-count","请选择至少一个 .md / .markdown / .txt 文件");if(u.length>Mc)return Wl("file-count",`最多支持 ${Mc} 个文件`);const r=[];for(const h of u){const d=await my(h);if(!d.ok)return d;r.push({fileName:d.fileName,text:d.text,sourceBytes:d.sourceBytes,textBytes:d.textBytes})}return{ok:!0,documents:r}}function vy(u,r){const h=u.split(/\r?\n/);for(const b of h){const C=/^(#{1,6})\s+(.+)$/.exec(b.trim());if(C?.[2])return C[2].trim()}for(const b of h){const C=b.trim();if(C&&!/^---+$/.test(C)&&!/^```/.test(C)&&!/^<!--/.test(C))return C.replace(/^>\s+/,"").slice(0,120)}return r.replace(to,"").trim()||"需求"}function py(u){return u.trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"requirement"}function yy(u,r){const h=u.replace(to,"").trim(),d=py(h);return d==="requirement"&&/[^\u0000-\u007f]/.test(h)?`part-${r+1}`:d==="requirement"?h?`part-${r+1}`:`part-${r+1}`:d}function gy(u){const r=new Set;return u.map((h,d)=>{let b=yy(h.fileName,d);if(r.has(b)){let C=2;for(;r.has(`${b}-${C}`);)C+=1;b=`${b}-${C}`}return r.add(b),{name:b,content:h.text,fileName:h.fileName}})}function by(u,r){if(u.length===0)return"";if(u.length===1)return u[0].text;const h=Math.min(Math.max(0,r?.primaryIndex??0),u.length-1),d=u[h],b=vy(d.text,d.fileName),D=[`<!-- composed-from: ${u.map(Z=>Z.fileName).join(", ")} -->`,"",`# ${b}`,""];for(const Z of u)D.push(`## 来源:${Z.fileName}`,"",Z.text.trim(),"");return`${D.join(`
|
|
21
|
-
`).trimEnd()}
|
|
22
|
-
`}function xy(u,r,h){const d={action:u,actionParams:r};return new TextEncoder().encode(JSON.stringify(d)).byteLength<=cy}function Sy(){return"最终内容导致请求体超过服务端限制,请缩小文档或减少文件数量"}function jy(u){return u==="validate"||u==="apply"||u==="spine"?"contract":u}const th="X-Loop-Console-Confirmation",Ny="agent-worker console doctor --repo .",Qr=[{kind:"standard",label:"后端研发(默认 DAG)",hint:"生成标准 hybrid DAG(contract → implement → verify)"},{kind:"frontend-implementation",label:"前端研发",hint:"生成 frontend-implementation 专用节点链"},{kind:"backend-test",label:"后端测试",hint:"生成 backend-test-dag(分析 / 用例 / pytest)"},{kind:"frontend-test",label:"前端测试",hint:"生成 frontend-test-dag(RAG 用例 + Playwright CLI)"}],Zr={"setup-required":"需要设置",ready:"已就绪",degraded:"降级可用",unknown:"未知"},Ty={idle:"未探测",match:"匹配",mismatch:"仓库不匹配",unavailable:"不可用"},Vm={low:"低",medium:"中",high:"高"},Km={"validation-failed":"校验失败","contract-drift":"契约漂移","runtime-mismatch":"运行时不匹配","pause-on-human":"等待人工","verification-failed":"验证失败","orphan-unknown":"孤立/未知","terminal-failed":"已终止(失败)","terminal-succeeded":"已终止(成功)","needs-reconcile":"需要对账"},Ey={idle:"空闲","not-started":"未开始","not-run":"未运行","n/a (MVP)":"不适用(MVP)",accepted:"已接受",succeeded:"已成功",running:"运行中",ran:"已执行"};function kc(u){return Ey[u]??u}function nh(){return window.__CONSOLE_CONFIRMATION_TOKEN__??""}function Di(u){return`${u}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}async function $r(u,r={},h){const d={"Content-Type":"application/json",[th]:nh()},b=await fetch("/api/operator/v1/operations",{method:"POST",credentials:"same-origin",headers:d,body:JSON.stringify({action:u,actionParams:r,...h?{clientRequestId:h}:{}})});let C={};try{C=await b.json()}catch{C={ok:!1,error:{code:"INVALID_INPUT",message:"操作响应不是合法 JSON"}}}return{status:b.status,body:C}}const Cy=new Set(["runDag","dagRerun","standaloneTaskRerun"]);function Vr(u){const r=(u.blockedReasons??[]).map(String),h=(u.blockingNodes??[]).map(b=>[b.nodeId,b.reasonCode].filter(Boolean).join(":")),d=[...r,...h].filter(Boolean);return d.length===0?"从节点重跑不具备安全资格(子图含 writer / unsafe shell / decision-gate 等)。可改用「完整重跑任务」,或另选只读安全子图的起始节点。":`从节点重跑不具备安全资格:${d.slice(0,6).join("; ")}${d.length>6?"…":""}。可改用「完整重跑任务」。`}async function Im(u,r=9e4){const h=Date.now();for(;Date.now()-h<r;){const d=await fetch(`/api/operator/v1/operations/${encodeURIComponent(u)}`,{credentials:"same-origin"});if(!d.ok)return null;const b=await d.json(),C=b.operation??b,D=C.state??"";if(D==="succeeded"||D==="failed"||D==="needs-reconcile"||D==="timed-out")return C;await new Promise(Z=>setTimeout(Z,250))}return{state:"needs-reconcile",errorMessage:"等待操作结果超时"}}function Ay(){const[u,r]=v.useState(()=>Ap({env:void 0,storage:window.localStorage,location:window.location})),[h,d]=v.useState(null),[b,C]=v.useState("setup-required"),[D,Z]=v.useState(null),[X,k]=v.useState(null),[K,Q]=v.useState("setup"),ee=v.useCallback(m=>{Q(z=>jy(typeof m=="function"?m(z):m))},[]),[G,le]=v.useState(""),[ce,nt]=v.useState(""),[oe,Ue]=v.useState("standard"),He=Qr.find(m=>m.kind===oe)??Qr[0],[xt,ut]=v.useState(`# 需求
|
|
23
|
-
|
|
24
|
-
实现 Loop Operator Console Happy Path:Interview → 契约落地 → DAG confirm → run。
|
|
25
|
-
`),[Se,ue]=v.useState([]),[Ne,Fe]=v.useState(0),[Pe,ht]=v.useState(!1),[vt,rt]=v.useState(null),[Je,zt]=v.useState(!1),[O,$]=v.useState(!1),te=v.useRef(0),Ae=v.useRef(0),[Te,g]=v.useState(null),[T,Y]=v.useState(null),[J,ae]=v.useState(""),[ve,Oe]=v.useState(null),[Ge,Ve]=v.useState(null),[Bt,Vn]=v.useState(null),[Fl,Kn]=v.useState(null),[en,Ke]=v.useState(null),[Yt,El]=v.useState(!1),[dl,Mt]=v.useState(null),[In,Jn]=v.useState(null),Cl=v.useRef(!1),[Cn,wt]=v.useState(null),[Wn,Pl]=v.useState(null),[mn,Al]=v.useState(null),[Xt,tn]=v.useState([]),[ea,Fn]=v.useState(!0),hn=v.useRef(null),[q,Qt]=v.useState(!1),[Rt,Ea]=v.useState(!1),[vn,ge]=v.useState(null),[Wt,_e]=v.useState(null),[pn,pt]=v.useState(null),[Rl,nn]=v.useState(null),[Pn,yn]=v.useState({command:"idle",dag:"not-started",verification:"not-run",promote:"n/a (MVP)"}),[pe,Zt]=v.useState(""),[Ca,fl]=v.useState("idle"),[el,An]=v.useState(null),[Rn,ml]=v.useState(null),[hl,tl]=v.useState(!1),[Le,se]=v.useState(""),[We,Dn]=v.useState(""),[Ft,ln]=v.useState(""),[Dl,On]=v.useState(!1),[lt,zn]=v.useState(null),[ot,an]=v.useState(null),[St,sn]=v.useState([]),[ke,nl]=v.useState([]),[kn,_n]=v.useState(!1),[Mn,Aa]=v.useState(!1),[wn,Ol]=v.useState(null),[ll,kt]=v.useState(!1),[Un,jt]=v.useState(!1),[st,cn]=v.useState(null),[vl,al]=v.useState(""),[ta,na]=v.useState(""),[Hn,Ut]=v.useState(""),[pl,Ra]=v.useState("Asia/Shanghai"),[$t,f]=v.useState(""),[x,A]=v.useState(""),[U,I]=v.useState(""),[L,Be]=v.useState(""),[ct,W]=v.useState(!1),[be,at]=v.useState(null),xe=b==="setup-required",dt=b==="degraded",Vt=v.useCallback(m=>{m!==u&&(ge(null),pt(null),_e(null)),r(m)},[u]),Kt=v.useCallback((m,z={})=>{Vt(m),z.taskId&&le(z.taskId),z.dagRunId&&Zt(z.dagRunId),z.fromNodeId&&se(z.fromNodeId),z.featureId&&Dn(z.featureId)},[Vt]);v.useEffect(()=>{const m=Dp(window.location);m&&Kt(m.workspace,m)},[Kt]);const il=v.useCallback(async()=>{try{const z=await(await fetch("/api/health")).json();d(z);const H=z.piReadiness??"setup-required";C(H),k(null),ee(H==="ready"||H==="degraded"?B=>B==="setup"?"import-prd":B:"setup")}catch(m){k(m instanceof Error?m.message:String(m))}try{const z=await(await fetch("/api/operator/v1/readiness")).json();Z(z),z.state&&C(z.state)}catch{}},[]);v.useEffect(()=>{il()},[il]);const Oi=v.useCallback(()=>{Vn(null),Kn(null),Ke(null),El(!1),Mt(null),Jn(null),Cl.current=!1},[]),Wa=v.useCallback(()=>{Oi(),ee("contract")},[Oi,ee]),zi=v.useCallback(m=>{const z=m.session;z?.sessionId&&g(z.sessionId);const H=m.question;Y(H),Oe(m.summary??null);const B=m.assessmentId;typeof B=="string"&&B&&Ve(B),(m.complete===!0||typeof B=="string"&&B)&&(Wa(),_e(m.skipped===!0?"已跳过访谈:已按推荐补齐草稿并签发评估":"访谈已完成:草稿已绑定完整评估结果"))},[Wa]),re=v.useCallback(async(m,z={},H)=>{Qt(!0),ge(null),pt(null),_e(null);try{const{status:B,body:V}=await $r(m,z,H?.clientRequestId);if(B===412||V.error?.code==="PI_SETUP_REQUIRED")return ge(zc(V.error?.message??"Pi 未就绪或已降级:该操作暂不可用")),pt(V.error?.code??"PI_SETUP_REQUIRED"),C("setup-required"),ee("setup"),r("models"),V;if(B>=400||V.ok===!1)return ge(zc(V.error?.message??V.message??`操作失败(HTTP ${B})`)),pt(V.error?.code??String(B)),nn(V.state??`failed:${B}`),yn(Nt=>({...Nt,command:V.error?.message??`failed:${V.error?.code??B}`})),V;if(V.operationId){const Nt=window.localStorage.getItem(ol)?.trim();if(Nt&&fetch(`/api/operator/v1/chat/sessions/${encodeURIComponent(Nt)}/operation-links`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json",[th]:nh()},body:JSON.stringify({operationId:V.operationId})}).then(fe=>{fe.ok||console.warn("Operator Chat operation link failed",fe.status)}).catch(fe=>console.warn("Operator Chat operation link failed",fe)),Al(V.operationId),nn(V.state??"accepted"),yn(fe=>({...fe,command:V.state??"accepted",dag:m==="runDag"?"running":fe.dag})),Cy.has(m)){Fn(!0),_e(`操作已接受,后台运行中:${V.operationId}(请看事件流;可同时打开 Observe)`);const fe=V.operationId;Im(fe,30*6e4).then(yt=>{if(yt){if(nn(yt.state??null),yt.state==="failed"||yt.state==="needs-reconcile"||yt.state==="timed-out"){ge(zc(yt.errorMessage??yt.stderrPreview??`操作失败:${yt.state}`)),pt(yt.errorCode??yt.state??null),yn(wl=>({...wl,command:`failed:${yt.errorCode??yt.state}`}));return}yt.state==="succeeded"&&(_e(`${m} 已成功`),yn(wl=>({...wl,command:"succeeded"})))}})}else{_e(`操作已接受:${V.operationId}`);const fe=await Im(V.operationId);if(fe){if(nn(fe.state??null),fe.state==="failed"||fe.state==="needs-reconcile"||fe.state==="timed-out")return ge(zc(fe.errorMessage??fe.stderrPreview??`操作失败:${fe.state}`)),pt(fe.errorCode??fe.state??null),yn(yt=>({...yt,command:`failed:${fe.errorCode??fe.state}`})),{ok:!1,operationId:V.operationId,state:fe.state,error:{code:fe.errorCode??fe.state??"INTERNAL_ERROR",message:fe.errorMessage??fe.stderrPreview??`操作失败:${fe.state}`}};_e(fe.errorMessage?`${m}:${fe.errorMessage}`:`${m} 已成功`),yn(yt=>({...yt,command:fe.state??"succeeded"}))}}}else _e(`${m} 已完成`),nn(V.state??"succeeded"),yn(Nt=>({...Nt,command:"succeeded",verification:m==="contractValidate"||m==="spineCheck"?"ran":Nt.verification}));const de=V.result??{};(m==="interviewStart"||m==="interviewTurn"||m==="interviewSkip")&&zi(de);const je=de.confirmation;return je?.confirmationId&&(wt(je.confirmationId),Pl(de)),H?.advanceTo&&ee(H.advanceTo),V}catch(B){ge(B instanceof Error?B.message:String(B));return}finally{Qt(!1)}},[zi]),gn=v.useCallback(m=>{if(!m)return"无响应";if(m.error?.message)return m.error.message;if(m.message)return m.message;const z=m.result;if(z&&typeof z=="object")try{return JSON.stringify(z).slice(0,1200)}catch{return"已返回结果"}return m.ok===!1?"失败":"成功"},[]),Dt=v.useCallback(m=>{if(!m||m.ok===!1||m.error)return!1;const z=m.result;if(!z)return!0;if(typeof z.valid=="boolean")return z.valid;const H=z.result;return H&&typeof H.valid=="boolean"?H.valid:!0},[]),zl=v.useCallback(async(m=!1)=>{const z=G.trim();if(!z)return;const H=`${z}:${Ge??""}`;if(!(!m&&In===H&&Bt!==null)&&!Cl.current){Cl.current=!0,Vn(null),Kn(null),Ke(null),Mt(null),El(!1);try{const B=await re("contractValidate",{taskId:z}),V=Dt(B);if(Vn(V),Kn(gn(B)),!V){Jn(H),_e("契约校验未通过:请先修正草稿后再应用");return}const de=await re("contractDiff",{taskId:z});Ke(gn(de)),Jn(H),_e(Dt(de)?"校验与差异已就绪:确认后可应用契约":"校验通过,但差异查询失败(仍可查看下方摘要)")}finally{Cl.current=!1}}},[Ge,In,Bt,Dt,re,gn,G]),yl=v.useCallback(async()=>{const m=G.trim();if(!m||!Ge)return;const z=await re("contractApply",{taskId:m,assessmentId:Ge},{clientRequestId:Di("apply")});if(!Dt(z)){El(!1);return}El(!0);const H=await re("spineCheck",{taskId:m});if(Dt(H)){Mt(!0),ee("dag-confirm"),_e("契约已应用并通过 Spine 审计,可生成并运行 DAG");return}Mt(!1),_e("契约已应用,但 Spine 审计未通过:可重试 Spine")},[Ge,Dt,re,ee,G]),ki=v.useCallback(async()=>{const m=G.trim();if(!m)return;const z=await re("spineCheck",{taskId:m});if(Dt(z)){Mt(!0),ee("dag-confirm"),_e("Spine 审计已通过,可生成并运行 DAG");return}Mt(!1)},[Dt,re,ee,G]),Fa=v.useCallback(async()=>{const m=Cn?.trim();if(!m)return;const z=Wn?.confirmation?.humanGateToken,H=await re("confirmDagConfirmation",{confirmationId:m,humanGateToken:z});Dt(H)&&(ee("run"),await re("runDag",{confirmationId:m},{clientRequestId:Di("run")}))},[Cn,Wn,Dt,re,ee]);v.useEffect(()=>{K==="contract"&&G.trim()&&zl(!1)},[K,G,Ge,zl]);const _i=v.useCallback(async m=>{hn.current?.abort();const z=new AbortController;hn.current=z,tn(H=>[...H,`开始跟随事件流 ${m}`]);try{const H=await fetch(`/api/operator/v1/operations/${encodeURIComponent(m)}/events`,{credentials:"same-origin",signal:z.signal});if(!H.ok||!H.body){tn(je=>[...je,`事件流 HTTP ${H.status}`]);return}const B=H.body.getReader(),V=new TextDecoder;let de="";for(;ea;){const{done:je,value:Nt}=await B.read();if(je)break;de+=V.decode(Nt,{stream:!0});const fe=de.split(`
|
|
26
|
-
|
|
27
|
-
`);de=fe.pop()??"";for(const yt of fe){const wl=yt.split(`
|
|
28
|
-
`).find(wi=>wi.startsWith("data:"));if(!wl)continue;const Lc=wl.slice(5).trim();tn(wi=>[...wi.slice(-80),Lc.slice(0,240)])}}}catch(H){H.name!=="AbortError"&&tn(B=>[...B,`事件流错误:${H instanceof Error?H.message:String(H)}`])}},[ea]);v.useEffect(()=>(mn&&ea&&(K==="run"||u==="recovery")&&_i(mn),()=>hn.current?.abort()),[mn,ea,K,u,_i]);const Da=v.useCallback(()=>pe.trim()?`/inspect/#/dag/${encodeURIComponent(pe.trim())}`:"/inspect/#/",[pe]),Pa=v.useCallback(()=>{window.location.assign(Da())},[Da]),Oa=v.useCallback(async()=>{if(pe.trim())return pe.trim();const m=G.trim();if(!m)return ge("打开 DAG 检视需要任务 ID 或 DAG 运行 ID"),null;Ea(!0),ge(null);try{const{status:z,body:H}=await $r("observeLink",{taskId:m}),B=H.result??{};if(z>=400||H.ok===!1)return ge(H.error?.message??"无法解析 DAG 画布地址"),fl("unavailable"),An(H.error?.message??null),null;const V=typeof B.dagRunId=="string"?B.dagRunId.trim():"";return V?(Zt(V),fl("match"),An(null),ml(`/inspect/#/dag/${encodeURIComponent(V)}`),V):(ge("尚未找到该任务的 DAG 运行,请稍后再打开检视"),fl("unavailable"),An(B.message??"未解析到 DAG run"),null)}catch(z){return ge(z instanceof Error?z.message:String(z)),null}finally{Ea(!1)}},[pe,G]),It=v.useCallback(async()=>{await Oa()&&tl(!0)},[Oa]),gl=v.useCallback(async()=>{const m=await Oa();m&&window.location.assign(`/inspect/#/dag/${encodeURIComponent(m)}`)},[Oa]),kl=v.useCallback(async()=>{_n(!0);try{const m=G.trim(),z=new URLSearchParams;m&&z.set("taskId",m),z.set("limit","40");const H=await fetch(`/api/operator/v1/recovery/candidates?${z.toString()}`,{credentials:"same-origin"});if(!H.ok){sn([]);return}const B=await H.json();sn(Array.isArray(B.runs)?B.runs:[])}catch{sn([])}finally{_n(!1)}},[G]),_l=v.useCallback(async m=>{const z=m.trim();if(!z){nl([]),Ol(null);return}Aa(!0);try{const H=await fetch(`/api/dag-runs/${encodeURIComponent(z)}`,{credentials:"same-origin"});if(!H.ok){nl([]),Ol(null);return}const B=await H.json();Ol(typeof B.status=="string"?B.status:null);const V=Array.isArray(B.nodes)?B.nodes:[],de=eh(V.map(je=>{const Nt=(je.nodeId??je.id??"").trim();return Nt?{nodeId:Nt,status:je.status,label:je.label??je.name,errorPreview:je.errorPreview}:null}).filter(je=>je!==null));nl(de)}catch{nl([]),Ol(null)}finally{Aa(!1)}},[]);v.useEffect(()=>{u==="recovery"&&kl()},[u,G,kl]),v.useEffect(()=>{if(u!=="recovery"||ll||St.length===0)return;const m=pe.trim(),z=m?St.some(H=>H.dagRunId===m):!1;if(!m||!z){const H=ny(St);H&&H!==m&&Zt(H)}},[u,St,pe,ll]),v.useEffect(()=>{u==="recovery"&&_l(pe)},[u,pe,_l]),v.useEffect(()=>{if(u!=="recovery"||Un||ke.length===0)return;const m=Le.trim(),z=m?ke.some(H=>H.nodeId===m):!1;if(!m||!z){const H=ly(ke);H&&H!==m&&se(H)}},[u,ke,Le,Un]);const bl=Pp({operationState:wn?null:Rl,errorCode:wn?null:pn,dagStatus:wn}),za=v.useMemo(()=>Fm(bl),[bl]),ka=v.useMemo(()=>Jp(za),[za]),Ml=v.useMemo(()=>Fp(bl),[bl]),xl=v.useMemo(()=>ke.find(m=>m.nodeId===Le.trim()),[ke,Le]),Mi=v.useRef(null);v.useEffect(()=>{ot&&Mi.current?.scrollIntoView({behavior:"smooth",block:"nearest"})},[ot?.id]);const _a=v.useCallback(m=>sy({actionLabel:m,dagRunId:pe.trim()||void 0,fromNodeId:Le.trim()||void 0,runStatus:wn,nodeStatus:xl?.status,nodeError:xl?.errorPreview,factClassLabel:Km[bl],errorMessage:vn,errorCode:pn}),[pe,Le,vn,pn,bl,wn,xl?.errorPreview,xl?.status]);v.useEffect(()=>{if(u!=="recovery"||Dl&&!$m(Ft))return;const m=_a(ot?.label);m&&m!==Ft&&ln(m)},[u,pe,Le,wn,xl,bl,vn,pn,ot?.label,Dl,Ft,_a]);const Ts=v.useCallback(async m=>{if(m.requiresReason||(an(null),zn(null)),m.action==="doctor"){cn(null),re("doctor",{});return}if(m.action==="dagReport"||m.id==="report"){const z=pe.trim();if(z){an(null),zn(null);const H=await re("dagReport",{runId:z}),B=H?.result??{},V=(B.raw?.runs??B.runs)?.[0];H&&H.ok!==!1&&!H.error&&V&&(cn({runId:V.runId??z,title:V.title,status:V.status,category:V.productLineFailureCategory,recommendation:V.recoveryRecommendation?.summary??V.recommendedFollowUp??void 0}),_e(null));return}if(G.trim()){cn(null),re("status",{taskId:G});return}ge("查看报告需要先选择 DAG 运行 ID(或填写任务 ID)");return}if(m.action==="observeLink"){cn(null),gl();return}if(m.requiresReason){if(cn(null),an(m),zn(null),m.id!=="dagRerun"&&(ge(null),pt(null)),(!Dl||$m(Ft))&&(ln(_a(m.label)),On(!1)),m.id==="dagRerun"&&pe.trim()&&Le.trim()){Qt(!0);try{const{status:z,body:H}=await $r("dagRerunPlan",{runId:pe.trim(),fromNode:Le.trim()}),B=H.result??{};B&&typeof B=="object"&&("eligible"in B||B.planHash)&&zn(B),z<400&&H.ok!==!1&&B.eligible!==!1?_e(null):B.eligible===!1?ge(H.error?.message??Vr(B)):_e(H.error?.message??"无法预检重跑计划;确认后仍将尝试提交(CLI 可能尚未就绪)")}finally{Qt(!1)}}return}ge(null),pt(null),_e(`${m.label}:请经 CLI — ${m.commandHint??""}`)},[_a,pe,Le,gl,Ft,Dl,re,G]),Uc=v.useCallback(async()=>{const m=ot;if(!m)return;const z=Ft.trim();if(!z){ge("恢复操作需要结构化原因");return}const H=Di(`recovery-${m.id}`);if(an(null),m.id==="dagRerun"){const B=pe.trim(),V=Le.trim();if(!B||!V){ge("从节点重跑需要 DAG 运行 ID 与起始节点 ID");return}let de=lt?.planHash?.trim(),je=lt?.eligible;if(!de||je===void 0){const Nt=await re("dagRerunPlan",{runId:B,fromNode:V}),fe=Nt?.result??{};if((fe.planHash||fe.eligible!==void 0)&&zn(fe),de=fe.planHash?.trim()||de,je=fe.eligible,fe.eligible===!1){ge(Nt?.error?.message??Vr(fe));return}if(Nt&&Nt.ok===!1&&!de){ge(Nt.error?.message??"无法获取 planHash;请确认 loop-agent dag rerun --plan 可用");return}}if(je===!1){ge(Vr(lt??{}));return}if(!de){ge("无法获取 planHash;请确认 loop-agent dag rerun --plan 可用");return}await re("dagRerun",{runId:B,fromNode:V,planHash:de,reason:z},{clientRequestId:H});return}if(m.id==="standaloneTaskRerun"){const B=pe.trim();if(!B){ge("完整重跑任务需要 DAG 运行 ID");return}const V={runId:B,reason:z,...G.trim()?{taskId:G.trim()}:{}},de=await re("prepareMutationGate",{action:"standaloneTaskRerun",actionParams:V});if(!Dt(de))return;const je=de?.result??de;if(!je.receiptId||!je.humanGateToken){ge("prepareMutationGate 未返回可消费的 Human Gate receipt");return}await re("standaloneTaskRerun",{...V,confirmationId:je.receiptId,humanGateToken:je.humanGateToken},{clientRequestId:H});return}if(m.id==="workerTaskRetry"){const B=G.trim();if(!B){ge("重新排队 Worker Task 需要任务 ID");return}const V={taskId:B,reason:z,...We.trim()?{featureId:We.trim()}:{}},de=await re("prepareMutationGate",{action:"workerTaskRetry",actionParams:V});if(!Dt(de))return;const je=de?.result??de;if(!je.receiptId||!je.humanGateToken){ge("prepareMutationGate 未返回可消费的 Human Gate receipt");return}await re("workerTaskRetry",{...V,confirmationId:je.receiptId,humanGateToken:je.humanGateToken},{clientRequestId:H});return}if(m.id==="reconcile"){if(!pe.trim()){ge("对账恢复需要 DAG 运行 ID");return}_e(`${m.label}:请经 CLI — ${m.commandHint??""}`);return}_e(`${m.label}:请经 CLI — ${m.commandHint??""}`)},[pe,We,Le,ot,lt?.planHash,Ft,re,Dt,G]),sl=v.useCallback((m,z)=>{const H=m.length===0?0:Math.min(Math.max(0,z),m.length-1);Fe(H),ut(by(m,{primaryIndex:H})),ht(!1)},[]),Es=v.useCallback(async m=>{const z=fy(m,{existingCount:Se.length});if(z){rt(z.message);return}const H=Array.from(m),B=++Ae.current;zt(!0),rt(null);try{const V=await hy(H);if(B!==Ae.current)return;if(!V.ok){rt(V.message);return}const de=[...Se,...V.documents],je=Se.length===0?0:Ne;ue(de),Se.length===0||!Pe?(sl(de,je),rt(null)):rt("已追加文件,未改正文(正文已手动编辑);可点「按文件重新合成」覆盖。")}catch{if(B!==Ae.current)return;rt("文件读取失败,请重试或直接粘贴")}finally{B===Ae.current&&zt(!1)}},[sl,Pe,Se,Ne]),Cs=[{id:"setup",label:"就绪检查"},{id:"import-prd",label:"导入需求"},{id:"interview",label:"需求访谈(可跳过)"},{id:"contract",label:"契约落地"},{id:"dag-confirm",label:"确认 DAG"},{id:"run",label:"运行"}],Hc=Cs.findIndex(m=>m.id===K),As=m=>!ot||ot.lane!==m?null:s.jsxs("div",{ref:Mi,className:"recovery-confirm","data-testid":"recovery-confirm",children:[s.jsxs("h3",{children:["待确认:",ot.label]}),s.jsx("p",{className:"muted",children:"请核对上方运行 / 节点与恢复原因,再点「确定」执行。"}),lt?s.jsxs("div",{className:"recovery-plan-summary",children:[s.jsxs("p",{className:"muted",children:["计划 eligible=",String(lt.eligible??"—")," · 风险=",Vm[lt.risk??""]??lt.risk??"—"]}),lt.effectiveFromNodeId?s.jsxs("p",{className:"muted",children:["有效起点:",lt.effectiveFromNodeId]}):null,lt.estimatedExecution?s.jsxs("p",{className:"muted",children:["将执行 ",lt.estimatedExecution.nodeCount??"?"," ","个节点 /"," ",lt.estimatedExecution.piCallCount??"?"," 次 Pi;预计避免"," ",lt.estimatedExecution.avoidedNodeCount??"?"," ","个节点"]}):null,lt.planHash?s.jsxs("p",{className:"muted",children:["planHash:"," ",s.jsxs("code",{children:[lt.planHash.slice(0,16),"…"]})]}):null]}):ot.id==="dagRerun"?s.jsx("p",{className:"muted",children:"未加载计划摘要;点「确定」前将再次尝试资格检查。"}):null,s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:q||!Ft.trim(),"data-testid":"recovery-confirm-submit",onClick:()=>{Uc()},children:"确定"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:q,"data-testid":"recovery-confirm-cancel",onClick:()=>{an(null),zn(null)},children:"取消"})]})]});return s.jsx(s.Fragment,{children:s.jsxs("div",{className:`console-app${u==="chat"?" is-chat-focus":""}`,children:[s.jsxs("nav",{className:"embedded-operator-nav","aria-label":"Operator 导航",children:[s.jsx("span",{"aria-current":"page",children:"操作"}),s.jsx("a",{href:"/inspect/#/",children:"观测"})]}),s.jsxs("div",{className:`console-shell${u==="chat"?" is-chat-focus":""}`,children:[s.jsxs("nav",{className:"top-nav","aria-label":"控制台导航",children:[[["tasks","任务"],["recovery","恢复"],["night","夜间"],["chat","对话"],["models","模型与认证"],["settings","设置"]].map(([m,z])=>s.jsx("button",{type:"button",className:u===m?"nav-link nav-link-active":"nav-link",onClick:()=>Vt(m),children:z},m)),s.jsxs("button",{type:"button",className:"readiness","data-state":b,"data-testid":"readiness-state",title:xe?"Pi SDK / 认证 / 模型未就绪。不提供纯表单兜底。点击前往模型与认证。":dt?"Pi 暂时降级:仍可恢复草稿与需求访谈。点击查看详情。":"Pi 已就绪。点击打开设置查看详情。","aria-label":`Pi 就绪:${Zr[b]??b}`,onClick:()=>Vt(xe||dt?"models":"settings"),children:[s.jsx("span",{className:"readiness-label",children:"Pi"}),s.jsx("strong",{children:Zr[b]??b})]})]}),vn?s.jsxs("div",{className:"flash flash-error","data-testid":"op-error",children:[s.jsx("span",{className:"flash-label",children:"错误"}),s.jsx("p",{className:"flash-body",children:vn})]}):null,Wt?s.jsxs("div",{className:"flash flash-info","data-testid":"op-message",children:[s.jsx("span",{className:"flash-label",children:"状态"}),s.jsx("p",{className:"flash-body",children:Wt})]}):null,s.jsxs("main",{className:`console-main${u==="chat"?" console-main--fill":""}`,children:[u==="tasks"?s.jsxs("section",{className:"panel task-ops","aria-labelledby":"task-ops-title",children:[s.jsx("h2",{id:"task-ops-title",children:"任务操作"}),s.jsx("p",{className:"panel-lead",children:"按 Happy Path 推进;契约落地一步内自动校验,人工确认写入。"}),s.jsx("ol",{className:"wizard-steps","data-testid":"wizard-steps",children:Cs.map((m,z)=>s.jsxs("li",{"data-active":K===m.id,"data-done":z<Hc,children:[s.jsx("span",{className:"step-index",children:String(z+1).padStart(2,"0")}),s.jsx("span",{className:"step-label",children:m.label})]},m.id))}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"任务 ID"}),s.jsx("input",{"data-testid":"task-id-input",value:G,disabled:q||xe||K==="import-prd",placeholder:K==="import-prd"?"导入需求后自动生成":"task-id",onChange:m=>le(m.target.value.trim())})]}),ce?s.jsxs("p",{className:"workflow-hint","data-testid":"task-title-chip",children:["任务名称:",ce]}):null,K!=="import-prd"&&!xe?s.jsxs("p",{className:"workflow-hint","data-testid":"workflow-kind-chip",children:["当前流程:",He.label," · ",s.jsx("code",{children:oe})]}):null,xe||K==="setup"?s.jsxs("div",{className:"empty-state","data-testid":"setup-gate",children:[s.jsx("p",{className:"empty-title",children:"需要先完成设置"}),s.jsx("p",{className:"muted",children:"请先在「模型与认证」完成 Pi 就绪,再导入需求与访谈。"}),s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:q,onClick:()=>{Vt("models"),re("refreshReadiness",{}).then(()=>il())},children:"刷新就绪状态"}),s.jsx("button",{type:"button",className:"btn btn-primary",disabled:q,onClick:()=>{re("doctor",{})},children:"运行诊断"}),s.jsx("pre",{className:"cmd",children:Ny})]})]}):s.jsxs("div",{className:"wizard-body","data-testid":"wizard-body",children:[K==="import-prd"&&s.jsxs("div",{"data-testid":"panel-import-prd",children:[s.jsx("h3",{children:"导入需求"}),s.jsx("p",{className:"muted",children:"粘贴、选择或拖入一份或多份 PRD / 需求 Markdown。多文件会分别归档到 source/references,并合成一份可编辑正文。创建前可继续编辑。"}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"流程类型"}),s.jsx("select",{"data-testid":"workflow-kind-select",value:oe,disabled:q||Je,onChange:m=>Ue(m.target.value),children:Qr.map(m=>s.jsx("option",{value:m.kind,children:m.label},m.kind))})]}),s.jsxs("p",{className:"workflow-hint","data-testid":"workflow-kind-hint",children:[He.hint," · taskKind=",s.jsx("code",{children:oe})]}),s.jsxs("div",{className:`prd-drop-zone${O?" is-dragover":""}`,"data-testid":"prd-drop-zone","data-dragover":O?"true":"false",onDragEnter:m=>{m.preventDefault(),m.stopPropagation(),!(q||Je)&&(te.current+=1,$(!0))},onDragOver:m=>{m.preventDefault(),m.stopPropagation()},onDragLeave:m=>{m.preventDefault(),m.stopPropagation(),te.current=Math.max(0,te.current-1),te.current===0&&$(!1)},onDrop:m=>{m.preventDefault(),m.stopPropagation(),te.current=0,$(!1),!(q||Je)&&Es(m.dataTransfer.files)},children:[s.jsxs("div",{className:"prd-upload-toolbar",children:[s.jsxs("label",{className:`btn btn-ghost prd-upload-btn${q||Je?" is-disabled":""}`,children:["选择需求文档",s.jsx("input",{type:"file",accept:uy,multiple:!0,hidden:!0,disabled:q||Je,"data-testid":"prd-file-input",onChange:m=>{const z=m.currentTarget;Es(z.files).finally(()=>{z.value=""})}})]}),s.jsxs("span",{className:"muted prd-upload-hint",children:["支持多文件 .md / .markdown / .txt,单文件最大"," ",Fr(Wr),",最多"," ",Mc," 个"]}),Se.length>0?s.jsx("button",{type:"button",className:"btn btn-ghost","data-testid":"prd-recompose",disabled:q||Je,onClick:()=>{Pe&&!window.confirm("将用当前文件列表重新合成正文,覆盖你在编辑区的修改。继续?")||(sl(Se,Ne),rt(null))},children:"按文件重新合成"}):null]}),Se.length>0?s.jsx("ul",{className:"prd-file-list","data-testid":"prd-file-list",children:Se.map((m,z)=>s.jsxs("li",{className:z===Ne?"is-primary":void 0,"data-testid":`prd-file-item-${z}`,children:[s.jsxs("span",{className:"prd-file-item-name",children:[m.fileName,z===Ne?s.jsx("span",{className:"prd-file-primary-tag",children:"主"}):null,s.jsxs("span",{className:"muted",children:[" ","· ",Fr(m.sourceBytes)]})]}),s.jsxs("span",{className:"prd-file-item-actions",children:[s.jsx("button",{type:"button",className:"btn btn-ghost",disabled:q||Je||z===Ne,onClick:()=>{Fe(z),Pe||sl(Se,z)},children:"设为主"}),s.jsx("button",{type:"button",className:"btn btn-ghost",disabled:q||Je||z===0,onClick:()=>{const H=[...Se],B=H[z-1];H[z-1]=H[z],H[z]=B;const V=Ne===z?z-1:Ne===z-1?z:Ne;ue(H),Fe(V),Pe||sl(H,V)},children:"上移"}),s.jsx("button",{type:"button",className:"btn btn-ghost",disabled:q||Je||z===Se.length-1,onClick:()=>{const H=[...Se],B=H[z+1];H[z+1]=H[z],H[z]=B;const V=Ne===z?z+1:Ne===z+1?z:Ne;ue(H),Fe(V),Pe||sl(H,V)},children:"下移"}),s.jsx("button",{type:"button",className:"btn btn-ghost",disabled:q||Je,onClick:()=>{const H=Se.filter((V,de)=>de!==z),B=H.length===0?0:Math.min(Ne>=z?Math.max(0,Ne-1):Ne,Math.max(0,H.length-1));ue(H),Fe(B),H.length===0?ht(!1):Pe||sl(H,B)},children:"移除"})]})]},`${m.fileName}-${z}`))}):null,Se.length>0?s.jsxs("div",{className:"prd-file-meta",children:[s.jsxs("span",{children:["分卷=上传原件(将分别归档);正文=本会话采用稿",Pe?"(已手动编辑)":""]}),s.jsx("button",{type:"button",className:"btn btn-ghost prd-file-clear","data-testid":"prd-file-clear",disabled:q||Je,onClick:()=>{ue([]),Fe(0),ht(!1),rt(null)},children:"清除来源列表"})]}):null,O?s.jsx("p",{className:"prd-drop-hint","data-testid":"prd-drop-hint",children:"释放以载入"}):null,s.jsxs("label",{className:"field prd-text-field",children:[s.jsx("span",{className:"muted",children:"PRD Markdown"}),s.jsx("textarea",{rows:10,value:xt,disabled:q||Je,"data-testid":"prd-textarea",onChange:m=>{ut(m.target.value),Se.length>0&&ht(!0)}})]})]}),vt?s.jsx("p",{className:"prd-file-error",role:"alert","aria-live":"polite","data-testid":"prd-file-error",children:vt}):null,s.jsx("div",{className:"cta-row",children:s.jsx("button",{type:"button",className:"btn btn-primary",disabled:q||Je||!xt.trim(),onClick:()=>{(async()=>{const m=Se.length>0?gy(Se):void 0,z={content:xt,taskKind:oe,...m?{documents:m}:{}};if(!xy("bootstrapFromPrd",z)){rt(Sy());return}const H=await re("bootstrapFromPrd",z);if(!H||H.ok===!1)return;const B=H.result??{};B.taskId&&le(B.taskId),B.title&&nt(B.title),_e(`已创建任务「${B.title??""}」(${B.taskId??""}),来源:${B.identitySource??"prd"}`),ee("interview")})()},children:"导入并创建任务"})})]}),K==="interview"&&s.jsxs("div",{"data-testid":"panel-interview",children:[s.jsx("h3",{children:"需求访谈(grill-me)"}),s.jsx("p",{className:"muted",children:"一次一问;也可跳过:系统会按推荐补齐草稿并签发评估,随后进入校验。 访谈中不可应用契约 / 运行 DAG / 对账。"}),ve?s.jsx("pre",{className:"cmd","data-testid":"draft-summary",children:JSON.stringify(ve,null,2)}):null,s.jsxs("div",{className:"cta-row",style:{marginBottom:"0.75rem"},children:[!Te||!T?s.jsx("button",{type:"button",className:"btn btn-primary",disabled:q||!G.trim(),onClick:()=>{re("interviewStart",{taskId:G,title:ce,taskKind:oe})},children:"开始 / 继续访谈"}):null,s.jsx("button",{type:"button",className:"btn btn-ghost","data-testid":"interview-skip",disabled:q||!G.trim(),onClick:()=>{re("interviewSkip",{taskId:G,title:ce,taskKind:oe})},children:"跳过访谈"})]}),Te&&T?s.jsxs("div",{className:"interview-card",children:[s.jsxs("p",{className:"interview-q",children:[s.jsx("strong",{children:T.id})," · 风险=",Vm[T.risk??""]??T.risk??"—"]}),s.jsx("p",{children:T.text}),T.recommendation?s.jsxs("p",{className:"muted",children:["推荐:",T.recommendation]}):null,s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"你的回答(覆盖推荐)"}),s.jsx("textarea",{rows:3,value:J,disabled:q,onChange:m=>ae(m.target.value)})]}),s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:q,onClick:()=>{re("interviewTurn",{sessionId:Te,questionId:T.id,response:"accept-recommendation"}).then(()=>ae(""))},children:"接受推荐"}),s.jsx("button",{type:"button",className:"btn btn-primary",disabled:q||!J.trim(),onClick:()=>{re("interviewTurn",{sessionId:Te,questionId:T.id,response:"override",text:J}).then(()=>ae(""))},children:"提交自定义回答"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:q||T.risk==="high",onClick:()=>{re("interviewTurn",{sessionId:Te,questionId:T.id,response:"defer",text:J||T.recommendation}).then(()=>ae(""))},children:"暂缓(非高风险)"})]})]}):null,Ge?s.jsxs("p",{className:"muted",children:["评估 ID: ",s.jsx("code",{children:Ge})]}):null]}),K==="contract"&&s.jsxs("div",{"data-testid":"panel-contract",children:[s.jsx("h3",{children:"契约落地"}),s.jsx("p",{className:"muted",children:"进入本步后自动跑确定性校验与差异(非 AI 代判)。写入仓库仍需你人工确认一次;应用成功后会自动跑 Spine 审计。"}),s.jsxs("p",{className:"muted",children:["评估 ID: ",s.jsx("code",{children:Ge??"—"})]}),s.jsxs("div",{className:"contract-checks",children:[s.jsxs("p",{children:[s.jsx("strong",{children:"校验"}),":"," ",Bt===null?q?"进行中…":"等待开始":Bt?"通过":"未通过"]}),Fl?s.jsx("pre",{className:"cmd","data-testid":"contract-validate-summary",children:Fl}):null,s.jsxs("p",{children:[s.jsx("strong",{children:"差异"}),en?"":":尚未拉取"]}),en?s.jsx("pre",{className:"cmd","data-testid":"contract-diff-summary",children:en}):null,Yt?s.jsxs("p",{children:[s.jsx("strong",{children:"Spine"}),":"," ",dl===null?"待检查":dl?"通过":"未通过"]}):null]}),s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:q||!G.trim(),onClick:()=>{zl(!0)},children:"重新校验"}),s.jsx("button",{type:"button",className:"btn btn-primary","data-testid":"contract-apply",disabled:q||dt||!Ge||Bt!==!0||Yt,onClick:()=>{yl()},children:"确认并应用契约"}),Yt&&dl===!1?s.jsx("button",{type:"button",className:"btn btn-primary",disabled:q,onClick:()=>{ki()},children:"重试 Spine"}):null]})]}),K==="dag-confirm"&&s.jsxs("div",{"data-testid":"panel-dag-confirm",children:[s.jsx("h3",{children:"DAG 确认(§5.5)"}),s.jsxs("ul",{className:"checklist",children:[s.jsx("li",{children:"源绑定(source)"}),s.jsx("li",{children:"Writer 写集范围(writer-scope)"}),s.jsx("li",{children:"验证命令(verification)"}),s.jsx("li",{children:"人工门禁(human-gates)"})]}),Wn?s.jsx("pre",{className:"cmd",children:JSON.stringify(Wn,null,2).slice(0,4e3)}):null,s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:q,onClick:()=>{re("prepareDagConfirmation",{taskId:G,dagHandle:`${G}.dag.json`,profile:"auto"})},children:"生成 DAG 并准备确认"}),s.jsx("button",{type:"button",className:"btn btn-primary",disabled:q||!Cn,onClick:()=>{Fa()},children:"开始运行"})]}),Cn?s.jsxs("p",{className:"muted",children:["确认 ID: ",s.jsx("code",{children:Cn})]}):null]}),K==="run"&&s.jsxs("div",{"data-testid":"panel-run",children:[s.jsx("h3",{children:"运行详情"}),s.jsxs("div",{className:"meta-row",children:[s.jsxs("div",{children:["操作 ID: ",s.jsx("code",{children:mn??"—"})]}),s.jsxs("div",{children:["确认 ID: ",s.jsx("code",{children:Cn??"—"})]})]}),s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:q||!Cn,onClick:()=>{re("runDag",{confirmationId:Cn},{clientRequestId:Di("run")})},children:"重新运行"}),s.jsx("button",{type:"button",className:"btn btn-secondary",onClick:()=>{Fn(!1),hn.current?.abort(),_e("已停止跟随日志(未取消子进程)")},children:"停止跟随日志"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:!pe.trim(),onClick:()=>tl(!0),children:"打开检视"}),s.jsx("button",{type:"button",className:"btn btn-ghost",disabled:Rt||!pe.trim()&&!G.trim(),title:"在本页侧栏预览,可关闭返回",onClick:()=>{It()},children:"侧栏预览"})]}),s.jsx("pre",{className:"cmd","data-testid":"sse-log",children:Xt.join(`
|
|
29
|
-
`)||"(尚无事件)"})]})]})]}):null,u==="recovery"?s.jsxs("section",{className:"panel","aria-labelledby":"recovery-title",children:[s.jsx("h2",{id:"recovery-title",children:"恢复"}),s.jsxs("p",{className:"muted",children:["事实分类:",Km[bl]," · 无 Cancel · 无「直接改代码」"]}),s.jsxs("ol",{className:"muted recovery-steps",children:[s.jsx("li",{children:"上方选 DAG 运行 / 节点,用「DAG 运行恢复」动作"}),s.jsx("li",{children:"Worker 队列失败才用下方「Worker Task 重排队」(二者不要混用)"}),s.jsx("li",{children:"带 * 的动作:核对预填原因 → 点下方「确定」"})]}),s.jsxs("p",{className:"muted",children:[G.trim()?`按任务 ${G.trim()} 拉取候选。`:"未填任务 ID 时列出最近 DAG 运行。","Doctor 诊断可选,不是重跑前置。"," ",s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:q||kn,"data-testid":"recovery-refresh-candidates",onClick:()=>{kl()},children:kn?"刷新中…":"刷新候选"})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"DAG 运行 ID"}),!ll&&St.length>0?s.jsxs("select",{"data-testid":"recovery-run-select",value:pe,disabled:q||kn,onChange:m=>{kt(!1),jt(!1),se(""),Zt(m.target.value),Dl||On(!1)},children:[St.some(m=>m.dagRunId===pe)?null:s.jsx("option",{value:pe||"",children:pe?`${pe}(当前)`:"— 请选择 —"}),St.map(m=>s.jsx("option",{value:m.dagRunId,children:ay(m)},m.dagRunId))]}):s.jsx("input",{"data-testid":"recovery-run-input",value:pe,disabled:q,onChange:m=>{kt(!0),Zt(m.target.value.trim())},placeholder:"dag-run-id(子图/完整重跑)"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:q,"data-testid":"recovery-run-manual-toggle",onClick:()=>{if(!ll&&St.length>0){kt(!0);return}kt(!1),kl()},children:!ll&&St.length>0?"手动输入运行 ID":"刷新并改用下拉"})]}),s.jsxs("label",{className:"field",children:[s.jsxs("span",{className:"muted",children:["起始节点 ID(从节点重跑)",Mn?" · 加载节点…":""]}),!Un&&ke.length>0?s.jsxs("select",{"data-testid":"recovery-node-select",value:Le,disabled:q||Mn,onChange:m=>{jt(!1),se(m.target.value)},children:[ke.some(m=>m.nodeId===Le)?null:s.jsx("option",{value:Le||"",children:Le?`${Le}(当前)`:"— 请选择 —"}),ke.map(m=>s.jsx("option",{value:m.nodeId,children:iy(m)},m.nodeId))]}):s.jsx("input",{"data-testid":"recovery-node-input",value:Le,disabled:q,onChange:m=>{jt(!0),se(m.target.value.trim())},placeholder:"例如 review-verdict-recovery-pi"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:q,"data-testid":"recovery-node-manual-toggle",onClick:()=>{if(!Un&&ke.length>0){jt(!0);return}jt(!1),_l(pe)},children:!Un&&ke.length>0?"手动输入节点 ID":"刷新并改用下拉"})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"恢复原因(已按 run/节点失败事实自动预填,可编辑)"}),s.jsx("textarea",{"data-testid":"recovery-reason",value:Ft,disabled:q,rows:4,onChange:m=>{On(!0),ln(m.target.value)},placeholder:"将自动预填 operator-recovery / run / from-node / detail"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:q,"data-testid":"recovery-reason-refresh",onClick:()=>{On(!1),ln(_a(ot?.label))},children:"重新预填原因"})]}),s.jsxs("div",{className:"recovery-lane","data-testid":"recovery-lane-dag",children:[s.jsx("h3",{children:"DAG 运行恢复"}),s.jsx("p",{className:"muted",children:"针对 `.harness/dag-runs` 的 Agent DAG 运行。橙色为当前建议;带 * 需确认原因。"}),s.jsxs("div",{className:"recovery-cta-row","data-testid":"recovery-cta-row-dag",children:[ka.dag.map(m=>{const z=m.id===Ml;return s.jsxs("button",{type:"button",className:z?"btn btn-primary":"btn btn-secondary",disabled:q,title:m.guide,"aria-pressed":ot?.id===m.id?!0:void 0,"data-testid":`recovery-cta-${m.id}`,"data-recommended":z?"true":void 0,onClick:()=>{Ts(m)},children:[m.label,m.requiresReason?" *":""]},m.id)}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:!pe.trim(),"data-testid":"recovery-dag-preview",title:"在本页侧栏预览,可关闭返回",onClick:()=>{if(!pe.trim()){ge("侧栏预览需要先选择 DAG 运行 ID");return}tl(!0)},children:"侧栏预览"})]}),st?s.jsxs("div",{className:"recovery-report","data-testid":"recovery-report",children:[s.jsxs("div",{className:"recovery-report-header",children:[s.jsx("h3",{children:"交接报告摘要"}),s.jsx("button",{type:"button",className:"btn btn-ghost","data-testid":"recovery-report-close",onClick:()=>cn(null),children:"关闭"})]}),s.jsxs("dl",{className:"recovery-report-facts",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"运行"}),s.jsx("dd",{children:s.jsx("code",{children:st.runId})})]}),st.title?s.jsxs("div",{children:[s.jsx("dt",{children:"标题"}),s.jsx("dd",{children:st.title})]}):null,s.jsxs("div",{children:[s.jsx("dt",{children:"状态"}),s.jsx("dd",{children:st.status??"—"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"失败分类"}),s.jsx("dd",{children:st.category??"—"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"建议"}),s.jsx("dd",{children:st.recommendation??"暂无结构化建议"})]})]}),s.jsxs("p",{className:"muted",children:["完整 Markdown 可用 CLI:",s.jsxs("code",{children:["loop-agent dag report --run-id ",st.runId," ","--markdown"]})]})]}):null,As("dag")]}),s.jsxs("div",{className:"recovery-lane","data-testid":"recovery-lane-worker",children:[s.jsx("h3",{children:"Worker Task 重排队"}),s.jsx("p",{className:"muted",children:"针对 agent-worker Task Pool,不是 DAG run。需要 Task ID;Feature ID 可选。"}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"Task ID(Worker 重排队必填)"}),s.jsx("input",{"data-testid":"recovery-worker-task-id",value:G,disabled:q,onChange:m=>le(m.target.value.trim()),placeholder:"harness / worker task-id"})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"Feature ID(可选)"}),s.jsx("input",{"data-testid":"recovery-feature-id",value:We,disabled:q,onChange:m=>Dn(m.target.value.trim()),placeholder:"feature-id"})]}),s.jsx("div",{className:"recovery-cta-row","data-testid":"recovery-cta-row-worker",children:ka.worker.length>0?ka.worker.map(m=>s.jsxs("button",{type:"button",className:m.id===Ml?"btn btn-primary":"btn btn-secondary",disabled:q,title:m.guide,"data-testid":`recovery-cta-${m.id}`,"data-recommended":m.id===Ml?"true":void 0,onClick:()=>{Ts(m)},children:[m.label,m.requiresReason?" *":""]},m.id)):s.jsx("p",{className:"muted","data-testid":"recovery-worker-unavailable",children:"当前事实分类下不提供 Worker 重排队。"})}),As("worker")]}),s.jsx("div",{className:"recovery-cta-row","data-testid":"recovery-cta-row",hidden:!0,children:za.map(m=>s.jsx("span",{children:m.id},m.id))}),el?s.jsxs("p",{className:"muted",children:["[",Ty[Ca],"]"," ",el]}):null,Rn?s.jsx("p",{className:"muted",children:s.jsx("a",{className:"external-link",href:Rn,children:Rn})}):null]}):null,u==="night"?s.jsxs("section",{className:"panel","aria-labelledby":"night-title","data-testid":"night-jobs-panel",children:[s.jsx("h2",{id:"night-title",children:"夜间任务"}),s.jsx("p",{className:"panel-lead",children:"白天 admission prepare / scheduler add;早晨 harvest / discard。 写操作经 sibling CLI + Human Gate,不复制 snapshot projector。"}),s.jsxs("p",{className:"muted",children:["Inspect 只读:"," ",s.jsx("a",{className:"external-link",href:"/inspect/#/night",children:"/inspect/#/night"})]}),s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:q,"data-testid":"night-list-btn",onClick:()=>{re("workerSchedulerList",{args:["--repo","."]}).then(m=>{m&&at(JSON.stringify(m.result??m,null,2).slice(0,8e3))})},children:"刷新计划列表"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:q,"data-testid":"night-doctor-btn",onClick:()=>{re("workerSchedulerDoctor",{args:["--repo","."]}).then(m=>{m&&at(JSON.stringify(m.result??m,null,2).slice(0,8e3))})},children:"Scheduler Doctor"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:q,"data-testid":"night-morning-btn",onClick:()=>{re("workerReportMorning",{args:["--window","night","--repo","."]}).then(m=>{m&&at(JSON.stringify(m.result??m,null,2).slice(0,8e3))})},children:"早晨 night 报告"})]}),be?s.jsx("pre",{className:"cmd","data-testid":"night-list-output",children:be}):null,s.jsx("h3",{children:"Admission Prepare"}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"Feature 目录"}),s.jsx("input",{"data-testid":"night-feature-dir",value:vl,disabled:q,placeholder:"docs/features/FEAT-x",onChange:m=>al(m.target.value)})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"Task ID"}),s.jsx("input",{"data-testid":"night-task-id",value:ta,disabled:q,placeholder:"T-1",onChange:m=>na(m.target.value)})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"本地执行时间"}),s.jsx("input",{"data-testid":"night-at",value:Hn,disabled:q,placeholder:"YYYY-MM-DD HH:mm",onChange:m=>Ut(m.target.value)})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"时区"}),s.jsx("input",{"data-testid":"night-tz",value:pl,disabled:q,onChange:m=>Ra(m.target.value)})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"任务卡片(公司工单)"}),s.jsx("input",{"data-testid":"night-task-card",value:$t,disabled:q,placeholder:"UCP-LOOP#11",onChange:m=>f(m.target.value)})]}),s.jsx("div",{className:"cta-row",children:s.jsx("button",{type:"button",className:"btn btn-primary",disabled:q||!vl.trim()||!ta.trim()||!Hn.trim(),"data-testid":"night-prepare-btn",onClick:()=>{(async()=>{const m={featureDir:vl.trim(),taskId:ta.trim(),at:Hn.trim(),...pl.trim()?{tz:pl.trim()}:{},...$t.trim()?{taskCard:$t.trim()}:{}},z=await re("prepareMutationGate",{action:"workerAdmissionPrepare",actionParams:m});if(!Dt(z))return;const H=z?.result??z;if(!H.receiptId||!H.humanGateToken){ge("prepareMutationGate 未返回可消费的 Human Gate receipt");return}const B=await re("workerAdmissionPrepare",{...m,confirmationId:H.receiptId,humanGateToken:H.humanGateToken},{clientRequestId:Di("night-prepare")}),V=B?.result??B,de=V.reviewPacket??V;de.scheduleId&&A(de.scheduleId),de.gateToken&&I(de.gateToken),at(JSON.stringify(B?.result??B,null,2).slice(0,8e3))})()},children:"Prepare(Human Gate)"})}),s.jsx("h3",{children:"Schedule 操作"}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"Schedule ID"}),s.jsx("input",{"data-testid":"night-schedule-id",value:x,disabled:q,onChange:m=>A(m.target.value)})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"Approve Gate Token"}),s.jsx("input",{"data-testid":"night-approve-gate",value:U,disabled:q,onChange:m=>I(m.target.value)})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"原因(cancel / discard)"}),s.jsx("input",{"data-testid":"night-reason",value:L,disabled:q,placeholder:"human discard reason",onChange:m=>Be(m.target.value)})]}),s.jsxs("label",{className:"field checkbox-field",children:[s.jsx("input",{type:"checkbox","data-testid":"night-force",checked:ct,disabled:q,onChange:m=>W(m.target.checked)}),s.jsx("span",{className:"muted",children:"discard --force(failed / human_required)"})]}),s.jsx("div",{className:"cta-row",children:[["workerSchedulerAdd","Add / 预约",{scheduleId:x.trim(),approveGate:U.trim()},!!(x.trim()&&U.trim())],["workerSchedulerCancel","Cancel",{scheduleId:x.trim(),...L.trim()?{reason:L.trim()}:{}},!!x.trim()],["workerSchedulerHarvest","Harvest",{scheduleId:x.trim()},!!x.trim()],["workerSchedulerDiscard","Discard",{scheduleId:x.trim(),reason:L.trim()||"discard from console",...ct?{force:!0}:{}},!!x.trim()]].map(([m,z,H,B])=>s.jsx("button",{type:"button",className:"btn btn-primary",disabled:q||!B,"data-testid":`night-action-${m}`,onClick:()=>{(async()=>{const V=await re("prepareMutationGate",{action:m,actionParams:H});if(!Dt(V))return;const de=V?.result??V;if(!de.receiptId||!de.humanGateToken){ge("prepareMutationGate 未返回可消费的 Human Gate receipt");return}const je=await re(m,{...H,confirmationId:de.receiptId,humanGateToken:de.humanGateToken},{clientRequestId:Di(`night-${m}`)});at(JSON.stringify(je?.result??je,null,2).slice(0,8e3))})()},children:z},m))})]}):null,u==="models"?s.jsxs("section",{className:"panel","aria-labelledby":"models-title",children:[s.jsx("h2",{id:"models-title",children:"模型与认证"}),s.jsxs("p",{className:"muted",children:["复用 Pi ModelRuntime 凭据平面;密钥不会回传到页面。请用"," ",s.jsx("code",{children:"pi"})," / Pi 认证存储完成配置,然后刷新就绪探测。"]}),s.jsx("button",{type:"button",className:"btn btn-primary",disabled:q,onClick:()=>{re("refreshReadiness",{}).then(()=>il())},children:"刷新就绪探测"}),s.jsx("pre",{className:"cmd","data-testid":"readiness-details",children:JSON.stringify(D??{state:b,health:h},null,2)})]}):null,u==="chat"?s.jsxs("section",{className:"panel panel--chat","aria-labelledby":"chat-title",children:[s.jsx("h2",{id:"chat-title",className:"sr-only",children:"对话"}),s.jsx(Mp,{origin:"",readiness:b,surface:"workspace",onNavigateWorkspace:Kt})]}):null,u==="settings"?s.jsxs("section",{className:"panel","aria-labelledby":"settings-title",children:[s.jsx("h2",{id:"settings-title",children:"设置"}),s.jsxs("dl",{className:"kv",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"产品"}),s.jsx("dd",{children:h?.productName??"Loop Operator Console"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"仓库根目录"}),s.jsx("dd",{children:s.jsx("code",{children:h?.repoRoot??"—"})})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"仓库指纹"}),s.jsx("dd",{children:s.jsx("code",{children:h?.repoFingerprint??"—"})})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Pi 就绪"}),s.jsxs("dd",{children:[s.jsxs("code",{children:[Zr[b]??b,"(",b,")"]}),xe?s.jsx("p",{className:"muted",children:"Pi SDK / 认证 / 模型未就绪。不提供纯表单兜底。请前往「模型与认证」。"}):dt?s.jsx("p",{className:"muted",children:"Pi 暂时降级:仍可恢复草稿与需求访谈。"}):null]})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Inspect"}),s.jsxs("dd",{children:[s.jsx("code",{children:"/inspect/"}),"(同一 Console 进程)"]})]})]}),X?s.jsx("p",{className:"error",children:X}):null]}):null,u==="settings"?s.jsxs("section",{className:"panel","aria-labelledby":"layers-title",children:[s.jsx("h2",{id:"layers-title",children:"完成语义分层"}),s.jsx("p",{className:"muted",children:"MVP 不执行收尾提交;不显示「任务已关闭/已交付」。"}),s.jsxs("dl",{className:"kv","data-testid":"completion-layers",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"命令"}),s.jsx("dd",{children:kc(Pn.command)})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"DAG 生命周期"}),s.jsx("dd",{children:kc(Pn.dag)})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"最终验证"}),s.jsx("dd",{children:kc(Pn.verification)})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"晋升"}),s.jsx("dd",{children:kc(Pn.promote)})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"任务关闭"}),s.jsx("dd",{children:"不可用(MVP)"})]})]})]}):null]}),hl&&pe.trim()?s.jsx(Pv,{dagRunId:pe.trim(),nodeId:Le.trim()||void 0,onClose:()=>tl(!1),onOpenFull:Pa}):null]})]})})}const lh=document.getElementById("root");if(!lh)throw new Error("Loop Operator Console: #root missing");Wv.createRoot(lh).render(s.jsx(v.StrictMode,{children:s.jsx(Ay,{})}));
|