@orion-agents/orion-code 0.3.7 → 0.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,17 +1,17 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TerminalPanel-DdjQP2mp.js","assets/TerminalPanel-DLuoa74B.css","assets/GitPanel-BixIWb4k.js","assets/DiffViewer-DqbZ02RN.js","assets/ReviewPanel-DsqJpku_.js"])))=>i.map(i=>d[i]);
2
- var Ah=Object.defineProperty;var Dh=(t,r,l)=>r in t?Ah(t,r,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[r]=l;var qn=(t,r,l)=>Dh(t,typeof r!="symbol"?r+"":r,l);(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const d of document.querySelectorAll('link[rel="modulepreload"]'))a(d);new MutationObserver(d=>{for(const p of d)if(p.type==="childList")for(const h of p.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{childList:!0,subtree:!0});function l(d){const p={};return d.integrity&&(p.integrity=d.integrity),d.referrerPolicy&&(p.referrerPolicy=d.referrerPolicy),d.crossOrigin==="use-credentials"?p.credentials="include":d.crossOrigin==="anonymous"?p.credentials="omit":p.credentials="same-origin",p}function a(d){if(d.ep)return;d.ep=!0;const p=l(d);fetch(d.href,p)}})();function hf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var da={exports:{}},zs={},fa={exports:{}},Ie={};var md;function Lh(){if(md)return Ie;md=1;var t=Symbol.for("react.element"),r=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),d=Symbol.for("react.profiler"),p=Symbol.for("react.provider"),h=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),k=Symbol.for("react.suspense"),b=Symbol.for("react.memo"),T=Symbol.for("react.lazy"),N=Symbol.iterator;function $(w){return w===null||typeof w!="object"?null:(w=N&&w[N]||w["@@iterator"],typeof w=="function"?w:null)}var M={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},q=Object.assign,D={};function O(w,A,P){this.props=w,this.context=A,this.refs=D,this.updater=P||M}O.prototype.isReactComponent={},O.prototype.setState=function(w,A){if(typeof w!="object"&&typeof w!="function"&&w!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,w,A,"setState")},O.prototype.forceUpdate=function(w){this.updater.enqueueForceUpdate(this,w,"forceUpdate")};function Z(){}Z.prototype=O.prototype;function F(w,A,P){this.props=w,this.context=A,this.refs=D,this.updater=P||M}var de=F.prototype=new Z;de.constructor=F,q(de,O.prototype),de.isPureReactComponent=!0;var X=Array.isArray,ue=Object.prototype.hasOwnProperty,I={current:null},R={key:!0,ref:!0,__self:!0,__source:!0};function ne(w,A,P){var le,ge={},ye=null,be=null;if(A!=null)for(le in A.ref!==void 0&&(be=A.ref),A.key!==void 0&&(ye=""+A.key),A)ue.call(A,le)&&!R.hasOwnProperty(le)&&(ge[le]=A[le]);var ke=arguments.length-2;if(ke===1)ge.children=P;else if(1<ke){for(var Pe=Array(ke),He=0;He<ke;He++)Pe[He]=arguments[He+2];ge.children=Pe}if(w&&w.defaultProps)for(le in ke=w.defaultProps,ke)ge[le]===void 0&&(ge[le]=ke[le]);return{$$typeof:t,type:w,key:ye,ref:be,props:ge,_owner:I.current}}function J(w,A){return{$$typeof:t,type:w.type,key:A,ref:w.ref,props:w.props,_owner:w._owner}}function je(w){return typeof w=="object"&&w!==null&&w.$$typeof===t}function Ne(w){var A={"=":"=0",":":"=2"};return"$"+w.replace(/[=:]/g,function(P){return A[P]})}var Re=/\/+/g;function W(w,A){return typeof w=="object"&&w!==null&&w.key!=null?Ne(""+w.key):A.toString(36)}function we(w,A,P,le,ge){var ye=typeof w;(ye==="undefined"||ye==="boolean")&&(w=null);var be=!1;if(w===null)be=!0;else switch(ye){case"string":case"number":be=!0;break;case"object":switch(w.$$typeof){case t:case r:be=!0}}if(be)return be=w,ge=ge(be),w=le===""?"."+W(be,0):le,X(ge)?(P="",w!=null&&(P=w.replace(Re,"$&/")+"/"),we(ge,A,P,"",function(He){return He})):ge!=null&&(je(ge)&&(ge=J(ge,P+(!ge.key||be&&be.key===ge.key?"":(""+ge.key).replace(Re,"$&/")+"/")+w)),A.push(ge)),1;if(be=0,le=le===""?".":le+":",X(w))for(var ke=0;ke<w.length;ke++){ye=w[ke];var Pe=le+W(ye,ke);be+=we(ye,A,P,Pe,ge)}else if(Pe=$(w),typeof Pe=="function")for(w=Pe.call(w),ke=0;!(ye=w.next()).done;)ye=ye.value,Pe=le+W(ye,ke++),be+=we(ye,A,P,Pe,ge);else if(ye==="object")throw A=String(w),Error("Objects are not valid as a React child (found: "+(A==="[object Object]"?"object with keys {"+Object.keys(w).join(", ")+"}":A)+"). If you meant to render a collection of children, use an array instead.");return be}function Q(w,A,P){if(w==null)return w;var le=[],ge=0;return we(w,le,"","",function(ye){return A.call(P,ye,ge++)}),le}function me(w){if(w._status===-1){var A=w._result;A=A(),A.then(function(P){(w._status===0||w._status===-1)&&(w._status=1,w._result=P)},function(P){(w._status===0||w._status===-1)&&(w._status=2,w._result=P)}),w._status===-1&&(w._status=0,w._result=A)}if(w._status===1)return w._result.default;throw w._result}var ve={current:null},H={transition:null},te={ReactCurrentDispatcher:ve,ReactCurrentBatchConfig:H,ReactCurrentOwner:I};function G(){throw Error("act(...) is not supported in production builds of React.")}return Ie.Children={map:Q,forEach:function(w,A,P){Q(w,function(){A.apply(this,arguments)},P)},count:function(w){var A=0;return Q(w,function(){A++}),A},toArray:function(w){return Q(w,function(A){return A})||[]},only:function(w){if(!je(w))throw Error("React.Children.only expected to receive a single React element child.");return w}},Ie.Component=O,Ie.Fragment=l,Ie.Profiler=d,Ie.PureComponent=F,Ie.StrictMode=a,Ie.Suspense=k,Ie.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=te,Ie.act=G,Ie.cloneElement=function(w,A,P){if(w==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+w+".");var le=q({},w.props),ge=w.key,ye=w.ref,be=w._owner;if(A!=null){if(A.ref!==void 0&&(ye=A.ref,be=I.current),A.key!==void 0&&(ge=""+A.key),w.type&&w.type.defaultProps)var ke=w.type.defaultProps;for(Pe in A)ue.call(A,Pe)&&!R.hasOwnProperty(Pe)&&(le[Pe]=A[Pe]===void 0&&ke!==void 0?ke[Pe]:A[Pe])}var Pe=arguments.length-2;if(Pe===1)le.children=P;else if(1<Pe){ke=Array(Pe);for(var He=0;He<Pe;He++)ke[He]=arguments[He+2];le.children=ke}return{$$typeof:t,type:w.type,key:ge,ref:ye,props:le,_owner:be}},Ie.createContext=function(w){return w={$$typeof:h,_currentValue:w,_currentValue2:w,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},w.Provider={$$typeof:p,_context:w},w.Consumer=w},Ie.createElement=ne,Ie.createFactory=function(w){var A=ne.bind(null,w);return A.type=w,A},Ie.createRef=function(){return{current:null}},Ie.forwardRef=function(w){return{$$typeof:g,render:w}},Ie.isValidElement=je,Ie.lazy=function(w){return{$$typeof:T,_payload:{_status:-1,_result:w},_init:me}},Ie.memo=function(w,A){return{$$typeof:b,type:w,compare:A===void 0?null:A}},Ie.startTransition=function(w){var A=H.transition;H.transition={};try{w()}finally{H.transition=A}},Ie.unstable_act=G,Ie.useCallback=function(w,A){return ve.current.useCallback(w,A)},Ie.useContext=function(w){return ve.current.useContext(w)},Ie.useDebugValue=function(){},Ie.useDeferredValue=function(w){return ve.current.useDeferredValue(w)},Ie.useEffect=function(w,A){return ve.current.useEffect(w,A)},Ie.useId=function(){return ve.current.useId()},Ie.useImperativeHandle=function(w,A,P){return ve.current.useImperativeHandle(w,A,P)},Ie.useInsertionEffect=function(w,A){return ve.current.useInsertionEffect(w,A)},Ie.useLayoutEffect=function(w,A){return ve.current.useLayoutEffect(w,A)},Ie.useMemo=function(w,A){return ve.current.useMemo(w,A)},Ie.useReducer=function(w,A,P){return ve.current.useReducer(w,A,P)},Ie.useRef=function(w){return ve.current.useRef(w)},Ie.useState=function(w){return ve.current.useState(w)},Ie.useSyncExternalStore=function(w,A,P){return ve.current.useSyncExternalStore(w,A,P)},Ie.useTransition=function(){return ve.current.useTransition()},Ie.version="18.3.1",Ie}var gd;function Ea(){return gd||(gd=1,fa.exports=Lh()),fa.exports}var vd;function Oh(){if(vd)return zs;vd=1;var t=Ea(),r=Symbol.for("react.element"),l=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,d=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function h(g,k,b){var T,N={},$=null,M=null;b!==void 0&&($=""+b),k.key!==void 0&&($=""+k.key),k.ref!==void 0&&(M=k.ref);for(T in k)a.call(k,T)&&!p.hasOwnProperty(T)&&(N[T]=k[T]);if(g&&g.defaultProps)for(T in k=g.defaultProps,k)N[T]===void 0&&(N[T]=k[T]);return{$$typeof:r,type:g,key:$,ref:M,props:N,_owner:d.current}}return zs.Fragment=l,zs.jsx=h,zs.jsxs=h,zs}var yd;function zh(){return yd||(yd=1,da.exports=Oh()),da.exports}var i=zh(),m=Ea();const Fh=hf(m);var ro={},pa={exports:{}},jn={},ha={exports:{}},ma={};var xd;function Bh(){return xd||(xd=1,(function(t){function r(H,te){var G=H.length;H.push(te);e:for(;0<G;){var w=G-1>>>1,A=H[w];if(0<d(A,te))H[w]=te,H[G]=A,G=w;else break e}}function l(H){return H.length===0?null:H[0]}function a(H){if(H.length===0)return null;var te=H[0],G=H.pop();if(G!==te){H[0]=G;e:for(var w=0,A=H.length,P=A>>>1;w<P;){var le=2*(w+1)-1,ge=H[le],ye=le+1,be=H[ye];if(0>d(ge,G))ye<A&&0>d(be,ge)?(H[w]=be,H[ye]=G,w=ye):(H[w]=ge,H[le]=G,w=le);else if(ye<A&&0>d(be,G))H[w]=be,H[ye]=G,w=ye;else break e}}return te}function d(H,te){var G=H.sortIndex-te.sortIndex;return G!==0?G:H.id-te.id}if(typeof performance=="object"&&typeof performance.now=="function"){var p=performance;t.unstable_now=function(){return p.now()}}else{var h=Date,g=h.now();t.unstable_now=function(){return h.now()-g}}var k=[],b=[],T=1,N=null,$=3,M=!1,q=!1,D=!1,O=typeof setTimeout=="function"?setTimeout:null,Z=typeof clearTimeout=="function"?clearTimeout:null,F=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function de(H){for(var te=l(b);te!==null;){if(te.callback===null)a(b);else if(te.startTime<=H)a(b),te.sortIndex=te.expirationTime,r(k,te);else break;te=l(b)}}function X(H){if(D=!1,de(H),!q)if(l(k)!==null)q=!0,me(ue);else{var te=l(b);te!==null&&ve(X,te.startTime-H)}}function ue(H,te){q=!1,D&&(D=!1,Z(ne),ne=-1),M=!0;var G=$;try{for(de(te),N=l(k);N!==null&&(!(N.expirationTime>te)||H&&!Ne());){var w=N.callback;if(typeof w=="function"){N.callback=null,$=N.priorityLevel;var A=w(N.expirationTime<=te);te=t.unstable_now(),typeof A=="function"?N.callback=A:N===l(k)&&a(k),de(te)}else a(k);N=l(k)}if(N!==null)var P=!0;else{var le=l(b);le!==null&&ve(X,le.startTime-te),P=!1}return P}finally{N=null,$=G,M=!1}}var I=!1,R=null,ne=-1,J=5,je=-1;function Ne(){return!(t.unstable_now()-je<J)}function Re(){if(R!==null){var H=t.unstable_now();je=H;var te=!0;try{te=R(!0,H)}finally{te?W():(I=!1,R=null)}}else I=!1}var W;if(typeof F=="function")W=function(){F(Re)};else if(typeof MessageChannel<"u"){var we=new MessageChannel,Q=we.port2;we.port1.onmessage=Re,W=function(){Q.postMessage(null)}}else W=function(){O(Re,0)};function me(H){R=H,I||(I=!0,W())}function ve(H,te){ne=O(function(){H(t.unstable_now())},te)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(H){H.callback=null},t.unstable_continueExecution=function(){q||M||(q=!0,me(ue))},t.unstable_forceFrameRate=function(H){0>H||125<H?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):J=0<H?Math.floor(1e3/H):5},t.unstable_getCurrentPriorityLevel=function(){return $},t.unstable_getFirstCallbackNode=function(){return l(k)},t.unstable_next=function(H){switch($){case 1:case 2:case 3:var te=3;break;default:te=$}var G=$;$=te;try{return H()}finally{$=G}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(H,te){switch(H){case 1:case 2:case 3:case 4:case 5:break;default:H=3}var G=$;$=H;try{return te()}finally{$=G}},t.unstable_scheduleCallback=function(H,te,G){var w=t.unstable_now();switch(typeof G=="object"&&G!==null?(G=G.delay,G=typeof G=="number"&&0<G?w+G:w):G=w,H){case 1:var A=-1;break;case 2:A=250;break;case 5:A=1073741823;break;case 4:A=1e4;break;default:A=5e3}return A=G+A,H={id:T++,callback:te,priorityLevel:H,startTime:G,expirationTime:A,sortIndex:-1},G>w?(H.sortIndex=G,r(b,H),l(k)===null&&H===l(b)&&(D?(Z(ne),ne=-1):D=!0,ve(X,G-w))):(H.sortIndex=A,r(k,H),q||M||(q=!0,me(ue))),H},t.unstable_shouldYield=Ne,t.unstable_wrapCallback=function(H){var te=$;return function(){var G=$;$=te;try{return H.apply(this,arguments)}finally{$=G}}}})(ma)),ma}var wd;function qh(){return wd||(wd=1,ha.exports=Bh()),ha.exports}var kd;function Wh(){if(kd)return jn;kd=1;var t=Ea(),r=qh();function l(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,s=1;s<arguments.length;s++)n+="&args[]="+encodeURIComponent(arguments[s]);return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var a=new Set,d={};function p(e,n){h(e,n),h(e+"Capture",n)}function h(e,n){for(d[e]=n,e=0;e<n.length;e++)a.add(n[e])}var g=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),k=Object.prototype.hasOwnProperty,b=/^[: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]*$/,T={},N={};function $(e){return k.call(N,e)?!0:k.call(T,e)?!1:b.test(e)?N[e]=!0:(T[e]=!0,!1)}function M(e,n,s,o){if(s!==null&&s.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return o?!1:s!==null?!s.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function q(e,n,s,o){if(n===null||typeof n>"u"||M(e,n,s,o))return!0;if(o)return!1;if(s!==null)switch(s.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function D(e,n,s,o,c,u,f){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=o,this.attributeNamespace=c,this.mustUseProperty=s,this.propertyName=e,this.type=n,this.sanitizeURL=u,this.removeEmptyString=f}var O={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){O[e]=new D(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];O[n]=new D(n,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){O[e]=new D(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){O[e]=new D(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){O[e]=new D(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){O[e]=new D(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){O[e]=new D(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){O[e]=new D(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){O[e]=new D(e,5,!1,e.toLowerCase(),null,!1,!1)});var Z=/[\-:]([a-z])/g;function F(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var n=e.replace(Z,F);O[n]=new D(n,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Z,F);O[n]=new D(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Z,F);O[n]=new D(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){O[e]=new D(e,1,!1,e.toLowerCase(),null,!1,!1)}),O.xlinkHref=new D("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){O[e]=new D(e,1,!1,e.toLowerCase(),null,!0,!0)});function de(e,n,s,o){var c=O.hasOwnProperty(n)?O[n]:null;(c!==null?c.type!==0:o||!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(q(n,s,c,o)&&(s=null),o||c===null?$(n)&&(s===null?e.removeAttribute(n):e.setAttribute(n,""+s)):c.mustUseProperty?e[c.propertyName]=s===null?c.type===3?!1:"":s:(n=c.attributeName,o=c.attributeNamespace,s===null?e.removeAttribute(n):(c=c.type,s=c===3||c===4&&s===!0?"":""+s,o?e.setAttributeNS(o,n,s):e.setAttribute(n,s))))}var X=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,ue=Symbol.for("react.element"),I=Symbol.for("react.portal"),R=Symbol.for("react.fragment"),ne=Symbol.for("react.strict_mode"),J=Symbol.for("react.profiler"),je=Symbol.for("react.provider"),Ne=Symbol.for("react.context"),Re=Symbol.for("react.forward_ref"),W=Symbol.for("react.suspense"),we=Symbol.for("react.suspense_list"),Q=Symbol.for("react.memo"),me=Symbol.for("react.lazy"),ve=Symbol.for("react.offscreen"),H=Symbol.iterator;function te(e){return e===null||typeof e!="object"?null:(e=H&&e[H]||e["@@iterator"],typeof e=="function"?e:null)}var G=Object.assign,w;function A(e){if(w===void 0)try{throw Error()}catch(s){var n=s.stack.trim().match(/\n( *(at )?)/);w=n&&n[1]||""}return`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TerminalPanel-D8C1uybv.js","assets/TerminalPanel-DLuoa74B.css","assets/GitPanel-BVwlDRVo.js","assets/DiffViewer-MMhvMif-.js","assets/ReviewPanel-ChA0Zd2g.js"])))=>i.map(i=>d[i]);
2
+ var Ah=Object.defineProperty;var Dh=(t,r,l)=>r in t?Ah(t,r,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[r]=l;var Un=(t,r,l)=>Dh(t,typeof r!="symbol"?r+"":r,l);(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const d of document.querySelectorAll('link[rel="modulepreload"]'))a(d);new MutationObserver(d=>{for(const p of d)if(p.type==="childList")for(const h of p.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{childList:!0,subtree:!0});function l(d){const p={};return d.integrity&&(p.integrity=d.integrity),d.referrerPolicy&&(p.referrerPolicy=d.referrerPolicy),d.crossOrigin==="use-credentials"?p.credentials="include":d.crossOrigin==="anonymous"?p.credentials="omit":p.credentials="same-origin",p}function a(d){if(d.ep)return;d.ep=!0;const p=l(d);fetch(d.href,p)}})();function hf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var fa={exports:{}},zs={},pa={exports:{}},Ie={};var md;function Lh(){if(md)return Ie;md=1;var t=Symbol.for("react.element"),r=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),d=Symbol.for("react.profiler"),p=Symbol.for("react.provider"),h=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),k=Symbol.for("react.suspense"),b=Symbol.for("react.memo"),T=Symbol.for("react.lazy"),N=Symbol.iterator;function $(w){return w===null||typeof w!="object"?null:(w=N&&w[N]||w["@@iterator"],typeof w=="function"?w:null)}var M={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},q=Object.assign,D={};function O(w,A,P){this.props=w,this.context=A,this.refs=D,this.updater=P||M}O.prototype.isReactComponent={},O.prototype.setState=function(w,A){if(typeof w!="object"&&typeof w!="function"&&w!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,w,A,"setState")},O.prototype.forceUpdate=function(w){this.updater.enqueueForceUpdate(this,w,"forceUpdate")};function Z(){}Z.prototype=O.prototype;function F(w,A,P){this.props=w,this.context=A,this.refs=D,this.updater=P||M}var de=F.prototype=new Z;de.constructor=F,q(de,O.prototype),de.isPureReactComponent=!0;var X=Array.isArray,ue=Object.prototype.hasOwnProperty,I={current:null},R={key:!0,ref:!0,__self:!0,__source:!0};function ne(w,A,P){var le,ge={},ye=null,be=null;if(A!=null)for(le in A.ref!==void 0&&(be=A.ref),A.key!==void 0&&(ye=""+A.key),A)ue.call(A,le)&&!R.hasOwnProperty(le)&&(ge[le]=A[le]);var ke=arguments.length-2;if(ke===1)ge.children=P;else if(1<ke){for(var Pe=Array(ke),He=0;He<ke;He++)Pe[He]=arguments[He+2];ge.children=Pe}if(w&&w.defaultProps)for(le in ke=w.defaultProps,ke)ge[le]===void 0&&(ge[le]=ke[le]);return{$$typeof:t,type:w,key:ye,ref:be,props:ge,_owner:I.current}}function J(w,A){return{$$typeof:t,type:w.type,key:A,ref:w.ref,props:w.props,_owner:w._owner}}function je(w){return typeof w=="object"&&w!==null&&w.$$typeof===t}function Ne(w){var A={"=":"=0",":":"=2"};return"$"+w.replace(/[=:]/g,function(P){return A[P]})}var Re=/\/+/g;function W(w,A){return typeof w=="object"&&w!==null&&w.key!=null?Ne(""+w.key):A.toString(36)}function we(w,A,P,le,ge){var ye=typeof w;(ye==="undefined"||ye==="boolean")&&(w=null);var be=!1;if(w===null)be=!0;else switch(ye){case"string":case"number":be=!0;break;case"object":switch(w.$$typeof){case t:case r:be=!0}}if(be)return be=w,ge=ge(be),w=le===""?"."+W(be,0):le,X(ge)?(P="",w!=null&&(P=w.replace(Re,"$&/")+"/"),we(ge,A,P,"",function(He){return He})):ge!=null&&(je(ge)&&(ge=J(ge,P+(!ge.key||be&&be.key===ge.key?"":(""+ge.key).replace(Re,"$&/")+"/")+w)),A.push(ge)),1;if(be=0,le=le===""?".":le+":",X(w))for(var ke=0;ke<w.length;ke++){ye=w[ke];var Pe=le+W(ye,ke);be+=we(ye,A,P,Pe,ge)}else if(Pe=$(w),typeof Pe=="function")for(w=Pe.call(w),ke=0;!(ye=w.next()).done;)ye=ye.value,Pe=le+W(ye,ke++),be+=we(ye,A,P,Pe,ge);else if(ye==="object")throw A=String(w),Error("Objects are not valid as a React child (found: "+(A==="[object Object]"?"object with keys {"+Object.keys(w).join(", ")+"}":A)+"). If you meant to render a collection of children, use an array instead.");return be}function Q(w,A,P){if(w==null)return w;var le=[],ge=0;return we(w,le,"","",function(ye){return A.call(P,ye,ge++)}),le}function me(w){if(w._status===-1){var A=w._result;A=A(),A.then(function(P){(w._status===0||w._status===-1)&&(w._status=1,w._result=P)},function(P){(w._status===0||w._status===-1)&&(w._status=2,w._result=P)}),w._status===-1&&(w._status=0,w._result=A)}if(w._status===1)return w._result.default;throw w._result}var ve={current:null},H={transition:null},te={ReactCurrentDispatcher:ve,ReactCurrentBatchConfig:H,ReactCurrentOwner:I};function G(){throw Error("act(...) is not supported in production builds of React.")}return Ie.Children={map:Q,forEach:function(w,A,P){Q(w,function(){A.apply(this,arguments)},P)},count:function(w){var A=0;return Q(w,function(){A++}),A},toArray:function(w){return Q(w,function(A){return A})||[]},only:function(w){if(!je(w))throw Error("React.Children.only expected to receive a single React element child.");return w}},Ie.Component=O,Ie.Fragment=l,Ie.Profiler=d,Ie.PureComponent=F,Ie.StrictMode=a,Ie.Suspense=k,Ie.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=te,Ie.act=G,Ie.cloneElement=function(w,A,P){if(w==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+w+".");var le=q({},w.props),ge=w.key,ye=w.ref,be=w._owner;if(A!=null){if(A.ref!==void 0&&(ye=A.ref,be=I.current),A.key!==void 0&&(ge=""+A.key),w.type&&w.type.defaultProps)var ke=w.type.defaultProps;for(Pe in A)ue.call(A,Pe)&&!R.hasOwnProperty(Pe)&&(le[Pe]=A[Pe]===void 0&&ke!==void 0?ke[Pe]:A[Pe])}var Pe=arguments.length-2;if(Pe===1)le.children=P;else if(1<Pe){ke=Array(Pe);for(var He=0;He<Pe;He++)ke[He]=arguments[He+2];le.children=ke}return{$$typeof:t,type:w.type,key:ge,ref:ye,props:le,_owner:be}},Ie.createContext=function(w){return w={$$typeof:h,_currentValue:w,_currentValue2:w,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},w.Provider={$$typeof:p,_context:w},w.Consumer=w},Ie.createElement=ne,Ie.createFactory=function(w){var A=ne.bind(null,w);return A.type=w,A},Ie.createRef=function(){return{current:null}},Ie.forwardRef=function(w){return{$$typeof:g,render:w}},Ie.isValidElement=je,Ie.lazy=function(w){return{$$typeof:T,_payload:{_status:-1,_result:w},_init:me}},Ie.memo=function(w,A){return{$$typeof:b,type:w,compare:A===void 0?null:A}},Ie.startTransition=function(w){var A=H.transition;H.transition={};try{w()}finally{H.transition=A}},Ie.unstable_act=G,Ie.useCallback=function(w,A){return ve.current.useCallback(w,A)},Ie.useContext=function(w){return ve.current.useContext(w)},Ie.useDebugValue=function(){},Ie.useDeferredValue=function(w){return ve.current.useDeferredValue(w)},Ie.useEffect=function(w,A){return ve.current.useEffect(w,A)},Ie.useId=function(){return ve.current.useId()},Ie.useImperativeHandle=function(w,A,P){return ve.current.useImperativeHandle(w,A,P)},Ie.useInsertionEffect=function(w,A){return ve.current.useInsertionEffect(w,A)},Ie.useLayoutEffect=function(w,A){return ve.current.useLayoutEffect(w,A)},Ie.useMemo=function(w,A){return ve.current.useMemo(w,A)},Ie.useReducer=function(w,A,P){return ve.current.useReducer(w,A,P)},Ie.useRef=function(w){return ve.current.useRef(w)},Ie.useState=function(w){return ve.current.useState(w)},Ie.useSyncExternalStore=function(w,A,P){return ve.current.useSyncExternalStore(w,A,P)},Ie.useTransition=function(){return ve.current.useTransition()},Ie.version="18.3.1",Ie}var gd;function Ea(){return gd||(gd=1,pa.exports=Lh()),pa.exports}var vd;function Oh(){if(vd)return zs;vd=1;var t=Ea(),r=Symbol.for("react.element"),l=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,d=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function h(g,k,b){var T,N={},$=null,M=null;b!==void 0&&($=""+b),k.key!==void 0&&($=""+k.key),k.ref!==void 0&&(M=k.ref);for(T in k)a.call(k,T)&&!p.hasOwnProperty(T)&&(N[T]=k[T]);if(g&&g.defaultProps)for(T in k=g.defaultProps,k)N[T]===void 0&&(N[T]=k[T]);return{$$typeof:r,type:g,key:$,ref:M,props:N,_owner:d.current}}return zs.Fragment=l,zs.jsx=h,zs.jsxs=h,zs}var yd;function zh(){return yd||(yd=1,fa.exports=Oh()),fa.exports}var i=zh(),m=Ea();const Fh=hf(m);var ro={},ha={exports:{}},jn={},ma={exports:{}},ga={};var xd;function Bh(){return xd||(xd=1,(function(t){function r(H,te){var G=H.length;H.push(te);e:for(;0<G;){var w=G-1>>>1,A=H[w];if(0<d(A,te))H[w]=te,H[G]=A,G=w;else break e}}function l(H){return H.length===0?null:H[0]}function a(H){if(H.length===0)return null;var te=H[0],G=H.pop();if(G!==te){H[0]=G;e:for(var w=0,A=H.length,P=A>>>1;w<P;){var le=2*(w+1)-1,ge=H[le],ye=le+1,be=H[ye];if(0>d(ge,G))ye<A&&0>d(be,ge)?(H[w]=be,H[ye]=G,w=ye):(H[w]=ge,H[le]=G,w=le);else if(ye<A&&0>d(be,G))H[w]=be,H[ye]=G,w=ye;else break e}}return te}function d(H,te){var G=H.sortIndex-te.sortIndex;return G!==0?G:H.id-te.id}if(typeof performance=="object"&&typeof performance.now=="function"){var p=performance;t.unstable_now=function(){return p.now()}}else{var h=Date,g=h.now();t.unstable_now=function(){return h.now()-g}}var k=[],b=[],T=1,N=null,$=3,M=!1,q=!1,D=!1,O=typeof setTimeout=="function"?setTimeout:null,Z=typeof clearTimeout=="function"?clearTimeout:null,F=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function de(H){for(var te=l(b);te!==null;){if(te.callback===null)a(b);else if(te.startTime<=H)a(b),te.sortIndex=te.expirationTime,r(k,te);else break;te=l(b)}}function X(H){if(D=!1,de(H),!q)if(l(k)!==null)q=!0,me(ue);else{var te=l(b);te!==null&&ve(X,te.startTime-H)}}function ue(H,te){q=!1,D&&(D=!1,Z(ne),ne=-1),M=!0;var G=$;try{for(de(te),N=l(k);N!==null&&(!(N.expirationTime>te)||H&&!Ne());){var w=N.callback;if(typeof w=="function"){N.callback=null,$=N.priorityLevel;var A=w(N.expirationTime<=te);te=t.unstable_now(),typeof A=="function"?N.callback=A:N===l(k)&&a(k),de(te)}else a(k);N=l(k)}if(N!==null)var P=!0;else{var le=l(b);le!==null&&ve(X,le.startTime-te),P=!1}return P}finally{N=null,$=G,M=!1}}var I=!1,R=null,ne=-1,J=5,je=-1;function Ne(){return!(t.unstable_now()-je<J)}function Re(){if(R!==null){var H=t.unstable_now();je=H;var te=!0;try{te=R(!0,H)}finally{te?W():(I=!1,R=null)}}else I=!1}var W;if(typeof F=="function")W=function(){F(Re)};else if(typeof MessageChannel<"u"){var we=new MessageChannel,Q=we.port2;we.port1.onmessage=Re,W=function(){Q.postMessage(null)}}else W=function(){O(Re,0)};function me(H){R=H,I||(I=!0,W())}function ve(H,te){ne=O(function(){H(t.unstable_now())},te)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(H){H.callback=null},t.unstable_continueExecution=function(){q||M||(q=!0,me(ue))},t.unstable_forceFrameRate=function(H){0>H||125<H?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):J=0<H?Math.floor(1e3/H):5},t.unstable_getCurrentPriorityLevel=function(){return $},t.unstable_getFirstCallbackNode=function(){return l(k)},t.unstable_next=function(H){switch($){case 1:case 2:case 3:var te=3;break;default:te=$}var G=$;$=te;try{return H()}finally{$=G}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(H,te){switch(H){case 1:case 2:case 3:case 4:case 5:break;default:H=3}var G=$;$=H;try{return te()}finally{$=G}},t.unstable_scheduleCallback=function(H,te,G){var w=t.unstable_now();switch(typeof G=="object"&&G!==null?(G=G.delay,G=typeof G=="number"&&0<G?w+G:w):G=w,H){case 1:var A=-1;break;case 2:A=250;break;case 5:A=1073741823;break;case 4:A=1e4;break;default:A=5e3}return A=G+A,H={id:T++,callback:te,priorityLevel:H,startTime:G,expirationTime:A,sortIndex:-1},G>w?(H.sortIndex=G,r(b,H),l(k)===null&&H===l(b)&&(D?(Z(ne),ne=-1):D=!0,ve(X,G-w))):(H.sortIndex=A,r(k,H),q||M||(q=!0,me(ue))),H},t.unstable_shouldYield=Ne,t.unstable_wrapCallback=function(H){var te=$;return function(){var G=$;$=te;try{return H.apply(this,arguments)}finally{$=G}}}})(ga)),ga}var wd;function qh(){return wd||(wd=1,ma.exports=Bh()),ma.exports}var kd;function Wh(){if(kd)return jn;kd=1;var t=Ea(),r=qh();function l(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,s=1;s<arguments.length;s++)n+="&args[]="+encodeURIComponent(arguments[s]);return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var a=new Set,d={};function p(e,n){h(e,n),h(e+"Capture",n)}function h(e,n){for(d[e]=n,e=0;e<n.length;e++)a.add(n[e])}var g=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),k=Object.prototype.hasOwnProperty,b=/^[: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]*$/,T={},N={};function $(e){return k.call(N,e)?!0:k.call(T,e)?!1:b.test(e)?N[e]=!0:(T[e]=!0,!1)}function M(e,n,s,o){if(s!==null&&s.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return o?!1:s!==null?!s.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function q(e,n,s,o){if(n===null||typeof n>"u"||M(e,n,s,o))return!0;if(o)return!1;if(s!==null)switch(s.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function D(e,n,s,o,c,u,f){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=o,this.attributeNamespace=c,this.mustUseProperty=s,this.propertyName=e,this.type=n,this.sanitizeURL=u,this.removeEmptyString=f}var O={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){O[e]=new D(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];O[n]=new D(n,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){O[e]=new D(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){O[e]=new D(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){O[e]=new D(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){O[e]=new D(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){O[e]=new D(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){O[e]=new D(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){O[e]=new D(e,5,!1,e.toLowerCase(),null,!1,!1)});var Z=/[\-:]([a-z])/g;function F(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var n=e.replace(Z,F);O[n]=new D(n,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Z,F);O[n]=new D(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Z,F);O[n]=new D(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){O[e]=new D(e,1,!1,e.toLowerCase(),null,!1,!1)}),O.xlinkHref=new D("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){O[e]=new D(e,1,!1,e.toLowerCase(),null,!0,!0)});function de(e,n,s,o){var c=O.hasOwnProperty(n)?O[n]:null;(c!==null?c.type!==0:o||!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(q(n,s,c,o)&&(s=null),o||c===null?$(n)&&(s===null?e.removeAttribute(n):e.setAttribute(n,""+s)):c.mustUseProperty?e[c.propertyName]=s===null?c.type===3?!1:"":s:(n=c.attributeName,o=c.attributeNamespace,s===null?e.removeAttribute(n):(c=c.type,s=c===3||c===4&&s===!0?"":""+s,o?e.setAttributeNS(o,n,s):e.setAttribute(n,s))))}var X=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,ue=Symbol.for("react.element"),I=Symbol.for("react.portal"),R=Symbol.for("react.fragment"),ne=Symbol.for("react.strict_mode"),J=Symbol.for("react.profiler"),je=Symbol.for("react.provider"),Ne=Symbol.for("react.context"),Re=Symbol.for("react.forward_ref"),W=Symbol.for("react.suspense"),we=Symbol.for("react.suspense_list"),Q=Symbol.for("react.memo"),me=Symbol.for("react.lazy"),ve=Symbol.for("react.offscreen"),H=Symbol.iterator;function te(e){return e===null||typeof e!="object"?null:(e=H&&e[H]||e["@@iterator"],typeof e=="function"?e:null)}var G=Object.assign,w;function A(e){if(w===void 0)try{throw Error()}catch(s){var n=s.stack.trim().match(/\n( *(at )?)/);w=n&&n[1]||""}return`
3
3
  `+w+e}var P=!1;function le(e,n){if(!e||P)return"";P=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(n)if(n=function(){throw Error()},Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(n,[])}catch(E){var o=E}Reflect.construct(e,[],n)}else{try{n.call()}catch(E){o=E}e.call(n.prototype)}else{try{throw Error()}catch(E){o=E}e()}}catch(E){if(E&&o&&typeof E.stack=="string"){for(var c=E.stack.split(`
4
4
  `),u=o.stack.split(`
5
5
  `),f=c.length-1,v=u.length-1;1<=f&&0<=v&&c[f]!==u[v];)v--;for(;1<=f&&0<=v;f--,v--)if(c[f]!==u[v]){if(f!==1||v!==1)do if(f--,v--,0>v||c[f]!==u[v]){var y=`
6
- `+c[f].replace(" at new "," at ");return e.displayName&&y.includes("<anonymous>")&&(y=y.replace("<anonymous>",e.displayName)),y}while(1<=f&&0<=v);break}}}finally{P=!1,Error.prepareStackTrace=s}return(e=e?e.displayName||e.name:"")?A(e):""}function ge(e){switch(e.tag){case 5:return A(e.type);case 16:return A("Lazy");case 13:return A("Suspense");case 19:return A("SuspenseList");case 0:case 2:case 15:return e=le(e.type,!1),e;case 11:return e=le(e.type.render,!1),e;case 1:return e=le(e.type,!0),e;default:return""}}function ye(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case R:return"Fragment";case I:return"Portal";case J:return"Profiler";case ne:return"StrictMode";case W:return"Suspense";case we:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Ne:return(e.displayName||"Context")+".Consumer";case je:return(e._context.displayName||"Context")+".Provider";case Re:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Q:return n=e.displayName||null,n!==null?n:ye(e.type)||"Memo";case me:n=e._payload,e=e._init;try{return ye(e(n))}catch{}}return null}function be(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ye(n);case 8:return n===ne?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function ke(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Pe(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function He(e){var n=Pe(e)?"checked":"value",s=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),o=""+e[n];if(!e.hasOwnProperty(n)&&typeof s<"u"&&typeof s.get=="function"&&typeof s.set=="function"){var c=s.get,u=s.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return c.call(this)},set:function(f){o=""+f,u.call(this,f)}}),Object.defineProperty(e,n,{enumerable:s.enumerable}),{getValue:function(){return o},setValue:function(f){o=""+f},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function Ce(e){e._valueTracker||(e._valueTracker=He(e))}function sn(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var s=n.getValue(),o="";return e&&(o=Pe(e)?e.checked?"true":"false":e.value),e=o,e!==s?(n.setValue(e),!0):!1}function Je(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}}function pn(e,n){var s=n.checked;return G({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:s??e._wrapperState.initialChecked})}function Hn(e,n){var s=n.defaultValue==null?"":n.defaultValue,o=n.checked!=null?n.checked:n.defaultChecked;s=ke(n.value!=null?n.value:s),e._wrapperState={initialChecked:o,initialValue:s,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function $n(e,n){n=n.checked,n!=null&&de(e,"checked",n,!1)}function bn(e,n){$n(e,n);var s=ke(n.value),o=n.type;if(s!=null)o==="number"?(s===0&&e.value===""||e.value!=s)&&(e.value=""+s):e.value!==""+s&&(e.value=""+s);else if(o==="submit"||o==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?on(e,n.type,s):n.hasOwnProperty("defaultValue")&&on(e,n.type,ke(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function gn(e,n,s){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var o=n.type;if(!(o!=="submit"&&o!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,s||n===e.value||(e.value=n),e.defaultValue=n}s=e.name,s!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,s!==""&&(e.name=s)}function on(e,n,s){(n!=="number"||Je(e.ownerDocument)!==e)&&(s==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+s&&(e.defaultValue=""+s))}var ot=Array.isArray;function Vn(e,n,s,o){if(e=e.options,n){n={};for(var c=0;c<s.length;c++)n["$"+s[c]]=!0;for(s=0;s<e.length;s++)c=n.hasOwnProperty("$"+e[s].value),e[s].selected!==c&&(e[s].selected=c),c&&o&&(e[s].defaultSelected=!0)}else{for(s=""+ke(s),n=null,c=0;c<e.length;c++){if(e[c].value===s){e[c].selected=!0,o&&(e[c].defaultSelected=!0);return}n!==null||e[c].disabled||(n=e[c])}n!==null&&(n.selected=!0)}}function Kn(e,n){if(n.dangerouslySetInnerHTML!=null)throw Error(l(91));return G({},n,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function bt(e,n){var s=n.value;if(s==null){if(s=n.children,n=n.defaultValue,s!=null){if(n!=null)throw Error(l(92));if(ot(s)){if(1<s.length)throw Error(l(93));s=s[0]}n=s}n==null&&(n=""),s=n}e._wrapperState={initialValue:ke(s)}}function Xt(e,n){var s=ke(n.value),o=ke(n.defaultValue);s!=null&&(s=""+s,s!==e.value&&(e.value=s),n.defaultValue==null&&e.defaultValue!==s&&(e.defaultValue=s)),o!=null&&(e.defaultValue=""+o)}function Y(e){var n=e.textContent;n===e._wrapperState.initialValue&&n!==""&&n!==null&&(e.value=n)}function fe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Se(e,n){return e==null||e==="http://www.w3.org/1999/xhtml"?fe(n):e==="http://www.w3.org/2000/svg"&&n==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Fe,An=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(n,s,o,c){MSApp.execUnsafeLocalFunction(function(){return e(n,s,o,c)})}:e})(function(e,n){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=n;else{for(Fe=Fe||document.createElement("div"),Fe.innerHTML="<svg>"+n.valueOf().toString()+"</svg>",n=Fe.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Qn(e,n){if(n){var s=e.firstChild;if(s&&s===e.lastChild&&s.nodeType===3){s.nodeValue=n;return}}e.textContent=n}var Gn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},pt=["Webkit","ms","Moz","O"];Object.keys(Gn).forEach(function(e){pt.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),Gn[n]=Gn[e]})});function ts(e,n,s){return n==null||typeof n=="boolean"||n===""?"":s||typeof n!="number"||n===0||Gn.hasOwnProperty(e)&&Gn[e]?(""+n).trim():n+"px"}function rs(e,n){e=e.style;for(var s in n)if(n.hasOwnProperty(s)){var o=s.indexOf("--")===0,c=ts(s,n[s],o);s==="float"&&(s="cssFloat"),o?e.setProperty(s,c):e[s]=c}}var Ks=G({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function xr(e,n){if(n){if(Ks[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(l(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(l(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(l(61))}if(n.style!=null&&typeof n.style!="object")throw Error(l(62))}}function wr(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";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 kr=null;function jr(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Sr=null,ht=null,mt=null;function ss(e){if(e=Cs(e)){if(typeof Sr!="function")throw Error(l(280));var n=e.stateNode;n&&(n=yi(n),Sr(e.stateNode,e.type,n))}}function is(e){ht?mt?mt.push(e):mt=[e]:ht=e}function Qs(){if(ht){var e=ht,n=mt;if(mt=ht=null,ss(e),n)for(e=0;e<n.length;e++)ss(n[e])}}function j(e,n){return e(n)}function S(){}var L=!1;function se(e,n,s){if(L)return e(n,s);L=!0;try{return j(e,n,s)}finally{L=!1,(ht!==null||mt!==null)&&(S(),Qs())}}function ie(e,n){var s=e.stateNode;if(s===null)return null;var o=yi(s);if(o===null)return null;s=o[n];e:switch(n){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(o=!o.disabled)||(e=e.type,o=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!o;break e;default:e=!1}if(e)return null;if(s&&typeof s!="function")throw Error(l(231,n,typeof s));return s}var Ae=!1;if(g)try{var Le={};Object.defineProperty(Le,"passive",{get:function(){Ae=!0}}),window.addEventListener("test",Le,Le),window.removeEventListener("test",Le,Le)}catch{Ae=!1}function Ze(e,n,s,o,c,u,f,v,y){var E=Array.prototype.slice.call(arguments,3);try{n.apply(s,E)}catch(B){this.onError(B)}}var En=!1,Cr=null,Nr=!1,en=null,Gs={onError:function(e){En=!0,Cr=e}};function Ys(e,n,s,o,c,u,f,v,y){En=!1,Cr=null,Ze.apply(Gs,arguments)}function Xs(e,n,s,o,c,u,f,v,y){if(Ys.apply(this,arguments),En){if(En){var E=Cr;En=!1,Cr=null}else throw Error(l(198));Nr||(Nr=!0,en=E)}}function Jt(e){var n=e,s=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do n=e,(n.flags&4098)!==0&&(s=n.return),e=n.return;while(e)}return n.tag===3?s:null}function Oa(e){if(e.tag===13){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function za(e){if(Jt(e)!==e)throw Error(l(188))}function Hf(e){var n=e.alternate;if(!n){if(n=Jt(e),n===null)throw Error(l(188));return n!==e?null:e}for(var s=e,o=n;;){var c=s.return;if(c===null)break;var u=c.alternate;if(u===null){if(o=c.return,o!==null){s=o;continue}break}if(c.child===u.child){for(u=c.child;u;){if(u===s)return za(c),e;if(u===o)return za(c),n;u=u.sibling}throw Error(l(188))}if(s.return!==o.return)s=c,o=u;else{for(var f=!1,v=c.child;v;){if(v===s){f=!0,s=c,o=u;break}if(v===o){f=!0,o=c,s=u;break}v=v.sibling}if(!f){for(v=u.child;v;){if(v===s){f=!0,s=u,o=c;break}if(v===o){f=!0,o=u,s=c;break}v=v.sibling}if(!f)throw Error(l(189))}}if(s.alternate!==o)throw Error(l(190))}if(s.tag!==3)throw Error(l(188));return s.stateNode.current===s?e:n}function Fa(e){return e=Hf(e),e!==null?Ba(e):null}function Ba(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var n=Ba(e);if(n!==null)return n;e=e.sibling}return null}var qa=r.unstable_scheduleCallback,Wa=r.unstable_cancelCallback,Vf=r.unstable_shouldYield,Kf=r.unstable_requestPaint,Ve=r.unstable_now,Qf=r.unstable_getCurrentPriorityLevel,Po=r.unstable_ImmediatePriority,Ua=r.unstable_UserBlockingPriority,Js=r.unstable_NormalPriority,Gf=r.unstable_LowPriority,Ha=r.unstable_IdlePriority,Zs=null,lt=null;function Yf(e){if(lt&&typeof lt.onCommitFiberRoot=="function")try{lt.onCommitFiberRoot(Zs,e,void 0,(e.current.flags&128)===128)}catch{}}var Yn=Math.clz32?Math.clz32:Zf,Xf=Math.log,Jf=Math.LN2;function Zf(e){return e>>>=0,e===0?32:31-(Xf(e)/Jf|0)|0}var ei=64,ni=4194304;function os(e){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:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ti(e,n){var s=e.pendingLanes;if(s===0)return 0;var o=0,c=e.suspendedLanes,u=e.pingedLanes,f=s&268435455;if(f!==0){var v=f&~c;v!==0?o=os(v):(u&=f,u!==0&&(o=os(u)))}else f=s&~c,f!==0?o=os(f):u!==0&&(o=os(u));if(o===0)return 0;if(n!==0&&n!==o&&(n&c)===0&&(c=o&-o,u=n&-n,c>=u||c===16&&(u&4194240)!==0))return n;if((o&4)!==0&&(o|=s&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=o;0<n;)s=31-Yn(n),c=1<<s,o|=e[s],n&=~c;return o}function ep(e,n){switch(e){case 1:case 2:case 4:return n+250;case 8:case 16:case 32:case 64: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 n+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function np(e,n){for(var s=e.suspendedLanes,o=e.pingedLanes,c=e.expirationTimes,u=e.pendingLanes;0<u;){var f=31-Yn(u),v=1<<f,y=c[f];y===-1?((v&s)===0||(v&o)!==0)&&(c[f]=ep(v,n)):y<=n&&(e.expiredLanes|=v),u&=~v}}function To(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Va(){var e=ei;return ei<<=1,(ei&4194240)===0&&(ei=64),e}function Mo(e){for(var n=[],s=0;31>s;s++)n.push(e);return n}function ls(e,n,s){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Yn(n),e[n]=s}function tp(e,n){var s=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var o=e.eventTimes;for(e=e.expirationTimes;0<s;){var c=31-Yn(s),u=1<<c;n[c]=0,o[c]=-1,e[c]=-1,s&=~u}}function $o(e,n){var s=e.entangledLanes|=n;for(e=e.entanglements;s;){var o=31-Yn(s),c=1<<o;c&n|e[o]&n&&(e[o]|=n),s&=~c}}var $e=0;function Ka(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var Qa,Ao,Ga,Ya,Xa,Do=!1,ri=[],Et=null,Rt=null,Pt=null,as=new Map,cs=new Map,Tt=[],rp="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 submit".split(" ");function Ja(e,n){switch(e){case"focusin":case"focusout":Et=null;break;case"dragenter":case"dragleave":Rt=null;break;case"mouseover":case"mouseout":Pt=null;break;case"pointerover":case"pointerout":as.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":cs.delete(n.pointerId)}}function us(e,n,s,o,c,u){return e===null||e.nativeEvent!==u?(e={blockedOn:n,domEventName:s,eventSystemFlags:o,nativeEvent:u,targetContainers:[c]},n!==null&&(n=Cs(n),n!==null&&Ao(n)),e):(e.eventSystemFlags|=o,n=e.targetContainers,c!==null&&n.indexOf(c)===-1&&n.push(c),e)}function sp(e,n,s,o,c){switch(n){case"focusin":return Et=us(Et,e,n,s,o,c),!0;case"dragenter":return Rt=us(Rt,e,n,s,o,c),!0;case"mouseover":return Pt=us(Pt,e,n,s,o,c),!0;case"pointerover":var u=c.pointerId;return as.set(u,us(as.get(u)||null,e,n,s,o,c)),!0;case"gotpointercapture":return u=c.pointerId,cs.set(u,us(cs.get(u)||null,e,n,s,o,c)),!0}return!1}function Za(e){var n=Zt(e.target);if(n!==null){var s=Jt(n);if(s!==null){if(n=s.tag,n===13){if(n=Oa(s),n!==null){e.blockedOn=n,Xa(e.priority,function(){Ga(s)});return}}else if(n===3&&s.stateNode.current.memoizedState.isDehydrated){e.blockedOn=s.tag===3?s.stateNode.containerInfo:null;return}}}e.blockedOn=null}function si(e){if(e.blockedOn!==null)return!1;for(var n=e.targetContainers;0<n.length;){var s=Oo(e.domEventName,e.eventSystemFlags,n[0],e.nativeEvent);if(s===null){s=e.nativeEvent;var o=new s.constructor(s.type,s);kr=o,s.target.dispatchEvent(o),kr=null}else return n=Cs(s),n!==null&&Ao(n),e.blockedOn=s,!1;n.shift()}return!0}function ec(e,n,s){si(e)&&s.delete(n)}function ip(){Do=!1,Et!==null&&si(Et)&&(Et=null),Rt!==null&&si(Rt)&&(Rt=null),Pt!==null&&si(Pt)&&(Pt=null),as.forEach(ec),cs.forEach(ec)}function ds(e,n){e.blockedOn===n&&(e.blockedOn=null,Do||(Do=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,ip)))}function fs(e){function n(c){return ds(c,e)}if(0<ri.length){ds(ri[0],e);for(var s=1;s<ri.length;s++){var o=ri[s];o.blockedOn===e&&(o.blockedOn=null)}}for(Et!==null&&ds(Et,e),Rt!==null&&ds(Rt,e),Pt!==null&&ds(Pt,e),as.forEach(n),cs.forEach(n),s=0;s<Tt.length;s++)o=Tt[s],o.blockedOn===e&&(o.blockedOn=null);for(;0<Tt.length&&(s=Tt[0],s.blockedOn===null);)Za(s),s.blockedOn===null&&Tt.shift()}var _r=X.ReactCurrentBatchConfig,ii=!0;function op(e,n,s,o){var c=$e,u=_r.transition;_r.transition=null;try{$e=1,Lo(e,n,s,o)}finally{$e=c,_r.transition=u}}function lp(e,n,s,o){var c=$e,u=_r.transition;_r.transition=null;try{$e=4,Lo(e,n,s,o)}finally{$e=c,_r.transition=u}}function Lo(e,n,s,o){if(ii){var c=Oo(e,n,s,o);if(c===null)nl(e,n,o,oi,s),Ja(e,o);else if(sp(c,e,n,s,o))o.stopPropagation();else if(Ja(e,o),n&4&&-1<rp.indexOf(e)){for(;c!==null;){var u=Cs(c);if(u!==null&&Qa(u),u=Oo(e,n,s,o),u===null&&nl(e,n,o,oi,s),u===c)break;c=u}c!==null&&o.stopPropagation()}else nl(e,n,o,null,s)}}var oi=null;function Oo(e,n,s,o){if(oi=null,e=jr(o),e=Zt(e),e!==null)if(n=Jt(e),n===null)e=null;else if(s=n.tag,s===13){if(e=Oa(n),e!==null)return e;e=null}else if(s===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;e=null}else n!==e&&(e=null);return oi=e,null}function nc(e){switch(e){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"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 1;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"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Qf()){case Po:return 1;case Ua:return 4;case Js:case Gf:return 16;case Ha:return 536870912;default:return 16}default:return 16}}var Mt=null,zo=null,li=null;function tc(){if(li)return li;var e,n=zo,s=n.length,o,c="value"in Mt?Mt.value:Mt.textContent,u=c.length;for(e=0;e<s&&n[e]===c[e];e++);var f=s-e;for(o=1;o<=f&&n[s-o]===c[u-o];o++);return li=c.slice(e,1<o?1-o:void 0)}function ai(e){var n=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&n===13&&(e=13)):e=n,e===10&&(e=13),32<=e||e===13?e:0}function ci(){return!0}function rc(){return!1}function Rn(e){function n(s,o,c,u,f){this._reactName=s,this._targetInst=c,this.type=o,this.nativeEvent=u,this.target=f,this.currentTarget=null;for(var v in e)e.hasOwnProperty(v)&&(s=e[v],this[v]=s?s(u):u[v]);return this.isDefaultPrevented=(u.defaultPrevented!=null?u.defaultPrevented:u.returnValue===!1)?ci:rc,this.isPropagationStopped=rc,this}return G(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var s=this.nativeEvent;s&&(s.preventDefault?s.preventDefault():typeof s.returnValue!="unknown"&&(s.returnValue=!1),this.isDefaultPrevented=ci)},stopPropagation:function(){var s=this.nativeEvent;s&&(s.stopPropagation?s.stopPropagation():typeof s.cancelBubble!="unknown"&&(s.cancelBubble=!0),this.isPropagationStopped=ci)},persist:function(){},isPersistent:ci}),n}var Ir={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Fo=Rn(Ir),ps=G({},Ir,{view:0,detail:0}),ap=Rn(ps),Bo,qo,hs,ui=G({},ps,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Uo,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!==hs&&(hs&&e.type==="mousemove"?(Bo=e.screenX-hs.screenX,qo=e.screenY-hs.screenY):qo=Bo=0,hs=e),Bo)},movementY:function(e){return"movementY"in e?e.movementY:qo}}),sc=Rn(ui),cp=G({},ui,{dataTransfer:0}),up=Rn(cp),dp=G({},ps,{relatedTarget:0}),Wo=Rn(dp),fp=G({},Ir,{animationName:0,elapsedTime:0,pseudoElement:0}),pp=Rn(fp),hp=G({},Ir,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),mp=Rn(hp),gp=G({},Ir,{data:0}),ic=Rn(gp),vp={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},yp={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"},xp={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function wp(e){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(e):(e=xp[e])?!!n[e]:!1}function Uo(){return wp}var kp=G({},ps,{key:function(e){if(e.key){var n=vp[e.key]||e.key;if(n!=="Unidentified")return n}return e.type==="keypress"?(e=ai(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?yp[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Uo,charCode:function(e){return e.type==="keypress"?ai(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?ai(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),jp=Rn(kp),Sp=G({},ui,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),oc=Rn(Sp),Cp=G({},ps,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Uo}),Np=Rn(Cp),_p=G({},Ir,{propertyName:0,elapsedTime:0,pseudoElement:0}),Ip=Rn(_p),bp=G({},ui,{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}),Ep=Rn(bp),Rp=[9,13,27,32],Ho=g&&"CompositionEvent"in window,ms=null;g&&"documentMode"in document&&(ms=document.documentMode);var Pp=g&&"TextEvent"in window&&!ms,lc=g&&(!Ho||ms&&8<ms&&11>=ms),ac=" ",cc=!1;function uc(e,n){switch(e){case"keyup":return Rp.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function dc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var br=!1;function Tp(e,n){switch(e){case"compositionend":return dc(n);case"keypress":return n.which!==32?null:(cc=!0,ac);case"textInput":return e=n.data,e===ac&&cc?null:e;default:return null}}function Mp(e,n){if(br)return e==="compositionend"||!Ho&&uc(e,n)?(e=tc(),li=zo=Mt=null,br=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return lc&&n.locale!=="ko"?null:n.data;default:return null}}var $p={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 fc(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n==="input"?!!$p[e.type]:n==="textarea"}function pc(e,n,s,o){is(o),n=mi(n,"onChange"),0<n.length&&(s=new Fo("onChange","change",null,s,o),e.push({event:s,listeners:n}))}var gs=null,vs=null;function Ap(e){Pc(e,0)}function di(e){var n=Mr(e);if(sn(n))return e}function Dp(e,n){if(e==="change")return n}var hc=!1;if(g){var Vo;if(g){var Ko="oninput"in document;if(!Ko){var mc=document.createElement("div");mc.setAttribute("oninput","return;"),Ko=typeof mc.oninput=="function"}Vo=Ko}else Vo=!1;hc=Vo&&(!document.documentMode||9<document.documentMode)}function gc(){gs&&(gs.detachEvent("onpropertychange",vc),vs=gs=null)}function vc(e){if(e.propertyName==="value"&&di(vs)){var n=[];pc(n,vs,e,jr(e)),se(Ap,n)}}function Lp(e,n,s){e==="focusin"?(gc(),gs=n,vs=s,gs.attachEvent("onpropertychange",vc)):e==="focusout"&&gc()}function Op(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return di(vs)}function zp(e,n){if(e==="click")return di(n)}function Fp(e,n){if(e==="input"||e==="change")return di(n)}function Bp(e,n){return e===n&&(e!==0||1/e===1/n)||e!==e&&n!==n}var Xn=typeof Object.is=="function"?Object.is:Bp;function ys(e,n){if(Xn(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;var s=Object.keys(e),o=Object.keys(n);if(s.length!==o.length)return!1;for(o=0;o<s.length;o++){var c=s[o];if(!k.call(n,c)||!Xn(e[c],n[c]))return!1}return!0}function yc(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function xc(e,n){var s=yc(e);e=0;for(var o;s;){if(s.nodeType===3){if(o=e+s.textContent.length,e<=n&&o>=n)return{node:s,offset:n-e};e=o}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=yc(s)}}function wc(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?wc(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function kc(){for(var e=window,n=Je();n instanceof e.HTMLIFrameElement;){try{var s=typeof n.contentWindow.location.href=="string"}catch{s=!1}if(s)e=n.contentWindow;else break;n=Je(e.document)}return n}function Qo(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function qp(e){var n=kc(),s=e.focusedElem,o=e.selectionRange;if(n!==s&&s&&s.ownerDocument&&wc(s.ownerDocument.documentElement,s)){if(o!==null&&Qo(s)){if(n=o.start,e=o.end,e===void 0&&(e=n),"selectionStart"in s)s.selectionStart=n,s.selectionEnd=Math.min(e,s.value.length);else if(e=(n=s.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var c=s.textContent.length,u=Math.min(o.start,c);o=o.end===void 0?u:Math.min(o.end,c),!e.extend&&u>o&&(c=o,o=u,u=c),c=xc(s,u);var f=xc(s,o);c&&f&&(e.rangeCount!==1||e.anchorNode!==c.node||e.anchorOffset!==c.offset||e.focusNode!==f.node||e.focusOffset!==f.offset)&&(n=n.createRange(),n.setStart(c.node,c.offset),e.removeAllRanges(),u>o?(e.addRange(n),e.extend(f.node,f.offset)):(n.setEnd(f.node,f.offset),e.addRange(n)))}}for(n=[],e=s;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof s.focus=="function"&&s.focus(),s=0;s<n.length;s++)e=n[s],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Wp=g&&"documentMode"in document&&11>=document.documentMode,Er=null,Go=null,xs=null,Yo=!1;function jc(e,n,s){var o=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;Yo||Er==null||Er!==Je(o)||(o=Er,"selectionStart"in o&&Qo(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),xs&&ys(xs,o)||(xs=o,o=mi(Go,"onSelect"),0<o.length&&(n=new Fo("onSelect","select",null,n,s),e.push({event:n,listeners:o}),n.target=Er)))}function fi(e,n){var s={};return s[e.toLowerCase()]=n.toLowerCase(),s["Webkit"+e]="webkit"+n,s["Moz"+e]="moz"+n,s}var Rr={animationend:fi("Animation","AnimationEnd"),animationiteration:fi("Animation","AnimationIteration"),animationstart:fi("Animation","AnimationStart"),transitionend:fi("Transition","TransitionEnd")},Xo={},Sc={};g&&(Sc=document.createElement("div").style,"AnimationEvent"in window||(delete Rr.animationend.animation,delete Rr.animationiteration.animation,delete Rr.animationstart.animation),"TransitionEvent"in window||delete Rr.transitionend.transition);function pi(e){if(Xo[e])return Xo[e];if(!Rr[e])return e;var n=Rr[e],s;for(s in n)if(n.hasOwnProperty(s)&&s in Sc)return Xo[e]=n[s];return e}var Cc=pi("animationend"),Nc=pi("animationiteration"),_c=pi("animationstart"),Ic=pi("transitionend"),bc=new Map,Ec="abort auxClick 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(" ");function $t(e,n){bc.set(e,n),p(n,[e])}for(var Jo=0;Jo<Ec.length;Jo++){var Zo=Ec[Jo],Up=Zo.toLowerCase(),Hp=Zo[0].toUpperCase()+Zo.slice(1);$t(Up,"on"+Hp)}$t(Cc,"onAnimationEnd"),$t(Nc,"onAnimationIteration"),$t(_c,"onAnimationStart"),$t("dblclick","onDoubleClick"),$t("focusin","onFocus"),$t("focusout","onBlur"),$t(Ic,"onTransitionEnd"),h("onMouseEnter",["mouseout","mouseover"]),h("onMouseLeave",["mouseout","mouseover"]),h("onPointerEnter",["pointerout","pointerover"]),h("onPointerLeave",["pointerout","pointerover"]),p("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),p("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),p("onBeforeInput",["compositionend","keypress","textInput","paste"]),p("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),p("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),p("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ws="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(" "),Vp=new Set("cancel close invalid load scroll toggle".split(" ").concat(ws));function Rc(e,n,s){var o=e.type||"unknown-event";e.currentTarget=s,Xs(o,n,void 0,e),e.currentTarget=null}function Pc(e,n){n=(n&4)!==0;for(var s=0;s<e.length;s++){var o=e[s],c=o.event;o=o.listeners;e:{var u=void 0;if(n)for(var f=o.length-1;0<=f;f--){var v=o[f],y=v.instance,E=v.currentTarget;if(v=v.listener,y!==u&&c.isPropagationStopped())break e;Rc(c,v,E),u=y}else for(f=0;f<o.length;f++){if(v=o[f],y=v.instance,E=v.currentTarget,v=v.listener,y!==u&&c.isPropagationStopped())break e;Rc(c,v,E),u=y}}}if(Nr)throw e=en,Nr=!1,en=null,e}function Oe(e,n){var s=n[ll];s===void 0&&(s=n[ll]=new Set);var o=e+"__bubble";s.has(o)||(Tc(n,e,2,!1),s.add(o))}function el(e,n,s){var o=0;n&&(o|=4),Tc(s,e,o,n)}var hi="_reactListening"+Math.random().toString(36).slice(2);function ks(e){if(!e[hi]){e[hi]=!0,a.forEach(function(s){s!=="selectionchange"&&(Vp.has(s)||el(s,!1,e),el(s,!0,e))});var n=e.nodeType===9?e:e.ownerDocument;n===null||n[hi]||(n[hi]=!0,el("selectionchange",!1,n))}}function Tc(e,n,s,o){switch(nc(n)){case 1:var c=op;break;case 4:c=lp;break;default:c=Lo}s=c.bind(null,n,s,e),c=void 0,!Ae||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(c=!0),o?c!==void 0?e.addEventListener(n,s,{capture:!0,passive:c}):e.addEventListener(n,s,!0):c!==void 0?e.addEventListener(n,s,{passive:c}):e.addEventListener(n,s,!1)}function nl(e,n,s,o,c){var u=o;if((n&1)===0&&(n&2)===0&&o!==null)e:for(;;){if(o===null)return;var f=o.tag;if(f===3||f===4){var v=o.stateNode.containerInfo;if(v===c||v.nodeType===8&&v.parentNode===c)break;if(f===4)for(f=o.return;f!==null;){var y=f.tag;if((y===3||y===4)&&(y=f.stateNode.containerInfo,y===c||y.nodeType===8&&y.parentNode===c))return;f=f.return}for(;v!==null;){if(f=Zt(v),f===null)return;if(y=f.tag,y===5||y===6){o=u=f;continue e}v=v.parentNode}}o=o.return}se(function(){var E=u,B=jr(s),U=[];e:{var z=bc.get(e);if(z!==void 0){var ee=Fo,oe=e;switch(e){case"keypress":if(ai(s)===0)break e;case"keydown":case"keyup":ee=jp;break;case"focusin":oe="focus",ee=Wo;break;case"focusout":oe="blur",ee=Wo;break;case"beforeblur":case"afterblur":ee=Wo;break;case"click":if(s.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":ee=sc;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ee=up;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ee=Np;break;case Cc:case Nc:case _c:ee=pp;break;case Ic:ee=Ip;break;case"scroll":ee=ap;break;case"wheel":ee=Ep;break;case"copy":case"cut":case"paste":ee=mp;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ee=oc}var ae=(n&4)!==0,Ke=!ae&&e==="scroll",C=ae?z!==null?z+"Capture":null:z;ae=[];for(var x=E,_;x!==null;){_=x;var V=_.stateNode;if(_.tag===5&&V!==null&&(_=V,C!==null&&(V=ie(x,C),V!=null&&ae.push(js(x,V,_)))),Ke)break;x=x.return}0<ae.length&&(z=new ee(z,oe,null,s,B),U.push({event:z,listeners:ae}))}}if((n&7)===0){e:{if(z=e==="mouseover"||e==="pointerover",ee=e==="mouseout"||e==="pointerout",z&&s!==kr&&(oe=s.relatedTarget||s.fromElement)&&(Zt(oe)||oe[gt]))break e;if((ee||z)&&(z=B.window===B?B:(z=B.ownerDocument)?z.defaultView||z.parentWindow:window,ee?(oe=s.relatedTarget||s.toElement,ee=E,oe=oe?Zt(oe):null,oe!==null&&(Ke=Jt(oe),oe!==Ke||oe.tag!==5&&oe.tag!==6)&&(oe=null)):(ee=null,oe=E),ee!==oe)){if(ae=sc,V="onMouseLeave",C="onMouseEnter",x="mouse",(e==="pointerout"||e==="pointerover")&&(ae=oc,V="onPointerLeave",C="onPointerEnter",x="pointer"),Ke=ee==null?z:Mr(ee),_=oe==null?z:Mr(oe),z=new ae(V,x+"leave",ee,s,B),z.target=Ke,z.relatedTarget=_,V=null,Zt(B)===E&&(ae=new ae(C,x+"enter",oe,s,B),ae.target=_,ae.relatedTarget=Ke,V=ae),Ke=V,ee&&oe)n:{for(ae=ee,C=oe,x=0,_=ae;_;_=Pr(_))x++;for(_=0,V=C;V;V=Pr(V))_++;for(;0<x-_;)ae=Pr(ae),x--;for(;0<_-x;)C=Pr(C),_--;for(;x--;){if(ae===C||C!==null&&ae===C.alternate)break n;ae=Pr(ae),C=Pr(C)}ae=null}else ae=null;ee!==null&&Mc(U,z,ee,ae,!1),oe!==null&&Ke!==null&&Mc(U,Ke,oe,ae,!0)}}e:{if(z=E?Mr(E):window,ee=z.nodeName&&z.nodeName.toLowerCase(),ee==="select"||ee==="input"&&z.type==="file")var ce=Dp;else if(fc(z))if(hc)ce=Fp;else{ce=Op;var pe=Lp}else(ee=z.nodeName)&&ee.toLowerCase()==="input"&&(z.type==="checkbox"||z.type==="radio")&&(ce=zp);if(ce&&(ce=ce(e,E))){pc(U,ce,s,B);break e}pe&&pe(e,z,E),e==="focusout"&&(pe=z._wrapperState)&&pe.controlled&&z.type==="number"&&on(z,"number",z.value)}switch(pe=E?Mr(E):window,e){case"focusin":(fc(pe)||pe.contentEditable==="true")&&(Er=pe,Go=E,xs=null);break;case"focusout":xs=Go=Er=null;break;case"mousedown":Yo=!0;break;case"contextmenu":case"mouseup":case"dragend":Yo=!1,jc(U,s,B);break;case"selectionchange":if(Wp)break;case"keydown":case"keyup":jc(U,s,B)}var he;if(Ho)e:{switch(e){case"compositionstart":var xe="onCompositionStart";break e;case"compositionend":xe="onCompositionEnd";break e;case"compositionupdate":xe="onCompositionUpdate";break e}xe=void 0}else br?uc(e,s)&&(xe="onCompositionEnd"):e==="keydown"&&s.keyCode===229&&(xe="onCompositionStart");xe&&(lc&&s.locale!=="ko"&&(br||xe!=="onCompositionStart"?xe==="onCompositionEnd"&&br&&(he=tc()):(Mt=B,zo="value"in Mt?Mt.value:Mt.textContent,br=!0)),pe=mi(E,xe),0<pe.length&&(xe=new ic(xe,e,null,s,B),U.push({event:xe,listeners:pe}),he?xe.data=he:(he=dc(s),he!==null&&(xe.data=he)))),(he=Pp?Tp(e,s):Mp(e,s))&&(E=mi(E,"onBeforeInput"),0<E.length&&(B=new ic("onBeforeInput","beforeinput",null,s,B),U.push({event:B,listeners:E}),B.data=he))}Pc(U,n)})}function js(e,n,s){return{instance:e,listener:n,currentTarget:s}}function mi(e,n){for(var s=n+"Capture",o=[];e!==null;){var c=e,u=c.stateNode;c.tag===5&&u!==null&&(c=u,u=ie(e,s),u!=null&&o.unshift(js(e,u,c)),u=ie(e,n),u!=null&&o.push(js(e,u,c))),e=e.return}return o}function Pr(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Mc(e,n,s,o,c){for(var u=n._reactName,f=[];s!==null&&s!==o;){var v=s,y=v.alternate,E=v.stateNode;if(y!==null&&y===o)break;v.tag===5&&E!==null&&(v=E,c?(y=ie(s,u),y!=null&&f.unshift(js(s,y,v))):c||(y=ie(s,u),y!=null&&f.push(js(s,y,v)))),s=s.return}f.length!==0&&e.push({event:n,listeners:f})}var Kp=/\r\n?/g,Qp=/\u0000|\uFFFD/g;function $c(e){return(typeof e=="string"?e:""+e).replace(Kp,`
7
- `).replace(Qp,"")}function gi(e,n,s){if(n=$c(n),$c(e)!==n&&s)throw Error(l(425))}function vi(){}var tl=null,rl=null;function sl(e,n){return e==="textarea"||e==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var il=typeof setTimeout=="function"?setTimeout:void 0,Gp=typeof clearTimeout=="function"?clearTimeout:void 0,Ac=typeof Promise=="function"?Promise:void 0,Yp=typeof queueMicrotask=="function"?queueMicrotask:typeof Ac<"u"?function(e){return Ac.resolve(null).then(e).catch(Xp)}:il;function Xp(e){setTimeout(function(){throw e})}function ol(e,n){var s=n,o=0;do{var c=s.nextSibling;if(e.removeChild(s),c&&c.nodeType===8)if(s=c.data,s==="/$"){if(o===0){e.removeChild(c),fs(n);return}o--}else s!=="$"&&s!=="$?"&&s!=="$!"||o++;s=c}while(s);fs(n)}function At(e){for(;e!=null;e=e.nextSibling){var n=e.nodeType;if(n===1||n===3)break;if(n===8){if(n=e.data,n==="$"||n==="$!"||n==="$?")break;if(n==="/$")return null}}return e}function Dc(e){e=e.previousSibling;for(var n=0;e;){if(e.nodeType===8){var s=e.data;if(s==="$"||s==="$!"||s==="$?"){if(n===0)return e;n--}else s==="/$"&&n++}e=e.previousSibling}return null}var Tr=Math.random().toString(36).slice(2),at="__reactFiber$"+Tr,Ss="__reactProps$"+Tr,gt="__reactContainer$"+Tr,ll="__reactEvents$"+Tr,Jp="__reactListeners$"+Tr,Zp="__reactHandles$"+Tr;function Zt(e){var n=e[at];if(n)return n;for(var s=e.parentNode;s;){if(n=s[gt]||s[at]){if(s=n.alternate,n.child!==null||s!==null&&s.child!==null)for(e=Dc(e);e!==null;){if(s=e[at])return s;e=Dc(e)}return n}e=s,s=e.parentNode}return null}function Cs(e){return e=e[at]||e[gt],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Mr(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(l(33))}function yi(e){return e[Ss]||null}var al=[],$r=-1;function Dt(e){return{current:e}}function ze(e){0>$r||(e.current=al[$r],al[$r]=null,$r--)}function De(e,n){$r++,al[$r]=e.current,e.current=n}var Lt={},cn=Dt(Lt),vn=Dt(!1),er=Lt;function Ar(e,n){var s=e.type.contextTypes;if(!s)return Lt;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===n)return o.__reactInternalMemoizedMaskedChildContext;var c={},u;for(u in s)c[u]=n[u];return o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=c),c}function yn(e){return e=e.childContextTypes,e!=null}function xi(){ze(vn),ze(cn)}function Lc(e,n,s){if(cn.current!==Lt)throw Error(l(168));De(cn,n),De(vn,s)}function Oc(e,n,s){var o=e.stateNode;if(n=n.childContextTypes,typeof o.getChildContext!="function")return s;o=o.getChildContext();for(var c in o)if(!(c in n))throw Error(l(108,be(e)||"Unknown",c));return G({},s,o)}function wi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Lt,er=cn.current,De(cn,e),De(vn,vn.current),!0}function zc(e,n,s){var o=e.stateNode;if(!o)throw Error(l(169));s?(e=Oc(e,n,er),o.__reactInternalMemoizedMergedChildContext=e,ze(vn),ze(cn),De(cn,e)):ze(vn),De(vn,s)}var vt=null,ki=!1,cl=!1;function Fc(e){vt===null?vt=[e]:vt.push(e)}function eh(e){ki=!0,Fc(e)}function Ot(){if(!cl&&vt!==null){cl=!0;var e=0,n=$e;try{var s=vt;for($e=1;e<s.length;e++){var o=s[e];do o=o(!0);while(o!==null)}vt=null,ki=!1}catch(c){throw vt!==null&&(vt=vt.slice(e+1)),qa(Po,Ot),c}finally{$e=n,cl=!1}}return null}var Dr=[],Lr=0,ji=null,Si=0,Dn=[],Ln=0,nr=null,yt=1,xt="";function tr(e,n){Dr[Lr++]=Si,Dr[Lr++]=ji,ji=e,Si=n}function Bc(e,n,s){Dn[Ln++]=yt,Dn[Ln++]=xt,Dn[Ln++]=nr,nr=e;var o=yt;e=xt;var c=32-Yn(o)-1;o&=~(1<<c),s+=1;var u=32-Yn(n)+c;if(30<u){var f=c-c%5;u=(o&(1<<f)-1).toString(32),o>>=f,c-=f,yt=1<<32-Yn(n)+c|s<<c|o,xt=u+e}else yt=1<<u|s<<c|o,xt=e}function ul(e){e.return!==null&&(tr(e,1),Bc(e,1,0))}function dl(e){for(;e===ji;)ji=Dr[--Lr],Dr[Lr]=null,Si=Dr[--Lr],Dr[Lr]=null;for(;e===nr;)nr=Dn[--Ln],Dn[Ln]=null,xt=Dn[--Ln],Dn[Ln]=null,yt=Dn[--Ln],Dn[Ln]=null}var Pn=null,Tn=null,Be=!1,Jn=null;function qc(e,n){var s=Bn(5,null,null,0);s.elementType="DELETED",s.stateNode=n,s.return=e,n=e.deletions,n===null?(e.deletions=[s],e.flags|=16):n.push(s)}function Wc(e,n){switch(e.tag){case 5:var s=e.type;return n=n.nodeType!==1||s.toLowerCase()!==n.nodeName.toLowerCase()?null:n,n!==null?(e.stateNode=n,Pn=e,Tn=At(n.firstChild),!0):!1;case 6:return n=e.pendingProps===""||n.nodeType!==3?null:n,n!==null?(e.stateNode=n,Pn=e,Tn=null,!0):!1;case 13:return n=n.nodeType!==8?null:n,n!==null?(s=nr!==null?{id:yt,overflow:xt}:null,e.memoizedState={dehydrated:n,treeContext:s,retryLane:1073741824},s=Bn(18,null,null,0),s.stateNode=n,s.return=e,e.child=s,Pn=e,Tn=null,!0):!1;default:return!1}}function fl(e){return(e.mode&1)!==0&&(e.flags&128)===0}function pl(e){if(Be){var n=Tn;if(n){var s=n;if(!Wc(e,n)){if(fl(e))throw Error(l(418));n=At(s.nextSibling);var o=Pn;n&&Wc(e,n)?qc(o,s):(e.flags=e.flags&-4097|2,Be=!1,Pn=e)}}else{if(fl(e))throw Error(l(418));e.flags=e.flags&-4097|2,Be=!1,Pn=e}}}function Uc(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Pn=e}function Ci(e){if(e!==Pn)return!1;if(!Be)return Uc(e),Be=!0,!1;var n;if((n=e.tag!==3)&&!(n=e.tag!==5)&&(n=e.type,n=n!=="head"&&n!=="body"&&!sl(e.type,e.memoizedProps)),n&&(n=Tn)){if(fl(e))throw Hc(),Error(l(418));for(;n;)qc(e,n),n=At(n.nextSibling)}if(Uc(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(317));e:{for(e=e.nextSibling,n=0;e;){if(e.nodeType===8){var s=e.data;if(s==="/$"){if(n===0){Tn=At(e.nextSibling);break e}n--}else s!=="$"&&s!=="$!"&&s!=="$?"||n++}e=e.nextSibling}Tn=null}}else Tn=Pn?At(e.stateNode.nextSibling):null;return!0}function Hc(){for(var e=Tn;e;)e=At(e.nextSibling)}function Or(){Tn=Pn=null,Be=!1}function hl(e){Jn===null?Jn=[e]:Jn.push(e)}var nh=X.ReactCurrentBatchConfig;function Ns(e,n,s){if(e=s.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(s._owner){if(s=s._owner,s){if(s.tag!==1)throw Error(l(309));var o=s.stateNode}if(!o)throw Error(l(147,e));var c=o,u=""+e;return n!==null&&n.ref!==null&&typeof n.ref=="function"&&n.ref._stringRef===u?n.ref:(n=function(f){var v=c.refs;f===null?delete v[u]:v[u]=f},n._stringRef=u,n)}if(typeof e!="string")throw Error(l(284));if(!s._owner)throw Error(l(290,e))}return e}function Ni(e,n){throw e=Object.prototype.toString.call(n),Error(l(31,e==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":e))}function Vc(e){var n=e._init;return n(e._payload)}function Kc(e){function n(C,x){if(e){var _=C.deletions;_===null?(C.deletions=[x],C.flags|=16):_.push(x)}}function s(C,x){if(!e)return null;for(;x!==null;)n(C,x),x=x.sibling;return null}function o(C,x){for(C=new Map;x!==null;)x.key!==null?C.set(x.key,x):C.set(x.index,x),x=x.sibling;return C}function c(C,x){return C=Vt(C,x),C.index=0,C.sibling=null,C}function u(C,x,_){return C.index=_,e?(_=C.alternate,_!==null?(_=_.index,_<x?(C.flags|=2,x):_):(C.flags|=2,x)):(C.flags|=1048576,x)}function f(C){return e&&C.alternate===null&&(C.flags|=2),C}function v(C,x,_,V){return x===null||x.tag!==6?(x=ia(_,C.mode,V),x.return=C,x):(x=c(x,_),x.return=C,x)}function y(C,x,_,V){var ce=_.type;return ce===R?B(C,x,_.props.children,V,_.key):x!==null&&(x.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===me&&Vc(ce)===x.type)?(V=c(x,_.props),V.ref=Ns(C,x,_),V.return=C,V):(V=Gi(_.type,_.key,_.props,null,C.mode,V),V.ref=Ns(C,x,_),V.return=C,V)}function E(C,x,_,V){return x===null||x.tag!==4||x.stateNode.containerInfo!==_.containerInfo||x.stateNode.implementation!==_.implementation?(x=oa(_,C.mode,V),x.return=C,x):(x=c(x,_.children||[]),x.return=C,x)}function B(C,x,_,V,ce){return x===null||x.tag!==7?(x=ur(_,C.mode,V,ce),x.return=C,x):(x=c(x,_),x.return=C,x)}function U(C,x,_){if(typeof x=="string"&&x!==""||typeof x=="number")return x=ia(""+x,C.mode,_),x.return=C,x;if(typeof x=="object"&&x!==null){switch(x.$$typeof){case ue:return _=Gi(x.type,x.key,x.props,null,C.mode,_),_.ref=Ns(C,null,x),_.return=C,_;case I:return x=oa(x,C.mode,_),x.return=C,x;case me:var V=x._init;return U(C,V(x._payload),_)}if(ot(x)||te(x))return x=ur(x,C.mode,_,null),x.return=C,x;Ni(C,x)}return null}function z(C,x,_,V){var ce=x!==null?x.key:null;if(typeof _=="string"&&_!==""||typeof _=="number")return ce!==null?null:v(C,x,""+_,V);if(typeof _=="object"&&_!==null){switch(_.$$typeof){case ue:return _.key===ce?y(C,x,_,V):null;case I:return _.key===ce?E(C,x,_,V):null;case me:return ce=_._init,z(C,x,ce(_._payload),V)}if(ot(_)||te(_))return ce!==null?null:B(C,x,_,V,null);Ni(C,_)}return null}function ee(C,x,_,V,ce){if(typeof V=="string"&&V!==""||typeof V=="number")return C=C.get(_)||null,v(x,C,""+V,ce);if(typeof V=="object"&&V!==null){switch(V.$$typeof){case ue:return C=C.get(V.key===null?_:V.key)||null,y(x,C,V,ce);case I:return C=C.get(V.key===null?_:V.key)||null,E(x,C,V,ce);case me:var pe=V._init;return ee(C,x,_,pe(V._payload),ce)}if(ot(V)||te(V))return C=C.get(_)||null,B(x,C,V,ce,null);Ni(x,V)}return null}function oe(C,x,_,V){for(var ce=null,pe=null,he=x,xe=x=0,rn=null;he!==null&&xe<_.length;xe++){he.index>xe?(rn=he,he=null):rn=he.sibling;var Me=z(C,he,_[xe],V);if(Me===null){he===null&&(he=rn);break}e&&he&&Me.alternate===null&&n(C,he),x=u(Me,x,xe),pe===null?ce=Me:pe.sibling=Me,pe=Me,he=rn}if(xe===_.length)return s(C,he),Be&&tr(C,xe),ce;if(he===null){for(;xe<_.length;xe++)he=U(C,_[xe],V),he!==null&&(x=u(he,x,xe),pe===null?ce=he:pe.sibling=he,pe=he);return Be&&tr(C,xe),ce}for(he=o(C,he);xe<_.length;xe++)rn=ee(he,C,xe,_[xe],V),rn!==null&&(e&&rn.alternate!==null&&he.delete(rn.key===null?xe:rn.key),x=u(rn,x,xe),pe===null?ce=rn:pe.sibling=rn,pe=rn);return e&&he.forEach(function(Kt){return n(C,Kt)}),Be&&tr(C,xe),ce}function ae(C,x,_,V){var ce=te(_);if(typeof ce!="function")throw Error(l(150));if(_=ce.call(_),_==null)throw Error(l(151));for(var pe=ce=null,he=x,xe=x=0,rn=null,Me=_.next();he!==null&&!Me.done;xe++,Me=_.next()){he.index>xe?(rn=he,he=null):rn=he.sibling;var Kt=z(C,he,Me.value,V);if(Kt===null){he===null&&(he=rn);break}e&&he&&Kt.alternate===null&&n(C,he),x=u(Kt,x,xe),pe===null?ce=Kt:pe.sibling=Kt,pe=Kt,he=rn}if(Me.done)return s(C,he),Be&&tr(C,xe),ce;if(he===null){for(;!Me.done;xe++,Me=_.next())Me=U(C,Me.value,V),Me!==null&&(x=u(Me,x,xe),pe===null?ce=Me:pe.sibling=Me,pe=Me);return Be&&tr(C,xe),ce}for(he=o(C,he);!Me.done;xe++,Me=_.next())Me=ee(he,C,xe,Me.value,V),Me!==null&&(e&&Me.alternate!==null&&he.delete(Me.key===null?xe:Me.key),x=u(Me,x,xe),pe===null?ce=Me:pe.sibling=Me,pe=Me);return e&&he.forEach(function($h){return n(C,$h)}),Be&&tr(C,xe),ce}function Ke(C,x,_,V){if(typeof _=="object"&&_!==null&&_.type===R&&_.key===null&&(_=_.props.children),typeof _=="object"&&_!==null){switch(_.$$typeof){case ue:e:{for(var ce=_.key,pe=x;pe!==null;){if(pe.key===ce){if(ce=_.type,ce===R){if(pe.tag===7){s(C,pe.sibling),x=c(pe,_.props.children),x.return=C,C=x;break e}}else if(pe.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===me&&Vc(ce)===pe.type){s(C,pe.sibling),x=c(pe,_.props),x.ref=Ns(C,pe,_),x.return=C,C=x;break e}s(C,pe);break}else n(C,pe);pe=pe.sibling}_.type===R?(x=ur(_.props.children,C.mode,V,_.key),x.return=C,C=x):(V=Gi(_.type,_.key,_.props,null,C.mode,V),V.ref=Ns(C,x,_),V.return=C,C=V)}return f(C);case I:e:{for(pe=_.key;x!==null;){if(x.key===pe)if(x.tag===4&&x.stateNode.containerInfo===_.containerInfo&&x.stateNode.implementation===_.implementation){s(C,x.sibling),x=c(x,_.children||[]),x.return=C,C=x;break e}else{s(C,x);break}else n(C,x);x=x.sibling}x=oa(_,C.mode,V),x.return=C,C=x}return f(C);case me:return pe=_._init,Ke(C,x,pe(_._payload),V)}if(ot(_))return oe(C,x,_,V);if(te(_))return ae(C,x,_,V);Ni(C,_)}return typeof _=="string"&&_!==""||typeof _=="number"?(_=""+_,x!==null&&x.tag===6?(s(C,x.sibling),x=c(x,_),x.return=C,C=x):(s(C,x),x=ia(_,C.mode,V),x.return=C,C=x),f(C)):s(C,x)}return Ke}var zr=Kc(!0),Qc=Kc(!1),_i=Dt(null),Ii=null,Fr=null,ml=null;function gl(){ml=Fr=Ii=null}function vl(e){var n=_i.current;ze(_i),e._currentValue=n}function yl(e,n,s){for(;e!==null;){var o=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,o!==null&&(o.childLanes|=n)):o!==null&&(o.childLanes&n)!==n&&(o.childLanes|=n),e===s)break;e=e.return}}function Br(e,n){Ii=e,ml=Fr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&n)!==0&&(xn=!0),e.firstContext=null)}function On(e){var n=e._currentValue;if(ml!==e)if(e={context:e,memoizedValue:n,next:null},Fr===null){if(Ii===null)throw Error(l(308));Fr=e,Ii.dependencies={lanes:0,firstContext:e}}else Fr=Fr.next=e;return n}var rr=null;function xl(e){rr===null?rr=[e]:rr.push(e)}function Gc(e,n,s,o){var c=n.interleaved;return c===null?(s.next=s,xl(n)):(s.next=c.next,c.next=s),n.interleaved=s,wt(e,o)}function wt(e,n){e.lanes|=n;var s=e.alternate;for(s!==null&&(s.lanes|=n),s=e,e=e.return;e!==null;)e.childLanes|=n,s=e.alternate,s!==null&&(s.childLanes|=n),s=e,e=e.return;return s.tag===3?s.stateNode:null}var zt=!1;function wl(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Yc(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function kt(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function Ft(e,n,s){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(Te&2)!==0){var c=o.pending;return c===null?n.next=n:(n.next=c.next,c.next=n),o.pending=n,wt(e,s)}return c=o.interleaved,c===null?(n.next=n,xl(o)):(n.next=c.next,c.next=n),o.interleaved=n,wt(e,s)}function bi(e,n,s){if(n=n.updateQueue,n!==null&&(n=n.shared,(s&4194240)!==0)){var o=n.lanes;o&=e.pendingLanes,s|=o,n.lanes=s,$o(e,s)}}function Xc(e,n){var s=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,s===o)){var c=null,u=null;if(s=s.firstBaseUpdate,s!==null){do{var f={eventTime:s.eventTime,lane:s.lane,tag:s.tag,payload:s.payload,callback:s.callback,next:null};u===null?c=u=f:u=u.next=f,s=s.next}while(s!==null);u===null?c=u=n:u=u.next=n}else c=u=n;s={baseState:o.baseState,firstBaseUpdate:c,lastBaseUpdate:u,shared:o.shared,effects:o.effects},e.updateQueue=s;return}e=s.lastBaseUpdate,e===null?s.firstBaseUpdate=n:e.next=n,s.lastBaseUpdate=n}function Ei(e,n,s,o){var c=e.updateQueue;zt=!1;var u=c.firstBaseUpdate,f=c.lastBaseUpdate,v=c.shared.pending;if(v!==null){c.shared.pending=null;var y=v,E=y.next;y.next=null,f===null?u=E:f.next=E,f=y;var B=e.alternate;B!==null&&(B=B.updateQueue,v=B.lastBaseUpdate,v!==f&&(v===null?B.firstBaseUpdate=E:v.next=E,B.lastBaseUpdate=y))}if(u!==null){var U=c.baseState;f=0,B=E=y=null,v=u;do{var z=v.lane,ee=v.eventTime;if((o&z)===z){B!==null&&(B=B.next={eventTime:ee,lane:0,tag:v.tag,payload:v.payload,callback:v.callback,next:null});e:{var oe=e,ae=v;switch(z=n,ee=s,ae.tag){case 1:if(oe=ae.payload,typeof oe=="function"){U=oe.call(ee,U,z);break e}U=oe;break e;case 3:oe.flags=oe.flags&-65537|128;case 0:if(oe=ae.payload,z=typeof oe=="function"?oe.call(ee,U,z):oe,z==null)break e;U=G({},U,z);break e;case 2:zt=!0}}v.callback!==null&&v.lane!==0&&(e.flags|=64,z=c.effects,z===null?c.effects=[v]:z.push(v))}else ee={eventTime:ee,lane:z,tag:v.tag,payload:v.payload,callback:v.callback,next:null},B===null?(E=B=ee,y=U):B=B.next=ee,f|=z;if(v=v.next,v===null){if(v=c.shared.pending,v===null)break;z=v,v=z.next,z.next=null,c.lastBaseUpdate=z,c.shared.pending=null}}while(!0);if(B===null&&(y=U),c.baseState=y,c.firstBaseUpdate=E,c.lastBaseUpdate=B,n=c.shared.interleaved,n!==null){c=n;do f|=c.lane,c=c.next;while(c!==n)}else u===null&&(c.shared.lanes=0);or|=f,e.lanes=f,e.memoizedState=U}}function Jc(e,n,s){if(e=n.effects,n.effects=null,e!==null)for(n=0;n<e.length;n++){var o=e[n],c=o.callback;if(c!==null){if(o.callback=null,o=s,typeof c!="function")throw Error(l(191,c));c.call(o)}}}var _s={},ct=Dt(_s),Is=Dt(_s),bs=Dt(_s);function sr(e){if(e===_s)throw Error(l(174));return e}function kl(e,n){switch(De(bs,n),De(Is,e),De(ct,_s),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:Se(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=Se(n,e)}ze(ct),De(ct,n)}function qr(){ze(ct),ze(Is),ze(bs)}function Zc(e){sr(bs.current);var n=sr(ct.current),s=Se(n,e.type);n!==s&&(De(Is,e),De(ct,s))}function jl(e){Is.current===e&&(ze(ct),ze(Is))}var qe=Dt(0);function Ri(e){for(var n=e;n!==null;){if(n.tag===13){var s=n.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||s.data==="$?"||s.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if((n.flags&128)!==0)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Sl=[];function Cl(){for(var e=0;e<Sl.length;e++)Sl[e]._workInProgressVersionPrimary=null;Sl.length=0}var Pi=X.ReactCurrentDispatcher,Nl=X.ReactCurrentBatchConfig,ir=0,We=null,Ye=null,nn=null,Ti=!1,Es=!1,Rs=0,th=0;function un(){throw Error(l(321))}function _l(e,n){if(n===null)return!1;for(var s=0;s<n.length&&s<e.length;s++)if(!Xn(e[s],n[s]))return!1;return!0}function Il(e,n,s,o,c,u){if(ir=u,We=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,Pi.current=e===null||e.memoizedState===null?oh:lh,e=s(o,c),Es){u=0;do{if(Es=!1,Rs=0,25<=u)throw Error(l(301));u+=1,nn=Ye=null,n.updateQueue=null,Pi.current=ah,e=s(o,c)}while(Es)}if(Pi.current=Ai,n=Ye!==null&&Ye.next!==null,ir=0,nn=Ye=We=null,Ti=!1,n)throw Error(l(300));return e}function bl(){var e=Rs!==0;return Rs=0,e}function ut(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return nn===null?We.memoizedState=nn=e:nn=nn.next=e,nn}function zn(){if(Ye===null){var e=We.alternate;e=e!==null?e.memoizedState:null}else e=Ye.next;var n=nn===null?We.memoizedState:nn.next;if(n!==null)nn=n,Ye=e;else{if(e===null)throw Error(l(310));Ye=e,e={memoizedState:Ye.memoizedState,baseState:Ye.baseState,baseQueue:Ye.baseQueue,queue:Ye.queue,next:null},nn===null?We.memoizedState=nn=e:nn=nn.next=e}return nn}function Ps(e,n){return typeof n=="function"?n(e):n}function El(e){var n=zn(),s=n.queue;if(s===null)throw Error(l(311));s.lastRenderedReducer=e;var o=Ye,c=o.baseQueue,u=s.pending;if(u!==null){if(c!==null){var f=c.next;c.next=u.next,u.next=f}o.baseQueue=c=u,s.pending=null}if(c!==null){u=c.next,o=o.baseState;var v=f=null,y=null,E=u;do{var B=E.lane;if((ir&B)===B)y!==null&&(y=y.next={lane:0,action:E.action,hasEagerState:E.hasEagerState,eagerState:E.eagerState,next:null}),o=E.hasEagerState?E.eagerState:e(o,E.action);else{var U={lane:B,action:E.action,hasEagerState:E.hasEagerState,eagerState:E.eagerState,next:null};y===null?(v=y=U,f=o):y=y.next=U,We.lanes|=B,or|=B}E=E.next}while(E!==null&&E!==u);y===null?f=o:y.next=v,Xn(o,n.memoizedState)||(xn=!0),n.memoizedState=o,n.baseState=f,n.baseQueue=y,s.lastRenderedState=o}if(e=s.interleaved,e!==null){c=e;do u=c.lane,We.lanes|=u,or|=u,c=c.next;while(c!==e)}else c===null&&(s.lanes=0);return[n.memoizedState,s.dispatch]}function Rl(e){var n=zn(),s=n.queue;if(s===null)throw Error(l(311));s.lastRenderedReducer=e;var o=s.dispatch,c=s.pending,u=n.memoizedState;if(c!==null){s.pending=null;var f=c=c.next;do u=e(u,f.action),f=f.next;while(f!==c);Xn(u,n.memoizedState)||(xn=!0),n.memoizedState=u,n.baseQueue===null&&(n.baseState=u),s.lastRenderedState=u}return[u,o]}function eu(){}function nu(e,n){var s=We,o=zn(),c=n(),u=!Xn(o.memoizedState,c);if(u&&(o.memoizedState=c,xn=!0),o=o.queue,Pl(su.bind(null,s,o,e),[e]),o.getSnapshot!==n||u||nn!==null&&nn.memoizedState.tag&1){if(s.flags|=2048,Ts(9,ru.bind(null,s,o,c,n),void 0,null),tn===null)throw Error(l(349));(ir&30)!==0||tu(s,n,c)}return c}function tu(e,n,s){e.flags|=16384,e={getSnapshot:n,value:s},n=We.updateQueue,n===null?(n={lastEffect:null,stores:null},We.updateQueue=n,n.stores=[e]):(s=n.stores,s===null?n.stores=[e]:s.push(e))}function ru(e,n,s,o){n.value=s,n.getSnapshot=o,iu(n)&&ou(e)}function su(e,n,s){return s(function(){iu(n)&&ou(e)})}function iu(e){var n=e.getSnapshot;e=e.value;try{var s=n();return!Xn(e,s)}catch{return!0}}function ou(e){var n=wt(e,1);n!==null&&tt(n,e,1,-1)}function lu(e){var n=ut();return typeof e=="function"&&(e=e()),n.memoizedState=n.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Ps,lastRenderedState:e},n.queue=e,e=e.dispatch=ih.bind(null,We,e),[n.memoizedState,e]}function Ts(e,n,s,o){return e={tag:e,create:n,destroy:s,deps:o,next:null},n=We.updateQueue,n===null?(n={lastEffect:null,stores:null},We.updateQueue=n,n.lastEffect=e.next=e):(s=n.lastEffect,s===null?n.lastEffect=e.next=e:(o=s.next,s.next=e,e.next=o,n.lastEffect=e)),e}function au(){return zn().memoizedState}function Mi(e,n,s,o){var c=ut();We.flags|=e,c.memoizedState=Ts(1|n,s,void 0,o===void 0?null:o)}function $i(e,n,s,o){var c=zn();o=o===void 0?null:o;var u=void 0;if(Ye!==null){var f=Ye.memoizedState;if(u=f.destroy,o!==null&&_l(o,f.deps)){c.memoizedState=Ts(n,s,u,o);return}}We.flags|=e,c.memoizedState=Ts(1|n,s,u,o)}function cu(e,n){return Mi(8390656,8,e,n)}function Pl(e,n){return $i(2048,8,e,n)}function uu(e,n){return $i(4,2,e,n)}function du(e,n){return $i(4,4,e,n)}function fu(e,n){if(typeof n=="function")return e=e(),n(e),function(){n(null)};if(n!=null)return e=e(),n.current=e,function(){n.current=null}}function pu(e,n,s){return s=s!=null?s.concat([e]):null,$i(4,4,fu.bind(null,n,e),s)}function Tl(){}function hu(e,n){var s=zn();n=n===void 0?null:n;var o=s.memoizedState;return o!==null&&n!==null&&_l(n,o[1])?o[0]:(s.memoizedState=[e,n],e)}function mu(e,n){var s=zn();n=n===void 0?null:n;var o=s.memoizedState;return o!==null&&n!==null&&_l(n,o[1])?o[0]:(e=e(),s.memoizedState=[e,n],e)}function gu(e,n,s){return(ir&21)===0?(e.baseState&&(e.baseState=!1,xn=!0),e.memoizedState=s):(Xn(s,n)||(s=Va(),We.lanes|=s,or|=s,e.baseState=!0),n)}function rh(e,n){var s=$e;$e=s!==0&&4>s?s:4,e(!0);var o=Nl.transition;Nl.transition={};try{e(!1),n()}finally{$e=s,Nl.transition=o}}function vu(){return zn().memoizedState}function sh(e,n,s){var o=Ut(e);if(s={lane:o,action:s,hasEagerState:!1,eagerState:null,next:null},yu(e))xu(n,s);else if(s=Gc(e,n,s,o),s!==null){var c=mn();tt(s,e,o,c),wu(s,n,o)}}function ih(e,n,s){var o=Ut(e),c={lane:o,action:s,hasEagerState:!1,eagerState:null,next:null};if(yu(e))xu(n,c);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=n.lastRenderedReducer,u!==null))try{var f=n.lastRenderedState,v=u(f,s);if(c.hasEagerState=!0,c.eagerState=v,Xn(v,f)){var y=n.interleaved;y===null?(c.next=c,xl(n)):(c.next=y.next,y.next=c),n.interleaved=c;return}}catch{}s=Gc(e,n,c,o),s!==null&&(c=mn(),tt(s,e,o,c),wu(s,n,o))}}function yu(e){var n=e.alternate;return e===We||n!==null&&n===We}function xu(e,n){Es=Ti=!0;var s=e.pending;s===null?n.next=n:(n.next=s.next,s.next=n),e.pending=n}function wu(e,n,s){if((s&4194240)!==0){var o=n.lanes;o&=e.pendingLanes,s|=o,n.lanes=s,$o(e,s)}}var Ai={readContext:On,useCallback:un,useContext:un,useEffect:un,useImperativeHandle:un,useInsertionEffect:un,useLayoutEffect:un,useMemo:un,useReducer:un,useRef:un,useState:un,useDebugValue:un,useDeferredValue:un,useTransition:un,useMutableSource:un,useSyncExternalStore:un,useId:un,unstable_isNewReconciler:!1},oh={readContext:On,useCallback:function(e,n){return ut().memoizedState=[e,n===void 0?null:n],e},useContext:On,useEffect:cu,useImperativeHandle:function(e,n,s){return s=s!=null?s.concat([e]):null,Mi(4194308,4,fu.bind(null,n,e),s)},useLayoutEffect:function(e,n){return Mi(4194308,4,e,n)},useInsertionEffect:function(e,n){return Mi(4,2,e,n)},useMemo:function(e,n){var s=ut();return n=n===void 0?null:n,e=e(),s.memoizedState=[e,n],e},useReducer:function(e,n,s){var o=ut();return n=s!==void 0?s(n):n,o.memoizedState=o.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},o.queue=e,e=e.dispatch=sh.bind(null,We,e),[o.memoizedState,e]},useRef:function(e){var n=ut();return e={current:e},n.memoizedState=e},useState:lu,useDebugValue:Tl,useDeferredValue:function(e){return ut().memoizedState=e},useTransition:function(){var e=lu(!1),n=e[0];return e=rh.bind(null,e[1]),ut().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,s){var o=We,c=ut();if(Be){if(s===void 0)throw Error(l(407));s=s()}else{if(s=n(),tn===null)throw Error(l(349));(ir&30)!==0||tu(o,n,s)}c.memoizedState=s;var u={value:s,getSnapshot:n};return c.queue=u,cu(su.bind(null,o,u,e),[e]),o.flags|=2048,Ts(9,ru.bind(null,o,u,s,n),void 0,null),s},useId:function(){var e=ut(),n=tn.identifierPrefix;if(Be){var s=xt,o=yt;s=(o&~(1<<32-Yn(o)-1)).toString(32)+s,n=":"+n+"R"+s,s=Rs++,0<s&&(n+="H"+s.toString(32)),n+=":"}else s=th++,n=":"+n+"r"+s.toString(32)+":";return e.memoizedState=n},unstable_isNewReconciler:!1},lh={readContext:On,useCallback:hu,useContext:On,useEffect:Pl,useImperativeHandle:pu,useInsertionEffect:uu,useLayoutEffect:du,useMemo:mu,useReducer:El,useRef:au,useState:function(){return El(Ps)},useDebugValue:Tl,useDeferredValue:function(e){var n=zn();return gu(n,Ye.memoizedState,e)},useTransition:function(){var e=El(Ps)[0],n=zn().memoizedState;return[e,n]},useMutableSource:eu,useSyncExternalStore:nu,useId:vu,unstable_isNewReconciler:!1},ah={readContext:On,useCallback:hu,useContext:On,useEffect:Pl,useImperativeHandle:pu,useInsertionEffect:uu,useLayoutEffect:du,useMemo:mu,useReducer:Rl,useRef:au,useState:function(){return Rl(Ps)},useDebugValue:Tl,useDeferredValue:function(e){var n=zn();return Ye===null?n.memoizedState=e:gu(n,Ye.memoizedState,e)},useTransition:function(){var e=Rl(Ps)[0],n=zn().memoizedState;return[e,n]},useMutableSource:eu,useSyncExternalStore:nu,useId:vu,unstable_isNewReconciler:!1};function Zn(e,n){if(e&&e.defaultProps){n=G({},n),e=e.defaultProps;for(var s in e)n[s]===void 0&&(n[s]=e[s]);return n}return n}function Ml(e,n,s,o){n=e.memoizedState,s=s(o,n),s=s==null?n:G({},n,s),e.memoizedState=s,e.lanes===0&&(e.updateQueue.baseState=s)}var Di={isMounted:function(e){return(e=e._reactInternals)?Jt(e)===e:!1},enqueueSetState:function(e,n,s){e=e._reactInternals;var o=mn(),c=Ut(e),u=kt(o,c);u.payload=n,s!=null&&(u.callback=s),n=Ft(e,u,c),n!==null&&(tt(n,e,c,o),bi(n,e,c))},enqueueReplaceState:function(e,n,s){e=e._reactInternals;var o=mn(),c=Ut(e),u=kt(o,c);u.tag=1,u.payload=n,s!=null&&(u.callback=s),n=Ft(e,u,c),n!==null&&(tt(n,e,c,o),bi(n,e,c))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var s=mn(),o=Ut(e),c=kt(s,o);c.tag=2,n!=null&&(c.callback=n),n=Ft(e,c,o),n!==null&&(tt(n,e,o,s),bi(n,e,o))}};function ku(e,n,s,o,c,u,f){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(o,u,f):n.prototype&&n.prototype.isPureReactComponent?!ys(s,o)||!ys(c,u):!0}function ju(e,n,s){var o=!1,c=Lt,u=n.contextType;return typeof u=="object"&&u!==null?u=On(u):(c=yn(n)?er:cn.current,o=n.contextTypes,u=(o=o!=null)?Ar(e,c):Lt),n=new n(s,u),e.memoizedState=n.state!==null&&n.state!==void 0?n.state:null,n.updater=Di,e.stateNode=n,n._reactInternals=e,o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=c,e.__reactInternalMemoizedMaskedChildContext=u),n}function Su(e,n,s,o){e=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(s,o),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(s,o),n.state!==e&&Di.enqueueReplaceState(n,n.state,null)}function $l(e,n,s,o){var c=e.stateNode;c.props=s,c.state=e.memoizedState,c.refs={},wl(e);var u=n.contextType;typeof u=="object"&&u!==null?c.context=On(u):(u=yn(n)?er:cn.current,c.context=Ar(e,u)),c.state=e.memoizedState,u=n.getDerivedStateFromProps,typeof u=="function"&&(Ml(e,n,u,s),c.state=e.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof c.getSnapshotBeforeUpdate=="function"||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(n=c.state,typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount(),n!==c.state&&Di.enqueueReplaceState(c,c.state,null),Ei(e,s,c,o),c.state=e.memoizedState),typeof c.componentDidMount=="function"&&(e.flags|=4194308)}function Wr(e,n){try{var s="",o=n;do s+=ge(o),o=o.return;while(o);var c=s}catch(u){c=`
6
+ `+c[f].replace(" at new "," at ");return e.displayName&&y.includes("<anonymous>")&&(y=y.replace("<anonymous>",e.displayName)),y}while(1<=f&&0<=v);break}}}finally{P=!1,Error.prepareStackTrace=s}return(e=e?e.displayName||e.name:"")?A(e):""}function ge(e){switch(e.tag){case 5:return A(e.type);case 16:return A("Lazy");case 13:return A("Suspense");case 19:return A("SuspenseList");case 0:case 2:case 15:return e=le(e.type,!1),e;case 11:return e=le(e.type.render,!1),e;case 1:return e=le(e.type,!0),e;default:return""}}function ye(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case R:return"Fragment";case I:return"Portal";case J:return"Profiler";case ne:return"StrictMode";case W:return"Suspense";case we:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Ne:return(e.displayName||"Context")+".Consumer";case je:return(e._context.displayName||"Context")+".Provider";case Re:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Q:return n=e.displayName||null,n!==null?n:ye(e.type)||"Memo";case me:n=e._payload,e=e._init;try{return ye(e(n))}catch{}}return null}function be(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ye(n);case 8:return n===ne?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function ke(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Pe(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function He(e){var n=Pe(e)?"checked":"value",s=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),o=""+e[n];if(!e.hasOwnProperty(n)&&typeof s<"u"&&typeof s.get=="function"&&typeof s.set=="function"){var c=s.get,u=s.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return c.call(this)},set:function(f){o=""+f,u.call(this,f)}}),Object.defineProperty(e,n,{enumerable:s.enumerable}),{getValue:function(){return o},setValue:function(f){o=""+f},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function Ce(e){e._valueTracker||(e._valueTracker=He(e))}function sn(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var s=n.getValue(),o="";return e&&(o=Pe(e)?e.checked?"true":"false":e.value),e=o,e!==s?(n.setValue(e),!0):!1}function Ye(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}}function pn(e,n){var s=n.checked;return G({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:s??e._wrapperState.initialChecked})}function Kn(e,n){var s=n.defaultValue==null?"":n.defaultValue,o=n.checked!=null?n.checked:n.defaultChecked;s=ke(n.value!=null?n.value:s),e._wrapperState={initialChecked:o,initialValue:s,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function $n(e,n){n=n.checked,n!=null&&de(e,"checked",n,!1)}function bn(e,n){$n(e,n);var s=ke(n.value),o=n.type;if(s!=null)o==="number"?(s===0&&e.value===""||e.value!=s)&&(e.value=""+s):e.value!==""+s&&(e.value=""+s);else if(o==="submit"||o==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?on(e,n.type,s):n.hasOwnProperty("defaultValue")&&on(e,n.type,ke(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function gn(e,n,s){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var o=n.type;if(!(o!=="submit"&&o!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,s||n===e.value||(e.value=n),e.defaultValue=n}s=e.name,s!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,s!==""&&(e.name=s)}function on(e,n,s){(n!=="number"||Ye(e.ownerDocument)!==e)&&(s==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+s&&(e.defaultValue=""+s))}var ot=Array.isArray;function Qn(e,n,s,o){if(e=e.options,n){n={};for(var c=0;c<s.length;c++)n["$"+s[c]]=!0;for(s=0;s<e.length;s++)c=n.hasOwnProperty("$"+e[s].value),e[s].selected!==c&&(e[s].selected=c),c&&o&&(e[s].defaultSelected=!0)}else{for(s=""+ke(s),n=null,c=0;c<e.length;c++){if(e[c].value===s){e[c].selected=!0,o&&(e[c].defaultSelected=!0);return}n!==null||e[c].disabled||(n=e[c])}n!==null&&(n.selected=!0)}}function Gn(e,n){if(n.dangerouslySetInnerHTML!=null)throw Error(l(91));return G({},n,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function bt(e,n){var s=n.value;if(s==null){if(s=n.children,n=n.defaultValue,s!=null){if(n!=null)throw Error(l(92));if(ot(s)){if(1<s.length)throw Error(l(93));s=s[0]}n=s}n==null&&(n=""),s=n}e._wrapperState={initialValue:ke(s)}}function Xt(e,n){var s=ke(n.value),o=ke(n.defaultValue);s!=null&&(s=""+s,s!==e.value&&(e.value=s),n.defaultValue==null&&e.defaultValue!==s&&(e.defaultValue=s)),o!=null&&(e.defaultValue=""+o)}function Y(e){var n=e.textContent;n===e._wrapperState.initialValue&&n!==""&&n!==null&&(e.value=n)}function fe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Se(e,n){return e==null||e==="http://www.w3.org/1999/xhtml"?fe(n):e==="http://www.w3.org/2000/svg"&&n==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var De,An=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(n,s,o,c){MSApp.execUnsafeLocalFunction(function(){return e(n,s,o,c)})}:e})(function(e,n){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=n;else{for(De=De||document.createElement("div"),De.innerHTML="<svg>"+n.valueOf().toString()+"</svg>",n=De.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Dn(e,n){if(n){var s=e.firstChild;if(s&&s===e.lastChild&&s.nodeType===3){s.nodeValue=n;return}}e.textContent=n}var Ln={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},pt=["Webkit","ms","Moz","O"];Object.keys(Ln).forEach(function(e){pt.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),Ln[n]=Ln[e]})});function ts(e,n,s){return n==null||typeof n=="boolean"||n===""?"":s||typeof n!="number"||n===0||Ln.hasOwnProperty(e)&&Ln[e]?(""+n).trim():n+"px"}function rs(e,n){e=e.style;for(var s in n)if(n.hasOwnProperty(s)){var o=s.indexOf("--")===0,c=ts(s,n[s],o);s==="float"&&(s="cssFloat"),o?e.setProperty(s,c):e[s]=c}}var Ks=G({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function xr(e,n){if(n){if(Ks[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(l(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(l(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(l(61))}if(n.style!=null&&typeof n.style!="object")throw Error(l(62))}}function wr(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";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 kr=null;function jr(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Sr=null,ht=null,mt=null;function ss(e){if(e=Cs(e)){if(typeof Sr!="function")throw Error(l(280));var n=e.stateNode;n&&(n=yi(n),Sr(e.stateNode,e.type,n))}}function is(e){ht?mt?mt.push(e):mt=[e]:ht=e}function Qs(){if(ht){var e=ht,n=mt;if(mt=ht=null,ss(e),n)for(e=0;e<n.length;e++)ss(n[e])}}function j(e,n){return e(n)}function S(){}var L=!1;function se(e,n,s){if(L)return e(n,s);L=!0;try{return j(e,n,s)}finally{L=!1,(ht!==null||mt!==null)&&(S(),Qs())}}function ie(e,n){var s=e.stateNode;if(s===null)return null;var o=yi(s);if(o===null)return null;s=o[n];e:switch(n){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(o=!o.disabled)||(e=e.type,o=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!o;break e;default:e=!1}if(e)return null;if(s&&typeof s!="function")throw Error(l(231,n,typeof s));return s}var Ae=!1;if(g)try{var Oe={};Object.defineProperty(Oe,"passive",{get:function(){Ae=!0}}),window.addEventListener("test",Oe,Oe),window.removeEventListener("test",Oe,Oe)}catch{Ae=!1}function Ze(e,n,s,o,c,u,f,v,y){var E=Array.prototype.slice.call(arguments,3);try{n.apply(s,E)}catch(B){this.onError(B)}}var En=!1,Cr=null,Nr=!1,en=null,Gs={onError:function(e){En=!0,Cr=e}};function Ys(e,n,s,o,c,u,f,v,y){En=!1,Cr=null,Ze.apply(Gs,arguments)}function Xs(e,n,s,o,c,u,f,v,y){if(Ys.apply(this,arguments),En){if(En){var E=Cr;En=!1,Cr=null}else throw Error(l(198));Nr||(Nr=!0,en=E)}}function Jt(e){var n=e,s=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do n=e,(n.flags&4098)!==0&&(s=n.return),e=n.return;while(e)}return n.tag===3?s:null}function Oa(e){if(e.tag===13){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function za(e){if(Jt(e)!==e)throw Error(l(188))}function Hf(e){var n=e.alternate;if(!n){if(n=Jt(e),n===null)throw Error(l(188));return n!==e?null:e}for(var s=e,o=n;;){var c=s.return;if(c===null)break;var u=c.alternate;if(u===null){if(o=c.return,o!==null){s=o;continue}break}if(c.child===u.child){for(u=c.child;u;){if(u===s)return za(c),e;if(u===o)return za(c),n;u=u.sibling}throw Error(l(188))}if(s.return!==o.return)s=c,o=u;else{for(var f=!1,v=c.child;v;){if(v===s){f=!0,s=c,o=u;break}if(v===o){f=!0,o=c,s=u;break}v=v.sibling}if(!f){for(v=u.child;v;){if(v===s){f=!0,s=u,o=c;break}if(v===o){f=!0,o=u,s=c;break}v=v.sibling}if(!f)throw Error(l(189))}}if(s.alternate!==o)throw Error(l(190))}if(s.tag!==3)throw Error(l(188));return s.stateNode.current===s?e:n}function Fa(e){return e=Hf(e),e!==null?Ba(e):null}function Ba(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var n=Ba(e);if(n!==null)return n;e=e.sibling}return null}var qa=r.unstable_scheduleCallback,Wa=r.unstable_cancelCallback,Vf=r.unstable_shouldYield,Kf=r.unstable_requestPaint,Ve=r.unstable_now,Qf=r.unstable_getCurrentPriorityLevel,To=r.unstable_ImmediatePriority,Ua=r.unstable_UserBlockingPriority,Js=r.unstable_NormalPriority,Gf=r.unstable_LowPriority,Ha=r.unstable_IdlePriority,Zs=null,lt=null;function Yf(e){if(lt&&typeof lt.onCommitFiberRoot=="function")try{lt.onCommitFiberRoot(Zs,e,void 0,(e.current.flags&128)===128)}catch{}}var Yn=Math.clz32?Math.clz32:Zf,Xf=Math.log,Jf=Math.LN2;function Zf(e){return e>>>=0,e===0?32:31-(Xf(e)/Jf|0)|0}var ei=64,ni=4194304;function os(e){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:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ti(e,n){var s=e.pendingLanes;if(s===0)return 0;var o=0,c=e.suspendedLanes,u=e.pingedLanes,f=s&268435455;if(f!==0){var v=f&~c;v!==0?o=os(v):(u&=f,u!==0&&(o=os(u)))}else f=s&~c,f!==0?o=os(f):u!==0&&(o=os(u));if(o===0)return 0;if(n!==0&&n!==o&&(n&c)===0&&(c=o&-o,u=n&-n,c>=u||c===16&&(u&4194240)!==0))return n;if((o&4)!==0&&(o|=s&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=o;0<n;)s=31-Yn(n),c=1<<s,o|=e[s],n&=~c;return o}function ep(e,n){switch(e){case 1:case 2:case 4:return n+250;case 8:case 16:case 32:case 64: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 n+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function np(e,n){for(var s=e.suspendedLanes,o=e.pingedLanes,c=e.expirationTimes,u=e.pendingLanes;0<u;){var f=31-Yn(u),v=1<<f,y=c[f];y===-1?((v&s)===0||(v&o)!==0)&&(c[f]=ep(v,n)):y<=n&&(e.expiredLanes|=v),u&=~v}}function Mo(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Va(){var e=ei;return ei<<=1,(ei&4194240)===0&&(ei=64),e}function $o(e){for(var n=[],s=0;31>s;s++)n.push(e);return n}function ls(e,n,s){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Yn(n),e[n]=s}function tp(e,n){var s=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var o=e.eventTimes;for(e=e.expirationTimes;0<s;){var c=31-Yn(s),u=1<<c;n[c]=0,o[c]=-1,e[c]=-1,s&=~u}}function Ao(e,n){var s=e.entangledLanes|=n;for(e=e.entanglements;s;){var o=31-Yn(s),c=1<<o;c&n|e[o]&n&&(e[o]|=n),s&=~c}}var $e=0;function Ka(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var Qa,Do,Ga,Ya,Xa,Lo=!1,ri=[],Et=null,Rt=null,Pt=null,as=new Map,cs=new Map,Tt=[],rp="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 submit".split(" ");function Ja(e,n){switch(e){case"focusin":case"focusout":Et=null;break;case"dragenter":case"dragleave":Rt=null;break;case"mouseover":case"mouseout":Pt=null;break;case"pointerover":case"pointerout":as.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":cs.delete(n.pointerId)}}function us(e,n,s,o,c,u){return e===null||e.nativeEvent!==u?(e={blockedOn:n,domEventName:s,eventSystemFlags:o,nativeEvent:u,targetContainers:[c]},n!==null&&(n=Cs(n),n!==null&&Do(n)),e):(e.eventSystemFlags|=o,n=e.targetContainers,c!==null&&n.indexOf(c)===-1&&n.push(c),e)}function sp(e,n,s,o,c){switch(n){case"focusin":return Et=us(Et,e,n,s,o,c),!0;case"dragenter":return Rt=us(Rt,e,n,s,o,c),!0;case"mouseover":return Pt=us(Pt,e,n,s,o,c),!0;case"pointerover":var u=c.pointerId;return as.set(u,us(as.get(u)||null,e,n,s,o,c)),!0;case"gotpointercapture":return u=c.pointerId,cs.set(u,us(cs.get(u)||null,e,n,s,o,c)),!0}return!1}function Za(e){var n=Zt(e.target);if(n!==null){var s=Jt(n);if(s!==null){if(n=s.tag,n===13){if(n=Oa(s),n!==null){e.blockedOn=n,Xa(e.priority,function(){Ga(s)});return}}else if(n===3&&s.stateNode.current.memoizedState.isDehydrated){e.blockedOn=s.tag===3?s.stateNode.containerInfo:null;return}}}e.blockedOn=null}function si(e){if(e.blockedOn!==null)return!1;for(var n=e.targetContainers;0<n.length;){var s=zo(e.domEventName,e.eventSystemFlags,n[0],e.nativeEvent);if(s===null){s=e.nativeEvent;var o=new s.constructor(s.type,s);kr=o,s.target.dispatchEvent(o),kr=null}else return n=Cs(s),n!==null&&Do(n),e.blockedOn=s,!1;n.shift()}return!0}function ec(e,n,s){si(e)&&s.delete(n)}function ip(){Lo=!1,Et!==null&&si(Et)&&(Et=null),Rt!==null&&si(Rt)&&(Rt=null),Pt!==null&&si(Pt)&&(Pt=null),as.forEach(ec),cs.forEach(ec)}function ds(e,n){e.blockedOn===n&&(e.blockedOn=null,Lo||(Lo=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,ip)))}function fs(e){function n(c){return ds(c,e)}if(0<ri.length){ds(ri[0],e);for(var s=1;s<ri.length;s++){var o=ri[s];o.blockedOn===e&&(o.blockedOn=null)}}for(Et!==null&&ds(Et,e),Rt!==null&&ds(Rt,e),Pt!==null&&ds(Pt,e),as.forEach(n),cs.forEach(n),s=0;s<Tt.length;s++)o=Tt[s],o.blockedOn===e&&(o.blockedOn=null);for(;0<Tt.length&&(s=Tt[0],s.blockedOn===null);)Za(s),s.blockedOn===null&&Tt.shift()}var _r=X.ReactCurrentBatchConfig,ii=!0;function op(e,n,s,o){var c=$e,u=_r.transition;_r.transition=null;try{$e=1,Oo(e,n,s,o)}finally{$e=c,_r.transition=u}}function lp(e,n,s,o){var c=$e,u=_r.transition;_r.transition=null;try{$e=4,Oo(e,n,s,o)}finally{$e=c,_r.transition=u}}function Oo(e,n,s,o){if(ii){var c=zo(e,n,s,o);if(c===null)tl(e,n,o,oi,s),Ja(e,o);else if(sp(c,e,n,s,o))o.stopPropagation();else if(Ja(e,o),n&4&&-1<rp.indexOf(e)){for(;c!==null;){var u=Cs(c);if(u!==null&&Qa(u),u=zo(e,n,s,o),u===null&&tl(e,n,o,oi,s),u===c)break;c=u}c!==null&&o.stopPropagation()}else tl(e,n,o,null,s)}}var oi=null;function zo(e,n,s,o){if(oi=null,e=jr(o),e=Zt(e),e!==null)if(n=Jt(e),n===null)e=null;else if(s=n.tag,s===13){if(e=Oa(n),e!==null)return e;e=null}else if(s===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;e=null}else n!==e&&(e=null);return oi=e,null}function nc(e){switch(e){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"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 1;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"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Qf()){case To:return 1;case Ua:return 4;case Js:case Gf:return 16;case Ha:return 536870912;default:return 16}default:return 16}}var Mt=null,Fo=null,li=null;function tc(){if(li)return li;var e,n=Fo,s=n.length,o,c="value"in Mt?Mt.value:Mt.textContent,u=c.length;for(e=0;e<s&&n[e]===c[e];e++);var f=s-e;for(o=1;o<=f&&n[s-o]===c[u-o];o++);return li=c.slice(e,1<o?1-o:void 0)}function ai(e){var n=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&n===13&&(e=13)):e=n,e===10&&(e=13),32<=e||e===13?e:0}function ci(){return!0}function rc(){return!1}function Rn(e){function n(s,o,c,u,f){this._reactName=s,this._targetInst=c,this.type=o,this.nativeEvent=u,this.target=f,this.currentTarget=null;for(var v in e)e.hasOwnProperty(v)&&(s=e[v],this[v]=s?s(u):u[v]);return this.isDefaultPrevented=(u.defaultPrevented!=null?u.defaultPrevented:u.returnValue===!1)?ci:rc,this.isPropagationStopped=rc,this}return G(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var s=this.nativeEvent;s&&(s.preventDefault?s.preventDefault():typeof s.returnValue!="unknown"&&(s.returnValue=!1),this.isDefaultPrevented=ci)},stopPropagation:function(){var s=this.nativeEvent;s&&(s.stopPropagation?s.stopPropagation():typeof s.cancelBubble!="unknown"&&(s.cancelBubble=!0),this.isPropagationStopped=ci)},persist:function(){},isPersistent:ci}),n}var Ir={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Bo=Rn(Ir),ps=G({},Ir,{view:0,detail:0}),ap=Rn(ps),qo,Wo,hs,ui=G({},ps,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ho,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!==hs&&(hs&&e.type==="mousemove"?(qo=e.screenX-hs.screenX,Wo=e.screenY-hs.screenY):Wo=qo=0,hs=e),qo)},movementY:function(e){return"movementY"in e?e.movementY:Wo}}),sc=Rn(ui),cp=G({},ui,{dataTransfer:0}),up=Rn(cp),dp=G({},ps,{relatedTarget:0}),Uo=Rn(dp),fp=G({},Ir,{animationName:0,elapsedTime:0,pseudoElement:0}),pp=Rn(fp),hp=G({},Ir,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),mp=Rn(hp),gp=G({},Ir,{data:0}),ic=Rn(gp),vp={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},yp={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"},xp={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function wp(e){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(e):(e=xp[e])?!!n[e]:!1}function Ho(){return wp}var kp=G({},ps,{key:function(e){if(e.key){var n=vp[e.key]||e.key;if(n!=="Unidentified")return n}return e.type==="keypress"?(e=ai(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?yp[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ho,charCode:function(e){return e.type==="keypress"?ai(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?ai(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),jp=Rn(kp),Sp=G({},ui,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),oc=Rn(Sp),Cp=G({},ps,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ho}),Np=Rn(Cp),_p=G({},Ir,{propertyName:0,elapsedTime:0,pseudoElement:0}),Ip=Rn(_p),bp=G({},ui,{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}),Ep=Rn(bp),Rp=[9,13,27,32],Vo=g&&"CompositionEvent"in window,ms=null;g&&"documentMode"in document&&(ms=document.documentMode);var Pp=g&&"TextEvent"in window&&!ms,lc=g&&(!Vo||ms&&8<ms&&11>=ms),ac=" ",cc=!1;function uc(e,n){switch(e){case"keyup":return Rp.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function dc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var br=!1;function Tp(e,n){switch(e){case"compositionend":return dc(n);case"keypress":return n.which!==32?null:(cc=!0,ac);case"textInput":return e=n.data,e===ac&&cc?null:e;default:return null}}function Mp(e,n){if(br)return e==="compositionend"||!Vo&&uc(e,n)?(e=tc(),li=Fo=Mt=null,br=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return lc&&n.locale!=="ko"?null:n.data;default:return null}}var $p={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 fc(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n==="input"?!!$p[e.type]:n==="textarea"}function pc(e,n,s,o){is(o),n=mi(n,"onChange"),0<n.length&&(s=new Bo("onChange","change",null,s,o),e.push({event:s,listeners:n}))}var gs=null,vs=null;function Ap(e){Pc(e,0)}function di(e){var n=Mr(e);if(sn(n))return e}function Dp(e,n){if(e==="change")return n}var hc=!1;if(g){var Ko;if(g){var Qo="oninput"in document;if(!Qo){var mc=document.createElement("div");mc.setAttribute("oninput","return;"),Qo=typeof mc.oninput=="function"}Ko=Qo}else Ko=!1;hc=Ko&&(!document.documentMode||9<document.documentMode)}function gc(){gs&&(gs.detachEvent("onpropertychange",vc),vs=gs=null)}function vc(e){if(e.propertyName==="value"&&di(vs)){var n=[];pc(n,vs,e,jr(e)),se(Ap,n)}}function Lp(e,n,s){e==="focusin"?(gc(),gs=n,vs=s,gs.attachEvent("onpropertychange",vc)):e==="focusout"&&gc()}function Op(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return di(vs)}function zp(e,n){if(e==="click")return di(n)}function Fp(e,n){if(e==="input"||e==="change")return di(n)}function Bp(e,n){return e===n&&(e!==0||1/e===1/n)||e!==e&&n!==n}var Xn=typeof Object.is=="function"?Object.is:Bp;function ys(e,n){if(Xn(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;var s=Object.keys(e),o=Object.keys(n);if(s.length!==o.length)return!1;for(o=0;o<s.length;o++){var c=s[o];if(!k.call(n,c)||!Xn(e[c],n[c]))return!1}return!0}function yc(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function xc(e,n){var s=yc(e);e=0;for(var o;s;){if(s.nodeType===3){if(o=e+s.textContent.length,e<=n&&o>=n)return{node:s,offset:n-e};e=o}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=yc(s)}}function wc(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?wc(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function kc(){for(var e=window,n=Ye();n instanceof e.HTMLIFrameElement;){try{var s=typeof n.contentWindow.location.href=="string"}catch{s=!1}if(s)e=n.contentWindow;else break;n=Ye(e.document)}return n}function Go(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function qp(e){var n=kc(),s=e.focusedElem,o=e.selectionRange;if(n!==s&&s&&s.ownerDocument&&wc(s.ownerDocument.documentElement,s)){if(o!==null&&Go(s)){if(n=o.start,e=o.end,e===void 0&&(e=n),"selectionStart"in s)s.selectionStart=n,s.selectionEnd=Math.min(e,s.value.length);else if(e=(n=s.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var c=s.textContent.length,u=Math.min(o.start,c);o=o.end===void 0?u:Math.min(o.end,c),!e.extend&&u>o&&(c=o,o=u,u=c),c=xc(s,u);var f=xc(s,o);c&&f&&(e.rangeCount!==1||e.anchorNode!==c.node||e.anchorOffset!==c.offset||e.focusNode!==f.node||e.focusOffset!==f.offset)&&(n=n.createRange(),n.setStart(c.node,c.offset),e.removeAllRanges(),u>o?(e.addRange(n),e.extend(f.node,f.offset)):(n.setEnd(f.node,f.offset),e.addRange(n)))}}for(n=[],e=s;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof s.focus=="function"&&s.focus(),s=0;s<n.length;s++)e=n[s],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Wp=g&&"documentMode"in document&&11>=document.documentMode,Er=null,Yo=null,xs=null,Xo=!1;function jc(e,n,s){var o=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;Xo||Er==null||Er!==Ye(o)||(o=Er,"selectionStart"in o&&Go(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),xs&&ys(xs,o)||(xs=o,o=mi(Yo,"onSelect"),0<o.length&&(n=new Bo("onSelect","select",null,n,s),e.push({event:n,listeners:o}),n.target=Er)))}function fi(e,n){var s={};return s[e.toLowerCase()]=n.toLowerCase(),s["Webkit"+e]="webkit"+n,s["Moz"+e]="moz"+n,s}var Rr={animationend:fi("Animation","AnimationEnd"),animationiteration:fi("Animation","AnimationIteration"),animationstart:fi("Animation","AnimationStart"),transitionend:fi("Transition","TransitionEnd")},Jo={},Sc={};g&&(Sc=document.createElement("div").style,"AnimationEvent"in window||(delete Rr.animationend.animation,delete Rr.animationiteration.animation,delete Rr.animationstart.animation),"TransitionEvent"in window||delete Rr.transitionend.transition);function pi(e){if(Jo[e])return Jo[e];if(!Rr[e])return e;var n=Rr[e],s;for(s in n)if(n.hasOwnProperty(s)&&s in Sc)return Jo[e]=n[s];return e}var Cc=pi("animationend"),Nc=pi("animationiteration"),_c=pi("animationstart"),Ic=pi("transitionend"),bc=new Map,Ec="abort auxClick 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(" ");function $t(e,n){bc.set(e,n),p(n,[e])}for(var Zo=0;Zo<Ec.length;Zo++){var el=Ec[Zo],Up=el.toLowerCase(),Hp=el[0].toUpperCase()+el.slice(1);$t(Up,"on"+Hp)}$t(Cc,"onAnimationEnd"),$t(Nc,"onAnimationIteration"),$t(_c,"onAnimationStart"),$t("dblclick","onDoubleClick"),$t("focusin","onFocus"),$t("focusout","onBlur"),$t(Ic,"onTransitionEnd"),h("onMouseEnter",["mouseout","mouseover"]),h("onMouseLeave",["mouseout","mouseover"]),h("onPointerEnter",["pointerout","pointerover"]),h("onPointerLeave",["pointerout","pointerover"]),p("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),p("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),p("onBeforeInput",["compositionend","keypress","textInput","paste"]),p("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),p("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),p("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ws="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(" "),Vp=new Set("cancel close invalid load scroll toggle".split(" ").concat(ws));function Rc(e,n,s){var o=e.type||"unknown-event";e.currentTarget=s,Xs(o,n,void 0,e),e.currentTarget=null}function Pc(e,n){n=(n&4)!==0;for(var s=0;s<e.length;s++){var o=e[s],c=o.event;o=o.listeners;e:{var u=void 0;if(n)for(var f=o.length-1;0<=f;f--){var v=o[f],y=v.instance,E=v.currentTarget;if(v=v.listener,y!==u&&c.isPropagationStopped())break e;Rc(c,v,E),u=y}else for(f=0;f<o.length;f++){if(v=o[f],y=v.instance,E=v.currentTarget,v=v.listener,y!==u&&c.isPropagationStopped())break e;Rc(c,v,E),u=y}}}if(Nr)throw e=en,Nr=!1,en=null,e}function ze(e,n){var s=n[al];s===void 0&&(s=n[al]=new Set);var o=e+"__bubble";s.has(o)||(Tc(n,e,2,!1),s.add(o))}function nl(e,n,s){var o=0;n&&(o|=4),Tc(s,e,o,n)}var hi="_reactListening"+Math.random().toString(36).slice(2);function ks(e){if(!e[hi]){e[hi]=!0,a.forEach(function(s){s!=="selectionchange"&&(Vp.has(s)||nl(s,!1,e),nl(s,!0,e))});var n=e.nodeType===9?e:e.ownerDocument;n===null||n[hi]||(n[hi]=!0,nl("selectionchange",!1,n))}}function Tc(e,n,s,o){switch(nc(n)){case 1:var c=op;break;case 4:c=lp;break;default:c=Oo}s=c.bind(null,n,s,e),c=void 0,!Ae||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(c=!0),o?c!==void 0?e.addEventListener(n,s,{capture:!0,passive:c}):e.addEventListener(n,s,!0):c!==void 0?e.addEventListener(n,s,{passive:c}):e.addEventListener(n,s,!1)}function tl(e,n,s,o,c){var u=o;if((n&1)===0&&(n&2)===0&&o!==null)e:for(;;){if(o===null)return;var f=o.tag;if(f===3||f===4){var v=o.stateNode.containerInfo;if(v===c||v.nodeType===8&&v.parentNode===c)break;if(f===4)for(f=o.return;f!==null;){var y=f.tag;if((y===3||y===4)&&(y=f.stateNode.containerInfo,y===c||y.nodeType===8&&y.parentNode===c))return;f=f.return}for(;v!==null;){if(f=Zt(v),f===null)return;if(y=f.tag,y===5||y===6){o=u=f;continue e}v=v.parentNode}}o=o.return}se(function(){var E=u,B=jr(s),U=[];e:{var z=bc.get(e);if(z!==void 0){var ee=Bo,oe=e;switch(e){case"keypress":if(ai(s)===0)break e;case"keydown":case"keyup":ee=jp;break;case"focusin":oe="focus",ee=Uo;break;case"focusout":oe="blur",ee=Uo;break;case"beforeblur":case"afterblur":ee=Uo;break;case"click":if(s.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":ee=sc;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ee=up;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ee=Np;break;case Cc:case Nc:case _c:ee=pp;break;case Ic:ee=Ip;break;case"scroll":ee=ap;break;case"wheel":ee=Ep;break;case"copy":case"cut":case"paste":ee=mp;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ee=oc}var ae=(n&4)!==0,Ke=!ae&&e==="scroll",C=ae?z!==null?z+"Capture":null:z;ae=[];for(var x=E,_;x!==null;){_=x;var V=_.stateNode;if(_.tag===5&&V!==null&&(_=V,C!==null&&(V=ie(x,C),V!=null&&ae.push(js(x,V,_)))),Ke)break;x=x.return}0<ae.length&&(z=new ee(z,oe,null,s,B),U.push({event:z,listeners:ae}))}}if((n&7)===0){e:{if(z=e==="mouseover"||e==="pointerover",ee=e==="mouseout"||e==="pointerout",z&&s!==kr&&(oe=s.relatedTarget||s.fromElement)&&(Zt(oe)||oe[gt]))break e;if((ee||z)&&(z=B.window===B?B:(z=B.ownerDocument)?z.defaultView||z.parentWindow:window,ee?(oe=s.relatedTarget||s.toElement,ee=E,oe=oe?Zt(oe):null,oe!==null&&(Ke=Jt(oe),oe!==Ke||oe.tag!==5&&oe.tag!==6)&&(oe=null)):(ee=null,oe=E),ee!==oe)){if(ae=sc,V="onMouseLeave",C="onMouseEnter",x="mouse",(e==="pointerout"||e==="pointerover")&&(ae=oc,V="onPointerLeave",C="onPointerEnter",x="pointer"),Ke=ee==null?z:Mr(ee),_=oe==null?z:Mr(oe),z=new ae(V,x+"leave",ee,s,B),z.target=Ke,z.relatedTarget=_,V=null,Zt(B)===E&&(ae=new ae(C,x+"enter",oe,s,B),ae.target=_,ae.relatedTarget=Ke,V=ae),Ke=V,ee&&oe)n:{for(ae=ee,C=oe,x=0,_=ae;_;_=Pr(_))x++;for(_=0,V=C;V;V=Pr(V))_++;for(;0<x-_;)ae=Pr(ae),x--;for(;0<_-x;)C=Pr(C),_--;for(;x--;){if(ae===C||C!==null&&ae===C.alternate)break n;ae=Pr(ae),C=Pr(C)}ae=null}else ae=null;ee!==null&&Mc(U,z,ee,ae,!1),oe!==null&&Ke!==null&&Mc(U,Ke,oe,ae,!0)}}e:{if(z=E?Mr(E):window,ee=z.nodeName&&z.nodeName.toLowerCase(),ee==="select"||ee==="input"&&z.type==="file")var ce=Dp;else if(fc(z))if(hc)ce=Fp;else{ce=Op;var pe=Lp}else(ee=z.nodeName)&&ee.toLowerCase()==="input"&&(z.type==="checkbox"||z.type==="radio")&&(ce=zp);if(ce&&(ce=ce(e,E))){pc(U,ce,s,B);break e}pe&&pe(e,z,E),e==="focusout"&&(pe=z._wrapperState)&&pe.controlled&&z.type==="number"&&on(z,"number",z.value)}switch(pe=E?Mr(E):window,e){case"focusin":(fc(pe)||pe.contentEditable==="true")&&(Er=pe,Yo=E,xs=null);break;case"focusout":xs=Yo=Er=null;break;case"mousedown":Xo=!0;break;case"contextmenu":case"mouseup":case"dragend":Xo=!1,jc(U,s,B);break;case"selectionchange":if(Wp)break;case"keydown":case"keyup":jc(U,s,B)}var he;if(Vo)e:{switch(e){case"compositionstart":var xe="onCompositionStart";break e;case"compositionend":xe="onCompositionEnd";break e;case"compositionupdate":xe="onCompositionUpdate";break e}xe=void 0}else br?uc(e,s)&&(xe="onCompositionEnd"):e==="keydown"&&s.keyCode===229&&(xe="onCompositionStart");xe&&(lc&&s.locale!=="ko"&&(br||xe!=="onCompositionStart"?xe==="onCompositionEnd"&&br&&(he=tc()):(Mt=B,Fo="value"in Mt?Mt.value:Mt.textContent,br=!0)),pe=mi(E,xe),0<pe.length&&(xe=new ic(xe,e,null,s,B),U.push({event:xe,listeners:pe}),he?xe.data=he:(he=dc(s),he!==null&&(xe.data=he)))),(he=Pp?Tp(e,s):Mp(e,s))&&(E=mi(E,"onBeforeInput"),0<E.length&&(B=new ic("onBeforeInput","beforeinput",null,s,B),U.push({event:B,listeners:E}),B.data=he))}Pc(U,n)})}function js(e,n,s){return{instance:e,listener:n,currentTarget:s}}function mi(e,n){for(var s=n+"Capture",o=[];e!==null;){var c=e,u=c.stateNode;c.tag===5&&u!==null&&(c=u,u=ie(e,s),u!=null&&o.unshift(js(e,u,c)),u=ie(e,n),u!=null&&o.push(js(e,u,c))),e=e.return}return o}function Pr(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Mc(e,n,s,o,c){for(var u=n._reactName,f=[];s!==null&&s!==o;){var v=s,y=v.alternate,E=v.stateNode;if(y!==null&&y===o)break;v.tag===5&&E!==null&&(v=E,c?(y=ie(s,u),y!=null&&f.unshift(js(s,y,v))):c||(y=ie(s,u),y!=null&&f.push(js(s,y,v)))),s=s.return}f.length!==0&&e.push({event:n,listeners:f})}var Kp=/\r\n?/g,Qp=/\u0000|\uFFFD/g;function $c(e){return(typeof e=="string"?e:""+e).replace(Kp,`
7
+ `).replace(Qp,"")}function gi(e,n,s){if(n=$c(n),$c(e)!==n&&s)throw Error(l(425))}function vi(){}var rl=null,sl=null;function il(e,n){return e==="textarea"||e==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var ol=typeof setTimeout=="function"?setTimeout:void 0,Gp=typeof clearTimeout=="function"?clearTimeout:void 0,Ac=typeof Promise=="function"?Promise:void 0,Yp=typeof queueMicrotask=="function"?queueMicrotask:typeof Ac<"u"?function(e){return Ac.resolve(null).then(e).catch(Xp)}:ol;function Xp(e){setTimeout(function(){throw e})}function ll(e,n){var s=n,o=0;do{var c=s.nextSibling;if(e.removeChild(s),c&&c.nodeType===8)if(s=c.data,s==="/$"){if(o===0){e.removeChild(c),fs(n);return}o--}else s!=="$"&&s!=="$?"&&s!=="$!"||o++;s=c}while(s);fs(n)}function At(e){for(;e!=null;e=e.nextSibling){var n=e.nodeType;if(n===1||n===3)break;if(n===8){if(n=e.data,n==="$"||n==="$!"||n==="$?")break;if(n==="/$")return null}}return e}function Dc(e){e=e.previousSibling;for(var n=0;e;){if(e.nodeType===8){var s=e.data;if(s==="$"||s==="$!"||s==="$?"){if(n===0)return e;n--}else s==="/$"&&n++}e=e.previousSibling}return null}var Tr=Math.random().toString(36).slice(2),at="__reactFiber$"+Tr,Ss="__reactProps$"+Tr,gt="__reactContainer$"+Tr,al="__reactEvents$"+Tr,Jp="__reactListeners$"+Tr,Zp="__reactHandles$"+Tr;function Zt(e){var n=e[at];if(n)return n;for(var s=e.parentNode;s;){if(n=s[gt]||s[at]){if(s=n.alternate,n.child!==null||s!==null&&s.child!==null)for(e=Dc(e);e!==null;){if(s=e[at])return s;e=Dc(e)}return n}e=s,s=e.parentNode}return null}function Cs(e){return e=e[at]||e[gt],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Mr(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(l(33))}function yi(e){return e[Ss]||null}var cl=[],$r=-1;function Dt(e){return{current:e}}function Fe(e){0>$r||(e.current=cl[$r],cl[$r]=null,$r--)}function Le(e,n){$r++,cl[$r]=e.current,e.current=n}var Lt={},cn=Dt(Lt),vn=Dt(!1),er=Lt;function Ar(e,n){var s=e.type.contextTypes;if(!s)return Lt;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===n)return o.__reactInternalMemoizedMaskedChildContext;var c={},u;for(u in s)c[u]=n[u];return o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=c),c}function yn(e){return e=e.childContextTypes,e!=null}function xi(){Fe(vn),Fe(cn)}function Lc(e,n,s){if(cn.current!==Lt)throw Error(l(168));Le(cn,n),Le(vn,s)}function Oc(e,n,s){var o=e.stateNode;if(n=n.childContextTypes,typeof o.getChildContext!="function")return s;o=o.getChildContext();for(var c in o)if(!(c in n))throw Error(l(108,be(e)||"Unknown",c));return G({},s,o)}function wi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Lt,er=cn.current,Le(cn,e),Le(vn,vn.current),!0}function zc(e,n,s){var o=e.stateNode;if(!o)throw Error(l(169));s?(e=Oc(e,n,er),o.__reactInternalMemoizedMergedChildContext=e,Fe(vn),Fe(cn),Le(cn,e)):Fe(vn),Le(vn,s)}var vt=null,ki=!1,ul=!1;function Fc(e){vt===null?vt=[e]:vt.push(e)}function eh(e){ki=!0,Fc(e)}function Ot(){if(!ul&&vt!==null){ul=!0;var e=0,n=$e;try{var s=vt;for($e=1;e<s.length;e++){var o=s[e];do o=o(!0);while(o!==null)}vt=null,ki=!1}catch(c){throw vt!==null&&(vt=vt.slice(e+1)),qa(To,Ot),c}finally{$e=n,ul=!1}}return null}var Dr=[],Lr=0,ji=null,Si=0,On=[],zn=0,nr=null,yt=1,xt="";function tr(e,n){Dr[Lr++]=Si,Dr[Lr++]=ji,ji=e,Si=n}function Bc(e,n,s){On[zn++]=yt,On[zn++]=xt,On[zn++]=nr,nr=e;var o=yt;e=xt;var c=32-Yn(o)-1;o&=~(1<<c),s+=1;var u=32-Yn(n)+c;if(30<u){var f=c-c%5;u=(o&(1<<f)-1).toString(32),o>>=f,c-=f,yt=1<<32-Yn(n)+c|s<<c|o,xt=u+e}else yt=1<<u|s<<c|o,xt=e}function dl(e){e.return!==null&&(tr(e,1),Bc(e,1,0))}function fl(e){for(;e===ji;)ji=Dr[--Lr],Dr[Lr]=null,Si=Dr[--Lr],Dr[Lr]=null;for(;e===nr;)nr=On[--zn],On[zn]=null,xt=On[--zn],On[zn]=null,yt=On[--zn],On[zn]=null}var Pn=null,Tn=null,Be=!1,Jn=null;function qc(e,n){var s=Wn(5,null,null,0);s.elementType="DELETED",s.stateNode=n,s.return=e,n=e.deletions,n===null?(e.deletions=[s],e.flags|=16):n.push(s)}function Wc(e,n){switch(e.tag){case 5:var s=e.type;return n=n.nodeType!==1||s.toLowerCase()!==n.nodeName.toLowerCase()?null:n,n!==null?(e.stateNode=n,Pn=e,Tn=At(n.firstChild),!0):!1;case 6:return n=e.pendingProps===""||n.nodeType!==3?null:n,n!==null?(e.stateNode=n,Pn=e,Tn=null,!0):!1;case 13:return n=n.nodeType!==8?null:n,n!==null?(s=nr!==null?{id:yt,overflow:xt}:null,e.memoizedState={dehydrated:n,treeContext:s,retryLane:1073741824},s=Wn(18,null,null,0),s.stateNode=n,s.return=e,e.child=s,Pn=e,Tn=null,!0):!1;default:return!1}}function pl(e){return(e.mode&1)!==0&&(e.flags&128)===0}function hl(e){if(Be){var n=Tn;if(n){var s=n;if(!Wc(e,n)){if(pl(e))throw Error(l(418));n=At(s.nextSibling);var o=Pn;n&&Wc(e,n)?qc(o,s):(e.flags=e.flags&-4097|2,Be=!1,Pn=e)}}else{if(pl(e))throw Error(l(418));e.flags=e.flags&-4097|2,Be=!1,Pn=e}}}function Uc(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Pn=e}function Ci(e){if(e!==Pn)return!1;if(!Be)return Uc(e),Be=!0,!1;var n;if((n=e.tag!==3)&&!(n=e.tag!==5)&&(n=e.type,n=n!=="head"&&n!=="body"&&!il(e.type,e.memoizedProps)),n&&(n=Tn)){if(pl(e))throw Hc(),Error(l(418));for(;n;)qc(e,n),n=At(n.nextSibling)}if(Uc(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(317));e:{for(e=e.nextSibling,n=0;e;){if(e.nodeType===8){var s=e.data;if(s==="/$"){if(n===0){Tn=At(e.nextSibling);break e}n--}else s!=="$"&&s!=="$!"&&s!=="$?"||n++}e=e.nextSibling}Tn=null}}else Tn=Pn?At(e.stateNode.nextSibling):null;return!0}function Hc(){for(var e=Tn;e;)e=At(e.nextSibling)}function Or(){Tn=Pn=null,Be=!1}function ml(e){Jn===null?Jn=[e]:Jn.push(e)}var nh=X.ReactCurrentBatchConfig;function Ns(e,n,s){if(e=s.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(s._owner){if(s=s._owner,s){if(s.tag!==1)throw Error(l(309));var o=s.stateNode}if(!o)throw Error(l(147,e));var c=o,u=""+e;return n!==null&&n.ref!==null&&typeof n.ref=="function"&&n.ref._stringRef===u?n.ref:(n=function(f){var v=c.refs;f===null?delete v[u]:v[u]=f},n._stringRef=u,n)}if(typeof e!="string")throw Error(l(284));if(!s._owner)throw Error(l(290,e))}return e}function Ni(e,n){throw e=Object.prototype.toString.call(n),Error(l(31,e==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":e))}function Vc(e){var n=e._init;return n(e._payload)}function Kc(e){function n(C,x){if(e){var _=C.deletions;_===null?(C.deletions=[x],C.flags|=16):_.push(x)}}function s(C,x){if(!e)return null;for(;x!==null;)n(C,x),x=x.sibling;return null}function o(C,x){for(C=new Map;x!==null;)x.key!==null?C.set(x.key,x):C.set(x.index,x),x=x.sibling;return C}function c(C,x){return C=Vt(C,x),C.index=0,C.sibling=null,C}function u(C,x,_){return C.index=_,e?(_=C.alternate,_!==null?(_=_.index,_<x?(C.flags|=2,x):_):(C.flags|=2,x)):(C.flags|=1048576,x)}function f(C){return e&&C.alternate===null&&(C.flags|=2),C}function v(C,x,_,V){return x===null||x.tag!==6?(x=oa(_,C.mode,V),x.return=C,x):(x=c(x,_),x.return=C,x)}function y(C,x,_,V){var ce=_.type;return ce===R?B(C,x,_.props.children,V,_.key):x!==null&&(x.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===me&&Vc(ce)===x.type)?(V=c(x,_.props),V.ref=Ns(C,x,_),V.return=C,V):(V=Gi(_.type,_.key,_.props,null,C.mode,V),V.ref=Ns(C,x,_),V.return=C,V)}function E(C,x,_,V){return x===null||x.tag!==4||x.stateNode.containerInfo!==_.containerInfo||x.stateNode.implementation!==_.implementation?(x=la(_,C.mode,V),x.return=C,x):(x=c(x,_.children||[]),x.return=C,x)}function B(C,x,_,V,ce){return x===null||x.tag!==7?(x=ur(_,C.mode,V,ce),x.return=C,x):(x=c(x,_),x.return=C,x)}function U(C,x,_){if(typeof x=="string"&&x!==""||typeof x=="number")return x=oa(""+x,C.mode,_),x.return=C,x;if(typeof x=="object"&&x!==null){switch(x.$$typeof){case ue:return _=Gi(x.type,x.key,x.props,null,C.mode,_),_.ref=Ns(C,null,x),_.return=C,_;case I:return x=la(x,C.mode,_),x.return=C,x;case me:var V=x._init;return U(C,V(x._payload),_)}if(ot(x)||te(x))return x=ur(x,C.mode,_,null),x.return=C,x;Ni(C,x)}return null}function z(C,x,_,V){var ce=x!==null?x.key:null;if(typeof _=="string"&&_!==""||typeof _=="number")return ce!==null?null:v(C,x,""+_,V);if(typeof _=="object"&&_!==null){switch(_.$$typeof){case ue:return _.key===ce?y(C,x,_,V):null;case I:return _.key===ce?E(C,x,_,V):null;case me:return ce=_._init,z(C,x,ce(_._payload),V)}if(ot(_)||te(_))return ce!==null?null:B(C,x,_,V,null);Ni(C,_)}return null}function ee(C,x,_,V,ce){if(typeof V=="string"&&V!==""||typeof V=="number")return C=C.get(_)||null,v(x,C,""+V,ce);if(typeof V=="object"&&V!==null){switch(V.$$typeof){case ue:return C=C.get(V.key===null?_:V.key)||null,y(x,C,V,ce);case I:return C=C.get(V.key===null?_:V.key)||null,E(x,C,V,ce);case me:var pe=V._init;return ee(C,x,_,pe(V._payload),ce)}if(ot(V)||te(V))return C=C.get(_)||null,B(x,C,V,ce,null);Ni(x,V)}return null}function oe(C,x,_,V){for(var ce=null,pe=null,he=x,xe=x=0,rn=null;he!==null&&xe<_.length;xe++){he.index>xe?(rn=he,he=null):rn=he.sibling;var Me=z(C,he,_[xe],V);if(Me===null){he===null&&(he=rn);break}e&&he&&Me.alternate===null&&n(C,he),x=u(Me,x,xe),pe===null?ce=Me:pe.sibling=Me,pe=Me,he=rn}if(xe===_.length)return s(C,he),Be&&tr(C,xe),ce;if(he===null){for(;xe<_.length;xe++)he=U(C,_[xe],V),he!==null&&(x=u(he,x,xe),pe===null?ce=he:pe.sibling=he,pe=he);return Be&&tr(C,xe),ce}for(he=o(C,he);xe<_.length;xe++)rn=ee(he,C,xe,_[xe],V),rn!==null&&(e&&rn.alternate!==null&&he.delete(rn.key===null?xe:rn.key),x=u(rn,x,xe),pe===null?ce=rn:pe.sibling=rn,pe=rn);return e&&he.forEach(function(Kt){return n(C,Kt)}),Be&&tr(C,xe),ce}function ae(C,x,_,V){var ce=te(_);if(typeof ce!="function")throw Error(l(150));if(_=ce.call(_),_==null)throw Error(l(151));for(var pe=ce=null,he=x,xe=x=0,rn=null,Me=_.next();he!==null&&!Me.done;xe++,Me=_.next()){he.index>xe?(rn=he,he=null):rn=he.sibling;var Kt=z(C,he,Me.value,V);if(Kt===null){he===null&&(he=rn);break}e&&he&&Kt.alternate===null&&n(C,he),x=u(Kt,x,xe),pe===null?ce=Kt:pe.sibling=Kt,pe=Kt,he=rn}if(Me.done)return s(C,he),Be&&tr(C,xe),ce;if(he===null){for(;!Me.done;xe++,Me=_.next())Me=U(C,Me.value,V),Me!==null&&(x=u(Me,x,xe),pe===null?ce=Me:pe.sibling=Me,pe=Me);return Be&&tr(C,xe),ce}for(he=o(C,he);!Me.done;xe++,Me=_.next())Me=ee(he,C,xe,Me.value,V),Me!==null&&(e&&Me.alternate!==null&&he.delete(Me.key===null?xe:Me.key),x=u(Me,x,xe),pe===null?ce=Me:pe.sibling=Me,pe=Me);return e&&he.forEach(function($h){return n(C,$h)}),Be&&tr(C,xe),ce}function Ke(C,x,_,V){if(typeof _=="object"&&_!==null&&_.type===R&&_.key===null&&(_=_.props.children),typeof _=="object"&&_!==null){switch(_.$$typeof){case ue:e:{for(var ce=_.key,pe=x;pe!==null;){if(pe.key===ce){if(ce=_.type,ce===R){if(pe.tag===7){s(C,pe.sibling),x=c(pe,_.props.children),x.return=C,C=x;break e}}else if(pe.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===me&&Vc(ce)===pe.type){s(C,pe.sibling),x=c(pe,_.props),x.ref=Ns(C,pe,_),x.return=C,C=x;break e}s(C,pe);break}else n(C,pe);pe=pe.sibling}_.type===R?(x=ur(_.props.children,C.mode,V,_.key),x.return=C,C=x):(V=Gi(_.type,_.key,_.props,null,C.mode,V),V.ref=Ns(C,x,_),V.return=C,C=V)}return f(C);case I:e:{for(pe=_.key;x!==null;){if(x.key===pe)if(x.tag===4&&x.stateNode.containerInfo===_.containerInfo&&x.stateNode.implementation===_.implementation){s(C,x.sibling),x=c(x,_.children||[]),x.return=C,C=x;break e}else{s(C,x);break}else n(C,x);x=x.sibling}x=la(_,C.mode,V),x.return=C,C=x}return f(C);case me:return pe=_._init,Ke(C,x,pe(_._payload),V)}if(ot(_))return oe(C,x,_,V);if(te(_))return ae(C,x,_,V);Ni(C,_)}return typeof _=="string"&&_!==""||typeof _=="number"?(_=""+_,x!==null&&x.tag===6?(s(C,x.sibling),x=c(x,_),x.return=C,C=x):(s(C,x),x=oa(_,C.mode,V),x.return=C,C=x),f(C)):s(C,x)}return Ke}var zr=Kc(!0),Qc=Kc(!1),_i=Dt(null),Ii=null,Fr=null,gl=null;function vl(){gl=Fr=Ii=null}function yl(e){var n=_i.current;Fe(_i),e._currentValue=n}function xl(e,n,s){for(;e!==null;){var o=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,o!==null&&(o.childLanes|=n)):o!==null&&(o.childLanes&n)!==n&&(o.childLanes|=n),e===s)break;e=e.return}}function Br(e,n){Ii=e,gl=Fr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&n)!==0&&(xn=!0),e.firstContext=null)}function Fn(e){var n=e._currentValue;if(gl!==e)if(e={context:e,memoizedValue:n,next:null},Fr===null){if(Ii===null)throw Error(l(308));Fr=e,Ii.dependencies={lanes:0,firstContext:e}}else Fr=Fr.next=e;return n}var rr=null;function wl(e){rr===null?rr=[e]:rr.push(e)}function Gc(e,n,s,o){var c=n.interleaved;return c===null?(s.next=s,wl(n)):(s.next=c.next,c.next=s),n.interleaved=s,wt(e,o)}function wt(e,n){e.lanes|=n;var s=e.alternate;for(s!==null&&(s.lanes|=n),s=e,e=e.return;e!==null;)e.childLanes|=n,s=e.alternate,s!==null&&(s.childLanes|=n),s=e,e=e.return;return s.tag===3?s.stateNode:null}var zt=!1;function kl(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Yc(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function kt(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function Ft(e,n,s){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(Te&2)!==0){var c=o.pending;return c===null?n.next=n:(n.next=c.next,c.next=n),o.pending=n,wt(e,s)}return c=o.interleaved,c===null?(n.next=n,wl(o)):(n.next=c.next,c.next=n),o.interleaved=n,wt(e,s)}function bi(e,n,s){if(n=n.updateQueue,n!==null&&(n=n.shared,(s&4194240)!==0)){var o=n.lanes;o&=e.pendingLanes,s|=o,n.lanes=s,Ao(e,s)}}function Xc(e,n){var s=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,s===o)){var c=null,u=null;if(s=s.firstBaseUpdate,s!==null){do{var f={eventTime:s.eventTime,lane:s.lane,tag:s.tag,payload:s.payload,callback:s.callback,next:null};u===null?c=u=f:u=u.next=f,s=s.next}while(s!==null);u===null?c=u=n:u=u.next=n}else c=u=n;s={baseState:o.baseState,firstBaseUpdate:c,lastBaseUpdate:u,shared:o.shared,effects:o.effects},e.updateQueue=s;return}e=s.lastBaseUpdate,e===null?s.firstBaseUpdate=n:e.next=n,s.lastBaseUpdate=n}function Ei(e,n,s,o){var c=e.updateQueue;zt=!1;var u=c.firstBaseUpdate,f=c.lastBaseUpdate,v=c.shared.pending;if(v!==null){c.shared.pending=null;var y=v,E=y.next;y.next=null,f===null?u=E:f.next=E,f=y;var B=e.alternate;B!==null&&(B=B.updateQueue,v=B.lastBaseUpdate,v!==f&&(v===null?B.firstBaseUpdate=E:v.next=E,B.lastBaseUpdate=y))}if(u!==null){var U=c.baseState;f=0,B=E=y=null,v=u;do{var z=v.lane,ee=v.eventTime;if((o&z)===z){B!==null&&(B=B.next={eventTime:ee,lane:0,tag:v.tag,payload:v.payload,callback:v.callback,next:null});e:{var oe=e,ae=v;switch(z=n,ee=s,ae.tag){case 1:if(oe=ae.payload,typeof oe=="function"){U=oe.call(ee,U,z);break e}U=oe;break e;case 3:oe.flags=oe.flags&-65537|128;case 0:if(oe=ae.payload,z=typeof oe=="function"?oe.call(ee,U,z):oe,z==null)break e;U=G({},U,z);break e;case 2:zt=!0}}v.callback!==null&&v.lane!==0&&(e.flags|=64,z=c.effects,z===null?c.effects=[v]:z.push(v))}else ee={eventTime:ee,lane:z,tag:v.tag,payload:v.payload,callback:v.callback,next:null},B===null?(E=B=ee,y=U):B=B.next=ee,f|=z;if(v=v.next,v===null){if(v=c.shared.pending,v===null)break;z=v,v=z.next,z.next=null,c.lastBaseUpdate=z,c.shared.pending=null}}while(!0);if(B===null&&(y=U),c.baseState=y,c.firstBaseUpdate=E,c.lastBaseUpdate=B,n=c.shared.interleaved,n!==null){c=n;do f|=c.lane,c=c.next;while(c!==n)}else u===null&&(c.shared.lanes=0);or|=f,e.lanes=f,e.memoizedState=U}}function Jc(e,n,s){if(e=n.effects,n.effects=null,e!==null)for(n=0;n<e.length;n++){var o=e[n],c=o.callback;if(c!==null){if(o.callback=null,o=s,typeof c!="function")throw Error(l(191,c));c.call(o)}}}var _s={},ct=Dt(_s),Is=Dt(_s),bs=Dt(_s);function sr(e){if(e===_s)throw Error(l(174));return e}function jl(e,n){switch(Le(bs,n),Le(Is,e),Le(ct,_s),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:Se(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=Se(n,e)}Fe(ct),Le(ct,n)}function qr(){Fe(ct),Fe(Is),Fe(bs)}function Zc(e){sr(bs.current);var n=sr(ct.current),s=Se(n,e.type);n!==s&&(Le(Is,e),Le(ct,s))}function Sl(e){Is.current===e&&(Fe(ct),Fe(Is))}var qe=Dt(0);function Ri(e){for(var n=e;n!==null;){if(n.tag===13){var s=n.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||s.data==="$?"||s.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if((n.flags&128)!==0)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Cl=[];function Nl(){for(var e=0;e<Cl.length;e++)Cl[e]._workInProgressVersionPrimary=null;Cl.length=0}var Pi=X.ReactCurrentDispatcher,_l=X.ReactCurrentBatchConfig,ir=0,We=null,Xe=null,nn=null,Ti=!1,Es=!1,Rs=0,th=0;function un(){throw Error(l(321))}function Il(e,n){if(n===null)return!1;for(var s=0;s<n.length&&s<e.length;s++)if(!Xn(e[s],n[s]))return!1;return!0}function bl(e,n,s,o,c,u){if(ir=u,We=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,Pi.current=e===null||e.memoizedState===null?oh:lh,e=s(o,c),Es){u=0;do{if(Es=!1,Rs=0,25<=u)throw Error(l(301));u+=1,nn=Xe=null,n.updateQueue=null,Pi.current=ah,e=s(o,c)}while(Es)}if(Pi.current=Ai,n=Xe!==null&&Xe.next!==null,ir=0,nn=Xe=We=null,Ti=!1,n)throw Error(l(300));return e}function El(){var e=Rs!==0;return Rs=0,e}function ut(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return nn===null?We.memoizedState=nn=e:nn=nn.next=e,nn}function Bn(){if(Xe===null){var e=We.alternate;e=e!==null?e.memoizedState:null}else e=Xe.next;var n=nn===null?We.memoizedState:nn.next;if(n!==null)nn=n,Xe=e;else{if(e===null)throw Error(l(310));Xe=e,e={memoizedState:Xe.memoizedState,baseState:Xe.baseState,baseQueue:Xe.baseQueue,queue:Xe.queue,next:null},nn===null?We.memoizedState=nn=e:nn=nn.next=e}return nn}function Ps(e,n){return typeof n=="function"?n(e):n}function Rl(e){var n=Bn(),s=n.queue;if(s===null)throw Error(l(311));s.lastRenderedReducer=e;var o=Xe,c=o.baseQueue,u=s.pending;if(u!==null){if(c!==null){var f=c.next;c.next=u.next,u.next=f}o.baseQueue=c=u,s.pending=null}if(c!==null){u=c.next,o=o.baseState;var v=f=null,y=null,E=u;do{var B=E.lane;if((ir&B)===B)y!==null&&(y=y.next={lane:0,action:E.action,hasEagerState:E.hasEagerState,eagerState:E.eagerState,next:null}),o=E.hasEagerState?E.eagerState:e(o,E.action);else{var U={lane:B,action:E.action,hasEagerState:E.hasEagerState,eagerState:E.eagerState,next:null};y===null?(v=y=U,f=o):y=y.next=U,We.lanes|=B,or|=B}E=E.next}while(E!==null&&E!==u);y===null?f=o:y.next=v,Xn(o,n.memoizedState)||(xn=!0),n.memoizedState=o,n.baseState=f,n.baseQueue=y,s.lastRenderedState=o}if(e=s.interleaved,e!==null){c=e;do u=c.lane,We.lanes|=u,or|=u,c=c.next;while(c!==e)}else c===null&&(s.lanes=0);return[n.memoizedState,s.dispatch]}function Pl(e){var n=Bn(),s=n.queue;if(s===null)throw Error(l(311));s.lastRenderedReducer=e;var o=s.dispatch,c=s.pending,u=n.memoizedState;if(c!==null){s.pending=null;var f=c=c.next;do u=e(u,f.action),f=f.next;while(f!==c);Xn(u,n.memoizedState)||(xn=!0),n.memoizedState=u,n.baseQueue===null&&(n.baseState=u),s.lastRenderedState=u}return[u,o]}function eu(){}function nu(e,n){var s=We,o=Bn(),c=n(),u=!Xn(o.memoizedState,c);if(u&&(o.memoizedState=c,xn=!0),o=o.queue,Tl(su.bind(null,s,o,e),[e]),o.getSnapshot!==n||u||nn!==null&&nn.memoizedState.tag&1){if(s.flags|=2048,Ts(9,ru.bind(null,s,o,c,n),void 0,null),tn===null)throw Error(l(349));(ir&30)!==0||tu(s,n,c)}return c}function tu(e,n,s){e.flags|=16384,e={getSnapshot:n,value:s},n=We.updateQueue,n===null?(n={lastEffect:null,stores:null},We.updateQueue=n,n.stores=[e]):(s=n.stores,s===null?n.stores=[e]:s.push(e))}function ru(e,n,s,o){n.value=s,n.getSnapshot=o,iu(n)&&ou(e)}function su(e,n,s){return s(function(){iu(n)&&ou(e)})}function iu(e){var n=e.getSnapshot;e=e.value;try{var s=n();return!Xn(e,s)}catch{return!0}}function ou(e){var n=wt(e,1);n!==null&&tt(n,e,1,-1)}function lu(e){var n=ut();return typeof e=="function"&&(e=e()),n.memoizedState=n.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Ps,lastRenderedState:e},n.queue=e,e=e.dispatch=ih.bind(null,We,e),[n.memoizedState,e]}function Ts(e,n,s,o){return e={tag:e,create:n,destroy:s,deps:o,next:null},n=We.updateQueue,n===null?(n={lastEffect:null,stores:null},We.updateQueue=n,n.lastEffect=e.next=e):(s=n.lastEffect,s===null?n.lastEffect=e.next=e:(o=s.next,s.next=e,e.next=o,n.lastEffect=e)),e}function au(){return Bn().memoizedState}function Mi(e,n,s,o){var c=ut();We.flags|=e,c.memoizedState=Ts(1|n,s,void 0,o===void 0?null:o)}function $i(e,n,s,o){var c=Bn();o=o===void 0?null:o;var u=void 0;if(Xe!==null){var f=Xe.memoizedState;if(u=f.destroy,o!==null&&Il(o,f.deps)){c.memoizedState=Ts(n,s,u,o);return}}We.flags|=e,c.memoizedState=Ts(1|n,s,u,o)}function cu(e,n){return Mi(8390656,8,e,n)}function Tl(e,n){return $i(2048,8,e,n)}function uu(e,n){return $i(4,2,e,n)}function du(e,n){return $i(4,4,e,n)}function fu(e,n){if(typeof n=="function")return e=e(),n(e),function(){n(null)};if(n!=null)return e=e(),n.current=e,function(){n.current=null}}function pu(e,n,s){return s=s!=null?s.concat([e]):null,$i(4,4,fu.bind(null,n,e),s)}function Ml(){}function hu(e,n){var s=Bn();n=n===void 0?null:n;var o=s.memoizedState;return o!==null&&n!==null&&Il(n,o[1])?o[0]:(s.memoizedState=[e,n],e)}function mu(e,n){var s=Bn();n=n===void 0?null:n;var o=s.memoizedState;return o!==null&&n!==null&&Il(n,o[1])?o[0]:(e=e(),s.memoizedState=[e,n],e)}function gu(e,n,s){return(ir&21)===0?(e.baseState&&(e.baseState=!1,xn=!0),e.memoizedState=s):(Xn(s,n)||(s=Va(),We.lanes|=s,or|=s,e.baseState=!0),n)}function rh(e,n){var s=$e;$e=s!==0&&4>s?s:4,e(!0);var o=_l.transition;_l.transition={};try{e(!1),n()}finally{$e=s,_l.transition=o}}function vu(){return Bn().memoizedState}function sh(e,n,s){var o=Ut(e);if(s={lane:o,action:s,hasEagerState:!1,eagerState:null,next:null},yu(e))xu(n,s);else if(s=Gc(e,n,s,o),s!==null){var c=mn();tt(s,e,o,c),wu(s,n,o)}}function ih(e,n,s){var o=Ut(e),c={lane:o,action:s,hasEagerState:!1,eagerState:null,next:null};if(yu(e))xu(n,c);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=n.lastRenderedReducer,u!==null))try{var f=n.lastRenderedState,v=u(f,s);if(c.hasEagerState=!0,c.eagerState=v,Xn(v,f)){var y=n.interleaved;y===null?(c.next=c,wl(n)):(c.next=y.next,y.next=c),n.interleaved=c;return}}catch{}s=Gc(e,n,c,o),s!==null&&(c=mn(),tt(s,e,o,c),wu(s,n,o))}}function yu(e){var n=e.alternate;return e===We||n!==null&&n===We}function xu(e,n){Es=Ti=!0;var s=e.pending;s===null?n.next=n:(n.next=s.next,s.next=n),e.pending=n}function wu(e,n,s){if((s&4194240)!==0){var o=n.lanes;o&=e.pendingLanes,s|=o,n.lanes=s,Ao(e,s)}}var Ai={readContext:Fn,useCallback:un,useContext:un,useEffect:un,useImperativeHandle:un,useInsertionEffect:un,useLayoutEffect:un,useMemo:un,useReducer:un,useRef:un,useState:un,useDebugValue:un,useDeferredValue:un,useTransition:un,useMutableSource:un,useSyncExternalStore:un,useId:un,unstable_isNewReconciler:!1},oh={readContext:Fn,useCallback:function(e,n){return ut().memoizedState=[e,n===void 0?null:n],e},useContext:Fn,useEffect:cu,useImperativeHandle:function(e,n,s){return s=s!=null?s.concat([e]):null,Mi(4194308,4,fu.bind(null,n,e),s)},useLayoutEffect:function(e,n){return Mi(4194308,4,e,n)},useInsertionEffect:function(e,n){return Mi(4,2,e,n)},useMemo:function(e,n){var s=ut();return n=n===void 0?null:n,e=e(),s.memoizedState=[e,n],e},useReducer:function(e,n,s){var o=ut();return n=s!==void 0?s(n):n,o.memoizedState=o.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},o.queue=e,e=e.dispatch=sh.bind(null,We,e),[o.memoizedState,e]},useRef:function(e){var n=ut();return e={current:e},n.memoizedState=e},useState:lu,useDebugValue:Ml,useDeferredValue:function(e){return ut().memoizedState=e},useTransition:function(){var e=lu(!1),n=e[0];return e=rh.bind(null,e[1]),ut().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,s){var o=We,c=ut();if(Be){if(s===void 0)throw Error(l(407));s=s()}else{if(s=n(),tn===null)throw Error(l(349));(ir&30)!==0||tu(o,n,s)}c.memoizedState=s;var u={value:s,getSnapshot:n};return c.queue=u,cu(su.bind(null,o,u,e),[e]),o.flags|=2048,Ts(9,ru.bind(null,o,u,s,n),void 0,null),s},useId:function(){var e=ut(),n=tn.identifierPrefix;if(Be){var s=xt,o=yt;s=(o&~(1<<32-Yn(o)-1)).toString(32)+s,n=":"+n+"R"+s,s=Rs++,0<s&&(n+="H"+s.toString(32)),n+=":"}else s=th++,n=":"+n+"r"+s.toString(32)+":";return e.memoizedState=n},unstable_isNewReconciler:!1},lh={readContext:Fn,useCallback:hu,useContext:Fn,useEffect:Tl,useImperativeHandle:pu,useInsertionEffect:uu,useLayoutEffect:du,useMemo:mu,useReducer:Rl,useRef:au,useState:function(){return Rl(Ps)},useDebugValue:Ml,useDeferredValue:function(e){var n=Bn();return gu(n,Xe.memoizedState,e)},useTransition:function(){var e=Rl(Ps)[0],n=Bn().memoizedState;return[e,n]},useMutableSource:eu,useSyncExternalStore:nu,useId:vu,unstable_isNewReconciler:!1},ah={readContext:Fn,useCallback:hu,useContext:Fn,useEffect:Tl,useImperativeHandle:pu,useInsertionEffect:uu,useLayoutEffect:du,useMemo:mu,useReducer:Pl,useRef:au,useState:function(){return Pl(Ps)},useDebugValue:Ml,useDeferredValue:function(e){var n=Bn();return Xe===null?n.memoizedState=e:gu(n,Xe.memoizedState,e)},useTransition:function(){var e=Pl(Ps)[0],n=Bn().memoizedState;return[e,n]},useMutableSource:eu,useSyncExternalStore:nu,useId:vu,unstable_isNewReconciler:!1};function Zn(e,n){if(e&&e.defaultProps){n=G({},n),e=e.defaultProps;for(var s in e)n[s]===void 0&&(n[s]=e[s]);return n}return n}function $l(e,n,s,o){n=e.memoizedState,s=s(o,n),s=s==null?n:G({},n,s),e.memoizedState=s,e.lanes===0&&(e.updateQueue.baseState=s)}var Di={isMounted:function(e){return(e=e._reactInternals)?Jt(e)===e:!1},enqueueSetState:function(e,n,s){e=e._reactInternals;var o=mn(),c=Ut(e),u=kt(o,c);u.payload=n,s!=null&&(u.callback=s),n=Ft(e,u,c),n!==null&&(tt(n,e,c,o),bi(n,e,c))},enqueueReplaceState:function(e,n,s){e=e._reactInternals;var o=mn(),c=Ut(e),u=kt(o,c);u.tag=1,u.payload=n,s!=null&&(u.callback=s),n=Ft(e,u,c),n!==null&&(tt(n,e,c,o),bi(n,e,c))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var s=mn(),o=Ut(e),c=kt(s,o);c.tag=2,n!=null&&(c.callback=n),n=Ft(e,c,o),n!==null&&(tt(n,e,o,s),bi(n,e,o))}};function ku(e,n,s,o,c,u,f){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(o,u,f):n.prototype&&n.prototype.isPureReactComponent?!ys(s,o)||!ys(c,u):!0}function ju(e,n,s){var o=!1,c=Lt,u=n.contextType;return typeof u=="object"&&u!==null?u=Fn(u):(c=yn(n)?er:cn.current,o=n.contextTypes,u=(o=o!=null)?Ar(e,c):Lt),n=new n(s,u),e.memoizedState=n.state!==null&&n.state!==void 0?n.state:null,n.updater=Di,e.stateNode=n,n._reactInternals=e,o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=c,e.__reactInternalMemoizedMaskedChildContext=u),n}function Su(e,n,s,o){e=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(s,o),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(s,o),n.state!==e&&Di.enqueueReplaceState(n,n.state,null)}function Al(e,n,s,o){var c=e.stateNode;c.props=s,c.state=e.memoizedState,c.refs={},kl(e);var u=n.contextType;typeof u=="object"&&u!==null?c.context=Fn(u):(u=yn(n)?er:cn.current,c.context=Ar(e,u)),c.state=e.memoizedState,u=n.getDerivedStateFromProps,typeof u=="function"&&($l(e,n,u,s),c.state=e.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof c.getSnapshotBeforeUpdate=="function"||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(n=c.state,typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount(),n!==c.state&&Di.enqueueReplaceState(c,c.state,null),Ei(e,s,c,o),c.state=e.memoizedState),typeof c.componentDidMount=="function"&&(e.flags|=4194308)}function Wr(e,n){try{var s="",o=n;do s+=ge(o),o=o.return;while(o);var c=s}catch(u){c=`
8
8
  Error generating stack: `+u.message+`
9
- `+u.stack}return{value:e,source:n,stack:c,digest:null}}function Al(e,n,s){return{value:e,source:null,stack:s??null,digest:n??null}}function Dl(e,n){try{console.error(n.value)}catch(s){setTimeout(function(){throw s})}}var ch=typeof WeakMap=="function"?WeakMap:Map;function Cu(e,n,s){s=kt(-1,s),s.tag=3,s.payload={element:null};var o=n.value;return s.callback=function(){Wi||(Wi=!0,Xl=o),Dl(e,n)},s}function Nu(e,n,s){s=kt(-1,s),s.tag=3;var o=e.type.getDerivedStateFromError;if(typeof o=="function"){var c=n.value;s.payload=function(){return o(c)},s.callback=function(){Dl(e,n)}}var u=e.stateNode;return u!==null&&typeof u.componentDidCatch=="function"&&(s.callback=function(){Dl(e,n),typeof o!="function"&&(qt===null?qt=new Set([this]):qt.add(this));var f=n.stack;this.componentDidCatch(n.value,{componentStack:f!==null?f:""})}),s}function _u(e,n,s){var o=e.pingCache;if(o===null){o=e.pingCache=new ch;var c=new Set;o.set(n,c)}else c=o.get(n),c===void 0&&(c=new Set,o.set(n,c));c.has(s)||(c.add(s),e=Sh.bind(null,e,n,s),n.then(e,e))}function Iu(e){do{var n;if((n=e.tag===13)&&(n=e.memoizedState,n=n!==null?n.dehydrated!==null:!0),n)return e;e=e.return}while(e!==null);return null}function bu(e,n,s,o,c){return(e.mode&1)===0?(e===n?e.flags|=65536:(e.flags|=128,s.flags|=131072,s.flags&=-52805,s.tag===1&&(s.alternate===null?s.tag=17:(n=kt(-1,1),n.tag=2,Ft(s,n,1))),s.lanes|=1),e):(e.flags|=65536,e.lanes=c,e)}var uh=X.ReactCurrentOwner,xn=!1;function hn(e,n,s,o){n.child=e===null?Qc(n,null,s,o):zr(n,e.child,s,o)}function Eu(e,n,s,o,c){s=s.render;var u=n.ref;return Br(n,c),o=Il(e,n,s,o,u,c),s=bl(),e!==null&&!xn?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~c,jt(e,n,c)):(Be&&s&&ul(n),n.flags|=1,hn(e,n,o,c),n.child)}function Ru(e,n,s,o,c){if(e===null){var u=s.type;return typeof u=="function"&&!sa(u)&&u.defaultProps===void 0&&s.compare===null&&s.defaultProps===void 0?(n.tag=15,n.type=u,Pu(e,n,u,o,c)):(e=Gi(s.type,null,o,n,n.mode,c),e.ref=n.ref,e.return=n,n.child=e)}if(u=e.child,(e.lanes&c)===0){var f=u.memoizedProps;if(s=s.compare,s=s!==null?s:ys,s(f,o)&&e.ref===n.ref)return jt(e,n,c)}return n.flags|=1,e=Vt(u,o),e.ref=n.ref,e.return=n,n.child=e}function Pu(e,n,s,o,c){if(e!==null){var u=e.memoizedProps;if(ys(u,o)&&e.ref===n.ref)if(xn=!1,n.pendingProps=o=u,(e.lanes&c)!==0)(e.flags&131072)!==0&&(xn=!0);else return n.lanes=e.lanes,jt(e,n,c)}return Ll(e,n,s,o,c)}function Tu(e,n,s){var o=n.pendingProps,c=o.children,u=e!==null?e.memoizedState:null;if(o.mode==="hidden")if((n.mode&1)===0)n.memoizedState={baseLanes:0,cachePool:null,transitions:null},De(Hr,Mn),Mn|=s;else{if((s&1073741824)===0)return e=u!==null?u.baseLanes|s:s,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:e,cachePool:null,transitions:null},n.updateQueue=null,De(Hr,Mn),Mn|=e,null;n.memoizedState={baseLanes:0,cachePool:null,transitions:null},o=u!==null?u.baseLanes:s,De(Hr,Mn),Mn|=o}else u!==null?(o=u.baseLanes|s,n.memoizedState=null):o=s,De(Hr,Mn),Mn|=o;return hn(e,n,c,s),n.child}function Mu(e,n){var s=n.ref;(e===null&&s!==null||e!==null&&e.ref!==s)&&(n.flags|=512,n.flags|=2097152)}function Ll(e,n,s,o,c){var u=yn(s)?er:cn.current;return u=Ar(n,u),Br(n,c),s=Il(e,n,s,o,u,c),o=bl(),e!==null&&!xn?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~c,jt(e,n,c)):(Be&&o&&ul(n),n.flags|=1,hn(e,n,s,c),n.child)}function $u(e,n,s,o,c){if(yn(s)){var u=!0;wi(n)}else u=!1;if(Br(n,c),n.stateNode===null)Oi(e,n),ju(n,s,o),$l(n,s,o,c),o=!0;else if(e===null){var f=n.stateNode,v=n.memoizedProps;f.props=v;var y=f.context,E=s.contextType;typeof E=="object"&&E!==null?E=On(E):(E=yn(s)?er:cn.current,E=Ar(n,E));var B=s.getDerivedStateFromProps,U=typeof B=="function"||typeof f.getSnapshotBeforeUpdate=="function";U||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(v!==o||y!==E)&&Su(n,f,o,E),zt=!1;var z=n.memoizedState;f.state=z,Ei(n,o,f,c),y=n.memoizedState,v!==o||z!==y||vn.current||zt?(typeof B=="function"&&(Ml(n,s,B,o),y=n.memoizedState),(v=zt||ku(n,s,v,o,z,y,E))?(U||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount()),typeof f.componentDidMount=="function"&&(n.flags|=4194308)):(typeof f.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=o,n.memoizedState=y),f.props=o,f.state=y,f.context=E,o=v):(typeof f.componentDidMount=="function"&&(n.flags|=4194308),o=!1)}else{f=n.stateNode,Yc(e,n),v=n.memoizedProps,E=n.type===n.elementType?v:Zn(n.type,v),f.props=E,U=n.pendingProps,z=f.context,y=s.contextType,typeof y=="object"&&y!==null?y=On(y):(y=yn(s)?er:cn.current,y=Ar(n,y));var ee=s.getDerivedStateFromProps;(B=typeof ee=="function"||typeof f.getSnapshotBeforeUpdate=="function")||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(v!==U||z!==y)&&Su(n,f,o,y),zt=!1,z=n.memoizedState,f.state=z,Ei(n,o,f,c);var oe=n.memoizedState;v!==U||z!==oe||vn.current||zt?(typeof ee=="function"&&(Ml(n,s,ee,o),oe=n.memoizedState),(E=zt||ku(n,s,E,o,z,oe,y)||!1)?(B||typeof f.UNSAFE_componentWillUpdate!="function"&&typeof f.componentWillUpdate!="function"||(typeof f.componentWillUpdate=="function"&&f.componentWillUpdate(o,oe,y),typeof f.UNSAFE_componentWillUpdate=="function"&&f.UNSAFE_componentWillUpdate(o,oe,y)),typeof f.componentDidUpdate=="function"&&(n.flags|=4),typeof f.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof f.componentDidUpdate!="function"||v===e.memoizedProps&&z===e.memoizedState||(n.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||v===e.memoizedProps&&z===e.memoizedState||(n.flags|=1024),n.memoizedProps=o,n.memoizedState=oe),f.props=o,f.state=oe,f.context=y,o=E):(typeof f.componentDidUpdate!="function"||v===e.memoizedProps&&z===e.memoizedState||(n.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||v===e.memoizedProps&&z===e.memoizedState||(n.flags|=1024),o=!1)}return Ol(e,n,s,o,u,c)}function Ol(e,n,s,o,c,u){Mu(e,n);var f=(n.flags&128)!==0;if(!o&&!f)return c&&zc(n,s,!1),jt(e,n,u);o=n.stateNode,uh.current=n;var v=f&&typeof s.getDerivedStateFromError!="function"?null:o.render();return n.flags|=1,e!==null&&f?(n.child=zr(n,e.child,null,u),n.child=zr(n,null,v,u)):hn(e,n,v,u),n.memoizedState=o.state,c&&zc(n,s,!0),n.child}function Au(e){var n=e.stateNode;n.pendingContext?Lc(e,n.pendingContext,n.pendingContext!==n.context):n.context&&Lc(e,n.context,!1),kl(e,n.containerInfo)}function Du(e,n,s,o,c){return Or(),hl(c),n.flags|=256,hn(e,n,s,o),n.child}var zl={dehydrated:null,treeContext:null,retryLane:0};function Fl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Lu(e,n,s){var o=n.pendingProps,c=qe.current,u=!1,f=(n.flags&128)!==0,v;if((v=f)||(v=e!==null&&e.memoizedState===null?!1:(c&2)!==0),v?(u=!0,n.flags&=-129):(e===null||e.memoizedState!==null)&&(c|=1),De(qe,c&1),e===null)return pl(n),e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((n.mode&1)===0?n.lanes=1:e.data==="$!"?n.lanes=8:n.lanes=1073741824,null):(f=o.children,e=o.fallback,u?(o=n.mode,u=n.child,f={mode:"hidden",children:f},(o&1)===0&&u!==null?(u.childLanes=0,u.pendingProps=f):u=Yi(f,o,0,null),e=ur(e,o,s,null),u.return=n,e.return=n,u.sibling=e,n.child=u,n.child.memoizedState=Fl(s),n.memoizedState=zl,e):Bl(n,f));if(c=e.memoizedState,c!==null&&(v=c.dehydrated,v!==null))return dh(e,n,f,o,v,c,s);if(u){u=o.fallback,f=n.mode,c=e.child,v=c.sibling;var y={mode:"hidden",children:o.children};return(f&1)===0&&n.child!==c?(o=n.child,o.childLanes=0,o.pendingProps=y,n.deletions=null):(o=Vt(c,y),o.subtreeFlags=c.subtreeFlags&14680064),v!==null?u=Vt(v,u):(u=ur(u,f,s,null),u.flags|=2),u.return=n,o.return=n,o.sibling=u,n.child=o,o=u,u=n.child,f=e.child.memoizedState,f=f===null?Fl(s):{baseLanes:f.baseLanes|s,cachePool:null,transitions:f.transitions},u.memoizedState=f,u.childLanes=e.childLanes&~s,n.memoizedState=zl,o}return u=e.child,e=u.sibling,o=Vt(u,{mode:"visible",children:o.children}),(n.mode&1)===0&&(o.lanes=s),o.return=n,o.sibling=null,e!==null&&(s=n.deletions,s===null?(n.deletions=[e],n.flags|=16):s.push(e)),n.child=o,n.memoizedState=null,o}function Bl(e,n){return n=Yi({mode:"visible",children:n},e.mode,0,null),n.return=e,e.child=n}function Li(e,n,s,o){return o!==null&&hl(o),zr(n,e.child,null,s),e=Bl(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function dh(e,n,s,o,c,u,f){if(s)return n.flags&256?(n.flags&=-257,o=Al(Error(l(422))),Li(e,n,f,o)):n.memoizedState!==null?(n.child=e.child,n.flags|=128,null):(u=o.fallback,c=n.mode,o=Yi({mode:"visible",children:o.children},c,0,null),u=ur(u,c,f,null),u.flags|=2,o.return=n,u.return=n,o.sibling=u,n.child=o,(n.mode&1)!==0&&zr(n,e.child,null,f),n.child.memoizedState=Fl(f),n.memoizedState=zl,u);if((n.mode&1)===0)return Li(e,n,f,null);if(c.data==="$!"){if(o=c.nextSibling&&c.nextSibling.dataset,o)var v=o.dgst;return o=v,u=Error(l(419)),o=Al(u,o,void 0),Li(e,n,f,o)}if(v=(f&e.childLanes)!==0,xn||v){if(o=tn,o!==null){switch(f&-f){case 4:c=2;break;case 16:c=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:c=32;break;case 536870912:c=268435456;break;default:c=0}c=(c&(o.suspendedLanes|f))!==0?0:c,c!==0&&c!==u.retryLane&&(u.retryLane=c,wt(e,c),tt(o,e,c,-1))}return ra(),o=Al(Error(l(421))),Li(e,n,f,o)}return c.data==="$?"?(n.flags|=128,n.child=e.child,n=Ch.bind(null,e),c._reactRetry=n,null):(e=u.treeContext,Tn=At(c.nextSibling),Pn=n,Be=!0,Jn=null,e!==null&&(Dn[Ln++]=yt,Dn[Ln++]=xt,Dn[Ln++]=nr,yt=e.id,xt=e.overflow,nr=n),n=Bl(n,o.children),n.flags|=4096,n)}function Ou(e,n,s){e.lanes|=n;var o=e.alternate;o!==null&&(o.lanes|=n),yl(e.return,n,s)}function ql(e,n,s,o,c){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:o,tail:s,tailMode:c}:(u.isBackwards=n,u.rendering=null,u.renderingStartTime=0,u.last=o,u.tail=s,u.tailMode=c)}function zu(e,n,s){var o=n.pendingProps,c=o.revealOrder,u=o.tail;if(hn(e,n,o.children,s),o=qe.current,(o&2)!==0)o=o&1|2,n.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ou(e,s,n);else if(e.tag===19)Ou(e,s,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}o&=1}if(De(qe,o),(n.mode&1)===0)n.memoizedState=null;else switch(c){case"forwards":for(s=n.child,c=null;s!==null;)e=s.alternate,e!==null&&Ri(e)===null&&(c=s),s=s.sibling;s=c,s===null?(c=n.child,n.child=null):(c=s.sibling,s.sibling=null),ql(n,!1,c,s,u);break;case"backwards":for(s=null,c=n.child,n.child=null;c!==null;){if(e=c.alternate,e!==null&&Ri(e)===null){n.child=c;break}e=c.sibling,c.sibling=s,s=c,c=e}ql(n,!0,s,null,u);break;case"together":ql(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function Oi(e,n){(n.mode&1)===0&&e!==null&&(e.alternate=null,n.alternate=null,n.flags|=2)}function jt(e,n,s){if(e!==null&&(n.dependencies=e.dependencies),or|=n.lanes,(s&n.childLanes)===0)return null;if(e!==null&&n.child!==e.child)throw Error(l(153));if(n.child!==null){for(e=n.child,s=Vt(e,e.pendingProps),n.child=s,s.return=n;e.sibling!==null;)e=e.sibling,s=s.sibling=Vt(e,e.pendingProps),s.return=n;s.sibling=null}return n.child}function fh(e,n,s){switch(n.tag){case 3:Au(n),Or();break;case 5:Zc(n);break;case 1:yn(n.type)&&wi(n);break;case 4:kl(n,n.stateNode.containerInfo);break;case 10:var o=n.type._context,c=n.memoizedProps.value;De(_i,o._currentValue),o._currentValue=c;break;case 13:if(o=n.memoizedState,o!==null)return o.dehydrated!==null?(De(qe,qe.current&1),n.flags|=128,null):(s&n.child.childLanes)!==0?Lu(e,n,s):(De(qe,qe.current&1),e=jt(e,n,s),e!==null?e.sibling:null);De(qe,qe.current&1);break;case 19:if(o=(s&n.childLanes)!==0,(e.flags&128)!==0){if(o)return zu(e,n,s);n.flags|=128}if(c=n.memoizedState,c!==null&&(c.rendering=null,c.tail=null,c.lastEffect=null),De(qe,qe.current),o)break;return null;case 22:case 23:return n.lanes=0,Tu(e,n,s)}return jt(e,n,s)}var Fu,Wl,Bu,qu;Fu=function(e,n){for(var s=n.child;s!==null;){if(s.tag===5||s.tag===6)e.appendChild(s.stateNode);else if(s.tag!==4&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===n)break;for(;s.sibling===null;){if(s.return===null||s.return===n)return;s=s.return}s.sibling.return=s.return,s=s.sibling}},Wl=function(){},Bu=function(e,n,s,o){var c=e.memoizedProps;if(c!==o){e=n.stateNode,sr(ct.current);var u=null;switch(s){case"input":c=pn(e,c),o=pn(e,o),u=[];break;case"select":c=G({},c,{value:void 0}),o=G({},o,{value:void 0}),u=[];break;case"textarea":c=Kn(e,c),o=Kn(e,o),u=[];break;default:typeof c.onClick!="function"&&typeof o.onClick=="function"&&(e.onclick=vi)}xr(s,o);var f;s=null;for(E in c)if(!o.hasOwnProperty(E)&&c.hasOwnProperty(E)&&c[E]!=null)if(E==="style"){var v=c[E];for(f in v)v.hasOwnProperty(f)&&(s||(s={}),s[f]="")}else E!=="dangerouslySetInnerHTML"&&E!=="children"&&E!=="suppressContentEditableWarning"&&E!=="suppressHydrationWarning"&&E!=="autoFocus"&&(d.hasOwnProperty(E)?u||(u=[]):(u=u||[]).push(E,null));for(E in o){var y=o[E];if(v=c?.[E],o.hasOwnProperty(E)&&y!==v&&(y!=null||v!=null))if(E==="style")if(v){for(f in v)!v.hasOwnProperty(f)||y&&y.hasOwnProperty(f)||(s||(s={}),s[f]="");for(f in y)y.hasOwnProperty(f)&&v[f]!==y[f]&&(s||(s={}),s[f]=y[f])}else s||(u||(u=[]),u.push(E,s)),s=y;else E==="dangerouslySetInnerHTML"?(y=y?y.__html:void 0,v=v?v.__html:void 0,y!=null&&v!==y&&(u=u||[]).push(E,y)):E==="children"?typeof y!="string"&&typeof y!="number"||(u=u||[]).push(E,""+y):E!=="suppressContentEditableWarning"&&E!=="suppressHydrationWarning"&&(d.hasOwnProperty(E)?(y!=null&&E==="onScroll"&&Oe("scroll",e),u||v===y||(u=[])):(u=u||[]).push(E,y))}s&&(u=u||[]).push("style",s);var E=u;(n.updateQueue=E)&&(n.flags|=4)}},qu=function(e,n,s,o){s!==o&&(n.flags|=4)};function Ms(e,n){if(!Be)switch(e.tailMode){case"hidden":n=e.tail;for(var s=null;n!==null;)n.alternate!==null&&(s=n),n=n.sibling;s===null?e.tail=null:s.sibling=null;break;case"collapsed":s=e.tail;for(var o=null;s!==null;)s.alternate!==null&&(o=s),s=s.sibling;o===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:o.sibling=null}}function dn(e){var n=e.alternate!==null&&e.alternate.child===e.child,s=0,o=0;if(n)for(var c=e.child;c!==null;)s|=c.lanes|c.childLanes,o|=c.subtreeFlags&14680064,o|=c.flags&14680064,c.return=e,c=c.sibling;else for(c=e.child;c!==null;)s|=c.lanes|c.childLanes,o|=c.subtreeFlags,o|=c.flags,c.return=e,c=c.sibling;return e.subtreeFlags|=o,e.childLanes=s,n}function ph(e,n,s){var o=n.pendingProps;switch(dl(n),n.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return dn(n),null;case 1:return yn(n.type)&&xi(),dn(n),null;case 3:return o=n.stateNode,qr(),ze(vn),ze(cn),Cl(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),(e===null||e.child===null)&&(Ci(n)?n.flags|=4:e===null||e.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,Jn!==null&&(ea(Jn),Jn=null))),Wl(e,n),dn(n),null;case 5:jl(n);var c=sr(bs.current);if(s=n.type,e!==null&&n.stateNode!=null)Bu(e,n,s,o,c),e.ref!==n.ref&&(n.flags|=512,n.flags|=2097152);else{if(!o){if(n.stateNode===null)throw Error(l(166));return dn(n),null}if(e=sr(ct.current),Ci(n)){o=n.stateNode,s=n.type;var u=n.memoizedProps;switch(o[at]=n,o[Ss]=u,e=(n.mode&1)!==0,s){case"dialog":Oe("cancel",o),Oe("close",o);break;case"iframe":case"object":case"embed":Oe("load",o);break;case"video":case"audio":for(c=0;c<ws.length;c++)Oe(ws[c],o);break;case"source":Oe("error",o);break;case"img":case"image":case"link":Oe("error",o),Oe("load",o);break;case"details":Oe("toggle",o);break;case"input":Hn(o,u),Oe("invalid",o);break;case"select":o._wrapperState={wasMultiple:!!u.multiple},Oe("invalid",o);break;case"textarea":bt(o,u),Oe("invalid",o)}xr(s,u),c=null;for(var f in u)if(u.hasOwnProperty(f)){var v=u[f];f==="children"?typeof v=="string"?o.textContent!==v&&(u.suppressHydrationWarning!==!0&&gi(o.textContent,v,e),c=["children",v]):typeof v=="number"&&o.textContent!==""+v&&(u.suppressHydrationWarning!==!0&&gi(o.textContent,v,e),c=["children",""+v]):d.hasOwnProperty(f)&&v!=null&&f==="onScroll"&&Oe("scroll",o)}switch(s){case"input":Ce(o),gn(o,u,!0);break;case"textarea":Ce(o),Y(o);break;case"select":case"option":break;default:typeof u.onClick=="function"&&(o.onclick=vi)}o=c,n.updateQueue=o,o!==null&&(n.flags|=4)}else{f=c.nodeType===9?c:c.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=fe(s)),e==="http://www.w3.org/1999/xhtml"?s==="script"?(e=f.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof o.is=="string"?e=f.createElement(s,{is:o.is}):(e=f.createElement(s),s==="select"&&(f=e,o.multiple?f.multiple=!0:o.size&&(f.size=o.size))):e=f.createElementNS(e,s),e[at]=n,e[Ss]=o,Fu(e,n,!1,!1),n.stateNode=e;e:{switch(f=wr(s,o),s){case"dialog":Oe("cancel",e),Oe("close",e),c=o;break;case"iframe":case"object":case"embed":Oe("load",e),c=o;break;case"video":case"audio":for(c=0;c<ws.length;c++)Oe(ws[c],e);c=o;break;case"source":Oe("error",e),c=o;break;case"img":case"image":case"link":Oe("error",e),Oe("load",e),c=o;break;case"details":Oe("toggle",e),c=o;break;case"input":Hn(e,o),c=pn(e,o),Oe("invalid",e);break;case"option":c=o;break;case"select":e._wrapperState={wasMultiple:!!o.multiple},c=G({},o,{value:void 0}),Oe("invalid",e);break;case"textarea":bt(e,o),c=Kn(e,o),Oe("invalid",e);break;default:c=o}xr(s,c),v=c;for(u in v)if(v.hasOwnProperty(u)){var y=v[u];u==="style"?rs(e,y):u==="dangerouslySetInnerHTML"?(y=y?y.__html:void 0,y!=null&&An(e,y)):u==="children"?typeof y=="string"?(s!=="textarea"||y!=="")&&Qn(e,y):typeof y=="number"&&Qn(e,""+y):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(d.hasOwnProperty(u)?y!=null&&u==="onScroll"&&Oe("scroll",e):y!=null&&de(e,u,y,f))}switch(s){case"input":Ce(e),gn(e,o,!1);break;case"textarea":Ce(e),Y(e);break;case"option":o.value!=null&&e.setAttribute("value",""+ke(o.value));break;case"select":e.multiple=!!o.multiple,u=o.value,u!=null?Vn(e,!!o.multiple,u,!1):o.defaultValue!=null&&Vn(e,!!o.multiple,o.defaultValue,!0);break;default:typeof c.onClick=="function"&&(e.onclick=vi)}switch(s){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}}o&&(n.flags|=4)}n.ref!==null&&(n.flags|=512,n.flags|=2097152)}return dn(n),null;case 6:if(e&&n.stateNode!=null)qu(e,n,e.memoizedProps,o);else{if(typeof o!="string"&&n.stateNode===null)throw Error(l(166));if(s=sr(bs.current),sr(ct.current),Ci(n)){if(o=n.stateNode,s=n.memoizedProps,o[at]=n,(u=o.nodeValue!==s)&&(e=Pn,e!==null))switch(e.tag){case 3:gi(o.nodeValue,s,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&gi(o.nodeValue,s,(e.mode&1)!==0)}u&&(n.flags|=4)}else o=(s.nodeType===9?s:s.ownerDocument).createTextNode(o),o[at]=n,n.stateNode=o}return dn(n),null;case 13:if(ze(qe),o=n.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Be&&Tn!==null&&(n.mode&1)!==0&&(n.flags&128)===0)Hc(),Or(),n.flags|=98560,u=!1;else if(u=Ci(n),o!==null&&o.dehydrated!==null){if(e===null){if(!u)throw Error(l(318));if(u=n.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(l(317));u[at]=n}else Or(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;dn(n),u=!1}else Jn!==null&&(ea(Jn),Jn=null),u=!0;if(!u)return n.flags&65536?n:null}return(n.flags&128)!==0?(n.lanes=s,n):(o=o!==null,o!==(e!==null&&e.memoizedState!==null)&&o&&(n.child.flags|=8192,(n.mode&1)!==0&&(e===null||(qe.current&1)!==0?Xe===0&&(Xe=3):ra())),n.updateQueue!==null&&(n.flags|=4),dn(n),null);case 4:return qr(),Wl(e,n),e===null&&ks(n.stateNode.containerInfo),dn(n),null;case 10:return vl(n.type._context),dn(n),null;case 17:return yn(n.type)&&xi(),dn(n),null;case 19:if(ze(qe),u=n.memoizedState,u===null)return dn(n),null;if(o=(n.flags&128)!==0,f=u.rendering,f===null)if(o)Ms(u,!1);else{if(Xe!==0||e!==null&&(e.flags&128)!==0)for(e=n.child;e!==null;){if(f=Ri(e),f!==null){for(n.flags|=128,Ms(u,!1),o=f.updateQueue,o!==null&&(n.updateQueue=o,n.flags|=4),n.subtreeFlags=0,o=s,s=n.child;s!==null;)u=s,e=o,u.flags&=14680066,f=u.alternate,f===null?(u.childLanes=0,u.lanes=e,u.child=null,u.subtreeFlags=0,u.memoizedProps=null,u.memoizedState=null,u.updateQueue=null,u.dependencies=null,u.stateNode=null):(u.childLanes=f.childLanes,u.lanes=f.lanes,u.child=f.child,u.subtreeFlags=0,u.deletions=null,u.memoizedProps=f.memoizedProps,u.memoizedState=f.memoizedState,u.updateQueue=f.updateQueue,u.type=f.type,e=f.dependencies,u.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),s=s.sibling;return De(qe,qe.current&1|2),n.child}e=e.sibling}u.tail!==null&&Ve()>Vr&&(n.flags|=128,o=!0,Ms(u,!1),n.lanes=4194304)}else{if(!o)if(e=Ri(f),e!==null){if(n.flags|=128,o=!0,s=e.updateQueue,s!==null&&(n.updateQueue=s,n.flags|=4),Ms(u,!0),u.tail===null&&u.tailMode==="hidden"&&!f.alternate&&!Be)return dn(n),null}else 2*Ve()-u.renderingStartTime>Vr&&s!==1073741824&&(n.flags|=128,o=!0,Ms(u,!1),n.lanes=4194304);u.isBackwards?(f.sibling=n.child,n.child=f):(s=u.last,s!==null?s.sibling=f:n.child=f,u.last=f)}return u.tail!==null?(n=u.tail,u.rendering=n,u.tail=n.sibling,u.renderingStartTime=Ve(),n.sibling=null,s=qe.current,De(qe,o?s&1|2:s&1),n):(dn(n),null);case 22:case 23:return ta(),o=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==o&&(n.flags|=8192),o&&(n.mode&1)!==0?(Mn&1073741824)!==0&&(dn(n),n.subtreeFlags&6&&(n.flags|=8192)):dn(n),null;case 24:return null;case 25:return null}throw Error(l(156,n.tag))}function hh(e,n){switch(dl(n),n.tag){case 1:return yn(n.type)&&xi(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return qr(),ze(vn),ze(cn),Cl(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 5:return jl(n),null;case 13:if(ze(qe),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(l(340));Or()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return ze(qe),null;case 4:return qr(),null;case 10:return vl(n.type._context),null;case 22:case 23:return ta(),null;case 24:return null;default:return null}}var zi=!1,fn=!1,mh=typeof WeakSet=="function"?WeakSet:Set,re=null;function Ur(e,n){var s=e.ref;if(s!==null)if(typeof s=="function")try{s(null)}catch(o){Ue(e,n,o)}else s.current=null}function Ul(e,n,s){try{s()}catch(o){Ue(e,n,o)}}var Wu=!1;function gh(e,n){if(tl=ii,e=kc(),Qo(e)){if("selectionStart"in e)var s={start:e.selectionStart,end:e.selectionEnd};else e:{s=(s=e.ownerDocument)&&s.defaultView||window;var o=s.getSelection&&s.getSelection();if(o&&o.rangeCount!==0){s=o.anchorNode;var c=o.anchorOffset,u=o.focusNode;o=o.focusOffset;try{s.nodeType,u.nodeType}catch{s=null;break e}var f=0,v=-1,y=-1,E=0,B=0,U=e,z=null;n:for(;;){for(var ee;U!==s||c!==0&&U.nodeType!==3||(v=f+c),U!==u||o!==0&&U.nodeType!==3||(y=f+o),U.nodeType===3&&(f+=U.nodeValue.length),(ee=U.firstChild)!==null;)z=U,U=ee;for(;;){if(U===e)break n;if(z===s&&++E===c&&(v=f),z===u&&++B===o&&(y=f),(ee=U.nextSibling)!==null)break;U=z,z=U.parentNode}U=ee}s=v===-1||y===-1?null:{start:v,end:y}}else s=null}s=s||{start:0,end:0}}else s=null;for(rl={focusedElem:e,selectionRange:s},ii=!1,re=n;re!==null;)if(n=re,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,re=e;else for(;re!==null;){n=re;try{var oe=n.alternate;if((n.flags&1024)!==0)switch(n.tag){case 0:case 11:case 15:break;case 1:if(oe!==null){var ae=oe.memoizedProps,Ke=oe.memoizedState,C=n.stateNode,x=C.getSnapshotBeforeUpdate(n.elementType===n.type?ae:Zn(n.type,ae),Ke);C.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var _=n.stateNode.containerInfo;_.nodeType===1?_.textContent="":_.nodeType===9&&_.documentElement&&_.removeChild(_.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(l(163))}}catch(V){Ue(n,n.return,V)}if(e=n.sibling,e!==null){e.return=n.return,re=e;break}re=n.return}return oe=Wu,Wu=!1,oe}function $s(e,n,s){var o=n.updateQueue;if(o=o!==null?o.lastEffect:null,o!==null){var c=o=o.next;do{if((c.tag&e)===e){var u=c.destroy;c.destroy=void 0,u!==void 0&&Ul(n,s,u)}c=c.next}while(c!==o)}}function Fi(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var s=n=n.next;do{if((s.tag&e)===e){var o=s.create;s.destroy=o()}s=s.next}while(s!==n)}}function Hl(e){var n=e.ref;if(n!==null){var s=e.stateNode;e.tag,e=s,typeof n=="function"?n(e):n.current=e}}function Uu(e){var n=e.alternate;n!==null&&(e.alternate=null,Uu(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[at],delete n[Ss],delete n[ll],delete n[Jp],delete n[Zp])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Hu(e){return e.tag===5||e.tag===3||e.tag===4}function Vu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Hu(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.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 Vl(e,n,s){var o=e.tag;if(o===5||o===6)e=e.stateNode,n?s.nodeType===8?s.parentNode.insertBefore(e,n):s.insertBefore(e,n):(s.nodeType===8?(n=s.parentNode,n.insertBefore(e,s)):(n=s,n.appendChild(e)),s=s._reactRootContainer,s!=null||n.onclick!==null||(n.onclick=vi));else if(o!==4&&(e=e.child,e!==null))for(Vl(e,n,s),e=e.sibling;e!==null;)Vl(e,n,s),e=e.sibling}function Kl(e,n,s){var o=e.tag;if(o===5||o===6)e=e.stateNode,n?s.insertBefore(e,n):s.appendChild(e);else if(o!==4&&(e=e.child,e!==null))for(Kl(e,n,s),e=e.sibling;e!==null;)Kl(e,n,s),e=e.sibling}var ln=null,et=!1;function Bt(e,n,s){for(s=s.child;s!==null;)Ku(e,n,s),s=s.sibling}function Ku(e,n,s){if(lt&&typeof lt.onCommitFiberUnmount=="function")try{lt.onCommitFiberUnmount(Zs,s)}catch{}switch(s.tag){case 5:fn||Ur(s,n);case 6:var o=ln,c=et;ln=null,Bt(e,n,s),ln=o,et=c,ln!==null&&(et?(e=ln,s=s.stateNode,e.nodeType===8?e.parentNode.removeChild(s):e.removeChild(s)):ln.removeChild(s.stateNode));break;case 18:ln!==null&&(et?(e=ln,s=s.stateNode,e.nodeType===8?ol(e.parentNode,s):e.nodeType===1&&ol(e,s),fs(e)):ol(ln,s.stateNode));break;case 4:o=ln,c=et,ln=s.stateNode.containerInfo,et=!0,Bt(e,n,s),ln=o,et=c;break;case 0:case 11:case 14:case 15:if(!fn&&(o=s.updateQueue,o!==null&&(o=o.lastEffect,o!==null))){c=o=o.next;do{var u=c,f=u.destroy;u=u.tag,f!==void 0&&((u&2)!==0||(u&4)!==0)&&Ul(s,n,f),c=c.next}while(c!==o)}Bt(e,n,s);break;case 1:if(!fn&&(Ur(s,n),o=s.stateNode,typeof o.componentWillUnmount=="function"))try{o.props=s.memoizedProps,o.state=s.memoizedState,o.componentWillUnmount()}catch(v){Ue(s,n,v)}Bt(e,n,s);break;case 21:Bt(e,n,s);break;case 22:s.mode&1?(fn=(o=fn)||s.memoizedState!==null,Bt(e,n,s),fn=o):Bt(e,n,s);break;default:Bt(e,n,s)}}function Qu(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var s=e.stateNode;s===null&&(s=e.stateNode=new mh),n.forEach(function(o){var c=Nh.bind(null,e,o);s.has(o)||(s.add(o),o.then(c,c))})}}function nt(e,n){var s=n.deletions;if(s!==null)for(var o=0;o<s.length;o++){var c=s[o];try{var u=e,f=n,v=f;e:for(;v!==null;){switch(v.tag){case 5:ln=v.stateNode,et=!1;break e;case 3:ln=v.stateNode.containerInfo,et=!0;break e;case 4:ln=v.stateNode.containerInfo,et=!0;break e}v=v.return}if(ln===null)throw Error(l(160));Ku(u,f,c),ln=null,et=!1;var y=c.alternate;y!==null&&(y.return=null),c.return=null}catch(E){Ue(c,n,E)}}if(n.subtreeFlags&12854)for(n=n.child;n!==null;)Gu(n,e),n=n.sibling}function Gu(e,n){var s=e.alternate,o=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(nt(n,e),dt(e),o&4){try{$s(3,e,e.return),Fi(3,e)}catch(ae){Ue(e,e.return,ae)}try{$s(5,e,e.return)}catch(ae){Ue(e,e.return,ae)}}break;case 1:nt(n,e),dt(e),o&512&&s!==null&&Ur(s,s.return);break;case 5:if(nt(n,e),dt(e),o&512&&s!==null&&Ur(s,s.return),e.flags&32){var c=e.stateNode;try{Qn(c,"")}catch(ae){Ue(e,e.return,ae)}}if(o&4&&(c=e.stateNode,c!=null)){var u=e.memoizedProps,f=s!==null?s.memoizedProps:u,v=e.type,y=e.updateQueue;if(e.updateQueue=null,y!==null)try{v==="input"&&u.type==="radio"&&u.name!=null&&$n(c,u),wr(v,f);var E=wr(v,u);for(f=0;f<y.length;f+=2){var B=y[f],U=y[f+1];B==="style"?rs(c,U):B==="dangerouslySetInnerHTML"?An(c,U):B==="children"?Qn(c,U):de(c,B,U,E)}switch(v){case"input":bn(c,u);break;case"textarea":Xt(c,u);break;case"select":var z=c._wrapperState.wasMultiple;c._wrapperState.wasMultiple=!!u.multiple;var ee=u.value;ee!=null?Vn(c,!!u.multiple,ee,!1):z!==!!u.multiple&&(u.defaultValue!=null?Vn(c,!!u.multiple,u.defaultValue,!0):Vn(c,!!u.multiple,u.multiple?[]:"",!1))}c[Ss]=u}catch(ae){Ue(e,e.return,ae)}}break;case 6:if(nt(n,e),dt(e),o&4){if(e.stateNode===null)throw Error(l(162));c=e.stateNode,u=e.memoizedProps;try{c.nodeValue=u}catch(ae){Ue(e,e.return,ae)}}break;case 3:if(nt(n,e),dt(e),o&4&&s!==null&&s.memoizedState.isDehydrated)try{fs(n.containerInfo)}catch(ae){Ue(e,e.return,ae)}break;case 4:nt(n,e),dt(e);break;case 13:nt(n,e),dt(e),c=e.child,c.flags&8192&&(u=c.memoizedState!==null,c.stateNode.isHidden=u,!u||c.alternate!==null&&c.alternate.memoizedState!==null||(Yl=Ve())),o&4&&Qu(e);break;case 22:if(B=s!==null&&s.memoizedState!==null,e.mode&1?(fn=(E=fn)||B,nt(n,e),fn=E):nt(n,e),dt(e),o&8192){if(E=e.memoizedState!==null,(e.stateNode.isHidden=E)&&!B&&(e.mode&1)!==0)for(re=e,B=e.child;B!==null;){for(U=re=B;re!==null;){switch(z=re,ee=z.child,z.tag){case 0:case 11:case 14:case 15:$s(4,z,z.return);break;case 1:Ur(z,z.return);var oe=z.stateNode;if(typeof oe.componentWillUnmount=="function"){o=z,s=z.return;try{n=o,oe.props=n.memoizedProps,oe.state=n.memoizedState,oe.componentWillUnmount()}catch(ae){Ue(o,s,ae)}}break;case 5:Ur(z,z.return);break;case 22:if(z.memoizedState!==null){Ju(U);continue}}ee!==null?(ee.return=z,re=ee):Ju(U)}B=B.sibling}e:for(B=null,U=e;;){if(U.tag===5){if(B===null){B=U;try{c=U.stateNode,E?(u=c.style,typeof u.setProperty=="function"?u.setProperty("display","none","important"):u.display="none"):(v=U.stateNode,y=U.memoizedProps.style,f=y!=null&&y.hasOwnProperty("display")?y.display:null,v.style.display=ts("display",f))}catch(ae){Ue(e,e.return,ae)}}}else if(U.tag===6){if(B===null)try{U.stateNode.nodeValue=E?"":U.memoizedProps}catch(ae){Ue(e,e.return,ae)}}else if((U.tag!==22&&U.tag!==23||U.memoizedState===null||U===e)&&U.child!==null){U.child.return=U,U=U.child;continue}if(U===e)break e;for(;U.sibling===null;){if(U.return===null||U.return===e)break e;B===U&&(B=null),U=U.return}B===U&&(B=null),U.sibling.return=U.return,U=U.sibling}}break;case 19:nt(n,e),dt(e),o&4&&Qu(e);break;case 21:break;default:nt(n,e),dt(e)}}function dt(e){var n=e.flags;if(n&2){try{e:{for(var s=e.return;s!==null;){if(Hu(s)){var o=s;break e}s=s.return}throw Error(l(160))}switch(o.tag){case 5:var c=o.stateNode;o.flags&32&&(Qn(c,""),o.flags&=-33);var u=Vu(e);Kl(e,u,c);break;case 3:case 4:var f=o.stateNode.containerInfo,v=Vu(e);Vl(e,v,f);break;default:throw Error(l(161))}}catch(y){Ue(e,e.return,y)}e.flags&=-3}n&4096&&(e.flags&=-4097)}function vh(e,n,s){re=e,Yu(e)}function Yu(e,n,s){for(var o=(e.mode&1)!==0;re!==null;){var c=re,u=c.child;if(c.tag===22&&o){var f=c.memoizedState!==null||zi;if(!f){var v=c.alternate,y=v!==null&&v.memoizedState!==null||fn;v=zi;var E=fn;if(zi=f,(fn=y)&&!E)for(re=c;re!==null;)f=re,y=f.child,f.tag===22&&f.memoizedState!==null?Zu(c):y!==null?(y.return=f,re=y):Zu(c);for(;u!==null;)re=u,Yu(u),u=u.sibling;re=c,zi=v,fn=E}Xu(e)}else(c.subtreeFlags&8772)!==0&&u!==null?(u.return=c,re=u):Xu(e)}}function Xu(e){for(;re!==null;){var n=re;if((n.flags&8772)!==0){var s=n.alternate;try{if((n.flags&8772)!==0)switch(n.tag){case 0:case 11:case 15:fn||Fi(5,n);break;case 1:var o=n.stateNode;if(n.flags&4&&!fn)if(s===null)o.componentDidMount();else{var c=n.elementType===n.type?s.memoizedProps:Zn(n.type,s.memoizedProps);o.componentDidUpdate(c,s.memoizedState,o.__reactInternalSnapshotBeforeUpdate)}var u=n.updateQueue;u!==null&&Jc(n,u,o);break;case 3:var f=n.updateQueue;if(f!==null){if(s=null,n.child!==null)switch(n.child.tag){case 5:s=n.child.stateNode;break;case 1:s=n.child.stateNode}Jc(n,f,s)}break;case 5:var v=n.stateNode;if(s===null&&n.flags&4){s=v;var y=n.memoizedProps;switch(n.type){case"button":case"input":case"select":case"textarea":y.autoFocus&&s.focus();break;case"img":y.src&&(s.src=y.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(n.memoizedState===null){var E=n.alternate;if(E!==null){var B=E.memoizedState;if(B!==null){var U=B.dehydrated;U!==null&&fs(U)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(l(163))}fn||n.flags&512&&Hl(n)}catch(z){Ue(n,n.return,z)}}if(n===e){re=null;break}if(s=n.sibling,s!==null){s.return=n.return,re=s;break}re=n.return}}function Ju(e){for(;re!==null;){var n=re;if(n===e){re=null;break}var s=n.sibling;if(s!==null){s.return=n.return,re=s;break}re=n.return}}function Zu(e){for(;re!==null;){var n=re;try{switch(n.tag){case 0:case 11:case 15:var s=n.return;try{Fi(4,n)}catch(y){Ue(n,s,y)}break;case 1:var o=n.stateNode;if(typeof o.componentDidMount=="function"){var c=n.return;try{o.componentDidMount()}catch(y){Ue(n,c,y)}}var u=n.return;try{Hl(n)}catch(y){Ue(n,u,y)}break;case 5:var f=n.return;try{Hl(n)}catch(y){Ue(n,f,y)}}}catch(y){Ue(n,n.return,y)}if(n===e){re=null;break}var v=n.sibling;if(v!==null){v.return=n.return,re=v;break}re=n.return}}var yh=Math.ceil,Bi=X.ReactCurrentDispatcher,Ql=X.ReactCurrentOwner,Fn=X.ReactCurrentBatchConfig,Te=0,tn=null,Ge=null,an=0,Mn=0,Hr=Dt(0),Xe=0,As=null,or=0,qi=0,Gl=0,Ds=null,wn=null,Yl=0,Vr=1/0,St=null,Wi=!1,Xl=null,qt=null,Ui=!1,Wt=null,Hi=0,Ls=0,Jl=null,Vi=-1,Ki=0;function mn(){return(Te&6)!==0?Ve():Vi!==-1?Vi:Vi=Ve()}function Ut(e){return(e.mode&1)===0?1:(Te&2)!==0&&an!==0?an&-an:nh.transition!==null?(Ki===0&&(Ki=Va()),Ki):(e=$e,e!==0||(e=window.event,e=e===void 0?16:nc(e.type)),e)}function tt(e,n,s,o){if(50<Ls)throw Ls=0,Jl=null,Error(l(185));ls(e,s,o),((Te&2)===0||e!==tn)&&(e===tn&&((Te&2)===0&&(qi|=s),Xe===4&&Ht(e,an)),kn(e,o),s===1&&Te===0&&(n.mode&1)===0&&(Vr=Ve()+500,ki&&Ot()))}function kn(e,n){var s=e.callbackNode;np(e,n);var o=ti(e,e===tn?an:0);if(o===0)s!==null&&Wa(s),e.callbackNode=null,e.callbackPriority=0;else if(n=o&-o,e.callbackPriority!==n){if(s!=null&&Wa(s),n===1)e.tag===0?eh(nd.bind(null,e)):Fc(nd.bind(null,e)),Yp(function(){(Te&6)===0&&Ot()}),s=null;else{switch(Ka(o)){case 1:s=Po;break;case 4:s=Ua;break;case 16:s=Js;break;case 536870912:s=Ha;break;default:s=Js}s=cd(s,ed.bind(null,e))}e.callbackPriority=n,e.callbackNode=s}}function ed(e,n){if(Vi=-1,Ki=0,(Te&6)!==0)throw Error(l(327));var s=e.callbackNode;if(Kr()&&e.callbackNode!==s)return null;var o=ti(e,e===tn?an:0);if(o===0)return null;if((o&30)!==0||(o&e.expiredLanes)!==0||n)n=Qi(e,o);else{n=o;var c=Te;Te|=2;var u=rd();(tn!==e||an!==n)&&(St=null,Vr=Ve()+500,ar(e,n));do try{kh();break}catch(v){td(e,v)}while(!0);gl(),Bi.current=u,Te=c,Ge!==null?n=0:(tn=null,an=0,n=Xe)}if(n!==0){if(n===2&&(c=To(e),c!==0&&(o=c,n=Zl(e,c))),n===1)throw s=As,ar(e,0),Ht(e,o),kn(e,Ve()),s;if(n===6)Ht(e,o);else{if(c=e.current.alternate,(o&30)===0&&!xh(c)&&(n=Qi(e,o),n===2&&(u=To(e),u!==0&&(o=u,n=Zl(e,u))),n===1))throw s=As,ar(e,0),Ht(e,o),kn(e,Ve()),s;switch(e.finishedWork=c,e.finishedLanes=o,n){case 0:case 1:throw Error(l(345));case 2:cr(e,wn,St);break;case 3:if(Ht(e,o),(o&130023424)===o&&(n=Yl+500-Ve(),10<n)){if(ti(e,0)!==0)break;if(c=e.suspendedLanes,(c&o)!==o){mn(),e.pingedLanes|=e.suspendedLanes&c;break}e.timeoutHandle=il(cr.bind(null,e,wn,St),n);break}cr(e,wn,St);break;case 4:if(Ht(e,o),(o&4194240)===o)break;for(n=e.eventTimes,c=-1;0<o;){var f=31-Yn(o);u=1<<f,f=n[f],f>c&&(c=f),o&=~u}if(o=c,o=Ve()-o,o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*yh(o/1960))-o,10<o){e.timeoutHandle=il(cr.bind(null,e,wn,St),o);break}cr(e,wn,St);break;case 5:cr(e,wn,St);break;default:throw Error(l(329))}}}return kn(e,Ve()),e.callbackNode===s?ed.bind(null,e):null}function Zl(e,n){var s=Ds;return e.current.memoizedState.isDehydrated&&(ar(e,n).flags|=256),e=Qi(e,n),e!==2&&(n=wn,wn=s,n!==null&&ea(n)),e}function ea(e){wn===null?wn=e:wn.push.apply(wn,e)}function xh(e){for(var n=e;;){if(n.flags&16384){var s=n.updateQueue;if(s!==null&&(s=s.stores,s!==null))for(var o=0;o<s.length;o++){var c=s[o],u=c.getSnapshot;c=c.value;try{if(!Xn(u(),c))return!1}catch{return!1}}}if(s=n.child,n.subtreeFlags&16384&&s!==null)s.return=n,n=s;else{if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function Ht(e,n){for(n&=~Gl,n&=~qi,e.suspendedLanes|=n,e.pingedLanes&=~n,e=e.expirationTimes;0<n;){var s=31-Yn(n),o=1<<s;e[s]=-1,n&=~o}}function nd(e){if((Te&6)!==0)throw Error(l(327));Kr();var n=ti(e,0);if((n&1)===0)return kn(e,Ve()),null;var s=Qi(e,n);if(e.tag!==0&&s===2){var o=To(e);o!==0&&(n=o,s=Zl(e,o))}if(s===1)throw s=As,ar(e,0),Ht(e,n),kn(e,Ve()),s;if(s===6)throw Error(l(345));return e.finishedWork=e.current.alternate,e.finishedLanes=n,cr(e,wn,St),kn(e,Ve()),null}function na(e,n){var s=Te;Te|=1;try{return e(n)}finally{Te=s,Te===0&&(Vr=Ve()+500,ki&&Ot())}}function lr(e){Wt!==null&&Wt.tag===0&&(Te&6)===0&&Kr();var n=Te;Te|=1;var s=Fn.transition,o=$e;try{if(Fn.transition=null,$e=1,e)return e()}finally{$e=o,Fn.transition=s,Te=n,(Te&6)===0&&Ot()}}function ta(){Mn=Hr.current,ze(Hr)}function ar(e,n){e.finishedWork=null,e.finishedLanes=0;var s=e.timeoutHandle;if(s!==-1&&(e.timeoutHandle=-1,Gp(s)),Ge!==null)for(s=Ge.return;s!==null;){var o=s;switch(dl(o),o.tag){case 1:o=o.type.childContextTypes,o!=null&&xi();break;case 3:qr(),ze(vn),ze(cn),Cl();break;case 5:jl(o);break;case 4:qr();break;case 13:ze(qe);break;case 19:ze(qe);break;case 10:vl(o.type._context);break;case 22:case 23:ta()}s=s.return}if(tn=e,Ge=e=Vt(e.current,null),an=Mn=n,Xe=0,As=null,Gl=qi=or=0,wn=Ds=null,rr!==null){for(n=0;n<rr.length;n++)if(s=rr[n],o=s.interleaved,o!==null){s.interleaved=null;var c=o.next,u=s.pending;if(u!==null){var f=u.next;u.next=c,o.next=f}s.pending=o}rr=null}return e}function td(e,n){do{var s=Ge;try{if(gl(),Pi.current=Ai,Ti){for(var o=We.memoizedState;o!==null;){var c=o.queue;c!==null&&(c.pending=null),o=o.next}Ti=!1}if(ir=0,nn=Ye=We=null,Es=!1,Rs=0,Ql.current=null,s===null||s.return===null){Xe=1,As=n,Ge=null;break}e:{var u=e,f=s.return,v=s,y=n;if(n=an,v.flags|=32768,y!==null&&typeof y=="object"&&typeof y.then=="function"){var E=y,B=v,U=B.tag;if((B.mode&1)===0&&(U===0||U===11||U===15)){var z=B.alternate;z?(B.updateQueue=z.updateQueue,B.memoizedState=z.memoizedState,B.lanes=z.lanes):(B.updateQueue=null,B.memoizedState=null)}var ee=Iu(f);if(ee!==null){ee.flags&=-257,bu(ee,f,v,u,n),ee.mode&1&&_u(u,E,n),n=ee,y=E;var oe=n.updateQueue;if(oe===null){var ae=new Set;ae.add(y),n.updateQueue=ae}else oe.add(y);break e}else{if((n&1)===0){_u(u,E,n),ra();break e}y=Error(l(426))}}else if(Be&&v.mode&1){var Ke=Iu(f);if(Ke!==null){(Ke.flags&65536)===0&&(Ke.flags|=256),bu(Ke,f,v,u,n),hl(Wr(y,v));break e}}u=y=Wr(y,v),Xe!==4&&(Xe=2),Ds===null?Ds=[u]:Ds.push(u),u=f;do{switch(u.tag){case 3:u.flags|=65536,n&=-n,u.lanes|=n;var C=Cu(u,y,n);Xc(u,C);break e;case 1:v=y;var x=u.type,_=u.stateNode;if((u.flags&128)===0&&(typeof x.getDerivedStateFromError=="function"||_!==null&&typeof _.componentDidCatch=="function"&&(qt===null||!qt.has(_)))){u.flags|=65536,n&=-n,u.lanes|=n;var V=Nu(u,v,n);Xc(u,V);break e}}u=u.return}while(u!==null)}id(s)}catch(ce){n=ce,Ge===s&&s!==null&&(Ge=s=s.return);continue}break}while(!0)}function rd(){var e=Bi.current;return Bi.current=Ai,e===null?Ai:e}function ra(){(Xe===0||Xe===3||Xe===2)&&(Xe=4),tn===null||(or&268435455)===0&&(qi&268435455)===0||Ht(tn,an)}function Qi(e,n){var s=Te;Te|=2;var o=rd();(tn!==e||an!==n)&&(St=null,ar(e,n));do try{wh();break}catch(c){td(e,c)}while(!0);if(gl(),Te=s,Bi.current=o,Ge!==null)throw Error(l(261));return tn=null,an=0,Xe}function wh(){for(;Ge!==null;)sd(Ge)}function kh(){for(;Ge!==null&&!Vf();)sd(Ge)}function sd(e){var n=ad(e.alternate,e,Mn);e.memoizedProps=e.pendingProps,n===null?id(e):Ge=n,Ql.current=null}function id(e){var n=e;do{var s=n.alternate;if(e=n.return,(n.flags&32768)===0){if(s=ph(s,n,Mn),s!==null){Ge=s;return}}else{if(s=hh(s,n),s!==null){s.flags&=32767,Ge=s;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Xe=6,Ge=null;return}}if(n=n.sibling,n!==null){Ge=n;return}Ge=n=e}while(n!==null);Xe===0&&(Xe=5)}function cr(e,n,s){var o=$e,c=Fn.transition;try{Fn.transition=null,$e=1,jh(e,n,s,o)}finally{Fn.transition=c,$e=o}return null}function jh(e,n,s,o){do Kr();while(Wt!==null);if((Te&6)!==0)throw Error(l(327));s=e.finishedWork;var c=e.finishedLanes;if(s===null)return null;if(e.finishedWork=null,e.finishedLanes=0,s===e.current)throw Error(l(177));e.callbackNode=null,e.callbackPriority=0;var u=s.lanes|s.childLanes;if(tp(e,u),e===tn&&(Ge=tn=null,an=0),(s.subtreeFlags&2064)===0&&(s.flags&2064)===0||Ui||(Ui=!0,cd(Js,function(){return Kr(),null})),u=(s.flags&15990)!==0,(s.subtreeFlags&15990)!==0||u){u=Fn.transition,Fn.transition=null;var f=$e;$e=1;var v=Te;Te|=4,Ql.current=null,gh(e,s),Gu(s,e),qp(rl),ii=!!tl,rl=tl=null,e.current=s,vh(s),Kf(),Te=v,$e=f,Fn.transition=u}else e.current=s;if(Ui&&(Ui=!1,Wt=e,Hi=c),u=e.pendingLanes,u===0&&(qt=null),Yf(s.stateNode),kn(e,Ve()),n!==null)for(o=e.onRecoverableError,s=0;s<n.length;s++)c=n[s],o(c.value,{componentStack:c.stack,digest:c.digest});if(Wi)throw Wi=!1,e=Xl,Xl=null,e;return(Hi&1)!==0&&e.tag!==0&&Kr(),u=e.pendingLanes,(u&1)!==0?e===Jl?Ls++:(Ls=0,Jl=e):Ls=0,Ot(),null}function Kr(){if(Wt!==null){var e=Ka(Hi),n=Fn.transition,s=$e;try{if(Fn.transition=null,$e=16>e?16:e,Wt===null)var o=!1;else{if(e=Wt,Wt=null,Hi=0,(Te&6)!==0)throw Error(l(331));var c=Te;for(Te|=4,re=e.current;re!==null;){var u=re,f=u.child;if((re.flags&16)!==0){var v=u.deletions;if(v!==null){for(var y=0;y<v.length;y++){var E=v[y];for(re=E;re!==null;){var B=re;switch(B.tag){case 0:case 11:case 15:$s(8,B,u)}var U=B.child;if(U!==null)U.return=B,re=U;else for(;re!==null;){B=re;var z=B.sibling,ee=B.return;if(Uu(B),B===E){re=null;break}if(z!==null){z.return=ee,re=z;break}re=ee}}}var oe=u.alternate;if(oe!==null){var ae=oe.child;if(ae!==null){oe.child=null;do{var Ke=ae.sibling;ae.sibling=null,ae=Ke}while(ae!==null)}}re=u}}if((u.subtreeFlags&2064)!==0&&f!==null)f.return=u,re=f;else e:for(;re!==null;){if(u=re,(u.flags&2048)!==0)switch(u.tag){case 0:case 11:case 15:$s(9,u,u.return)}var C=u.sibling;if(C!==null){C.return=u.return,re=C;break e}re=u.return}}var x=e.current;for(re=x;re!==null;){f=re;var _=f.child;if((f.subtreeFlags&2064)!==0&&_!==null)_.return=f,re=_;else e:for(f=x;re!==null;){if(v=re,(v.flags&2048)!==0)try{switch(v.tag){case 0:case 11:case 15:Fi(9,v)}}catch(ce){Ue(v,v.return,ce)}if(v===f){re=null;break e}var V=v.sibling;if(V!==null){V.return=v.return,re=V;break e}re=v.return}}if(Te=c,Ot(),lt&&typeof lt.onPostCommitFiberRoot=="function")try{lt.onPostCommitFiberRoot(Zs,e)}catch{}o=!0}return o}finally{$e=s,Fn.transition=n}}return!1}function od(e,n,s){n=Wr(s,n),n=Cu(e,n,1),e=Ft(e,n,1),n=mn(),e!==null&&(ls(e,1,n),kn(e,n))}function Ue(e,n,s){if(e.tag===3)od(e,e,s);else for(;n!==null;){if(n.tag===3){od(n,e,s);break}else if(n.tag===1){var o=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(qt===null||!qt.has(o))){e=Wr(s,e),e=Nu(n,e,1),n=Ft(n,e,1),e=mn(),n!==null&&(ls(n,1,e),kn(n,e));break}}n=n.return}}function Sh(e,n,s){var o=e.pingCache;o!==null&&o.delete(n),n=mn(),e.pingedLanes|=e.suspendedLanes&s,tn===e&&(an&s)===s&&(Xe===4||Xe===3&&(an&130023424)===an&&500>Ve()-Yl?ar(e,0):Gl|=s),kn(e,n)}function ld(e,n){n===0&&((e.mode&1)===0?n=1:(n=ni,ni<<=1,(ni&130023424)===0&&(ni=4194304)));var s=mn();e=wt(e,n),e!==null&&(ls(e,n,s),kn(e,s))}function Ch(e){var n=e.memoizedState,s=0;n!==null&&(s=n.retryLane),ld(e,s)}function Nh(e,n){var s=0;switch(e.tag){case 13:var o=e.stateNode,c=e.memoizedState;c!==null&&(s=c.retryLane);break;case 19:o=e.stateNode;break;default:throw Error(l(314))}o!==null&&o.delete(n),ld(e,s)}var ad;ad=function(e,n,s){if(e!==null)if(e.memoizedProps!==n.pendingProps||vn.current)xn=!0;else{if((e.lanes&s)===0&&(n.flags&128)===0)return xn=!1,fh(e,n,s);xn=(e.flags&131072)!==0}else xn=!1,Be&&(n.flags&1048576)!==0&&Bc(n,Si,n.index);switch(n.lanes=0,n.tag){case 2:var o=n.type;Oi(e,n),e=n.pendingProps;var c=Ar(n,cn.current);Br(n,s),c=Il(null,n,o,e,c,s);var u=bl();return n.flags|=1,typeof c=="object"&&c!==null&&typeof c.render=="function"&&c.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,yn(o)?(u=!0,wi(n)):u=!1,n.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,wl(n),c.updater=Di,n.stateNode=c,c._reactInternals=n,$l(n,o,e,s),n=Ol(null,n,o,!0,u,s)):(n.tag=0,Be&&u&&ul(n),hn(null,n,c,s),n=n.child),n;case 16:o=n.elementType;e:{switch(Oi(e,n),e=n.pendingProps,c=o._init,o=c(o._payload),n.type=o,c=n.tag=Ih(o),e=Zn(o,e),c){case 0:n=Ll(null,n,o,e,s);break e;case 1:n=$u(null,n,o,e,s);break e;case 11:n=Eu(null,n,o,e,s);break e;case 14:n=Ru(null,n,o,Zn(o.type,e),s);break e}throw Error(l(306,o,""))}return n;case 0:return o=n.type,c=n.pendingProps,c=n.elementType===o?c:Zn(o,c),Ll(e,n,o,c,s);case 1:return o=n.type,c=n.pendingProps,c=n.elementType===o?c:Zn(o,c),$u(e,n,o,c,s);case 3:e:{if(Au(n),e===null)throw Error(l(387));o=n.pendingProps,u=n.memoizedState,c=u.element,Yc(e,n),Ei(n,o,null,s);var f=n.memoizedState;if(o=f.element,u.isDehydrated)if(u={element:o,isDehydrated:!1,cache:f.cache,pendingSuspenseBoundaries:f.pendingSuspenseBoundaries,transitions:f.transitions},n.updateQueue.baseState=u,n.memoizedState=u,n.flags&256){c=Wr(Error(l(423)),n),n=Du(e,n,o,s,c);break e}else if(o!==c){c=Wr(Error(l(424)),n),n=Du(e,n,o,s,c);break e}else for(Tn=At(n.stateNode.containerInfo.firstChild),Pn=n,Be=!0,Jn=null,s=Qc(n,null,o,s),n.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(Or(),o===c){n=jt(e,n,s);break e}hn(e,n,o,s)}n=n.child}return n;case 5:return Zc(n),e===null&&pl(n),o=n.type,c=n.pendingProps,u=e!==null?e.memoizedProps:null,f=c.children,sl(o,c)?f=null:u!==null&&sl(o,u)&&(n.flags|=32),Mu(e,n),hn(e,n,f,s),n.child;case 6:return e===null&&pl(n),null;case 13:return Lu(e,n,s);case 4:return kl(n,n.stateNode.containerInfo),o=n.pendingProps,e===null?n.child=zr(n,null,o,s):hn(e,n,o,s),n.child;case 11:return o=n.type,c=n.pendingProps,c=n.elementType===o?c:Zn(o,c),Eu(e,n,o,c,s);case 7:return hn(e,n,n.pendingProps,s),n.child;case 8:return hn(e,n,n.pendingProps.children,s),n.child;case 12:return hn(e,n,n.pendingProps.children,s),n.child;case 10:e:{if(o=n.type._context,c=n.pendingProps,u=n.memoizedProps,f=c.value,De(_i,o._currentValue),o._currentValue=f,u!==null)if(Xn(u.value,f)){if(u.children===c.children&&!vn.current){n=jt(e,n,s);break e}}else for(u=n.child,u!==null&&(u.return=n);u!==null;){var v=u.dependencies;if(v!==null){f=u.child;for(var y=v.firstContext;y!==null;){if(y.context===o){if(u.tag===1){y=kt(-1,s&-s),y.tag=2;var E=u.updateQueue;if(E!==null){E=E.shared;var B=E.pending;B===null?y.next=y:(y.next=B.next,B.next=y),E.pending=y}}u.lanes|=s,y=u.alternate,y!==null&&(y.lanes|=s),yl(u.return,s,n),v.lanes|=s;break}y=y.next}}else if(u.tag===10)f=u.type===n.type?null:u.child;else if(u.tag===18){if(f=u.return,f===null)throw Error(l(341));f.lanes|=s,v=f.alternate,v!==null&&(v.lanes|=s),yl(f,s,n),f=u.sibling}else f=u.child;if(f!==null)f.return=u;else for(f=u;f!==null;){if(f===n){f=null;break}if(u=f.sibling,u!==null){u.return=f.return,f=u;break}f=f.return}u=f}hn(e,n,c.children,s),n=n.child}return n;case 9:return c=n.type,o=n.pendingProps.children,Br(n,s),c=On(c),o=o(c),n.flags|=1,hn(e,n,o,s),n.child;case 14:return o=n.type,c=Zn(o,n.pendingProps),c=Zn(o.type,c),Ru(e,n,o,c,s);case 15:return Pu(e,n,n.type,n.pendingProps,s);case 17:return o=n.type,c=n.pendingProps,c=n.elementType===o?c:Zn(o,c),Oi(e,n),n.tag=1,yn(o)?(e=!0,wi(n)):e=!1,Br(n,s),ju(n,o,c),$l(n,o,c,s),Ol(null,n,o,!0,e,s);case 19:return zu(e,n,s);case 22:return Tu(e,n,s)}throw Error(l(156,n.tag))};function cd(e,n){return qa(e,n)}function _h(e,n,s,o){this.tag=e,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bn(e,n,s,o){return new _h(e,n,s,o)}function sa(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ih(e){if(typeof e=="function")return sa(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Re)return 11;if(e===Q)return 14}return 2}function Vt(e,n){var s=e.alternate;return s===null?(s=Bn(e.tag,n,e.key,e.mode),s.elementType=e.elementType,s.type=e.type,s.stateNode=e.stateNode,s.alternate=e,e.alternate=s):(s.pendingProps=n,s.type=e.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=e.flags&14680064,s.childLanes=e.childLanes,s.lanes=e.lanes,s.child=e.child,s.memoizedProps=e.memoizedProps,s.memoizedState=e.memoizedState,s.updateQueue=e.updateQueue,n=e.dependencies,s.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},s.sibling=e.sibling,s.index=e.index,s.ref=e.ref,s}function Gi(e,n,s,o,c,u){var f=2;if(o=e,typeof e=="function")sa(e)&&(f=1);else if(typeof e=="string")f=5;else e:switch(e){case R:return ur(s.children,c,u,n);case ne:f=8,c|=8;break;case J:return e=Bn(12,s,n,c|2),e.elementType=J,e.lanes=u,e;case W:return e=Bn(13,s,n,c),e.elementType=W,e.lanes=u,e;case we:return e=Bn(19,s,n,c),e.elementType=we,e.lanes=u,e;case ve:return Yi(s,c,u,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case je:f=10;break e;case Ne:f=9;break e;case Re:f=11;break e;case Q:f=14;break e;case me:f=16,o=null;break e}throw Error(l(130,e==null?e:typeof e,""))}return n=Bn(f,s,n,c),n.elementType=e,n.type=o,n.lanes=u,n}function ur(e,n,s,o){return e=Bn(7,e,o,n),e.lanes=s,e}function Yi(e,n,s,o){return e=Bn(22,e,o,n),e.elementType=ve,e.lanes=s,e.stateNode={isHidden:!1},e}function ia(e,n,s){return e=Bn(6,e,null,n),e.lanes=s,e}function oa(e,n,s){return n=Bn(4,e.children!==null?e.children:[],e.key,n),n.lanes=s,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function bh(e,n,s,o,c){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Mo(0),this.expirationTimes=Mo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Mo(0),this.identifierPrefix=o,this.onRecoverableError=c,this.mutableSourceEagerHydrationData=null}function la(e,n,s,o,c,u,f,v,y){return e=new bh(e,n,s,v,y),n===1?(n=1,u===!0&&(n|=8)):n=0,u=Bn(3,null,null,n),e.current=u,u.stateNode=e,u.memoizedState={element:o,isDehydrated:s,cache:null,transitions:null,pendingSuspenseBoundaries:null},wl(u),e}function Eh(e,n,s){var o=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:I,key:o==null?null:""+o,children:e,containerInfo:n,implementation:s}}function ud(e){if(!e)return Lt;e=e._reactInternals;e:{if(Jt(e)!==e||e.tag!==1)throw Error(l(170));var n=e;do{switch(n.tag){case 3:n=n.stateNode.context;break e;case 1:if(yn(n.type)){n=n.stateNode.__reactInternalMemoizedMergedChildContext;break e}}n=n.return}while(n!==null);throw Error(l(171))}if(e.tag===1){var s=e.type;if(yn(s))return Oc(e,s,n)}return n}function dd(e,n,s,o,c,u,f,v,y){return e=la(s,o,!0,e,c,u,f,v,y),e.context=ud(null),s=e.current,o=mn(),c=Ut(s),u=kt(o,c),u.callback=n??null,Ft(s,u,c),e.current.lanes=c,ls(e,c,o),kn(e,o),e}function Xi(e,n,s,o){var c=n.current,u=mn(),f=Ut(c);return s=ud(s),n.context===null?n.context=s:n.pendingContext=s,n=kt(u,f),n.payload={element:e},o=o===void 0?null:o,o!==null&&(n.callback=o),e=Ft(c,n,f),e!==null&&(tt(e,c,f,u),bi(e,c,f)),f}function Ji(e){return e=e.current,e.child?(e.child.tag===5,e.child.stateNode):null}function fd(e,n){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var s=e.retryLane;e.retryLane=s!==0&&s<n?s:n}}function aa(e,n){fd(e,n),(e=e.alternate)&&fd(e,n)}function Rh(){return null}var pd=typeof reportError=="function"?reportError:function(e){console.error(e)};function ca(e){this._internalRoot=e}Zi.prototype.render=ca.prototype.render=function(e){var n=this._internalRoot;if(n===null)throw Error(l(409));Xi(e,n,null,null)},Zi.prototype.unmount=ca.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var n=e.containerInfo;lr(function(){Xi(null,e,null,null)}),n[gt]=null}};function Zi(e){this._internalRoot=e}Zi.prototype.unstable_scheduleHydration=function(e){if(e){var n=Ya();e={blockedOn:null,target:e,priority:n};for(var s=0;s<Tt.length&&n!==0&&n<Tt[s].priority;s++);Tt.splice(s,0,e),s===0&&Za(e)}};function ua(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function eo(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function hd(){}function Ph(e,n,s,o,c){if(c){if(typeof o=="function"){var u=o;o=function(){var E=Ji(f);u.call(E)}}var f=dd(n,o,e,0,null,!1,!1,"",hd);return e._reactRootContainer=f,e[gt]=f.current,ks(e.nodeType===8?e.parentNode:e),lr(),f}for(;c=e.lastChild;)e.removeChild(c);if(typeof o=="function"){var v=o;o=function(){var E=Ji(y);v.call(E)}}var y=la(e,0,!1,null,null,!1,!1,"",hd);return e._reactRootContainer=y,e[gt]=y.current,ks(e.nodeType===8?e.parentNode:e),lr(function(){Xi(n,y,s,o)}),y}function no(e,n,s,o,c){var u=s._reactRootContainer;if(u){var f=u;if(typeof c=="function"){var v=c;c=function(){var y=Ji(f);v.call(y)}}Xi(n,f,e,c)}else f=Ph(s,n,e,c,o);return Ji(f)}Qa=function(e){switch(e.tag){case 3:var n=e.stateNode;if(n.current.memoizedState.isDehydrated){var s=os(n.pendingLanes);s!==0&&($o(n,s|1),kn(n,Ve()),(Te&6)===0&&(Vr=Ve()+500,Ot()))}break;case 13:lr(function(){var o=wt(e,1);if(o!==null){var c=mn();tt(o,e,1,c)}}),aa(e,1)}},Ao=function(e){if(e.tag===13){var n=wt(e,134217728);if(n!==null){var s=mn();tt(n,e,134217728,s)}aa(e,134217728)}},Ga=function(e){if(e.tag===13){var n=Ut(e),s=wt(e,n);if(s!==null){var o=mn();tt(s,e,n,o)}aa(e,n)}},Ya=function(){return $e},Xa=function(e,n){var s=$e;try{return $e=e,n()}finally{$e=s}},Sr=function(e,n,s){switch(n){case"input":if(bn(e,s),n=s.name,s.type==="radio"&&n!=null){for(s=e;s.parentNode;)s=s.parentNode;for(s=s.querySelectorAll("input[name="+JSON.stringify(""+n)+'][type="radio"]'),n=0;n<s.length;n++){var o=s[n];if(o!==e&&o.form===e.form){var c=yi(o);if(!c)throw Error(l(90));sn(o),bn(o,c)}}}break;case"textarea":Xt(e,s);break;case"select":n=s.value,n!=null&&Vn(e,!!s.multiple,n,!1)}},j=na,S=lr;var Th={usingClientEntryPoint:!1,Events:[Cs,Mr,yi,is,Qs,na]},Os={findFiberByHostInstance:Zt,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Mh={bundleType:Os.bundleType,version:Os.version,rendererPackageName:Os.rendererPackageName,rendererConfig:Os.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:X.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Fa(e),e===null?null:e.stateNode},findFiberByHostInstance:Os.findFiberByHostInstance||Rh,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var to=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!to.isDisabled&&to.supportsFiber)try{Zs=to.inject(Mh),lt=to}catch{}}return jn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Th,jn.createPortal=function(e,n){var s=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!ua(n))throw Error(l(200));return Eh(e,n,null,s)},jn.createRoot=function(e,n){if(!ua(e))throw Error(l(299));var s=!1,o="",c=pd;return n!=null&&(n.unstable_strictMode===!0&&(s=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onRecoverableError!==void 0&&(c=n.onRecoverableError)),n=la(e,1,!1,null,null,s,!1,o,c),e[gt]=n.current,ks(e.nodeType===8?e.parentNode:e),new ca(n)},jn.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var n=e._reactInternals;if(n===void 0)throw typeof e.render=="function"?Error(l(188)):(e=Object.keys(e).join(","),Error(l(268,e)));return e=Fa(n),e=e===null?null:e.stateNode,e},jn.flushSync=function(e){return lr(e)},jn.hydrate=function(e,n,s){if(!eo(n))throw Error(l(200));return no(null,e,n,!0,s)},jn.hydrateRoot=function(e,n,s){if(!ua(e))throw Error(l(405));var o=s!=null&&s.hydratedSources||null,c=!1,u="",f=pd;if(s!=null&&(s.unstable_strictMode===!0&&(c=!0),s.identifierPrefix!==void 0&&(u=s.identifierPrefix),s.onRecoverableError!==void 0&&(f=s.onRecoverableError)),n=dd(n,null,e,1,s??null,c,!1,u,f),e[gt]=n.current,ks(e),o)for(e=0;e<o.length;e++)s=o[e],c=s._getVersion,c=c(s._source),n.mutableSourceEagerHydrationData==null?n.mutableSourceEagerHydrationData=[s,c]:n.mutableSourceEagerHydrationData.push(s,c);return new Zi(n)},jn.render=function(e,n,s){if(!eo(n))throw Error(l(200));return no(null,e,n,!1,s)},jn.unmountComponentAtNode=function(e){if(!eo(e))throw Error(l(40));return e._reactRootContainer?(lr(function(){no(null,null,e,!1,function(){e._reactRootContainer=null,e[gt]=null})}),!0):!1},jn.unstable_batchedUpdates=na,jn.unstable_renderSubtreeIntoContainer=function(e,n,s,o){if(!eo(s))throw Error(l(200));if(e==null||e._reactInternals===void 0)throw Error(l(38));return no(e,n,s,!1,o)},jn.version="18.3.1-next-f1338f8080-20240426",jn}var jd;function Uh(){if(jd)return pa.exports;jd=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(r){console.error(r)}}return t(),pa.exports=Wh(),pa.exports}var Sd;function Hh(){if(Sd)return ro;Sd=1;var t=Uh();return ro.createRoot=t.createRoot,ro.hydrateRoot=t.hydrateRoot,ro}var Vh=Hh();const Kh=hf(Vh),mf={boot:"loading",bootstrap:null,connection:"connecting",connectionAttempt:0,lastCursor:0,lastEventId:null,contextRevision:"",workspaceId:"",workspace:"",workspaces:[],sessions:[],workspaceSessions:{},archivedSessions:{status:"idle",items:[],nextCursor:null,ownerWorkspaceId:""},workspaceProjectSummaries:{},workspaceResourceEpochs:{},workspaceNextCursor:null,sessionNextCursor:null,activeSessionId:null,sessionSync:{},clientTelemetry:{sessionSwitches:0,snapshotCacheHits:0,snapshotLoads:0,snapshotFailures:0},sessionProjectionById:{},sessionRuntimeById:{},transcript:[],tools:[],edits:[],subtasks:[],research:[],permission:null,processing:!1,statusMessage:"正在连接本地 Web Host…",mode:{baseMode:"interactive",pendingBaseMode:null},effort:null,queue:{items:[],limit:16},goal:null,goalEvidence:[],goalActivity:[],diagnostics:null,settings:null,settingsMirror:{status:"idle",document:null,lastGood:null,stale:!1,error:null,generation:0},sessionSnapshot:null,composer:null,modelCatalog:null,plan:null,skills:[],mcpServers:[],toolDetails:[],skillNextCursor:null,mcpNextCursor:null,toolDetailNextCursor:null,loopStats:null,traces:[],pendingAction:null,notice:null,announcement:""},Cd=Object.freeze({status:"idle",requestId:null});function ko(t){return t.activeSessionId?t.sessionSync[t.activeSessionId]??Cd:Cd}function vr(t){return!!(t.activeSessionId&&t.sessionSnapshot?.session.id===t.activeSessionId&&ko(t).status==="ready")}function K({name:t,size:r=18,...l}){return i.jsx("svg",{"aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24",width:r,height:r,fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",...l,children:Qh[t]})}const Qh={activity:i.jsx("path",{d:"M3 12h4l2.2-6 4.2 12 2.2-6H21"}),add:i.jsx("path",{d:"M12 5v14M5 12h14"}),"arrow-up":i.jsx("path",{d:"m6 11 6-6 6 6M12 5v14"}),branch:i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"6",cy:"5",r:"2"}),i.jsx("circle",{cx:"18",cy:"7",r:"2"}),i.jsx("circle",{cx:"6",cy:"19",r:"2"}),i.jsx("path",{d:"M6 7v10M8 12h4a6 6 0 0 0 6-3"})]}),check:i.jsx("path",{d:"m5 12 4 4L19 6"}),chevron:i.jsx("path",{d:"m9 7 5 5-5 5"}),close:i.jsx("path",{d:"m6 6 12 12M18 6 6 18"}),code:i.jsx("path",{d:"m8 9-4 3 4 3M16 9l4 3-4 3M14 5l-4 14"}),copy:i.jsxs(i.Fragment,{children:[i.jsx("rect",{x:"8",y:"8",width:"11",height:"11",rx:"2"}),i.jsx("path",{d:"M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2"})]}),diagnostics:i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M4 19V9M10 19V5M16 19v-7M22 19V3"}),i.jsx("path",{d:"M2 19h21"})]}),edit:i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M12 20h9"}),i.jsx("path",{d:"M16.5 3.5a2.1 2.1 0 0 1 3 3L8 18l-4 1 1-4Z"})]}),goal:i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"12",cy:"12",r:"8"}),i.jsx("circle",{cx:"12",cy:"12",r:"3"}),i.jsx("path",{d:"m15 9 5-5M17 4h3v3"})]}),info:i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"12",cy:"12",r:"9"}),i.jsx("path",{d:"M12 11v5M12 8h.01"})]}),keyboard:i.jsxs(i.Fragment,{children:[i.jsx("rect",{x:"2",y:"6",width:"20",height:"12",rx:"2"}),i.jsx("path",{d:"M6 10h.01M10 10h.01M14 10h.01M18 10h.01M6 14h.01M18 14h.01M9.5 14.5h5"})]}),menu:i.jsx("path",{d:"M4 7h16M4 12h16M4 17h16"}),monitor:i.jsxs(i.Fragment,{children:[i.jsx("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2"}),i.jsx("path",{d:"M8 21h8M12 17v4"})]}),moon:i.jsx("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"}),more:i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"5",cy:"12",r:"1",fill:"currentColor",stroke:"none"}),i.jsx("circle",{cx:"12",cy:"12",r:"1",fill:"currentColor",stroke:"none"}),i.jsx("circle",{cx:"19",cy:"12",r:"1",fill:"currentColor",stroke:"none"})]}),pause:i.jsx("path",{d:"M9 5v14M15 5v14"}),refresh:i.jsx("path",{d:"M20 7v5h-5M4 17v-5h5M6.1 9A7 7 0 0 1 18 6l2 6M17.9 15A7 7 0 0 1 6 18l-2-6"}),search:i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"11",cy:"11",r:"7"}),i.jsx("path",{d:"m20 20-4-4"})]}),settings:i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"12",cy:"12",r:"3"}),i.jsx("path",{d:"M19.4 15a1.7 1.7 0 0 0 .3 1.9l.1.1-2.8 2.8-.1-.1a1.7 1.7 0 0 0-1.9-.3 1.7 1.7 0 0 0-1 1.6v.2h-4V21a1.7 1.7 0 0 0-1-1.6 1.7 1.7 0 0 0-1.9.3l-.1.1L4.2 17l.1-.1a1.7 1.7 0 0 0 .3-1.9A1.7 1.7 0 0 0 3 14H2.8v-4H3a1.7 1.7 0 0 0 1.6-1 1.7 1.7 0 0 0-.3-1.9L4.2 7 7 4.2l.1.1A1.7 1.7 0 0 0 9 4.6a1.7 1.7 0 0 0 1-1.6v-.2h4V3a1.7 1.7 0 0 0 1 1.6 1.7 1.7 0 0 0 1.9-.3l.1-.1L19.8 7l-.1.1a1.7 1.7 0 0 0-.3 1.9 1.7 1.7 0 0 0 1.6 1h.2v4H21a1.7 1.7 0 0 0-1.6 1Z"})]}),sidebar:i.jsxs(i.Fragment,{children:[i.jsx("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),i.jsx("path",{d:"M9 4v16"})]}),spark:i.jsx("path",{d:"m12 3 1.5 5.5L19 10l-5.5 1.5L12 17l-1.5-5.5L5 10l5.5-1.5ZM19 16l.7 2.3L22 19l-2.3.7L19 22l-.7-2.3L16 19l2.3-.7Z"}),stop:i.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"}),sun:i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"12",cy:"12",r:"4"}),i.jsx("path",{d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"})]}),terminal:i.jsx("path",{d:"m5 7 4 4-4 4M11 16h8"}),trash:i.jsx(i.Fragment,{children:i.jsx("path",{d:"M4 7h16M9 7V4h6v3M7 7l1 13h8l1-13M10 11v5M14 11v5"})}),warning:i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M12 3 2.5 20h19Z"}),i.jsx("path",{d:"M12 9v4M12 17h.01"})]}),workspace:i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M3 7h7l2 2h9v10H3Z"}),i.jsx("path",{d:"M3 7V5h7l2 2"})]})};function Hs({children:t,className:r=""}){return i.jsx("div",{className:`markdown ${r}`.trim(),children:gf(t)})}function gf(t){const r=t.replace(/\r\n?/g,`
9
+ `+u.stack}return{value:e,source:n,stack:c,digest:null}}function Dl(e,n,s){return{value:e,source:null,stack:s??null,digest:n??null}}function Ll(e,n){try{console.error(n.value)}catch(s){setTimeout(function(){throw s})}}var ch=typeof WeakMap=="function"?WeakMap:Map;function Cu(e,n,s){s=kt(-1,s),s.tag=3,s.payload={element:null};var o=n.value;return s.callback=function(){Wi||(Wi=!0,Jl=o),Ll(e,n)},s}function Nu(e,n,s){s=kt(-1,s),s.tag=3;var o=e.type.getDerivedStateFromError;if(typeof o=="function"){var c=n.value;s.payload=function(){return o(c)},s.callback=function(){Ll(e,n)}}var u=e.stateNode;return u!==null&&typeof u.componentDidCatch=="function"&&(s.callback=function(){Ll(e,n),typeof o!="function"&&(qt===null?qt=new Set([this]):qt.add(this));var f=n.stack;this.componentDidCatch(n.value,{componentStack:f!==null?f:""})}),s}function _u(e,n,s){var o=e.pingCache;if(o===null){o=e.pingCache=new ch;var c=new Set;o.set(n,c)}else c=o.get(n),c===void 0&&(c=new Set,o.set(n,c));c.has(s)||(c.add(s),e=Sh.bind(null,e,n,s),n.then(e,e))}function Iu(e){do{var n;if((n=e.tag===13)&&(n=e.memoizedState,n=n!==null?n.dehydrated!==null:!0),n)return e;e=e.return}while(e!==null);return null}function bu(e,n,s,o,c){return(e.mode&1)===0?(e===n?e.flags|=65536:(e.flags|=128,s.flags|=131072,s.flags&=-52805,s.tag===1&&(s.alternate===null?s.tag=17:(n=kt(-1,1),n.tag=2,Ft(s,n,1))),s.lanes|=1),e):(e.flags|=65536,e.lanes=c,e)}var uh=X.ReactCurrentOwner,xn=!1;function hn(e,n,s,o){n.child=e===null?Qc(n,null,s,o):zr(n,e.child,s,o)}function Eu(e,n,s,o,c){s=s.render;var u=n.ref;return Br(n,c),o=bl(e,n,s,o,u,c),s=El(),e!==null&&!xn?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~c,jt(e,n,c)):(Be&&s&&dl(n),n.flags|=1,hn(e,n,o,c),n.child)}function Ru(e,n,s,o,c){if(e===null){var u=s.type;return typeof u=="function"&&!ia(u)&&u.defaultProps===void 0&&s.compare===null&&s.defaultProps===void 0?(n.tag=15,n.type=u,Pu(e,n,u,o,c)):(e=Gi(s.type,null,o,n,n.mode,c),e.ref=n.ref,e.return=n,n.child=e)}if(u=e.child,(e.lanes&c)===0){var f=u.memoizedProps;if(s=s.compare,s=s!==null?s:ys,s(f,o)&&e.ref===n.ref)return jt(e,n,c)}return n.flags|=1,e=Vt(u,o),e.ref=n.ref,e.return=n,n.child=e}function Pu(e,n,s,o,c){if(e!==null){var u=e.memoizedProps;if(ys(u,o)&&e.ref===n.ref)if(xn=!1,n.pendingProps=o=u,(e.lanes&c)!==0)(e.flags&131072)!==0&&(xn=!0);else return n.lanes=e.lanes,jt(e,n,c)}return Ol(e,n,s,o,c)}function Tu(e,n,s){var o=n.pendingProps,c=o.children,u=e!==null?e.memoizedState:null;if(o.mode==="hidden")if((n.mode&1)===0)n.memoizedState={baseLanes:0,cachePool:null,transitions:null},Le(Hr,Mn),Mn|=s;else{if((s&1073741824)===0)return e=u!==null?u.baseLanes|s:s,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:e,cachePool:null,transitions:null},n.updateQueue=null,Le(Hr,Mn),Mn|=e,null;n.memoizedState={baseLanes:0,cachePool:null,transitions:null},o=u!==null?u.baseLanes:s,Le(Hr,Mn),Mn|=o}else u!==null?(o=u.baseLanes|s,n.memoizedState=null):o=s,Le(Hr,Mn),Mn|=o;return hn(e,n,c,s),n.child}function Mu(e,n){var s=n.ref;(e===null&&s!==null||e!==null&&e.ref!==s)&&(n.flags|=512,n.flags|=2097152)}function Ol(e,n,s,o,c){var u=yn(s)?er:cn.current;return u=Ar(n,u),Br(n,c),s=bl(e,n,s,o,u,c),o=El(),e!==null&&!xn?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~c,jt(e,n,c)):(Be&&o&&dl(n),n.flags|=1,hn(e,n,s,c),n.child)}function $u(e,n,s,o,c){if(yn(s)){var u=!0;wi(n)}else u=!1;if(Br(n,c),n.stateNode===null)Oi(e,n),ju(n,s,o),Al(n,s,o,c),o=!0;else if(e===null){var f=n.stateNode,v=n.memoizedProps;f.props=v;var y=f.context,E=s.contextType;typeof E=="object"&&E!==null?E=Fn(E):(E=yn(s)?er:cn.current,E=Ar(n,E));var B=s.getDerivedStateFromProps,U=typeof B=="function"||typeof f.getSnapshotBeforeUpdate=="function";U||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(v!==o||y!==E)&&Su(n,f,o,E),zt=!1;var z=n.memoizedState;f.state=z,Ei(n,o,f,c),y=n.memoizedState,v!==o||z!==y||vn.current||zt?(typeof B=="function"&&($l(n,s,B,o),y=n.memoizedState),(v=zt||ku(n,s,v,o,z,y,E))?(U||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount()),typeof f.componentDidMount=="function"&&(n.flags|=4194308)):(typeof f.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=o,n.memoizedState=y),f.props=o,f.state=y,f.context=E,o=v):(typeof f.componentDidMount=="function"&&(n.flags|=4194308),o=!1)}else{f=n.stateNode,Yc(e,n),v=n.memoizedProps,E=n.type===n.elementType?v:Zn(n.type,v),f.props=E,U=n.pendingProps,z=f.context,y=s.contextType,typeof y=="object"&&y!==null?y=Fn(y):(y=yn(s)?er:cn.current,y=Ar(n,y));var ee=s.getDerivedStateFromProps;(B=typeof ee=="function"||typeof f.getSnapshotBeforeUpdate=="function")||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(v!==U||z!==y)&&Su(n,f,o,y),zt=!1,z=n.memoizedState,f.state=z,Ei(n,o,f,c);var oe=n.memoizedState;v!==U||z!==oe||vn.current||zt?(typeof ee=="function"&&($l(n,s,ee,o),oe=n.memoizedState),(E=zt||ku(n,s,E,o,z,oe,y)||!1)?(B||typeof f.UNSAFE_componentWillUpdate!="function"&&typeof f.componentWillUpdate!="function"||(typeof f.componentWillUpdate=="function"&&f.componentWillUpdate(o,oe,y),typeof f.UNSAFE_componentWillUpdate=="function"&&f.UNSAFE_componentWillUpdate(o,oe,y)),typeof f.componentDidUpdate=="function"&&(n.flags|=4),typeof f.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof f.componentDidUpdate!="function"||v===e.memoizedProps&&z===e.memoizedState||(n.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||v===e.memoizedProps&&z===e.memoizedState||(n.flags|=1024),n.memoizedProps=o,n.memoizedState=oe),f.props=o,f.state=oe,f.context=y,o=E):(typeof f.componentDidUpdate!="function"||v===e.memoizedProps&&z===e.memoizedState||(n.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||v===e.memoizedProps&&z===e.memoizedState||(n.flags|=1024),o=!1)}return zl(e,n,s,o,u,c)}function zl(e,n,s,o,c,u){Mu(e,n);var f=(n.flags&128)!==0;if(!o&&!f)return c&&zc(n,s,!1),jt(e,n,u);o=n.stateNode,uh.current=n;var v=f&&typeof s.getDerivedStateFromError!="function"?null:o.render();return n.flags|=1,e!==null&&f?(n.child=zr(n,e.child,null,u),n.child=zr(n,null,v,u)):hn(e,n,v,u),n.memoizedState=o.state,c&&zc(n,s,!0),n.child}function Au(e){var n=e.stateNode;n.pendingContext?Lc(e,n.pendingContext,n.pendingContext!==n.context):n.context&&Lc(e,n.context,!1),jl(e,n.containerInfo)}function Du(e,n,s,o,c){return Or(),ml(c),n.flags|=256,hn(e,n,s,o),n.child}var Fl={dehydrated:null,treeContext:null,retryLane:0};function Bl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Lu(e,n,s){var o=n.pendingProps,c=qe.current,u=!1,f=(n.flags&128)!==0,v;if((v=f)||(v=e!==null&&e.memoizedState===null?!1:(c&2)!==0),v?(u=!0,n.flags&=-129):(e===null||e.memoizedState!==null)&&(c|=1),Le(qe,c&1),e===null)return hl(n),e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((n.mode&1)===0?n.lanes=1:e.data==="$!"?n.lanes=8:n.lanes=1073741824,null):(f=o.children,e=o.fallback,u?(o=n.mode,u=n.child,f={mode:"hidden",children:f},(o&1)===0&&u!==null?(u.childLanes=0,u.pendingProps=f):u=Yi(f,o,0,null),e=ur(e,o,s,null),u.return=n,e.return=n,u.sibling=e,n.child=u,n.child.memoizedState=Bl(s),n.memoizedState=Fl,e):ql(n,f));if(c=e.memoizedState,c!==null&&(v=c.dehydrated,v!==null))return dh(e,n,f,o,v,c,s);if(u){u=o.fallback,f=n.mode,c=e.child,v=c.sibling;var y={mode:"hidden",children:o.children};return(f&1)===0&&n.child!==c?(o=n.child,o.childLanes=0,o.pendingProps=y,n.deletions=null):(o=Vt(c,y),o.subtreeFlags=c.subtreeFlags&14680064),v!==null?u=Vt(v,u):(u=ur(u,f,s,null),u.flags|=2),u.return=n,o.return=n,o.sibling=u,n.child=o,o=u,u=n.child,f=e.child.memoizedState,f=f===null?Bl(s):{baseLanes:f.baseLanes|s,cachePool:null,transitions:f.transitions},u.memoizedState=f,u.childLanes=e.childLanes&~s,n.memoizedState=Fl,o}return u=e.child,e=u.sibling,o=Vt(u,{mode:"visible",children:o.children}),(n.mode&1)===0&&(o.lanes=s),o.return=n,o.sibling=null,e!==null&&(s=n.deletions,s===null?(n.deletions=[e],n.flags|=16):s.push(e)),n.child=o,n.memoizedState=null,o}function ql(e,n){return n=Yi({mode:"visible",children:n},e.mode,0,null),n.return=e,e.child=n}function Li(e,n,s,o){return o!==null&&ml(o),zr(n,e.child,null,s),e=ql(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function dh(e,n,s,o,c,u,f){if(s)return n.flags&256?(n.flags&=-257,o=Dl(Error(l(422))),Li(e,n,f,o)):n.memoizedState!==null?(n.child=e.child,n.flags|=128,null):(u=o.fallback,c=n.mode,o=Yi({mode:"visible",children:o.children},c,0,null),u=ur(u,c,f,null),u.flags|=2,o.return=n,u.return=n,o.sibling=u,n.child=o,(n.mode&1)!==0&&zr(n,e.child,null,f),n.child.memoizedState=Bl(f),n.memoizedState=Fl,u);if((n.mode&1)===0)return Li(e,n,f,null);if(c.data==="$!"){if(o=c.nextSibling&&c.nextSibling.dataset,o)var v=o.dgst;return o=v,u=Error(l(419)),o=Dl(u,o,void 0),Li(e,n,f,o)}if(v=(f&e.childLanes)!==0,xn||v){if(o=tn,o!==null){switch(f&-f){case 4:c=2;break;case 16:c=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:c=32;break;case 536870912:c=268435456;break;default:c=0}c=(c&(o.suspendedLanes|f))!==0?0:c,c!==0&&c!==u.retryLane&&(u.retryLane=c,wt(e,c),tt(o,e,c,-1))}return sa(),o=Dl(Error(l(421))),Li(e,n,f,o)}return c.data==="$?"?(n.flags|=128,n.child=e.child,n=Ch.bind(null,e),c._reactRetry=n,null):(e=u.treeContext,Tn=At(c.nextSibling),Pn=n,Be=!0,Jn=null,e!==null&&(On[zn++]=yt,On[zn++]=xt,On[zn++]=nr,yt=e.id,xt=e.overflow,nr=n),n=ql(n,o.children),n.flags|=4096,n)}function Ou(e,n,s){e.lanes|=n;var o=e.alternate;o!==null&&(o.lanes|=n),xl(e.return,n,s)}function Wl(e,n,s,o,c){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:o,tail:s,tailMode:c}:(u.isBackwards=n,u.rendering=null,u.renderingStartTime=0,u.last=o,u.tail=s,u.tailMode=c)}function zu(e,n,s){var o=n.pendingProps,c=o.revealOrder,u=o.tail;if(hn(e,n,o.children,s),o=qe.current,(o&2)!==0)o=o&1|2,n.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ou(e,s,n);else if(e.tag===19)Ou(e,s,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}o&=1}if(Le(qe,o),(n.mode&1)===0)n.memoizedState=null;else switch(c){case"forwards":for(s=n.child,c=null;s!==null;)e=s.alternate,e!==null&&Ri(e)===null&&(c=s),s=s.sibling;s=c,s===null?(c=n.child,n.child=null):(c=s.sibling,s.sibling=null),Wl(n,!1,c,s,u);break;case"backwards":for(s=null,c=n.child,n.child=null;c!==null;){if(e=c.alternate,e!==null&&Ri(e)===null){n.child=c;break}e=c.sibling,c.sibling=s,s=c,c=e}Wl(n,!0,s,null,u);break;case"together":Wl(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function Oi(e,n){(n.mode&1)===0&&e!==null&&(e.alternate=null,n.alternate=null,n.flags|=2)}function jt(e,n,s){if(e!==null&&(n.dependencies=e.dependencies),or|=n.lanes,(s&n.childLanes)===0)return null;if(e!==null&&n.child!==e.child)throw Error(l(153));if(n.child!==null){for(e=n.child,s=Vt(e,e.pendingProps),n.child=s,s.return=n;e.sibling!==null;)e=e.sibling,s=s.sibling=Vt(e,e.pendingProps),s.return=n;s.sibling=null}return n.child}function fh(e,n,s){switch(n.tag){case 3:Au(n),Or();break;case 5:Zc(n);break;case 1:yn(n.type)&&wi(n);break;case 4:jl(n,n.stateNode.containerInfo);break;case 10:var o=n.type._context,c=n.memoizedProps.value;Le(_i,o._currentValue),o._currentValue=c;break;case 13:if(o=n.memoizedState,o!==null)return o.dehydrated!==null?(Le(qe,qe.current&1),n.flags|=128,null):(s&n.child.childLanes)!==0?Lu(e,n,s):(Le(qe,qe.current&1),e=jt(e,n,s),e!==null?e.sibling:null);Le(qe,qe.current&1);break;case 19:if(o=(s&n.childLanes)!==0,(e.flags&128)!==0){if(o)return zu(e,n,s);n.flags|=128}if(c=n.memoizedState,c!==null&&(c.rendering=null,c.tail=null,c.lastEffect=null),Le(qe,qe.current),o)break;return null;case 22:case 23:return n.lanes=0,Tu(e,n,s)}return jt(e,n,s)}var Fu,Ul,Bu,qu;Fu=function(e,n){for(var s=n.child;s!==null;){if(s.tag===5||s.tag===6)e.appendChild(s.stateNode);else if(s.tag!==4&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===n)break;for(;s.sibling===null;){if(s.return===null||s.return===n)return;s=s.return}s.sibling.return=s.return,s=s.sibling}},Ul=function(){},Bu=function(e,n,s,o){var c=e.memoizedProps;if(c!==o){e=n.stateNode,sr(ct.current);var u=null;switch(s){case"input":c=pn(e,c),o=pn(e,o),u=[];break;case"select":c=G({},c,{value:void 0}),o=G({},o,{value:void 0}),u=[];break;case"textarea":c=Gn(e,c),o=Gn(e,o),u=[];break;default:typeof c.onClick!="function"&&typeof o.onClick=="function"&&(e.onclick=vi)}xr(s,o);var f;s=null;for(E in c)if(!o.hasOwnProperty(E)&&c.hasOwnProperty(E)&&c[E]!=null)if(E==="style"){var v=c[E];for(f in v)v.hasOwnProperty(f)&&(s||(s={}),s[f]="")}else E!=="dangerouslySetInnerHTML"&&E!=="children"&&E!=="suppressContentEditableWarning"&&E!=="suppressHydrationWarning"&&E!=="autoFocus"&&(d.hasOwnProperty(E)?u||(u=[]):(u=u||[]).push(E,null));for(E in o){var y=o[E];if(v=c?.[E],o.hasOwnProperty(E)&&y!==v&&(y!=null||v!=null))if(E==="style")if(v){for(f in v)!v.hasOwnProperty(f)||y&&y.hasOwnProperty(f)||(s||(s={}),s[f]="");for(f in y)y.hasOwnProperty(f)&&v[f]!==y[f]&&(s||(s={}),s[f]=y[f])}else s||(u||(u=[]),u.push(E,s)),s=y;else E==="dangerouslySetInnerHTML"?(y=y?y.__html:void 0,v=v?v.__html:void 0,y!=null&&v!==y&&(u=u||[]).push(E,y)):E==="children"?typeof y!="string"&&typeof y!="number"||(u=u||[]).push(E,""+y):E!=="suppressContentEditableWarning"&&E!=="suppressHydrationWarning"&&(d.hasOwnProperty(E)?(y!=null&&E==="onScroll"&&ze("scroll",e),u||v===y||(u=[])):(u=u||[]).push(E,y))}s&&(u=u||[]).push("style",s);var E=u;(n.updateQueue=E)&&(n.flags|=4)}},qu=function(e,n,s,o){s!==o&&(n.flags|=4)};function Ms(e,n){if(!Be)switch(e.tailMode){case"hidden":n=e.tail;for(var s=null;n!==null;)n.alternate!==null&&(s=n),n=n.sibling;s===null?e.tail=null:s.sibling=null;break;case"collapsed":s=e.tail;for(var o=null;s!==null;)s.alternate!==null&&(o=s),s=s.sibling;o===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:o.sibling=null}}function dn(e){var n=e.alternate!==null&&e.alternate.child===e.child,s=0,o=0;if(n)for(var c=e.child;c!==null;)s|=c.lanes|c.childLanes,o|=c.subtreeFlags&14680064,o|=c.flags&14680064,c.return=e,c=c.sibling;else for(c=e.child;c!==null;)s|=c.lanes|c.childLanes,o|=c.subtreeFlags,o|=c.flags,c.return=e,c=c.sibling;return e.subtreeFlags|=o,e.childLanes=s,n}function ph(e,n,s){var o=n.pendingProps;switch(fl(n),n.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return dn(n),null;case 1:return yn(n.type)&&xi(),dn(n),null;case 3:return o=n.stateNode,qr(),Fe(vn),Fe(cn),Nl(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),(e===null||e.child===null)&&(Ci(n)?n.flags|=4:e===null||e.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,Jn!==null&&(na(Jn),Jn=null))),Ul(e,n),dn(n),null;case 5:Sl(n);var c=sr(bs.current);if(s=n.type,e!==null&&n.stateNode!=null)Bu(e,n,s,o,c),e.ref!==n.ref&&(n.flags|=512,n.flags|=2097152);else{if(!o){if(n.stateNode===null)throw Error(l(166));return dn(n),null}if(e=sr(ct.current),Ci(n)){o=n.stateNode,s=n.type;var u=n.memoizedProps;switch(o[at]=n,o[Ss]=u,e=(n.mode&1)!==0,s){case"dialog":ze("cancel",o),ze("close",o);break;case"iframe":case"object":case"embed":ze("load",o);break;case"video":case"audio":for(c=0;c<ws.length;c++)ze(ws[c],o);break;case"source":ze("error",o);break;case"img":case"image":case"link":ze("error",o),ze("load",o);break;case"details":ze("toggle",o);break;case"input":Kn(o,u),ze("invalid",o);break;case"select":o._wrapperState={wasMultiple:!!u.multiple},ze("invalid",o);break;case"textarea":bt(o,u),ze("invalid",o)}xr(s,u),c=null;for(var f in u)if(u.hasOwnProperty(f)){var v=u[f];f==="children"?typeof v=="string"?o.textContent!==v&&(u.suppressHydrationWarning!==!0&&gi(o.textContent,v,e),c=["children",v]):typeof v=="number"&&o.textContent!==""+v&&(u.suppressHydrationWarning!==!0&&gi(o.textContent,v,e),c=["children",""+v]):d.hasOwnProperty(f)&&v!=null&&f==="onScroll"&&ze("scroll",o)}switch(s){case"input":Ce(o),gn(o,u,!0);break;case"textarea":Ce(o),Y(o);break;case"select":case"option":break;default:typeof u.onClick=="function"&&(o.onclick=vi)}o=c,n.updateQueue=o,o!==null&&(n.flags|=4)}else{f=c.nodeType===9?c:c.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=fe(s)),e==="http://www.w3.org/1999/xhtml"?s==="script"?(e=f.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof o.is=="string"?e=f.createElement(s,{is:o.is}):(e=f.createElement(s),s==="select"&&(f=e,o.multiple?f.multiple=!0:o.size&&(f.size=o.size))):e=f.createElementNS(e,s),e[at]=n,e[Ss]=o,Fu(e,n,!1,!1),n.stateNode=e;e:{switch(f=wr(s,o),s){case"dialog":ze("cancel",e),ze("close",e),c=o;break;case"iframe":case"object":case"embed":ze("load",e),c=o;break;case"video":case"audio":for(c=0;c<ws.length;c++)ze(ws[c],e);c=o;break;case"source":ze("error",e),c=o;break;case"img":case"image":case"link":ze("error",e),ze("load",e),c=o;break;case"details":ze("toggle",e),c=o;break;case"input":Kn(e,o),c=pn(e,o),ze("invalid",e);break;case"option":c=o;break;case"select":e._wrapperState={wasMultiple:!!o.multiple},c=G({},o,{value:void 0}),ze("invalid",e);break;case"textarea":bt(e,o),c=Gn(e,o),ze("invalid",e);break;default:c=o}xr(s,c),v=c;for(u in v)if(v.hasOwnProperty(u)){var y=v[u];u==="style"?rs(e,y):u==="dangerouslySetInnerHTML"?(y=y?y.__html:void 0,y!=null&&An(e,y)):u==="children"?typeof y=="string"?(s!=="textarea"||y!=="")&&Dn(e,y):typeof y=="number"&&Dn(e,""+y):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(d.hasOwnProperty(u)?y!=null&&u==="onScroll"&&ze("scroll",e):y!=null&&de(e,u,y,f))}switch(s){case"input":Ce(e),gn(e,o,!1);break;case"textarea":Ce(e),Y(e);break;case"option":o.value!=null&&e.setAttribute("value",""+ke(o.value));break;case"select":e.multiple=!!o.multiple,u=o.value,u!=null?Qn(e,!!o.multiple,u,!1):o.defaultValue!=null&&Qn(e,!!o.multiple,o.defaultValue,!0);break;default:typeof c.onClick=="function"&&(e.onclick=vi)}switch(s){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}}o&&(n.flags|=4)}n.ref!==null&&(n.flags|=512,n.flags|=2097152)}return dn(n),null;case 6:if(e&&n.stateNode!=null)qu(e,n,e.memoizedProps,o);else{if(typeof o!="string"&&n.stateNode===null)throw Error(l(166));if(s=sr(bs.current),sr(ct.current),Ci(n)){if(o=n.stateNode,s=n.memoizedProps,o[at]=n,(u=o.nodeValue!==s)&&(e=Pn,e!==null))switch(e.tag){case 3:gi(o.nodeValue,s,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&gi(o.nodeValue,s,(e.mode&1)!==0)}u&&(n.flags|=4)}else o=(s.nodeType===9?s:s.ownerDocument).createTextNode(o),o[at]=n,n.stateNode=o}return dn(n),null;case 13:if(Fe(qe),o=n.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Be&&Tn!==null&&(n.mode&1)!==0&&(n.flags&128)===0)Hc(),Or(),n.flags|=98560,u=!1;else if(u=Ci(n),o!==null&&o.dehydrated!==null){if(e===null){if(!u)throw Error(l(318));if(u=n.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(l(317));u[at]=n}else Or(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;dn(n),u=!1}else Jn!==null&&(na(Jn),Jn=null),u=!0;if(!u)return n.flags&65536?n:null}return(n.flags&128)!==0?(n.lanes=s,n):(o=o!==null,o!==(e!==null&&e.memoizedState!==null)&&o&&(n.child.flags|=8192,(n.mode&1)!==0&&(e===null||(qe.current&1)!==0?Je===0&&(Je=3):sa())),n.updateQueue!==null&&(n.flags|=4),dn(n),null);case 4:return qr(),Ul(e,n),e===null&&ks(n.stateNode.containerInfo),dn(n),null;case 10:return yl(n.type._context),dn(n),null;case 17:return yn(n.type)&&xi(),dn(n),null;case 19:if(Fe(qe),u=n.memoizedState,u===null)return dn(n),null;if(o=(n.flags&128)!==0,f=u.rendering,f===null)if(o)Ms(u,!1);else{if(Je!==0||e!==null&&(e.flags&128)!==0)for(e=n.child;e!==null;){if(f=Ri(e),f!==null){for(n.flags|=128,Ms(u,!1),o=f.updateQueue,o!==null&&(n.updateQueue=o,n.flags|=4),n.subtreeFlags=0,o=s,s=n.child;s!==null;)u=s,e=o,u.flags&=14680066,f=u.alternate,f===null?(u.childLanes=0,u.lanes=e,u.child=null,u.subtreeFlags=0,u.memoizedProps=null,u.memoizedState=null,u.updateQueue=null,u.dependencies=null,u.stateNode=null):(u.childLanes=f.childLanes,u.lanes=f.lanes,u.child=f.child,u.subtreeFlags=0,u.deletions=null,u.memoizedProps=f.memoizedProps,u.memoizedState=f.memoizedState,u.updateQueue=f.updateQueue,u.type=f.type,e=f.dependencies,u.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),s=s.sibling;return Le(qe,qe.current&1|2),n.child}e=e.sibling}u.tail!==null&&Ve()>Vr&&(n.flags|=128,o=!0,Ms(u,!1),n.lanes=4194304)}else{if(!o)if(e=Ri(f),e!==null){if(n.flags|=128,o=!0,s=e.updateQueue,s!==null&&(n.updateQueue=s,n.flags|=4),Ms(u,!0),u.tail===null&&u.tailMode==="hidden"&&!f.alternate&&!Be)return dn(n),null}else 2*Ve()-u.renderingStartTime>Vr&&s!==1073741824&&(n.flags|=128,o=!0,Ms(u,!1),n.lanes=4194304);u.isBackwards?(f.sibling=n.child,n.child=f):(s=u.last,s!==null?s.sibling=f:n.child=f,u.last=f)}return u.tail!==null?(n=u.tail,u.rendering=n,u.tail=n.sibling,u.renderingStartTime=Ve(),n.sibling=null,s=qe.current,Le(qe,o?s&1|2:s&1),n):(dn(n),null);case 22:case 23:return ra(),o=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==o&&(n.flags|=8192),o&&(n.mode&1)!==0?(Mn&1073741824)!==0&&(dn(n),n.subtreeFlags&6&&(n.flags|=8192)):dn(n),null;case 24:return null;case 25:return null}throw Error(l(156,n.tag))}function hh(e,n){switch(fl(n),n.tag){case 1:return yn(n.type)&&xi(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return qr(),Fe(vn),Fe(cn),Nl(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 5:return Sl(n),null;case 13:if(Fe(qe),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(l(340));Or()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return Fe(qe),null;case 4:return qr(),null;case 10:return yl(n.type._context),null;case 22:case 23:return ra(),null;case 24:return null;default:return null}}var zi=!1,fn=!1,mh=typeof WeakSet=="function"?WeakSet:Set,re=null;function Ur(e,n){var s=e.ref;if(s!==null)if(typeof s=="function")try{s(null)}catch(o){Ue(e,n,o)}else s.current=null}function Hl(e,n,s){try{s()}catch(o){Ue(e,n,o)}}var Wu=!1;function gh(e,n){if(rl=ii,e=kc(),Go(e)){if("selectionStart"in e)var s={start:e.selectionStart,end:e.selectionEnd};else e:{s=(s=e.ownerDocument)&&s.defaultView||window;var o=s.getSelection&&s.getSelection();if(o&&o.rangeCount!==0){s=o.anchorNode;var c=o.anchorOffset,u=o.focusNode;o=o.focusOffset;try{s.nodeType,u.nodeType}catch{s=null;break e}var f=0,v=-1,y=-1,E=0,B=0,U=e,z=null;n:for(;;){for(var ee;U!==s||c!==0&&U.nodeType!==3||(v=f+c),U!==u||o!==0&&U.nodeType!==3||(y=f+o),U.nodeType===3&&(f+=U.nodeValue.length),(ee=U.firstChild)!==null;)z=U,U=ee;for(;;){if(U===e)break n;if(z===s&&++E===c&&(v=f),z===u&&++B===o&&(y=f),(ee=U.nextSibling)!==null)break;U=z,z=U.parentNode}U=ee}s=v===-1||y===-1?null:{start:v,end:y}}else s=null}s=s||{start:0,end:0}}else s=null;for(sl={focusedElem:e,selectionRange:s},ii=!1,re=n;re!==null;)if(n=re,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,re=e;else for(;re!==null;){n=re;try{var oe=n.alternate;if((n.flags&1024)!==0)switch(n.tag){case 0:case 11:case 15:break;case 1:if(oe!==null){var ae=oe.memoizedProps,Ke=oe.memoizedState,C=n.stateNode,x=C.getSnapshotBeforeUpdate(n.elementType===n.type?ae:Zn(n.type,ae),Ke);C.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var _=n.stateNode.containerInfo;_.nodeType===1?_.textContent="":_.nodeType===9&&_.documentElement&&_.removeChild(_.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(l(163))}}catch(V){Ue(n,n.return,V)}if(e=n.sibling,e!==null){e.return=n.return,re=e;break}re=n.return}return oe=Wu,Wu=!1,oe}function $s(e,n,s){var o=n.updateQueue;if(o=o!==null?o.lastEffect:null,o!==null){var c=o=o.next;do{if((c.tag&e)===e){var u=c.destroy;c.destroy=void 0,u!==void 0&&Hl(n,s,u)}c=c.next}while(c!==o)}}function Fi(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var s=n=n.next;do{if((s.tag&e)===e){var o=s.create;s.destroy=o()}s=s.next}while(s!==n)}}function Vl(e){var n=e.ref;if(n!==null){var s=e.stateNode;e.tag,e=s,typeof n=="function"?n(e):n.current=e}}function Uu(e){var n=e.alternate;n!==null&&(e.alternate=null,Uu(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[at],delete n[Ss],delete n[al],delete n[Jp],delete n[Zp])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Hu(e){return e.tag===5||e.tag===3||e.tag===4}function Vu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Hu(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.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 Kl(e,n,s){var o=e.tag;if(o===5||o===6)e=e.stateNode,n?s.nodeType===8?s.parentNode.insertBefore(e,n):s.insertBefore(e,n):(s.nodeType===8?(n=s.parentNode,n.insertBefore(e,s)):(n=s,n.appendChild(e)),s=s._reactRootContainer,s!=null||n.onclick!==null||(n.onclick=vi));else if(o!==4&&(e=e.child,e!==null))for(Kl(e,n,s),e=e.sibling;e!==null;)Kl(e,n,s),e=e.sibling}function Ql(e,n,s){var o=e.tag;if(o===5||o===6)e=e.stateNode,n?s.insertBefore(e,n):s.appendChild(e);else if(o!==4&&(e=e.child,e!==null))for(Ql(e,n,s),e=e.sibling;e!==null;)Ql(e,n,s),e=e.sibling}var ln=null,et=!1;function Bt(e,n,s){for(s=s.child;s!==null;)Ku(e,n,s),s=s.sibling}function Ku(e,n,s){if(lt&&typeof lt.onCommitFiberUnmount=="function")try{lt.onCommitFiberUnmount(Zs,s)}catch{}switch(s.tag){case 5:fn||Ur(s,n);case 6:var o=ln,c=et;ln=null,Bt(e,n,s),ln=o,et=c,ln!==null&&(et?(e=ln,s=s.stateNode,e.nodeType===8?e.parentNode.removeChild(s):e.removeChild(s)):ln.removeChild(s.stateNode));break;case 18:ln!==null&&(et?(e=ln,s=s.stateNode,e.nodeType===8?ll(e.parentNode,s):e.nodeType===1&&ll(e,s),fs(e)):ll(ln,s.stateNode));break;case 4:o=ln,c=et,ln=s.stateNode.containerInfo,et=!0,Bt(e,n,s),ln=o,et=c;break;case 0:case 11:case 14:case 15:if(!fn&&(o=s.updateQueue,o!==null&&(o=o.lastEffect,o!==null))){c=o=o.next;do{var u=c,f=u.destroy;u=u.tag,f!==void 0&&((u&2)!==0||(u&4)!==0)&&Hl(s,n,f),c=c.next}while(c!==o)}Bt(e,n,s);break;case 1:if(!fn&&(Ur(s,n),o=s.stateNode,typeof o.componentWillUnmount=="function"))try{o.props=s.memoizedProps,o.state=s.memoizedState,o.componentWillUnmount()}catch(v){Ue(s,n,v)}Bt(e,n,s);break;case 21:Bt(e,n,s);break;case 22:s.mode&1?(fn=(o=fn)||s.memoizedState!==null,Bt(e,n,s),fn=o):Bt(e,n,s);break;default:Bt(e,n,s)}}function Qu(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var s=e.stateNode;s===null&&(s=e.stateNode=new mh),n.forEach(function(o){var c=Nh.bind(null,e,o);s.has(o)||(s.add(o),o.then(c,c))})}}function nt(e,n){var s=n.deletions;if(s!==null)for(var o=0;o<s.length;o++){var c=s[o];try{var u=e,f=n,v=f;e:for(;v!==null;){switch(v.tag){case 5:ln=v.stateNode,et=!1;break e;case 3:ln=v.stateNode.containerInfo,et=!0;break e;case 4:ln=v.stateNode.containerInfo,et=!0;break e}v=v.return}if(ln===null)throw Error(l(160));Ku(u,f,c),ln=null,et=!1;var y=c.alternate;y!==null&&(y.return=null),c.return=null}catch(E){Ue(c,n,E)}}if(n.subtreeFlags&12854)for(n=n.child;n!==null;)Gu(n,e),n=n.sibling}function Gu(e,n){var s=e.alternate,o=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(nt(n,e),dt(e),o&4){try{$s(3,e,e.return),Fi(3,e)}catch(ae){Ue(e,e.return,ae)}try{$s(5,e,e.return)}catch(ae){Ue(e,e.return,ae)}}break;case 1:nt(n,e),dt(e),o&512&&s!==null&&Ur(s,s.return);break;case 5:if(nt(n,e),dt(e),o&512&&s!==null&&Ur(s,s.return),e.flags&32){var c=e.stateNode;try{Dn(c,"")}catch(ae){Ue(e,e.return,ae)}}if(o&4&&(c=e.stateNode,c!=null)){var u=e.memoizedProps,f=s!==null?s.memoizedProps:u,v=e.type,y=e.updateQueue;if(e.updateQueue=null,y!==null)try{v==="input"&&u.type==="radio"&&u.name!=null&&$n(c,u),wr(v,f);var E=wr(v,u);for(f=0;f<y.length;f+=2){var B=y[f],U=y[f+1];B==="style"?rs(c,U):B==="dangerouslySetInnerHTML"?An(c,U):B==="children"?Dn(c,U):de(c,B,U,E)}switch(v){case"input":bn(c,u);break;case"textarea":Xt(c,u);break;case"select":var z=c._wrapperState.wasMultiple;c._wrapperState.wasMultiple=!!u.multiple;var ee=u.value;ee!=null?Qn(c,!!u.multiple,ee,!1):z!==!!u.multiple&&(u.defaultValue!=null?Qn(c,!!u.multiple,u.defaultValue,!0):Qn(c,!!u.multiple,u.multiple?[]:"",!1))}c[Ss]=u}catch(ae){Ue(e,e.return,ae)}}break;case 6:if(nt(n,e),dt(e),o&4){if(e.stateNode===null)throw Error(l(162));c=e.stateNode,u=e.memoizedProps;try{c.nodeValue=u}catch(ae){Ue(e,e.return,ae)}}break;case 3:if(nt(n,e),dt(e),o&4&&s!==null&&s.memoizedState.isDehydrated)try{fs(n.containerInfo)}catch(ae){Ue(e,e.return,ae)}break;case 4:nt(n,e),dt(e);break;case 13:nt(n,e),dt(e),c=e.child,c.flags&8192&&(u=c.memoizedState!==null,c.stateNode.isHidden=u,!u||c.alternate!==null&&c.alternate.memoizedState!==null||(Xl=Ve())),o&4&&Qu(e);break;case 22:if(B=s!==null&&s.memoizedState!==null,e.mode&1?(fn=(E=fn)||B,nt(n,e),fn=E):nt(n,e),dt(e),o&8192){if(E=e.memoizedState!==null,(e.stateNode.isHidden=E)&&!B&&(e.mode&1)!==0)for(re=e,B=e.child;B!==null;){for(U=re=B;re!==null;){switch(z=re,ee=z.child,z.tag){case 0:case 11:case 14:case 15:$s(4,z,z.return);break;case 1:Ur(z,z.return);var oe=z.stateNode;if(typeof oe.componentWillUnmount=="function"){o=z,s=z.return;try{n=o,oe.props=n.memoizedProps,oe.state=n.memoizedState,oe.componentWillUnmount()}catch(ae){Ue(o,s,ae)}}break;case 5:Ur(z,z.return);break;case 22:if(z.memoizedState!==null){Ju(U);continue}}ee!==null?(ee.return=z,re=ee):Ju(U)}B=B.sibling}e:for(B=null,U=e;;){if(U.tag===5){if(B===null){B=U;try{c=U.stateNode,E?(u=c.style,typeof u.setProperty=="function"?u.setProperty("display","none","important"):u.display="none"):(v=U.stateNode,y=U.memoizedProps.style,f=y!=null&&y.hasOwnProperty("display")?y.display:null,v.style.display=ts("display",f))}catch(ae){Ue(e,e.return,ae)}}}else if(U.tag===6){if(B===null)try{U.stateNode.nodeValue=E?"":U.memoizedProps}catch(ae){Ue(e,e.return,ae)}}else if((U.tag!==22&&U.tag!==23||U.memoizedState===null||U===e)&&U.child!==null){U.child.return=U,U=U.child;continue}if(U===e)break e;for(;U.sibling===null;){if(U.return===null||U.return===e)break e;B===U&&(B=null),U=U.return}B===U&&(B=null),U.sibling.return=U.return,U=U.sibling}}break;case 19:nt(n,e),dt(e),o&4&&Qu(e);break;case 21:break;default:nt(n,e),dt(e)}}function dt(e){var n=e.flags;if(n&2){try{e:{for(var s=e.return;s!==null;){if(Hu(s)){var o=s;break e}s=s.return}throw Error(l(160))}switch(o.tag){case 5:var c=o.stateNode;o.flags&32&&(Dn(c,""),o.flags&=-33);var u=Vu(e);Ql(e,u,c);break;case 3:case 4:var f=o.stateNode.containerInfo,v=Vu(e);Kl(e,v,f);break;default:throw Error(l(161))}}catch(y){Ue(e,e.return,y)}e.flags&=-3}n&4096&&(e.flags&=-4097)}function vh(e,n,s){re=e,Yu(e)}function Yu(e,n,s){for(var o=(e.mode&1)!==0;re!==null;){var c=re,u=c.child;if(c.tag===22&&o){var f=c.memoizedState!==null||zi;if(!f){var v=c.alternate,y=v!==null&&v.memoizedState!==null||fn;v=zi;var E=fn;if(zi=f,(fn=y)&&!E)for(re=c;re!==null;)f=re,y=f.child,f.tag===22&&f.memoizedState!==null?Zu(c):y!==null?(y.return=f,re=y):Zu(c);for(;u!==null;)re=u,Yu(u),u=u.sibling;re=c,zi=v,fn=E}Xu(e)}else(c.subtreeFlags&8772)!==0&&u!==null?(u.return=c,re=u):Xu(e)}}function Xu(e){for(;re!==null;){var n=re;if((n.flags&8772)!==0){var s=n.alternate;try{if((n.flags&8772)!==0)switch(n.tag){case 0:case 11:case 15:fn||Fi(5,n);break;case 1:var o=n.stateNode;if(n.flags&4&&!fn)if(s===null)o.componentDidMount();else{var c=n.elementType===n.type?s.memoizedProps:Zn(n.type,s.memoizedProps);o.componentDidUpdate(c,s.memoizedState,o.__reactInternalSnapshotBeforeUpdate)}var u=n.updateQueue;u!==null&&Jc(n,u,o);break;case 3:var f=n.updateQueue;if(f!==null){if(s=null,n.child!==null)switch(n.child.tag){case 5:s=n.child.stateNode;break;case 1:s=n.child.stateNode}Jc(n,f,s)}break;case 5:var v=n.stateNode;if(s===null&&n.flags&4){s=v;var y=n.memoizedProps;switch(n.type){case"button":case"input":case"select":case"textarea":y.autoFocus&&s.focus();break;case"img":y.src&&(s.src=y.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(n.memoizedState===null){var E=n.alternate;if(E!==null){var B=E.memoizedState;if(B!==null){var U=B.dehydrated;U!==null&&fs(U)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(l(163))}fn||n.flags&512&&Vl(n)}catch(z){Ue(n,n.return,z)}}if(n===e){re=null;break}if(s=n.sibling,s!==null){s.return=n.return,re=s;break}re=n.return}}function Ju(e){for(;re!==null;){var n=re;if(n===e){re=null;break}var s=n.sibling;if(s!==null){s.return=n.return,re=s;break}re=n.return}}function Zu(e){for(;re!==null;){var n=re;try{switch(n.tag){case 0:case 11:case 15:var s=n.return;try{Fi(4,n)}catch(y){Ue(n,s,y)}break;case 1:var o=n.stateNode;if(typeof o.componentDidMount=="function"){var c=n.return;try{o.componentDidMount()}catch(y){Ue(n,c,y)}}var u=n.return;try{Vl(n)}catch(y){Ue(n,u,y)}break;case 5:var f=n.return;try{Vl(n)}catch(y){Ue(n,f,y)}}}catch(y){Ue(n,n.return,y)}if(n===e){re=null;break}var v=n.sibling;if(v!==null){v.return=n.return,re=v;break}re=n.return}}var yh=Math.ceil,Bi=X.ReactCurrentDispatcher,Gl=X.ReactCurrentOwner,qn=X.ReactCurrentBatchConfig,Te=0,tn=null,Ge=null,an=0,Mn=0,Hr=Dt(0),Je=0,As=null,or=0,qi=0,Yl=0,Ds=null,wn=null,Xl=0,Vr=1/0,St=null,Wi=!1,Jl=null,qt=null,Ui=!1,Wt=null,Hi=0,Ls=0,Zl=null,Vi=-1,Ki=0;function mn(){return(Te&6)!==0?Ve():Vi!==-1?Vi:Vi=Ve()}function Ut(e){return(e.mode&1)===0?1:(Te&2)!==0&&an!==0?an&-an:nh.transition!==null?(Ki===0&&(Ki=Va()),Ki):(e=$e,e!==0||(e=window.event,e=e===void 0?16:nc(e.type)),e)}function tt(e,n,s,o){if(50<Ls)throw Ls=0,Zl=null,Error(l(185));ls(e,s,o),((Te&2)===0||e!==tn)&&(e===tn&&((Te&2)===0&&(qi|=s),Je===4&&Ht(e,an)),kn(e,o),s===1&&Te===0&&(n.mode&1)===0&&(Vr=Ve()+500,ki&&Ot()))}function kn(e,n){var s=e.callbackNode;np(e,n);var o=ti(e,e===tn?an:0);if(o===0)s!==null&&Wa(s),e.callbackNode=null,e.callbackPriority=0;else if(n=o&-o,e.callbackPriority!==n){if(s!=null&&Wa(s),n===1)e.tag===0?eh(nd.bind(null,e)):Fc(nd.bind(null,e)),Yp(function(){(Te&6)===0&&Ot()}),s=null;else{switch(Ka(o)){case 1:s=To;break;case 4:s=Ua;break;case 16:s=Js;break;case 536870912:s=Ha;break;default:s=Js}s=cd(s,ed.bind(null,e))}e.callbackPriority=n,e.callbackNode=s}}function ed(e,n){if(Vi=-1,Ki=0,(Te&6)!==0)throw Error(l(327));var s=e.callbackNode;if(Kr()&&e.callbackNode!==s)return null;var o=ti(e,e===tn?an:0);if(o===0)return null;if((o&30)!==0||(o&e.expiredLanes)!==0||n)n=Qi(e,o);else{n=o;var c=Te;Te|=2;var u=rd();(tn!==e||an!==n)&&(St=null,Vr=Ve()+500,ar(e,n));do try{kh();break}catch(v){td(e,v)}while(!0);vl(),Bi.current=u,Te=c,Ge!==null?n=0:(tn=null,an=0,n=Je)}if(n!==0){if(n===2&&(c=Mo(e),c!==0&&(o=c,n=ea(e,c))),n===1)throw s=As,ar(e,0),Ht(e,o),kn(e,Ve()),s;if(n===6)Ht(e,o);else{if(c=e.current.alternate,(o&30)===0&&!xh(c)&&(n=Qi(e,o),n===2&&(u=Mo(e),u!==0&&(o=u,n=ea(e,u))),n===1))throw s=As,ar(e,0),Ht(e,o),kn(e,Ve()),s;switch(e.finishedWork=c,e.finishedLanes=o,n){case 0:case 1:throw Error(l(345));case 2:cr(e,wn,St);break;case 3:if(Ht(e,o),(o&130023424)===o&&(n=Xl+500-Ve(),10<n)){if(ti(e,0)!==0)break;if(c=e.suspendedLanes,(c&o)!==o){mn(),e.pingedLanes|=e.suspendedLanes&c;break}e.timeoutHandle=ol(cr.bind(null,e,wn,St),n);break}cr(e,wn,St);break;case 4:if(Ht(e,o),(o&4194240)===o)break;for(n=e.eventTimes,c=-1;0<o;){var f=31-Yn(o);u=1<<f,f=n[f],f>c&&(c=f),o&=~u}if(o=c,o=Ve()-o,o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*yh(o/1960))-o,10<o){e.timeoutHandle=ol(cr.bind(null,e,wn,St),o);break}cr(e,wn,St);break;case 5:cr(e,wn,St);break;default:throw Error(l(329))}}}return kn(e,Ve()),e.callbackNode===s?ed.bind(null,e):null}function ea(e,n){var s=Ds;return e.current.memoizedState.isDehydrated&&(ar(e,n).flags|=256),e=Qi(e,n),e!==2&&(n=wn,wn=s,n!==null&&na(n)),e}function na(e){wn===null?wn=e:wn.push.apply(wn,e)}function xh(e){for(var n=e;;){if(n.flags&16384){var s=n.updateQueue;if(s!==null&&(s=s.stores,s!==null))for(var o=0;o<s.length;o++){var c=s[o],u=c.getSnapshot;c=c.value;try{if(!Xn(u(),c))return!1}catch{return!1}}}if(s=n.child,n.subtreeFlags&16384&&s!==null)s.return=n,n=s;else{if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function Ht(e,n){for(n&=~Yl,n&=~qi,e.suspendedLanes|=n,e.pingedLanes&=~n,e=e.expirationTimes;0<n;){var s=31-Yn(n),o=1<<s;e[s]=-1,n&=~o}}function nd(e){if((Te&6)!==0)throw Error(l(327));Kr();var n=ti(e,0);if((n&1)===0)return kn(e,Ve()),null;var s=Qi(e,n);if(e.tag!==0&&s===2){var o=Mo(e);o!==0&&(n=o,s=ea(e,o))}if(s===1)throw s=As,ar(e,0),Ht(e,n),kn(e,Ve()),s;if(s===6)throw Error(l(345));return e.finishedWork=e.current.alternate,e.finishedLanes=n,cr(e,wn,St),kn(e,Ve()),null}function ta(e,n){var s=Te;Te|=1;try{return e(n)}finally{Te=s,Te===0&&(Vr=Ve()+500,ki&&Ot())}}function lr(e){Wt!==null&&Wt.tag===0&&(Te&6)===0&&Kr();var n=Te;Te|=1;var s=qn.transition,o=$e;try{if(qn.transition=null,$e=1,e)return e()}finally{$e=o,qn.transition=s,Te=n,(Te&6)===0&&Ot()}}function ra(){Mn=Hr.current,Fe(Hr)}function ar(e,n){e.finishedWork=null,e.finishedLanes=0;var s=e.timeoutHandle;if(s!==-1&&(e.timeoutHandle=-1,Gp(s)),Ge!==null)for(s=Ge.return;s!==null;){var o=s;switch(fl(o),o.tag){case 1:o=o.type.childContextTypes,o!=null&&xi();break;case 3:qr(),Fe(vn),Fe(cn),Nl();break;case 5:Sl(o);break;case 4:qr();break;case 13:Fe(qe);break;case 19:Fe(qe);break;case 10:yl(o.type._context);break;case 22:case 23:ra()}s=s.return}if(tn=e,Ge=e=Vt(e.current,null),an=Mn=n,Je=0,As=null,Yl=qi=or=0,wn=Ds=null,rr!==null){for(n=0;n<rr.length;n++)if(s=rr[n],o=s.interleaved,o!==null){s.interleaved=null;var c=o.next,u=s.pending;if(u!==null){var f=u.next;u.next=c,o.next=f}s.pending=o}rr=null}return e}function td(e,n){do{var s=Ge;try{if(vl(),Pi.current=Ai,Ti){for(var o=We.memoizedState;o!==null;){var c=o.queue;c!==null&&(c.pending=null),o=o.next}Ti=!1}if(ir=0,nn=Xe=We=null,Es=!1,Rs=0,Gl.current=null,s===null||s.return===null){Je=1,As=n,Ge=null;break}e:{var u=e,f=s.return,v=s,y=n;if(n=an,v.flags|=32768,y!==null&&typeof y=="object"&&typeof y.then=="function"){var E=y,B=v,U=B.tag;if((B.mode&1)===0&&(U===0||U===11||U===15)){var z=B.alternate;z?(B.updateQueue=z.updateQueue,B.memoizedState=z.memoizedState,B.lanes=z.lanes):(B.updateQueue=null,B.memoizedState=null)}var ee=Iu(f);if(ee!==null){ee.flags&=-257,bu(ee,f,v,u,n),ee.mode&1&&_u(u,E,n),n=ee,y=E;var oe=n.updateQueue;if(oe===null){var ae=new Set;ae.add(y),n.updateQueue=ae}else oe.add(y);break e}else{if((n&1)===0){_u(u,E,n),sa();break e}y=Error(l(426))}}else if(Be&&v.mode&1){var Ke=Iu(f);if(Ke!==null){(Ke.flags&65536)===0&&(Ke.flags|=256),bu(Ke,f,v,u,n),ml(Wr(y,v));break e}}u=y=Wr(y,v),Je!==4&&(Je=2),Ds===null?Ds=[u]:Ds.push(u),u=f;do{switch(u.tag){case 3:u.flags|=65536,n&=-n,u.lanes|=n;var C=Cu(u,y,n);Xc(u,C);break e;case 1:v=y;var x=u.type,_=u.stateNode;if((u.flags&128)===0&&(typeof x.getDerivedStateFromError=="function"||_!==null&&typeof _.componentDidCatch=="function"&&(qt===null||!qt.has(_)))){u.flags|=65536,n&=-n,u.lanes|=n;var V=Nu(u,v,n);Xc(u,V);break e}}u=u.return}while(u!==null)}id(s)}catch(ce){n=ce,Ge===s&&s!==null&&(Ge=s=s.return);continue}break}while(!0)}function rd(){var e=Bi.current;return Bi.current=Ai,e===null?Ai:e}function sa(){(Je===0||Je===3||Je===2)&&(Je=4),tn===null||(or&268435455)===0&&(qi&268435455)===0||Ht(tn,an)}function Qi(e,n){var s=Te;Te|=2;var o=rd();(tn!==e||an!==n)&&(St=null,ar(e,n));do try{wh();break}catch(c){td(e,c)}while(!0);if(vl(),Te=s,Bi.current=o,Ge!==null)throw Error(l(261));return tn=null,an=0,Je}function wh(){for(;Ge!==null;)sd(Ge)}function kh(){for(;Ge!==null&&!Vf();)sd(Ge)}function sd(e){var n=ad(e.alternate,e,Mn);e.memoizedProps=e.pendingProps,n===null?id(e):Ge=n,Gl.current=null}function id(e){var n=e;do{var s=n.alternate;if(e=n.return,(n.flags&32768)===0){if(s=ph(s,n,Mn),s!==null){Ge=s;return}}else{if(s=hh(s,n),s!==null){s.flags&=32767,Ge=s;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Je=6,Ge=null;return}}if(n=n.sibling,n!==null){Ge=n;return}Ge=n=e}while(n!==null);Je===0&&(Je=5)}function cr(e,n,s){var o=$e,c=qn.transition;try{qn.transition=null,$e=1,jh(e,n,s,o)}finally{qn.transition=c,$e=o}return null}function jh(e,n,s,o){do Kr();while(Wt!==null);if((Te&6)!==0)throw Error(l(327));s=e.finishedWork;var c=e.finishedLanes;if(s===null)return null;if(e.finishedWork=null,e.finishedLanes=0,s===e.current)throw Error(l(177));e.callbackNode=null,e.callbackPriority=0;var u=s.lanes|s.childLanes;if(tp(e,u),e===tn&&(Ge=tn=null,an=0),(s.subtreeFlags&2064)===0&&(s.flags&2064)===0||Ui||(Ui=!0,cd(Js,function(){return Kr(),null})),u=(s.flags&15990)!==0,(s.subtreeFlags&15990)!==0||u){u=qn.transition,qn.transition=null;var f=$e;$e=1;var v=Te;Te|=4,Gl.current=null,gh(e,s),Gu(s,e),qp(sl),ii=!!rl,sl=rl=null,e.current=s,vh(s),Kf(),Te=v,$e=f,qn.transition=u}else e.current=s;if(Ui&&(Ui=!1,Wt=e,Hi=c),u=e.pendingLanes,u===0&&(qt=null),Yf(s.stateNode),kn(e,Ve()),n!==null)for(o=e.onRecoverableError,s=0;s<n.length;s++)c=n[s],o(c.value,{componentStack:c.stack,digest:c.digest});if(Wi)throw Wi=!1,e=Jl,Jl=null,e;return(Hi&1)!==0&&e.tag!==0&&Kr(),u=e.pendingLanes,(u&1)!==0?e===Zl?Ls++:(Ls=0,Zl=e):Ls=0,Ot(),null}function Kr(){if(Wt!==null){var e=Ka(Hi),n=qn.transition,s=$e;try{if(qn.transition=null,$e=16>e?16:e,Wt===null)var o=!1;else{if(e=Wt,Wt=null,Hi=0,(Te&6)!==0)throw Error(l(331));var c=Te;for(Te|=4,re=e.current;re!==null;){var u=re,f=u.child;if((re.flags&16)!==0){var v=u.deletions;if(v!==null){for(var y=0;y<v.length;y++){var E=v[y];for(re=E;re!==null;){var B=re;switch(B.tag){case 0:case 11:case 15:$s(8,B,u)}var U=B.child;if(U!==null)U.return=B,re=U;else for(;re!==null;){B=re;var z=B.sibling,ee=B.return;if(Uu(B),B===E){re=null;break}if(z!==null){z.return=ee,re=z;break}re=ee}}}var oe=u.alternate;if(oe!==null){var ae=oe.child;if(ae!==null){oe.child=null;do{var Ke=ae.sibling;ae.sibling=null,ae=Ke}while(ae!==null)}}re=u}}if((u.subtreeFlags&2064)!==0&&f!==null)f.return=u,re=f;else e:for(;re!==null;){if(u=re,(u.flags&2048)!==0)switch(u.tag){case 0:case 11:case 15:$s(9,u,u.return)}var C=u.sibling;if(C!==null){C.return=u.return,re=C;break e}re=u.return}}var x=e.current;for(re=x;re!==null;){f=re;var _=f.child;if((f.subtreeFlags&2064)!==0&&_!==null)_.return=f,re=_;else e:for(f=x;re!==null;){if(v=re,(v.flags&2048)!==0)try{switch(v.tag){case 0:case 11:case 15:Fi(9,v)}}catch(ce){Ue(v,v.return,ce)}if(v===f){re=null;break e}var V=v.sibling;if(V!==null){V.return=v.return,re=V;break e}re=v.return}}if(Te=c,Ot(),lt&&typeof lt.onPostCommitFiberRoot=="function")try{lt.onPostCommitFiberRoot(Zs,e)}catch{}o=!0}return o}finally{$e=s,qn.transition=n}}return!1}function od(e,n,s){n=Wr(s,n),n=Cu(e,n,1),e=Ft(e,n,1),n=mn(),e!==null&&(ls(e,1,n),kn(e,n))}function Ue(e,n,s){if(e.tag===3)od(e,e,s);else for(;n!==null;){if(n.tag===3){od(n,e,s);break}else if(n.tag===1){var o=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(qt===null||!qt.has(o))){e=Wr(s,e),e=Nu(n,e,1),n=Ft(n,e,1),e=mn(),n!==null&&(ls(n,1,e),kn(n,e));break}}n=n.return}}function Sh(e,n,s){var o=e.pingCache;o!==null&&o.delete(n),n=mn(),e.pingedLanes|=e.suspendedLanes&s,tn===e&&(an&s)===s&&(Je===4||Je===3&&(an&130023424)===an&&500>Ve()-Xl?ar(e,0):Yl|=s),kn(e,n)}function ld(e,n){n===0&&((e.mode&1)===0?n=1:(n=ni,ni<<=1,(ni&130023424)===0&&(ni=4194304)));var s=mn();e=wt(e,n),e!==null&&(ls(e,n,s),kn(e,s))}function Ch(e){var n=e.memoizedState,s=0;n!==null&&(s=n.retryLane),ld(e,s)}function Nh(e,n){var s=0;switch(e.tag){case 13:var o=e.stateNode,c=e.memoizedState;c!==null&&(s=c.retryLane);break;case 19:o=e.stateNode;break;default:throw Error(l(314))}o!==null&&o.delete(n),ld(e,s)}var ad;ad=function(e,n,s){if(e!==null)if(e.memoizedProps!==n.pendingProps||vn.current)xn=!0;else{if((e.lanes&s)===0&&(n.flags&128)===0)return xn=!1,fh(e,n,s);xn=(e.flags&131072)!==0}else xn=!1,Be&&(n.flags&1048576)!==0&&Bc(n,Si,n.index);switch(n.lanes=0,n.tag){case 2:var o=n.type;Oi(e,n),e=n.pendingProps;var c=Ar(n,cn.current);Br(n,s),c=bl(null,n,o,e,c,s);var u=El();return n.flags|=1,typeof c=="object"&&c!==null&&typeof c.render=="function"&&c.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,yn(o)?(u=!0,wi(n)):u=!1,n.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,kl(n),c.updater=Di,n.stateNode=c,c._reactInternals=n,Al(n,o,e,s),n=zl(null,n,o,!0,u,s)):(n.tag=0,Be&&u&&dl(n),hn(null,n,c,s),n=n.child),n;case 16:o=n.elementType;e:{switch(Oi(e,n),e=n.pendingProps,c=o._init,o=c(o._payload),n.type=o,c=n.tag=Ih(o),e=Zn(o,e),c){case 0:n=Ol(null,n,o,e,s);break e;case 1:n=$u(null,n,o,e,s);break e;case 11:n=Eu(null,n,o,e,s);break e;case 14:n=Ru(null,n,o,Zn(o.type,e),s);break e}throw Error(l(306,o,""))}return n;case 0:return o=n.type,c=n.pendingProps,c=n.elementType===o?c:Zn(o,c),Ol(e,n,o,c,s);case 1:return o=n.type,c=n.pendingProps,c=n.elementType===o?c:Zn(o,c),$u(e,n,o,c,s);case 3:e:{if(Au(n),e===null)throw Error(l(387));o=n.pendingProps,u=n.memoizedState,c=u.element,Yc(e,n),Ei(n,o,null,s);var f=n.memoizedState;if(o=f.element,u.isDehydrated)if(u={element:o,isDehydrated:!1,cache:f.cache,pendingSuspenseBoundaries:f.pendingSuspenseBoundaries,transitions:f.transitions},n.updateQueue.baseState=u,n.memoizedState=u,n.flags&256){c=Wr(Error(l(423)),n),n=Du(e,n,o,s,c);break e}else if(o!==c){c=Wr(Error(l(424)),n),n=Du(e,n,o,s,c);break e}else for(Tn=At(n.stateNode.containerInfo.firstChild),Pn=n,Be=!0,Jn=null,s=Qc(n,null,o,s),n.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(Or(),o===c){n=jt(e,n,s);break e}hn(e,n,o,s)}n=n.child}return n;case 5:return Zc(n),e===null&&hl(n),o=n.type,c=n.pendingProps,u=e!==null?e.memoizedProps:null,f=c.children,il(o,c)?f=null:u!==null&&il(o,u)&&(n.flags|=32),Mu(e,n),hn(e,n,f,s),n.child;case 6:return e===null&&hl(n),null;case 13:return Lu(e,n,s);case 4:return jl(n,n.stateNode.containerInfo),o=n.pendingProps,e===null?n.child=zr(n,null,o,s):hn(e,n,o,s),n.child;case 11:return o=n.type,c=n.pendingProps,c=n.elementType===o?c:Zn(o,c),Eu(e,n,o,c,s);case 7:return hn(e,n,n.pendingProps,s),n.child;case 8:return hn(e,n,n.pendingProps.children,s),n.child;case 12:return hn(e,n,n.pendingProps.children,s),n.child;case 10:e:{if(o=n.type._context,c=n.pendingProps,u=n.memoizedProps,f=c.value,Le(_i,o._currentValue),o._currentValue=f,u!==null)if(Xn(u.value,f)){if(u.children===c.children&&!vn.current){n=jt(e,n,s);break e}}else for(u=n.child,u!==null&&(u.return=n);u!==null;){var v=u.dependencies;if(v!==null){f=u.child;for(var y=v.firstContext;y!==null;){if(y.context===o){if(u.tag===1){y=kt(-1,s&-s),y.tag=2;var E=u.updateQueue;if(E!==null){E=E.shared;var B=E.pending;B===null?y.next=y:(y.next=B.next,B.next=y),E.pending=y}}u.lanes|=s,y=u.alternate,y!==null&&(y.lanes|=s),xl(u.return,s,n),v.lanes|=s;break}y=y.next}}else if(u.tag===10)f=u.type===n.type?null:u.child;else if(u.tag===18){if(f=u.return,f===null)throw Error(l(341));f.lanes|=s,v=f.alternate,v!==null&&(v.lanes|=s),xl(f,s,n),f=u.sibling}else f=u.child;if(f!==null)f.return=u;else for(f=u;f!==null;){if(f===n){f=null;break}if(u=f.sibling,u!==null){u.return=f.return,f=u;break}f=f.return}u=f}hn(e,n,c.children,s),n=n.child}return n;case 9:return c=n.type,o=n.pendingProps.children,Br(n,s),c=Fn(c),o=o(c),n.flags|=1,hn(e,n,o,s),n.child;case 14:return o=n.type,c=Zn(o,n.pendingProps),c=Zn(o.type,c),Ru(e,n,o,c,s);case 15:return Pu(e,n,n.type,n.pendingProps,s);case 17:return o=n.type,c=n.pendingProps,c=n.elementType===o?c:Zn(o,c),Oi(e,n),n.tag=1,yn(o)?(e=!0,wi(n)):e=!1,Br(n,s),ju(n,o,c),Al(n,o,c,s),zl(null,n,o,!0,e,s);case 19:return zu(e,n,s);case 22:return Tu(e,n,s)}throw Error(l(156,n.tag))};function cd(e,n){return qa(e,n)}function _h(e,n,s,o){this.tag=e,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Wn(e,n,s,o){return new _h(e,n,s,o)}function ia(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ih(e){if(typeof e=="function")return ia(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Re)return 11;if(e===Q)return 14}return 2}function Vt(e,n){var s=e.alternate;return s===null?(s=Wn(e.tag,n,e.key,e.mode),s.elementType=e.elementType,s.type=e.type,s.stateNode=e.stateNode,s.alternate=e,e.alternate=s):(s.pendingProps=n,s.type=e.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=e.flags&14680064,s.childLanes=e.childLanes,s.lanes=e.lanes,s.child=e.child,s.memoizedProps=e.memoizedProps,s.memoizedState=e.memoizedState,s.updateQueue=e.updateQueue,n=e.dependencies,s.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},s.sibling=e.sibling,s.index=e.index,s.ref=e.ref,s}function Gi(e,n,s,o,c,u){var f=2;if(o=e,typeof e=="function")ia(e)&&(f=1);else if(typeof e=="string")f=5;else e:switch(e){case R:return ur(s.children,c,u,n);case ne:f=8,c|=8;break;case J:return e=Wn(12,s,n,c|2),e.elementType=J,e.lanes=u,e;case W:return e=Wn(13,s,n,c),e.elementType=W,e.lanes=u,e;case we:return e=Wn(19,s,n,c),e.elementType=we,e.lanes=u,e;case ve:return Yi(s,c,u,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case je:f=10;break e;case Ne:f=9;break e;case Re:f=11;break e;case Q:f=14;break e;case me:f=16,o=null;break e}throw Error(l(130,e==null?e:typeof e,""))}return n=Wn(f,s,n,c),n.elementType=e,n.type=o,n.lanes=u,n}function ur(e,n,s,o){return e=Wn(7,e,o,n),e.lanes=s,e}function Yi(e,n,s,o){return e=Wn(22,e,o,n),e.elementType=ve,e.lanes=s,e.stateNode={isHidden:!1},e}function oa(e,n,s){return e=Wn(6,e,null,n),e.lanes=s,e}function la(e,n,s){return n=Wn(4,e.children!==null?e.children:[],e.key,n),n.lanes=s,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function bh(e,n,s,o,c){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=$o(0),this.expirationTimes=$o(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=$o(0),this.identifierPrefix=o,this.onRecoverableError=c,this.mutableSourceEagerHydrationData=null}function aa(e,n,s,o,c,u,f,v,y){return e=new bh(e,n,s,v,y),n===1?(n=1,u===!0&&(n|=8)):n=0,u=Wn(3,null,null,n),e.current=u,u.stateNode=e,u.memoizedState={element:o,isDehydrated:s,cache:null,transitions:null,pendingSuspenseBoundaries:null},kl(u),e}function Eh(e,n,s){var o=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:I,key:o==null?null:""+o,children:e,containerInfo:n,implementation:s}}function ud(e){if(!e)return Lt;e=e._reactInternals;e:{if(Jt(e)!==e||e.tag!==1)throw Error(l(170));var n=e;do{switch(n.tag){case 3:n=n.stateNode.context;break e;case 1:if(yn(n.type)){n=n.stateNode.__reactInternalMemoizedMergedChildContext;break e}}n=n.return}while(n!==null);throw Error(l(171))}if(e.tag===1){var s=e.type;if(yn(s))return Oc(e,s,n)}return n}function dd(e,n,s,o,c,u,f,v,y){return e=aa(s,o,!0,e,c,u,f,v,y),e.context=ud(null),s=e.current,o=mn(),c=Ut(s),u=kt(o,c),u.callback=n??null,Ft(s,u,c),e.current.lanes=c,ls(e,c,o),kn(e,o),e}function Xi(e,n,s,o){var c=n.current,u=mn(),f=Ut(c);return s=ud(s),n.context===null?n.context=s:n.pendingContext=s,n=kt(u,f),n.payload={element:e},o=o===void 0?null:o,o!==null&&(n.callback=o),e=Ft(c,n,f),e!==null&&(tt(e,c,f,u),bi(e,c,f)),f}function Ji(e){return e=e.current,e.child?(e.child.tag===5,e.child.stateNode):null}function fd(e,n){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var s=e.retryLane;e.retryLane=s!==0&&s<n?s:n}}function ca(e,n){fd(e,n),(e=e.alternate)&&fd(e,n)}function Rh(){return null}var pd=typeof reportError=="function"?reportError:function(e){console.error(e)};function ua(e){this._internalRoot=e}Zi.prototype.render=ua.prototype.render=function(e){var n=this._internalRoot;if(n===null)throw Error(l(409));Xi(e,n,null,null)},Zi.prototype.unmount=ua.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var n=e.containerInfo;lr(function(){Xi(null,e,null,null)}),n[gt]=null}};function Zi(e){this._internalRoot=e}Zi.prototype.unstable_scheduleHydration=function(e){if(e){var n=Ya();e={blockedOn:null,target:e,priority:n};for(var s=0;s<Tt.length&&n!==0&&n<Tt[s].priority;s++);Tt.splice(s,0,e),s===0&&Za(e)}};function da(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function eo(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function hd(){}function Ph(e,n,s,o,c){if(c){if(typeof o=="function"){var u=o;o=function(){var E=Ji(f);u.call(E)}}var f=dd(n,o,e,0,null,!1,!1,"",hd);return e._reactRootContainer=f,e[gt]=f.current,ks(e.nodeType===8?e.parentNode:e),lr(),f}for(;c=e.lastChild;)e.removeChild(c);if(typeof o=="function"){var v=o;o=function(){var E=Ji(y);v.call(E)}}var y=aa(e,0,!1,null,null,!1,!1,"",hd);return e._reactRootContainer=y,e[gt]=y.current,ks(e.nodeType===8?e.parentNode:e),lr(function(){Xi(n,y,s,o)}),y}function no(e,n,s,o,c){var u=s._reactRootContainer;if(u){var f=u;if(typeof c=="function"){var v=c;c=function(){var y=Ji(f);v.call(y)}}Xi(n,f,e,c)}else f=Ph(s,n,e,c,o);return Ji(f)}Qa=function(e){switch(e.tag){case 3:var n=e.stateNode;if(n.current.memoizedState.isDehydrated){var s=os(n.pendingLanes);s!==0&&(Ao(n,s|1),kn(n,Ve()),(Te&6)===0&&(Vr=Ve()+500,Ot()))}break;case 13:lr(function(){var o=wt(e,1);if(o!==null){var c=mn();tt(o,e,1,c)}}),ca(e,1)}},Do=function(e){if(e.tag===13){var n=wt(e,134217728);if(n!==null){var s=mn();tt(n,e,134217728,s)}ca(e,134217728)}},Ga=function(e){if(e.tag===13){var n=Ut(e),s=wt(e,n);if(s!==null){var o=mn();tt(s,e,n,o)}ca(e,n)}},Ya=function(){return $e},Xa=function(e,n){var s=$e;try{return $e=e,n()}finally{$e=s}},Sr=function(e,n,s){switch(n){case"input":if(bn(e,s),n=s.name,s.type==="radio"&&n!=null){for(s=e;s.parentNode;)s=s.parentNode;for(s=s.querySelectorAll("input[name="+JSON.stringify(""+n)+'][type="radio"]'),n=0;n<s.length;n++){var o=s[n];if(o!==e&&o.form===e.form){var c=yi(o);if(!c)throw Error(l(90));sn(o),bn(o,c)}}}break;case"textarea":Xt(e,s);break;case"select":n=s.value,n!=null&&Qn(e,!!s.multiple,n,!1)}},j=ta,S=lr;var Th={usingClientEntryPoint:!1,Events:[Cs,Mr,yi,is,Qs,ta]},Os={findFiberByHostInstance:Zt,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Mh={bundleType:Os.bundleType,version:Os.version,rendererPackageName:Os.rendererPackageName,rendererConfig:Os.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:X.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Fa(e),e===null?null:e.stateNode},findFiberByHostInstance:Os.findFiberByHostInstance||Rh,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var to=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!to.isDisabled&&to.supportsFiber)try{Zs=to.inject(Mh),lt=to}catch{}}return jn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Th,jn.createPortal=function(e,n){var s=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!da(n))throw Error(l(200));return Eh(e,n,null,s)},jn.createRoot=function(e,n){if(!da(e))throw Error(l(299));var s=!1,o="",c=pd;return n!=null&&(n.unstable_strictMode===!0&&(s=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onRecoverableError!==void 0&&(c=n.onRecoverableError)),n=aa(e,1,!1,null,null,s,!1,o,c),e[gt]=n.current,ks(e.nodeType===8?e.parentNode:e),new ua(n)},jn.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var n=e._reactInternals;if(n===void 0)throw typeof e.render=="function"?Error(l(188)):(e=Object.keys(e).join(","),Error(l(268,e)));return e=Fa(n),e=e===null?null:e.stateNode,e},jn.flushSync=function(e){return lr(e)},jn.hydrate=function(e,n,s){if(!eo(n))throw Error(l(200));return no(null,e,n,!0,s)},jn.hydrateRoot=function(e,n,s){if(!da(e))throw Error(l(405));var o=s!=null&&s.hydratedSources||null,c=!1,u="",f=pd;if(s!=null&&(s.unstable_strictMode===!0&&(c=!0),s.identifierPrefix!==void 0&&(u=s.identifierPrefix),s.onRecoverableError!==void 0&&(f=s.onRecoverableError)),n=dd(n,null,e,1,s??null,c,!1,u,f),e[gt]=n.current,ks(e),o)for(e=0;e<o.length;e++)s=o[e],c=s._getVersion,c=c(s._source),n.mutableSourceEagerHydrationData==null?n.mutableSourceEagerHydrationData=[s,c]:n.mutableSourceEagerHydrationData.push(s,c);return new Zi(n)},jn.render=function(e,n,s){if(!eo(n))throw Error(l(200));return no(null,e,n,!1,s)},jn.unmountComponentAtNode=function(e){if(!eo(e))throw Error(l(40));return e._reactRootContainer?(lr(function(){no(null,null,e,!1,function(){e._reactRootContainer=null,e[gt]=null})}),!0):!1},jn.unstable_batchedUpdates=ta,jn.unstable_renderSubtreeIntoContainer=function(e,n,s,o){if(!eo(s))throw Error(l(200));if(e==null||e._reactInternals===void 0)throw Error(l(38));return no(e,n,s,!1,o)},jn.version="18.3.1-next-f1338f8080-20240426",jn}var jd;function Uh(){if(jd)return ha.exports;jd=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(r){console.error(r)}}return t(),ha.exports=Wh(),ha.exports}var Sd;function Hh(){if(Sd)return ro;Sd=1;var t=Uh();return ro.createRoot=t.createRoot,ro.hydrateRoot=t.hydrateRoot,ro}var Vh=Hh();const Kh=hf(Vh),mf={boot:"loading",bootstrap:null,connection:"connecting",connectionAttempt:0,lastCursor:0,lastEventId:null,contextRevision:"",workspaceId:"",workspace:"",workspaces:[],sessions:[],workspaceSessions:{},archivedSessions:{status:"idle",items:[],nextCursor:null,ownerWorkspaceId:""},workspaceProjectSummaries:{},workspaceResourceEpochs:{},workspaceNextCursor:null,sessionNextCursor:null,activeSessionId:null,sessionSync:{},clientTelemetry:{sessionSwitches:0,snapshotCacheHits:0,snapshotLoads:0,snapshotFailures:0},sessionProjectionById:{},sessionRuntimeById:{},transcript:[],tools:[],edits:[],subtasks:[],research:[],permission:null,processing:!1,statusMessage:"正在连接本地 Web Host…",mode:{baseMode:"interactive",pendingBaseMode:null},effort:null,queue:{items:[],limit:16},goal:null,goalEvidence:[],goalActivity:[],diagnostics:null,settings:null,settingsMirror:{status:"idle",document:null,lastGood:null,stale:!1,error:null,generation:0},sessionSnapshot:null,composer:null,modelCatalog:null,plan:null,skills:[],mcpServers:[],toolDetails:[],skillNextCursor:null,mcpNextCursor:null,toolDetailNextCursor:null,loopStats:null,traces:[],pendingAction:null,notice:null,announcement:""},Cd=Object.freeze({status:"idle",requestId:null});function jo(t){return t.activeSessionId?t.sessionSync[t.activeSessionId]??Cd:Cd}function vr(t){return!!(t.activeSessionId&&t.sessionSnapshot?.session.id===t.activeSessionId&&jo(t).status==="ready")}function K({name:t,size:r=18,...l}){return i.jsx("svg",{"aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24",width:r,height:r,fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",...l,children:Qh[t]})}const Qh={activity:i.jsx("path",{d:"M3 12h4l2.2-6 4.2 12 2.2-6H21"}),add:i.jsx("path",{d:"M12 5v14M5 12h14"}),"arrow-up":i.jsx("path",{d:"m6 11 6-6 6 6M12 5v14"}),branch:i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"6",cy:"5",r:"2"}),i.jsx("circle",{cx:"18",cy:"7",r:"2"}),i.jsx("circle",{cx:"6",cy:"19",r:"2"}),i.jsx("path",{d:"M6 7v10M8 12h4a6 6 0 0 0 6-3"})]}),check:i.jsx("path",{d:"m5 12 4 4L19 6"}),chevron:i.jsx("path",{d:"m9 7 5 5-5 5"}),close:i.jsx("path",{d:"m6 6 12 12M18 6 6 18"}),code:i.jsx("path",{d:"m8 9-4 3 4 3M16 9l4 3-4 3M14 5l-4 14"}),copy:i.jsxs(i.Fragment,{children:[i.jsx("rect",{x:"8",y:"8",width:"11",height:"11",rx:"2"}),i.jsx("path",{d:"M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2"})]}),diagnostics:i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M4 19V9M10 19V5M16 19v-7M22 19V3"}),i.jsx("path",{d:"M2 19h21"})]}),edit:i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M12 20h9"}),i.jsx("path",{d:"M16.5 3.5a2.1 2.1 0 0 1 3 3L8 18l-4 1 1-4Z"})]}),goal:i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"12",cy:"12",r:"8"}),i.jsx("circle",{cx:"12",cy:"12",r:"3"}),i.jsx("path",{d:"m15 9 5-5M17 4h3v3"})]}),info:i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"12",cy:"12",r:"9"}),i.jsx("path",{d:"M12 11v5M12 8h.01"})]}),keyboard:i.jsxs(i.Fragment,{children:[i.jsx("rect",{x:"2",y:"6",width:"20",height:"12",rx:"2"}),i.jsx("path",{d:"M6 10h.01M10 10h.01M14 10h.01M18 10h.01M6 14h.01M18 14h.01M9.5 14.5h5"})]}),menu:i.jsx("path",{d:"M4 7h16M4 12h16M4 17h16"}),monitor:i.jsxs(i.Fragment,{children:[i.jsx("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2"}),i.jsx("path",{d:"M8 21h8M12 17v4"})]}),moon:i.jsx("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"}),more:i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"5",cy:"12",r:"1",fill:"currentColor",stroke:"none"}),i.jsx("circle",{cx:"12",cy:"12",r:"1",fill:"currentColor",stroke:"none"}),i.jsx("circle",{cx:"19",cy:"12",r:"1",fill:"currentColor",stroke:"none"})]}),pause:i.jsx("path",{d:"M9 5v14M15 5v14"}),refresh:i.jsx("path",{d:"M20 7v5h-5M4 17v-5h5M6.1 9A7 7 0 0 1 18 6l2 6M17.9 15A7 7 0 0 1 6 18l-2-6"}),search:i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"11",cy:"11",r:"7"}),i.jsx("path",{d:"m20 20-4-4"})]}),settings:i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"12",cy:"12",r:"3"}),i.jsx("path",{d:"M19.4 15a1.7 1.7 0 0 0 .3 1.9l.1.1-2.8 2.8-.1-.1a1.7 1.7 0 0 0-1.9-.3 1.7 1.7 0 0 0-1 1.6v.2h-4V21a1.7 1.7 0 0 0-1-1.6 1.7 1.7 0 0 0-1.9.3l-.1.1L4.2 17l.1-.1a1.7 1.7 0 0 0 .3-1.9A1.7 1.7 0 0 0 3 14H2.8v-4H3a1.7 1.7 0 0 0 1.6-1 1.7 1.7 0 0 0-.3-1.9L4.2 7 7 4.2l.1.1A1.7 1.7 0 0 0 9 4.6a1.7 1.7 0 0 0 1-1.6v-.2h4V3a1.7 1.7 0 0 0 1 1.6 1.7 1.7 0 0 0 1.9-.3l.1-.1L19.8 7l-.1.1a1.7 1.7 0 0 0-.3 1.9 1.7 1.7 0 0 0 1.6 1h.2v4H21a1.7 1.7 0 0 0-1.6 1Z"})]}),sidebar:i.jsxs(i.Fragment,{children:[i.jsx("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),i.jsx("path",{d:"M9 4v16"})]}),spark:i.jsx("path",{d:"m12 3 1.5 5.5L19 10l-5.5 1.5L12 17l-1.5-5.5L5 10l5.5-1.5ZM19 16l.7 2.3L22 19l-2.3.7L19 22l-.7-2.3L16 19l2.3-.7Z"}),stop:i.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"}),sun:i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"12",cy:"12",r:"4"}),i.jsx("path",{d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"})]}),terminal:i.jsx("path",{d:"m5 7 4 4-4 4M11 16h8"}),trash:i.jsx(i.Fragment,{children:i.jsx("path",{d:"M4 7h16M9 7V4h6v3M7 7l1 13h8l1-13M10 11v5M14 11v5"})}),warning:i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M12 3 2.5 20h19Z"}),i.jsx("path",{d:"M12 9v4M12 17h.01"})]}),workspace:i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M3 7h7l2 2h9v10H3Z"}),i.jsx("path",{d:"M3 7V5h7l2 2"})]})};function Hs({children:t,className:r=""}){return i.jsx("div",{className:`markdown ${r}`.trim(),children:gf(t)})}function gf(t){const r=t.replace(/\r\n?/g,`
10
10
  `).split(`
11
11
  `),l=[];let a=0;for(;a<r.length;){const d=r[a];if(!d.trim()){a+=1;continue}const p=d.match(/^\s*```([^`]*)$/);if(p){const T=[];for(a+=1;a<r.length&&!/^\s*```\s*$/.test(r[a]);)T.push(r[a]),a+=1;a<r.length&&(a+=1),l.push(i.jsx(em,{language:p[1].trim(),content:T.join(`
12
12
  `)},`code-${a}`));continue}const h=d.match(/^(#{1,6})\s+(.+)$/);if(h){const T=Math.min(6,h[1].length);l.push(Zh(T,Ws(h[2],`heading-${a}`),`heading-${a}`)),a+=1;continue}if(/^\s*>\s?/.test(d)){const T=[];for(;a<r.length&&/^\s*>\s?/.test(r[a]);)T.push(r[a].replace(/^\s*>\s?/,"")),a+=1;l.push(i.jsx("blockquote",{children:gf(T.join(`
13
13
  `))},`quote-${a}`));continue}if(d.match(/^\s*(?:[-*+] |\d+[.)] )(.+)$/)){const T=/^\s*\d/.test(d),N=[],$=T?/^\s*\d+[.)]\s+(.+)$/:/^\s*[-*+]\s+(.+)$/;for(;a<r.length;){const q=r[a].match($);if(!q)break;N.push(q[1]),a+=1}const M=N.map((q,D)=>i.jsx("li",{children:Ws(q,`list-${a}-${D}`)},`item-${a}-${D}`));l.push(T?i.jsx("ol",{children:M},`list-${a}`):i.jsx("ul",{children:M},`list-${a}`));continue}const k=ka(d);if(k&&k.length>=1&&a+1<r.length){const T=Yh(r[a+1]);if(T&&T.length===k.length){const N=[k];for(a+=2;a<r.length;){const $=ka(r[a]);if(!$||$.length!==k.length)break;N.push($),a+=1}l.push(Xh(N,T,`table-${a}`));continue}}const b=[d.trim()];for(a+=1;a<r.length&&r[a].trim()&&!Gh(r[a]);)b.push(r[a].trim()),a+=1;l.push(i.jsx("p",{children:Ws(b.join(" "),`paragraph-${a}`)},`paragraph-${a}`))}return l}function Gh(t){return/^\s*```/.test(t)||/^(#{1,6})\s+/.test(t)||/^\s*>\s?/.test(t)||/^\s*(?:[-*+] |\d+[.)] )/.test(t)||ka(t)!==null}function ka(t){if(!t.includes("|"))return null;const r=t.split("|"),l=r[0].trim()==="",a=r[r.length-1].trim()==="",d=l&&a?r.slice(1,-1):r;return d.length===0?null:d.map(p=>p.trim())}function Yh(t){if(!t.includes("|")&&!/[-:]/.test(t))return null;let r=t.split("|").map(a=>a.trim());if(r.length>=2&&r[0]===""&&r[r.length-1]===""&&(r=r.slice(1,-1)),r.length<1)return null;const l=[];for(const a of r){if(a===""||!/^:?-+:?$/.test(a))return null;const d=a.startsWith(":"),p=a.endsWith(":");d&&p?l.push("center"):p?l.push("right"):l.push("left")}return l}function Xh(t,r,l){const[a,...d]=t,p=h=>h==="left"?void 0:{textAlign:h};return i.jsxs("table",{className:"markdown-table",children:[i.jsx("thead",{children:i.jsx("tr",{children:a.map((h,g)=>i.jsx("th",{style:p(r[g]),children:Ws(h,`${l}-th-${g}`)},`th-${g}`))})}),i.jsx("tbody",{children:d.map((h,g)=>i.jsx("tr",{children:h.map((k,b)=>i.jsx("td",{style:p(r[b]),children:Ws(k,`${l}-td-${g}-${b}`)},`td-${g}-${b}`))},`tr-${g}`))})]},l)}function Ws(t,r){const l=/(`[^`\n]+`|\*\*[^*\n]+\*\*|\[[^\]\n]+\]\([^\s)]+\))/g,a=[];let d=0,p,h=0;for(;p=l.exec(t);){p.index>d&&a.push(t.slice(d,p.index));const g=p[0],k=`${r}-${h++}`;if(g.startsWith("`"))a.push(i.jsx("code",{children:g.slice(1,-1)},k));else if(g.startsWith("**"))a.push(i.jsx("strong",{children:g.slice(2,-2)},k));else{const b=g.match(/^\[([^\]]+)\]\(([^)]+)\)$/);b&&Jh(b[2])?a.push(i.jsx("a",{href:b[2],target:"_blank",rel:"noopener noreferrer",referrerPolicy:"no-referrer",children:b[1]},k)):a.push(g)}d=p.index+g.length}return d<t.length&&a.push(t.slice(d)),a}function Jh(t){try{const r=new URL(t);return r.protocol==="https:"||r.protocol==="http:"||r.protocol==="mailto:"}catch{return!1}}function Zh(t,r,l){return t===1?i.jsx("h1",{children:r},l):t===2?i.jsx("h2",{children:r},l):t===3?i.jsx("h3",{children:r},l):t===4?i.jsx("h4",{children:r},l):t===5?i.jsx("h5",{children:r},l):i.jsx("h6",{children:r},l)}function em({language:t,content:r}){const[l,a]=m.useState("idle"),d=async()=>{try{await navigator.clipboard.writeText(r),a("copied"),window.setTimeout(()=>a("idle"),1400)}catch{a("failed")}};return i.jsxs("figure",{className:"code-block",children:[i.jsxs("figcaption",{children:[i.jsx("span",{children:t||"text"}),i.jsxs("button",{type:"button",className:"icon-text-button",onClick:d,"aria-label":"复制代码",children:[i.jsx(K,{name:l==="copied"?"check":"copy",size:15}),l==="copied"?"已复制":l==="failed"?"复制失败":"复制"]})]}),i.jsx("pre",{tabIndex:0,"aria-label":`${t||"文本"}代码块`,children:i.jsx("code",{children:r})})]})}function Gt(t){return t.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/g,"")}function Ra(t,r=8e3){const l=/api.?key|authorization|cookie|password|secret|token/i;let a;try{a=JSON.stringify(t,(p,h)=>p&&l.test(p)?"[REDACTED]":h,2)}catch{a=String(t)}const d=Gt(a);return d.length<=r?d:`${d.slice(0,r)}
14
- …已截断`}const nm=.02,tm=.1;function Jr(t,r,l){const a=Number.isFinite(t)?Math.round(t):r;return Math.min(l,Math.max(r,a))}function rm(t,r,l){const a=l-r;if(a<=0)return 0;const d=(Jr(t,r,l)-r)/a;return Math.round(d*100)}function sm(t){const{key:r,minWidth:l,maxWidth:a,defaultWidth:d,currentWidth:p,side:h}=t,g=N=>Jr(N,l,a);if(r==="Home")return g(l);if(r==="End")return g(a);if(r==="Enter"||r===" ")return g(d);if(r!=="ArrowLeft"&&r!=="ArrowRight")return null;const k=t.shiftKey?tm:nm,b=Math.max(1,Math.round((a-l)*k)),T=(r==="ArrowRight"?1:-1)*(h==="left"?1:-1);return g(p+T*b)}function vf({side:t,className:r,minWidth:l,maxWidth:a,defaultWidth:d,label:p,width:h,controls:g,onPreview:k,onCommit:b}){const T=m.useRef(Jr(h??d,l,a)),N=m.useRef(null),$=m.useRef(null),M=m.useRef(null),q=()=>{M.current!==null&&cancelAnimationFrame(M.current),M.current=null},D=()=>{N.current=null,$.current=null,q(),delete document.documentElement.dataset.panelResizing};m.useEffect(()=>D,[]),m.useEffect(()=>{h===void 0||N.current!==null||(T.current=Jr(h,l,a))},[h,l,a]);const O=J=>{T.current=J,$.current=J,M.current===null&&(M.current=requestAnimationFrame(()=>{M.current=null;const je=$.current;$.current=null,je!==null&&k(je)}))},Z=J=>{const Ne=J.currentTarget.closest(".workbench-shell")?.getBoundingClientRect()??{left:0,right:window.innerWidth},Re=t==="left"?J.clientX-Ne.left:Ne.right-J.clientX;return Jr(Re,l,a)},F=J=>{J.button!==0||N.current!==null||(J.preventDefault(),N.current=J.pointerId,J.currentTarget.setPointerCapture(J.pointerId),document.documentElement.dataset.panelResizing=t,O(Z(J)))},de=J=>{N.current===J.pointerId&&O(Z(J))},X=J=>{if(N.current!==J.pointerId)return;J.currentTarget.hasPointerCapture(J.pointerId)&&J.currentTarget.releasePointerCapture(J.pointerId);const je=$.current??T.current;D(),k(je),b(je)},ue=J=>{if(N.current!==J.pointerId)return;const je=$.current??T.current;D(),k(je),b(je)},I=J=>{T.current=J,k(J),b(J)},R=J=>{const je=sm({key:J.key,shiftKey:J.shiftKey,minWidth:l,maxWidth:a,defaultWidth:d,currentWidth:T.current,side:t});je!==null&&(J.preventDefault(),I(je))},ne=rm(T.current,l,a);return i.jsx("div",{className:`panel-resize-handle panel-resize-handle-${t}${r?` ${r}`:""}`,role:"separator","aria-orientation":"vertical","aria-label":p,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":ne,"aria-valuetext":`${T.current} 像素`,"aria-controls":g,tabIndex:0,title:`${p};方向键调整,Shift 加速,Enter 恢复默认,双击亦可恢复`,onPointerDown:F,onPointerMove:de,onPointerUp:X,onPointerCancel:X,onLostPointerCapture:ue,onKeyDown:R,onDoubleClick:()=>I(Jr(d,l,a)),children:i.jsx("span",{})})}const im=["ArrowDown","ArrowUp","Home","End","Escape"];function om({label:t,items:r,disabled:l=!1}){const[a,d]=m.useState(!1),p=m.useRef(null),h=m.useRef(null),g=m.useRef([]),k=m.useId(),b=()=>{d(!1),h.current?.focus()};m.useEffect(()=>{if(!a)return;const N=$=>{p.current?.contains($.target)||d(!1)};return document.addEventListener("pointerdown",N),()=>document.removeEventListener("pointerdown",N)},[a]),m.useEffect(()=>{if(!a)return;const N=r.findIndex($=>!$.disabled);g.current[N>=0?N:0]?.focus()},[a]);const T=N=>{if(!im.includes(N.key))return;if(N.preventDefault(),N.key==="Escape"){b();return}const $=r.map((D,O)=>({item:D,index:O})).filter(D=>!D.item.disabled);if(!$.length)return;const M=$.findIndex(D=>g.current[D.index]===document.activeElement);let q=0;if(N.key==="Home")q=0;else if(N.key==="End")q=$.length-1;else{const D=N.key==="ArrowDown"?1:-1;q=M<0?0:(M+D+$.length)%$.length}g.current[$[q].index]?.focus()};return i.jsxs("div",{className:"session-row-menu",ref:p,children:[i.jsx("button",{ref:h,type:"button",className:"icon-button session-row-menu-trigger","aria-label":t,"aria-haspopup":"menu","aria-expanded":a,disabled:l,onClick:()=>d(N=>!N),onKeyDown:N=>{if(N.key==="ArrowDown"||N.key==="Enter"||N.key===" "){if(a)return;N.preventDefault(),d(!0)}},children:i.jsx(K,{name:"more",size:15})}),a?i.jsx("div",{className:"session-menu",role:"menu","aria-label":t,onKeyDown:T,children:r.map((N,$)=>i.jsxs("button",{ref:M=>{g.current[$]=M},type:"button",role:"menuitem",className:`session-menu-item${N.danger?" danger":""}`,tabIndex:-1,disabled:N.disabled,"aria-describedby":N.hint?`${k}-${N.id}`:void 0,onClick:()=>{d(!1),N.onSelect()},children:[N.label,N.hint?i.jsx("span",{id:`${k}-${N.id}`,className:"session-menu-hint",children:N.hint}):null]},N.id))}):null]})}const Pa=240,jo=280,yf=480,Nd=48,Ta=320,Ma=420,xf=720,lm=48,_d=560,wf="orion.web.workbench-layout.v2",am="orion.web.work-panel.v1",mr=Object.freeze({schemaVersion:2,projectNavigation:Object.freeze({expanded:!0,widthPx:jo}),workPanel:Object.freeze({expanded:!0,widthPx:Ma,activePanel:"agent",agentPanel:"goal"})});function ga(t,r){const l=fm(t),a=kf(r.projectNavigation.widthPx),d=$a(r.workPanel.widthPx);if(l<=760)return Object.freeze({projectNavigation:Object.freeze({mode:"drawer",widthPx:0}),conversationWidthPx:l,workPanel:Object.freeze({mode:"drawer",widthPx:0})});if(l<=1180){const b=l-_d,N=r.projectNavigation.expanded&&b>=Pa?"dock":r.projectNavigation.expanded?"drawer":"rail",$=N==="dock"?Math.min(a,b):N==="rail"?Nd:0;return Object.freeze({projectNavigation:Object.freeze({mode:N,widthPx:$}),conversationWidthPx:Math.max(0,l-$),workPanel:Object.freeze({mode:"drawer",widthPx:0})})}const p=r.projectNavigation.expanded?a:Nd,h=l-p-_d,g=r.workPanel.expanded&&h>=Ta,k=g?Math.min(d,h):lm;return Object.freeze({projectNavigation:Object.freeze({mode:r.projectNavigation.expanded?"dock":"rail",widthPx:p}),conversationWidthPx:Math.max(0,l-p-k),workPanel:Object.freeze({mode:g?"dock":"rail",widthPx:k})})}function kf(t){const r=Number.isFinite(t)?Math.round(t):jo;return Math.min(yf,Math.max(Pa,r))}function $a(t){const r=Number.isFinite(t)?Math.round(t):Ma;return Math.min(xf,Math.max(Ta,r))}function cm(t,r=null){if(!t)return dm(r);try{const l=JSON.parse(t);if(!fo(l)||l.schemaVersion!==2)return mr;const a=fo(l.projectNavigation)?l.projectNavigation:{},d=fo(l.workPanel)?l.workPanel:{};return jf({schemaVersion:2,projectNavigation:{expanded:typeof a.expanded=="boolean"?a.expanded:!0,widthPx:kf(Number(a.widthPx))},workPanel:{expanded:typeof d.expanded=="boolean"?d.expanded:!0,widthPx:$a(Number(d.widthPx)),activePanel:Cf(d.activePanel)?d.activePanel:"agent",agentPanel:Nf(d.agentPanel)?d.agentPanel:"goal"}})}catch{return mr}}function um(){const t=Sf();if(!t)return mr;try{return cm(t.localStorage.getItem(wf),t.localStorage.getItem(am))}catch{return mr}}function Id(t){const r=Sf();if(r)try{r.localStorage.setItem(wf,JSON.stringify(t))}catch{}}function dm(t){if(!t)return mr;try{const r=JSON.parse(t);return!fo(r)||r.schemaVersion!==1?mr:jf({schemaVersion:2,projectNavigation:{expanded:!0,widthPx:jo},workPanel:{expanded:typeof r.expanded=="boolean"?r.expanded:!0,widthPx:$a(Number(r.widthPx)),activePanel:Cf(r.activePanel)?r.activePanel:"agent",agentPanel:Nf(r.agentPanel)?r.agentPanel:"goal"}})}catch{return mr}}function jf(t){return Object.freeze({schemaVersion:2,projectNavigation:Object.freeze({...t.projectNavigation}),workPanel:Object.freeze({...t.workPanel})})}function fm(t){return!Number.isFinite(t)||t<=0?1440:Math.max(320,Math.round(t))}function Sf(){return globalThis.window??null}function Cf(t){return["agent","review","terminal","files","git"].includes(String(t))}function Nf(t){return["goal","activity","integrations","diagnostics"].includes(String(t))}function fo(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}const dr=40;function pm({state:t,drawerOpen:r,dockVisible:l,collapsed:a,resizable:d,width:p,onCloseDrawer:h,onExpand:g,onCollapse:k,onOpenWorkspaceDialog:b,onOpenSettings:T,onLoadMoreWorkspaces:N,onCreateSession:$,onLoadWorkspaceSessions:M,onActivateContext:q,onSetPinned:D,onRemoveWorkspace:O,onRefreshSummary:Z,onRenameSession:F,onSessionTags:de,onArchiveSession:X,onDeleteSession:ue,onRestoreSession:I,onWidthPreview:R,onWidthCommit:ne}){const[J,je]=m.useState(""),[Ne,Re]=m.useState(0),[W,we]=m.useState(new Set(t.workspaceId?[t.workspaceId]:[])),Q=m.useDeferredValue(J.trim().toLocaleLowerCase()),me=m.useRef(null),ve=!!t.pendingAction,H=ve||t.processing;m.useEffect(()=>{r&&me.current?.focus()},[r]),m.useEffect(()=>{t.workspaceId&&we(P=>new Set([...P,t.workspaceId]))},[t.workspaceId]),m.useEffect(()=>Re(0),[Q]);const te=m.useMemo(()=>{const P=[...t.workspaces].sort(hm);return Q?P.filter(le=>Ed(le,Q)?!0:(t.workspaceSessions[le.id]?.items??[]).some(ge=>[ge.name,ge.taskSummary,ge.id].filter(ye=>!!ye).some(ye=>ye.toLocaleLowerCase().includes(Q)))):P},[Q,t.workspaceSessions,t.workspaces]);m.useEffect(()=>{const P=te.findIndex(le=>le.id===t.workspaceId);P<0||Re(le=>P<le||P>=le+dr?Math.floor(P/dr)*dr:le)},[te,t.workspaceId]);const G=te.slice(Ne,Ne+dr),w=!!(Q&&(t.workspaceNextCursor||Object.values(t.workspaceSessions).some(P=>!!P.nextCursor))),A=P=>{const le=new Set(W);le.has(P.id)?le.delete(P.id):(le.add(P.id),t.workspaceSessions[P.id]?Z(P.id):M(P.id)),we(le)};if(a&&!r){const P=t.workspaces.find(le=>le.id===t.workspaceId);return i.jsxs("aside",{id:"workspace-rail",className:"workspace-rail project-navigator project-navigator-collapsed","aria-label":"项目与会话",hidden:!l,children:[i.jsxs("div",{className:"project-rail-brand","aria-hidden":"true",children:[i.jsx("span",{}),i.jsx("span",{}),i.jsx("span",{})]}),i.jsx("button",{type:"button",className:"icon-button project-rail-action","aria-label":"展开项目导航",title:"展开项目导航(⌘/Ctrl+B)",onClick:g,children:i.jsx(K,{name:"sidebar",size:17})}),i.jsx("button",{type:"button",className:"icon-button project-rail-action","aria-label":"新建会话",title:"新建会话",onClick:$,disabled:ve||!t.workspaceId,children:i.jsx(K,{name:"add",size:18})}),i.jsx("button",{type:"button",className:"icon-button project-rail-action project-rail-workspace","aria-label":P?`打开项目 ${P.label}`:"打开项目导航",title:P?.label??"打开项目导航",onClick:g,children:i.jsx(K,{name:"workspace",size:17})}),i.jsx("span",{className:"project-rail-spacer"}),i.jsx("button",{type:"button",className:"icon-button project-rail-action","aria-label":"打开设置",title:"设置",onClick:T,children:i.jsx(K,{name:"settings",size:17})}),i.jsx("span",{className:`connection-dot project-rail-connection ${t.connection}`,"aria-label":va(t.connection),title:va(t.connection)})]})}return i.jsxs("aside",{id:"project-navigation",className:`workspace-rail project-navigator ${r?"drawer-open":""}`,"aria-label":"项目与会话",hidden:!l,children:[i.jsxs("div",{className:"brand-row",children:[i.jsxs("div",{className:"brand-mark","aria-hidden":"true",children:[i.jsx("span",{}),i.jsx("span",{}),i.jsx("span",{})]}),i.jsxs("div",{className:"brand-copy",children:[i.jsx("strong",{children:"ORION"}),i.jsx("span",{children:"CODE WORKBENCH"})]}),i.jsx("button",{ref:me,type:"button",className:"icon-button drawer-close","aria-label":"关闭项目导航",onClick:h,children:i.jsx(K,{name:"close"})}),i.jsx("button",{type:"button",className:"icon-button project-navigation-collapse","aria-label":"折叠项目导航",title:"折叠项目导航(⌘/Ctrl+B)",onClick:k,children:i.jsx(K,{name:"sidebar"})})]}),i.jsxs("div",{className:"project-toolbar",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"LOCAL PROJECTS"}),i.jsx("h2",{children:"项目"})]}),i.jsx("button",{type:"button",className:"icon-button","aria-label":"选择其他工作区",title:"打开其他项目",onClick:b,disabled:H,children:i.jsx(K,{name:"add"})})]}),i.jsxs("label",{className:"project-search",children:[i.jsx("span",{className:"sr-only",children:"搜索项目和会话"}),i.jsx(K,{name:"search",size:15}),i.jsx("input",{type:"search",value:J,onChange:P=>je(P.target.value),placeholder:"搜索项目和会话"}),J?i.jsx("button",{type:"button","aria-label":"清除搜索",onClick:()=>je(""),children:i.jsx(K,{name:"close",size:13})}):null]}),w?i.jsx("p",{className:"project-search-scope",role:"status",children:"搜索仅覆盖已加载的项目和会话;仍有分页内容未加载。"}):null,i.jsxs("nav",{className:"project-tree","aria-label":"已知项目",children:[G.map((P,le)=>{const ge=Ne+le,ye=te[ge-1],be=W.has(P.id)||!!Q,ke=t.workspaceSessions[P.id],Pe=t.workspaceProjectSummaries[P.id],He=Ed(P,Q)?ke?.items??[]:mm(ke?.items??[],Q);return i.jsxs(m.Fragment,{children:[ge===0||ye?.pinnedOrder!==void 0&&P.pinnedOrder===void 0?i.jsx("h3",{className:"project-group-heading",role:"presentation",children:P.pinnedOrder===void 0?"RECENT":"PINNED"}):null,i.jsxs("section",{className:`project-node ${P.active?"active":""} ${P.available?"":"unavailable"}`,children:[i.jsxs("div",{className:"project-row",children:[i.jsxs("button",{id:`project-${P.id}`,type:"button",className:"project-toggle","aria-expanded":be,"aria-controls":`project-${P.id}-sessions`,"aria-current":P.active?"page":void 0,onClick:()=>A(P),onKeyDown:Ce=>{if(Ce.key==="ArrowRight"){Ce.preventDefault(),be?Ce.currentTarget.closest(".project-node")?.querySelector(".project-session-main")?.focus():A(P);return}if(Ce.key==="ArrowLeft"&&be){Ce.preventDefault(),A(P);return}bd(Ce)},children:[i.jsx(K,{name:"chevron",size:13}),i.jsx("span",{className:"workspace-icon",children:i.jsx(K,{name:"workspace",size:15})}),i.jsxs("span",{className:"project-copy",children:[i.jsx("strong",{children:P.label}),i.jsx("span",{title:P.path,children:Pe?`${Pe.detached?Pe.head||"detached":Pe.branch||"Git"} · ${Pe.dirtyCount?`M${Pe.dirtyCount}`:"clean"}`:gm(P.path)})]})]}),i.jsx("button",{type:"button",className:"icon-button project-pin","aria-label":`${P.pinnedOrder===void 0?"置顶":"取消置顶"}项目 ${P.label}`,"aria-pressed":P.pinnedOrder!==void 0,onClick:()=>D(P.id,P.pinnedOrder===void 0),disabled:ve,children:i.jsx("span",{"aria-hidden":"true",children:P.pinnedOrder===void 0?"○":"●"})}),!P.available&&!P.active?i.jsx("button",{type:"button",className:"icon-button project-remove","aria-label":`移除不可用项目 ${P.label}`,onClick:()=>O(P.id),disabled:ve,children:i.jsx(K,{name:"close",size:13})}):i.jsx("button",{type:"button",className:"icon-button project-add-session","aria-label":`在 ${P.label} 新建会话`,disabled:ve||!P.available||!P.active,onClick:$,title:P.active?"新建会话":"先激活项目后新建会话",children:i.jsx(K,{name:"add",size:14})})]}),be?i.jsxs(m.Fragment,{children:[i.jsxs("div",{id:`project-${P.id}-sessions`,className:"project-sessions",role:"list","aria-label":`${P.label} 的会话`,children:[ke?.status==="loading"&&!ke.items.length?i.jsx("p",{className:"project-loading",role:"listitem",children:"正在加载会话…"}):null,ke?.status==="error"?i.jsx("div",{role:"listitem",children:i.jsx("button",{type:"button",className:"project-load-error",onClick:()=>M(P.id),children:"加载失败,重试"})}):null,He.map(Ce=>{const sn=P.active&&Ce.id===t.activeSessionId,Je=t.sessionRuntimeById[Ce.id],pn=ym(Je),Hn=!P.active&&H,$n=wm(Je?.phase),bn=Ce.tags??[];return i.jsxs("div",{className:`project-session-row ${sn?"active":""}`,role:"listitem",children:[i.jsxs("button",{type:"button",className:"project-session-main","aria-current":sn?"page":void 0,"aria-disabled":sn||Hn||!P.available,onClick:()=>{sn||q(P.id,Ce.id)},disabled:Hn||!P.available,onKeyDown:gn=>{if(gn.key==="ArrowLeft"){gn.preventDefault(),document.getElementById(`project-${P.id}`)?.focus();return}bd(gn)},children:[i.jsx("span",{className:`session-state ${pn.tone}`,"aria-hidden":"true"}),i.jsxs("span",{children:[i.jsx("strong",{children:gr(Ce)}),i.jsxs("small",{children:[Rd(Ce.updatedAt)," · ",Ce.messageCount," 条"]}),bn.length>0?i.jsxs("small",{className:"project-session-tags","aria-label":"会话标签",children:[bn.slice(0,3).map(gn=>i.jsx("span",{className:"session-tag-badge",children:gn},gn)),bn.length>3?i.jsxs("span",{className:"session-tag-more",children:["+",bn.length-3]}):null]}):null,pn.label?i.jsx("small",{className:"project-session-status",children:pn.label}):null]})]}),P.active?i.jsx(om,{label:`会话 ${gr(Ce)} 操作`,disabled:ve,items:[{id:"rename",label:"重命名…",onSelect:()=>F(Ce)},{id:"tags",label:"管理标签…",onSelect:()=>de(Ce)},{id:"archive",label:"归档",disabled:$n,hint:$n?"会话运行中":void 0,onSelect:()=>X(Ce)},{id:"delete",label:"删除…",danger:!0,disabled:$n,hint:$n?"会话运行中":void 0,onSelect:()=>ue(Ce)}]}):null]},Ce.id)}),ke?.status==="ready"&&!He.length?i.jsx("div",{role:"listitem",children:i.jsx("button",{type:"button",className:"project-empty-session",disabled:H||!P.available,onClick:()=>q(P.id,null),children:Q?"没有匹配会话":"打开项目"})}):null,ke?.nextCursor?i.jsx("div",{role:"listitem",children:i.jsx("button",{type:"button",className:"text-button project-load-more",onClick:()=>M(P.id,!0),children:"加载更多会话"})}):null]}),P.active&&(t.archivedSessions.items.length>0||t.archivedSessions.status==="loading")?i.jsxs("details",{className:"archived-section",children:[i.jsxs("summary",{children:["已归档(",t.archivedSessions.items.length,t.archivedSessions.status==="loading"?"…":"",")"]}),i.jsx("div",{className:"archived-list",role:"list","aria-label":"已归档会话",children:t.archivedSessions.items.map(Ce=>i.jsxs("div",{className:"archived-row",role:"listitem",children:[i.jsxs("span",{className:"archived-copy",children:[i.jsx("strong",{children:gr(Ce)}),i.jsx("small",{children:Rd(Ce.updatedAt)})]}),i.jsx("button",{type:"button",className:"text-button",disabled:ve,onClick:()=>I(Ce),children:"还原"}),i.jsx("button",{type:"button",className:"text-button archived-delete",disabled:ve,onClick:()=>ue(Ce),children:"删除"})]},Ce.id))})]}):null]}):null]})]},P.id)}),te.length?null:i.jsxs("div",{className:"empty-rail",children:[i.jsx(K,{name:"search"}),i.jsx("p",{children:"没有匹配的项目或会话"})]}),Ne>0?i.jsx("button",{type:"button",className:"text-button project-window-more",onClick:()=>Re(P=>Math.max(0,P-dr)),children:"上一批项目"}):null,Ne+dr<te.length?i.jsx("button",{type:"button",className:"text-button project-window-more",onClick:()=>Re(P=>P+dr),children:"下一批项目"}):t.workspaceNextCursor?i.jsx("button",{type:"button",className:"text-button project-window-more",onClick:N,children:"加载更多项目"}):null]}),i.jsxs("footer",{className:"rail-footer",children:[i.jsx("span",{className:`connection-dot ${t.connection}`,"aria-hidden":"true"}),i.jsx("span",{title:vm(t.connection),children:va(t.connection)}),i.jsx("button",{type:"button",className:"icon-button rail-settings","aria-label":"打开设置",onClick:T,children:i.jsx(K,{name:"settings",size:14})}),t.bootstrap?.productVersion?i.jsxs("span",{className:"version",children:["v",t.bootstrap.productVersion]}):null]}),d?i.jsx(vf,{side:"left",minWidth:Pa,maxWidth:yf,defaultWidth:jo,label:"拖动或按方向键调整项目导航宽度",width:p,controls:"workspace-rail",onPreview:R,onCommit:ne}):null]})}function bd(t){if(!["ArrowDown","ArrowUp","Home","End"].includes(t.key))return;const r=t.currentTarget.closest(".project-tree");if(!r)return;const l=Array.from(r.querySelectorAll(".project-toggle:not(:disabled), .project-session-main:not(:disabled)")).filter(p=>p.getClientRects().length>0),a=l.indexOf(t.currentTarget);if(a<0||l.length===0)return;const d=t.key==="Home"?0:t.key==="End"?l.length-1:Math.max(0,Math.min(l.length-1,a+(t.key==="ArrowDown"?1:-1)));t.preventDefault(),l[d]?.focus()}function hm(t,r){return t.pinnedOrder!==void 0||r.pinnedOrder!==void 0?t.pinnedOrder===void 0?1:r.pinnedOrder===void 0?-1:t.pinnedOrder-r.pinnedOrder:Date.parse(r.lastActivatedAt)-Date.parse(t.lastActivatedAt)}function Ed(t,r){return!!(r&&(t.label.toLocaleLowerCase().includes(r)||t.path.toLocaleLowerCase().includes(r)))}function mm(t,r){return r?t.filter(l=>[l.name,l.taskSummary,l.id,l.model].filter(a=>!!a).some(a=>a.toLocaleLowerCase().includes(r))):t}function gr(t){return t.name||t.taskSummary||`会话 ${t.id.slice(0,8)}`}function _f(t){const r=t.replace(/[\\/]+$/,"");return r.split(/[\\/]/).filter(Boolean).at(-1)??r}function gm(t){return t.length<=31?t:`…${t.slice(-30)}`}function Rd(t){const r=Date.parse(t);if(!Number.isFinite(r))return"未知";const l=Math.max(0,Math.floor((Date.now()-r)/6e4));if(l<1)return"刚刚";if(l<60)return`${l} 分钟前`;const a=Math.floor(l/60);if(a<24)return`${a} 小时前`;const d=Math.floor(a/24);return d<30?`${d} 天前`:new Date(r).toLocaleDateString("zh-CN")}function va(t){return t==="live"?"已连接":t==="offline"?"离线":t==="replay-required"?"事件流需恢复":t==="closed"?"已关闭":t==="connecting"?"正在连接…":"正在重连…"}function vm(t){return t==="live"?"本地 Web Host 已连接":t==="offline"?"浏览器离线":t==="replay-required"?"Web Host 事件流需要恢复":t==="closed"?"本地 Web Host 已关闭":t==="connecting"?"正在连接本地 Web Host":"正在重连本地 Web Host"}function ym(t){return!t||t.phase==="cold"?{label:"",tone:""}:t.pendingApprovalCount>0||t.phase==="waiting_approval"?{label:"等待审批",tone:"approval"}:t.phase==="running"||t.phase==="starting"?{label:t.phase==="starting"?"正在启动":"运行中",tone:"running"}:t.phase==="queued"?{label:t.queuePosition?`排队 ${t.queuePosition}`:"排队中",tone:"queued"}:t.phase==="failed"?{label:"失败",tone:"failed"}:t.phase==="interrupted"?{label:"已中断",tone:"failed"}:t.phase==="stopping"?{label:"正在停止",tone:"running"}:{label:"已就绪",tone:"ready"}}const xm=new Set(["starting","queued","running","waiting_approval","stopping"]);function wm(t){return t?xm.has(t):!1}const km=Object.freeze({activating:"running",closed:"danger",completed:"success",connected:"success",done:"success",draining:"warning",error:"danger",failed:"danger",live:"running",offline:"danger",passed:"success",pending:"running",queued:"running",ready:"success",rejected:"danger",replay:"warning","replay-required":"warning",running:"running",skipped:"warning",streaming:"running",success:"success",timedout:"warning",warning:"warning"}),Pd=Object.freeze({danger:"失败",idle:"空闲",running:"进行中",success:"已完成",warning:"部分完成"});function jm(t){return km[t.trim().toLowerCase()]??"idle"}function Sm(t){return Pd[t]??Pd.idle}function Aa({state:t,className:r="",label:l,describe:a=!0}){const d=jm(t);return i.jsxs(i.Fragment,{children:[i.jsx("span",{className:`state-dot state-${t}${r?` ${r}`:""}`,"data-tone":d,"aria-hidden":"true"}),a?i.jsx("span",{className:"sr-only",children:l??Sm(d)}):null]})}const ns="orion.web.composer-drafts.v1",If=20,ja=256*1024,Cm=5*1024*1024;function Nm(t,r){return So().entries.find(l=>l.workspaceId===t&&l.sessionId===r)??null}function _m(t){const r=Co();if(!r)return;const l=Object.freeze({...t,references:[...t.references],updatedAt:Date.now()});if(Sa(l)>ja)throw new Error(`Composer draft exceeds ${ja} bytes.`);const a=So().entries.filter(p=>!(p.workspaceId===t.workspaceId&&p.sessionId===t.sessionId)),d=[l,...a].slice(0,If);for(;d.length>0&&Sa({version:1,entries:d})>Cm;)d.pop();r.setItem(ns,JSON.stringify({version:1,entries:d}))}function Td(t,r){const l=Co();if(!l)return;const a=So().entries.filter(d=>!(d.workspaceId===t&&d.sessionId===r));a.length===0?l.removeItem(ns):l.setItem(ns,JSON.stringify({version:1,entries:a}))}function Im(t){const r=Co();if(!r)return;const l=So().entries.filter(a=>a.workspaceId!==t);l.length===0?r.removeItem(ns):r.setItem(ns,JSON.stringify({version:1,entries:l}))}function So(){const t=Co();if(!t)return{version:1,entries:[]};try{const r=JSON.parse(t.getItem(ns)??"");return r.version!==1||!Array.isArray(r.entries)?{version:1,entries:[]}:{version:1,entries:r.entries.filter(bm).slice(0,If)}}catch{return{version:1,entries:[]}}}function bm(t){if(!t||typeof t!="object")return!1;const r=t;return typeof r.workspaceId=="string"&&typeof r.sessionId=="string"&&typeof r.text=="string"&&Array.isArray(r.references)&&typeof r.updatedAt=="number"&&Number.isFinite(r.updatedAt)&&Sa(r)<=ja}function Co(){try{return typeof window>"u"?null:window.sessionStorage}catch{return null}}function Sa(t){return new TextEncoder().encode(JSON.stringify(t)).byteLength}const bf=/^hmac-sha256:[0-9a-f]{64}$/,Em=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,Rm=/^(?:api[-_]?key|authorization|cookie|password|secret|access[-_]?token|refresh[-_]?token|auth[-_]?token|credential[-_]?value|headers?|env(?:ironment)?[-_]?name)$/i,Pm=["ready","invalid","read-only","unavailable"],Tm=["internal","model","global","project","session"],Mm=["global","project","session"],$m=["live","next-logical-request","new-session","restart"],Am=["runtime_busy","read_only","invalid_document"],Dm=["system","light","dark"],Lm=["system","reduced"],Om=["classic","orion-blocksmith"],Ef=["auto","none","minimal","low","medium","high","xhigh","max"],zm=["ask","allow","deny"],Fm=["appearance.style","appearance.theme","appearance.motion","defaults.model","defaults.effort","permissions.toolConfirmation"];function Ca(t){mo(t);const r=Wn(t,"Settings document");if(Un(r,["schemaVersion","revision","state","writable","hasDocument","workspace","sections","models","credentials","currentSession","diagnostic"]),r.schemaVersion!==1&&r.schemaVersion!==2)throw new Error("Settings schemaVersion is not supported.");const l=r.schemaVersion,a=In(r.revision,"Settings revision");if(!bf.test(a))throw new Error("Settings revision is invalid.");const d=it(r.state,"Settings state",Pm),p=Wn(r.sections,"Settings sections");Un(p,["appearance","defaults","permissions"]);const h=Wn(p.appearance,"Appearance settings");Un(h,l===1?["theme","motion"]:["style","theme","motion"]);const g=Wn(p.defaults,"Default settings");Un(g,["model","effort"]);const k=Wn(p.permissions,"Permission settings");Un(k,["toolConfirmation"]);const b=Na(r.models,"Settings models").map(Wm),T=Na(r.credentials,"Credential status").map(Um),N=r.currentSession===void 0?void 0:Hm(r.currentSession),$=r.diagnostic===void 0?void 0:Vm(r.diagnostic);return{schemaVersion:2,revision:a,state:d,writable:Zr(r.writable,"Settings writable"),hasDocument:Zr(r.hasDocument,"Settings document availability"),workspace:In(r.workspace,"Settings workspace"),sections:{appearance:{style:l===1?Ym(d,Zr(r.writable,"Settings writable")):Qr(h.style,"Visual style",Gm),theme:Qr(h.theme,"Theme",Qm),motion:Qr(h.motion,"Motion",Xm)},defaults:{model:Qr(g.model,"Default model",eg),effort:Qr(g.effort,"Default effort",Jm)},permissions:{toolConfirmation:Qr(k.toolConfirmation,"Tool confirmation",Zm)}},models:b,credentials:T,...N?{currentSession:N}:{},...$?{diagnostic:$}:{}}}function Bm(t){mo(t);const r=Wn(t,"Settings mutation result");Un(r,["requestId","revision","appliedKeys","settings"]);const l=In(r.requestId,"Settings requestId");if(!Em.test(l))throw new Error("Settings requestId is invalid.");const a=Ca(r.settings),d=In(r.revision,"Settings mutation revision");if(d!==a.revision)throw new Error("Settings mutation revisions do not match.");const p=Na(r.appliedKeys,"Applied setting keys").map((h,g)=>it(h,`Applied setting key ${g+1}`,Fm));if(new Set(p).size!==p.length)throw new Error("Settings mutation contains duplicate applied keys.");return{requestId:l,revision:d,appliedKeys:p,settings:a}}function qm(t){const r=Wn(t.payload,"Settings invalidation payload");Un(r,["revision","reason","state"]);const l=In(r.revision,"Settings invalidation revision");if(!bf.test(l))throw new Error("Settings invalidation revision is invalid.");return{apiVersion:1,eventId:In(t.eventId,"Settings invalidation eventId"),cursor:Km(t.cursor,"Settings invalidation cursor"),sessionId:null,threadId:null,durable:!1,timestamp:In(t.timestamp,"Settings invalidation timestamp"),type:"settings_invalidated",payload:{revision:l,reason:it(r.reason,"Settings invalidation reason",["local-write","external-edit","workspace-change"]),state:it(r.state,"Settings invalidation state",["ready","invalid"])}}}function Qr(t,r,l){const a=Wn(t,`${r} field`);if(Un(a,["effectiveValue","explicitValue","inheritedValue","source","scope","applies","overridden","writable","blockedReason"]),!l(a.effectiveValue))throw new Error(`${r} effective value is invalid.`);if(a.explicitValue!==void 0&&!l(a.explicitValue))throw new Error(`${r} explicit value is invalid.`);if(a.inheritedValue!==void 0&&!l(a.inheritedValue))throw new Error(`${r} inherited value is invalid.`);const d=a.explicitValue,p=a.inheritedValue;return{effectiveValue:a.effectiveValue,...d===void 0?{}:{explicitValue:d},...p===void 0?{}:{inheritedValue:p},source:it(a.source,`${r} source`,Tm),scope:it(a.scope,`${r} scope`,Mm),applies:it(a.applies,`${r} application timing`,$m),overridden:Zr(a.overridden,`${r} override state`),writable:Zr(a.writable,`${r} writable state`),...a.blockedReason===void 0?{}:{blockedReason:it(a.blockedReason,`${r} blocked reason`,Am)}}}function Wm(t,r){const l=Wn(t,`Model ${r+1}`);return Un(l,["id","label","provider"]),{id:In(l.id,`Model ${r+1} id`),label:In(l.label,`Model ${r+1} label`),...l.provider===void 0?{}:{provider:In(l.provider,`Model ${r+1} provider`)}}}function Um(t,r){const l=Wn(t,`Credential ${r+1}`);if(Un(l,["providerId","state","source","writable"]),l.writable!==!1)throw new Error("Browser credential status must be read-only.");return{providerId:In(l.providerId,`Credential ${r+1} provider`),state:it(l.state,`Credential ${r+1} state`,["ready","missing","unavailable"]),source:it(l.source,`Credential ${r+1} source`,["environment","legacy","none"]),writable:!1}}function Hm(t){const r=Wn(t,"Current session settings");return Un(r,["model","effort","overridesProjectEffort"]),{model:In(r.model,"Current session model"),effort:it(r.effort,"Current session effort",Ef),overridesProjectEffort:Zr(r.overridesProjectEffort,"Current session effort override state")}}function Vm(t){const r=Wn(t,"Settings diagnostic");return Un(r,["code","message"]),{code:In(r.code,"Settings diagnostic code"),message:In(r.message,"Settings diagnostic message")}}function mo(t,r=new Set){if(!(!t||typeof t!="object")){if(r.has(t))throw new Error("Settings response contains a cycle.");r.add(t);try{if(Array.isArray(t)){for(const l of t)mo(l,r);return}for(const[l,a]of Object.entries(t)){if(Rm.test(l))throw new Error("Settings response contains a forbidden secret-bearing field.");mo(a,r)}}finally{r.delete(t)}}}function Wn(t,r){if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${r} must be an object.`);return t}function Na(t,r){if(!Array.isArray(t))throw new Error(`${r} must be an array.`);return t}function In(t,r){if(typeof t!="string"||!t.trim())throw new Error(`${r} must be text.`);return t}function Zr(t,r){if(typeof t!="boolean")throw new Error(`${r} must be boolean.`);return t}function Km(t,r){if(!Number.isSafeInteger(t)||t<0)throw new Error(`${r} must be a non-negative safe integer.`);return t}function it(t,r,l){if(typeof t!="string"||!l.includes(t))throw new Error(`${r} is invalid.`);return t}function Un(t,r){const l=new Set(r),a=Object.keys(t).find(d=>!l.has(d));if(a)throw new Error(`Settings response contains an unknown field: ${a}.`)}function Qm(t){return typeof t=="string"&&Dm.includes(t)}function Gm(t){return typeof t=="string"&&Om.includes(t)}function Ym(t,r){const l=t==="invalid"?"invalid_document":t==="ready"&&r?void 0:"read_only";return{effectiveValue:"orion-blocksmith",inheritedValue:"orion-blocksmith",source:"internal",scope:"global",applies:"live",overridden:!1,writable:t==="ready"&&r,...l?{blockedReason:l}:{}}}function Xm(t){return typeof t=="string"&&Lm.includes(t)}function Jm(t){return typeof t=="string"&&Ef.includes(t)}function Zm(t){return typeof t=="string"&&zm.includes(t)}function eg(t){return typeof t=="string"&&!!t.trim()}const so="/api/v1",ng="x-orion-web-nonce",_a=100,tg=50,ft=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;class _e extends Error{constructor(l,a,d,p){super(l);qn(this,"status");qn(this,"code");qn(this,"type");this.status=a,this.code=d,this.type=p,this.name="WebApiError"}}class rg{constructor(){qn(this,"nonce","")}async bootstrap(){const r=await this.query("/bootstrap");if(!Nt(r)||r.apiVersion!==1||typeof r.nonce!="string")throw new _e("Web Host 返回了不兼容的启动协议。",502);return this.nonce=r.nonce,{...r,settings:Ca(r.settings)}}async listWorkspaces(r,l){const a=await this.collectionPage(Sn("/workspaces",r),l),d=a.items.find(p=>p.active);return{activeId:d?.id??"",activePath:d?.path??"",workspaces:a.items,nextCursor:a.nextCursor}}async listWorkspaceSessions(r,l,a){const d=await this.collectionPage(Sn(`/workspaces/${encodeURIComponent(r)}/sessions`,l),a);return{sessions:d.items,nextCursor:d.nextCursor}}workspaceProjectSummary(r,l){return this.query(Sn(`/workspaces/${encodeURIComponent(r)}/summary`,l))}async listSessions(r,l){const a=await this.collectionPage(Sn("/sessions",r),l);return{sessions:a.items,nextCursor:a.nextCursor}}diagnostics(r){return this.query(Sn("/diagnostics",r))}async settings(){return Ca(await this.query("/settings"))}async sessionSnapshot(r,l,a){const d=`/sessions/${encodeURIComponent(r)}/snapshot`;return this.query(ya(Sn(d,l),a??null,!0,tg))}composerState(r,l){return this.query(Sn(`/sessions/${encodeURIComponent(r)}/composer-state`,l))}modelCatalog(r,l,a){return this.query(ya(Sn(`/sessions/${encodeURIComponent(r)}/model-catalog`,l),a??null,!1,_a))}composerAction(r,l){return this.mutate(`/sessions/${encodeURIComponent(r)}/composer-actions`,"POST",{...l,requestId:Qe()})}async skills(r,l){const a=await this.collectionPage(Sn("/skills",r),l);return{skills:a.items,nextCursor:a.nextCursor}}async mcp(r,l){const a=await this.collectionPage(Sn("/mcp",r),l);return{servers:a.items,nextCursor:a.nextCursor}}async toolDetails(r,l){const a=await this.collectionPage(Sn("/tool-details",r),l);return{details:a.items,nextCursor:a.nextCursor}}readToolDetail(r,l,a=0,d=64*1024){const p=new URLSearchParams({offsetBytes:String(a),limitBytes:String(d)});return pr(p,l),this.query(`/tool-details/${encodeURIComponent(r)}?${p.toString()}`)}listFiles(r,l,a){const d=new URLSearchParams({pageSize:"100"});return pr(d,r),l&&d.set("parentId",l),a&&d.set("cursor",a),this.query(`/files?${d.toString()}`)}readFileContent(r,l,a){const d=new URLSearchParams({limitBytes:String(65536)});return pr(d,l),a&&d.set("cursor",a),this.query(`/files/${encodeURIComponent(r)}/content?${d.toString()}`)}gitStatus(r,l){const a=new URLSearchParams({pageSize:"200"});return pr(a,r),l&&a.set("cursor",l),this.query(`/git/status?${a.toString()}`)}gitLog(r,l){const a=new URLSearchParams({pageSize:"30"});return pr(a,r),l&&a.set("cursor",l),this.query(`/git/log?${a.toString()}`)}gitDiff(r,l,a){const d=new URLSearchParams({lineLimit:"240",byteLimit:String(262144)});return pr(d,l),a&&d.set("cursor",a),this.query(`/git/diff/${encodeURIComponent(r)}?${d.toString()}`)}review(r){return this.query(Sn("/review",r))}async terminals(r,l){const a=await this.collectionPage(Sn("/terminals",r),l);return{terminals:a.items,nextCursor:a.nextCursor}}createTerminal(r){return this.mutate("/terminals","POST",{...r,requestId:Qe()},{"X-Orion-User-Gesture":"terminal-create-v1"})}terminalAttachTicket(r,l){return this.mutate(`/terminals/${encodeURIComponent(r)}/attach-ticket`,"POST",{...l,requestId:Qe()})}closeTerminal(r,l){return this.mutate(`/terminals/${encodeURIComponent(r)}`,"DELETE",{...l,requestId:Qe()})}terminalSocket(r){const l=location.protocol==="https:"?"wss:":"ws:";return new WebSocket(`${l}//${location.host}${so}/terminals/${encodeURIComponent(r)}/stream`,"orion-terminal-v1")}activateContext(r){return this.mutate("/context/activate","POST",{...r,requestId:Qe()})}async setWorkspacePinned(r,l,a){return(await this.mutate(`/workspaces/${encodeURIComponent(r)}/pin`,"POST",{requestId:Qe(),pinned:l,...a})).workspace}removeWorkspace(r,l){return this.mutate(`/workspaces/${encodeURIComponent(r)}`,"DELETE",{requestId:Qe(),...l})}async activateWorkspace(r,l){const a=await this.mutate("/workspaces/activate","POST",{requestId:Qe(),path:r,...l});return{requestId:a.requestId,activeId:a.page.items.find(d=>d.active)?.id??"",activePath:a.active,workspaces:a.page.items,nextCursor:a.page.nextCursor}}async createSession(r){return(await this.mutate("/sessions","POST",{requestId:Qe(),...r})).session}activateSession(r,l){return this.mutate(`/sessions/${encodeURIComponent(r)}/activate`,"POST",{requestId:Qe(),...l})}async renameSession(r,l,a){return(await this.mutate(`/sessions/${encodeURIComponent(r)}`,"PATCH",{requestId:Qe(),name:l,...a})).session}async updateSessionTags(r,l,a){return(await this.mutate(`/sessions/${encodeURIComponent(r)}/tags`,"POST",{requestId:Qe(),tags:[...l],...a})).session}async archiveSession(r,l){return(await this.mutate(`/sessions/${encodeURIComponent(r)}/archive`,"POST",{requestId:Qe(),...l})).session}async restoreSession(r,l){return(await this.mutate(`/sessions/${encodeURIComponent(r)}/restore`,"POST",{requestId:Qe(),...l})).session}async deleteSession(r,l){await this.mutate(`/sessions/${encodeURIComponent(r)}`,"DELETE",{requestId:Qe(),...l})}async listArchivedWorkspaceSessions(r,l,a){const d=await this.collectionPage(Sn(`/workspaces/${encodeURIComponent(r)}/sessions/archived`,l),a);return{sessions:d.items,nextCursor:d.nextCursor}}command(r){return this.mutate("/commands","POST",{...r,requestId:Qe()})}async updateSettings(r,l,a,d=Qe()){const p=await this.mutate("/settings","PATCH",{operations:l,expectedRevision:r,...a,requestId:d}),h=Bm(p);if(h.requestId!==d)throw new _e("Host 返回了其他设置请求的结果。",502,"settings_response_invalid");const g=l.map(k=>k.key);if(h.appliedKeys.length!==g.length||g.some(k=>!h.appliedKeys.includes(k)))throw new _e("Host 返回的设置字段与提交内容不一致。",502,"settings_response_invalid");return h}openSettingsDocument(){return this.mutate("/settings/open-document","POST",{requestId:Qe()})}connectEvents(r){let l=Math.max(0,r.cursor??0),a=null,d,p=0,h=!1,g=!1;const k=()=>{if(!(h||g)){if(!navigator.onLine){r.onStatus("offline",p);return}r.onStatus(p===0?"connecting":"reconnecting",p),a=new EventSource(`${so}/events?cursor=${l}`),a.onopen=()=>{p=0,r.onStatus("live",p)},a.addEventListener("orion",N=>{if(!(h||g))try{const $=sg(N.data);if($.type==="replay_reset"){l=$.cursor,r.onEvent($),g=!0,a?.close(),a=null,window.clearTimeout(d);return}if($.cursor<=l)return;l=$.cursor,r.onEvent($)}catch($){r.onProtocolError?.($ instanceof Error?$.message:"无法解析 Web Host 事件流消息。")}}),a.onerror=()=>{if(a?.close(),a=null,h||g)return;p+=1,r.onStatus(navigator.onLine?"reconnecting":"offline",p);const N=Math.min(1e4,500*2**Math.min(p,5));window.clearTimeout(d),d=window.setTimeout(k,N)}}},b=()=>{h||g||a||(window.clearTimeout(d),k())},T=()=>{window.clearTimeout(d),a?.close(),a=null,!g&&r.onStatus("offline",p)};return window.addEventListener("online",b),window.addEventListener("offline",T),k(),{close(){h=!0,window.clearTimeout(d),a?.close(),a=null,window.removeEventListener("online",b),window.removeEventListener("offline",T)},cursor:()=>l}}collectionPage(r,l){return this.query(ya(r,l??null,!1,_a))}async query(r){const l=await fetch(`${so}${r}`,{method:"GET",headers:{Accept:"application/json"},credentials:"same-origin",cache:"no-store"});return Md(l)}async mutate(r,l,a,d={}){if(!this.nonce)throw new _e("Web Workbench 尚未完成安全握手。",503);const p=await fetch(`${so}${r}`,{method:l,headers:{Accept:"application/json","Content-Type":"application/json",[ng]:this.nonce,...d},credentials:"same-origin",cache:"no-store",body:JSON.stringify(a)});return Md(p)}}async function Md(t){const l=(t.headers.get("content-type")??"").includes("json")?await t.json().catch(()=>null):null;if(!t.ok){const a=Nt(l)?l:{},d=typeof a.detail=="string"?a.detail:`请求失败 (${t.status})`;throw new _e(d,t.status,typeof a.code=="string"?a.code:void 0,typeof a.type=="string"?a.type:void 0)}return l}function sg(t){const r=JSON.parse(t);if(!Nt(r)||r.apiVersion!==1||typeof r.eventId!="string"||!ft.test(r.eventId)||!Number.isSafeInteger(r.cursor)||r.cursor<0||r.sessionId!==null&&typeof r.sessionId!="string"||r.threadId!==null&&typeof r.threadId!="string"||typeof r.durable!="boolean"||typeof r.timestamp!="string"||!["runtime_event","thread_event","workbench_state","replay_reset","settings_invalidated","workspace_resource_invalidated","composer_state_changed","session_runtime_changed","workspace_mutation_changed"].includes(String(r.type))||!Nt(r.payload))throw new Error("Web Host 事件流消息不符合 Web protocol v1。");if(r.type==="runtime_event"){const l=r.payload.value;if(!Nt(l)||typeof r.payload.eventType!="string"||l.type!==r.payload.eventType)throw new Error("Web Host 事件流消息判别字段不一致。")}if(r.type==="thread_event"&&(!Nt(r.payload.value)||typeof r.payload.eventType!="string"||!Number.isSafeInteger(r.payload.sequence)||typeof r.sessionId!="string"||typeof r.threadId!="string"))throw new Error("Thread 事件身份或序列无效。");if(r.type==="workbench_state"&&(typeof r.payload.contextRevision!="string"||!ft.test(r.payload.contextRevision)||typeof r.payload.workspaceId!="string"||!ft.test(r.payload.workspaceId)||typeof r.payload.workspace!="string"||r.payload.activeSessionId!==null&&typeof r.payload.activeSessionId!="string"))throw new Error("Workbench 状态事件无效。");if(r.type==="settings_invalidated"&&(r.sessionId!==null||r.threadId!==null||r.durable!==!1))throw new Error("Settings invalidation 事件身份无效。");if(r.type==="settings_invalidated")return qm(r);if(r.type==="session_runtime_changed"&&(!Nt(r.payload.runtime)||r.sessionId!==r.payload.runtime.sessionId||!ig(r.payload.runtime)))throw new Error("Session Runtime 状态事件无效。");if(r.type==="workspace_mutation_changed"){const l=r.payload.state;if(typeof r.sessionId!="string"||r.durable!==!1||!Nt(l)||typeof l.callId!="string"||l.callId.length<1||!["queued","running","completed","failed","cancelled"].includes(String(l.phase))||(l.phase==="queued"?!Number.isSafeInteger(l.queuePosition)||l.queuePosition<1:l.queuePosition!==void 0))throw new Error("Workspace mutation 状态事件无效。")}if(r.type==="workspace_resource_invalidated"&&(r.sessionId!==null||r.threadId!==null||r.durable!==!1||typeof r.payload.workspaceId!="string"||!ft.test(r.payload.workspaceId)||!Array.isArray(r.payload.resources)||r.payload.resources.length<1||r.payload.resources.some(l=>!["files","git","review"].includes(String(l)))||!["context-change","filesystem-change","terminal-command","tool-finished"].includes(String(r.payload.reason))))throw new Error("Workspace resource invalidation 事件无效。");if(r.type==="composer_state_changed"&&(typeof r.sessionId!="string"||r.durable!==!0||!Nt(r.payload.state)||r.payload.state.apiVersion!==1||r.payload.state.sessionId!==r.sessionId||typeof r.payload.state.controlRevision!="string"||!ft.test(r.payload.state.controlRevision)||typeof r.payload.state.contextRevision!="string"||!ft.test(r.payload.state.contextRevision)))throw new Error("Composer state 事件身份无效。");if(r.type==="replay_reset"&&(typeof r.payload.reason!="string"||r.payload.snapshotRequired!==!0))throw new Error("Replay reset 事件无效。");return r}function ig(t){const r=t.phase==="queued";return typeof t.workspaceId=="string"&&ft.test(t.workspaceId)&&typeof t.sessionId=="string"&&ft.test(t.sessionId)&&typeof t.runtimeRevision=="string"&&ft.test(t.runtimeRevision)&&["cold","starting","idle","queued","running","waiting_approval","stopping","interrupted","failed"].includes(String(t.phase))&&Number.isSafeInteger(t.pendingApprovalCount)&&t.pendingApprovalCount>=0&&typeof t.resident=="boolean"&&Number.isSafeInteger(t.estimatedBytes)&&t.estimatedBytes>=0&&typeof t.updatedAt=="string"&&(r?typeof t.queueId=="string"&&ft.test(t.queueId)&&Number.isSafeInteger(t.queuePosition)&&t.queuePosition>=1:t.queueId===void 0&&t.queuePosition===void 0)}function ya(t,r=null,l=!1,a=_a){const d=new URLSearchParams({pageSize:String(a)});return r&&d.set("cursor",r),l&&d.set("tail","1"),`${t}${t.includes("?")?"&":"?"}${d.toString()}`}function pr(t,r){t.set("expectedContextRevision",r.expectedContextRevision),t.set("workspaceId",r.workspaceId)}function Sn(t,r){const l=new URLSearchParams;return pr(l,r),`${t}${t.includes("?")?"&":"?"}${l.toString()}`}function Nt(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function Qe(){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();const t=crypto.getRandomValues(new Uint8Array(16));t[6]=t[6]&15|64,t[8]=t[8]&63|128;const r=[...t].map(l=>l.toString(16).padStart(2,"0")).join("");return`${r.slice(0,8)}-${r.slice(8,12)}-${r.slice(12,16)}-${r.slice(16,20)}-${r.slice(20)}`}function og({state:t,actions:r,insertion:l}){const a=t.workspaceId,d=t.activeSessionId??"",[p,h]=m.useState({workspaceId:a,sessionId:d,text:"",references:[]}),[g,k]=m.useState(null),[b,T]=m.useState(""),[N,$]=m.useState(new Set),M=m.useRef(null),q=`${a}:${d}`,D=m.useRef(q);D.current=q;const O=`${p.workspaceId}:${p.sessionId}`,Z=!d||!t.bootstrap?.configured||t.connection!=="live"||!vr(t),F=!!t.pendingAction,de=t.sessionSnapshot?.sessionRuntime.phase==="queued",X=!Z&&!F,ue=X&&!de;m.useEffect(()=>{if(!a||!d){h({workspaceId:a,sessionId:d,text:"",references:[]});return}const W=Nm(a,d);h({workspaceId:a,sessionId:d,text:W?.text??"",references:W?.references??[]}),T(""),$(new Set)},[a,d]),m.useEffect(()=>{if(!(!p.workspaceId||!p.sessionId))try{p.text||p.references.length>0?_m(p):Td(p.workspaceId,p.sessionId),T("")}catch(W){T(W instanceof Error?W.message:"草稿无法保存。")}},[p]),m.useEffect(()=>{!l||!d||O!==q||(h(W=>({...W,text:W.text.trim()?`${W.text.trimEnd()}
14
+ …已截断`}const nm=.02,tm=.1;function Jr(t,r,l){const a=Number.isFinite(t)?Math.round(t):r;return Math.min(l,Math.max(r,a))}function rm(t,r,l){const a=l-r;if(a<=0)return 0;const d=(Jr(t,r,l)-r)/a;return Math.round(d*100)}function sm(t){const{key:r,minWidth:l,maxWidth:a,defaultWidth:d,currentWidth:p,side:h}=t,g=N=>Jr(N,l,a);if(r==="Home")return g(l);if(r==="End")return g(a);if(r==="Enter"||r===" ")return g(d);if(r!=="ArrowLeft"&&r!=="ArrowRight")return null;const k=t.shiftKey?tm:nm,b=Math.max(1,Math.round((a-l)*k)),T=(r==="ArrowRight"?1:-1)*(h==="left"?1:-1);return g(p+T*b)}function vf({side:t,className:r,minWidth:l,maxWidth:a,defaultWidth:d,label:p,width:h,controls:g,onPreview:k,onCommit:b}){const T=m.useRef(Jr(h??d,l,a)),N=m.useRef(null),$=m.useRef(null),M=m.useRef(null),q=()=>{M.current!==null&&cancelAnimationFrame(M.current),M.current=null},D=()=>{N.current=null,$.current=null,q(),delete document.documentElement.dataset.panelResizing};m.useEffect(()=>D,[]),m.useEffect(()=>{h===void 0||N.current!==null||(T.current=Jr(h,l,a))},[h,l,a]);const O=J=>{T.current=J,$.current=J,M.current===null&&(M.current=requestAnimationFrame(()=>{M.current=null;const je=$.current;$.current=null,je!==null&&k(je)}))},Z=J=>{const Ne=J.currentTarget.closest(".workbench-shell")?.getBoundingClientRect()??{left:0,right:window.innerWidth},Re=t==="left"?J.clientX-Ne.left:Ne.right-J.clientX;return Jr(Re,l,a)},F=J=>{J.button!==0||N.current!==null||(J.preventDefault(),N.current=J.pointerId,J.currentTarget.setPointerCapture(J.pointerId),document.documentElement.dataset.panelResizing=t,O(Z(J)))},de=J=>{N.current===J.pointerId&&O(Z(J))},X=J=>{if(N.current!==J.pointerId)return;J.currentTarget.hasPointerCapture(J.pointerId)&&J.currentTarget.releasePointerCapture(J.pointerId);const je=$.current??T.current;D(),k(je),b(je)},ue=J=>{if(N.current!==J.pointerId)return;const je=$.current??T.current;D(),k(je),b(je)},I=J=>{T.current=J,k(J),b(J)},R=J=>{const je=sm({key:J.key,shiftKey:J.shiftKey,minWidth:l,maxWidth:a,defaultWidth:d,currentWidth:T.current,side:t});je!==null&&(J.preventDefault(),I(je))},ne=rm(T.current,l,a);return i.jsx("div",{className:`panel-resize-handle panel-resize-handle-${t}${r?` ${r}`:""}`,role:"separator","aria-orientation":"vertical","aria-label":p,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":ne,"aria-valuetext":`${T.current} 像素`,"aria-controls":g,tabIndex:0,title:`${p};方向键调整,Shift 加速,Enter 恢复默认,双击亦可恢复`,onPointerDown:F,onPointerMove:de,onPointerUp:X,onPointerCancel:X,onLostPointerCapture:ue,onKeyDown:R,onDoubleClick:()=>I(Jr(d,l,a)),children:i.jsx("span",{})})}const im=["ArrowDown","ArrowUp","Home","End","Escape"];function om({label:t,items:r,disabled:l=!1}){const[a,d]=m.useState(!1),p=m.useRef(null),h=m.useRef(null),g=m.useRef([]),k=m.useId(),b=()=>{d(!1),h.current?.focus()};m.useEffect(()=>{if(!a)return;const N=$=>{p.current?.contains($.target)||d(!1)};return document.addEventListener("pointerdown",N),()=>document.removeEventListener("pointerdown",N)},[a]),m.useEffect(()=>{if(!a)return;const N=r.findIndex($=>!$.disabled);g.current[N>=0?N:0]?.focus()},[a]);const T=N=>{if(!im.includes(N.key))return;if(N.preventDefault(),N.key==="Escape"){b();return}const $=r.map((D,O)=>({item:D,index:O})).filter(D=>!D.item.disabled);if(!$.length)return;const M=$.findIndex(D=>g.current[D.index]===document.activeElement);let q=0;if(N.key==="Home")q=0;else if(N.key==="End")q=$.length-1;else{const D=N.key==="ArrowDown"?1:-1;q=M<0?0:(M+D+$.length)%$.length}g.current[$[q].index]?.focus()};return i.jsxs("div",{className:"session-row-menu",ref:p,children:[i.jsx("button",{ref:h,type:"button",className:"icon-button session-row-menu-trigger","aria-label":t,"aria-haspopup":"menu","aria-expanded":a,disabled:l,onClick:()=>d(N=>!N),onKeyDown:N=>{if(N.key==="ArrowDown"||N.key==="Enter"||N.key===" "){if(a)return;N.preventDefault(),d(!0)}},children:i.jsx(K,{name:"more",size:15})}),a?i.jsx("div",{className:"session-menu",role:"menu","aria-label":t,onKeyDown:T,children:r.map((N,$)=>i.jsxs("button",{ref:M=>{g.current[$]=M},type:"button",role:"menuitem",className:`session-menu-item${N.danger?" danger":""}`,tabIndex:-1,disabled:N.disabled,"aria-describedby":N.hint?`${k}-${N.id}`:void 0,onClick:()=>{d(!1),N.onSelect()},children:[N.label,N.hint?i.jsx("span",{id:`${k}-${N.id}`,className:"session-menu-hint",children:N.hint}):null]},N.id))}):null]})}const Pa=240,So=280,yf=480,Nd=48,Ta=320,Ma=420,xf=720,lm=48,_d=560,wf="orion.web.workbench-layout.v2",am="orion.web.work-panel.v1",mr=Object.freeze({schemaVersion:2,projectNavigation:Object.freeze({expanded:!0,widthPx:So}),workPanel:Object.freeze({expanded:!0,widthPx:Ma,activePanel:"agent",agentPanel:"goal"})});function so(t,r){const l=fm(t),a=kf(r.projectNavigation.widthPx),d=$a(r.workPanel.widthPx);if(l<=760)return Object.freeze({projectNavigation:Object.freeze({mode:"drawer",widthPx:0}),conversationWidthPx:l,workPanel:Object.freeze({mode:"drawer",widthPx:0})});if(l<=1180){const b=l-_d,N=r.projectNavigation.expanded&&b>=Pa?"dock":r.projectNavigation.expanded?"drawer":"rail",$=N==="dock"?Math.min(a,b):N==="rail"?Nd:0;return Object.freeze({projectNavigation:Object.freeze({mode:N,widthPx:$}),conversationWidthPx:Math.max(0,l-$),workPanel:Object.freeze({mode:"drawer",widthPx:0})})}const p=r.projectNavigation.expanded?a:Nd,h=l-p-_d,g=r.workPanel.expanded&&h>=Ta,k=g?Math.min(d,h):lm;return Object.freeze({projectNavigation:Object.freeze({mode:r.projectNavigation.expanded?"dock":"rail",widthPx:p}),conversationWidthPx:Math.max(0,l-p-k),workPanel:Object.freeze({mode:g?"dock":"rail",widthPx:k})})}function kf(t){const r=Number.isFinite(t)?Math.round(t):So;return Math.min(yf,Math.max(Pa,r))}function $a(t){const r=Number.isFinite(t)?Math.round(t):Ma;return Math.min(xf,Math.max(Ta,r))}function cm(t,r=null){if(!t)return dm(r);try{const l=JSON.parse(t);if(!po(l)||l.schemaVersion!==2)return mr;const a=po(l.projectNavigation)?l.projectNavigation:{},d=po(l.workPanel)?l.workPanel:{};return jf({schemaVersion:2,projectNavigation:{expanded:typeof a.expanded=="boolean"?a.expanded:!0,widthPx:kf(Number(a.widthPx))},workPanel:{expanded:typeof d.expanded=="boolean"?d.expanded:!0,widthPx:$a(Number(d.widthPx)),activePanel:Cf(d.activePanel)?d.activePanel:"agent",agentPanel:Nf(d.agentPanel)?d.agentPanel:"goal"}})}catch{return mr}}function um(){const t=Sf();if(!t)return mr;try{return cm(t.localStorage.getItem(wf),t.localStorage.getItem(am))}catch{return mr}}function Id(t){const r=Sf();if(r)try{r.localStorage.setItem(wf,JSON.stringify(t))}catch{}}function dm(t){if(!t)return mr;try{const r=JSON.parse(t);return!po(r)||r.schemaVersion!==1?mr:jf({schemaVersion:2,projectNavigation:{expanded:!0,widthPx:So},workPanel:{expanded:typeof r.expanded=="boolean"?r.expanded:!0,widthPx:$a(Number(r.widthPx)),activePanel:Cf(r.activePanel)?r.activePanel:"agent",agentPanel:Nf(r.agentPanel)?r.agentPanel:"goal"}})}catch{return mr}}function jf(t){return Object.freeze({schemaVersion:2,projectNavigation:Object.freeze({...t.projectNavigation}),workPanel:Object.freeze({...t.workPanel})})}function fm(t){return!Number.isFinite(t)||t<=0?1440:Math.max(320,Math.round(t))}function Sf(){return globalThis.window??null}function Cf(t){return["agent","review","terminal","files","git"].includes(String(t))}function Nf(t){return["goal","activity","integrations","diagnostics"].includes(String(t))}function po(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}const dr=40;function pm({state:t,drawerOpen:r,dockVisible:l,collapsed:a,resizable:d,width:p,onCloseDrawer:h,onExpand:g,onCollapse:k,onOpenWorkspaceDialog:b,onOpenSettings:T,onLoadMoreWorkspaces:N,onCreateSession:$,onLoadWorkspaceSessions:M,onActivateContext:q,onSetPinned:D,onRemoveWorkspace:O,onRefreshSummary:Z,onRenameSession:F,onSessionTags:de,onArchiveSession:X,onDeleteSession:ue,onRestoreSession:I,onWidthPreview:R,onWidthCommit:ne}){const[J,je]=m.useState(""),[Ne,Re]=m.useState(0),[W,we]=m.useState(new Set(t.workspaceId?[t.workspaceId]:[])),Q=m.useDeferredValue(J.trim().toLocaleLowerCase()),me=m.useRef(null),ve=!!t.pendingAction,H=ve||t.processing;m.useEffect(()=>{r&&me.current?.focus()},[r]),m.useEffect(()=>{t.workspaceId&&we(P=>new Set([...P,t.workspaceId]))},[t.workspaceId]),m.useEffect(()=>Re(0),[Q]);const te=m.useMemo(()=>{const P=[...t.workspaces].sort(hm);return Q?P.filter(le=>Ed(le,Q)?!0:(t.workspaceSessions[le.id]?.items??[]).some(ge=>[ge.name,ge.taskSummary,ge.id].filter(ye=>!!ye).some(ye=>ye.toLocaleLowerCase().includes(Q)))):P},[Q,t.workspaceSessions,t.workspaces]);m.useEffect(()=>{const P=te.findIndex(le=>le.id===t.workspaceId);P<0||Re(le=>P<le||P>=le+dr?Math.floor(P/dr)*dr:le)},[te,t.workspaceId]);const G=te.slice(Ne,Ne+dr),w=!!(Q&&(t.workspaceNextCursor||Object.values(t.workspaceSessions).some(P=>!!P.nextCursor))),A=P=>{const le=new Set(W);le.has(P.id)?le.delete(P.id):(le.add(P.id),t.workspaceSessions[P.id]?Z(P.id):M(P.id)),we(le)};if(a&&!r){const P=t.workspaces.find(le=>le.id===t.workspaceId);return i.jsxs("aside",{id:"workspace-rail",className:"workspace-rail project-navigator project-navigator-collapsed","aria-label":"项目与会话",hidden:!l,children:[i.jsxs("div",{className:"project-rail-brand","aria-hidden":"true",children:[i.jsx("span",{}),i.jsx("span",{}),i.jsx("span",{})]}),i.jsx("button",{type:"button",className:"icon-button project-rail-action","aria-label":"展开项目导航",title:"展开项目导航(⌘/Ctrl+B)",onClick:g,children:i.jsx(K,{name:"sidebar",size:17})}),i.jsx("button",{type:"button",className:"icon-button project-rail-action","aria-label":"新建会话",title:"新建会话",onClick:$,disabled:ve||!t.workspaceId,children:i.jsx(K,{name:"add",size:18})}),i.jsx("button",{type:"button",className:"icon-button project-rail-action project-rail-workspace","aria-label":P?`打开项目 ${P.label}`:"打开项目导航",title:P?.label??"打开项目导航",onClick:g,children:i.jsx(K,{name:"workspace",size:17})}),i.jsx("span",{className:"project-rail-spacer"}),i.jsx("button",{type:"button",className:"icon-button project-rail-action","aria-label":"打开设置",title:"设置",onClick:T,children:i.jsx(K,{name:"settings",size:17})}),i.jsx("span",{className:`connection-dot project-rail-connection ${t.connection}`,"aria-label":va(t.connection),title:va(t.connection)})]})}return i.jsxs("aside",{id:"project-navigation",className:`workspace-rail project-navigator ${r?"drawer-open":""}`,"aria-label":"项目与会话",hidden:!l,children:[i.jsxs("div",{className:"brand-row",children:[i.jsxs("div",{className:"brand-mark","aria-hidden":"true",children:[i.jsx("span",{}),i.jsx("span",{}),i.jsx("span",{})]}),i.jsxs("div",{className:"brand-copy",children:[i.jsx("strong",{children:"ORION"}),i.jsx("span",{children:"CODE WORKBENCH"})]}),i.jsx("button",{ref:me,type:"button",className:"icon-button drawer-close","aria-label":"关闭项目导航",onClick:h,children:i.jsx(K,{name:"close"})}),i.jsx("button",{type:"button",className:"icon-button project-navigation-collapse","aria-label":"折叠项目导航",title:"折叠项目导航(⌘/Ctrl+B)",onClick:k,children:i.jsx(K,{name:"sidebar"})})]}),i.jsxs("div",{className:"project-toolbar",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"LOCAL PROJECTS"}),i.jsx("h2",{children:"项目"})]}),i.jsx("button",{type:"button",className:"icon-button","aria-label":"选择其他工作区",title:"打开其他项目",onClick:b,disabled:H,children:i.jsx(K,{name:"add"})})]}),i.jsxs("label",{className:"project-search",children:[i.jsx("span",{className:"sr-only",children:"搜索项目和会话"}),i.jsx(K,{name:"search",size:15}),i.jsx("input",{type:"search",value:J,onChange:P=>je(P.target.value),placeholder:"搜索项目和会话"}),J?i.jsx("button",{type:"button","aria-label":"清除搜索",onClick:()=>je(""),children:i.jsx(K,{name:"close",size:13})}):null]}),w?i.jsx("p",{className:"project-search-scope",role:"status",children:"搜索仅覆盖已加载的项目和会话;仍有分页内容未加载。"}):null,i.jsxs("nav",{className:"project-tree","aria-label":"已知项目",children:[G.map((P,le)=>{const ge=Ne+le,ye=te[ge-1],be=W.has(P.id)||!!Q,ke=t.workspaceSessions[P.id],Pe=t.workspaceProjectSummaries[P.id],He=Ed(P,Q)?ke?.items??[]:mm(ke?.items??[],Q);return i.jsxs(m.Fragment,{children:[ge===0||ye?.pinnedOrder!==void 0&&P.pinnedOrder===void 0?i.jsx("h3",{className:"project-group-heading",role:"presentation",children:P.pinnedOrder===void 0?"RECENT":"PINNED"}):null,i.jsxs("section",{className:`project-node ${P.active?"active":""} ${P.available?"":"unavailable"}`,children:[i.jsxs("div",{className:"project-row",children:[i.jsxs("button",{id:`project-${P.id}`,type:"button",className:"project-toggle","aria-expanded":be,"aria-controls":`project-${P.id}-sessions`,"aria-current":P.active?"page":void 0,onClick:()=>A(P),onKeyDown:Ce=>{if(Ce.key==="ArrowRight"){Ce.preventDefault(),be?Ce.currentTarget.closest(".project-node")?.querySelector(".project-session-main")?.focus():A(P);return}if(Ce.key==="ArrowLeft"&&be){Ce.preventDefault(),A(P);return}bd(Ce)},children:[i.jsx(K,{name:"chevron",size:13}),i.jsx("span",{className:"workspace-icon",children:i.jsx(K,{name:"workspace",size:15})}),i.jsxs("span",{className:"project-copy",children:[i.jsx("strong",{children:P.label}),i.jsx("span",{title:P.path,children:Pe?`${Pe.detached?Pe.head||"detached":Pe.branch||"Git"} · ${Pe.dirtyCount?`M${Pe.dirtyCount}`:"clean"}`:gm(P.path)})]})]}),i.jsx("button",{type:"button",className:"icon-button project-pin","aria-label":`${P.pinnedOrder===void 0?"置顶":"取消置顶"}项目 ${P.label}`,"aria-pressed":P.pinnedOrder!==void 0,onClick:()=>D(P.id,P.pinnedOrder===void 0),disabled:ve,children:i.jsx("span",{"aria-hidden":"true",children:P.pinnedOrder===void 0?"○":"●"})}),!P.available&&!P.active?i.jsx("button",{type:"button",className:"icon-button project-remove","aria-label":`移除不可用项目 ${P.label}`,onClick:()=>O(P.id),disabled:ve,children:i.jsx(K,{name:"close",size:13})}):i.jsx("button",{type:"button",className:"icon-button project-add-session","aria-label":`在 ${P.label} 新建会话`,disabled:ve||!P.available||!P.active,onClick:$,title:P.active?"新建会话":"先激活项目后新建会话",children:i.jsx(K,{name:"add",size:14})})]}),be?i.jsxs(m.Fragment,{children:[i.jsxs("div",{id:`project-${P.id}-sessions`,className:"project-sessions",role:"list","aria-label":`${P.label} 的会话`,children:[ke?.status==="loading"&&!ke.items.length?i.jsx("p",{className:"project-loading",role:"listitem",children:"正在加载会话…"}):null,ke?.status==="error"?i.jsx("div",{role:"listitem",children:i.jsx("button",{type:"button",className:"project-load-error",onClick:()=>M(P.id),children:"加载失败,重试"})}):null,He.map(Ce=>{const sn=P.active&&Ce.id===t.activeSessionId,Ye=t.sessionRuntimeById[Ce.id],pn=ym(Ye),Kn=!P.active&&H,$n=wm(Ye?.phase),bn=Ce.tags??[];return i.jsxs("div",{className:`project-session-row ${sn?"active":""}`,role:"listitem",children:[i.jsxs("button",{type:"button",className:"project-session-main","aria-current":sn?"page":void 0,"aria-disabled":sn||Kn||!P.available,onClick:()=>{sn||q(P.id,Ce.id)},disabled:Kn||!P.available,onKeyDown:gn=>{if(gn.key==="ArrowLeft"){gn.preventDefault(),document.getElementById(`project-${P.id}`)?.focus();return}bd(gn)},children:[i.jsx("span",{className:`session-state ${pn.tone}`,"aria-hidden":"true"}),i.jsxs("span",{children:[i.jsx("strong",{children:gr(Ce)}),i.jsxs("small",{children:[Rd(Ce.updatedAt)," · ",Ce.messageCount," 条"]}),bn.length>0?i.jsxs("small",{className:"project-session-tags","aria-label":"会话标签",children:[bn.slice(0,3).map(gn=>i.jsx("span",{className:"session-tag-badge",children:gn},gn)),bn.length>3?i.jsxs("span",{className:"session-tag-more",children:["+",bn.length-3]}):null]}):null,pn.label?i.jsx("small",{className:"project-session-status",children:pn.label}):null]})]}),P.active?i.jsx(om,{label:`会话 ${gr(Ce)} 操作`,disabled:ve,items:[{id:"rename",label:"重命名…",onSelect:()=>F(Ce)},{id:"tags",label:"管理标签…",onSelect:()=>de(Ce)},{id:"archive",label:"归档",disabled:$n,hint:$n?"会话运行中":void 0,onSelect:()=>X(Ce)},{id:"delete",label:"删除…",danger:!0,disabled:$n,hint:$n?"会话运行中":void 0,onSelect:()=>ue(Ce)}]}):null]},Ce.id)}),ke?.status==="ready"&&!He.length?i.jsx("div",{role:"listitem",children:i.jsx("button",{type:"button",className:"project-empty-session",disabled:H||!P.available,onClick:()=>q(P.id,null),children:Q?"没有匹配会话":"打开项目"})}):null,ke?.nextCursor?i.jsx("div",{role:"listitem",children:i.jsx("button",{type:"button",className:"text-button project-load-more",onClick:()=>M(P.id,!0),children:"加载更多会话"})}):null]}),P.active&&(t.archivedSessions.items.length>0||t.archivedSessions.status==="loading")?i.jsxs("details",{className:"archived-section",children:[i.jsxs("summary",{children:["已归档(",t.archivedSessions.items.length,t.archivedSessions.status==="loading"?"…":"",")"]}),i.jsx("div",{className:"archived-list",role:"list","aria-label":"已归档会话",children:t.archivedSessions.items.map(Ce=>i.jsxs("div",{className:"archived-row",role:"listitem",children:[i.jsxs("span",{className:"archived-copy",children:[i.jsx("strong",{children:gr(Ce)}),i.jsx("small",{children:Rd(Ce.updatedAt)})]}),i.jsx("button",{type:"button",className:"text-button",disabled:ve,onClick:()=>I(Ce),children:"还原"}),i.jsx("button",{type:"button",className:"text-button archived-delete",disabled:ve,onClick:()=>ue(Ce),children:"删除"})]},Ce.id))})]}):null]}):null]})]},P.id)}),te.length?null:i.jsxs("div",{className:"empty-rail",children:[i.jsx(K,{name:"search"}),i.jsx("p",{children:"没有匹配的项目或会话"})]}),Ne>0?i.jsx("button",{type:"button",className:"text-button project-window-more",onClick:()=>Re(P=>Math.max(0,P-dr)),children:"上一批项目"}):null,Ne+dr<te.length?i.jsx("button",{type:"button",className:"text-button project-window-more",onClick:()=>Re(P=>P+dr),children:"下一批项目"}):t.workspaceNextCursor?i.jsx("button",{type:"button",className:"text-button project-window-more",onClick:N,children:"加载更多项目"}):null]}),i.jsxs("footer",{className:"rail-footer",children:[i.jsx("span",{className:`connection-dot ${t.connection}`,"aria-hidden":"true"}),i.jsx("span",{title:vm(t.connection),children:va(t.connection)}),i.jsx("button",{type:"button",className:"icon-button rail-settings","aria-label":"打开设置",onClick:T,children:i.jsx(K,{name:"settings",size:14})}),t.bootstrap?.productVersion?i.jsxs("span",{className:"version",children:["v",t.bootstrap.productVersion]}):null]}),d?i.jsx(vf,{side:"left",minWidth:Pa,maxWidth:yf,defaultWidth:So,label:"拖动或按方向键调整项目导航宽度",width:p,controls:"workspace-rail",onPreview:R,onCommit:ne}):null]})}function bd(t){if(!["ArrowDown","ArrowUp","Home","End"].includes(t.key))return;const r=t.currentTarget.closest(".project-tree");if(!r)return;const l=Array.from(r.querySelectorAll(".project-toggle:not(:disabled), .project-session-main:not(:disabled)")).filter(p=>p.getClientRects().length>0),a=l.indexOf(t.currentTarget);if(a<0||l.length===0)return;const d=t.key==="Home"?0:t.key==="End"?l.length-1:Math.max(0,Math.min(l.length-1,a+(t.key==="ArrowDown"?1:-1)));t.preventDefault(),l[d]?.focus()}function hm(t,r){return t.pinnedOrder!==void 0||r.pinnedOrder!==void 0?t.pinnedOrder===void 0?1:r.pinnedOrder===void 0?-1:t.pinnedOrder-r.pinnedOrder:Date.parse(r.lastActivatedAt)-Date.parse(t.lastActivatedAt)}function Ed(t,r){return!!(r&&(t.label.toLocaleLowerCase().includes(r)||t.path.toLocaleLowerCase().includes(r)))}function mm(t,r){return r?t.filter(l=>[l.name,l.taskSummary,l.id,l.model].filter(a=>!!a).some(a=>a.toLocaleLowerCase().includes(r))):t}function gr(t){return t.name||t.taskSummary||`会话 ${t.id.slice(0,8)}`}function _f(t){const r=t.replace(/[\\/]+$/,"");return r.split(/[\\/]/).filter(Boolean).at(-1)??r}function gm(t){return t.length<=31?t:`…${t.slice(-30)}`}function Rd(t){const r=Date.parse(t);if(!Number.isFinite(r))return"未知";const l=Math.max(0,Math.floor((Date.now()-r)/6e4));if(l<1)return"刚刚";if(l<60)return`${l} 分钟前`;const a=Math.floor(l/60);if(a<24)return`${a} 小时前`;const d=Math.floor(a/24);return d<30?`${d} 天前`:new Date(r).toLocaleDateString("zh-CN")}function va(t){return t==="live"?"已连接":t==="offline"?"离线":t==="replay-required"?"事件流需恢复":t==="closed"?"已关闭":t==="connecting"?"正在连接…":"正在重连…"}function vm(t){return t==="live"?"本地 Web Host 已连接":t==="offline"?"浏览器离线":t==="replay-required"?"Web Host 事件流需要恢复":t==="closed"?"本地 Web Host 已关闭":t==="connecting"?"正在连接本地 Web Host":"正在重连本地 Web Host"}function ym(t){return!t||t.phase==="cold"?{label:"",tone:""}:t.pendingApprovalCount>0||t.phase==="waiting_approval"?{label:"等待审批",tone:"approval"}:t.phase==="running"||t.phase==="starting"?{label:t.phase==="starting"?"正在启动":"运行中",tone:"running"}:t.phase==="queued"?{label:t.queuePosition?`排队 ${t.queuePosition}`:"排队中",tone:"queued"}:t.phase==="failed"?{label:"失败",tone:"failed"}:t.phase==="interrupted"?{label:"已中断",tone:"failed"}:t.phase==="stopping"?{label:"正在停止",tone:"running"}:{label:"已就绪",tone:"ready"}}const xm=new Set(["starting","queued","running","waiting_approval","stopping"]);function wm(t){return t?xm.has(t):!1}const km=Object.freeze({activating:"running",closed:"danger",completed:"success",connected:"success",done:"success",draining:"warning",error:"danger",failed:"danger",live:"running",offline:"danger",passed:"success",pending:"running",queued:"running",ready:"success",rejected:"danger",replay:"warning","replay-required":"warning",running:"running",skipped:"warning",streaming:"running",success:"success",timedout:"warning",warning:"warning"}),Pd=Object.freeze({danger:"失败",idle:"空闲",running:"进行中",success:"已完成",warning:"部分完成"});function jm(t){return km[t.trim().toLowerCase()]??"idle"}function Sm(t){return Pd[t]??Pd.idle}function Aa({state:t,className:r="",label:l,describe:a=!0}){const d=jm(t);return i.jsxs(i.Fragment,{children:[i.jsx("span",{className:`state-dot state-${t}${r?` ${r}`:""}`,"data-tone":d,"aria-hidden":"true"}),a?i.jsx("span",{className:"sr-only",children:l??Sm(d)}):null]})}const ns="orion.web.composer-drafts.v1",If=20,ja=256*1024,Cm=5*1024*1024;function Nm(t,r){return Co().entries.find(l=>l.workspaceId===t&&l.sessionId===r)??null}function _m(t){const r=No();if(!r)return;const l=Object.freeze({...t,references:[...t.references],updatedAt:Date.now()});if(Sa(l)>ja)throw new Error(`Composer draft exceeds ${ja} bytes.`);const a=Co().entries.filter(p=>!(p.workspaceId===t.workspaceId&&p.sessionId===t.sessionId)),d=[l,...a].slice(0,If);for(;d.length>0&&Sa({version:1,entries:d})>Cm;)d.pop();r.setItem(ns,JSON.stringify({version:1,entries:d}))}function Td(t,r){const l=No();if(!l)return;const a=Co().entries.filter(d=>!(d.workspaceId===t&&d.sessionId===r));a.length===0?l.removeItem(ns):l.setItem(ns,JSON.stringify({version:1,entries:a}))}function Im(t){const r=No();if(!r)return;const l=Co().entries.filter(a=>a.workspaceId!==t);l.length===0?r.removeItem(ns):r.setItem(ns,JSON.stringify({version:1,entries:l}))}function Co(){const t=No();if(!t)return{version:1,entries:[]};try{const r=JSON.parse(t.getItem(ns)??"");return r.version!==1||!Array.isArray(r.entries)?{version:1,entries:[]}:{version:1,entries:r.entries.filter(bm).slice(0,If)}}catch{return{version:1,entries:[]}}}function bm(t){if(!t||typeof t!="object")return!1;const r=t;return typeof r.workspaceId=="string"&&typeof r.sessionId=="string"&&typeof r.text=="string"&&Array.isArray(r.references)&&typeof r.updatedAt=="number"&&Number.isFinite(r.updatedAt)&&Sa(r)<=ja}function No(){try{return typeof window>"u"?null:window.sessionStorage}catch{return null}}function Sa(t){return new TextEncoder().encode(JSON.stringify(t)).byteLength}const bf=/^hmac-sha256:[0-9a-f]{64}$/,Em=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,Rm=/^(?:api[-_]?key|authorization|cookie|password|secret|access[-_]?token|refresh[-_]?token|auth[-_]?token|credential[-_]?value|headers?|env(?:ironment)?[-_]?name)$/i,Pm=["ready","invalid","read-only","unavailable"],Tm=["internal","model","global","project","session"],Mm=["global","project","session"],$m=["live","next-logical-request","new-session","restart"],Am=["runtime_busy","read_only","invalid_document"],Dm=["system","light","dark"],Lm=["system","reduced"],Om=["classic","orion-blocksmith"],Ef=["auto","none","minimal","low","medium","high","xhigh","max"],zm=["ask","allow","deny"],Fm=["appearance.style","appearance.theme","appearance.motion","defaults.model","defaults.effort","permissions.toolConfirmation"];function Ca(t){go(t);const r=Hn(t,"Settings document");if(Vn(r,["schemaVersion","revision","state","writable","hasDocument","workspace","sections","models","credentials","currentSession","diagnostic"]),r.schemaVersion!==1&&r.schemaVersion!==2)throw new Error("Settings schemaVersion is not supported.");const l=r.schemaVersion,a=In(r.revision,"Settings revision");if(!bf.test(a))throw new Error("Settings revision is invalid.");const d=it(r.state,"Settings state",Pm),p=Hn(r.sections,"Settings sections");Vn(p,["appearance","defaults","permissions"]);const h=Hn(p.appearance,"Appearance settings");Vn(h,l===1?["theme","motion"]:["style","theme","motion"]);const g=Hn(p.defaults,"Default settings");Vn(g,["model","effort"]);const k=Hn(p.permissions,"Permission settings");Vn(k,["toolConfirmation"]);const b=Na(r.models,"Settings models").map(Wm),T=Na(r.credentials,"Credential status").map(Um),N=r.currentSession===void 0?void 0:Hm(r.currentSession),$=r.diagnostic===void 0?void 0:Vm(r.diagnostic);return{schemaVersion:2,revision:a,state:d,writable:Zr(r.writable,"Settings writable"),hasDocument:Zr(r.hasDocument,"Settings document availability"),workspace:In(r.workspace,"Settings workspace"),sections:{appearance:{style:l===1?Ym(d,Zr(r.writable,"Settings writable")):Qr(h.style,"Visual style",Gm),theme:Qr(h.theme,"Theme",Qm),motion:Qr(h.motion,"Motion",Xm)},defaults:{model:Qr(g.model,"Default model",eg),effort:Qr(g.effort,"Default effort",Jm)},permissions:{toolConfirmation:Qr(k.toolConfirmation,"Tool confirmation",Zm)}},models:b,credentials:T,...N?{currentSession:N}:{},...$?{diagnostic:$}:{}}}function Bm(t){go(t);const r=Hn(t,"Settings mutation result");Vn(r,["requestId","revision","appliedKeys","settings"]);const l=In(r.requestId,"Settings requestId");if(!Em.test(l))throw new Error("Settings requestId is invalid.");const a=Ca(r.settings),d=In(r.revision,"Settings mutation revision");if(d!==a.revision)throw new Error("Settings mutation revisions do not match.");const p=Na(r.appliedKeys,"Applied setting keys").map((h,g)=>it(h,`Applied setting key ${g+1}`,Fm));if(new Set(p).size!==p.length)throw new Error("Settings mutation contains duplicate applied keys.");return{requestId:l,revision:d,appliedKeys:p,settings:a}}function qm(t){const r=Hn(t.payload,"Settings invalidation payload");Vn(r,["revision","reason","state"]);const l=In(r.revision,"Settings invalidation revision");if(!bf.test(l))throw new Error("Settings invalidation revision is invalid.");return{apiVersion:1,eventId:In(t.eventId,"Settings invalidation eventId"),cursor:Km(t.cursor,"Settings invalidation cursor"),sessionId:null,threadId:null,durable:!1,timestamp:In(t.timestamp,"Settings invalidation timestamp"),type:"settings_invalidated",payload:{revision:l,reason:it(r.reason,"Settings invalidation reason",["local-write","external-edit","workspace-change"]),state:it(r.state,"Settings invalidation state",["ready","invalid"])}}}function Qr(t,r,l){const a=Hn(t,`${r} field`);if(Vn(a,["effectiveValue","explicitValue","inheritedValue","source","scope","applies","overridden","writable","blockedReason"]),!l(a.effectiveValue))throw new Error(`${r} effective value is invalid.`);if(a.explicitValue!==void 0&&!l(a.explicitValue))throw new Error(`${r} explicit value is invalid.`);if(a.inheritedValue!==void 0&&!l(a.inheritedValue))throw new Error(`${r} inherited value is invalid.`);const d=a.explicitValue,p=a.inheritedValue;return{effectiveValue:a.effectiveValue,...d===void 0?{}:{explicitValue:d},...p===void 0?{}:{inheritedValue:p},source:it(a.source,`${r} source`,Tm),scope:it(a.scope,`${r} scope`,Mm),applies:it(a.applies,`${r} application timing`,$m),overridden:Zr(a.overridden,`${r} override state`),writable:Zr(a.writable,`${r} writable state`),...a.blockedReason===void 0?{}:{blockedReason:it(a.blockedReason,`${r} blocked reason`,Am)}}}function Wm(t,r){const l=Hn(t,`Model ${r+1}`);return Vn(l,["id","label","provider"]),{id:In(l.id,`Model ${r+1} id`),label:In(l.label,`Model ${r+1} label`),...l.provider===void 0?{}:{provider:In(l.provider,`Model ${r+1} provider`)}}}function Um(t,r){const l=Hn(t,`Credential ${r+1}`);if(Vn(l,["providerId","state","source","writable"]),l.writable!==!1)throw new Error("Browser credential status must be read-only.");return{providerId:In(l.providerId,`Credential ${r+1} provider`),state:it(l.state,`Credential ${r+1} state`,["ready","missing","unavailable"]),source:it(l.source,`Credential ${r+1} source`,["environment","legacy","none"]),writable:!1}}function Hm(t){const r=Hn(t,"Current session settings");return Vn(r,["model","effort","overridesProjectEffort"]),{model:In(r.model,"Current session model"),effort:it(r.effort,"Current session effort",Ef),overridesProjectEffort:Zr(r.overridesProjectEffort,"Current session effort override state")}}function Vm(t){const r=Hn(t,"Settings diagnostic");return Vn(r,["code","message"]),{code:In(r.code,"Settings diagnostic code"),message:In(r.message,"Settings diagnostic message")}}function go(t,r=new Set){if(!(!t||typeof t!="object")){if(r.has(t))throw new Error("Settings response contains a cycle.");r.add(t);try{if(Array.isArray(t)){for(const l of t)go(l,r);return}for(const[l,a]of Object.entries(t)){if(Rm.test(l))throw new Error("Settings response contains a forbidden secret-bearing field.");go(a,r)}}finally{r.delete(t)}}}function Hn(t,r){if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${r} must be an object.`);return t}function Na(t,r){if(!Array.isArray(t))throw new Error(`${r} must be an array.`);return t}function In(t,r){if(typeof t!="string"||!t.trim())throw new Error(`${r} must be text.`);return t}function Zr(t,r){if(typeof t!="boolean")throw new Error(`${r} must be boolean.`);return t}function Km(t,r){if(!Number.isSafeInteger(t)||t<0)throw new Error(`${r} must be a non-negative safe integer.`);return t}function it(t,r,l){if(typeof t!="string"||!l.includes(t))throw new Error(`${r} is invalid.`);return t}function Vn(t,r){const l=new Set(r),a=Object.keys(t).find(d=>!l.has(d));if(a)throw new Error(`Settings response contains an unknown field: ${a}.`)}function Qm(t){return typeof t=="string"&&Dm.includes(t)}function Gm(t){return typeof t=="string"&&Om.includes(t)}function Ym(t,r){const l=t==="invalid"?"invalid_document":t==="ready"&&r?void 0:"read_only";return{effectiveValue:"orion-blocksmith",inheritedValue:"orion-blocksmith",source:"internal",scope:"global",applies:"live",overridden:!1,writable:t==="ready"&&r,...l?{blockedReason:l}:{}}}function Xm(t){return typeof t=="string"&&Lm.includes(t)}function Jm(t){return typeof t=="string"&&Ef.includes(t)}function Zm(t){return typeof t=="string"&&zm.includes(t)}function eg(t){return typeof t=="string"&&!!t.trim()}const io="/api/v1",ng="x-orion-web-nonce",_a=100,tg=50,ft=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;class _e extends Error{constructor(l,a,d,p){super(l);Un(this,"status");Un(this,"code");Un(this,"type");this.status=a,this.code=d,this.type=p,this.name="WebApiError"}}class rg{constructor(){Un(this,"nonce","")}async bootstrap(){const r=await this.query("/bootstrap");if(!Nt(r)||r.apiVersion!==1||typeof r.nonce!="string")throw new _e("Web Host 返回了不兼容的启动协议。",502);return this.nonce=r.nonce,{...r,settings:Ca(r.settings)}}async listWorkspaces(r,l){const a=await this.collectionPage(Sn("/workspaces",r),l),d=a.items.find(p=>p.active);return{activeId:d?.id??"",activePath:d?.path??"",workspaces:a.items,nextCursor:a.nextCursor}}async listWorkspaceSessions(r,l,a){const d=await this.collectionPage(Sn(`/workspaces/${encodeURIComponent(r)}/sessions`,l),a);return{sessions:d.items,nextCursor:d.nextCursor}}workspaceProjectSummary(r,l){return this.query(Sn(`/workspaces/${encodeURIComponent(r)}/summary`,l))}async listSessions(r,l){const a=await this.collectionPage(Sn("/sessions",r),l);return{sessions:a.items,nextCursor:a.nextCursor}}diagnostics(r){return this.query(Sn("/diagnostics",r))}async settings(){return Ca(await this.query("/settings"))}async sessionSnapshot(r,l,a){const d=`/sessions/${encodeURIComponent(r)}/snapshot`;return this.query(ya(Sn(d,l),a??null,!0,tg))}composerState(r,l){return this.query(Sn(`/sessions/${encodeURIComponent(r)}/composer-state`,l))}modelCatalog(r,l,a){return this.query(ya(Sn(`/sessions/${encodeURIComponent(r)}/model-catalog`,l),a??null,!1,_a))}composerAction(r,l){return this.mutate(`/sessions/${encodeURIComponent(r)}/composer-actions`,"POST",{...l,requestId:Qe()})}async skills(r,l){const a=await this.collectionPage(Sn("/skills",r),l);return{skills:a.items,nextCursor:a.nextCursor}}async mcp(r,l){const a=await this.collectionPage(Sn("/mcp",r),l);return{servers:a.items,nextCursor:a.nextCursor}}async toolDetails(r,l){const a=await this.collectionPage(Sn("/tool-details",r),l);return{details:a.items,nextCursor:a.nextCursor}}readToolDetail(r,l,a=0,d=64*1024){const p=new URLSearchParams({offsetBytes:String(a),limitBytes:String(d)});return pr(p,l),this.query(`/tool-details/${encodeURIComponent(r)}?${p.toString()}`)}listFiles(r,l,a){const d=new URLSearchParams({pageSize:"100"});return pr(d,r),l&&d.set("parentId",l),a&&d.set("cursor",a),this.query(`/files?${d.toString()}`)}readFileContent(r,l,a){const d=new URLSearchParams({limitBytes:String(65536)});return pr(d,l),a&&d.set("cursor",a),this.query(`/files/${encodeURIComponent(r)}/content?${d.toString()}`)}gitStatus(r,l){const a=new URLSearchParams({pageSize:"200"});return pr(a,r),l&&a.set("cursor",l),this.query(`/git/status?${a.toString()}`)}gitLog(r,l){const a=new URLSearchParams({pageSize:"30"});return pr(a,r),l&&a.set("cursor",l),this.query(`/git/log?${a.toString()}`)}gitDiff(r,l,a){const d=new URLSearchParams({lineLimit:"240",byteLimit:String(262144)});return pr(d,l),a&&d.set("cursor",a),this.query(`/git/diff/${encodeURIComponent(r)}?${d.toString()}`)}review(r){return this.query(Sn("/review",r))}async terminals(r,l){const a=await this.collectionPage(Sn("/terminals",r),l);return{terminals:a.items,nextCursor:a.nextCursor}}createTerminal(r){return this.mutate("/terminals","POST",{...r,requestId:Qe()},{"X-Orion-User-Gesture":"terminal-create-v1"})}terminalAttachTicket(r,l){return this.mutate(`/terminals/${encodeURIComponent(r)}/attach-ticket`,"POST",{...l,requestId:Qe()})}closeTerminal(r,l){return this.mutate(`/terminals/${encodeURIComponent(r)}`,"DELETE",{...l,requestId:Qe()})}terminalSocket(r){const l=location.protocol==="https:"?"wss:":"ws:";return new WebSocket(`${l}//${location.host}${io}/terminals/${encodeURIComponent(r)}/stream`,"orion-terminal-v1")}activateContext(r){return this.mutate("/context/activate","POST",{...r,requestId:Qe()})}async setWorkspacePinned(r,l,a){return(await this.mutate(`/workspaces/${encodeURIComponent(r)}/pin`,"POST",{requestId:Qe(),pinned:l,...a})).workspace}removeWorkspace(r,l){return this.mutate(`/workspaces/${encodeURIComponent(r)}`,"DELETE",{requestId:Qe(),...l})}async activateWorkspace(r,l){const a=await this.mutate("/workspaces/activate","POST",{requestId:Qe(),path:r,...l});return{requestId:a.requestId,activeId:a.page.items.find(d=>d.active)?.id??"",activePath:a.active,workspaces:a.page.items,nextCursor:a.page.nextCursor}}async createSession(r){return(await this.mutate("/sessions","POST",{requestId:Qe(),...r})).session}activateSession(r,l){return this.mutate(`/sessions/${encodeURIComponent(r)}/activate`,"POST",{requestId:Qe(),...l})}async renameSession(r,l,a){return(await this.mutate(`/sessions/${encodeURIComponent(r)}`,"PATCH",{requestId:Qe(),name:l,...a})).session}async updateSessionTags(r,l,a){return(await this.mutate(`/sessions/${encodeURIComponent(r)}/tags`,"POST",{requestId:Qe(),tags:[...l],...a})).session}async archiveSession(r,l){return(await this.mutate(`/sessions/${encodeURIComponent(r)}/archive`,"POST",{requestId:Qe(),...l})).session}async restoreSession(r,l){return(await this.mutate(`/sessions/${encodeURIComponent(r)}/restore`,"POST",{requestId:Qe(),...l})).session}async deleteSession(r,l){await this.mutate(`/sessions/${encodeURIComponent(r)}`,"DELETE",{requestId:Qe(),...l})}async listArchivedWorkspaceSessions(r,l,a){const d=await this.collectionPage(Sn(`/workspaces/${encodeURIComponent(r)}/sessions/archived`,l),a);return{sessions:d.items,nextCursor:d.nextCursor}}command(r){return this.mutate("/commands","POST",{...r,requestId:Qe()})}async updateSettings(r,l,a,d=Qe()){const p=await this.mutate("/settings","PATCH",{operations:l,expectedRevision:r,...a,requestId:d}),h=Bm(p);if(h.requestId!==d)throw new _e("Host 返回了其他设置请求的结果。",502,"settings_response_invalid");const g=l.map(k=>k.key);if(h.appliedKeys.length!==g.length||g.some(k=>!h.appliedKeys.includes(k)))throw new _e("Host 返回的设置字段与提交内容不一致。",502,"settings_response_invalid");return h}openSettingsDocument(){return this.mutate("/settings/open-document","POST",{requestId:Qe()})}connectEvents(r){let l=Math.max(0,r.cursor??0),a=null,d,p=0,h=!1,g=!1;const k=()=>{if(!(h||g)){if(!navigator.onLine){r.onStatus("offline",p);return}r.onStatus(p===0?"connecting":"reconnecting",p),a=new EventSource(`${io}/events?cursor=${l}`),a.onopen=()=>{p=0,r.onStatus("live",p)},a.addEventListener("orion",N=>{if(!(h||g))try{const $=sg(N.data);if($.type==="replay_reset"){l=$.cursor,r.onEvent($),g=!0,a?.close(),a=null,window.clearTimeout(d);return}if($.cursor<=l)return;l=$.cursor,r.onEvent($)}catch($){r.onProtocolError?.($ instanceof Error?$.message:"无法解析 Web Host 事件流消息。")}}),a.onerror=()=>{if(a?.close(),a=null,h||g)return;p+=1,r.onStatus(navigator.onLine?"reconnecting":"offline",p);const N=Math.min(1e4,500*2**Math.min(p,5));window.clearTimeout(d),d=window.setTimeout(k,N)}}},b=()=>{h||g||a||(window.clearTimeout(d),k())},T=()=>{window.clearTimeout(d),a?.close(),a=null,!g&&r.onStatus("offline",p)};return window.addEventListener("online",b),window.addEventListener("offline",T),k(),{close(){h=!0,window.clearTimeout(d),a?.close(),a=null,window.removeEventListener("online",b),window.removeEventListener("offline",T)},cursor:()=>l}}collectionPage(r,l){return this.query(ya(r,l??null,!1,_a))}async query(r){const l=await fetch(`${io}${r}`,{method:"GET",headers:{Accept:"application/json"},credentials:"same-origin",cache:"no-store"});return Md(l)}async mutate(r,l,a,d={}){if(!this.nonce)throw new _e("Web Workbench 尚未完成安全握手。",503);const p=await fetch(`${io}${r}`,{method:l,headers:{Accept:"application/json","Content-Type":"application/json",[ng]:this.nonce,...d},credentials:"same-origin",cache:"no-store",body:JSON.stringify(a)});return Md(p)}}async function Md(t){const l=(t.headers.get("content-type")??"").includes("json")?await t.json().catch(()=>null):null;if(!t.ok){const a=Nt(l)?l:{},d=typeof a.detail=="string"?a.detail:`请求失败 (${t.status})`;throw new _e(d,t.status,typeof a.code=="string"?a.code:void 0,typeof a.type=="string"?a.type:void 0)}return l}function sg(t){const r=JSON.parse(t);if(!Nt(r)||r.apiVersion!==1||typeof r.eventId!="string"||!ft.test(r.eventId)||!Number.isSafeInteger(r.cursor)||r.cursor<0||r.sessionId!==null&&typeof r.sessionId!="string"||r.threadId!==null&&typeof r.threadId!="string"||typeof r.durable!="boolean"||typeof r.timestamp!="string"||!["runtime_event","thread_event","workbench_state","replay_reset","settings_invalidated","workspace_resource_invalidated","composer_state_changed","session_runtime_changed","workspace_mutation_changed"].includes(String(r.type))||!Nt(r.payload))throw new Error("Web Host 事件流消息不符合 Web protocol v1。");if(r.type==="runtime_event"){const l=r.payload.value;if(!Nt(l)||typeof r.payload.eventType!="string"||l.type!==r.payload.eventType)throw new Error("Web Host 事件流消息判别字段不一致。")}if(r.type==="thread_event"&&(!Nt(r.payload.value)||typeof r.payload.eventType!="string"||!Number.isSafeInteger(r.payload.sequence)||typeof r.sessionId!="string"||typeof r.threadId!="string"))throw new Error("Thread 事件身份或序列无效。");if(r.type==="workbench_state"&&(typeof r.payload.contextRevision!="string"||!ft.test(r.payload.contextRevision)||typeof r.payload.workspaceId!="string"||!ft.test(r.payload.workspaceId)||typeof r.payload.workspace!="string"||r.payload.activeSessionId!==null&&typeof r.payload.activeSessionId!="string"))throw new Error("Workbench 状态事件无效。");if(r.type==="settings_invalidated"&&(r.sessionId!==null||r.threadId!==null||r.durable!==!1))throw new Error("Settings invalidation 事件身份无效。");if(r.type==="settings_invalidated")return qm(r);if(r.type==="session_runtime_changed"&&(!Nt(r.payload.runtime)||r.sessionId!==r.payload.runtime.sessionId||!ig(r.payload.runtime)))throw new Error("Session Runtime 状态事件无效。");if(r.type==="workspace_mutation_changed"){const l=r.payload.state;if(typeof r.sessionId!="string"||r.durable!==!1||!Nt(l)||typeof l.callId!="string"||l.callId.length<1||!["queued","running","completed","failed","cancelled"].includes(String(l.phase))||(l.phase==="queued"?!Number.isSafeInteger(l.queuePosition)||l.queuePosition<1:l.queuePosition!==void 0))throw new Error("Workspace mutation 状态事件无效。")}if(r.type==="workspace_resource_invalidated"&&(r.sessionId!==null||r.threadId!==null||r.durable!==!1||typeof r.payload.workspaceId!="string"||!ft.test(r.payload.workspaceId)||!Array.isArray(r.payload.resources)||r.payload.resources.length<1||r.payload.resources.some(l=>!["files","git","review"].includes(String(l)))||!["context-change","filesystem-change","terminal-command","tool-finished"].includes(String(r.payload.reason))))throw new Error("Workspace resource invalidation 事件无效。");if(r.type==="composer_state_changed"&&(typeof r.sessionId!="string"||r.durable!==!0||!Nt(r.payload.state)||r.payload.state.apiVersion!==1||r.payload.state.sessionId!==r.sessionId||typeof r.payload.state.controlRevision!="string"||!ft.test(r.payload.state.controlRevision)||typeof r.payload.state.contextRevision!="string"||!ft.test(r.payload.state.contextRevision)))throw new Error("Composer state 事件身份无效。");if(r.type==="replay_reset"&&(typeof r.payload.reason!="string"||r.payload.snapshotRequired!==!0))throw new Error("Replay reset 事件无效。");return r}function ig(t){const r=t.phase==="queued";return typeof t.workspaceId=="string"&&ft.test(t.workspaceId)&&typeof t.sessionId=="string"&&ft.test(t.sessionId)&&typeof t.runtimeRevision=="string"&&ft.test(t.runtimeRevision)&&["cold","starting","idle","queued","running","waiting_approval","stopping","interrupted","failed"].includes(String(t.phase))&&Number.isSafeInteger(t.pendingApprovalCount)&&t.pendingApprovalCount>=0&&typeof t.resident=="boolean"&&Number.isSafeInteger(t.estimatedBytes)&&t.estimatedBytes>=0&&typeof t.updatedAt=="string"&&(r?typeof t.queueId=="string"&&ft.test(t.queueId)&&Number.isSafeInteger(t.queuePosition)&&t.queuePosition>=1:t.queueId===void 0&&t.queuePosition===void 0)}function ya(t,r=null,l=!1,a=_a){const d=new URLSearchParams({pageSize:String(a)});return r&&d.set("cursor",r),l&&d.set("tail","1"),`${t}${t.includes("?")?"&":"?"}${d.toString()}`}function pr(t,r){t.set("expectedContextRevision",r.expectedContextRevision),t.set("workspaceId",r.workspaceId)}function Sn(t,r){const l=new URLSearchParams;return pr(l,r),`${t}${t.includes("?")?"&":"?"}${l.toString()}`}function Nt(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function Qe(){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();const t=crypto.getRandomValues(new Uint8Array(16));t[6]=t[6]&15|64,t[8]=t[8]&63|128;const r=[...t].map(l=>l.toString(16).padStart(2,"0")).join("");return`${r.slice(0,8)}-${r.slice(8,12)}-${r.slice(12,16)}-${r.slice(16,20)}-${r.slice(20)}`}function og({state:t,actions:r,insertion:l}){const a=t.workspaceId,d=t.activeSessionId??"",[p,h]=m.useState({workspaceId:a,sessionId:d,text:"",references:[]}),[g,k]=m.useState(null),[b,T]=m.useState(""),[N,$]=m.useState(new Set),M=m.useRef(null),q=`${a}:${d}`,D=m.useRef(q);D.current=q;const O=`${p.workspaceId}:${p.sessionId}`,Z=!d||!t.bootstrap?.configured||t.connection!=="live"||!vr(t),F=!!t.pendingAction,de=t.sessionSnapshot?.sessionRuntime.phase==="queued",X=!Z&&!F,ue=X&&!de;m.useEffect(()=>{if(!a||!d){h({workspaceId:a,sessionId:d,text:"",references:[]});return}const W=Nm(a,d);h({workspaceId:a,sessionId:d,text:W?.text??"",references:W?.references??[]}),T(""),$(new Set)},[a,d]),m.useEffect(()=>{if(!(!p.workspaceId||!p.sessionId))try{p.text||p.references.length>0?_m(p):Td(p.workspaceId,p.sessionId),T("")}catch(W){T(W instanceof Error?W.message:"草稿无法保存。")}},[p]),m.useEffect(()=>{!l||!d||O!==q||(h(W=>({...W,text:W.text.trim()?`${W.text.trimEnd()}
15
15
 
16
16
  ${l.text}`:l.text})),requestAnimationFrame(()=>M.current?.focus()))},[q,O,l,d]);const I=O===q?p.text:"",R=O===q?p.references:[],ne=W=>h(we=>({...we,workspaceId:a,sessionId:d,text:W})),J=W=>{const we=new Set(W.map(Us));$(Q=>new Set([...Q].filter(me=>we.has(me)))),h(Q=>({...Q,workspaceId:a,sessionId:d,references:W}))},je=async W=>{const we=I.trim();if(!we||!ue)return;const Q=q;try{W==="queue"?await r.queue(we,R):await r.submit(we,R),Td(a,d),$(new Set),D.current===Q&&h({workspaceId:a,sessionId:d,text:"",references:[]}),M.current?.focus()}catch(me){me instanceof _e&&["context_reference_stale","context_reference_forbidden"].includes(me.code??"")&&$(new Set(R.map(Us))),T(me instanceof Error?me.message:"发送失败,草稿已保留。"),M.current?.focus()}},Ne=W=>{W.preventDefault(),je(t.processing?"queue":"submit")},Re=W=>{W.key!=="Enter"||W.shiftKey||W.nativeEvent.isComposing||(W.preventDefault(),t.processing&&(W.metaKey||W.ctrlKey)?je("submit"):je(t.processing?"queue":"submit"))};return i.jsxs("div",{className:"composer-control-center",children:[t.composer?.planReview?.status==="awaiting_review"?i.jsx(fg,{state:t,actions:r}):null,R.length>0?i.jsx(dg,{references:R,invalidReferenceKeys:N,onChange:J}):null,i.jsxs("form",{className:"composer composer-v032",onSubmit:Ne,children:[i.jsx("label",{htmlFor:"orion-composer",className:"sr-only",children:"发送给 Orion"}),i.jsx("textarea",{ref:M,id:"orion-composer",rows:3,maxLength:1e6,value:I,onChange:W=>ne(W.target.value),onKeyDown:Re,placeholder:F?"正在同步会话控制状态…":de?`任务正在排队${t.sessionSnapshot?.sessionRuntime.queuePosition?`(第 ${t.sessionSnapshot.sessionRuntime.queuePosition} 位)`:""}`:Z?"选择会话并配置模型后开始":t.processing?"输入后续消息;Enter 排队,⌘/Ctrl+Enter Steer":"描述任务,或输入 / 查看命令…",disabled:!ue}),i.jsxs("div",{className:"composer-toolbar composer-control-toolbar",children:[i.jsxs("div",{className:"composer-controls composer-control-row",children:[i.jsx(ug,{state:t,actions:r,disabled:!ue,references:R,onChange:J,onInsertCommand:()=>ne(I.trim()?`${I.trimEnd()}
17
- /`:"/")}),i.jsx(Ia,{label:gg(t),accessibleLabel:"工作模式",disabled:!ue,value:t.composer?.mode.baseMode??t.mode.baseMode,options:[{value:"interactive",label:"BUILD",detail:"执行、修改并验证当前任务"},{value:"plan",label:"PLAN",detail:"生成计划并等待你的审核"},{value:"auto",label:"AUTO",detail:"自主执行,仍受权限与沙箱约束"}],onSelect:W=>{W==="auto"?k("auto"):_n(r.setMode(W))}}),i.jsx(Ia,{label:vg(t),accessibleLabel:"会话权限",disabled:!ue,value:t.composer?.permission.override??"inherit",options:[{value:"inherit",label:"继承项目",detail:`当前 ${t.composer?.permission.projectDefault??"ask"}`},{value:"ask",label:"ASK",detail:"高风险工具逐次请求批准"},{value:"allow",label:"ALLOW",detail:"允许策略许可的工具,不绕过沙箱"},{value:"deny",label:"DENY",detail:"拒绝需要授权的工具"}],onSelect:W=>{W==="allow"?k("allow"):_n(r.setPermissionOverride(W==="inherit"?null:W))}})]}),i.jsxs("div",{className:"composer-actions composer-control-actions",children:[i.jsx(lg,{state:t,actions:r,disabled:!ue}),i.jsx(cg,{state:t,actions:r,disabled:!ue}),t.processing?i.jsxs(i.Fragment,{children:[i.jsxs("button",{type:"button",className:"icon-text-button stop-button",onClick:()=>_n(r.interrupt()),disabled:!ue,children:[i.jsx(K,{name:"stop",size:14}),"停止"]}),i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>{je("submit")},disabled:!I.trim()||!ue,children:"Steer"})]}):null,de?i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>_n(r.cancelQueuedTurn()),disabled:!X,children:"取消排队"}):null,i.jsx("button",{type:"submit",className:"send-button composer-send-icon","aria-label":t.processing?"加入消息队列":"发送消息",disabled:!ue||!I.trim(),children:i.jsx(K,{name:"arrow-up",size:17})})]})]}),R.length>0||b||t.composer?.lastError?i.jsxs("div",{className:"composer-footline",children:[R.length>0?i.jsxs("span",{children:[R.length," 个 Context 引用"]}):null,b?i.jsx("span",{role:"alert",children:b}):t.composer?.lastError?i.jsx("span",{role:"alert",children:t.composer.lastError.message}):null]}):null]}),g?i.jsx(pg,{kind:g,onCancel:()=>k(null),onConfirm:()=>{const W=g;k(null),_n(W==="auto"?r.setMode("auto"):r.setPermissionOverride("allow"))}}):null]})}function lg({state:t,actions:r,disabled:l}){const a=t.composer?.model,d=["auto",...a?.effort.supportedLevels??[]];return i.jsxs("div",{className:"model-control-cluster",children:[i.jsx(ag,{state:t,actions:r,disabled:l}),a?.effort.supported?i.jsx(Ia,{label:t.composer?.pending.model?`${io(a.effort.requested)} → ${io(t.composer.pending.model.effort)}`:io(a.effort.requested),accessibleLabel:"推理强度",disabled:l,value:a.effort.requested,options:d.map(p=>({value:p,label:io(p),detail:p==="auto"?"采用模型或项目默认值":`请求 ${p} reasoning effort`})),onSelect:p=>_n(r.selectModel(a.modelId,p))}):null]})}function ag({state:t,actions:r,disabled:l}){const[a,d]=m.useState(!1),[p,h]=m.useState(""),g=m.useRef(null),k=m.useRef(null),b=m.useRef(null),T=t.composer?.model,N=t.modelCatalog,$=t.composer?.pending.model?`${T?.modelId??"模型"} → ${t.composer.pending.model.modelId}`:T?.modelId??"模型",M=p.trim().toLowerCase(),q=new Set((N?.unavailableProviders??[]).map(F=>F.id)),D=(N?.items??[]).filter(F=>!q.has(F.providerId)).filter(F=>[F.id,F.label,F.providerId,F.providerLabel].some(de=>de.toLowerCase().includes(M))).slice(0,80),O=new Map;for(const F of D){const de=F.providerLabel||F.providerId;O.set(de,[...O.get(de)??[],F])}const Z=()=>{d(!1),h(""),k.current?.focus()};return No(a,g,Z),i.jsxs("div",{className:"control-menu",ref:g,children:[i.jsxs("button",{ref:k,type:"button",className:"composer-control-trigger","aria-label":"会话模型","aria-haspopup":"menu","aria-expanded":a,disabled:l,onClick:()=>{a?Z():(d(!0),N||_n(r.loadModelCatalog()))},children:[i.jsx("span",{children:$}),i.jsx(K,{name:"chevron",size:12})]}),a?i.jsxs("div",{className:"control-menu-popover model-catalog-popover",role:"menu","aria-label":"会话模型",ref:b,onKeyDown:F=>La(F,Z),children:[(N?.items.length??0)>8?i.jsxs("label",{className:"model-catalog-search",children:[i.jsx("span",{className:"sr-only",children:"筛选模型"}),i.jsx("input",{type:"search",value:p,placeholder:"筛选模型…",onChange:F=>h(F.target.value),onKeyDown:F=>{F.key==="ArrowDown"?(F.preventDefault(),Rf(b.current)):F.key==="Escape"&&(F.stopPropagation(),Z())}})]}):null,N===null?i.jsx("p",{role:"status",children:"正在加载模型…"}):null,N&&D.length===0?i.jsx("p",{children:"没有匹配的可用模型"}):null,[...O.entries()].map(([F,de])=>i.jsxs("section",{role:"group","aria-label":F,children:[i.jsx("div",{className:"model-provider-heading",children:F}),de.map(X=>i.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":X.id===T?.modelId,onClick:()=>{Z(),_n(r.selectModel(X.id))},children:[i.jsxs("span",{children:[i.jsx("strong",{children:X.label}),i.jsxs("small",{children:[Yr(X.contextWindow)," context",X.reasoning?" · reasoning":""]})]}),X.id===T?.modelId?i.jsx(K,{name:"check",size:14}):null]},X.id))]},F)),N?.unavailableProviders.map(F=>i.jsxs("section",{role:"group","aria-label":`${F.id} 不可用`,children:[i.jsxs("div",{className:"model-provider-heading state-error",children:[F.id," · 不可用"]}),i.jsx("p",{children:F.reason}),i.jsx("button",{type:"button",role:"menuitem",onClick:()=>_n(r.loadModelCatalog()),children:"Retry"})]},F.id)),(N?.items.length??0)>80&&!M?i.jsx("p",{children:"显示前 80 项;输入关键词继续筛选。"}):null]}):null]})}function cg({state:t,actions:r,disabled:l}){const[a,d]=m.useState(!1),p=m.useRef(null),h=m.useRef(null),g=t.composer?.contextUsage,k=g?Math.max(0,Math.min(100,g.percent)):null,b=g?.source==="estimated",T=!!(g&&g.percent>=g.warningThresholdPercent);return No(a,p,()=>{d(!1),h.current?.focus()}),i.jsxs("div",{className:"context-meter-wrap",ref:p,children:[i.jsxs("button",{ref:h,type:"button",className:"context-meter-button","aria-label":g?`Context ${b?"估算 ":""}${g.usedTokens} / ${g.safeInputBudget??g.contextWindow} tokens,${g.percent}%${T?",接近压缩阈值":""}`:"Context 用量不可用","aria-haspopup":"dialog","aria-expanded":a,disabled:l,onClick:()=>d(N=>!N),children:[i.jsx("span",{className:"context-meter-ring",style:{"--context-percent":`${k??0}%`},"aria-hidden":"true"}),i.jsx("span",{children:g?`${b?"~":""}${g.percent}%${T?" !":""}`:"Context"})]}),a?i.jsxs("section",{className:"context-popover",role:"dialog","aria-label":"Context 用量详情",children:[i.jsxs("header",{children:[i.jsx("strong",{children:"Context"}),i.jsx("button",{type:"button",className:"icon-button",onClick:()=>d(!1),"aria-label":"关闭 Context 详情",children:i.jsx(K,{name:"close",size:14})})]}),g?i.jsxs("dl",{children:[i.jsxs("div",{children:[i.jsx("dt",{children:"当前模型"}),i.jsx("dd",{children:g.modelId})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"已使用"}),i.jsx("dd",{children:Yr(g.usedTokens)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"安全输入预算"}),i.jsx("dd",{children:Yr(g.safeInputBudget??g.contextWindow)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"原始窗口"}),i.jsx("dd",{children:Yr(g.contextWindow)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"输出预留"}),i.jsx("dd",{children:Yr(g.reservedOutputTokens??0)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"安全余量"}),i.jsx("dd",{children:Yr(g.safetyMarginTokens??0)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"来源"}),i.jsx("dd",{children:g.source==="estimated"?"估算 ~":g.source})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"警告阈值"}),i.jsxs("dd",{children:[g.warningThresholdPercent,"%"]})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"自动压缩"}),i.jsx("dd",{children:g.autoCompactEnabled?`${g.autoCompactThresholdPercent}%`:"关闭"})]})]}):i.jsx("p",{children:"Runtime 尚未提供当前模型的 Context 计数。"}),t.composer?.compactAvailable?i.jsx("button",{type:"button",className:"secondary-button",disabled:!g||t.processing,onClick:()=>_n(r.compactContext()),children:"立即压缩"}):null]}):null]})}function ug({state:t,actions:r,disabled:l,references:a,onChange:d,onInsertCommand:p}){const[h,g]=m.useState(!1),[k,b]=m.useState("root"),[T,N]=m.useState([]),[$,M]=m.useState(!1),[q,D]=m.useState(""),O=m.useRef(null),Z=m.useRef(null);No(h,O,()=>g(!1));const F=I=>{a.some(R=>R.kind===I.kind&&R.id===I.id)||d([...a,I]),g(!1),b("root")},de=async()=>{b("files"),M(!0),D("");try{const I=await r.listFiles();N(I.items.filter(R=>R.readable&&!R.sensitive))}catch(I){D(I instanceof Error?I.message:"文件列表加载失败。")}finally{M(!1)}},X=async I=>{M(!0),D("");try{if(Ad(I)){const R=await r.listFiles(I.id);F({kind:"folder",id:I.id,label:I.name,revision:R.revision})}else if(yg(I)){const R=await r.readFileContent(I.id);if(R.binary||R.sensitive)throw new Error("该文件不能加入模型 Context。");F({kind:"file",id:I.id,label:I.name,revision:R.revision})}}catch(R){D(R instanceof Error?R.message:"Context 引用加载失败。")}finally{M(!1)}},ue=async()=>{M(!0);try{const I=await r.review();F({kind:"review",id:"working-tree",label:I.truncated?`Review · ${I.totalChangedFiles} files · ${I.changedFiles.length} visible`:`Review · ${I.totalChangedFiles} files`,gitRevision:I.repositoryRevision})}catch(I){D(I instanceof Error?I.message:"Review Context 加载失败。")}finally{M(!1)}};return i.jsxs("div",{className:"control-menu context-launcher",ref:O,children:[i.jsx("button",{type:"button",className:"context-add-button","aria-label":"添加 Context","aria-haspopup":"menu","aria-expanded":h,disabled:l,onClick:()=>{const I=!h;g(I),I&&requestAnimationFrame(()=>Rf(Z.current))},children:i.jsx(K,{name:"add",size:17})}),h?i.jsxs("div",{className:"control-menu-popover context-launcher-menu",role:"menu","aria-label":"添加 Context",ref:Z,onKeyDown:I=>La(I,()=>g(!1)),children:[k!=="root"?i.jsx("button",{type:"button",role:"menuitem",onClick:()=>b("root"),children:"← 返回"}):null,k==="root"?i.jsxs(i.Fragment,{children:[i.jsx(Ct,{label:"文件或目录",detail:"Workspace 内受控读取",onClick:()=>{de()}}),i.jsx(Ct,{label:"当前 Review",detail:"绑定 exact Git revision",onClick:()=>{ue()}}),i.jsx(Ct,{label:"历史 Session",detail:"引用受控摘要",onClick:()=>b("sessions")}),i.jsx(Ct,{label:"Skill",detail:"绑定已加载能力 digest",onClick:()=>b("skills")}),i.jsx(Ct,{label:"命令",detail:"插入 / 命令入口",onClick:()=>{p(),g(!1)}}),a.length>0?i.jsx(Ct,{label:"清除 Context",detail:"移除当前草稿全部引用",onClick:()=>{d([]),g(!1)}}):null]}):null,k==="files"?T.map(I=>i.jsx(Ct,{label:I.name,detail:Ad(I)?"目录":`${I.sizeBytes??0} bytes`,onClick:()=>{X(I)}},I.id)):null,k==="sessions"?t.sessions.filter(I=>I.id!==t.activeSessionId).map(I=>i.jsx(Ct,{label:I.name||`Session ${I.id.slice(0,8)}`,detail:`${I.messageCount} 条消息`,onClick:()=>F({kind:"session",id:I.id,label:I.name||`Session ${I.id.slice(0,8)}`,digest:I.contextDigest})},I.id)):null,k==="skills"?t.skills.filter(I=>I.userInvocable).map(I=>i.jsx(Ct,{label:I.name,detail:I.description,onClick:()=>F({kind:"skill",id:I.id,label:I.name,digest:I.digest})},I.id)):null,$?i.jsx("p",{role:"status",children:"正在加载…"}):null,q?i.jsx("p",{role:"alert",children:q}):null]}):null]})}function dg({references:t,invalidReferenceKeys:r,onChange:l}){return i.jsx("div",{className:"context-tray","aria-label":"当前 Context 引用",children:t.map(a=>i.jsxs("span",{className:`context-chip${r.has(Us(a))?" state-stale":""}`,children:[i.jsx("small",{children:xg(a.kind)}),i.jsx("span",{children:a.label}),r.has(Us(a))?i.jsx("span",{className:"context-chip-state",children:"已失效,请移除后重新添加"}):null,i.jsx("button",{type:"button","aria-label":`移除 Context ${a.label}`,onClick:()=>l(t.filter(d=>d!==a)),children:i.jsx(K,{name:"close",size:12})})]},Us(a)))})}function fg({state:t,actions:r}){const l=t.composer.planReview,[a,d]=m.useState(!1),[p,h]=m.useState(""),g=!!t.pendingAction||t.connection!=="live"||!vr(t);return i.jsxs("section",{className:"plan-review-card","aria-labelledby":"plan-review-title",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"PLAN REVIEW"}),i.jsx("h2",{id:"plan-review-title",children:"计划已保存,尚未执行"}),i.jsxs("p",{children:["由 ",l.createdModel," 创建 · digest ",l.planDigest.slice(0,12)]})]}),a?i.jsxs("label",{children:["继续规划反馈",i.jsx("textarea",{rows:2,value:p,onChange:k=>h(k.target.value)})]}):null,i.jsxs("div",{className:"plan-review-actions",children:[i.jsx("button",{type:"button",className:"danger-ghost-button",disabled:g,onClick:()=>_n(r.reviewPlan(l.planDigest,"cancel")),children:"取消计划"}),a?i.jsx("button",{type:"button",className:"secondary-button",disabled:g||!p.trim(),onClick:()=>_n(r.reviewPlan(l.planDigest,"continue",p.trim())),children:"提交反馈"}):i.jsx("button",{type:"button",className:"secondary-button",disabled:g,onClick:()=>d(!0),children:"继续规划"}),i.jsx("button",{type:"button",className:"primary-button",disabled:g,onClick:()=>_n(r.reviewPlan(l.planDigest,"approve")),children:"批准并进入 BUILD"})]})]})}function Ia({label:t,accessibleLabel:r,value:l,options:a,disabled:d,emptyLabel:p,onOpen:h,onSelect:g}){const[k,b]=m.useState(!1),T=m.useRef(null),N=m.useRef(null),$=m.useRef(null),M=m.useId(),q=()=>{b(!1),N.current?.focus()},D=()=>{b(!0),h?.(),requestAnimationFrame(()=>hg($.current))};return No(k,T,q),i.jsxs("div",{className:"control-menu",ref:T,children:[i.jsxs("button",{ref:N,type:"button",className:"composer-control-trigger","aria-label":r,"aria-haspopup":"menu","aria-expanded":k,"aria-controls":k?M:void 0,disabled:d,onClick:()=>{k?q():D()},onKeyDown:O=>{O.key==="ArrowDown"&&(O.preventDefault(),D())},children:[i.jsx("span",{children:t}),i.jsx(K,{name:"chevron",size:12})]}),k?i.jsx("div",{id:M,ref:$,className:"control-menu-popover",role:"menu","aria-label":r,onKeyDown:O=>La(O,q),children:a.length===0?i.jsx("p",{children:p??"没有选项"}):a.map(O=>i.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":O.value===l,onClick:()=>{q(),g(O.value)},children:[i.jsxs("span",{children:[i.jsx("strong",{children:O.label}),i.jsx("small",{children:O.detail})]}),O.value===l?i.jsx(K,{name:"check",size:14}):null]},O.value))}):null]})}function Ct({label:t,detail:r,onClick:l}){return i.jsx("button",{type:"button",role:"menuitem",onClick:l,children:i.jsxs("span",{children:[i.jsx("strong",{children:t}),i.jsx("small",{children:r})]})})}function pg({kind:t,onCancel:r,onConfirm:l}){const[a,d]=m.useState(!1),p=m.useRef(null),h=m.useRef(null);return m.useEffect(()=>{const g=document.querySelector(t==="auto"?'[aria-label="工作模式"]':'[aria-label="会话权限"]');return h.current?.focus(),()=>g?.focus()},[t]),i.jsx("div",{className:"modal-backdrop",onPointerDown:g=>{g.target===g.currentTarget&&r()},children:i.jsxs("section",{ref:p,className:"risk-confirmation",role:"alertdialog","aria-modal":"true","aria-labelledby":"risk-title","aria-describedby":"risk-description",onKeyDown:g=>mg(g,p.current,r),children:[i.jsx("h2",{id:"risk-title",children:t==="auto"?"启用 AUTO 模式?":"启用会话 ALLOW?"}),i.jsx("p",{id:"risk-description",children:t==="auto"?"Orion 会自主执行多个步骤,但仍受 ToolGateway、沙箱与 Workspace containment 约束。":"策略允许的工具将不再逐次询问;硬拒绝、沙箱和 Workspace 边界仍然生效。"}),i.jsxs("label",{children:[i.jsx("input",{type:"checkbox",checked:a,onChange:g=>d(g.target.checked)}),"我理解这会扩大本会话的默认执行范围"]}),i.jsxs("div",{children:[i.jsx("button",{ref:h,type:"button",className:"secondary-button",onClick:r,children:"取消"}),i.jsx("button",{type:"button",className:"primary-button",disabled:!a,onClick:l,children:"确认启用"})]})]})})}function Da(t){return t?[...t.querySelectorAll('[role="menuitem"], [role="menuitemradio"]')].filter(r=>!r.disabled):[]}function Rf(t){Da(t)[0]?.focus()}function hg(t){const r=Da(t);(r.find(l=>l.getAttribute("aria-checked")==="true")??r[0])?.focus()}function La(t,r){if(t.key==="Escape"){t.preventDefault(),r();return}if(!["ArrowDown","ArrowUp","Home","End"].includes(t.key))return;t.preventDefault();const l=Da(t.currentTarget);if(l.length===0)return;const a=l.indexOf(document.activeElement),d=t.key==="Home"?0:t.key==="End"?l.length-1:t.key==="ArrowDown"?(Math.max(0,a)+1)%l.length:(a<=0?l.length:a)-1;l[d]?.focus()}function mg(t,r,l){if(t.key==="Escape"){t.preventDefault(),l();return}if(t.key!=="Tab"||!r)return;const a=[...r.querySelectorAll('button:not(:disabled), input:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])')];if(a.length===0)return;const d=a[0],p=a.at(-1);t.shiftKey&&document.activeElement===d?(t.preventDefault(),p.focus()):!t.shiftKey&&document.activeElement===p&&(t.preventDefault(),d.focus())}function No(t,r,l){m.useEffect(()=>{if(!t)return;const a=p=>{r.current?.contains(p.target)||l()},d=p=>{p.key==="Escape"&&l()};return document.addEventListener("pointerdown",a),document.addEventListener("keydown",d),()=>{document.removeEventListener("pointerdown",a),document.removeEventListener("keydown",d)}},[l,t,r])}function $d(t){return t==="plan"?"PLAN":t==="auto"?"AUTO":"BUILD"}function gg(t){const r=t.composer?.mode??t.mode,l=$d(r.baseMode);return r.pendingBaseMode?`${l} → ${$d(r.pendingBaseMode)}`:l}function vg(t){const r=t.composer?.permission,l=r?.source==="session"?"Session":"Project",a=`${r?.effective.toUpperCase()??"ASK"} · ${l}`;if((t.composer?.mode.baseMode??t.mode.baseMode)==="auto"&&r?.effective!=="deny")return"AUTO · hard policy";const d=t.composer?.pending.permission;return d?`${a} → ${(d.override??r?.projectDefault??"ask").toUpperCase()} · Session`:a}function io(t){return t==="auto"?"Effort 自动":`Effort ${t}`}function Ad(t){return t.kind==="directory"||t.kind==="symlink"&&t.targetKind==="directory"}function yg(t){return t.kind==="file"||t.kind==="symlink"&&t.targetKind==="file"}function xg(t){return t==="file"?"FILE":t==="folder"?"FOLDER":t==="review"?"REVIEW":t==="session"?"SESSION":"SKILL"}function Us(t){return`${t.kind}:${t.id}`}function _n(t){t.catch(()=>{})}function Yr(t){return t>=1e3?`${Math.round(t/1e3)}k`:String(t)}const Dd=320,wg=300,xa=["system","light","dark"],kg={system:"monitor",light:"sun",dark:"moon"},Ld={system:"跟随系统",light:"浅色",dark:"深色"};function jg(t){const r=t??"system",l=xa.indexOf(r),a=xa[(l+1)%xa.length];return{current:r,next:a}}function Sg({state:t,actions:r,navigationOpen:l,inspectorExpanded:a,onOpenNavigation:d,onToggleInspector:p,onRevealSettings:h,onCreateSession:g,themePreference:k,onCycleTheme:b,onShowShortcuts:T,composerInsertion:N}){const $=t.sessions.find(W=>W.id===t.activeSessionId),M=ko(t),q=m.useMemo(()=>Cg(t),[t.edits,t.research,t.subtasks,t.tools,t.transcript]),[D,O]=m.useState(Dd),Z=q.slice(-D),F=m.useRef(null),de=m.useRef(null),X=m.useRef(!0),ue=m.useRef(null),[I,R]=m.useState(!0);m.useEffect(()=>{O(Dd),X.current=!0,R(!0)},[t.activeSessionId]),m.useLayoutEffect(()=>{const W=F.current;if(W){if(ue.current){const we=ue.current;W.scrollTop=we.top+(W.scrollHeight-we.height),ue.current=null;return}X.current&&(W.scrollTop=W.scrollHeight)}},[Z.length,t.processing]),m.useLayoutEffect(()=>{const W=F.current,we=de.current;if(!W||!we||typeof ResizeObserver>"u")return;const Q=new ResizeObserver(()=>{X.current&&(W.scrollTop=W.scrollHeight)});return Q.observe(we),()=>Q.disconnect()},[t.activeSessionId]);const ne=()=>{const W=F.current;if(!W)return;const we=W.scrollHeight-W.scrollTop-W.clientHeight<72;X.current=we,R(we)},J=!!t.sessionSnapshot?.transcript.nextCursor,je=async()=>{const W=F.current;if(W&&(ue.current={height:W.scrollHeight,top:W.scrollTop}),q.length>Z.length){O(we=>we+wg);return}if(J)try{await r.loadOlderTranscript(),O(we=>we+100)}catch{ue.current=null}},Ne=()=>{const W=F.current;W&&(X.current=!0,R(!0),W.scrollTo({top:W.scrollHeight,behavior:"smooth"}))},Re=jg(k);return i.jsxs("main",{className:"conversation-column",id:"main-content",children:[i.jsxs("header",{className:"conversation-header",children:[i.jsx("button",{type:"button",className:"icon-button mobile-nav-toggle",onClick:d,"aria-label":"打开会话导航","aria-controls":"workspace-rail","aria-expanded":l,children:i.jsx(K,{name:"menu"})}),i.jsxs("div",{className:"conversation-identity",children:[i.jsxs("div",{className:"title-line",children:[i.jsx("h1",{tabIndex:-1,children:$?gr($):"Orion Code"}),t.processing?i.jsx("span",{className:"running-pulse",children:"运行中"}):null]}),i.jsxs("p",{title:t.workspace,children:[$?.model??t.settings?.sections.defaults.model.effectiveValue??"本地工作台"," ","· ",Og(t.workspace)]})]}),i.jsxs("div",{className:"header-actions",children:[i.jsx("button",{type:"button",className:"icon-button theme-cycle-button",onClick:b,"aria-label":`主题:${Ld[Re.current]},点击切换为${Ld[Re.next]}`,children:i.jsx(K,{name:kg[Re.current]})}),i.jsx("button",{type:"button",className:"icon-button shortcut-help-button",onClick:T,"aria-label":"键盘快捷键帮助",children:i.jsx(K,{name:"keyboard"})}),i.jsx("button",{type:"button",className:"icon-button inspector-toggle",onClick:p,"aria-label":a?"关闭工作面板":"打开工作面板","aria-controls":"work-panel","aria-expanded":a,children:i.jsx(K,{name:"sidebar"})})]})]}),t.bootstrap?.configured?null:i.jsxs("div",{className:"configuration-banner",role:"status",children:[i.jsx(K,{name:"warning"}),i.jsxs("div",{children:[i.jsx("strong",{children:"模型尚未配置"}),i.jsx("span",{children:"请在 Orion 配置文件或环境变量中设置凭证。API Key 不会进入浏览器。"})]}),i.jsx("button",{type:"button",className:"secondary-button",onClick:h,children:"转到设置"})]}),i.jsx("div",{className:"transcript-viewport",ref:F,role:"region","aria-label":"会话记录",tabIndex:0,onScroll:ne,"aria-busy":t.processing,children:i.jsxs("div",{className:"transcript-content",ref:de,children:[q.length>Z.length||J?i.jsx("button",{type:"button",className:"load-history",onClick:()=>{je()},disabled:!!t.pendingAction,children:q.length>Z.length?`加载更早内容 · 还剩 ${q.length-Z.length} 项`:"从持久记录加载更早内容"}):null,t.activeSessionId?M.status==="failed"&&Z.length===0?i.jsx(oo,{icon:"warning",title:"会话快照加载失败",detail:M.error??"请重试当前会话快照。"}):(M.status==="loading"||M.status==="refreshing")&&Z.length===0?i.jsx(oo,{icon:"refresh",title:"正在同步会话",detail:"本地 Web Host 正在读取最近的会话快照。"}):Z.length===0?i.jsx(oo,{icon:"spark",title:"准备好开始了",detail:"描述要构建、修复或调查的任务。Orion 会实时展示工具、文件变化与验证结果。"}):i.jsx("ol",{className:"timeline","aria-label":"会话记录",children:Z.map(W=>i.jsx("li",{"data-event-id":W.order,children:_g(W,t)},Ng(W)))}):i.jsx(oo,{icon:"workspace",title:"选择或创建一个会话",detail:"Orion 会在当前工作区运行,并沿用 CLI/TUI 的权限与持久化状态。",action:"创建会话",onAction:g}),t.processing?i.jsxs("div",{className:"thinking-indicator",role:"status",children:[i.jsx("span",{}),i.jsx("span",{}),i.jsx("span",{}),i.jsx("span",{children:t.statusMessage||"Orion 正在处理…"})]}):null]})}),!I&&Z.length>0?i.jsxs("button",{type:"button",className:"jump-latest",onClick:Ne,children:[i.jsx(K,{name:"arrow-up",size:15}),"回到最新"]}):null,i.jsxs("div",{className:"input-dock",children:[t.permission||t.queue.items.length>0?i.jsxs("div",{className:"input-transients",children:[t.permission?i.jsx(Mg,{state:t,actions:r}):null,t.queue.items.length>0?i.jsx($g,{state:t,actions:r}):null]}):null,i.jsx(og,{state:t,actions:r,insertion:N})]})]})}function Cg(t){const r=new Set(t.tools.map(a=>a.callId));return[...t.transcript.filter(a=>!a.toolActivity?.callId||!r.has(a.toolActivity.callId)).map(a=>({kind:"transcript",order:a.order,value:a})),...t.tools.map(a=>({kind:"tool",order:a.order,value:a})),...t.edits.map(a=>({kind:"edit",order:a.order,value:a})),...t.subtasks.map(a=>({kind:"subtask",order:a.order,value:a})),...t.research.map(a=>({kind:"research",order:a.order,value:a}))].sort((a,d)=>a.order-d.order)}function Ng(t){return t.kind==="transcript"?`entry-${t.value.id}`:t.kind==="tool"?`tool-${t.value.callId}`:t.kind==="edit"?`edit-${t.order}`:t.kind==="subtask"?`subtask-${t.value.taskId}`:`research-${t.value.packetId}`}function _g(t,r){if(t.kind==="transcript")return i.jsx(Ig,{entry:t.value});if(t.kind==="tool"){const l=r.transcript.find(a=>a.toolActivity?.callId===t.value.callId)?.toolActivity;return i.jsx(bg,{tool:t.value,activity:l})}return t.kind==="edit"?i.jsx(Rg,{edit:t.value}):t.kind==="subtask"?i.jsx(Pg,{subtask:t.value}):i.jsx(Tg,{research:t.value})}function Ig({entry:t}){if(t.toolActivity)return i.jsx(Eg,{entry:t});if(Dg(t))return i.jsxs("details",{className:"reasoning-card",children:[i.jsxs("summary",{children:[i.jsx(Aa,{state:t.live?"running":"ready",describe:!1}),i.jsx("span",{children:t.live?"正在分析":t.title||"推理摘要"}),i.jsx("span",{className:"reasoning-hint",children:"展开查看 Runtime 提供的摘要"})]}),i.jsx(Hs,{children:t.content})]});const r=t.role;return i.jsxs("article",{className:`message-card role-${r}`,"aria-label":Od(r),children:[i.jsxs("header",{children:[i.jsx("span",{className:"message-avatar","aria-hidden":"true",children:Lg(r)}),i.jsx("span",{children:t.title||Od(r)}),t.live?i.jsx("span",{className:"streaming-label",children:"生成中"}):null,t.command?i.jsx("span",{className:`command-state ${t.command.success?"success":"error"}`,children:t.command.success?"成功":"失败"}):null]}),i.jsx("div",{className:"message-body",children:r==="user"?i.jsx("p",{className:"literal-message",children:t.content}):i.jsx(Hs,{children:t.content})}),t.budgetStop?i.jsxs("div",{className:"budget-stop",role:"status",children:[i.jsx(K,{name:"pause",size:15}),i.jsxs("span",{children:[t.budgetStop.reason," · 状态已保留"]})]}):null]})}function bg({tool:t,activity:r}){const l=t.workspaceMutation?.phase==="queued"?`等待工作树写入${t.workspaceMutation.queuePosition?`(第 ${t.workspaceMutation.queuePosition} 位)`:""}`:t.workspaceMutation?.phase==="running"?"正在写入工作树":t.state==="running"?"运行中":t.state==="success"?"完成":t.state==="skipped"?"跳过":"失败",a=r?.outputView?.preview||r?.body||t.error||t.summary;return i.jsxs("article",{className:`tool-card tool-${t.state}`,"aria-label":`工具 ${t.name}:${l}`,children:[i.jsxs("div",{className:"tool-card-header",children:[i.jsx("span",{className:`tool-state-icon ${t.state}`,"aria-hidden":"true",children:t.state==="running"?i.jsx("span",{className:"spinner"}):i.jsx(K,{name:t.state==="success"?"check":t.state==="skipped"?"pause":"warning",size:15})}),i.jsxs("div",{className:"tool-title",children:[i.jsx("strong",{children:t.name}),i.jsxs("span",{children:["#",t.sequence," · ",l,t.duration!==void 0?` · ${Pf(t.duration)}`:""]})]}),t.outputBytes!==void 0?i.jsx("span",{className:"byte-pill",children:zd(t.outputBytes)}):null]}),t.summary||t.error?i.jsx("p",{className:t.error?"tool-error-copy":"tool-summary",children:Gt(t.error||t.summary||"")}):null,i.jsxs("details",{className:"tool-details",open:t.state==="error",children:[i.jsx("summary",{children:"输入与详情"}),i.jsxs("dl",{className:"tool-meta-grid",children:[i.jsxs("div",{children:[i.jsx("dt",{children:"授权"}),i.jsx("dd",{children:t.authorization?`${t.authorization.approved?"允许":"拒绝"} · ${t.authorization.source}`:"等待 Runtime 记录"})]}),t.artifactId?i.jsxs("div",{children:[i.jsx("dt",{children:"产物"}),i.jsx("dd",{children:i.jsx("code",{children:t.artifactId})})]}):null]}),i.jsxs("div",{className:"tool-detail-section",children:[i.jsx("span",{className:"micro-label",children:"参数(已脱敏)"}),i.jsx("pre",{tabIndex:0,children:Ra(t.args)})]}),a?i.jsxs("div",{className:"tool-detail-section",children:[i.jsx("span",{className:"micro-label",children:"输出预览"}),i.jsx("pre",{tabIndex:0,children:Gt(a)}),r?.outputView?.omittedBytes?i.jsxs("p",{className:"truncation-note",children:["另有 ",zd(r.outputView.omittedBytes)," 已折叠,可在 Inspector 中查看产物。"]}):null]}):null]})]})}function Eg({entry:t}){const r=t.toolActivity;return i.jsxs("article",{className:`tool-card tool-${r.state}`,children:[i.jsxs("div",{className:"tool-card-header",children:[i.jsx("span",{className:`tool-state-icon ${r.state}`,"aria-hidden":"true",children:i.jsx(K,{name:"terminal",size:15})}),i.jsxs("div",{className:"tool-title",children:[i.jsx("strong",{children:r.name}),i.jsx("span",{children:r.detail})]})]}),r.summary?i.jsx("p",{className:"tool-summary",children:r.summary}):null,r.outputView?.preview||r.body?i.jsx("pre",{tabIndex:0,children:Gt(r.outputView?.preview||r.body||"")}):null]})}function Rg({edit:t}){const r=t.request;return i.jsxs("article",{className:"edit-card",children:[i.jsxs("header",{children:[i.jsx("span",{className:"edit-icon",children:i.jsx(K,{name:"edit",size:15})}),i.jsxs("div",{children:[i.jsx("strong",{children:"文件修改预览"}),i.jsxs("span",{children:[r.kind," · ",r.candidates.length," 个候选"]})]})]}),i.jsx("code",{className:"path-chip",title:r.path,children:r.path}),i.jsxs("details",{children:[i.jsx("summary",{children:"查看替换内容"}),i.jsx("pre",{tabIndex:0,children:Gt(r.newString)})]})]})}function Pg({subtask:t}){return i.jsxs("details",{className:`activity-card subtask-card state-${t.state}`,children:[i.jsxs("summary",{children:[i.jsx(K,{name:"branch",size:16}),i.jsxs("span",{children:[i.jsx("strong",{children:t.role}),i.jsx("small",{children:t.state})]}),t.durationMs!==void 0?i.jsx("time",{children:Pf(t.durationMs)}):null]}),i.jsx("p",{children:t.objective}),t.summary?i.jsx(Hs,{children:t.summary}):null]})}function Tg({research:t}){return i.jsxs("details",{className:`activity-card research-card state-${t.stage}`,children:[i.jsxs("summary",{children:[i.jsx(K,{name:"search",size:16}),i.jsxs("span",{children:[i.jsx("strong",{children:"Research"}),i.jsxs("small",{children:[t.stage," · ",t.sources.length," sources"]})]})]}),t.objective?i.jsx("p",{children:t.objective}):null,t.conclusion?i.jsx(Hs,{children:t.conclusion}):null,t.sources.length>0?i.jsx("ul",{className:"source-list",children:t.sources.map(r=>i.jsxs("li",{children:[i.jsx(Aa,{state:r.status}),i.jsx("span",{children:r.title||r.location||r.id}),i.jsxs("small",{children:[r.provider," · ",r.status]})]},r.id))}):null]})}function Mg({state:t,actions:r}){const l=t.permission,a=m.useRef(null),d=m.useRef("");m.useEffect(()=>{d.current!==l.id&&(d.current=l.id,a.current?.focus())},[l.id]);const p=!!t.pendingAction||t.connection!=="live"||!vr(t);return i.jsxs("section",{ref:a,className:"approval-card",role:"region","aria-live":"assertive","aria-labelledby":"approval-title","aria-describedby":"approval-reason",tabIndex:-1,children:[i.jsxs("div",{className:"approval-heading",children:[i.jsx("span",{className:"approval-icon",children:i.jsx(K,{name:"warning",size:17})}),i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"需要你的确认"}),i.jsxs("h2",{id:"approval-title",children:["允许 ",l.name,"?"]})]})]}),i.jsx("p",{id:"approval-reason",children:l.reason||"该工具需要在当前权限策略下获得明确授权。"}),i.jsxs("details",{className:"approval-args",children:[i.jsx("summary",{children:"查看脱敏参数"}),i.jsx("pre",{tabIndex:0,children:Ra(l.args,6e3)})]}),i.jsxs("div",{className:"approval-actions",children:[i.jsx("button",{type:"button",className:"danger-ghost-button",onClick:()=>It(r.answerPermission(!1)),disabled:p,children:"拒绝"}),i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>It(r.answerPermission(!0,"once")),disabled:p,children:"仅本次"}),i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>It(r.answerPermission(!0,"project")),disabled:p,children:"允许此项目"}),i.jsx("button",{type:"button",className:"primary-button",onClick:()=>It(r.answerPermission(!0,"global")),disabled:p,children:"始终允许"})]}),i.jsx("p",{className:"approval-footnote",children:"项目与全局授权会写入 Orion 配置;拒绝不会丢失当前会话。"})]})}function $g({state:t,actions:r}){const l=!!t.pendingAction||t.connection!=="live"||!vr(t);return i.jsxs("details",{className:"queue-dock",children:[i.jsxs("summary",{children:[i.jsxs("span",{children:[t.queue.items.length," 条排队消息"]}),i.jsx("span",{children:"执行时采用最新 Composer 控制"})]}),i.jsxs("div",{className:"queue-list",children:[t.queue.items.map((a,d)=>i.jsx(Ag,{item:a,index:d,count:t.queue.items.length,disabled:l,actions:r},a.id)),i.jsx("button",{type:"button",className:"text-button queue-clear",onClick:()=>It(r.clearQueue()),disabled:l,children:"清空队列"})]})]})}function Ag({item:t,index:r,count:l,disabled:a,actions:d}){const[p,h]=m.useState(!1),[g,k]=m.useState(t.text);m.useEffect(()=>k(t.text),[t.text]);const b=async()=>{const T=g.trim();T&&(await d.editQueued(t.id,t.revision,T),h(!1))};return i.jsxs("div",{className:"queue-row",children:[i.jsx("span",{className:"queue-index",children:r+1}),p?i.jsx("textarea",{rows:2,value:g,"aria-label":`编辑排队消息 ${r+1}`,onChange:T=>k(T.target.value)}):i.jsx("p",{children:t.text}),i.jsxs("div",{className:"queue-row-actions",children:[i.jsx("button",{type:"button",className:"icon-button","aria-label":`上移排队消息 ${r+1}`,onClick:()=>It(d.moveQueued(t.id,t.revision,r-1)),disabled:a||r===0,children:i.jsx(K,{name:"arrow-up",size:13})}),i.jsx("button",{type:"button",className:"icon-button queue-move-down","aria-label":`下移排队消息 ${r+1}`,onClick:()=>It(d.moveQueued(t.id,t.revision,r+1)),disabled:a||r===l-1,children:i.jsx(K,{name:"arrow-up",size:13})}),p?i.jsx("button",{type:"button",className:"text-button",onClick:()=>It(b()),disabled:a||!g.trim(),children:"保存"}):i.jsx("button",{type:"button",className:"text-button",onClick:()=>h(!0),disabled:a,children:"编辑"}),i.jsx("button",{type:"button",className:"icon-button","aria-label":`移除排队消息 ${r+1}`,onClick:()=>It(d.removeQueued(t.id,t.revision)),disabled:a,children:i.jsx(K,{name:"trash",size:14})})]})]})}function oo({icon:t,title:r,detail:l,action:a,onAction:d}){return i.jsxs("section",{className:"empty-conversation",children:[i.jsx("div",{className:"empty-orbit",children:i.jsx(K,{name:t,size:26})}),i.jsx("h2",{children:r}),i.jsx("p",{children:l}),a&&d?i.jsx("button",{type:"button",className:"primary-button",onClick:d,children:a}):null]})}function Dg(t){const r=`${t.title??""}`.toLocaleLowerCase();return r.includes("reason")||r.includes("think")||r.includes("analysis")||r.includes("推理")||r.includes("思考")}function Od(t){return t==="user"?"你":t==="assistant"?"Orion":t==="command"?"命令":t==="error"?"错误":t==="system"?"系统":t==="status"?"状态":"工具"}function Lg(t){return t==="user"?"Y":t==="assistant"?"O":t==="error"?"!":t==="command"?"›":"·"}function It(t){t.catch(()=>{})}function Pf(t){return t<1e3?`${Math.round(t)}ms`:t<6e4?`${(t/1e3).toFixed(t<1e4?1:0)}s`:`${Math.floor(t/6e4)}m ${Math.round(t%6e4/1e3)}s`}function zd(t){return t<1024?`${t} B`:t<1048576?`${(t/1024).toFixed(1)} KB`:`${(t/1048576).toFixed(1)} MB`}function Og(t){const r=t.replace(/[\\/]+$/,"");return r.split(/[\\/]/).filter(Boolean).at(-1)??r}function _o({open:t,onClose:r,labelledBy:l,describedBy:a,className:d="",children:p}){const h=m.useRef(null);m.useEffect(()=>{const k=h.current;k&&(t&&!k.open&&k.showModal(),!t&&k.open&&k.close())},[t]);const g=k=>{k.target===k.currentTarget&&r()};return i.jsx("dialog",{ref:h,className:`modal ${d}`.trim(),"aria-labelledby":l,"aria-describedby":a,onCancel:k=>{k.preventDefault(),r()},onClose:r,onClick:g,children:p})}function zg({open:t,onClose:r,state:l,onSelect:a,onLoadMore:d}){const[p,h]=m.useState(""),[g,k]=m.useState(""),[b,T]=m.useState(!1),[N,$]=m.useState(!1);m.useEffect(()=>{t&&(h(""),k(""),T(!1),$(!1))},[t]);const M=!!l.pendingAction||b,q=l.workspaces.slice(0,3),D=l.workspaces.slice(3),O=async F=>{const de=F.trim();if(de){if(de===l.workspace){k("该目录已经是当前工作区。");return}k(""),T(!0);try{await a(de),r()}catch(X){k(X instanceof Error?X.message:"工作区切换失败。")}finally{T(!1)}}},Z=F=>{F.preventDefault(),O(p)};return i.jsxs(_o,{open:t,onClose:r,labelledBy:"workspace-dialog-title",describedBy:"workspace-dialog-description",className:"workspace-modal",children:[i.jsxs("div",{className:"modal-header",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"LOCAL WORKSPACE"}),i.jsx("h2",{id:"workspace-dialog-title",children:"打开或新增项目"}),i.jsx("p",{id:"workspace-dialog-description",children:"选择一个本地目录作为项目;Host 会解析真实路径并拒绝无效目录。"})]}),i.jsx("button",{type:"button",className:"icon-button",onClick:r,"aria-label":"关闭工作区选择",children:i.jsx(K,{name:"close"})})]}),i.jsxs("div",{className:"workspace-options",role:"group","aria-label":"常用工作区",children:[q.map(F=>i.jsx(Fd,{workspace:F,locked:M,onSelect:O},F.id)),D.length>0?i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",className:"text-button workspace-toggle-all","aria-expanded":N,onClick:()=>$(F=>!F),children:N?"收起其他工作区":`其他工作区(${D.length})`}),N?D.map(F=>i.jsx(Fd,{workspace:F,locked:M,onSelect:O},F.id)):null]}):null,l.workspaceNextCursor?i.jsx("button",{type:"button",className:"text-button",onClick:()=>{d()},disabled:M,children:"加载更多工作区"}):null]}),i.jsxs("form",{className:"workspace-path-form",onSubmit:Z,children:[i.jsx("label",{htmlFor:"workspace-path-input",children:"打开其他本地目录"}),i.jsxs("div",{className:"path-input-row",children:[i.jsx("input",{id:"workspace-path-input",value:p,onChange:F=>{h(F.target.value),g&&k("")},placeholder:"/Users/name/project",spellCheck:!1,autoComplete:"off"}),i.jsx("button",{type:"submit",className:"primary-button",disabled:!p.trim()||M,children:b?"打开中…":"打开"})]}),g?i.jsx("p",{className:"field-error",role:"alert",children:g}):null]})]})}function Fd({workspace:t,locked:r,onSelect:l}){return i.jsxs("button",{type:"button",className:`workspace-option ${t.active?"active":""}`,disabled:t.active||!t.available||r,onClick:()=>{l(t.path)},children:[i.jsx("span",{className:"workspace-icon",children:i.jsx(K,{name:"workspace",size:17})}),i.jsxs("span",{children:[i.jsx("strong",{children:t.label||_f(t.path)}),i.jsx("small",{title:t.path,children:t.path})]}),t.active?i.jsx("span",{className:"current-pill",children:"当前"}):t.available?i.jsx(K,{name:"chevron",size:15}):i.jsx("span",{className:"current-pill",children:"不可用"})]})}function Fg({open:t,onClose:r,session:l,pending:a,onRename:d}){const[p,h]=m.useState(""),[g,k]=m.useState(""),b=l?.id;m.useEffect(()=>{t&&l&&(h(gr(l)),k(""))},[t,b]);const T=async N=>{if(N.preventDefault(),!(!l||!p.trim())){k("");try{await d(l.id,p.trim()),r()}catch($){k($ instanceof Error?$.message:"重命名失败,请重试。")}}};return i.jsx(_o,{open:t,onClose:r,labelledBy:"rename-title",className:"rename-modal",children:i.jsxs("form",{onSubmit:T,children:[i.jsxs("header",{className:"modal-header",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"SESSION"}),i.jsx("h2",{id:"rename-title",children:"重命名会话"})]}),i.jsx("button",{type:"button",className:"icon-button",onClick:r,"aria-label":"关闭重命名窗口",children:i.jsx(K,{name:"close"})})]}),i.jsxs("div",{className:"rename-body",children:[i.jsx("label",{htmlFor:"session-name",children:"会话名称"}),i.jsx("input",{id:"session-name",value:p,onChange:N=>{h(N.target.value),g&&k("")},maxLength:120,autoFocus:!0}),g?i.jsx("p",{className:"field-error",role:"alert",children:g}):null]}),i.jsxs("footer",{className:"modal-footer",children:[i.jsx("button",{type:"button",className:"secondary-button",onClick:r,children:"取消"}),i.jsx("button",{type:"submit",className:"primary-button",disabled:a||!p.trim(),children:a?"保存中…":"保存"})]})]})})}const Bd=8;function Bg({open:t,onClose:r,session:l,pending:a,onSave:d}){const[p,h]=m.useState(()=>l?.tags?[...l.tags]:[]),[g,k]=m.useState(""),[b,T]=m.useState(""),N=l?.id;m.useEffect(()=>{t&&l&&(h(l.tags??[]),k(""),T(""))},[t,N]);const $=()=>{const D=g.trim().slice(0,32);if(k(""),!!D&&!p.includes(D)){if(p.length>=Bd){T(`最多 ${Bd} 个标签。`);return}h([...p,D]),T("")}},M=D=>h(p.filter(O=>O!==D)),q=async D=>{if(D.preventDefault(),!!l){T("");try{await d(l.id,p),r()}catch(O){T(O instanceof Error?O.message:"保存标签失败,请重试。")}}};return i.jsx(_o,{open:t,onClose:r,labelledBy:"session-tags-title",className:"tags-modal",children:i.jsxs("form",{onSubmit:q,children:[i.jsxs("header",{className:"modal-header",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"SESSION"}),i.jsx("h2",{id:"session-tags-title",children:"管理会话标签"})]}),i.jsx("button",{type:"button",className:"icon-button",onClick:r,"aria-label":"关闭标签窗口",children:i.jsx(K,{name:"close"})})]}),i.jsxs("div",{className:"session-tags-body",children:[l?i.jsx("p",{className:"modal-description",children:gr(l)}):null,i.jsx("div",{className:"session-tags-chips",role:"list","aria-label":"当前标签",children:p.length===0?i.jsx("span",{className:"session-tags-empty",children:"还没有标签,输入后回车添加。"}):p.map(D=>i.jsxs("span",{className:"session-tag-chip",role:"listitem",children:[D,i.jsx("button",{type:"button",className:"icon-button session-tag-remove","aria-label":`移除标签 ${D}`,onClick:()=>M(D),children:i.jsx(K,{name:"close",size:11})})]},D))}),i.jsx("label",{htmlFor:"session-tag-input",children:"新标签"}),i.jsx("input",{id:"session-tag-input",value:g,onChange:D=>{k(D.target.value),b&&T("")},onKeyDown:D=>{(D.key==="Enter"||D.key===","||D.key===",")&&(D.preventDefault(),$())},placeholder:"回车或逗号添加",maxLength:32,autoFocus:!0}),b?i.jsx("p",{className:"field-error",role:"alert",children:b}):null]}),i.jsxs("footer",{className:"modal-footer",children:[i.jsx("button",{type:"button",className:"secondary-button",onClick:r,children:"取消"}),i.jsx("button",{type:"submit",className:"primary-button",disabled:a,children:a?"保存中…":"保存"})]})]})})}function qg({open:t,onClose:r,session:l,pending:a,onConfirm:d}){const p=async()=>{if(l)try{await d(l.id),r()}catch{}};return i.jsxs(_o,{open:t,onClose:r,labelledBy:"confirm-delete-title",describedBy:"confirm-delete-description",className:"delete-modal",children:[i.jsxs("div",{className:"modal-header",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"SESSION"}),i.jsx("h2",{id:"confirm-delete-title",children:"删除会话"})]}),i.jsx("button",{type:"button",className:"icon-button",onClick:r,"aria-label":"关闭删除确认",children:i.jsx(K,{name:"close"})})]}),i.jsxs("p",{id:"confirm-delete-description",className:"confirm-delete-body",children:["将永久删除会话",i.jsx("strong",{children:l?`「${gr(l)}」`:""}),"及其全部记录(消息、文件变更、目标与检查点)。此操作不可恢复。"]}),i.jsxs("footer",{className:"modal-footer",children:[i.jsx("button",{type:"button",className:"secondary-button",onClick:r,children:"取消"}),i.jsx("button",{type:"button",className:"danger-button",disabled:a,onClick:()=>{p()},children:a?"删除中…":"永久删除"})]})]})}const Wg=["appearance.style","appearance.theme","appearance.motion","defaults.model","defaults.effort","permissions.toolConfirmation"];function go(t,r){return r==="appearance.style"?t.sections.appearance.style:r==="appearance.theme"?t.sections.appearance.theme:r==="appearance.motion"?t.sections.appearance.motion:r==="defaults.model"?t.sections.defaults.model:r==="defaults.effort"?t.sections.defaults.effort:t.sections.permissions.toolConfirmation}function Ug(t){return{"appearance.style":t.sections.appearance.style.effectiveValue,"appearance.theme":t.sections.appearance.theme.effectiveValue,"appearance.motion":t.sections.appearance.motion.effectiveValue,"defaults.model":t.sections.defaults.model.effectiveValue,"defaults.effort":t.sections.defaults.effort.effectiveValue,"permissions.toolConfirmation":t.sections.permissions.toolConfirmation.effectiveValue}}function hr(t){return{openedAtRevision:t.revision,workspace:t.workspace,base:t,values:Qg(t),intents:{},serverLatest:null}}function Tf(t,r,l){const a=_t(t.base,r),d={...t.values,[r]:l},p={...t.intents};return Object.is(l,a)?delete p[r]:p[r]={op:"set",value:l},{...t,values:d,intents:p,serverLatest:null}}function Mf(t,r){const l=go(t.base,r),a={...t.intents};return l.explicitValue===void 0?(delete a[r],{...t,values:{...t.values,[r]:_t(t.base,r)},intents:a,serverLatest:null}):(a[r]={op:"unset"},{...t,values:{...t.values,[r]:l.inheritedValue??l.effectiveValue},intents:a,serverLatest:null})}function qd(t,r){return{...t,serverLatest:r}}function Hg(t){const r=t.serverLatest;if(!r)return t;let l=hr(r);for(const a of yr(t)){const d=t.intents[a];if(d){if(d.op==="unset"){l=Mf(l,a);continue}l=Tf(l,a,d.value)}}return l}function yr(t){return Wg.filter(r=>t.intents[r]!==void 0)}function Vg(t){return yr(t).map(r=>{const l=t.intents[r];return l.op==="unset"?{op:"unset",key:r}:{op:"set",key:r,value:l.value}})}function Kg(t){return t.serverLatest?yr(t).filter(r=>{const l=go(t.base,r),a=go(t.serverLatest,r);return!Object.is(l.effectiveValue,a.effectiveValue)||!Object.is(l.explicitValue,a.explicitValue)||l.overridden!==a.overridden||l.source!==a.source}):[]}function _t(t,r){const l=go(t,r);return l.explicitValue??l.effectiveValue}function Qg(t){const r=Ug(t);return{"appearance.style":_t(t,"appearance.style")??r["appearance.style"],"appearance.theme":_t(t,"appearance.theme")??r["appearance.theme"],"appearance.motion":_t(t,"appearance.motion")??r["appearance.motion"],"defaults.model":_t(t,"defaults.model")??r["defaults.model"],"defaults.effort":_t(t,"defaults.effort")??r["defaults.effort"],"permissions.toolConfirmation":_t(t,"permissions.toolConfirmation")??r["permissions.toolConfirmation"]}}const vo={phase:"closed",section:"general",draft:null,message:null,problemCode:null,confirmDiscard:!1};function Gg(t,r){switch(r.type){case"open":return{...vo,phase:"ready",draft:hr(r.document)};case"close":return vo;case"select_section":return{...t,section:r.section,confirmDiscard:!1};case"set_value":return!t.draft||t.phase==="saving"?t:{...t,phase:"ready",draft:Tf(t.draft,r.key,r.value),message:null,problemCode:null,confirmDiscard:!1};case"reset_value":return!t.draft||t.phase==="saving"?t:{...t,phase:"ready",draft:Mf(t.draft,r.key),message:null,problemCode:null,confirmDiscard:!1};case"save_started":return{...t,phase:"saving",message:"正在原子应用设置…",problemCode:null,confirmDiscard:!1};case"save_succeeded":return{...t,phase:"success",draft:hr(r.document),message:"设置已安全保存并应用。",problemCode:null,confirmDiscard:!1};case"save_failed":{if(!t.draft)return t;const l=r.code==="settings_revision_conflict";return{...t,phase:l?"conflict":"rejected",draft:r.latest?qd(t.draft,r.latest):t.draft,message:r.message,problemCode:r.code,confirmDiscard:!1}}case"server_updated":{if(!t.draft)return{...t,phase:"ready",draft:hr(r.document)};if(t.phase==="saving")return t;if(t.draft.base.revision===r.document.revision){const l=yr(t.draft).length>0;return{...t,draft:l?{...t.draft,base:r.document}:hr(r.document)}}return t.draft.workspace!==r.document.workspace||yr(t.draft).length===0?{...t,phase:"ready",draft:hr(r.document),message:"已采用 Host 的最新设置。",problemCode:null,confirmDiscard:!1}:{...t,phase:"conflict",draft:qd(t.draft,r.document),message:"Host 设置已更新。你的草稿仍被保留,请选择如何继续。",problemCode:"settings_revision_conflict",confirmDiscard:!1}}case"adopt_server":return t.draft?.serverLatest?{...t,phase:"ready",draft:hr(t.draft.serverLatest),message:"已采用服务器最新值。",problemCode:null}:t;case"rebase":return t.draft?.serverLatest?{...t,phase:"ready",draft:Hg(t.draft),message:"草稿已基于服务器最新值重放;请确认后再次应用。",problemCode:null}:t;case"request_discard":return{...t,confirmDiscard:!0};case"cancel_discard":return{...t,confirmDiscard:!1};case"clear_status":return{...t,phase:"ready",message:null,problemCode:null}}}const Yg=["auto","none","minimal","low","medium","high","xhigh","max"],Xg=[{id:"general",label:"General",icon:"settings"},{id:"models",label:"Models & Reasoning",icon:"spark"},{id:"permissions",label:"Permissions",icon:"warning"},{id:"advanced",label:"Advanced",icon:"diagnostics"}];function Jg({open:t,onClose:r,state:l,actions:a,onGoToSessionControls:d}){const p=m.useRef(null),h=m.useRef(null),g=m.useRef(null),k=m.useRef(null),b=m.useRef(null),T=m.useRef(!1),N=m.useRef(null),$=m.useRef(vo.phase),[M,q]=m.useReducer(Gg,vo),[D,O]=m.useState(!1),[Z,F]=m.useState(!1),[de,X]=m.useState(null),ue=l.settings??l.settingsMirror.lastGood,I=ue&&(!l.workspace||ue.workspace===l.workspace)?ue:null;m.useEffect(()=>{const Q=p.current;Q&&(t&&!Q.open&&Q.showModal(),!t&&Q.open&&Q.close())},[t]),m.useEffect(()=>{if(t&&!T.current)I&&(q({type:"open",document:I}),b.current=I),O(!1),F(!1),X(null);else if(t&&I&&b.current===null)q({type:"open",document:I}),b.current=I;else if(t&&I&&b.current!==null&&b.current!==I){if(M.phase==="saving")return;b.current=I,q({type:"server_updated",document:I})}else!t&&T.current&&(q({type:"close"}),b.current=null,N.current=null);T.current=t},[I,M.phase,t]),m.useEffect(()=>{M.confirmDiscard&&g.current?.focus()},[M.confirmDiscard]),m.useEffect(()=>{const Q=$.current;if($.current=M.phase,!t||Q!=="saving"||M.phase!=="success")return;const me=Vd();p.current?.contains(me)||h.current?.focus()},[M.phase,t]),m.useEffect(()=>{!t||I||l.settingsMirror.status==="loading"||a.refreshSettings().catch(()=>{})},[a,I,t,l.settingsMirror.status]),m.useEffect(()=>{!t||!M.draft||!l.workspace||M.draft.workspace!==l.workspace&&(q({type:"close"}),b.current=null)},[M.draft,t,l.workspace]);const R=M.draft,ne=R?yr(R):[],J=ne.length>0,je=l.processing&&ne.some(Q=>["defaults.effort","permissions.toolConfirmation"].includes(Q)),Ne=()=>{if(M.phase!=="saving"){if(J){const Q=Vd();k.current=Q instanceof HTMLElement?Q:null,q({type:"request_discard"});return}q({type:"close"}),r()}},Re=()=>{q({type:"close"}),r()},W=async Q=>{if(Q.preventDefault(),!R||!J||M.phase==="saving"||M.phase==="conflict")return;const me=Vg(R),ve=N.current??Qe();N.current=ve,q({type:"save_started"});try{const H=await a.updateSettings(R.base.revision,me,ve);N.current=null,b.current=H.settings,q({type:"save_succeeded",document:H.settings})}catch(H){const te=H instanceof _e?H.code??"settings_rejected":"network";let G;te==="settings_revision_conflict"?(N.current=null,G=await a.refreshSettings().catch(()=>{}),G&&(b.current=G)):H instanceof _e&&H.status<500&&(N.current=null);const w=te==="settings_revision_conflict"&&!G?"settings_recovery_required":te;q({type:"save_failed",code:w,message:ov(w,H),...G?{latest:G}:{}})}},we=Q=>{Q.target===Q.currentTarget&&Ne()};return i.jsx("dialog",{id:"settings-dialog",ref:p,className:"modal settings-modal","aria-modal":"true","aria-labelledby":"settings-title","aria-describedby":"settings-description",onCancel:Q=>{Q.preventDefault(),Ne()},onClick:we,children:i.jsxs("form",{onSubmit:W,children:[i.jsxs("header",{className:"modal-header settings-header",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"HOST SETTINGS"}),i.jsx("h2",{id:"settings-title",children:"设置"}),i.jsx("p",{id:"settings-description",children:"由本地 Host 读取、校验并原子保存。"})]}),i.jsx("button",{ref:h,type:"button",className:"icon-button",onClick:Ne,"aria-label":"关闭设置",disabled:M.phase==="saving",children:i.jsx(K,{name:"close"})})]}),i.jsxs("div",{className:"settings-layout",children:[i.jsx("nav",{className:"settings-navigation","aria-label":"设置类别",children:Xg.map(Q=>i.jsxs("button",{type:"button",className:M.section===Q.id?"active":"","aria-current":M.section===Q.id?"page":void 0,onClick:()=>q({type:"select_section",section:Q.id}),children:[i.jsx(K,{name:Q.icon,size:16}),i.jsx("span",{children:Q.label})]},Q.id))}),i.jsxs("div",{className:"settings-content",children:[i.jsx(sv,{state:l}),R?i.jsxs(i.Fragment,{children:[M.phase==="conflict"?i.jsx(iv,{draft:R,onAdopt:()=>{N.current=null,q({type:"adopt_server"})},onRebase:()=>{N.current=null,q({type:"rebase"})}}):null,M.message&&M.phase!=="conflict"?i.jsxs("div",{className:`settings-inline-message settings-message-${M.phase}`,role:M.phase==="rejected"?"alert":"status","aria-live":M.phase==="rejected"?"assertive":"polite",children:[i.jsx(K,{name:M.phase==="success"?"check":"info",size:16}),i.jsx("span",{children:M.message})]}):null,M.section==="general"?i.jsx(Zg,{document:R.base,draft:R.values,dirtyKeys:ne,saving:M.phase==="saving",onSet:(Q,me)=>q({type:"set_value",key:Q,value:me}),onReset:Q=>q({type:"reset_value",key:Q})}):null,M.section==="models"?i.jsx(nv,{document:R.base,draft:R.values,dirtyKeys:ne,runtimeBusy:l.processing,saving:M.phase==="saving",onGoToSessionControls:d,onSet:(Q,me)=>q({type:"set_value",key:Q,value:me}),onReset:Q=>q({type:"reset_value",key:Q})}):null,M.section==="permissions"?i.jsx(tv,{document:R.base,value:R.values["permissions.toolConfirmation"],dirtyKeys:ne,runtimeBusy:l.processing,saving:M.phase==="saving",confirmAllow:D,allowAcknowledged:Z,onAllowRequested:()=>{F(!1),O(!0)},onAllowAcknowledged:F,onConfirmAllow:()=>{q({type:"set_value",key:"permissions.toolConfirmation",value:"allow"}),O(!1),F(!1)},onCancelAllow:()=>{O(!1),F(!1)},onSet:Q=>q({type:"set_value",key:"permissions.toolConfirmation",value:Q}),onReset:()=>q({type:"reset_value",key:"permissions.toolConfirmation"})}):null,M.section==="advanced"?i.jsx(rv,{state:l,document:R.base,documentAction:de,onOpenDocument:()=>{X({tone:"status",message:"正在请求 Host 打开设置文件…"}),a.openSettingsDocument().then(()=>X({tone:"status",message:"已交给系统默认编辑器打开。"})).catch(Q=>X({tone:"error",message:Q instanceof Error?Q.message:"无法打开设置文件。"}))},onRefresh:()=>{X({tone:"status",message:"正在重新载入 Host 设置…"}),a.refreshSettings().then(()=>X({tone:"status",message:"已载入最新设置。"})).catch(Q=>X({tone:"error",message:Q instanceof Error?Q.message:"重新载入失败。"}))}}):null]}):i.jsxs("section",{className:"settings-empty","aria-live":"polite",children:[i.jsx(K,{name:"refresh"}),i.jsx("h3",{children:"正在读取设置"}),i.jsx("p",{children:"等待本地 Host 返回可验证的设置快照。"})]})]})]}),M.confirmDiscard?i.jsxs("div",{className:"settings-discard-confirm",role:"alertdialog","aria-labelledby":"settings-discard-title","aria-describedby":"settings-discard-description",children:[i.jsxs("div",{children:[i.jsx("strong",{id:"settings-discard-title",children:"放弃未应用的更改?"}),i.jsxs("p",{id:"settings-discard-description",children:["你的 ",ne.length," 项草稿尚未写入 Host。"]})]}),i.jsxs("div",{children:[i.jsx("button",{ref:g,type:"button",className:"secondary-button",onClick:()=>{q({type:"cancel_discard"});const Q=k.current;requestAnimationFrame(()=>Q?.focus())},children:"继续编辑"}),i.jsx("button",{type:"button",className:"danger-ghost-button",onClick:Re,children:"放弃更改"})]})]}):null,i.jsxs("footer",{className:"modal-footer settings-footer",children:[i.jsx("span",{className:"settings-dirty-summary","aria-live":"polite",children:J?`${ne.length} 项未应用`:"没有未应用的更改"}),i.jsx("button",{type:"button",className:"secondary-button",onClick:Ne,disabled:M.phase==="saving",children:"取消"}),i.jsx("button",{type:"submit",className:"primary-button",disabled:!R||!J||M.phase==="saving"||M.phase==="conflict"||je||R.base.state!=="ready"||!R.base.writable,children:M.phase==="saving"?"应用中…":`应用 ${ne.length} 项`})]})]})})}function Zg({document:t,draft:r,dirtyKeys:l,saving:a,onSet:d,onReset:p}){const h=t.sections.appearance.style,g=t.sections.appearance.theme,k=t.sections.appearance.motion;return i.jsxs(Io,{heading:"通用",detail:"外观偏好由 Host 保存,并在所有 Workbench 窗口保持一致。",children:[i.jsx(es,{id:"settings-style",label:"视觉风格",description:"选择内置的方块工坊外观,或切回经典工作台。",field:h,dirty:l.includes("appearance.style"),onReset:()=>p("appearance.style"),disabled:a||!st(t,h),children:i.jsxs("select",{id:"settings-style",value:r["appearance.style"],disabled:a||!st(t,h),onChange:b=>d("appearance.style",b.target.value),children:[i.jsx("option",{value:"orion-blocksmith",children:"方块工坊(内置,默认)"}),i.jsx("option",{value:"classic",children:"经典"})]})}),i.jsx(es,{id:"settings-theme",label:"主题",description:"跟随系统或固定使用浅色、深色。",field:g,dirty:l.includes("appearance.theme"),onReset:()=>p("appearance.theme"),disabled:a||!st(t,g),children:i.jsxs("select",{id:"settings-theme",value:r["appearance.theme"],disabled:a||!st(t,g),onChange:b=>d("appearance.theme",b.target.value),children:[i.jsx("option",{value:"system",children:"跟随系统"}),i.jsx("option",{value:"dark",children:"深色"}),i.jsx("option",{value:"light",children:"浅色"})]})}),i.jsxs("figure",{className:"appearance-preview","data-preview-style":r["appearance.style"],"data-preview-theme":r["appearance.theme"],"aria-label":`外观预览:${r["appearance.style"]==="orion-blocksmith"?"方块工坊":"经典工作台"},${ev(r["appearance.theme"])}`,children:[i.jsxs("div",{className:"appearance-preview-frame","aria-hidden":"true",children:[i.jsx("span",{className:"appearance-preview-rail"}),i.jsxs("span",{className:"appearance-preview-main",children:[i.jsx("i",{}),i.jsx("i",{})]}),i.jsx("span",{className:"appearance-preview-panel"})]}),i.jsx("figcaption",{children:"纯 CSS 预览 · 均为内置外观,不支持安装或卸载。"})]}),i.jsx(es,{id:"settings-motion",label:"动效",description:"减少非必要动画,保留状态变化。",field:k,dirty:l.includes("appearance.motion"),onReset:()=>p("appearance.motion"),disabled:a||!st(t,k),children:i.jsxs("select",{id:"settings-motion",value:r["appearance.motion"],disabled:a||!st(t,k),onChange:b=>d("appearance.motion",b.target.value),children:[i.jsx("option",{value:"system",children:"跟随系统"}),i.jsx("option",{value:"reduced",children:"减少动效"})]})})]})}function ev(t){return t==="light"?"浅色":t==="dark"?"深色":"跟随系统"}function nv({document:t,draft:r,dirtyKeys:l,saving:a,runtimeBusy:d,onSet:p,onReset:h,onGoToSessionControls:g}){const k=t.sections.defaults.model,b=t.sections.defaults.effort,T=t.models.some(N=>N.id===r["defaults.model"])?t.models:[{id:r["defaults.model"],label:r["defaults.model"]},...t.models];return i.jsxs(Io,{heading:"模型与推理",detail:"项目默认值通常从下一逻辑请求开始生效;当前会话覆盖保持可见。",children:[d?i.jsx($f,{detail:"当前回合正在运行;项目推理强度暂时锁定,默认模型仍可用于新会话。"}):null,i.jsx(es,{id:"settings-model",label:"默认模型",description:"仅展示 Host 提供的可用模型标识。",field:k,dirty:l.includes("defaults.model"),onReset:()=>h("defaults.model"),disabled:a||!st(t,k),children:i.jsx("select",{id:"settings-model",value:r["defaults.model"],disabled:a||!st(t,k),onChange:N=>p("defaults.model",N.target.value),children:T.map(N=>i.jsxs("option",{value:N.id,children:[N.label,N.provider?` · ${N.provider}`:""]},N.id))})}),i.jsx(es,{id:"settings-effort",label:"默认推理强度",description:"模型不支持的强度会由 Host 拒绝,不会静默降级。",field:b,dirty:l.includes("defaults.effort"),onReset:()=>h("defaults.effort"),disabled:a||d||!st(t,b),children:i.jsx("select",{id:"settings-effort",value:r["defaults.effort"],disabled:a||d||!st(t,b),onChange:N=>p("defaults.effort",N.target.value),children:Yg.map(N=>i.jsx("option",{value:N,children:N==="auto"?"Auto":N},N))})}),t.currentSession?i.jsxs("div",{className:"settings-readonly-card","aria-label":"当前会话设置",children:[i.jsxs("div",{children:[i.jsx("span",{children:"当前会话"}),i.jsx("strong",{children:t.currentSession.model})]}),i.jsxs("div",{children:[i.jsx("span",{children:"Effort"}),i.jsx("strong",{children:t.currentSession.effort})]}),i.jsx("p",{children:t.currentSession.overridesProjectEffort?"当前会话覆盖了项目推理强度。":"当前会话沿用项目默认值。"}),i.jsx("small",{children:"可在会话输入框使用 /model 或 /effort 调整当前会话。"}),i.jsx("button",{type:"button",className:"text-button",onClick:g,"aria-controls":"orion-composer",children:"转到会话控制"})]}):null,i.jsxs("div",{className:"credential-note",children:[i.jsx(K,{name:"check",size:16}),i.jsxs("div",{children:[i.jsx("strong",{children:"凭证始终留在 Host"}),i.jsx("p",{children:"浏览器只接收 ready / missing / unavailable 状态,不提供 API Key 输入框。"})]})]})]})}function tv({document:t,value:r,dirtyKeys:l,runtimeBusy:a,saving:d,confirmAllow:p,allowAcknowledged:h,onAllowRequested:g,onAllowAcknowledged:k,onConfirmAllow:b,onCancelAllow:T,onSet:N,onReset:$}){const M=m.useRef(null),q=m.useRef(null),D=t.sections.permissions.toolConfirmation,O=d||a||!st(t,D);return m.useEffect(()=>{p&&q.current?.focus()},[p]),i.jsxs(Io,{heading:"权限",detail:"默认确认策略不改变工作区边界、硬拒绝和高风险保护。",children:[a?i.jsx($f,{}):null,i.jsx(es,{id:"settings-tool-confirmation",label:"工具确认",description:"Ask 逐次询问;Deny 默认拒绝;Allow 仍受 Host 安全策略约束。",field:D,labelControl:!1,dirty:l.includes("permissions.toolConfirmation"),onReset:$,disabled:O,children:i.jsxs("fieldset",{id:"settings-tool-confirmation",className:"segmented-field",disabled:O,children:[i.jsx("legend",{className:"sr-only",children:"默认工具确认策略"}),["ask","allow","deny"].map(Z=>i.jsxs("label",{children:[i.jsx("input",{ref:Z==="allow"?M:void 0,type:"radio",name:"settings-permission",value:Z,checked:r===Z,onChange:()=>Z==="allow"?g():N(Z)}),i.jsx("span",{children:Z==="ask"?"Ask":Z==="allow"?"Allow":"Deny"})]},Z))]})}),p?i.jsxs("div",{className:"settings-risk-confirm",role:"alertdialog","aria-labelledby":"allow-confirm-title","aria-describedby":"allow-confirm-description",children:[i.jsx("strong",{id:"allow-confirm-title",children:"确认启用 Allow"}),i.jsx("p",{id:"allow-confirm-description",children:"Orion 会减少常规工具询问,但硬拒绝、工作区边界和风险检查仍然生效。"}),i.jsxs("label",{children:[i.jsx("input",{ref:q,type:"checkbox",checked:h,onChange:Z=>k(Z.target.checked)}),i.jsx("span",{children:"我理解这会扩大默认授权范围"})]}),i.jsxs("div",{children:[i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>{T(),requestAnimationFrame(()=>M.current?.focus())},children:"保持当前策略"}),i.jsx("button",{type:"button",className:"primary-button",disabled:!h,onClick:b,children:"启用 Allow"})]})]}):null,i.jsx("p",{className:"settings-help",children:"Agent 的 BUILD / PLAN / AUTO 模式与工具确认策略互相独立。"})]})}function rv({state:t,document:r,documentAction:l,onOpenDocument:a,onRefresh:d}){return i.jsxs(Io,{heading:"高级",detail:"配置状态、凭证可用性和集成清单均为只读摘要。",children:[r.diagnostic?i.jsxs("div",{className:"settings-diagnostic",role:"alert",children:[i.jsx(K,{name:"warning",size:16}),i.jsxs("div",{children:[i.jsx("strong",{children:Gt(r.diagnostic.code)}),i.jsx("p",{children:Gt(r.diagnostic.message)})]})]}):null,i.jsxs("dl",{className:"settings-facts",children:[i.jsxs("div",{children:[i.jsx("dt",{children:"状态"}),i.jsx("dd",{children:pv(r.state)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"工作区"}),i.jsx("dd",{title:"仅显示目录名",children:_f(r.workspace)||"—"})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"文档"}),i.jsx("dd",{children:r.hasDocument?"已创建":"尚未创建"})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"版本"}),i.jsx("dd",{title:r.revision,children:Ud(r.revision)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"Last good"}),i.jsx("dd",{children:t.settingsMirror.lastGood?Ud(t.settingsMirror.lastGood.revision):"无"})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"Mirror"}),i.jsxs("dd",{children:[t.settingsMirror.status," · g",t.settingsMirror.generation]})]})]}),i.jsxs("div",{className:"settings-advanced-actions",children:[i.jsxs("button",{type:"button",className:"secondary-button",onClick:d,children:[i.jsx(K,{name:"refresh",size:15}),"重新载入设置"]}),i.jsxs("button",{type:"button",className:"secondary-button",onClick:a,children:[i.jsx(K,{name:"edit",size:15}),"打开配置文件"]})]}),l?i.jsx("div",{className:`settings-document-action ${l.tone}`,role:l.tone==="error"?"alert":"status",children:l.message}):null,i.jsxs("section",{className:"settings-subsection","aria-labelledby":"credential-status-heading",children:[i.jsx("h4",{id:"credential-status-heading",children:"凭证状态"}),i.jsx("p",{children:"仅显示来源类别与可用性;密钥值、环境变量名和认证头不会进入浏览器。"}),r.credentials.length?i.jsx("ul",{className:"settings-readonly-list",children:r.credentials.map(p=>i.jsxs("li",{children:[i.jsx("span",{children:p.providerId}),i.jsx("span",{className:`settings-state-badge state-${p.state}`,children:p.state}),i.jsx("small",{children:fv(p.source)})]},p.providerId))}):i.jsx("p",{className:"settings-empty-line",children:"Host 未报告凭证槽位。"})]}),i.jsxs("section",{className:"settings-subsection","aria-labelledby":"integration-status-heading",children:[i.jsx("h4",{id:"integration-status-heading",children:"只读能力"}),i.jsx("p",{children:"Skills 与 MCP 在专用配置中管理,此处用于确认 Host 实际加载结果。"}),i.jsxs("div",{className:"settings-capability-grid",children:[i.jsx(Wd,{title:"Skills",count:t.skills.length,names:t.skills.map(p=>p.name)}),i.jsx(Wd,{title:"MCP",count:t.mcpServers.length,names:t.mcpServers.map(p=>p.name)})]})]})]})}function sv({state:t}){const{settingsMirror:r}=t;return r.status==="loading"?i.jsxs("div",{className:"settings-availability",role:"status",children:[i.jsx(K,{name:"refresh",size:15})," 正在与 Host 同步设置…"]}):r.error?i.jsxs("div",{className:"settings-availability error",role:"alert",children:[i.jsx(K,{name:"warning",size:15})," 设置同步失败:",r.error," 当前显示上一次可用值。"]}):r.stale?i.jsxs("div",{className:"settings-availability",role:"status",children:[i.jsx(K,{name:"refresh",size:15})," Host 已更新设置,正在载入;当前显示上一次可用值。"]}):r.document?.state==="invalid"?i.jsxs("div",{className:"settings-availability error",role:"alert",children:[i.jsx(K,{name:"warning",size:15})," 设置文档无效。控件已锁定,并保留上一次可用值供参考。"]}):r.document?.state==="read-only"?i.jsxs("div",{className:"settings-availability",role:"status",children:[i.jsx(K,{name:"info",size:15})," 设置当前为只读状态。"]}):r.document?.state==="unavailable"?i.jsxs("div",{className:"settings-availability error",role:"alert",children:[i.jsx(K,{name:"warning",size:15})," Host 设置暂不可用;当前显示上一次可用值。"]}):null}function Io({heading:t,detail:r,children:l}){return i.jsxs("section",{className:"settings-section","aria-labelledby":`settings-${Hd(t)}-heading`,children:[i.jsxs("header",{className:"settings-section-heading",children:[i.jsx("h3",{id:`settings-${Hd(t)}-heading`,children:t}),i.jsx("p",{children:r})]}),i.jsx("div",{className:"settings-section-fields",children:l})]})}function es({id:t,label:r,description:l,field:a,labelControl:d=!0,dirty:p,disabled:h,onReset:g,children:k}){return i.jsxs("div",{className:`settings-field-card ${p?"dirty":""}`,children:[i.jsxs("div",{className:"settings-field-copy",children:[d?i.jsx("label",{htmlFor:t,children:r}):i.jsx("strong",{children:r}),i.jsx("p",{children:l}),i.jsxs("div",{className:"settings-field-meta","aria-label":`${r} 设置来源`,children:[i.jsx("span",{children:lv(a.source)}),i.jsx("span",{children:av(a.scope)}),i.jsx("span",{children:cv(a.applies)}),p?i.jsx("strong",{children:"草稿"}):null]}),a.blockedReason?i.jsx("small",{className:"settings-blocked-reason",children:uv(a.blockedReason)}):null]}),i.jsxs("div",{className:"settings-field-control",children:[k,i.jsx("button",{type:"button",className:"text-button",onClick:g,disabled:h||a.explicitValue===void 0&&!p,"aria-label":`重置${r}为继承值`,children:"重置"})]})]})}function iv({draft:t,onAdopt:r,onRebase:l}){const a=Kg(t),d=yr(t),p=t.serverLatest;return i.jsxs("div",{className:"settings-conflict",role:"alert",children:[i.jsx(K,{name:"warning",size:17}),i.jsxs("div",{children:[i.jsx("strong",{children:"Host 设置已在其他位置更新"}),i.jsxs("p",{children:["草稿仍被保留",a.length?`;${a.length} 个草稿字段的服务器值发生变化`:"","。"]}),p?i.jsxs("div",{className:"settings-conflict-values","aria-label":"服务器值与我的草稿",children:[i.jsxs("div",{className:"settings-conflict-value-heading","aria-hidden":"true",children:[i.jsx("span",{children:"字段"}),i.jsx("span",{children:"服务器最新值"}),i.jsx("span",{children:"我的草稿"})]}),d.map(h=>i.jsxs("div",{children:[i.jsx("strong",{children:dv(h)}),i.jsx("span",{"data-label":"服务器最新值",children:String(_t(p,h))}),i.jsxs("span",{"data-label":"我的草稿",children:[String(t.values[h]),t.intents[h]?.op==="unset"?"(重置)":""]})]},h))]}):null,i.jsxs("div",{children:[i.jsx("button",{type:"button",className:"secondary-button",onClick:r,children:"采用服务器值"}),i.jsx("button",{type:"button",className:"primary-button",onClick:l,children:"基于最新值重试"})]})]})]})}function $f({detail:t="当前回合正在运行;相关设置会在 Runtime 空闲后解锁。"}={}){return i.jsxs("div",{className:"settings-busy",role:"status",children:[i.jsx(K,{name:"activity",size:15})," ",t]})}function Wd({title:t,count:r,names:l}){return i.jsxs("div",{className:"settings-capability-card",children:[i.jsx("span",{children:t}),i.jsx("strong",{children:r}),i.jsx("small",{children:l.slice(0,3).join(" · ")||"未加载"})]})}function st(t,r){return t.state==="ready"&&t.writable&&r.writable&&!r.blockedReason}function ov(t,r){const l=r instanceof Error?r.message:"Host 拒绝了设置变更。";switch(t){case"settings_revision_conflict":return"设置已在其他位置更新。你的草稿没有丢失。";case"runtime_busy":return"Runtime 正在处理任务。请等待当前回合结束后再次应用。";case"settings_document_invalid":return"配置文件无效。请在高级页查看 Host 提供的安全诊断。";case"settings_write_forbidden":return"当前设置来源为只读,Host 未执行任何变更。";case"request_id_conflict":return"保存请求标识与先前内容冲突,请重新应用。";case"settings_recovery_required":return"Host 报告设置冲突,但最新设置暂时无法载入。草稿已保留,请重新载入后再试。";case"network":return"未能确认 Host 是否收到请求;保留草稿,可安全重试。";default:return l}}function lv(t){return`来源:${t==="internal"?"内置":t==="model"?"模型":t==="global"?"全局":t==="project"?"项目":"会话"}`}function av(t){return`作用域:${t==="global"?"全局":t==="project"?"项目":"会话"}`}function cv(t){return`生效:${t==="live"?"立即":t==="next-logical-request"?"下次请求":t==="new-session"?"新会话":"重启后"}`}function uv(t){return t==="runtime_busy"?"Runtime 正在运行,暂不可修改。":t==="read_only"?"此字段来自只读配置。":"设置文档无效,修复前不可修改。"}function dv(t){return t==="appearance.style"?"视觉风格":t==="appearance.theme"?"主题":t==="appearance.motion"?"动效":t==="defaults.model"?"默认模型":t==="defaults.effort"?"默认推理强度":"工具确认"}function fv(t){return t==="environment"?"环境提供":t==="legacy"?"Host 旧配置":"未配置"}function pv(t){return t==="ready"?"可用":t==="invalid"?"无效":t==="read-only"?"只读":"不可用"}function Ud(t){return t.length>24?`${t.slice(0,20)}…`:t}function Hd(t){return t.replace(/[^a-z0-9]+/gi,"-").replace(/^-|-$/g,"").toLowerCase()||"section"}function Vd(){return typeof document>"u"?null:document.activeElement}const hv=["导航","面板","编辑","浮层"],Af=Object.freeze([{id:"toggle-project-navigation",tokens:["Mod","B"],group:"导航",description:"展开或折叠项目导航"},{id:"toggle-work-panel",tokens:["Mod","Shift","B"],group:"导航",description:"展开或折叠右侧工作面板"},{id:"focus-work-panel-1",tokens:["Mod","Shift","1"],group:"面板",description:"切换到 Agent 面板"},{id:"focus-work-panel-2",tokens:["Mod","Shift","2"],group:"面板",description:"切换到审阅面板"},{id:"focus-work-panel-3",tokens:["Mod","Shift","3"],group:"面板",description:"切换到终端面板"},{id:"focus-work-panel-4",tokens:["Mod","Shift","4"],group:"面板",description:"切换到文件面板"},{id:"focus-work-panel-5",tokens:["Mod","Shift","5"],group:"面板",description:"切换到 Git 面板"},{id:"work-panel-tab-nav",tokens:["←","→"],group:"面板",description:"在面板标签之间移动(Home / End 跳到首尾)"},{id:"resize-panel",tokens:["←","→"],group:"面板",description:"聚焦分隔条后按 2% 步长调整宽度,配合 Shift 为 10%"},{id:"resize-panel-reset",tokens:["Enter"],group:"面板",description:"分隔条聚焦时恢复默认宽度(Home 最窄,End 最宽)"},{id:"submit-composer",tokens:["Enter"],group:"编辑",description:"在输入框中发送当前内容"},{id:"newline-composer",tokens:["Shift","Enter"],group:"编辑",description:"在输入框中插入换行而不发送"},{id:"force-submit-composer",tokens:["Mod","Enter"],group:"编辑",description:"Agent 运行中时立即提交(否则进入队列)"},{id:"project-tree-nav",tokens:["↑","↓"],group:"面板",description:"在项目与会话树中移动焦点"},{id:"close-overlay",tokens:["Esc"],group:"浮层",description:"关闭抽屉、对话框或快捷键面板"},{id:"open-shortcut-help",tokens:["Mod","/"],group:"浮层",description:"打开或关闭本快捷键面板"}]);function mv(){if(typeof navigator>"u")return!1;const t=navigator.platform??"";return/mac|iphone|ipad|ipod/i.test(t)||/Mac/i.test(navigator.userAgent??"")}function gv(t,r=mv()){return t.map(a=>a==="Mod"?r?"⌘":"Ctrl":a==="Shift"?r?"⇧":"Shift":a==="Alt"?r?"⌥":"Alt":a.toUpperCase()).join(r?" ":"+")}function yo(t,r){let l=!1,a=!1,d=!1,p=null;for(const b of r)b==="Mod"?l=!0:b==="Shift"?a=!0:b==="Alt"?d=!0:p=b;if(l!==(t.metaKey||t.ctrlKey)||a!==t.shiftKey||d!==t.altKey||p===null)return!1;const h=t.code??"";if(/^[a-z]$/i.test(p))return h===`Key${p.toUpperCase()}`;if(/^[0-9]$/.test(p))return h===`Digit${p}`;const k=Object.freeze({esc:"escape"})[p.toLowerCase()]??p.toLowerCase();return t.key.toLowerCase()===k}function xo(t){return Af.find(r=>r.id===t)}function vv(){return hv.map(t=>({group:t,items:Af.filter(r=>r.group===t)})).filter(t=>t.items.length>0)}function yv({open:t,onClose:r}){const l=m.useRef(null),a="shortcut-help-title";m.useEffect(()=>{const h=l.current;h&&(t&&!h.open&&h.showModal(),!t&&h.open&&h.close())},[t]);const d=h=>{h.target===h.currentTarget&&r()},p=vv();return i.jsxs("dialog",{ref:l,id:"shortcut-help",className:"modal shortcut-help","aria-labelledby":a,onCancel:h=>{h.preventDefault(),r()},onClose:r,onClick:d,children:[i.jsxs("header",{className:"shortcut-help-header",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"KEYBOARD"}),i.jsx("h2",{id:a,children:"键盘快捷键"})]}),i.jsx("button",{type:"button",className:"icon-button",onClick:r,"aria-label":"关闭快捷键面板",children:i.jsx(K,{name:"close",size:15})})]}),i.jsx("div",{className:"shortcut-help-body",children:p.map(({group:h,items:g})=>i.jsxs("section",{className:"shortcut-help-group",children:[i.jsx("h3",{children:h}),i.jsx("dl",{children:g.map(k=>i.jsxs("div",{className:"shortcut-row",children:[i.jsx("dt",{children:k.description}),i.jsx("dd",{children:i.jsx("kbd",{children:gv(k.tokens)})})]},k.id))})]},h))}),i.jsx("footer",{className:"shortcut-help-footer",children:i.jsxs("p",{children:["按 ",i.jsx("kbd",{children:"Esc"})," 关闭本面板,焦点会回到打开它的位置。"]})})]})}const xv="modulepreload",wv=function(t){return"/"+t},Kd={},bo=function(r,l,a){let d=Promise.resolve();if(l&&l.length>0){let k=function(b){return Promise.all(b.map(T=>Promise.resolve(T).then(N=>({status:"fulfilled",value:N}),N=>({status:"rejected",reason:N}))))};document.getElementsByTagName("link");const h=document.querySelector("meta[property=csp-nonce]"),g=h?.nonce||h?.getAttribute("nonce");d=k(l.map(b=>{if(b=wv(b),b in Kd)return;Kd[b]=!0;const T=b.endsWith(".css"),N=T?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${b}"]${N}`))return;const $=document.createElement("link");if($.rel=T?"stylesheet":xv,T||($.as="script"),$.crossOrigin="",$.href=b,g&&$.setAttribute("nonce",g),document.head.appendChild($),T)return new Promise((M,q)=>{$.addEventListener("load",M),$.addEventListener("error",()=>q(new Error(`Unable to preload CSS for ${b}`)))})}))}function p(h){const g=new Event("vite:preloadError",{cancelable:!0});if(g.payload=h,window.dispatchEvent(g),!g.defaultPrevented)throw h}return d.then(h=>{for(const g of h||[])g.status==="rejected"&&p(g.reason);return r().catch(p)})},fr=[{id:"goal",label:"Goal",icon:"goal"},{id:"activity",label:"活动",icon:"activity"},{id:"integrations",label:"能力",icon:"branch"},{id:"diagnostics",label:"诊断",icon:"diagnostics"}];function kv({state:t,actions:r,tab:l,onTabChange:a}){const d=m.useId(),p=h=>{if(h.key!=="ArrowLeft"&&h.key!=="ArrowRight"&&h.key!=="Home"&&h.key!=="End")return;h.preventDefault();const g=fr.findIndex(b=>b.id===l),k=h.key==="Home"?0:h.key==="End"?fr.length-1:(g+(h.key==="ArrowRight"?1:-1)+fr.length)%fr.length;a(fr[k].id),requestAnimationFrame(()=>document.getElementById(`${d}-tab-${fr[k].id}`)?.focus())};return i.jsxs("div",{className:"agent-panel",children:[i.jsx("div",{className:"inspector-tabs",role:"tablist","aria-label":"详情类别",onKeyDown:p,children:fr.map(h=>i.jsxs("button",{id:`${d}-tab-${h.id}`,type:"button",role:"tab","aria-selected":l===h.id,"aria-controls":`${d}-panel`,tabIndex:l===h.id?0:-1,onClick:()=>a(h.id),children:[i.jsx(K,{name:h.icon,size:15}),i.jsx("span",{children:h.label})]},h.id))}),i.jsxs("div",{id:`${d}-panel`,className:"inspector-body",role:"tabpanel","aria-labelledby":`${d}-tab-${l}`,tabIndex:0,children:[l==="goal"?i.jsx(jv,{state:t,actions:r}):null,l==="activity"?i.jsx(Cv,{state:t,actions:r}):null,l==="integrations"?i.jsx(Iv,{state:t,actions:r}):null,l==="diagnostics"?i.jsx(bv,{state:t,actions:r}):null]})]})}function jv({state:t,actions:r}){const l=t.goal,a=t.plan?.body??(typeof t.diagnostics?.plan=="string"?t.diagnostics.plan:""),p=!!t.pendingAction||t.connection!=="live"||!vr(t);if(!l)return i.jsxs("div",{className:"inspector-stack",children:[i.jsxs("section",{className:"inspector-empty-card",children:[i.jsx("div",{className:"empty-mini-icon",children:i.jsx(K,{name:"goal"})}),i.jsx("h3",{children:"没有活动 Goal"}),i.jsx("p",{children:"Goal 会跨回合保存目标、计划、证据和预算状态。"})]}),i.jsx(Sv,{onCreate:g=>r.controlGoal("create",g),disabled:p||!t.activeSessionId}),i.jsx(Qd,{mode:t.mode.baseMode,plan:a})]});const h=l.criteria?.total?Math.round(l.criteria.passed/l.criteria.total*100):0;return i.jsxs("div",{className:"inspector-stack",children:[i.jsxs("section",{className:"goal-card",children:[i.jsxs("header",{children:[i.jsx("span",{className:`goal-status status-${l.status}`,children:l.status.replace(/_/g," ")}),i.jsxs("span",{children:["rev ",l.revision]})]}),i.jsx("h3",{children:l.objective}),l.criteria?i.jsxs("div",{className:"goal-progress",children:[i.jsxs("div",{children:[i.jsx("span",{children:"成功条件"}),i.jsxs("strong",{children:[l.criteria.passed," / ",l.criteria.total]})]}),i.jsx("progress",{value:l.criteria.passed,max:Math.max(1,l.criteria.total),"aria-label":`Goal 条件完成 ${h}%`}),i.jsxs("div",{className:"goal-breakdown",children:[i.jsxs("span",{children:[h,"% 完成"]}),i.jsxs("span",{children:[l.criteria.failed," 失败 · ",l.criteria.stale," 过期"]})]})]}):null,i.jsxs("dl",{className:"metric-grid",children:[i.jsxs("div",{children:[i.jsx("dt",{children:"Tokens"}),i.jsxs("dd",{children:[Gd(l.tokensUsed),l.tokenBudget?` / ${Gd(l.tokenBudget)}`:""]})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"用时"}),i.jsx("dd",{children:Rv(l.timeUsedMs)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"续跑"}),i.jsx("dd",{children:l.continuationCount})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"Plan"}),i.jsx("dd",{children:l.planRevision?`r${l.planRevision}`:"—"})]})]}),l.nextAction?i.jsxs("div",{className:"next-action",children:[i.jsx("span",{children:"下一步"}),i.jsx("p",{children:l.nextAction})]}):null,l.auditRemaining?.length?i.jsxs("details",{className:"remaining-audit",children:[i.jsxs("summary",{children:["仍需验证 ",l.auditRemaining.length," 项"]}),i.jsx("ul",{children:l.auditRemaining.map((g,k)=>i.jsx("li",{children:g},`${g}-${k}`))})]}):null,i.jsxs("div",{className:"goal-actions",children:[l.status==="active"?i.jsxs("button",{type:"button",className:"secondary-button",onClick:()=>{r.controlGoal("pause")},disabled:p,children:[i.jsx(K,{name:"pause",size:14}),"暂停"]}):l.status!=="complete"?i.jsxs("button",{type:"button",className:"secondary-button",onClick:()=>{r.controlGoal("resume")},disabled:p,children:[i.jsx(K,{name:"refresh",size:14}),"恢复"]}):null,i.jsx("button",{type:"button",className:"danger-ghost-button",onClick:()=>{window.confirm("清除此 Goal?会话记录仍会保留。")&&r.controlGoal("clear")},disabled:p,children:"清除"})]})]}),t.goalEvidence.length>0?i.jsxs("section",{className:"inspector-section",children:[i.jsxs("div",{className:"inspector-section-heading",children:[i.jsx("h3",{children:"最近证据"}),i.jsx("span",{children:t.goalEvidence.length})]}),i.jsx("ul",{className:"evidence-list",children:t.goalEvidence.slice(-8).reverse().map(g=>i.jsxs("li",{children:[i.jsx("span",{className:`evidence-state ${g.result}`,"aria-hidden":"true",children:i.jsx(K,{name:g.result==="passed"?"check":g.result==="failed"?"close":"more",size:12})}),i.jsxs("div",{children:[i.jsx("strong",{children:g.subject}),i.jsxs("span",{children:[g.kind," · ",g.result]})]})]},g.id))})]}):null,i.jsx(Qd,{mode:t.mode.baseMode,plan:a,goalPhase:l.planPhase}),t.goalActivity.length>0?i.jsxs("section",{className:"inspector-section",children:[i.jsx("div",{className:"inspector-section-heading",children:i.jsx("h3",{children:"Goal 轨迹"})}),i.jsx("ol",{className:"compact-timeline",children:t.goalActivity.slice(-10).reverse().map((g,k)=>i.jsxs("li",{children:[i.jsx("span",{className:"timeline-pin","aria-hidden":"true"}),i.jsxs("div",{children:[i.jsx("strong",{children:g.type.replace(/_/g," ")}),i.jsx("p",{children:g.message}),i.jsx("time",{children:Pv(g.timestamp)})]})]},`${g.timestamp}-${k}`))})]}):null]})}function Sv({onCreate:t,disabled:r}){const[l,a]=m.useState(""),d=async p=>{if(p.preventDefault(),!!l.trim())try{await t(l.trim()),a("")}catch{}};return i.jsxs("form",{className:"goal-create",onSubmit:d,children:[i.jsx("label",{htmlFor:"goal-objective",children:"创建 Goal"}),i.jsx("textarea",{id:"goal-objective",rows:3,value:l,onChange:p=>a(p.target.value),placeholder:"输入一个可验证、可持续执行的目标…",disabled:r}),i.jsxs("button",{type:"submit",className:"primary-button",disabled:r||!l.trim(),children:[i.jsx(K,{name:"goal",size:15}),"开始 Goal"]})]})}function Qd({mode:t,plan:r,goalPhase:l}){return i.jsxs("section",{className:"inspector-section plan-section",children:[i.jsxs("div",{className:"inspector-section-heading",children:[i.jsx("h3",{children:"Plan"}),i.jsx("span",{className:`mode-badge mode-${t}`,children:t==="plan"?"PLAN MODE":l||"READ ONLY"})]}),r?i.jsx(Hs,{children:r}):i.jsx("p",{className:"muted-copy",children:"还没有保存的计划。切换到 PLAN 模式后提交任务,Runtime 会生成并保存计划。"})]})}function Cv({state:t,actions:r}){const l=m.useMemo(()=>t.tools.filter(a=>Ev(a)),[t.tools]);return i.jsxs("div",{className:"inspector-stack",children:[i.jsxs("section",{className:"inspector-section",children:[i.jsxs("div",{className:"inspector-section-heading",children:[i.jsx("h3",{children:"工具调用"}),i.jsx("span",{children:t.tools.length})]}),t.tools.length?i.jsx("ul",{className:"activity-list",children:t.tools.slice(-20).reverse().map(a=>i.jsx(Nv,{tool:a},a.callId))}):i.jsx(po,{text:"还没有工具活动"})]}),i.jsx(_v,{state:t,actions:r}),i.jsxs("section",{className:"inspector-section",children:[i.jsxs("div",{className:"inspector-section-heading",children:[i.jsx("h3",{children:"文件变化"}),i.jsx("span",{children:l.length+t.edits.length})]}),l.length||t.edits.length?i.jsxs("ul",{className:"change-list",children:[t.edits.slice(-8).reverse().map(a=>i.jsxs("li",{children:[i.jsx(K,{name:"edit",size:14}),i.jsxs("div",{children:[i.jsx("strong",{children:Df(a.request.path)}),i.jsxs("span",{children:[a.request.kind," · ",a.request.candidates.length," candidates"]})]})]},a.eventId)),l.slice(-8).reverse().map(a=>i.jsxs("li",{children:[i.jsx(K,{name:"code",size:14}),i.jsxs("div",{children:[i.jsx("strong",{children:a.name}),i.jsx("span",{children:a.summary||a.state})]})]},a.callId))]}):i.jsx(po,{text:"还没有文件变化"})]}),i.jsxs("section",{className:"inspector-section",children:[i.jsxs("div",{className:"inspector-section-heading",children:[i.jsx("h3",{children:"子代理与研究"}),i.jsx("span",{children:t.subtasks.length+t.research.length})]}),t.subtasks.length?i.jsx("ul",{className:"activity-list",children:t.subtasks.slice(-8).reverse().map(a=>i.jsxs("li",{children:[i.jsx("span",{className:`state-dot state-${a.state}`,"aria-hidden":"true"}),i.jsxs("div",{children:[i.jsx("strong",{children:a.role}),i.jsx("span",{children:a.objective})]}),i.jsx("small",{children:a.state})]},a.taskId))}):null,t.research.length?i.jsx("ul",{className:"activity-list",children:t.research.slice(-6).reverse().map(a=>i.jsxs("li",{children:[i.jsx("span",{className:`state-dot state-${a.stage}`,"aria-hidden":"true"}),i.jsxs("div",{children:[i.jsx("strong",{children:"Research"}),i.jsx("span",{children:a.objective||a.packetId})]}),i.jsx("small",{children:a.stage})]},a.packetId))}):null,!t.subtasks.length&&!t.research.length?i.jsx(po,{text:"还没有子代理或研究活动"}):null]})]})}function Nv({tool:t}){return i.jsxs("li",{children:[i.jsx("span",{className:`state-dot state-${t.state}`,"aria-hidden":"true"}),i.jsxs("div",{children:[i.jsx("strong",{children:t.name}),i.jsx("span",{children:t.summary||`调用 #${t.sequence}`})]}),i.jsx("small",{children:t.duration!==void 0?`${Math.round(t.duration)}ms`:t.state})]})}function _v({state:t,actions:r}){const[l,a]=m.useState(""),[d,p]=m.useState(""),[h,g]=m.useState(),[k,b]=m.useState(0),[T,N]=m.useState(!1),[$,M]=m.useState("");m.useEffect(()=>{a(""),p(""),g(void 0),M("")},[t.activeSessionId]);const q=async(D,O=0)=>{N(!0),M("");try{const Z=await r.readToolDetail(D,O);a(D),p(F=>O===0?Z.content:`${F}${Z.content}`),g(Z.nextOffsetBytes),b(Z.totalBytes)}catch(Z){M(Z instanceof Error?Z.message:"工具详情读取失败。")}finally{N(!1)}};return i.jsxs("section",{className:"inspector-section tool-detail-browser",children:[i.jsxs("div",{className:"inspector-section-heading",children:[i.jsx("h3",{children:"持久化输出"}),i.jsxs("button",{type:"button",className:"icon-text-button",onClick:()=>{r.refreshToolDetails()},disabled:!!t.pendingAction,children:[i.jsx(K,{name:"refresh",size:13}),"刷新"]})]}),t.toolDetails.length?i.jsx("div",{className:"detail-selector",role:"group","aria-label":"工具输出详情",children:t.toolDetails.slice(-20).reverse().map(D=>i.jsxs("button",{type:"button",className:l&&D.artifactId===l?"active":"",disabled:!D.artifactId||T,onClick:()=>D.artifactId&&void q(D.artifactId),children:[i.jsxs("span",{children:[i.jsx("strong",{children:D.toolName}),i.jsxs("small",{children:["#",D.sequence," · ",Yd(D.outputBytes)]})]}),i.jsx(K,{name:"chevron",size:13})]},`${D.callId}:${D.sequence}`))}):i.jsx(po,{text:"没有可读取的持久化输出"}),t.toolDetailNextCursor?i.jsx("button",{type:"button",className:"text-button",onClick:()=>{r.loadMoreToolDetails()},disabled:!!t.pendingAction,children:"加载更多输出记录"}):null,$?i.jsx("p",{className:"field-error",role:"alert",children:$}):null,l?i.jsxs("div",{className:"detail-output",children:[i.jsxs("div",{children:[i.jsxs("span",{children:[Yd(k)," · 已脱敏"]}),i.jsx("code",{children:l})]}),i.jsx("pre",{tabIndex:0,children:Gt(d)}),h!==void 0?i.jsx("button",{type:"button",className:"secondary-button",disabled:T,onClick:()=>{q(l,h)},children:T?"读取中…":"加载更多"}):null]}):null]})}function Iv({state:t,actions:r}){const l=t.skills,a=t.mcpServers;return i.jsxs("div",{className:"inspector-stack",children:[i.jsxs("section",{className:"capability-card",children:[i.jsxs("header",{children:[i.jsx("span",{className:"capability-icon",children:i.jsx(K,{name:"spark",size:17})}),i.jsxs("div",{children:[i.jsx("h3",{children:"Skills"}),i.jsx("p",{children:"安全描述符,只读"})]}),i.jsx("span",{className:`readiness-pill ${l.length?"ready":""}`,children:l.length?`${l.length} 可用`:"未发现"})]}),l.length?i.jsx("ul",{className:"skill-list",children:l.map(d=>i.jsxs("li",{children:[i.jsxs("div",{children:[i.jsx("strong",{children:d.name}),i.jsxs("span",{children:[d.sourceScope," · ",d.providerId]})]}),i.jsx("p",{children:d.description}),d.requestedCapabilities.length?i.jsx("small",{children:d.requestedCapabilities.join(" · ")}):null]},d.id))}):i.jsx("p",{className:"muted-copy",children:"当前 Runtime 没有公开可用的 Skill 描述符。"})]}),i.jsxs("section",{className:"capability-card",children:[i.jsxs("header",{children:[i.jsx("span",{className:"capability-icon mcp",children:i.jsx(K,{name:"branch",size:17})}),i.jsxs("div",{children:[i.jsx("h3",{children:"MCP Servers"}),i.jsx("p",{children:"只读配置与运行状态"})]}),i.jsx("span",{className:`readiness-pill ${a.length?"ready":""}`,children:a.length?`${a.length} 已配置`:"未配置"})]}),a.length?i.jsx("ul",{className:"server-list",children:a.map(d=>i.jsxs("li",{children:[i.jsx("span",{className:`state-dot state-${d.state}`,"aria-hidden":"true"}),i.jsxs("div",{children:[i.jsx("code",{children:d.name}),i.jsxs("small",{children:[d.transport," · ",d.toolCount," tools"]})]}),i.jsx("span",{children:d.disabled?"Disabled":d.state})]},d.id))}):i.jsx("p",{className:"muted-copy",children:"没有可用的 MCP Server。浏览器不会接收环境变量或认证 Header。"})]}),t.skillNextCursor||t.mcpNextCursor?i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>{r.loadMoreCapabilities()},disabled:!!t.pendingAction,children:"加载更多能力"}):null,i.jsxs("section",{className:"security-note",children:[i.jsx(K,{name:"info",size:16}),i.jsxs("p",{children:[i.jsx("strong",{children:"能力边界由 Runtime 管理。"})," Web 端只展示描述符和状态,不加载外部插件代码,也不会绕过 ToolGateway。"]})]})]})}function bv({state:t,actions:r}){const l=t.diagnostics,a=ko(t);return i.jsxs("div",{className:"inspector-stack",children:[i.jsxs("div",{className:"diagnostics-toolbar",children:[i.jsxs("div",{children:[i.jsx("span",{className:`connection-dot ${t.connection}`,"aria-hidden":"true"}),i.jsx("strong",{children:Tv(t.connection)})]}),i.jsxs("button",{type:"button",className:"icon-text-button",onClick:()=>{r.refreshDiagnostics()},disabled:!!t.pendingAction,children:[i.jsx(K,{name:"refresh",size:14}),"刷新"]})]}),i.jsxs("section",{className:"inspector-section",children:[i.jsx("div",{className:"inspector-section-heading",children:i.jsx("h3",{children:"Runtime"})}),i.jsxs("dl",{className:"diagnostic-list",children:[i.jsx(Cn,{label:"版本",value:t.bootstrap?.productVersion??"—"}),i.jsx(Cn,{label:"工作区",value:Df(t.workspace)||"—"}),i.jsx(Cn,{label:"会话",value:t.activeSessionId?.slice(0,12)??"未选择"}),i.jsx(Cn,{label:"模式",value:String(l?.agentMode??t.mode.baseMode)}),i.jsx(Cn,{label:"权限",value:String(l?.permissionMode??t.settings?.sections.permissions.toolConfirmation.effectiveValue??"—")}),i.jsx(Cn,{label:"事件游标",value:`${t.lastCursor}`}),i.jsx(Cn,{label:"事件 UUID",value:t.lastEventId?.slice(0,12)??"—"}),i.jsx(Cn,{label:"会话快照",value:a.status}),i.jsx(Cn,{label:"保留事件",value:`${l?.eventStream?.retained??"—"}`}),i.jsx(Cn,{label:"快照请求",value:l?.session?`${l.session.snapshotRequests} 次 / 失败 ${l.session.snapshotFailures}`:"—"}),i.jsx(Cn,{label:"快照时延",value:l?.session?`${l.session.snapshotLastMs} ms(累计 ${l.session.snapshotTotalMs} ms)`:"—"}),i.jsx(Cn,{label:"Session actor",value:l?.session?`${l.session.actors.actorsCreated} 分配 / ${l.session.actors.actorsEvicted} LRU 驱逐`:"—"}),i.jsx(Cn,{label:"control plane",value:l?.session?`${l.session.controlPlaneInstalls} 次装载 / ${l.session.controlPlaneShutdowns} 次关闭`:"—"}),i.jsx(Cn,{label:"浏览器切换",value:`${t.clientTelemetry.sessionSwitches} 次 / 缓存命中 ${t.clientTelemetry.snapshotCacheHits} / 加载 ${t.clientTelemetry.snapshotLoads}`})]})]}),l?.contextUsage?i.jsx(lo,{title:"Context usage",value:l.contextUsage}):null,l?.tokenUsage?i.jsx(lo,{title:"Token usage",value:l.tokenUsage}):null,l?.harness?i.jsx(lo,{title:"Harness",value:l.harness}):null,t.loopStats?i.jsx(lo,{title:"Loop statistics",value:t.loopStats}):null,i.jsxs("section",{className:"security-note",children:[i.jsx(K,{name:"check",size:16}),i.jsx("p",{children:"诊断载荷由 Host 脱敏。API Key、认证 Header 和环境值不会返回浏览器。"})]})]})}function Cn({label:t,value:r}){return i.jsxs("div",{children:[i.jsx("dt",{children:t}),i.jsx("dd",{title:r,children:r})]})}function lo({title:t,value:r}){return i.jsxs("details",{className:"json-section",children:[i.jsx("summary",{children:t}),i.jsx("pre",{tabIndex:0,children:Ra(r,12e3)})]})}function po({text:t}){return i.jsxs("div",{className:"empty-small",children:[i.jsx("span",{className:"empty-line","aria-hidden":"true"}),i.jsx("p",{children:t})]})}function Ev(t){return/write|edit|patch|delete|move|rename|mkdir|create/i.test(t.name)}function Df(t){const r=t.replace(/[\\/]+$/,"");return r.split(/[\\/]/).filter(Boolean).at(-1)??r}function Gd(t){return new Intl.NumberFormat("zh-CN",{notation:t>99999?"compact":"standard"}).format(t)}function Rv(t){return t<1e3?`${Math.round(t)}ms`:t<6e4?`${Math.round(t/1e3)}s`:`${Math.floor(t/6e4)}m ${Math.round(t%6e4/1e3)}s`}function Yd(t){return t<1024?`${t} B`:t<1048576?`${(t/1024).toFixed(1)} KB`:`${(t/1048576).toFixed(1)} MB`}function Pv(t){const r=Date.parse(t);return Number.isFinite(r)?new Date(r).toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"}):""}function Tv(t){return t==="live"?"本地 Web Host 连接正常":t==="offline"?"浏览器离线":t==="replay-required"?"Web Host 事件流需要恢复":t==="closed"?"本地 Web Host 已关闭":t==="connecting"?"正在连接本地 Web Host":"正在重新连接本地 Web Host"}function Mv({width:t,onPreview:r,onCommit:l}){return i.jsx(vf,{side:"right",className:"work-panel-resize-handle",minWidth:Ta,maxWidth:xf,defaultWidth:Ma,label:"拖动或按方向键调整工作面板宽度",width:t,controls:"work-panel-detail",onPreview:r,onCommit:l})}const $v=m.lazy(()=>bo(()=>import("./TerminalPanel-DdjQP2mp.js"),__vite__mapDeps([0,1])).then(t=>({default:t.TerminalPanel}))),Av=m.lazy(()=>bo(()=>import("./FilesPanel-Bu1Ab2kJ.js"),[]).then(t=>({default:t.FilesPanel}))),Dv=m.lazy(()=>bo(()=>import("./GitPanel-BixIWb4k.js"),__vite__mapDeps([2,3])).then(t=>({default:t.GitPanel}))),Lv=m.lazy(()=>bo(()=>import("./ReviewPanel-DsqJpku_.js"),__vite__mapDeps([4,3])).then(t=>({default:t.ReviewPanel}))),Ov=["focus-work-panel-1","focus-work-panel-2","focus-work-panel-3","focus-work-panel-4","focus-work-panel-5"],Nn=[{id:"agent",label:"Agent",icon:"spark"},{id:"review",label:"审阅",icon:"edit"},{id:"terminal",label:"终端",icon:"terminal"},{id:"files",label:"文件",icon:"workspace"},{id:"git",label:"Git",icon:"branch"}];function zv({state:t,actions:r,mode:l,expanded:a,activePanel:d,agentPanel:p,onExpand:h,onCollapse:g,onPanelChange:k,onAgentPanelChange:b,onWidthPreview:T,onWidthCommit:N,width:$,onSendToComposer:M}){const q=m.useRef(null),D=m.useRef(null),O=m.useRef(a),Z=m.useRef(!1),F=m.useRef(new Set([d]));F.current.add(d);const de=m.useId(),X=t.workspaceResourceEpochs[t.workspaceId]??{files:0,git:0,review:0};m.useEffect(()=>{if(l!=="overlay"||!a)return;let R=0,ne=0;const J=()=>{R+=1,D.current?.focus(),(document.activeElement===D.current||R>=10)&&window.clearInterval(ne)};return ne=window.setInterval(J,16),J(),()=>window.clearInterval(ne)},[a,l]),m.useEffect(()=>{const R=O.current;if(O.current=a,!(l!=="dock"||R===a)){if(!a){requestAnimationFrame(()=>q.current?.querySelector(`[data-work-panel-id="${d}"]`)?.focus());return}Z.current&&(Z.current=!1,requestAnimationFrame(()=>document.getElementById(`${de}-${d}`)?.focus()))}},[d,a,l,de]),m.useEffect(()=>{const R=xo("toggle-work-panel"),ne=J=>{if(R&&yo(J,R.tokens)){J.preventDefault(),a?g():(Z.current=!0,h());return}const je=Ov.findIndex(Re=>{const W=xo(Re);return W?yo(J,W.tokens):!1}),Ne=Nn[je];Ne&&(J.preventDefault(),Z.current=!0,k(Ne.id),h())};return window.addEventListener("keydown",ne),()=>window.removeEventListener("keydown",ne)},[a,g,h,k]);const ue=R=>{if(R.key==="Escape"&&l==="overlay"&&a&&!R.target.closest('[role="alertdialog"], .terminal-host')){R.preventDefault(),g();return}if(l!=="overlay"||!a||R.key!=="Tab")return;const ne=Fv(q.current);if(!ne.length){R.preventDefault(),q.current?.focus();return}const J=ne.indexOf(document.activeElement);R.shiftKey&&J<=0?(R.preventDefault(),ne.at(-1)?.focus()):!R.shiftKey&&(J<0||J===ne.length-1)&&(R.preventDefault(),ne[0].focus())},I=R=>{a||(Z.current=!0),k(R),a||h()};return i.jsxs("aside",{ref:q,id:"work-panel",className:`work-panel work-panel-${l} ${a?"drawer-open work-panel-expanded":"work-panel-collapsed"}`,role:l==="overlay"?"dialog":void 0,"aria-modal":l==="overlay"&&a?!0:void 0,"aria-label":"工作面板","data-mode":l,"data-state":a?"expanded":"collapsed",tabIndex:l==="overlay"&&a?-1:void 0,onKeyDownCapture:ue,children:[l==="dock"&&a?i.jsx(Mv,{width:$,onPreview:T,onCommit:N}):null,!a&&l==="dock"?i.jsxs("nav",{className:"work-panel-rail","aria-label":"工作面板快捷入口",children:[i.jsx("button",{type:"button",className:"work-panel-rail-button","aria-label":"展开工作面板",title:"展开工作面板",onClick:()=>{Z.current=!0,h()},children:i.jsx(K,{name:"sidebar"})}),i.jsx("span",{className:"work-panel-rail-divider"}),Nn.map(R=>i.jsxs("button",{type:"button",className:"work-panel-rail-button","data-work-panel-id":R.id,"aria-label":`打开${R.label}面板`,"aria-current":d===R.id?"page":void 0,title:`${R.label} · ⌘⇧${Nn.indexOf(R)+1}`,onClick:()=>I(R.id),children:[i.jsx(K,{name:R.icon,size:17}),R.id==="terminal"&&t.processing?i.jsx(Aa,{state:"running",className:"rail-status-dot",describe:!1}):null]},R.id))]}):null,i.jsxs("div",{id:"work-panel-detail",className:"work-panel-detail",hidden:!a,children:[i.jsxs("header",{className:"work-panel-header",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"PROJECT WORKSPACE"}),i.jsx("h2",{children:Nn.find(R=>R.id===d)?.label??"Agent"})]}),i.jsx("div",{className:"work-panel-header-actions",children:i.jsx("button",{ref:D,type:"button",className:"icon-button",onClick:g,"aria-label":l==="overlay"?"关闭工作面板":"折叠工作面板","aria-controls":"work-panel-detail","aria-expanded":"true",children:i.jsx(K,{name:l==="overlay"?"close":"sidebar"})})})]}),i.jsx("div",{className:"work-panel-tabs",role:"tablist","aria-label":"工作面板类别",children:Nn.map(R=>i.jsxs("button",{id:`${de}-${R.id}`,type:"button",role:"tab","aria-label":`${R.label},快捷键 Command 或 Control 加 Shift 加 ${Nn.indexOf(R)+1}`,"aria-selected":d===R.id,"aria-controls":`${de}-${R.id}-content`,tabIndex:d===R.id?0:-1,title:`⌘/Ctrl+Shift+${Nn.indexOf(R)+1}`,onClick:()=>k(R.id),onKeyDown:ne=>{if(!["ArrowLeft","ArrowRight","Home","End"].includes(ne.key))return;ne.preventDefault();const J=Nn.findIndex(Ne=>Ne.id===d),je=ne.key==="Home"?0:ne.key==="End"?Nn.length-1:(J+(ne.key==="ArrowRight"?1:-1)+Nn.length)%Nn.length;k(Nn[je].id),requestAnimationFrame(()=>document.getElementById(`${de}-${Nn[je].id}`)?.focus())},children:[i.jsx(K,{name:R.icon,size:15}),i.jsx("span",{children:R.label})]},R.id))}),i.jsx("div",{className:"work-panel-content",children:i.jsx(m.Suspense,{fallback:i.jsx("p",{className:"resource-loading",children:"正在加载工作面板…"}),children:Nn.map(R=>F.current.has(R.id)?i.jsxs("div",{id:`${de}-${R.id}-content`,className:"work-panel-pane",role:"tabpanel","aria-labelledby":`${de}-${R.id}`,hidden:d!==R.id,children:[R.id==="agent"?i.jsx(kv,{state:t,actions:r,tab:p,onTabChange:b}):null,R.id==="review"?i.jsx(Lv,{workspaceId:t.workspaceId,refreshEpoch:X.review,actions:r,onSendToComposer:M}):null,R.id==="terminal"?i.jsx($v,{workspaceId:t.workspaceId,workspacePath:t.workspace,styleNonce:t.bootstrap?.nonce??"",available:!!t.bootstrap?.capabilities.terminal,actions:r}):null,R.id==="files"?i.jsx(Av,{workspaceId:t.workspaceId,refreshEpoch:X.files,actions:r}):null,R.id==="git"?i.jsx(Dv,{workspaceId:t.workspaceId,refreshEpoch:X.git,actions:r,onSendToComposer:M}):null]},R.id):null)})})]})]})}function Fv(t){return t?Array.from(t.querySelectorAll('a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])')).filter(r=>!r.hasAttribute("disabled")&&!r.closest("[inert]")&&!r.closest("[hidden]")&&r.getClientRects().length>0):[]}function Bv(t,r,l){const a=r==="light"||r==="system"&&l;return t==="orion-blocksmith"?a?"#d7d0c1":"#15191b":a?"#f4f5f8":"#090b10"}function Yt(t,r){return t.some(l=>l.id===r.id)?t.map(l=>l.id===r.id?r:l):[r,...t]}const wo=1e4,qv=256,Wv=256,Uv=128,Hv=8,Lf=8*1024*1024,Vv=64;function Kv(t=mf,r){switch(r.type){case"baseline_loaded":{const l=t.workspaceId!==r.bootstrap.workspaceId||t.activeSessionId!==r.bootstrap.activeSessionId?Vs(t):t,a=of(r.diagnostics,l.mode);return{...l,boot:"ready",bootError:void 0,bootstrap:r.bootstrap,contextRevision:r.bootstrap.contextRevision,workspaceId:r.bootstrap.workspaceId,workspace:r.workspaces.activePath||r.bootstrap.workspace,workspaces:r.workspaces.workspaces,sessions:r.sessions,workspaceSessions:{...l.workspaceSessions,[r.bootstrap.workspaceId]:{status:"ready",items:r.sessions,nextCursor:r.sessionNextCursor}},workspaceNextCursor:r.workspaces.nextCursor,sessionNextCursor:r.sessionNextCursor,activeSessionId:r.bootstrap.activeSessionId,sessionSync:r.bootstrap.activeSessionId?{...l.sessionSync,[r.bootstrap.activeSessionId]:{status:l.sessionProjectionById[r.bootstrap.activeSessionId]?"refreshing":"loading",requestId:null}}:l.sessionSync,settings:r.settings,diagnostics:r.diagnostics,skills:r.skills,skillNextCursor:r.skillNextCursor,mcpServers:r.mcpServers,mcpNextCursor:r.mcpNextCursor,toolDetails:r.toolDetails,toolDetailNextCursor:r.toolDetailNextCursor,notice:l.notice?.domain==="session-snapshot"?null:l.notice,processing:!!r.diagnostics.processing,mode:a,statusMessage:r.bootstrap.configured?"本地 Web Host 已就绪":"模型尚未配置,任务提交已停用",announcement:r.bootstrap.configured?"本地 Web Host 已就绪":"Orion 尚未配置模型"}}case"boot_failed":return{...t,boot:"error",bootError:r.message,connection:ty()?"reconnecting":"offline",announcement:`启动失败:${r.message}`};case"connection_changed":return t.connection==="replay-required"?t:{...t,connection:r.phase,connectionAttempt:r.attempt,announcement:ry(r.phase,r.attempt)};case"event_received":return Qv(t,r.envelope);case"session_snapshot_started":return t.contextRevision!==r.contextRevision||t.workspaceId!==r.workspaceId?t:ao(qs(t,r.sessionId,{status:r.cached?"refreshing":"loading",requestId:r.requestId}),{snapshotLoads:1});case"session_snapshot_loaded":{const l=r.snapshot.session.id;return!sf(t,r.contextRevision,r.workspaceId)||!rf(t,l,r.requestId)?t:t.activeSessionId!==l?r.requestId===void 0?t:tf(Jd(t,r.snapshot),l):tf(Xd(t,r.snapshot,r.advanceEventCursor!==!1),l)}case"composer_loaded":return r.composer.sessionId!==t.activeSessionId||r.composer.workspaceId!==t.workspaceId||r.composer.contextRevision!==t.contextRevision?t:Of(t,r.composer);case"model_catalog_loaded":return{...t,modelCatalog:r.catalog};case"durable_session_metadata_loaded":return t.contextRevision!==r.contextRevision||t.workspaceId!==r.workspaceId?t:t.activeSessionId!==r.snapshot.session.id?Jd(t,r.snapshot):r.snapshot.runtime.active!==!0?t:Xv(t,r.snapshot);case"older_transcript_loaded":{if(t.activeSessionId!==r.snapshot.session.id||!t.sessionSnapshot)return t;const l=new Set(t.transcript.map(d=>d.id)),a=zf(r.snapshot).filter(d=>!l.has(d.id));return{...t,transcript:[...a,...t.transcript].sort((d,p)=>d.order-p.order).slice(-wo),sessionSnapshot:{...t.sessionSnapshot,transcript:{items:t.sessionSnapshot.transcript.items,nextCursor:r.snapshot.transcript.nextCursor}},announcement:`已加载 ${a.length} 条更早记录`}}case"sessions_loaded":return{...t,sessions:r.append?Qt(t.sessions,r.sessions,l=>l.id):r.sessions,sessionNextCursor:r.nextCursor,workspaceSessions:t.workspaceId?{...t.workspaceSessions,[t.workspaceId]:{status:"ready",items:r.append?Qt(t.sessions,r.sessions,l=>l.id):r.sessions,nextCursor:r.nextCursor}}:t.workspaceSessions};case"workspaces_loaded":return{...t,workspaceId:r.value.activeId||t.workspaceId,workspace:r.value.activePath||t.workspace,workspaces:r.append?Qt(t.workspaces,r.value.workspaces,l=>l.id):r.value.workspaces,workspaceNextCursor:r.value.nextCursor};case"workspace_sessions_loading":return{...t,workspaceSessions:{...t.workspaceSessions,[r.workspaceId]:{status:"loading",items:t.workspaceSessions[r.workspaceId]?.items??[],nextCursor:t.workspaceSessions[r.workspaceId]?.nextCursor??null}}};case"workspace_sessions_loaded":{const l=t.workspaceSessions[r.workspaceId],a=r.append?Qt(l?.items??[],r.sessions,d=>d.id):r.sessions;return{...t,sessions:r.workspaceId===t.workspaceId?a:t.sessions,sessionNextCursor:r.workspaceId===t.workspaceId?r.nextCursor:t.sessionNextCursor,workspaceSessions:{...t.workspaceSessions,[r.workspaceId]:{status:"ready",items:a,nextCursor:r.nextCursor}}}}case"workspace_sessions_failed":return{...t,workspaceSessions:{...t.workspaceSessions,[r.workspaceId]:{status:"error",items:t.workspaceSessions[r.workspaceId]?.items??[],nextCursor:t.workspaceSessions[r.workspaceId]?.nextCursor??null,error:r.detail}}};case"session_updated":return ef(t,a=>Jv(a,r.session));case"session_archived":{const l=Zd(t,r.session.id),a=t.archivedSessions.items.some(d=>d.id===r.session.id);return{...l,archivedSessions:a?l.archivedSessions:{...l.archivedSessions,status:"ready",items:[r.session,...l.archivedSessions.items]}}}case"session_restored":{const l=ef(t,a=>[r.session,...a.filter(d=>d.id!==r.session.id)]);return{...l,archivedSessions:{...l.archivedSessions,items:l.archivedSessions.items.filter(a=>a.id!==r.session.id)}}}case"session_deleted":{const l={...t.sessionRuntimeById};return delete l[r.sessionId],{...Zd(t,r.sessionId),sessionRuntimeById:l,archivedSessions:{...t.archivedSessions,items:t.archivedSessions.items.filter(a=>a.id!==r.sessionId)}}}case"archived_sessions_loading":return r.workspaceId!==t.workspaceId?t:{...t,archivedSessions:{status:"loading",items:t.archivedSessions.ownerWorkspaceId===r.workspaceId?t.archivedSessions.items:[],nextCursor:t.archivedSessions.nextCursor,ownerWorkspaceId:t.archivedSessions.ownerWorkspaceId}};case"archived_sessions_loaded":{if(r.workspaceId!==t.workspaceId)return t;const l=r.append?Qt(t.archivedSessions.items,r.sessions,a=>a.id):r.sessions;return{...t,archivedSessions:{status:"ready",items:l,nextCursor:r.nextCursor,ownerWorkspaceId:r.workspaceId}}}case"archived_sessions_failed":return r.workspaceId!==t.workspaceId?t:{...t,archivedSessions:{...t.archivedSessions,status:"error",error:r.detail}};case"workspace_project_summary_loaded":return{...t,workspaceProjectSummaries:{...t.workspaceProjectSummaries,[r.summary.workspaceId]:r.summary}};case"settings_loaded":return{...t,settings:r.settings};case"settings_mirror_changed":return{...t,settings:r.snapshot.document??r.snapshot.lastGood,settingsMirror:r.snapshot};case"diagnostics_loaded":return{...t,diagnostics:r.diagnostics,processing:!!(r.diagnostics.processing??t.processing),mode:of(r.diagnostics,t.mode)};case"capabilities_loaded":return{...t,skills:r.append?Qt(t.skills,r.skills,l=>l.id):r.skills,skillNextCursor:r.skillNextCursor,mcpServers:r.append?Qt(t.mcpServers,r.mcpServers,l=>l.id):r.mcpServers,mcpNextCursor:r.mcpNextCursor};case"tool_details_loaded":return{...t,toolDetails:r.append?Qt(t.toolDetails,r.details,l=>`${l.sequence}:${l.callId}`):r.details,toolDetailNextCursor:r.nextCursor};case"pending_action":return{...t,pendingAction:r.label};case"notice":return{...t,notice:r.notice};case"approval_resolved":return t.permission?.id!==r.requestId?t:{...t,permission:null,announcement:r.approved?"工具权限已授予":"工具请求已拒绝"};case"snapshot_failed":{if(!sf(t,r.contextRevision,r.workspaceId))return t;if(!r.sessionId)return t.connection==="replay-required"?t:{...t,notice:{id:r.requestId??t.lastCursor,tone:"warning",title:"会话状态尚未同步",detail:r.detail},announcement:"会话状态尚未同步"};if(!rf(t,r.sessionId,r.requestId)||r.sessionId!==t.activeSessionId&&r.requestId===void 0)return t;const l=ao(qs(t,r.sessionId,{status:"failed",requestId:r.requestId??t.sessionSync[r.sessionId]?.requestId??null,error:r.detail}),{snapshotFailures:1});return r.sessionId!==t.activeSessionId||t.connection==="replay-required"?l:{...l,statusMessage:t.sessionSnapshot?.session.id===r.sessionId?"会话刷新失败,当前显示最近状态":"会话快照加载失败",notice:{id:r.requestId??t.lastCursor,tone:"warning",title:"会话快照尚未同步",detail:r.detail,domain:"session-snapshot",sessionId:r.sessionId},announcement:"当前会话快照尚未同步,写操作已暂停"}}case"reset_session_view":{const l=!!r.activeSessionId&&r.activeSessionId!==t.activeSessionId,a=!!(r.activeSessionId&&t.sessionProjectionById[r.activeSessionId]),d={...l?{sessionSwitches:1}:{},...a?{snapshotCacheHits:1}:{}};if(r.activeSessionId&&t.sessionProjectionById[r.activeSessionId]){const g=r.activeSessionId,k=Xd({...t,activeSessionId:g},t.sessionProjectionById[g],!1);return ao({...qs(k,g,{status:"refreshing",requestId:t.sessionSync[g]?.requestId??null}),notice:t.notice?.domain==="session-snapshot"&&t.notice.sessionId!==g?null:t.notice,statusMessage:"已显示最近会话状态,正在同步…",announcement:"已切换到缓存会话,正在同步最新状态"},d)}const p={...Vs(t),activeSessionId:r.activeSessionId,notice:t.notice?.domain==="session-snapshot"&&t.notice.sessionId!==r.activeSessionId?null:t.notice,statusMessage:r.activeSessionId?"正在加载会话快照…":"请选择会话",announcement:r.activeSessionId?"正在加载会话快照":"会话已清除"},h=r.activeSessionId?qs(p,r.activeSessionId,{status:"loading",requestId:t.sessionSync[r.activeSessionId]?.requestId??null}):p;return ao(h,d)}case"recovering":return{...t,connection:"connecting",replayReason:void 0,notice:null,announcement:"正在重新加载会话状态"}}}function Qv(t,r){if(r.type==="replay_reset")return{...t,lastCursor:r.cursor,lastEventId:r.eventId,connection:"replay-required",replayReason:r.payload.reason,notice:{id:r.cursor,tone:"warning",title:"需要重新载入会话",detail:r.payload.reason,domain:"transport"},announcement:"事件历史已超出保留窗口,需要重新载入会话"};if(t.connection==="replay-required"||r.cursor<=t.lastCursor)return t;const l={...t,lastCursor:r.cursor,lastEventId:r.eventId};if(r.type==="settings_invalidated")return{...l,announcement:r.payload.revision===t.settings?.revision?"Host 设置已同步":r.payload.state==="invalid"?"设置文档无效,仍保留上一次可用值":"Host 设置已更新,正在刷新"};if(r.type==="workspace_resource_invalidated"){const d={...t.workspaceResourceEpochs[r.payload.workspaceId]??{files:0,git:0,review:0}};for(const p of r.payload.resources)d[p]=r.cursor;return{...l,workspaceResourceEpochs:{...t.workspaceResourceEpochs,[r.payload.workspaceId]:d},announcement:"项目资源已变化,可用面板正在刷新"}}if(r.type==="workbench_state"){const a=t.workspaceId!==""&&t.workspaceId!==r.payload.workspaceId||t.workspace!==""&&t.workspace!==r.payload.workspace;return{...a?Vs(l):l,contextRevision:r.payload.contextRevision,workspaceId:r.payload.workspaceId,workspace:r.payload.workspace,activeSessionId:a?null:t.activeSessionId}}if(r.type==="composer_state_changed"){const a=r.payload.state;return a.sessionId!==l.activeSessionId||a.workspaceId!==l.workspaceId||a.contextRevision!==l.contextRevision?l:Of(l,a)}if(r.type==="session_runtime_changed"){const a=r.payload.runtime,d=l.sessionProjectionById[a.sessionId],p=Ro(l.sessionRuntimeById,a),h=d?Eo(l.sessionProjectionById,{...d,sessionRuntime:a}):l.sessionProjectionById;return a.sessionId!==l.activeSessionId?{...l,sessionProjectionById:h,sessionRuntimeById:p}:{...l,sessionProjectionById:h,sessionRuntimeById:p,processing:["running","waiting_approval","stopping"].includes(a.phase),sessionSnapshot:l.sessionSnapshot?.session.id===a.sessionId?{...l.sessionSnapshot,sessionRuntime:a}:l.sessionSnapshot,composer:l.composer?.sessionId===a.sessionId?{...l.composer,sessionRuntime:a}:l.composer}}if(r.type==="workspace_mutation_changed"){if(r.sessionId!==l.activeSessionId)return l;const a=l.tools.find(p=>p.callId===r.payload.state.callId);if(!a)return l;const d={phase:r.payload.state.phase,...r.payload.state.queuePosition===void 0?{}:{queuePosition:r.payload.state.queuePosition}};return{...l,tools:ba(l.tools,{...a,workspaceMutation:d}),announcement:d.phase==="queued"?`工具 ${a.name} 正在等待工作树写入`:d.phase==="running"?`工具 ${a.name} 已获得工作树写入权限`:l.announcement}}return r.sessionId!==null&&r.sessionId!==l.activeSessionId?l:r.type==="thread_event"?Gv(l,r.payload.value):Yv(l,r.payload.value,r.eventId,r.cursor,r.timestamp)}function Gv(t,r){const l=r.payload;switch(l.type){case"thread.started":case"thread.resumed":return{...t,statusMessage:"会话线程已就绪"};case"thread.forked":return{...t,statusMessage:"分支线程已就绪"};case"turn.started":return{...t,processing:!0,statusMessage:l.data.mode==="plan"?"正在制定计划…":"Orion 正在处理…",announcement:"新回合已开始"};case"turn.queued":return{...t,statusMessage:"消息已进入 Runtime 队列"};case"turn.queue_expired":return{...t,notice:{id:t.lastCursor,tone:"warning",title:"一条排队消息已过期",detail:`队列项 ${l.data.queueId} 未在时限内开始。`}};case"turn.steered":return{...t,statusMessage:"已将补充指令送入当前回合"};case"turn.interrupt_requested":return{...t,statusMessage:"正在中断当前回合…"};case"turn.committed":return{...t,statusMessage:"回合结果已持久化"};case"plan.review_requested":return{...t,processing:!1,statusMessage:"计划已保存,等待审核",announcement:"计划已准备好,请审核后再执行"};case"plan.review_resolved":return{...t,statusMessage:l.data.action==="approve"?"计划已批准,正在进入 BUILD":l.data.action==="continue"?"已提交继续规划反馈":"计划已取消"};case"turn.completed":return{...t,processing:!1,permission:null,statusMessage:"任务已完成",announcement:"当前回合已完成"};case"turn.failed":return{...t,processing:!1,permission:null,statusMessage:"当前回合失败",notice:{id:t.lastCursor,tone:"error",title:"当前回合失败",detail:l.data.error},announcement:"当前回合失败"};case"turn.interrupted":return{...t,processing:!1,permission:null,statusMessage:"当前回合已中断",announcement:"当前回合已中断"};case"compact.started":return{...t,statusMessage:"正在压缩上下文…"};case"compact.completed":return{...t,statusMessage:"上下文压缩完成"};case"compact.failed":return{...t,statusMessage:"上下文压缩失败",notice:{id:t.lastCursor,tone:"warning",title:"上下文压缩失败",detail:l.data.error}};case"approval.requested":return{...t,statusMessage:`等待确认:${l.data.toolName}`};case"item.started":case"item.delta":case"item.completed":case"item.failed":case"item.interrupted":case"item.indeterminate":case"step.snapshot":case"capability.receipt":case"tool.receipt":return t}}function Yv(t,r,l,a,d){switch(r.type){case"transcript_append":{const p={...r.entry,id:`web-entry-${a}`,eventId:l,order:a,receivedAt:d};return{...t,transcript:ho(t.transcript,p,wo)}}case"transcript_update":if(r.contentDelta!==void 0){const p=t.transcript.find(h=>h.id===r.id);if(!p||r.contentStart===void 0||(p.content??"").length!==r.contentStart){const h="流式回复基线已变化,需要重新载入会话。";return{...t,connection:"replay-required",replayReason:h,notice:{id:a,tone:"warning",title:"需要重新载入会话",detail:h},announcement:h}}}return{...t,transcript:t.transcript.map(p=>p.id===r.id?{...p,...r.patch,...r.contentDelta===void 0?{}:{content:`${p.content??""}${r.contentDelta}`}}:p)};case"transcript_finalize":return{...t,transcript:t.transcript.map(p=>p.id===r.id?{...p,...r.patch,live:!1}:p)};case"transcript_remove":return{...t,transcript:t.transcript.filter(p=>p.id!==r.id)};case"transcript_replace":{const p=Math.max(1,r.entries.length);return{...t,transcript:r.entries.slice(-wo).map((h,g)=>({...h,eventId:`${l}:${g}`,order:a-1+(g+1)/(p+1),receivedAt:d,live:!1}))}}case"transcript_clear":return{...Vs(t),activeSessionId:t.activeSessionId,statusMessage:"新会话已就绪"};case"status_changed":return{...t,statusMessage:r.message};case"permission_requested":return{...t,permission:{...r.request,eventId:l},announcement:`需要确认工具权限:${r.request.name}`};case"tool_started":{const p={callId:r.event.callId,eventId:l,order:a,name:r.event.name,args:r.event.args,sequence:r.event.sequence,state:"running",startedAt:d};return{...t,tools:ba(t.tools,p),announcement:`工具 ${p.name} 已开始`}}case"tool_finished":{const p=t.tools.find(g=>g.callId===r.event.callId),h={callId:r.event.callId,eventId:p?.eventId??l,order:p?.order??a,name:r.event.name,args:r.event.args,sequence:r.event.sequence,state:r.event.skipped?"skipped":r.event.success?"success":"error",startedAt:p?.startedAt,finishedAt:d,duration:r.event.duration,summary:r.event.summary,error:r.event.error,outputBytes:r.event.outputBytes,artifactId:r.event.artifactRef?.id,authorization:r.event.authorization};return{...t,tools:ba(t.tools,h),announcement:`工具 ${h.name} ${h.state==="success"?"已完成":h.state==="skipped"?"已跳过":"失败"}`}}case"edit_preview_requested":{const p={eventId:l,order:a,receivedAt:d,request:r.request};return{...t,edits:ho(t.edits,p,qv)}}case"session_restored":return{...t,activeSessionId:r.event.sessionId,statusMessage:`已恢复 ${r.event.restoredMessages} 条消息`,announcement:"会话恢复完成",notice:r.event.warnings&&r.event.warnings.length>0?{id:a,tone:"warning",title:"会话已恢复,但有注意事项",detail:r.event.warnings.join(" ")}:t.notice};case"loop_stats_updated":return{...t,loopStats:r.stats};case"trace_event_recorded":return{...t,traces:ho(t.traces,r.event,Wv)};case"harness_diagnostics_updated":return{...t,diagnostics:{...t.diagnostics??{},harness:r.diagnostics}};case"subtask_event":{const p={...r.event,eventId:l,order:a,updatedAt:d},h=[...t.subtasks.filter(g=>g.taskId!==p.taskId),p].slice(-256);return{...t,subtasks:h}}case"research_event":return{...t,research:ey(t.research,r.event,l,a,d)};case"goal_event":return Zv(t,r.event,d);case"effort_event":return{...t,effort:r.event};case"followup_queue_changed":return{...t,queue:r.snapshot};case"processing_changed":return{...t,processing:r.processing,permission:r.processing?t.permission:null,announcement:r.processing?"Orion 开始处理任务":"Orion 已完成当前处理"};case"agent_mode_changed":return{...t,mode:r.snapshot};case"clear_view":return{...t,transcript:[],tools:[],edits:[]};case"shutdown_requested":return{...t,connection:"closed",processing:!1,permission:null,statusMessage:r.reason??"Web Host 已关闭",announcement:"Orion Web Host 已关闭"};case"session_picker_requested":case"model_picker_requested":return t}}function Xd(t,r,l=!0){const a=zf(r).slice(-wo),d=Bf(r.runtime.agentMode)?r.runtime.agentMode:t.mode.baseMode,p=r.pendingApprovals[0],h=Ff(r.goal);return{...Vs(t),lastCursor:l?Math.max(t.lastCursor,r.eventCursor):t.lastCursor,activeSessionId:r.session.id,sessionProjectionById:Eo(t.sessionProjectionById,r),sessionRuntimeById:Ro(t.sessionRuntimeById,r.sessionRuntime),sessions:Yt(t.sessions,r.session),workspaceSessions:t.workspaceId?{...t.workspaceSessions,[t.workspaceId]:{status:"ready",items:Yt(t.workspaceSessions[t.workspaceId]?.items??t.sessions,r.session),nextCursor:t.workspaceSessions[t.workspaceId]?.nextCursor??t.sessionNextCursor}}:t.workspaceSessions,transcript:a,permission:p?{id:p.id,name:p.toolName,reason:p.reason,args:{...p.sanitizedArguments},eventId:`snapshot:${p.id}`}:null,processing:r.runtime.processing,statusMessage:r.runtime.status,mode:r.composer.mode??{baseMode:d,pendingBaseMode:null},queue:{items:r.composer.queue.items.map(g=>({...g})),limit:r.composer.queue.limit},goal:h,plan:r.plan??null,composer:r.composer,sessionSnapshot:r,diagnostics:{...t.diagnostics??{},activeSessionId:r.session.id,processing:r.runtime.processing,agentMode:d,permissionMode:r.runtime.permissionMode,contextUsage:r.runtime.contextUsage,tokenUsage:r.runtime.tokenUsage,plan:r.plan?.body??null,recoveryDiagnostics:r.recoveryDiagnostics},announcement:"会话快照已同步"}}function Jd(t,r){const l=t.workspaceId?{...t.workspaceSessions,[t.workspaceId]:{status:"ready",items:Yt(t.workspaceSessions[t.workspaceId]?.items??t.sessions,r.session),nextCursor:t.workspaceSessions[t.workspaceId]?.nextCursor??t.sessionNextCursor}}:t.workspaceSessions;return{...t,sessionProjectionById:Eo(t.sessionProjectionById,r),sessionRuntimeById:Ro(t.sessionRuntimeById,r.sessionRuntime),sessions:Yt(t.sessions,r.session),workspaceSessions:l}}function Of(t,r){const l=t.sessionProjectionById[r.sessionId],a=l?Eo(t.sessionProjectionById,{...l,sessionRuntime:r.sessionRuntime,composer:r}):t.sessionProjectionById;return{...t,composer:r,sessionSnapshot:t.sessionSnapshot?.session.id===r.sessionId?{...t.sessionSnapshot,sessionRuntime:r.sessionRuntime,composer:r}:t.sessionSnapshot,sessionProjectionById:a,sessionRuntimeById:Ro(t.sessionRuntimeById,r.sessionRuntime),processing:r.processing,mode:r.mode,queue:{items:r.queue.items.map(d=>({...d})),limit:r.queue.limit},diagnostics:{...t.diagnostics??{},contextUsage:r.contextUsage,agentMode:r.mode.baseMode}}}function Xv(t,r){const l=Yt(t.sessions,r.session),a=t.workspaceSessions[t.workspaceId],d=!t.composer||t.composer.controlRevision===r.composer.controlRevision?r.composer:t.composer;return{...t,sessions:l,workspaceSessions:{...t.workspaceSessions,[t.workspaceId]:{status:"ready",items:Yt(a?.items??t.sessions,r.session),nextCursor:a?.nextCursor??t.sessionNextCursor}},goal:Ff(r.goal),plan:r.plan,composer:d,sessionSnapshot:t.sessionSnapshot?.session.id===r.session.id?{...t.sessionSnapshot,session:r.session,goal:r.goal,plan:r.plan,composer:d,recoveryDiagnostics:r.recoveryDiagnostics}:t.sessionSnapshot,diagnostics:{...t.diagnostics??{},plan:r.plan?.body??null,recoveryDiagnostics:r.recoveryDiagnostics}}}function zf(t){return t.transcript.items.map((r,l)=>{const a=Number.parseInt(r.id.split(":").at(-1)??"",10);return{id:r.id,role:r.role,content:r.content,eventId:`snapshot:${r.id}`,order:-1e9+(Number.isSafeInteger(a)?a:l),receivedAt:ny(r.timestamp),live:!1}})}function Ff(t){if(!t||!Fs(t.state))return null;const r=t.state;if(typeof r.goalId!="string"||typeof r.objective!="string"||typeof r.status!="string")return null;const l=Fs(r.budget)?r.budget:null,a=Fs(r.lastStopDecision)?r.lastStopDecision:null,d=a&&Fs(a.reason)?co(a.reason.message):co(r.stopReason),p=Fs(r.criteria)?{passed:rt(r.criteria.passed),total:rt(r.criteria.total),failed:rt(r.criteria.failed),stale:rt(r.criteria.stale)}:void 0;return{goalId:r.goalId,revision:rt(r.revision,rt(r.generation,1)),objective:r.objective,status:r.status,tokenBudget:wa(r.tokenBudget)??wa(l?.maxTokens),tokensUsed:rt(r.tokensUsed),timeUsedMs:rt(r.timeUsedMs,rt(r.elapsedMs)),continuationCount:rt(r.continuationCount),updatedAt:rt(r.updatedAt),stopReason:d,criteria:p,planRevision:wa(r.planRevision),planPhase:co(r.planPhase),nextAction:co(r.nextAction),auditRemaining:Array.isArray(r.auditRemaining)?r.auditRemaining.filter(h=>typeof h=="string"):void 0}}function Qt(t,r,l){const a=new Map(t.map(d=>[l(d),d]));for(const d of r)a.set(l(d),d);return[...a.values()]}function Jv(t,r){const l=t.findIndex(d=>d.id===r.id);if(l<0)return[r,...t];const a=[...t];return a[l]=r,a}function Zd(t,r){const l=t.workspaceId,a=l?t.workspaceSessions[l]:void 0,d=(a?.items??t.sessions).filter(p=>p.id!==r);return{...t,sessions:l?d:t.sessions,workspaceSessions:l?{...t.workspaceSessions,[l]:{status:(a?.status??"ready")==="error"?"error":"ready",items:d,nextCursor:a?.nextCursor??null,error:a?.error}}:t.workspaceSessions}}function ef(t,r){const l=t.workspaceId,a=l?t.workspaceSessions[l]:void 0,d=a?.items??t.sessions,p=r(d),h=a?.status==="error"?"error":a?.status==="loading"?"loading":"ready";return{...t,sessions:l?p:t.sessions,workspaceSessions:l?{...t.workspaceSessions,[l]:{status:h,items:p,nextCursor:a?.nextCursor??null,error:a?.error}}:t.workspaceSessions}}function Zv(t,r,l){switch(r.type){case"goal_updated":case"goal_restored":return{...t,goal:r.goal,goalActivity:Gr(t.goalActivity,r.type,"Goal 状态已更新",l)};case"goal_completed":return{...t,goal:r.goal,goalActivity:Gr(t.goalActivity,r.type,r.audit.verificationSummary,l),announcement:"Goal 已完成并通过运行时审计"};case"goal_cleared":return{...t,goal:null,goalEvidence:[],goalActivity:Gr(t.goalActivity,r.type,r.reason,l)};case"goal_plan_updated":return{...t,goal:t.goal?{...t.goal,planRevision:r.planRevision,planPhase:r.phase,nextAction:r.nextAction}:t.goal,goalActivity:Gr(t.goalActivity,r.type,r.nextAction??`Plan phase: ${r.phase}`,l)};case"goal_evidence_recorded":{const a=r.evidence;return{...t,goalEvidence:[...t.goalEvidence.filter(d=>d.id!==a.id),a].slice(-256)}}case"goal_continuation":return{...t,goalActivity:Gr(t.goalActivity,`${r.type}:${r.phase}`,r.reason,l)};case"goal_audit_failed":return{...t,goalActivity:Gr(t.goalActivity,r.type,r.summary,l),notice:{id:Date.parse(l),tone:"warning",title:"Goal 审计尚未通过",detail:r.summary}}}}function ey(t,r,l,a,d){const h=t.find(k=>k.packetId===r.packetId)??{packetId:r.packetId,eventId:l,order:a,updatedAt:d,stage:"running",sources:[],conflicts:[]};let g;switch(r.type){case"research_started":g={...h,eventId:l,order:a,updatedAt:d,objective:r.objective,mode:r.mode,stage:"running"};break;case"research_source":{const k={id:r.sourceId,provider:r.provider,status:r.status,title:r.title,location:r.displayUrl??r.canonicalUrl??r.projectPath,failureReason:r.failureReason};g={...h,eventId:l,order:a,updatedAt:d,sources:[...h.sources.filter(b=>b.id!==k.id),k].slice(-64)};break}case"research_conflict":g={...h,eventId:l,order:a,updatedAt:d,conflicts:[...h.conflicts.filter(k=>k!==r.claimId),r.claimId].slice(-64)};break;case"research_completed":g={...h,eventId:l,order:a,updatedAt:d,stage:r.stage,auditStatus:r.auditStatus,conclusion:r.conclusion,summary:r.summary};break}return[...t.filter(k=>k.packetId!==r.packetId),g].slice(-128)}function ba(t,r){return[...t.filter(l=>l.callId!==r.callId),r].sort((l,a)=>l.order-a.order).slice(-1e3)}function Eo(t,r){const l=Object.entries(t).filter(([d])=>d!==r.session.id);l.push([r.session.id,r]);let a=l.reduce((d,[,p])=>d+nf(p),0);for(;l.length>1&&(l.length>Hv||a>Lf);){const d=l.shift();d&&(a-=nf(d[1]))}return Object.freeze(Object.fromEntries(l))}function Ro(t,r){const l=Object.entries(t).filter(([a])=>a!==r.sessionId);return l.push([r.sessionId,r]),Object.freeze(Object.fromEntries(l.slice(-64)))}function nf(t){try{return JSON.stringify(t).length*2}catch{return Lf}}function Vs(t){return{...t,transcript:[],tools:[],edits:[],subtasks:[],research:[],permission:null,processing:!1,statusMessage:"",queue:{items:[],limit:16},goal:null,goalEvidence:[],goalActivity:[],sessionSnapshot:null,composer:null,modelCatalog:null,plan:null,loopStats:null,traces:[]}}function qs(t,r,l){const a={...t.sessionSync};delete a[r],a[r]=l;const d=Object.keys(a).length-Vv;return d>0&&Object.keys(a).filter(p=>p!==t.activeSessionId&&p!==r).slice(0,d).forEach(p=>delete a[p]),{...t,sessionSync:a}}function ao(t,r){const l={sessionSwitches:t.clientTelemetry.sessionSwitches+(r.sessionSwitches??0),snapshotCacheHits:t.clientTelemetry.snapshotCacheHits+(r.snapshotCacheHits??0),snapshotLoads:t.clientTelemetry.snapshotLoads+(r.snapshotLoads??0),snapshotFailures:t.clientTelemetry.snapshotFailures+(r.snapshotFailures??0)};return{...t,clientTelemetry:l}}function tf(t,r){const l=qs(t,r,{status:"ready",requestId:t.sessionSync[r]?.requestId??null});return l.notice?.domain!=="session-snapshot"||l.notice.sessionId!==r?l:{...l,notice:null}}function rf(t,r,l){return l===void 0||t.sessionSync[r]?.requestId===l}function sf(t,r,l){return(r===void 0||t.contextRevision===r)&&(l===void 0||t.workspaceId===l)}function Gr(t,r,l,a){return ho(t,{type:r,message:l,timestamp:a},Uv)}function ho(t,r,l){const a=[...t,r];return a.length<=l?a:a.slice(a.length-l)}function of(t,r){const l=t.agentMode;return Bf(l)?{baseMode:l,pendingBaseMode:null}:r}function Bf(t){return t==="interactive"||t==="plan"||t==="auto"}function ny(t){const r=new Date(t);return Number.isFinite(r.getTime())?r.toISOString():new Date(0).toISOString()}function Fs(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function rt(t,r=0){return typeof t=="number"&&Number.isFinite(t)?t:r}function wa(t){return typeof t=="number"&&Number.isFinite(t)?t:void 0}function co(t){return typeof t=="string"&&t?t:void 0}function ty(){return typeof navigator>"u"||navigator.onLine}function ry(t,r){return t==="live"?"本地 Web Host 事件流已连接":t==="offline"?"浏览器已离线,本地 Web Host 将在网络恢复后重连":t==="reconnecting"?`正在重新连接本地 Web Host,第 ${Math.max(1,r)} 次尝试`:t==="connecting"?"正在连接本地 Web Host":t==="replay-required"?"本地 Web Host 事件历史需要重新载入":"本地 Web Host 已关闭"}const lf="orion.web.theme",af="orion.web.motion";function sy(t){const r=uf(lf),l=uf(af),a=iy(r),d=oy(l),p=[],h=[];return r!==null&&h.push(lf),l!==null&&h.push(af),t.sections.appearance.theme.explicitValue===void 0&&a&&p.push({op:"set",key:"appearance.theme",value:a}),t.sections.appearance.motion.explicitValue===void 0&&d&&p.push({op:"set",key:"appearance.motion",value:d}),{operations:p,keysToClear:h}}function cf(t){if(!(typeof window>"u"))for(const r of t)try{window.localStorage.removeItem(r)}catch{}}function uf(t){if(typeof window>"u")return null;try{return window.localStorage.getItem(t)}catch{return null}}function iy(t){return t==="system"||t==="light"||t==="dark"?t:null}function oy(t){return t==="system"||t==="reduced"?t:null}class ly{constructor(r){qn(this,"read");qn(this,"snapshot",Object.freeze({status:"idle",document:null,lastGood:null,stale:!1,error:null,generation:0}));qn(this,"listeners",new Set);qn(this,"inFlight",null);qn(this,"rerun",!1);qn(this,"generation",0);qn(this,"disposed",!1);this.read=r}getSnapshot(){return this.snapshot}subscribe(r){return this.listeners.add(r),()=>this.listeners.delete(r)}ensure(){return this.snapshot.document||this.inFlight?this.inFlight??Promise.resolve(this.snapshot):this.refresh()}refresh(){if(this.disposed)return Promise.resolve(this.snapshot);if(this.inFlight)return this.rerun=!0,this.inFlight;const r=Promise.resolve().then(()=>this.run());return this.inFlight=r,r}accept(r){return this.disposed?this.snapshot:(this.generation+=1,this.inFlight&&(this.rerun=!0),this.publishDocument(r))}invalidate(r,l){return this.snapshot.document?.revision===r&&(l==="ready"?this.snapshot.document.state==="ready":this.snapshot.document.state==="invalid")?Promise.resolve(this.snapshot):(this.setSnapshot({...this.snapshot,stale:!0}),this.refresh())}reset(){this.disposed||(this.generation+=1,this.rerun=!1,this.setSnapshot({status:"idle",document:null,lastGood:null,stale:!1,error:null,generation:this.generation}))}dispose(){this.disposed=!0,this.generation+=1,this.listeners.clear()}async run(){try{do{this.rerun=!1;const r=++this.generation;this.setSnapshot({...this.snapshot,status:this.snapshot.document?"ready":"loading",error:null,generation:r});try{const l=await this.read();if(this.disposed)return this.snapshot;if(r!==this.generation)continue;this.publishDocument(l)}catch(l){if(this.disposed)return this.snapshot;if(r!==this.generation)continue;this.setSnapshot({...this.snapshot,status:this.snapshot.document?"ready":"unavailable",stale:!0,error:l instanceof Error?l.message:"设置读取失败。",generation:r})}}while(this.rerun&&!this.disposed);return this.snapshot}finally{if(this.inFlight=null,this.rerun&&!this.disposed)return this.refresh()}}publishDocument(r){const l=r.state==="ready"?r:this.snapshot.lastGood;return this.setSnapshot({status:"ready",document:r,lastGood:l,stale:!1,error:null,generation:this.generation}),this.snapshot}setSnapshot(r){this.snapshot=Object.freeze(r);for(const l of this.listeners)l()}}function ay(t,r,l){if(t)return t;const a=new Set(r.map(d=>d.id));return l&&a.has(l)?l:r[0]?.id??null}const cy=7,uy=2;function dy(){const t=m.useMemo(()=>new rg,[]),r=m.useMemo(()=>new ly(()=>t.settings()),[t]),[l,a]=m.useReducer(Kv,mf),[d,p]=m.useState(0),h=m.useRef(l),g=m.useRef(null),k=m.useRef(0),b=m.useRef(0),T=m.useRef(new Map),N=m.useRef(0),$=m.useRef(0),M=m.useRef(new Map),q=m.useRef(()=>{}),D=m.useRef(!1);h.current=l,m.useEffect(()=>r.subscribe(()=>{a({type:"settings_mirror_changed",snapshot:r.getSnapshot()})}),[r]);const O=m.useCallback((j,S=Ee(h.current),L={})=>{const se=`${S.workspaceId}:${S.expectedContextRevision}:${j}`,ie=M.current.get(se);if(ie&&!L.force)return ie.promise;const Ae=++$.current;a({type:"session_snapshot_started",sessionId:j,requestId:Ae,cached:!!h.current.sessionProjectionById[j],contextRevision:S.expectedContextRevision,workspaceId:S.workspaceId});const Le=t.sessionSnapshot(j,S).then(Ze=>(df(Ze,j,S),a({type:"session_snapshot_loaded",snapshot:Ze,requestId:Ae,contextRevision:S.expectedContextRevision,workspaceId:S.workspaceId,advanceEventCursor:g.current===null}),Ze)).catch(Ze=>{const En=Xr(Ze);throw a({type:"snapshot_failed",sessionId:j,detail:En,requestId:Ae,contextRevision:S.expectedContextRevision,workspaceId:S.workspaceId}),new _e(En,Ze instanceof _e?Ze.status:503,"session_snapshot_sync_failed",Ze instanceof _e?Ze.type:void 0)}).finally(()=>{M.current.get(se)?.requestId===Ae&&M.current.delete(se)});return M.current.set(se,{requestId:Ae,promise:Le}),Le},[t]),Z=m.useCallback(async()=>{const j=++b.current;try{const S=await t.bootstrap(),L={expectedContextRevision:S.contextRevision,workspaceId:S.workspaceId};r.reset(),r.accept(S.settings);const[se,ie,Ae]=await Promise.all([t.listWorkspaces(L),t.listSessions(L),r.refresh()]),Le=py(S.workspaceId,ie.sessions,S.activeSessionId);Bs(S.workspaceId,Le);const Ze=Object.freeze({...S,activeSessionId:Le}),En=Le?await t.sessionSnapshot(Le,L).then(en=>(df(en,Le,L),{snapshot:en,error:void 0})).catch(en=>({snapshot:null,error:en})):{snapshot:null,error:void 0},Cr=await fy(t,r,Ae.document??Ae.lastGood??S.settings,L);if(j!==b.current)return;a({type:"baseline_loaded",bootstrap:Ze,workspaces:se,sessions:ie.sessions,sessionNextCursor:ie.nextCursor,diagnostics:{},settings:Cr,skills:[],skillNextCursor:null,mcpServers:[],mcpNextCursor:null,toolDetails:[],toolDetailNextCursor:null}),En.snapshot&&a({type:"session_snapshot_loaded",snapshot:En.snapshot,contextRevision:L.expectedContextRevision,workspaceId:L.workspaceId}),En.error&&a({type:"snapshot_failed",sessionId:Le,detail:Xr(En.error),contextRevision:L.expectedContextRevision,workspaceId:L.workspaceId}),q.current();const Nr=ie.sessions.map(en=>en.id).filter(en=>en!==Le).slice(0,cy);q.current=wy(()=>{j===b.current&&ky(Nr,uy,async en=>{j===b.current&&await O(en,L).catch(()=>{})})}),t.workspaceProjectSummary(S.workspaceId,L).then(en=>{j===b.current&&a({type:"workspace_project_summary_loaded",summary:en})}).catch(()=>{}),Promise.all([t.diagnostics(L).catch(()=>({})),t.skills(L).catch(()=>({skills:[],nextCursor:null})),t.mcp(L).catch(()=>({servers:[],nextCursor:null})),t.toolDetails(L).catch(()=>({details:[],nextCursor:null}))]).then(([en,Gs,Ys,Xs])=>{j===b.current&&(a({type:"diagnostics_loaded",diagnostics:en}),a({type:"capabilities_loaded",skills:Gs.skills,skillNextCursor:Gs.nextCursor,mcpServers:Ys.servers,mcpNextCursor:Ys.nextCursor}),a({type:"tool_details_loaded",details:Xs.details,nextCursor:Xs.nextCursor}))})}catch(S){throw S}},[t,O,r]),F=m.useCallback(async()=>{let j;for(let S=0;S<3;S+=1)try{await Z();return}catch(L){if(j=L,!yy(L)||S===2)break;await xy(100*3**S)}throw a({type:"boot_failed",message:Xr(j)}),j},[Z]);m.useEffect(()=>{if(D.current)return;D.current=!0;let j=!0;return F().catch(()=>{}),()=>{j=!1}},[F]),m.useEffect(()=>()=>{q.current()},[]);const de=l.bootstrap!==null;m.useEffect(()=>{if(!de)return;const j=t.connectEvents({cursor:h.current.lastCursor,onEvent:S=>{if(a({type:"event_received",envelope:S}),jy(S)){const L=h.current;if(S.sessionId&&L.contextRevision&&L.workspaceId){const se=S.sessionId,ie=++N.current;T.current.set(se,ie);const Ae=L.contextRevision,Le=L.workspaceId;t.sessionSnapshot(se,{expectedContextRevision:Ae,workspaceId:Le}).then(Ze=>{T.current.get(se)===ie&&a({type:"durable_session_metadata_loaded",snapshot:Ze,contextRevision:Ae,workspaceId:Le})}).catch(()=>{}).finally(()=>{T.current.get(se)===ie&&T.current.delete(se)})}}S.type==="settings_invalidated"&&r.invalidate(S.payload.revision,S.payload.state)},onStatus:(S,L)=>a({type:"connection_changed",phase:S,attempt:L}),onProtocolError:S=>a({type:"notice",notice:{id:Date.now(),tone:"error",title:"收到无法识别的 Web Host 事件流消息",detail:S}})});return g.current=j,()=>{j.close(),g.current===j&&(g.current=null)}},[t,de,r,d]);const X=m.useCallback(()=>{g.current?.close(),g.current=null},[]),ue=m.useCallback(()=>{p(j=>j+1)},[]);m.useEffect(()=>{!l.workspace||l.boot!=="ready"||l.pendingAction||l.bootstrap?.workspace!==l.workspace&&(X(),F().catch(j=>pf(a,"工作区刷新失败",j)).finally(ue))},[F,X,ue,l.boot,l.bootstrap?.workspace,l.pendingAction,l.workspace]),m.useEffect(()=>{l.boot==="ready"&&(l.pendingAction||!l.activeSessionId||l.bootstrap?.workspace===l.workspace&&l.sessionSnapshot?.session.id!==l.activeSessionId&&O(l.activeSessionId).catch(()=>{}))},[O,l.activeSessionId,l.boot,l.bootstrap?.workspace,l.pendingAction,l.sessionSnapshot,l.workspace]);const I=m.useCallback(async(j,S)=>{const L=++k.current;a({type:"pending_action",label:j});try{return await S()}catch(se){throw vy(se)||pf(a,`${j}失败`,se),se}finally{k.current===L&&a({type:"pending_action",label:null})}},[]),R=m.useCallback(async(j,S)=>I(j,async()=>{if(h.current.connection!=="live")throw new _e("本地 Web Host 连接尚未就绪,请在连接恢复后重试。",409,"session_not_synchronized");const L=h.current.activeSessionId;if(!L)throw new _e("当前没有可接收命令的活动会话。",409,"active_session_changed");const se=h.current.sessionSnapshot;if(!se||!vr(h.current))throw new _e("当前会话快照尚未同步,请刷新后重试。",409,"session_runtime_revision_conflict");try{const ie=await t.command({...S,workspaceId:h.current.workspaceId,expectedContextRevision:h.current.contextRevision,expectedSessionId:L,expectedSessionRuntimeRevision:se.sessionRuntime.runtimeRevision});return my(ie),ie}catch(ie){throw ie instanceof _e&&["context_revision_conflict","active_session_changed","session_runtime_revision_conflict"].includes(ie.code??"")?(a({type:"snapshot_failed",sessionId:L,detail:ie.message,contextRevision:h.current.contextRevision,workspaceId:h.current.workspaceId}),new _e(ie.message,ie.status,"session_runtime_revision_conflict",ie.type)):ie}}),[t,I]),ne=m.useCallback(async(j,S)=>I(j,async()=>{const L=h.current,se=L.composer;if(L.connection!=="live"||!L.activeSessionId||!vr(L)||!se||se.sessionId!==L.activeSessionId)throw new _e("Composer 控制状态尚未与活动会话同步。",409,"composer_control_conflict");try{const ie=await t.composerAction(L.activeSessionId,{...S,workspaceId:L.workspaceId,expectedContextRevision:L.contextRevision,expectedSessionId:L.activeSessionId,expectedSessionRuntimeRevision:se.sessionRuntime.runtimeRevision,expectedControlRevision:se.controlRevision});return a({type:"composer_loaded",composer:ie.state}),ie}catch(ie){throw ie instanceof _e&&["composer_control_conflict","context_revision_conflict","active_session_changed","session_runtime_revision_conflict"].includes(ie.code??"")?(a({type:"snapshot_failed",sessionId:L.activeSessionId,detail:ie.message,contextRevision:L.contextRevision,workspaceId:L.workspaceId}),new _e(ie.message,ie.status,"composer_control_conflict",ie.type)):ie}}),[t,I]),J=m.useCallback(()=>I("重新连接",F),[F,I]),je=m.useCallback(()=>I("刷新诊断",async()=>{const j=++b.current,S=await t.diagnostics(Ee(h.current));j===b.current&&a({type:"diagnostics_loaded",diagnostics:S})}),[t,I]),Ne=m.useCallback(()=>I("刷新工具详情",async()=>{const j=++b.current,S=await t.toolDetails(Ee(h.current));j===b.current&&a({type:"tool_details_loaded",details:S.details,nextCursor:S.nextCursor})}),[t,I]),Re=m.useCallback(()=>I("加载更多工作区",async()=>{const j=Ee(h.current),S=h.current.workspaceNextCursor;if(S)try{const L=await t.listWorkspaces(j,S);a({type:"workspaces_loaded",value:L,append:!0})}catch(L){if(!uo(L))throw L;a({type:"workspaces_loaded",value:await t.listWorkspaces(j)})}}),[t,I]),W=m.useCallback(()=>I("加载更多会话",async()=>{const j=h.current.sessionNextCursor;if(!j)return;const S=Ee(h.current);try{const L=await t.listSessions(S,j);a({type:"sessions_loaded",sessions:L.sessions,nextCursor:L.nextCursor,append:!0})}catch(L){if(!uo(L))throw L;const se=await t.listSessions(S);a({type:"sessions_loaded",sessions:se.sessions,nextCursor:se.nextCursor})}}),[t,I]),we=m.useCallback(async(j,S=!1)=>{const L=Ee(h.current),se=h.current.workspaceSessions[j],ie=S?se?.nextCursor:void 0;if(S&&!ie)return;a({type:"workspace_sessions_loading",workspaceId:j});const Ae=t.workspaceProjectSummary(j,L).catch(()=>null);try{const Le=await t.listWorkspaceSessions(j,L,ie??void 0);a({type:"workspace_sessions_loaded",workspaceId:j,sessions:Le.sessions,nextCursor:Le.nextCursor,append:S});const Ze=await Ae;Ze&&a({type:"workspace_project_summary_loaded",summary:Ze})}catch(Le){throw a({type:"workspace_sessions_failed",workspaceId:j,detail:Xr(Le)}),Le}},[t]),Q=m.useCallback(async j=>{const S=await t.workspaceProjectSummary(j,Ee(h.current));a({type:"workspace_project_summary_loaded",summary:S})},[t]),me=m.useCallback(()=>I("加载更多能力",async()=>{const j=Ee(h.current),S=h.current.skillNextCursor,L=h.current.mcpNextCursor;if(!(!S&&!L))try{const[se,ie]=await Promise.all([S?t.skills(j,S):Promise.resolve({skills:[],nextCursor:null}),L?t.mcp(j,L):Promise.resolve({servers:[],nextCursor:null})]);a({type:"capabilities_loaded",skills:se.skills,skillNextCursor:se.nextCursor,mcpServers:ie.servers,mcpNextCursor:ie.nextCursor,append:!0})}catch(se){if(!uo(se))throw se;const[ie,Ae]=await Promise.all([t.skills(j),t.mcp(j)]);a({type:"capabilities_loaded",skills:ie.skills,skillNextCursor:ie.nextCursor,mcpServers:Ae.servers,mcpNextCursor:Ae.nextCursor})}}),[t,I]),ve=m.useCallback(()=>I("加载更多工具详情",async()=>{const j=Ee(h.current),S=h.current.toolDetailNextCursor;if(S)try{const L=await t.toolDetails(j,S);a({type:"tool_details_loaded",details:L.details,nextCursor:L.nextCursor,append:!0})}catch(L){if(!uo(L))throw L;const se=await t.toolDetails(j);a({type:"tool_details_loaded",details:se.details,nextCursor:se.nextCursor})}}),[t,I]),H=m.useCallback(async()=>{const j=h.current;if(j.connection!=="replay-required"){if(!j.activeSessionId)return;await O(j.activeSessionId,Ee(j),{force:!0});return}await I("恢复本地 Web Host 事件流",async()=>{X(),a({type:"recovering"});try{await F()}finally{ue()}})},[F,O,X,ue,I]),te=m.useCallback(j=>I("切换工作区",async()=>{X();try{const S=await t.activateWorkspace(j,Ee(h.current));a({type:"workspaces_loaded",value:S}),a({type:"reset_session_view",activeSessionId:null}),await F()}finally{ue()}}),[t,F,X,ue,I]),G=m.useCallback(j=>{const S=h.current;if(S.activeSessionId===j&&S.sessionSnapshot&&S.sessionSync[j]?.status==="ready")return Promise.resolve();const L=Ee(S);return(async()=>{Bs(L.workspaceId,j),a({type:"reset_session_view",activeSessionId:j}),await O(j,L)})()},[O]),w=m.useCallback((j,S)=>j===h.current.workspaceId&&S?G(S):I("切换项目上下文",async()=>{const L=h.current,se=L.contextRevision;if(!se)throw new _e("工作区上下文尚未完成同步。",409,"context_revision_conflict");if(j===L.workspaceId){Bs(j,S),a({type:"reset_session_view",activeSessionId:S}),S&&await O(S,Ee(L));return}Bs(j,S),X(),++b.current;try{const ie=await t.activateContext({expectedContextRevision:se,workspaceId:j,sessionId:S});if(ie.contextRevision!==ie.bootstrap.contextRevision||ie.bootstrap.workspaceId!==j)throw new _e("Host 返回的项目上下文不一致。",502,"context_response_invalid");a({type:"reset_session_view",activeSessionId:S}),await F()}catch(ie){throw ie instanceof _e&&(ie.code==="context_revision_conflict"||ie.code==="active_session_changed")&&a({type:"snapshot_failed",sessionId:null,detail:ie.message}),ie}finally{ue()}}),[t,F,O,X,ue,I,G]),A=m.useCallback((j,S)=>I(S?"置顶项目":"取消置顶",async()=>{await t.setWorkspacePinned(j,S,Ee(h.current)),a({type:"workspaces_loaded",value:await t.listWorkspaces(Ee(h.current))})}),[t,I]),P=m.useCallback(j=>I("移除项目",async()=>{const S=h.current;if(!S.contextRevision)throw new _e("工作区上下文尚未完成同步。",409,"context_revision_conflict");await t.removeWorkspace(j,Ee(S)),Im(j),a({type:"workspaces_loaded",value:await t.listWorkspaces(Ee(h.current))})}),[t,I]),le=m.useCallback(()=>I("创建会话",async()=>{const j=Ee(h.current),S=await t.createSession(j);Bs(j.workspaceId,S.id),a({type:"sessions_loaded",sessions:Yt(h.current.sessions,S),nextCursor:h.current.sessionNextCursor}),a({type:"reset_session_view",activeSessionId:S.id}),await O(S.id,j)}),[t,O,I]),ge=G,ye=m.useCallback(()=>I("加载更早记录",async()=>{const j=h.current.sessionSnapshot,S=h.current.activeSessionId,L=j?.transcript.nextCursor;if(!(!j||!S||!L))try{const se=await t.sessionSnapshot(S,Ee(h.current),L);if(se.session.id!==j.session.id||se.threadId!==j.threadId||se.threadCursor!==j.threadCursor||se.projectionDigest!==j.projectionDigest)throw new _e("加载历史记录时会话快照发生变化,正在恢复最新快照。",409,"transcript_cursor_stale");a({type:"older_transcript_loaded",snapshot:se})}catch(se){if(!(se instanceof _e)||se.code!=="transcript_cursor_stale")throw se;X(),a({type:"recovering"});try{await O(S,Ee(h.current),{force:!0})}finally{ue()}}}),[t,O,X,ue,I]),be=m.useCallback((j,S)=>I("重命名会话",async()=>{const L=await t.renameSession(j,S,Ee(h.current)),se=Yt(h.current.sessions,L);a({type:"sessions_loaded",sessions:se,nextCursor:h.current.sessionNextCursor})}),[t,I]),ke=m.useCallback((j,S)=>I("更新会话标签",async()=>{const L=await t.updateSessionTags(j,S,Ee(h.current));a({type:"session_updated",session:L})}),[t,I]),Pe=m.useCallback(j=>I("归档会话",async()=>{const S=await t.archiveSession(j,Ee(h.current));a({type:"session_archived",session:S})}),[t,I]),He=m.useCallback(j=>I("还原会话",async()=>{const S=await t.restoreSession(j,Ee(h.current));a({type:"session_restored",session:S})}),[t,I]),Ce=m.useCallback(j=>I("删除会话",async()=>{await t.deleteSession(j,Ee(h.current)),a({type:"session_deleted",sessionId:j})}),[t,I]),sn=m.useCallback(async(j,S=!1)=>{const L=Ee(h.current),se=h.current.archivedSessions,ie=S?se?.nextCursor:void 0;if(!(S&&!ie)){a({type:"archived_sessions_loading",workspaceId:j});try{const Ae=await t.listArchivedWorkspaceSessions(j,L,ie??void 0);a({type:"archived_sessions_loaded",workspaceId:j,sessions:Ae.sessions,nextCursor:Ae.nextCursor,append:S})}catch(Ae){throw a({type:"archived_sessions_failed",workspaceId:j,detail:Xr(Ae)}),Ae}}},[t]),Je=m.useCallback((j,S)=>R("提交任务",{type:"submit",text:j,contextReferences:S}),[R]),pn=m.useCallback((j,S)=>R("加入队列",{type:"queue_followup",text:j,contextReferences:S}),[R]),Hn=m.useCallback(async(j,S)=>{await ne("移除排队消息",{type:"remove_queue_item",itemId:j,expectedItemRevision:S})},[ne]),$n=m.useCallback(async(j,S,L)=>{await ne("编辑排队消息",{type:"edit_queue_item",itemId:j,expectedItemRevision:S,text:L})},[ne]),bn=m.useCallback(async(j,S,L)=>{await ne("移动排队消息",{type:"move_queue_item",itemId:j,expectedItemRevision:S,targetIndex:L})},[ne]),gn=m.useCallback(async()=>{await R("清空队列",{type:"clear_followups"})},[R]),on=m.useCallback(async()=>{const j=h.current.sessionSnapshot?.sessionRuntime;if(!j||j.phase!=="queued"||!j.queueId)throw new _e("排队任务已变化,请等待状态同步后重试。",409,"session_queue_conflict");await R("取消排队任务",{type:"cancel_queued_turn",queueId:j.queueId})},[R]),ot=m.useCallback(async()=>{await R("中断任务",{type:"interrupt"})},[R]),Vn=m.useCallback(async j=>{h.current.mode.baseMode===j&&!h.current.mode.pendingBaseMode||await ne("切换模式",{type:"set_agent_mode",mode:j})},[ne]),Kn=m.useCallback(async j=>{await ne(j===null?"继承项目权限":"切换会话权限",j===null?{type:"clear_permission_override"}:{type:"set_permission_override",value:j})},[ne]),bt=m.useCallback(()=>I("加载模型目录",async()=>{const j=h.current;if(!j.activeSessionId)return;const S=await t.modelCatalog(j.activeSessionId,Ee(j));a({type:"model_catalog_loaded",catalog:S})}),[t,I]),Xt=m.useCallback(async(j,S)=>{await ne("切换会话模型",{type:"select_model",modelId:j,...S?{effort:S}:{}})},[ne]),Y=m.useCallback(async()=>{await ne("压缩上下文",{type:"compact_context"})},[ne]),fe=m.useCallback(async(j,S,L)=>{await ne("审核计划",{type:"review_plan",planDigest:j,action:S,...L?{feedback:L}:{}})},[ne]),Se=m.useCallback(async(j,S="once")=>{const L=h.current.permission;L&&(await R(j?"确认工具权限":"拒绝工具权限",{type:"permission_decision",requestPermissionId:L.id,approved:j,scope:S}),a({type:"approval_resolved",requestId:L.id,approved:j}))},[R]),Fe=m.useCallback(async(j,S)=>{await R("更新 Goal",{type:"goal_control",goalAction:j,objective:S});const L=++b.current;X();try{const se=h.current.activeSessionId,ie=Ee(h.current),[Ae]=await Promise.all([t.diagnostics(ie),se?O(se,ie,{force:!0}):Promise.resolve()]);if(L!==b.current)return;a({type:"diagnostics_loaded",diagnostics:Ae})}finally{ue()}},[t,O,X,ue,R]),An=m.useCallback(async()=>{const j=await r.refresh(),S=j.document??j.lastGood;if(!S)throw new _e(j.error??"设置尚不可用。",503);return S},[r]),Qn=m.useCallback(async(j,S,L)=>{if(S.length<1||S.length>20)throw new _e("设置变更必须包含 1 到 20 个字段。",400,"settings_invalid_operation");const se=await t.updateSettings(j,S,Ee(h.current),L);return r.accept(se.settings),se},[t,r]),Gn=m.useCallback(async()=>{await t.openSettingsDocument()},[t]),pt=m.useCallback((j,S=0)=>t.readToolDetail(j,Ee(h.current),S),[t]),ts=m.useCallback((j,S)=>t.listFiles(Ee(h.current),j,S),[t]),rs=m.useCallback((j,S)=>t.readFileContent(j,Ee(h.current),S),[t]),Ks=m.useCallback(j=>t.gitStatus(Ee(h.current),j),[t]),xr=m.useCallback(j=>t.gitLog(Ee(h.current),j),[t]),wr=m.useCallback((j,S)=>t.gitDiff(j,Ee(h.current),S),[t]),kr=m.useCallback(()=>t.review(Ee(h.current)),[t]),jr=m.useCallback(async()=>(await t.terminals(Ee(h.current))).terminals,[t]),Sr=m.useCallback(async(j,S)=>{const L=h.current;if(!L.contextRevision||!L.workspaceId)throw new _e("工作区上下文尚未完成同步。",409,"context_revision_conflict");return t.createTerminal({expectedContextRevision:L.contextRevision,workspaceId:L.workspaceId,cols:j,rows:S})},[t]),ht=m.useCallback(async j=>{const S=h.current;if(!S.contextRevision||!S.workspaceId)throw new _e("工作区上下文尚未完成同步。",409,"context_revision_conflict");return t.terminalAttachTicket(j,{expectedContextRevision:S.contextRevision,workspaceId:S.workspaceId})},[t]),mt=m.useCallback(async j=>{const S=h.current;if(!S.contextRevision||!S.workspaceId)throw new _e("工作区上下文尚未完成同步。",409,"context_revision_conflict");await t.closeTerminal(j,{expectedContextRevision:S.contextRevision,workspaceId:S.workspaceId})},[t]),ss=m.useCallback(j=>t.terminalSocket(j),[t]),is=m.useCallback(()=>a({type:"notice",notice:null}),[]),Qs=m.useMemo(()=>({retryBoot:J,refreshDiagnostics:je,refreshToolDetails:Ne,loadMoreWorkspaces:Re,loadMoreSessions:W,loadWorkspaceSessions:we,refreshWorkspaceProjectSummary:Q,loadMoreCapabilities:me,loadMoreToolDetails:ve,recoverSession:H,switchWorkspace:te,activateContext:w,setWorkspacePinned:A,removeWorkspace:P,createSession:le,activateSession:ge,loadOlderTranscript:ye,renameSession:be,updateSessionTags:ke,archiveSession:Pe,restoreSession:He,deleteSession:Ce,loadArchivedWorkspaceSessions:sn,submit:Je,queue:pn,removeQueued:Hn,editQueued:$n,moveQueued:bn,clearQueue:gn,cancelQueuedTurn:on,interrupt:ot,setMode:Vn,setPermissionOverride:Kn,loadModelCatalog:bt,selectModel:Xt,compactContext:Y,reviewPlan:fe,answerPermission:Se,controlGoal:Fe,refreshSettings:An,updateSettings:Qn,openSettingsDocument:Gn,readToolDetail:pt,listFiles:ts,readFileContent:rs,gitStatus:Ks,gitLog:xr,gitDiff:wr,review:kr,terminals:jr,createTerminal:Sr,terminalAttachTicket:ht,closeTerminal:mt,terminalSocket:ss,dismissNotice:is}),[ge,w,mt,Sr,wr,xr,Ks,ts,ye,me,W,ve,Re,bt,we,Se,gn,on,Y,fe,Fe,le,is,$n,ot,pn,rs,pt,kr,H,je,An,Ne,Q,Hn,P,be,He,ke,Pe,Ce,sn,J,Vn,Kn,Xt,A,Je,te,bn,ht,ss,jr,Qn,Gn]);return{state:l,actions:Qs}}async function fy(t,r,l,a){let d=l;for(let p=0;p<2;p+=1){const h=sy(d);if(h.keysToClear.length===0||d.state!=="ready"||!d.writable)return d;if(h.operations.length===0)return cf(h.keysToClear),d;try{const g=await t.updateSettings(d.revision,h.operations,a,Qe());return r.accept(g.settings),cf(h.keysToClear),g.settings}catch(g){if(p===0&&g instanceof _e&&g.code==="settings_revision_conflict"){const k=await r.refresh(),b=k.document??k.lastGood;if(b){d=b;continue}}return d}}return d}function Ee(t){if(!t.contextRevision||!t.workspaceId)throw new _e("工作区上下文尚未完成同步。",409,"context_revision_conflict");return{expectedContextRevision:t.contextRevision,workspaceId:t.workspaceId}}function df(t,r,l){if(!(t.session.id===r&&t.sessionRuntime.sessionId===r&&t.sessionRuntime.workspaceId===l.workspaceId&&t.composer.sessionId===r&&t.composer.workspaceId===l.workspaceId&&t.composer.contextRevision===l.expectedContextRevision))throw new _e("Host 返回的会话快照身份与当前项目上下文不一致。",502,"session_snapshot_identity_mismatch")}const ff="orion.web.view-id.v1",qf="orion.web.foreground-session.v1:";function py(t,r,l){const a=Wf(`${qf}${t}`);return ay(a,r,l)}function Bs(t,r){hy();const l=`${qf}${t}`;try{r?globalThis.sessionStorage?.setItem(l,r):globalThis.sessionStorage?.removeItem(l)}catch{}}function hy(){const t=Wf(ff);if(t)return t;const r=globalThis.crypto?.randomUUID?.()??`view-${Date.now().toString(36)}`;try{globalThis.sessionStorage?.setItem(ff,r)}catch{}return r}function Wf(t){try{return globalThis.sessionStorage?.getItem(t)??null}catch{return null}}function my(t){if(t.result.includes("failed")||t.result.includes("invalid")||t.result.includes("rejected")||t.result.includes("ignored")||t.result.includes("full")||t.result==="empty")throw new _e(gy(t),409)}function gy(t){if(t.detail)try{const r=JSON.parse(t.detail);if(typeof r.reason=="string")return r.reason}catch{}return`Runtime 未接受操作:${t.result}`}function pf(t,r,l,a="error"){t({type:"notice",notice:{id:Date.now(),tone:a,title:r,detail:Xr(l)}})}function Xr(t){return t instanceof _e||t instanceof Error?t.message:"发生未知错误。"}function uo(t){return t instanceof _e&&t.code==="collection_cursor_stale"}function vy(t){return t instanceof _e&&["composer_control_conflict","session_runtime_revision_conflict","session_snapshot_sync_failed"].includes(t.code??"")}function yy(t){return t instanceof _e&&["context_revision_conflict","runtime_busy","active_session_changed"].includes(t.code??"")}function xy(t){return new Promise(r=>{globalThis.setTimeout(r,t)})}function wy(t){if(typeof window<"u"&&"requestIdleCallback"in window){const l=window.requestIdleCallback(t,{timeout:1500});return()=>window.cancelIdleCallback(l)}const r=globalThis.setTimeout(t,150);return()=>globalThis.clearTimeout(r)}async function ky(t,r,l){let a=0;const d=Array.from({length:Math.min(Math.max(1,r),t.length)},async()=>{for(;a<t.length;){const p=t[a];a+=1,p!==void 0&&await l(p)}});await Promise.all(d)}function jy(t){return t.sessionId?t.type==="runtime_event"?t.payload.value.type==="permission_requested":t.type!=="thread_event"?!1:["approval.requested","plan.review_requested","turn.completed","turn.failed","turn.interrupted"].includes(t.payload.value.payload.type):!1}const Sy=5e3;function Cy(t,r){return r||t.tone==="error"?null:Sy}function Ny({uid:t,notice:r,reconnectNeeded:l,snapshotRetryNeeded:a,pendingAction:d,onDismiss:p,onRecover:h}){const g=l||a,k=!g,b=m.useRef(p);m.useEffect(()=>{b.current=p},[p]);const T=Cy(r,g);m.useEffect(()=>{if(T===null)return;const M=window.setTimeout(()=>b.current(t),T);return()=>window.clearTimeout(M)},[T,t]);const N=`notice-${t}`,$=r.tone==="success"?"check":r.tone==="info"?"info":"warning";return i.jsxs("aside",{className:`workbench-notice notice-${r.tone}`,role:r.tone==="error"?"alert":"status","aria-labelledby":N,children:[i.jsx("span",{className:"notice-icon","aria-hidden":"true",children:i.jsx(K,{name:$,size:17})}),i.jsxs("div",{children:[i.jsx("strong",{id:N,children:r.title}),r.detail?i.jsx("p",{children:r.detail}):null]}),l?i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>h(t),disabled:d,children:"重建连接"}):null,a?i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>h(t),disabled:d,children:"重试同步"}):null,k?i.jsx("button",{type:"button",className:"icon-button",onClick:()=>p(t),"aria-label":"关闭通知",children:i.jsx(K,{name:"close",size:15})}):null]})}function _y(){const{state:t,actions:r}=dy(),[l,a]=m.useState(!1),[d,p]=m.useState(um),[h,g]=m.useState(!1),[k,b]=m.useState(!1),[T,N]=m.useState(!1),[$,M]=m.useState(null),[q,D]=m.useState(null),[O,Z]=m.useState(null),[F,de]=m.useState(!1),[X,ue]=m.useState([]),I=m.useRef(0),R=m.useRef(t.notice),ne=m.useRef(null),[J,je]=m.useState(null),Ne=m.useRef(null),Re=m.useRef(!1),W=m.useRef(!1),we=m.useRef(null),Q=Iy(we),me=ga(Q,d),ve=me.projectNavigation.mode==="drawer",H=me.workPanel.mode==="drawer",te=me.workPanel.mode==="rail"&&d.workPanel.expanded,G=H||te&&h,w=H||te?h:me.workPanel.mode==="dock",A=G&&h,P=ve&&l,le=P||A,ge=t.settings?.state==="ready"?t.settings:t.settingsMirror.lastGood??t.settings,ye=ge?.sections.appearance.theme.effectiveValue,be=ge?.sections.appearance.motion.effectiveValue,ke=ge?.sections.appearance.style.effectiveValue??"orion-blocksmith",Pe=ko(t),He=m.useCallback(()=>{if(!t.workspace)return;const Y=ge?.revision;if(!Y)return;const fe=ge?.sections.appearance.theme.effectiveValue??"system",Se=fe==="system"?"light":fe==="light"?"dark":"system";r.updateSettings(Y,[{op:"set",key:"appearance.theme",value:Se}],Qe()).catch(Fe=>{console.warn("[theme] 主题切换写入失败",Fe)})},[r,ge,t.workspace]),Ce=m.useCallback(Y=>{p(fe=>{const Se={...fe,projectNavigation:{...fe.projectNavigation,...Y}};return Id(Se),Se})},[]),sn=m.useCallback(Y=>{p(fe=>{const Se={...fe,workPanel:{...fe.workPanel,...Y}};return Id(Se),Se})},[]),Je=m.useCallback(()=>{Ne.current=document.activeElement instanceof HTMLElement?document.activeElement:null},[]),pn=m.useCallback(()=>{requestAnimationFrame(()=>document.querySelector(".project-search input")?.focus())},[]),Hn=m.useCallback(()=>{requestAnimationFrame(()=>document.querySelector('.workspace-rail [aria-label="打开设置"]')?.focus())},[]),$n=m.useCallback(()=>{ve&&(Je(),g(!1),a(!0)),Hn()},[Hn,ve,Je]),bn=m.useCallback(()=>{Re.current=P,P&&(a(!1),g(!1),Ne.current=null),b(!0)},[P]),gn=m.useCallback(()=>{b(!1),Re.current&&(Re.current=!1,W.current=!0,a(!0))},[]),on=m.useCallback(()=>{a(!1),g(!1),W.current=!1;const Y=Ne.current;Ne.current=null,Y&&requestAnimationFrame(()=>Y.focus())},[]);m.useLayoutEffect(()=>{document.documentElement.dataset.theme=ye??"system",document.documentElement.dataset.motion=be??"system",document.documentElement.dataset.uiStyle=ke},[be,ye,ke]),m.useEffect(()=>{R.current=t.notice;const Y=t.notice;Y&&ne.current!==Y.id&&(ne.current=Y.id,ue(fe=>fe.some(Se=>Se.notice.id===Y.id)?fe:[...fe,{uid:++I.current,notice:Y}].slice(-4)))},[t.notice]),m.useEffect(()=>{const Y=t.workspaceId;if(!Y)return;const fe=t.workspaceSessions[Y],Se=t.archivedSessions;fe?.status==="ready"&&(Se.ownerWorkspaceId===Y&&Se.status!=="idle"||r.loadArchivedWorkspaceSessions(Y))},[r,t.archivedSessions,t.workspaceId,t.workspaceSessions]);const ot=m.useCallback(Y=>{const fe=X.find(Se=>Se.uid===Y);fe&&(R.current?.id===fe.notice.id&&r.dismissNotice(),ue(Se=>Se.filter(Fe=>Fe.uid!==Y)))},[r,X]),Vn=m.useCallback(Y=>{const fe=X.find(Se=>Se.uid===Y);fe&&(R.current?.id===fe.notice.id&&r.dismissNotice(),ue(Se=>Se.filter(Fe=>Fe.uid!==Y)),r.recoverSession())},[r,X]);m.useEffect(()=>{const Y=window.matchMedia("(prefers-color-scheme: light)"),fe=document.querySelector('meta[name="theme-color"]'),Se=()=>{fe&&(fe.content=Bv(ke,ye??"system",Y.matches))};return Se(),Y.addEventListener("change",Se),()=>Y.removeEventListener("change",Se)},[ye,ke]),m.useEffect(()=>{a(!1),g(!1),Ne.current=null,Re.current=!1,W.current=!1},[t.activeSessionId,t.workspace]),m.useLayoutEffect(()=>{a(!1),g(!1),Ne.current=null,W.current=!1},[me.projectNavigation.mode,me.workPanel.mode,ve,H]),m.useEffect(()=>{const Y=fe=>{const Se=xo("toggle-project-navigation");if(Se&&yo(fe,Se.tokens)){if(fe.preventDefault(),ve){if(l){on();return}Je(),g(!1),a(!0);return}const Fe=!d.projectNavigation.expanded,An=!!(!Fe&&document.activeElement?.closest(".workspace-rail"));Ce({expanded:Fe}),Fe?pn():An&&requestAnimationFrame(()=>{(document.querySelector('.project-navigator-collapsed [aria-label="展开项目导航"]')??document.querySelector(".mobile-nav-toggle"))?.focus()})}};return window.addEventListener("keydown",Y),()=>window.removeEventListener("keydown",Y)},[on,pn,l,ve,d.projectNavigation.expanded,Je,Ce]),m.useEffect(()=>{const Y=xo("open-shortcut-help");if(!Y)return;const fe=Se=>{yo(Se,Y.tokens)&&(Se.preventDefault(),de(Fe=>!Fe))};return window.addEventListener("keydown",fe),()=>window.removeEventListener("keydown",fe)},[]),m.useEffect(()=>{if(!le)return;const Y=document.querySelector(".conversation-column"),fe=document.querySelector(".workspace-rail"),Se=document.querySelector(".work-panel"),Fe=document.querySelector(".workbench-notice-stack"),An=document.querySelector(".skip-link");Y&&(Y.inert=!0),fe&&(fe.inert=A),Se&&(Se.inert=l),Fe&&(Fe.inert=!0),An&&(An.inert=!0);const Qn=window.setTimeout(()=>{const pt=A?Se?.querySelector('[aria-label="关闭工作面板"]'):W.current?fe?.querySelector('[aria-label="打开设置"]'):fe?.querySelector(".drawer-close");W.current=!1,pt?.focus()},0),Gn=pt=>{pt.key==="Escape"&&!pt.target?.closest?.('[role="alertdialog"]')&&on()};return window.addEventListener("keydown",Gn),()=>{Y&&(Y.inert=!1),fe&&(fe.inert=!1),Se&&(Se.inert=!1),Fe&&(Fe.inert=!1),An&&(An.inert=!1),window.clearTimeout(Qn),window.removeEventListener("keydown",Gn)}},[on,le,l,A,t.notice]);const Kn=m.useCallback(()=>{requestAnimationFrame(()=>document.querySelector("#main-content h1")?.focus())},[]),bt=()=>{a(!1),r.createSession().then(Kn,Kn)},Xt=()=>{Re.current=!1,W.current=!1,b(!1),requestAnimationFrame(()=>document.querySelector("#orion-composer")?.focus())};return i.jsxs(i.Fragment,{children:[i.jsx("a",{className:"skip-link",href:"#main-content",children:"跳到主要内容"}),i.jsxs("div",{ref:we,className:`workbench-shell project-navigation-${me.projectNavigation.mode} work-panel-mode-${me.workPanel.mode} ${te&&h?"work-panel-transient-overlay":""}`,style:{"--project-navigation-width":`${me.projectNavigation.widthPx}px`,"--project-navigation-preferred-width":`${d.projectNavigation.widthPx}px`,"--work-panel-width":`${me.workPanel.widthPx}px`,"--work-panel-preferred-width":`${d.workPanel.widthPx}px`},"aria-busy":t.boot==="loading",children:[i.jsx(pm,{state:t,drawerOpen:P,dockVisible:!0,collapsed:me.projectNavigation.mode==="rail",resizable:me.projectNavigation.mode==="dock",width:me.projectNavigation.widthPx,onCloseDrawer:on,onExpand:()=>{ve?(Je(),g(!1),a(!0)):(Ce({expanded:!0}),pn())},onCollapse:()=>{ve?on():Ce({expanded:!1})},onOpenWorkspaceDialog:()=>N(!0),onOpenSettings:bn,onLoadMoreWorkspaces:()=>{r.loadMoreWorkspaces()},onCreateSession:bt,onLoadWorkspaceSessions:(Y,fe)=>{r.loadWorkspaceSessions(Y,fe)},onActivateContext:(Y,fe)=>{a(!1),r.activateContext(Y,fe).then(Kn,Kn)},onSetPinned:(Y,fe)=>{r.setWorkspacePinned(Y,fe)},onRemoveWorkspace:Y=>{r.removeWorkspace(Y)},onRefreshSummary:Y=>{r.refreshWorkspaceProjectSummary(Y)},onRenameSession:M,onSessionTags:D,onArchiveSession:Y=>{r.archiveSession(Y.id)},onDeleteSession:Z,onRestoreSession:Y=>{r.restoreSession(Y.id)},onWidthPreview:Y=>{const fe=ga(Q,{...d,projectNavigation:{...d.projectNavigation,widthPx:Y}});we.current?.style.setProperty("--project-navigation-width",`${fe.projectNavigation.widthPx}px`)},onWidthCommit:Y=>Ce({widthPx:Y})}),i.jsx(Sg,{state:t,actions:r,navigationOpen:ve?P:me.projectNavigation.mode==="dock",inspectorExpanded:w,onOpenNavigation:()=>{if(!ve){Ce({expanded:!0}),pn();return}Je(),g(!1),a(!0)},onToggleInspector:()=>{if(H||te){if(h){on();return}Je(),a(!1),g(!0);return}sn({expanded:!d.workPanel.expanded})},onRevealSettings:$n,onCreateSession:bt,themePreference:ye,onCycleTheme:He,onShowShortcuts:()=>de(!0),composerInsertion:J}),i.jsx(zv,{state:t,actions:r,mode:G?"overlay":"dock",expanded:w,activePanel:d.workPanel.activePanel,agentPanel:d.workPanel.agentPanel,onExpand:()=>{H||te?g(!0):sn({expanded:!0})},onCollapse:()=>{G?on():sn({expanded:!1})},onPanelChange:Y=>sn({activePanel:Y}),onAgentPanelChange:Y=>sn({agentPanel:Y}),onWidthPreview:Y=>{const fe=ga(Q,{...d,workPanel:{...d.workPanel,widthPx:Y}});we.current?.style.setProperty("--work-panel-width",`${fe.workPanel.widthPx}px`)},onWidthCommit:Y=>sn({widthPx:Y}),width:me.workPanel.widthPx,onSendToComposer:Y=>{je({id:Date.now(),text:Y}),H&&on(),requestAnimationFrame(()=>document.querySelector("#orion-composer")?.focus())}}),le?i.jsx("button",{type:"button",className:"drawer-scrim","aria-label":"关闭侧边面板",tabIndex:-1,onClick:on}):null,X.length>0?i.jsx("div",{className:"workbench-notice-stack","aria-live":"polite",children:X.map(Y=>i.jsx(Ny,{uid:Y.uid,notice:Y.notice,reconnectNeeded:t.connection==="replay-required",snapshotRetryNeeded:Y.notice.domain==="session-snapshot"&&Pe.status==="failed",pendingAction:!!t.pendingAction,onDismiss:ot,onRecover:Vn},Y.uid))}):null,t.boot!=="ready"?i.jsxs("section",{className:"boot-screen",role:t.boot==="error"?"alert":"status",children:[i.jsxs("div",{className:"boot-mark","aria-hidden":"true",children:[i.jsx("span",{}),i.jsx("span",{}),i.jsx("span",{})]}),t.boot==="loading"?i.jsxs(i.Fragment,{children:[i.jsx("h1",{children:"正在启动 Orion Workbench"}),i.jsx("p",{children:"建立本地安全握手并恢复工作区状态…"}),i.jsx("span",{className:"boot-loader","aria-hidden":"true"})]}):i.jsxs(i.Fragment,{children:[i.jsx("h1",{children:"无法连接本地 Web Host"}),i.jsx("p",{children:t.bootError||"请确认 Orion Web Host 仍在运行。"}),i.jsxs("button",{type:"button",className:"primary-button",onClick:()=>{r.retryBoot()},disabled:!!t.pendingAction,children:[i.jsx(K,{name:"refresh",size:15}),"重新连接"]})]})]}):null,i.jsx("div",{className:"sr-only","aria-live":"polite","aria-atomic":"true",children:t.announcement})]}),i.jsx(Jg,{open:k,onClose:gn,state:t,actions:r,onGoToSessionControls:Xt}),i.jsx(zg,{open:T,onClose:()=>N(!1),state:t,onSelect:r.switchWorkspace,onLoadMore:r.loadMoreWorkspaces}),i.jsx(Fg,{open:!!$,onClose:()=>M(null),session:$,pending:!!t.pendingAction,onRename:r.renameSession}),i.jsx(Bg,{open:!!q,onClose:()=>D(null),session:q,pending:!!t.pendingAction,onSave:r.updateSessionTags}),i.jsx(qg,{open:!!O,onClose:()=>Z(null),session:O,pending:!!t.pendingAction,onConfirm:r.deleteSession}),i.jsx(yv,{open:F,onClose:()=>de(!1)})]})}function Iy(t){const[r,l]=m.useState(()=>typeof window>"u"?1440:Math.max(320,Math.round(window.innerWidth)));return m.useEffect(()=>{const a=t.current;if(!a)return;const d=()=>{const p=Math.max(320,Math.round(a.getBoundingClientRect().width));l(h=>h===p?h:p)};if(d(),typeof ResizeObserver<"u"){const p=new ResizeObserver(d);return p.observe(a),()=>p.disconnect()}return window.addEventListener("resize",d),()=>window.removeEventListener("resize",d)},[t]),r}const Uf=document.getElementById("root");if(!Uf)throw new Error("Orion Web root element was not found.");Kh.createRoot(Uf).render(i.jsx(Fh.StrictMode,{children:i.jsx(_y,{})}));export{K as I,Aa as S,_e as W,i as j,m as r,Gt as s};
17
+ /`:"/")}),i.jsx(Ia,{label:gg(t),accessibleLabel:"工作模式",disabled:!ue,value:t.composer?.mode.baseMode??t.mode.baseMode,options:[{value:"interactive",label:"BUILD",detail:"执行、修改并验证当前任务"},{value:"plan",label:"PLAN",detail:"生成计划并等待你的审核"},{value:"auto",label:"AUTO",detail:"自主执行,仍受权限与沙箱约束"}],onSelect:W=>{W==="auto"?k("auto"):_n(r.setMode(W))}}),i.jsx(Ia,{label:vg(t),accessibleLabel:"会话权限",disabled:!ue,value:t.composer?.permission.override??"inherit",options:[{value:"inherit",label:"继承项目",detail:`当前 ${t.composer?.permission.projectDefault??"ask"}`},{value:"ask",label:"ASK",detail:"高风险工具逐次请求批准"},{value:"allow",label:"ALLOW",detail:"允许策略许可的工具,不绕过沙箱"},{value:"deny",label:"DENY",detail:"拒绝需要授权的工具"}],onSelect:W=>{W==="allow"?k("allow"):_n(r.setPermissionOverride(W==="inherit"?null:W))}})]}),i.jsxs("div",{className:"composer-actions composer-control-actions",children:[i.jsx(lg,{state:t,actions:r,disabled:!ue}),i.jsx(cg,{state:t,actions:r,disabled:!ue}),t.processing?i.jsxs(i.Fragment,{children:[i.jsxs("button",{type:"button",className:"icon-text-button stop-button",onClick:()=>_n(r.interrupt()),disabled:!ue,children:[i.jsx(K,{name:"stop",size:14}),"停止"]}),i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>{je("submit")},disabled:!I.trim()||!ue,children:"Steer"})]}):null,de?i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>_n(r.cancelQueuedTurn()),disabled:!X,children:"取消排队"}):null,i.jsx("button",{type:"submit",className:"send-button composer-send-icon","aria-label":t.processing?"加入消息队列":"发送消息",disabled:!ue||!I.trim(),children:i.jsx(K,{name:"arrow-up",size:17})})]})]}),R.length>0||b||t.composer?.lastError?i.jsxs("div",{className:"composer-footline",children:[R.length>0?i.jsxs("span",{children:[R.length," 个 Context 引用"]}):null,b?i.jsx("span",{role:"alert",children:b}):t.composer?.lastError?i.jsx("span",{role:"alert",children:t.composer.lastError.message}):null]}):null]}),g?i.jsx(pg,{kind:g,onCancel:()=>k(null),onConfirm:()=>{const W=g;k(null),_n(W==="auto"?r.setMode("auto"):r.setPermissionOverride("allow"))}}):null]})}function lg({state:t,actions:r,disabled:l}){const a=t.composer?.model,d=["auto",...a?.effort.supportedLevels??[]];return i.jsxs("div",{className:"model-control-cluster",children:[i.jsx(ag,{state:t,actions:r,disabled:l}),a?.effort.supported?i.jsx(Ia,{label:t.composer?.pending.model?`${oo(a.effort.requested)} → ${oo(t.composer.pending.model.effort)}`:oo(a.effort.requested),accessibleLabel:"推理强度",disabled:l,value:a.effort.requested,options:d.map(p=>({value:p,label:oo(p),detail:p==="auto"?"采用模型或项目默认值":`请求 ${p} reasoning effort`})),onSelect:p=>_n(r.selectModel(a.modelId,p))}):null]})}function ag({state:t,actions:r,disabled:l}){const[a,d]=m.useState(!1),[p,h]=m.useState(""),g=m.useRef(null),k=m.useRef(null),b=m.useRef(null),T=t.composer?.model,N=t.modelCatalog,$=t.composer?.pending.model?`${T?.modelId??"模型"} → ${t.composer.pending.model.modelId}`:T?.modelId??"模型",M=p.trim().toLowerCase(),q=new Set((N?.unavailableProviders??[]).map(F=>F.id)),D=(N?.items??[]).filter(F=>!q.has(F.providerId)).filter(F=>[F.id,F.label,F.providerId,F.providerLabel].some(de=>de.toLowerCase().includes(M))).slice(0,80),O=new Map;for(const F of D){const de=F.providerLabel||F.providerId;O.set(de,[...O.get(de)??[],F])}const Z=()=>{d(!1),h(""),k.current?.focus()};return _o(a,g,Z),i.jsxs("div",{className:"control-menu",ref:g,children:[i.jsxs("button",{ref:k,type:"button",className:"composer-control-trigger","aria-label":"会话模型","aria-haspopup":"menu","aria-expanded":a,disabled:l,onClick:()=>{a?Z():(d(!0),N||_n(r.loadModelCatalog()))},children:[i.jsx("span",{children:$}),i.jsx(K,{name:"chevron",size:12})]}),a?i.jsxs("div",{className:"control-menu-popover model-catalog-popover",role:"menu","aria-label":"会话模型",ref:b,onKeyDown:F=>La(F,Z),children:[(N?.items.length??0)>8?i.jsxs("label",{className:"model-catalog-search",children:[i.jsx("span",{className:"sr-only",children:"筛选模型"}),i.jsx("input",{type:"search",value:p,placeholder:"筛选模型…",onChange:F=>h(F.target.value),onKeyDown:F=>{F.key==="ArrowDown"?(F.preventDefault(),Rf(b.current)):F.key==="Escape"&&(F.stopPropagation(),Z())}})]}):null,N===null?i.jsx("p",{role:"status",children:"正在加载模型…"}):null,N&&D.length===0?i.jsx("p",{children:"没有匹配的可用模型"}):null,[...O.entries()].map(([F,de])=>i.jsxs("section",{role:"group","aria-label":F,children:[i.jsx("div",{className:"model-provider-heading",children:F}),de.map(X=>i.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":X.id===T?.modelId,onClick:()=>{Z(),_n(r.selectModel(X.id))},children:[i.jsxs("span",{children:[i.jsx("strong",{children:X.label}),i.jsxs("small",{children:[Yr(X.contextWindow)," context",X.reasoning?" · reasoning":""]})]}),X.id===T?.modelId?i.jsx(K,{name:"check",size:14}):null]},X.id))]},F)),N?.unavailableProviders.map(F=>i.jsxs("section",{role:"group","aria-label":`${F.id} 不可用`,children:[i.jsxs("div",{className:"model-provider-heading state-error",children:[F.id," · 不可用"]}),i.jsx("p",{children:F.reason}),i.jsx("button",{type:"button",role:"menuitem",onClick:()=>_n(r.loadModelCatalog()),children:"Retry"})]},F.id)),(N?.items.length??0)>80&&!M?i.jsx("p",{children:"显示前 80 项;输入关键词继续筛选。"}):null]}):null]})}function cg({state:t,actions:r,disabled:l}){const[a,d]=m.useState(!1),p=m.useRef(null),h=m.useRef(null),g=t.composer?.contextUsage,k=g?Math.max(0,Math.min(100,g.percent)):null,b=g?.source==="estimated",T=!!(g&&g.percent>=g.warningThresholdPercent);return _o(a,p,()=>{d(!1),h.current?.focus()}),i.jsxs("div",{className:"context-meter-wrap",ref:p,children:[i.jsxs("button",{ref:h,type:"button",className:"context-meter-button","aria-label":g?`Context ${b?"估算 ":""}${g.usedTokens} / ${g.safeInputBudget??g.contextWindow} tokens,${g.percent}%${T?",接近压缩阈值":""}`:"Context 用量不可用","aria-haspopup":"dialog","aria-expanded":a,disabled:l,onClick:()=>d(N=>!N),children:[i.jsx("span",{className:"context-meter-ring",style:{"--context-percent":`${k??0}%`},"aria-hidden":"true"}),i.jsx("span",{children:g?`${b?"~":""}${g.percent}%${T?" !":""}`:"Context"})]}),a?i.jsxs("section",{className:"context-popover",role:"dialog","aria-label":"Context 用量详情",children:[i.jsxs("header",{children:[i.jsx("strong",{children:"Context"}),i.jsx("button",{type:"button",className:"icon-button",onClick:()=>d(!1),"aria-label":"关闭 Context 详情",children:i.jsx(K,{name:"close",size:14})})]}),g?i.jsxs("dl",{children:[i.jsxs("div",{children:[i.jsx("dt",{children:"当前模型"}),i.jsx("dd",{children:g.modelId})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"已使用"}),i.jsx("dd",{children:Yr(g.usedTokens)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"安全输入预算"}),i.jsx("dd",{children:Yr(g.safeInputBudget??g.contextWindow)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"原始窗口"}),i.jsx("dd",{children:Yr(g.contextWindow)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"输出预留"}),i.jsx("dd",{children:Yr(g.reservedOutputTokens??0)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"安全余量"}),i.jsx("dd",{children:Yr(g.safetyMarginTokens??0)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"来源"}),i.jsx("dd",{children:g.source==="estimated"?"估算 ~":g.source})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"警告阈值"}),i.jsxs("dd",{children:[g.warningThresholdPercent,"%"]})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"自动压缩"}),i.jsx("dd",{children:g.autoCompactEnabled?`${g.autoCompactThresholdPercent}%`:"关闭"})]})]}):i.jsx("p",{children:"Runtime 尚未提供当前模型的 Context 计数。"}),t.composer?.compactAvailable?i.jsx("button",{type:"button",className:"secondary-button",disabled:!g||t.processing,onClick:()=>_n(r.compactContext()),children:"立即压缩"}):null]}):null]})}function ug({state:t,actions:r,disabled:l,references:a,onChange:d,onInsertCommand:p}){const[h,g]=m.useState(!1),[k,b]=m.useState("root"),[T,N]=m.useState([]),[$,M]=m.useState(!1),[q,D]=m.useState(""),O=m.useRef(null),Z=m.useRef(null);_o(h,O,()=>g(!1));const F=I=>{a.some(R=>R.kind===I.kind&&R.id===I.id)||d([...a,I]),g(!1),b("root")},de=async()=>{b("files"),M(!0),D("");try{const I=await r.listFiles();N(I.items.filter(R=>R.readable&&!R.sensitive))}catch(I){D(I instanceof Error?I.message:"文件列表加载失败。")}finally{M(!1)}},X=async I=>{M(!0),D("");try{if(Ad(I)){const R=await r.listFiles(I.id);F({kind:"folder",id:I.id,label:I.name,revision:R.revision})}else if(yg(I)){const R=await r.readFileContent(I.id);if(R.binary||R.sensitive)throw new Error("该文件不能加入模型 Context。");F({kind:"file",id:I.id,label:I.name,revision:R.revision})}}catch(R){D(R instanceof Error?R.message:"Context 引用加载失败。")}finally{M(!1)}},ue=async()=>{M(!0);try{const I=await r.review();F({kind:"review",id:"working-tree",label:I.truncated?`Review · ${I.totalChangedFiles} files · ${I.changedFiles.length} visible`:`Review · ${I.totalChangedFiles} files`,gitRevision:I.repositoryRevision})}catch(I){D(I instanceof Error?I.message:"Review Context 加载失败。")}finally{M(!1)}};return i.jsxs("div",{className:"control-menu context-launcher",ref:O,children:[i.jsx("button",{type:"button",className:"context-add-button","aria-label":"添加 Context","aria-haspopup":"menu","aria-expanded":h,disabled:l,onClick:()=>{const I=!h;g(I),I&&requestAnimationFrame(()=>Rf(Z.current))},children:i.jsx(K,{name:"add",size:17})}),h?i.jsxs("div",{className:"control-menu-popover context-launcher-menu",role:"menu","aria-label":"添加 Context",ref:Z,onKeyDown:I=>La(I,()=>g(!1)),children:[k!=="root"?i.jsx("button",{type:"button",role:"menuitem",onClick:()=>b("root"),children:"← 返回"}):null,k==="root"?i.jsxs(i.Fragment,{children:[i.jsx(Ct,{label:"文件或目录",detail:"Workspace 内受控读取",onClick:()=>{de()}}),i.jsx(Ct,{label:"当前 Review",detail:"绑定 exact Git revision",onClick:()=>{ue()}}),i.jsx(Ct,{label:"历史 Session",detail:"引用受控摘要",onClick:()=>b("sessions")}),i.jsx(Ct,{label:"Skill",detail:"绑定已加载能力 digest",onClick:()=>b("skills")}),i.jsx(Ct,{label:"命令",detail:"插入 / 命令入口",onClick:()=>{p(),g(!1)}}),a.length>0?i.jsx(Ct,{label:"清除 Context",detail:"移除当前草稿全部引用",onClick:()=>{d([]),g(!1)}}):null]}):null,k==="files"?T.map(I=>i.jsx(Ct,{label:I.name,detail:Ad(I)?"目录":`${I.sizeBytes??0} bytes`,onClick:()=>{X(I)}},I.id)):null,k==="sessions"?t.sessions.filter(I=>I.id!==t.activeSessionId).map(I=>i.jsx(Ct,{label:I.name||`Session ${I.id.slice(0,8)}`,detail:`${I.messageCount} 条消息`,onClick:()=>F({kind:"session",id:I.id,label:I.name||`Session ${I.id.slice(0,8)}`,digest:I.contextDigest})},I.id)):null,k==="skills"?t.skills.filter(I=>I.userInvocable).map(I=>i.jsx(Ct,{label:I.name,detail:I.description,onClick:()=>F({kind:"skill",id:I.id,label:I.name,digest:I.digest})},I.id)):null,$?i.jsx("p",{role:"status",children:"正在加载…"}):null,q?i.jsx("p",{role:"alert",children:q}):null]}):null]})}function dg({references:t,invalidReferenceKeys:r,onChange:l}){return i.jsx("div",{className:"context-tray","aria-label":"当前 Context 引用",children:t.map(a=>i.jsxs("span",{className:`context-chip${r.has(Us(a))?" state-stale":""}`,children:[i.jsx("small",{children:xg(a.kind)}),i.jsx("span",{children:a.label}),r.has(Us(a))?i.jsx("span",{className:"context-chip-state",children:"已失效,请移除后重新添加"}):null,i.jsx("button",{type:"button","aria-label":`移除 Context ${a.label}`,onClick:()=>l(t.filter(d=>d!==a)),children:i.jsx(K,{name:"close",size:12})})]},Us(a)))})}function fg({state:t,actions:r}){const l=t.composer.planReview,[a,d]=m.useState(!1),[p,h]=m.useState(""),g=!!t.pendingAction||t.connection!=="live"||!vr(t);return i.jsxs("section",{className:"plan-review-card","aria-labelledby":"plan-review-title",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"PLAN REVIEW"}),i.jsx("h2",{id:"plan-review-title",children:"计划已保存,尚未执行"}),i.jsxs("p",{children:["由 ",l.createdModel," 创建 · digest ",l.planDigest.slice(0,12)]})]}),a?i.jsxs("label",{children:["继续规划反馈",i.jsx("textarea",{rows:2,value:p,onChange:k=>h(k.target.value)})]}):null,i.jsxs("div",{className:"plan-review-actions",children:[i.jsx("button",{type:"button",className:"danger-ghost-button",disabled:g,onClick:()=>_n(r.reviewPlan(l.planDigest,"cancel")),children:"取消计划"}),a?i.jsx("button",{type:"button",className:"secondary-button",disabled:g||!p.trim(),onClick:()=>_n(r.reviewPlan(l.planDigest,"continue",p.trim())),children:"提交反馈"}):i.jsx("button",{type:"button",className:"secondary-button",disabled:g,onClick:()=>d(!0),children:"继续规划"}),i.jsx("button",{type:"button",className:"primary-button",disabled:g,onClick:()=>_n(r.reviewPlan(l.planDigest,"approve")),children:"批准并进入 BUILD"})]})]})}function Ia({label:t,accessibleLabel:r,value:l,options:a,disabled:d,emptyLabel:p,onOpen:h,onSelect:g}){const[k,b]=m.useState(!1),T=m.useRef(null),N=m.useRef(null),$=m.useRef(null),M=m.useId(),q=()=>{b(!1),N.current?.focus()},D=()=>{b(!0),h?.(),requestAnimationFrame(()=>hg($.current))};return _o(k,T,q),i.jsxs("div",{className:"control-menu",ref:T,children:[i.jsxs("button",{ref:N,type:"button",className:"composer-control-trigger","aria-label":r,"aria-haspopup":"menu","aria-expanded":k,"aria-controls":k?M:void 0,disabled:d,onClick:()=>{k?q():D()},onKeyDown:O=>{O.key==="ArrowDown"&&(O.preventDefault(),D())},children:[i.jsx("span",{children:t}),i.jsx(K,{name:"chevron",size:12})]}),k?i.jsx("div",{id:M,ref:$,className:"control-menu-popover",role:"menu","aria-label":r,onKeyDown:O=>La(O,q),children:a.length===0?i.jsx("p",{children:p??"没有选项"}):a.map(O=>i.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":O.value===l,onClick:()=>{q(),g(O.value)},children:[i.jsxs("span",{children:[i.jsx("strong",{children:O.label}),i.jsx("small",{children:O.detail})]}),O.value===l?i.jsx(K,{name:"check",size:14}):null]},O.value))}):null]})}function Ct({label:t,detail:r,onClick:l}){return i.jsx("button",{type:"button",role:"menuitem",onClick:l,children:i.jsxs("span",{children:[i.jsx("strong",{children:t}),i.jsx("small",{children:r})]})})}function pg({kind:t,onCancel:r,onConfirm:l}){const[a,d]=m.useState(!1),p=m.useRef(null),h=m.useRef(null);return m.useEffect(()=>{const g=document.querySelector(t==="auto"?'[aria-label="工作模式"]':'[aria-label="会话权限"]');return h.current?.focus(),()=>g?.focus()},[t]),i.jsx("div",{className:"modal-backdrop",onPointerDown:g=>{g.target===g.currentTarget&&r()},children:i.jsxs("section",{ref:p,className:"risk-confirmation",role:"alertdialog","aria-modal":"true","aria-labelledby":"risk-title","aria-describedby":"risk-description",onKeyDown:g=>mg(g,p.current,r),children:[i.jsx("h2",{id:"risk-title",children:t==="auto"?"启用 AUTO 模式?":"启用会话 ALLOW?"}),i.jsx("p",{id:"risk-description",children:t==="auto"?"Orion 会自主执行多个步骤,但仍受 ToolGateway、沙箱与 Workspace containment 约束。":"策略允许的工具将不再逐次询问;硬拒绝、沙箱和 Workspace 边界仍然生效。"}),i.jsxs("label",{children:[i.jsx("input",{type:"checkbox",checked:a,onChange:g=>d(g.target.checked)}),"我理解这会扩大本会话的默认执行范围"]}),i.jsxs("div",{children:[i.jsx("button",{ref:h,type:"button",className:"secondary-button",onClick:r,children:"取消"}),i.jsx("button",{type:"button",className:"primary-button",disabled:!a,onClick:l,children:"确认启用"})]})]})})}function Da(t){return t?[...t.querySelectorAll('[role="menuitem"], [role="menuitemradio"]')].filter(r=>!r.disabled):[]}function Rf(t){Da(t)[0]?.focus()}function hg(t){const r=Da(t);(r.find(l=>l.getAttribute("aria-checked")==="true")??r[0])?.focus()}function La(t,r){if(t.key==="Escape"){t.preventDefault(),r();return}if(!["ArrowDown","ArrowUp","Home","End"].includes(t.key))return;t.preventDefault();const l=Da(t.currentTarget);if(l.length===0)return;const a=l.indexOf(document.activeElement),d=t.key==="Home"?0:t.key==="End"?l.length-1:t.key==="ArrowDown"?(Math.max(0,a)+1)%l.length:(a<=0?l.length:a)-1;l[d]?.focus()}function mg(t,r,l){if(t.key==="Escape"){t.preventDefault(),l();return}if(t.key!=="Tab"||!r)return;const a=[...r.querySelectorAll('button:not(:disabled), input:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])')];if(a.length===0)return;const d=a[0],p=a.at(-1);t.shiftKey&&document.activeElement===d?(t.preventDefault(),p.focus()):!t.shiftKey&&document.activeElement===p&&(t.preventDefault(),d.focus())}function _o(t,r,l){m.useEffect(()=>{if(!t)return;const a=p=>{r.current?.contains(p.target)||l()},d=p=>{p.key==="Escape"&&l()};return document.addEventListener("pointerdown",a),document.addEventListener("keydown",d),()=>{document.removeEventListener("pointerdown",a),document.removeEventListener("keydown",d)}},[l,t,r])}function $d(t){return t==="plan"?"PLAN":t==="auto"?"AUTO":"BUILD"}function gg(t){const r=t.composer?.mode??t.mode,l=$d(r.baseMode);return r.pendingBaseMode?`${l} → ${$d(r.pendingBaseMode)}`:l}function vg(t){const r=t.composer?.permission,l=r?.source==="session"?"Session":"Project",a=`${r?.effective.toUpperCase()??"ASK"} · ${l}`;if((t.composer?.mode.baseMode??t.mode.baseMode)==="auto"&&r?.effective!=="deny")return"AUTO · hard policy";const d=t.composer?.pending.permission;return d?`${a} → ${(d.override??r?.projectDefault??"ask").toUpperCase()} · Session`:a}function oo(t){return t==="auto"?"Effort 自动":`Effort ${t}`}function Ad(t){return t.kind==="directory"||t.kind==="symlink"&&t.targetKind==="directory"}function yg(t){return t.kind==="file"||t.kind==="symlink"&&t.targetKind==="file"}function xg(t){return t==="file"?"FILE":t==="folder"?"FOLDER":t==="review"?"REVIEW":t==="session"?"SESSION":"SKILL"}function Us(t){return`${t.kind}:${t.id}`}function _n(t){t.catch(()=>{})}function Yr(t){return t>=1e3?`${Math.round(t/1e3)}k`:String(t)}const Dd=320,wg=300,xa=["system","light","dark"],kg={system:"monitor",light:"sun",dark:"moon"},Ld={system:"跟随系统",light:"浅色",dark:"深色"};function jg(t){const r=t??"system",l=xa.indexOf(r),a=xa[(l+1)%xa.length];return{current:r,next:a}}function Sg({state:t,actions:r,navigationOpen:l,inspectorExpanded:a,onOpenNavigation:d,onToggleInspector:p,onRevealSettings:h,onCreateSession:g,themePreference:k,onCycleTheme:b,onShowShortcuts:T,composerInsertion:N}){const $=t.sessions.find(W=>W.id===t.activeSessionId),M=jo(t),q=m.useMemo(()=>Cg(t),[t.edits,t.research,t.subtasks,t.tools,t.transcript]),[D,O]=m.useState(Dd),Z=q.slice(-D),F=m.useRef(null),de=m.useRef(null),X=m.useRef(!0),ue=m.useRef(null),[I,R]=m.useState(!0);m.useEffect(()=>{O(Dd),X.current=!0,R(!0)},[t.activeSessionId]),m.useLayoutEffect(()=>{const W=F.current;if(W){if(ue.current){const we=ue.current;W.scrollTop=we.top+(W.scrollHeight-we.height),ue.current=null;return}X.current&&(W.scrollTop=W.scrollHeight)}},[Z.length,t.processing]),m.useLayoutEffect(()=>{const W=F.current,we=de.current;if(!W||!we||typeof ResizeObserver>"u")return;const Q=new ResizeObserver(()=>{X.current&&(W.scrollTop=W.scrollHeight)});return Q.observe(we),()=>Q.disconnect()},[t.activeSessionId]);const ne=()=>{const W=F.current;if(!W)return;const we=W.scrollHeight-W.scrollTop-W.clientHeight<72;X.current=we,R(we)},J=!!t.sessionSnapshot?.transcript.nextCursor,je=async()=>{const W=F.current;if(W&&(ue.current={height:W.scrollHeight,top:W.scrollTop}),q.length>Z.length){O(we=>we+wg);return}if(J)try{await r.loadOlderTranscript(),O(we=>we+100)}catch{ue.current=null}},Ne=()=>{const W=F.current;W&&(X.current=!0,R(!0),W.scrollTo({top:W.scrollHeight,behavior:"smooth"}))},Re=jg(k);return i.jsxs("main",{className:"conversation-column",id:"main-content",children:[i.jsxs("header",{className:"conversation-header",children:[i.jsx("button",{type:"button",className:"icon-button mobile-nav-toggle",onClick:d,"aria-label":"打开会话导航","aria-controls":"workspace-rail","aria-expanded":l,children:i.jsx(K,{name:"menu"})}),i.jsxs("div",{className:"conversation-identity",children:[i.jsxs("div",{className:"title-line",children:[i.jsx("h1",{tabIndex:-1,children:$?gr($):"Orion Code"}),t.processing?i.jsx("span",{className:"running-pulse",children:"运行中"}):null]}),i.jsxs("p",{title:t.workspace,children:[$?.model??t.settings?.sections.defaults.model.effectiveValue??"本地工作台"," ","· ",Og(t.workspace)]})]}),i.jsxs("div",{className:"header-actions",children:[i.jsx("button",{type:"button",className:"icon-button theme-cycle-button",onClick:b,"aria-label":`主题:${Ld[Re.current]},点击切换为${Ld[Re.next]}`,children:i.jsx(K,{name:kg[Re.current]})}),i.jsx("button",{type:"button",className:"icon-button shortcut-help-button",onClick:T,"aria-label":"键盘快捷键帮助",children:i.jsx(K,{name:"keyboard"})}),i.jsx("button",{type:"button",className:"icon-button inspector-toggle",onClick:p,"aria-label":a?"关闭工作面板":"打开工作面板","aria-controls":"work-panel","aria-expanded":a,children:i.jsx(K,{name:"sidebar"})})]})]}),t.bootstrap?.configured?null:i.jsxs("div",{className:"configuration-banner",role:"status",children:[i.jsx(K,{name:"warning"}),i.jsxs("div",{children:[i.jsx("strong",{children:"模型尚未配置"}),i.jsx("span",{children:"请在 Orion 配置文件或环境变量中设置凭证。API Key 不会进入浏览器。"})]}),i.jsx("button",{type:"button",className:"secondary-button",onClick:h,children:"转到设置"})]}),i.jsx("div",{className:"transcript-viewport",ref:F,role:"region","aria-label":"会话记录",tabIndex:0,onScroll:ne,"aria-busy":t.processing,children:i.jsxs("div",{className:"transcript-content",ref:de,children:[q.length>Z.length||J?i.jsx("button",{type:"button",className:"load-history",onClick:()=>{je()},disabled:!!t.pendingAction,children:q.length>Z.length?`加载更早内容 · 还剩 ${q.length-Z.length} 项`:"从持久记录加载更早内容"}):null,t.activeSessionId?M.status==="failed"&&Z.length===0?i.jsx(lo,{icon:"warning",title:"会话快照加载失败",detail:M.error??"请重试当前会话快照。"}):(M.status==="loading"||M.status==="refreshing")&&Z.length===0?i.jsx(lo,{icon:"refresh",title:"正在同步会话",detail:"本地 Web Host 正在读取最近的会话快照。"}):Z.length===0?i.jsx(lo,{icon:"spark",title:"准备好开始了",detail:"描述要构建、修复或调查的任务。Orion 会实时展示工具、文件变化与验证结果。"}):i.jsx("ol",{className:"timeline","aria-label":"会话记录",children:Z.map(W=>i.jsx("li",{"data-event-id":W.order,children:_g(W,t)},Ng(W)))}):i.jsx(lo,{icon:"workspace",title:"选择或创建一个会话",detail:"Orion 会在当前工作区运行,并沿用 CLI/TUI 的权限与持久化状态。",action:"创建会话",onAction:g}),t.processing?i.jsxs("div",{className:"thinking-indicator",role:"status",children:[i.jsx("span",{}),i.jsx("span",{}),i.jsx("span",{}),i.jsx("span",{children:t.statusMessage||"Orion 正在处理…"})]}):null]})}),!I&&Z.length>0?i.jsxs("button",{type:"button",className:"jump-latest",onClick:Ne,children:[i.jsx(K,{name:"arrow-up",size:15}),"回到最新"]}):null,i.jsxs("div",{className:"input-dock",children:[t.permission||t.queue.items.length>0?i.jsxs("div",{className:"input-transients",children:[t.permission?i.jsx(Mg,{state:t,actions:r}):null,t.queue.items.length>0?i.jsx($g,{state:t,actions:r}):null]}):null,i.jsx(og,{state:t,actions:r,insertion:N})]})]})}function Cg(t){const r=new Set(t.tools.map(a=>a.callId));return[...t.transcript.filter(a=>!a.toolActivity?.callId||!r.has(a.toolActivity.callId)).map(a=>({kind:"transcript",order:a.order,value:a})),...t.tools.map(a=>({kind:"tool",order:a.order,value:a})),...t.edits.map(a=>({kind:"edit",order:a.order,value:a})),...t.subtasks.map(a=>({kind:"subtask",order:a.order,value:a})),...t.research.map(a=>({kind:"research",order:a.order,value:a}))].sort((a,d)=>a.order-d.order)}function Ng(t){return t.kind==="transcript"?`entry-${t.value.id}`:t.kind==="tool"?`tool-${t.value.callId}`:t.kind==="edit"?`edit-${t.order}`:t.kind==="subtask"?`subtask-${t.value.taskId}`:`research-${t.value.packetId}`}function _g(t,r){if(t.kind==="transcript")return i.jsx(Ig,{entry:t.value});if(t.kind==="tool"){const l=r.transcript.find(a=>a.toolActivity?.callId===t.value.callId)?.toolActivity;return i.jsx(bg,{tool:t.value,activity:l})}return t.kind==="edit"?i.jsx(Rg,{edit:t.value}):t.kind==="subtask"?i.jsx(Pg,{subtask:t.value}):i.jsx(Tg,{research:t.value})}function Ig({entry:t}){if(t.toolActivity)return i.jsx(Eg,{entry:t});if(Dg(t))return i.jsxs("details",{className:"reasoning-card",children:[i.jsxs("summary",{children:[i.jsx(Aa,{state:t.live?"running":"ready",describe:!1}),i.jsx("span",{children:t.live?"正在分析":t.title||"推理摘要"}),i.jsx("span",{className:"reasoning-hint",children:"展开查看 Runtime 提供的摘要"})]}),i.jsx(Hs,{children:t.content})]});const r=t.role;return i.jsxs("article",{className:`message-card role-${r}`,"aria-label":Od(r),children:[i.jsxs("header",{children:[i.jsx("span",{className:"message-avatar","aria-hidden":"true",children:Lg(r)}),i.jsx("span",{children:t.title||Od(r)}),t.live?i.jsx("span",{className:"streaming-label",children:"生成中"}):null,t.command?i.jsx("span",{className:`command-state ${t.command.success?"success":"error"}`,children:t.command.success?"成功":"失败"}):null]}),i.jsx("div",{className:"message-body",children:r==="user"?i.jsx("p",{className:"literal-message",children:t.content}):i.jsx(Hs,{children:t.content})}),t.budgetStop?i.jsxs("div",{className:"budget-stop",role:"status",children:[i.jsx(K,{name:"pause",size:15}),i.jsxs("span",{children:[t.budgetStop.reason," · 状态已保留"]})]}):null]})}function bg({tool:t,activity:r}){const l=t.workspaceMutation?.phase==="queued"?`等待工作树写入${t.workspaceMutation.queuePosition?`(第 ${t.workspaceMutation.queuePosition} 位)`:""}`:t.workspaceMutation?.phase==="running"?"正在写入工作树":t.state==="running"?"运行中":t.state==="success"?"完成":t.state==="skipped"?"跳过":"失败",a=r?.outputView?.preview||r?.body||t.error||t.summary;return i.jsxs("article",{className:`tool-card tool-${t.state}`,"aria-label":`工具 ${t.name}:${l}`,children:[i.jsxs("div",{className:"tool-card-header",children:[i.jsx("span",{className:`tool-state-icon ${t.state}`,"aria-hidden":"true",children:t.state==="running"?i.jsx("span",{className:"spinner"}):i.jsx(K,{name:t.state==="success"?"check":t.state==="skipped"?"pause":"warning",size:15})}),i.jsxs("div",{className:"tool-title",children:[i.jsx("strong",{children:t.name}),i.jsxs("span",{children:["#",t.sequence," · ",l,t.duration!==void 0?` · ${Pf(t.duration)}`:""]})]}),t.outputBytes!==void 0?i.jsx("span",{className:"byte-pill",children:zd(t.outputBytes)}):null]}),t.summary||t.error?i.jsx("p",{className:t.error?"tool-error-copy":"tool-summary",children:Gt(t.error||t.summary||"")}):null,i.jsxs("details",{className:"tool-details",open:t.state==="error",children:[i.jsx("summary",{children:"输入与详情"}),i.jsxs("dl",{className:"tool-meta-grid",children:[i.jsxs("div",{children:[i.jsx("dt",{children:"授权"}),i.jsx("dd",{children:t.authorization?`${t.authorization.approved?"允许":"拒绝"} · ${t.authorization.source}`:"等待 Runtime 记录"})]}),t.artifactId?i.jsxs("div",{children:[i.jsx("dt",{children:"产物"}),i.jsx("dd",{children:i.jsx("code",{children:t.artifactId})})]}):null]}),i.jsxs("div",{className:"tool-detail-section",children:[i.jsx("span",{className:"micro-label",children:"参数(已脱敏)"}),i.jsx("pre",{tabIndex:0,children:Ra(t.args)})]}),a?i.jsxs("div",{className:"tool-detail-section",children:[i.jsx("span",{className:"micro-label",children:"输出预览"}),i.jsx("pre",{tabIndex:0,children:Gt(a)}),r?.outputView?.omittedBytes?i.jsxs("p",{className:"truncation-note",children:["另有 ",zd(r.outputView.omittedBytes)," 已折叠,可在 Inspector 中查看产物。"]}):null]}):null]})]})}function Eg({entry:t}){const r=t.toolActivity;return i.jsxs("article",{className:`tool-card tool-${r.state}`,children:[i.jsxs("div",{className:"tool-card-header",children:[i.jsx("span",{className:`tool-state-icon ${r.state}`,"aria-hidden":"true",children:i.jsx(K,{name:"terminal",size:15})}),i.jsxs("div",{className:"tool-title",children:[i.jsx("strong",{children:r.name}),i.jsx("span",{children:r.detail})]})]}),r.summary?i.jsx("p",{className:"tool-summary",children:r.summary}):null,r.outputView?.preview||r.body?i.jsx("pre",{tabIndex:0,children:Gt(r.outputView?.preview||r.body||"")}):null]})}function Rg({edit:t}){const r=t.request;return i.jsxs("article",{className:"edit-card",children:[i.jsxs("header",{children:[i.jsx("span",{className:"edit-icon",children:i.jsx(K,{name:"edit",size:15})}),i.jsxs("div",{children:[i.jsx("strong",{children:"文件修改预览"}),i.jsxs("span",{children:[r.kind," · ",r.candidates.length," 个候选"]})]})]}),i.jsx("code",{className:"path-chip",title:r.path,children:r.path}),i.jsxs("details",{children:[i.jsx("summary",{children:"查看替换内容"}),i.jsx("pre",{tabIndex:0,children:Gt(r.newString)})]})]})}function Pg({subtask:t}){return i.jsxs("details",{className:`activity-card subtask-card state-${t.state}`,children:[i.jsxs("summary",{children:[i.jsx(K,{name:"branch",size:16}),i.jsxs("span",{children:[i.jsx("strong",{children:t.role}),i.jsx("small",{children:t.state})]}),t.durationMs!==void 0?i.jsx("time",{children:Pf(t.durationMs)}):null]}),i.jsx("p",{children:t.objective}),t.summary?i.jsx(Hs,{children:t.summary}):null]})}function Tg({research:t}){return i.jsxs("details",{className:`activity-card research-card state-${t.stage}`,children:[i.jsxs("summary",{children:[i.jsx(K,{name:"search",size:16}),i.jsxs("span",{children:[i.jsx("strong",{children:"Research"}),i.jsxs("small",{children:[t.stage," · ",t.sources.length," sources"]})]})]}),t.objective?i.jsx("p",{children:t.objective}):null,t.conclusion?i.jsx(Hs,{children:t.conclusion}):null,t.sources.length>0?i.jsx("ul",{className:"source-list",children:t.sources.map(r=>i.jsxs("li",{children:[i.jsx(Aa,{state:r.status}),i.jsx("span",{children:r.title||r.location||r.id}),i.jsxs("small",{children:[r.provider," · ",r.status]})]},r.id))}):null]})}function Mg({state:t,actions:r}){const l=t.permission,a=m.useRef(null),d=m.useRef("");m.useEffect(()=>{d.current!==l.id&&(d.current=l.id,a.current?.focus())},[l.id]);const p=!!t.pendingAction||t.connection!=="live"||!vr(t);return i.jsxs("section",{ref:a,className:"approval-card",role:"region","aria-live":"assertive","aria-labelledby":"approval-title","aria-describedby":"approval-reason",tabIndex:-1,children:[i.jsxs("div",{className:"approval-heading",children:[i.jsx("span",{className:"approval-icon",children:i.jsx(K,{name:"warning",size:17})}),i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"需要你的确认"}),i.jsxs("h2",{id:"approval-title",children:["允许 ",l.name,"?"]})]})]}),i.jsx("p",{id:"approval-reason",children:l.reason||"该工具需要在当前权限策略下获得明确授权。"}),i.jsxs("details",{className:"approval-args",children:[i.jsx("summary",{children:"查看脱敏参数"}),i.jsx("pre",{tabIndex:0,children:Ra(l.args,6e3)})]}),i.jsxs("div",{className:"approval-actions",children:[i.jsx("button",{type:"button",className:"danger-ghost-button",onClick:()=>It(r.answerPermission(!1)),disabled:p,children:"拒绝"}),i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>It(r.answerPermission(!0,"once")),disabled:p,children:"仅本次"}),i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>It(r.answerPermission(!0,"project")),disabled:p,children:"允许此项目"}),i.jsx("button",{type:"button",className:"primary-button",onClick:()=>It(r.answerPermission(!0,"global")),disabled:p,children:"始终允许"})]}),i.jsx("p",{className:"approval-footnote",children:"项目与全局授权会写入 Orion 配置;拒绝不会丢失当前会话。"})]})}function $g({state:t,actions:r}){const l=!!t.pendingAction||t.connection!=="live"||!vr(t);return i.jsxs("details",{className:"queue-dock",children:[i.jsxs("summary",{children:[i.jsxs("span",{children:[t.queue.items.length," 条排队消息"]}),i.jsx("span",{children:"执行时采用最新 Composer 控制"})]}),i.jsxs("div",{className:"queue-list",children:[t.queue.items.map((a,d)=>i.jsx(Ag,{item:a,index:d,count:t.queue.items.length,disabled:l,actions:r},a.id)),i.jsx("button",{type:"button",className:"text-button queue-clear",onClick:()=>It(r.clearQueue()),disabled:l,children:"清空队列"})]})]})}function Ag({item:t,index:r,count:l,disabled:a,actions:d}){const[p,h]=m.useState(!1),[g,k]=m.useState(t.text);m.useEffect(()=>k(t.text),[t.text]);const b=async()=>{const T=g.trim();T&&(await d.editQueued(t.id,t.revision,T),h(!1))};return i.jsxs("div",{className:"queue-row",children:[i.jsx("span",{className:"queue-index",children:r+1}),p?i.jsx("textarea",{rows:2,value:g,"aria-label":`编辑排队消息 ${r+1}`,onChange:T=>k(T.target.value)}):i.jsx("p",{children:t.text}),i.jsxs("div",{className:"queue-row-actions",children:[i.jsx("button",{type:"button",className:"icon-button","aria-label":`上移排队消息 ${r+1}`,onClick:()=>It(d.moveQueued(t.id,t.revision,r-1)),disabled:a||r===0,children:i.jsx(K,{name:"arrow-up",size:13})}),i.jsx("button",{type:"button",className:"icon-button queue-move-down","aria-label":`下移排队消息 ${r+1}`,onClick:()=>It(d.moveQueued(t.id,t.revision,r+1)),disabled:a||r===l-1,children:i.jsx(K,{name:"arrow-up",size:13})}),p?i.jsx("button",{type:"button",className:"text-button",onClick:()=>It(b()),disabled:a||!g.trim(),children:"保存"}):i.jsx("button",{type:"button",className:"text-button",onClick:()=>h(!0),disabled:a,children:"编辑"}),i.jsx("button",{type:"button",className:"icon-button","aria-label":`移除排队消息 ${r+1}`,onClick:()=>It(d.removeQueued(t.id,t.revision)),disabled:a,children:i.jsx(K,{name:"trash",size:14})})]})]})}function lo({icon:t,title:r,detail:l,action:a,onAction:d}){return i.jsxs("section",{className:"empty-conversation",children:[i.jsx("div",{className:"empty-orbit",children:i.jsx(K,{name:t,size:26})}),i.jsx("h2",{children:r}),i.jsx("p",{children:l}),a&&d?i.jsx("button",{type:"button",className:"primary-button",onClick:d,children:a}):null]})}function Dg(t){const r=`${t.title??""}`.toLocaleLowerCase();return r.includes("reason")||r.includes("think")||r.includes("analysis")||r.includes("推理")||r.includes("思考")}function Od(t){return t==="user"?"你":t==="assistant"?"Orion":t==="command"?"命令":t==="error"?"错误":t==="system"?"系统":t==="status"?"状态":"工具"}function Lg(t){return t==="user"?"Y":t==="assistant"?"O":t==="error"?"!":t==="command"?"›":"·"}function It(t){t.catch(()=>{})}function Pf(t){return t<1e3?`${Math.round(t)}ms`:t<6e4?`${(t/1e3).toFixed(t<1e4?1:0)}s`:`${Math.floor(t/6e4)}m ${Math.round(t%6e4/1e3)}s`}function zd(t){return t<1024?`${t} B`:t<1048576?`${(t/1024).toFixed(1)} KB`:`${(t/1048576).toFixed(1)} MB`}function Og(t){const r=t.replace(/[\\/]+$/,"");return r.split(/[\\/]/).filter(Boolean).at(-1)??r}function Io({open:t,onClose:r,labelledBy:l,describedBy:a,className:d="",children:p}){const h=m.useRef(null);m.useEffect(()=>{const k=h.current;k&&(t&&!k.open&&k.showModal(),!t&&k.open&&k.close())},[t]);const g=k=>{k.target===k.currentTarget&&r()};return i.jsx("dialog",{ref:h,className:`modal ${d}`.trim(),"aria-labelledby":l,"aria-describedby":a,onCancel:k=>{k.preventDefault(),r()},onClose:r,onClick:g,children:p})}function zg({open:t,onClose:r,state:l,onSelect:a,onLoadMore:d}){const[p,h]=m.useState(""),[g,k]=m.useState(""),[b,T]=m.useState(!1),[N,$]=m.useState(!1);m.useEffect(()=>{t&&(h(""),k(""),T(!1),$(!1))},[t]);const M=!!l.pendingAction||b,q=l.workspaces.slice(0,3),D=l.workspaces.slice(3),O=async F=>{const de=F.trim();if(de){if(de===l.workspace){k("该目录已经是当前工作区。");return}k(""),T(!0);try{await a(de),r()}catch(X){k(X instanceof Error?X.message:"工作区切换失败。")}finally{T(!1)}}},Z=F=>{F.preventDefault(),O(p)};return i.jsxs(Io,{open:t,onClose:r,labelledBy:"workspace-dialog-title",describedBy:"workspace-dialog-description",className:"workspace-modal",children:[i.jsxs("div",{className:"modal-header",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"LOCAL WORKSPACE"}),i.jsx("h2",{id:"workspace-dialog-title",children:"打开或新增项目"}),i.jsx("p",{id:"workspace-dialog-description",children:"选择一个本地目录作为项目;Host 会解析真实路径并拒绝无效目录。"})]}),i.jsx("button",{type:"button",className:"icon-button",onClick:r,"aria-label":"关闭工作区选择",children:i.jsx(K,{name:"close"})})]}),i.jsxs("div",{className:"workspace-options",role:"group","aria-label":"常用工作区",children:[q.map(F=>i.jsx(Fd,{workspace:F,locked:M,onSelect:O},F.id)),D.length>0?i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",className:"text-button workspace-toggle-all","aria-expanded":N,onClick:()=>$(F=>!F),children:N?"收起其他工作区":`其他工作区(${D.length})`}),N?D.map(F=>i.jsx(Fd,{workspace:F,locked:M,onSelect:O},F.id)):null]}):null,l.workspaceNextCursor?i.jsx("button",{type:"button",className:"text-button",onClick:()=>{d()},disabled:M,children:"加载更多工作区"}):null]}),i.jsxs("form",{className:"workspace-path-form",onSubmit:Z,children:[i.jsx("label",{htmlFor:"workspace-path-input",children:"打开其他本地目录"}),i.jsxs("div",{className:"path-input-row",children:[i.jsx("input",{id:"workspace-path-input",value:p,onChange:F=>{h(F.target.value),g&&k("")},placeholder:"/Users/name/project",spellCheck:!1,autoComplete:"off"}),i.jsx("button",{type:"submit",className:"primary-button",disabled:!p.trim()||M,children:b?"打开中…":"打开"})]}),g?i.jsx("p",{className:"field-error",role:"alert",children:g}):null]})]})}function Fd({workspace:t,locked:r,onSelect:l}){return i.jsxs("button",{type:"button",className:`workspace-option ${t.active?"active":""}`,disabled:t.active||!t.available||r,onClick:()=>{l(t.path)},children:[i.jsx("span",{className:"workspace-icon",children:i.jsx(K,{name:"workspace",size:17})}),i.jsxs("span",{children:[i.jsx("strong",{children:t.label||_f(t.path)}),i.jsx("small",{title:t.path,children:t.path})]}),t.active?i.jsx("span",{className:"current-pill",children:"当前"}):t.available?i.jsx(K,{name:"chevron",size:15}):i.jsx("span",{className:"current-pill",children:"不可用"})]})}function Fg({open:t,onClose:r,session:l,pending:a,onRename:d}){const[p,h]=m.useState(""),[g,k]=m.useState(""),b=l?.id;m.useEffect(()=>{t&&l&&(h(gr(l)),k(""))},[t,b]);const T=async N=>{if(N.preventDefault(),!(!l||!p.trim())){k("");try{await d(l.id,p.trim()),r()}catch($){k($ instanceof Error?$.message:"重命名失败,请重试。")}}};return i.jsx(Io,{open:t,onClose:r,labelledBy:"rename-title",className:"rename-modal",children:i.jsxs("form",{onSubmit:T,children:[i.jsxs("header",{className:"modal-header",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"SESSION"}),i.jsx("h2",{id:"rename-title",children:"重命名会话"})]}),i.jsx("button",{type:"button",className:"icon-button",onClick:r,"aria-label":"关闭重命名窗口",children:i.jsx(K,{name:"close"})})]}),i.jsxs("div",{className:"rename-body",children:[i.jsx("label",{htmlFor:"session-name",children:"会话名称"}),i.jsx("input",{id:"session-name",value:p,onChange:N=>{h(N.target.value),g&&k("")},maxLength:120,autoFocus:!0}),g?i.jsx("p",{className:"field-error",role:"alert",children:g}):null]}),i.jsxs("footer",{className:"modal-footer",children:[i.jsx("button",{type:"button",className:"secondary-button",onClick:r,children:"取消"}),i.jsx("button",{type:"submit",className:"primary-button",disabled:a||!p.trim(),children:a?"保存中…":"保存"})]})]})})}const Bd=8;function Bg({open:t,onClose:r,session:l,pending:a,onSave:d}){const[p,h]=m.useState(()=>l?.tags?[...l.tags]:[]),[g,k]=m.useState(""),[b,T]=m.useState(""),N=l?.id;m.useEffect(()=>{t&&l&&(h(l.tags??[]),k(""),T(""))},[t,N]);const $=()=>{const D=g.trim().slice(0,32);if(k(""),!!D&&!p.includes(D)){if(p.length>=Bd){T(`最多 ${Bd} 个标签。`);return}h([...p,D]),T("")}},M=D=>h(p.filter(O=>O!==D)),q=async D=>{if(D.preventDefault(),!!l){T("");try{await d(l.id,p),r()}catch(O){T(O instanceof Error?O.message:"保存标签失败,请重试。")}}};return i.jsx(Io,{open:t,onClose:r,labelledBy:"session-tags-title",className:"tags-modal",children:i.jsxs("form",{onSubmit:q,children:[i.jsxs("header",{className:"modal-header",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"SESSION"}),i.jsx("h2",{id:"session-tags-title",children:"管理会话标签"})]}),i.jsx("button",{type:"button",className:"icon-button",onClick:r,"aria-label":"关闭标签窗口",children:i.jsx(K,{name:"close"})})]}),i.jsxs("div",{className:"session-tags-body",children:[l?i.jsx("p",{className:"modal-description",children:gr(l)}):null,i.jsx("div",{className:"session-tags-chips",role:"list","aria-label":"当前标签",children:p.length===0?i.jsx("span",{className:"session-tags-empty",children:"还没有标签,输入后回车添加。"}):p.map(D=>i.jsxs("span",{className:"session-tag-chip",role:"listitem",children:[D,i.jsx("button",{type:"button",className:"icon-button session-tag-remove","aria-label":`移除标签 ${D}`,onClick:()=>M(D),children:i.jsx(K,{name:"close",size:11})})]},D))}),i.jsx("label",{htmlFor:"session-tag-input",children:"新标签"}),i.jsx("input",{id:"session-tag-input",value:g,onChange:D=>{k(D.target.value),b&&T("")},onKeyDown:D=>{(D.key==="Enter"||D.key===","||D.key===",")&&(D.preventDefault(),$())},placeholder:"回车或逗号添加",maxLength:32,autoFocus:!0}),b?i.jsx("p",{className:"field-error",role:"alert",children:b}):null]}),i.jsxs("footer",{className:"modal-footer",children:[i.jsx("button",{type:"button",className:"secondary-button",onClick:r,children:"取消"}),i.jsx("button",{type:"submit",className:"primary-button",disabled:a,children:a?"保存中…":"保存"})]})]})})}function qg({open:t,onClose:r,session:l,pending:a,onConfirm:d}){const p=async()=>{if(l)try{await d(l.id),r()}catch{}};return i.jsxs(Io,{open:t,onClose:r,labelledBy:"confirm-delete-title",describedBy:"confirm-delete-description",className:"delete-modal",children:[i.jsxs("div",{className:"modal-header",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"SESSION"}),i.jsx("h2",{id:"confirm-delete-title",children:"删除会话"})]}),i.jsx("button",{type:"button",className:"icon-button",onClick:r,"aria-label":"关闭删除确认",children:i.jsx(K,{name:"close"})})]}),i.jsxs("p",{id:"confirm-delete-description",className:"confirm-delete-body",children:["将永久删除会话",i.jsx("strong",{children:l?`「${gr(l)}」`:""}),"及其全部记录(消息、文件变更、目标与检查点)。此操作不可恢复。"]}),i.jsxs("footer",{className:"modal-footer",children:[i.jsx("button",{type:"button",className:"secondary-button",onClick:r,children:"取消"}),i.jsx("button",{type:"button",className:"danger-button",disabled:a,onClick:()=>{p()},children:a?"删除中…":"永久删除"})]})]})}const Wg=["appearance.style","appearance.theme","appearance.motion","defaults.model","defaults.effort","permissions.toolConfirmation"];function vo(t,r){return r==="appearance.style"?t.sections.appearance.style:r==="appearance.theme"?t.sections.appearance.theme:r==="appearance.motion"?t.sections.appearance.motion:r==="defaults.model"?t.sections.defaults.model:r==="defaults.effort"?t.sections.defaults.effort:t.sections.permissions.toolConfirmation}function Ug(t){return{"appearance.style":t.sections.appearance.style.effectiveValue,"appearance.theme":t.sections.appearance.theme.effectiveValue,"appearance.motion":t.sections.appearance.motion.effectiveValue,"defaults.model":t.sections.defaults.model.effectiveValue,"defaults.effort":t.sections.defaults.effort.effectiveValue,"permissions.toolConfirmation":t.sections.permissions.toolConfirmation.effectiveValue}}function hr(t){return{openedAtRevision:t.revision,workspace:t.workspace,base:t,values:Qg(t),intents:{},serverLatest:null}}function Tf(t,r,l){const a=_t(t.base,r),d={...t.values,[r]:l},p={...t.intents};return Object.is(l,a)?delete p[r]:p[r]={op:"set",value:l},{...t,values:d,intents:p,serverLatest:null}}function Mf(t,r){const l=vo(t.base,r),a={...t.intents};return l.explicitValue===void 0?(delete a[r],{...t,values:{...t.values,[r]:_t(t.base,r)},intents:a,serverLatest:null}):(a[r]={op:"unset"},{...t,values:{...t.values,[r]:l.inheritedValue??l.effectiveValue},intents:a,serverLatest:null})}function qd(t,r){return{...t,serverLatest:r}}function Hg(t){const r=t.serverLatest;if(!r)return t;let l=hr(r);for(const a of yr(t)){const d=t.intents[a];if(d){if(d.op==="unset"){l=Mf(l,a);continue}l=Tf(l,a,d.value)}}return l}function yr(t){return Wg.filter(r=>t.intents[r]!==void 0)}function Vg(t){return yr(t).map(r=>{const l=t.intents[r];return l.op==="unset"?{op:"unset",key:r}:{op:"set",key:r,value:l.value}})}function Kg(t){return t.serverLatest?yr(t).filter(r=>{const l=vo(t.base,r),a=vo(t.serverLatest,r);return!Object.is(l.effectiveValue,a.effectiveValue)||!Object.is(l.explicitValue,a.explicitValue)||l.overridden!==a.overridden||l.source!==a.source}):[]}function _t(t,r){const l=vo(t,r);return l.explicitValue??l.effectiveValue}function Qg(t){const r=Ug(t);return{"appearance.style":_t(t,"appearance.style")??r["appearance.style"],"appearance.theme":_t(t,"appearance.theme")??r["appearance.theme"],"appearance.motion":_t(t,"appearance.motion")??r["appearance.motion"],"defaults.model":_t(t,"defaults.model")??r["defaults.model"],"defaults.effort":_t(t,"defaults.effort")??r["defaults.effort"],"permissions.toolConfirmation":_t(t,"permissions.toolConfirmation")??r["permissions.toolConfirmation"]}}const yo={phase:"closed",section:"general",draft:null,message:null,problemCode:null,confirmDiscard:!1};function Gg(t,r){switch(r.type){case"open":return{...yo,phase:"ready",draft:hr(r.document)};case"close":return yo;case"select_section":return{...t,section:r.section,confirmDiscard:!1};case"set_value":return!t.draft||t.phase==="saving"?t:{...t,phase:"ready",draft:Tf(t.draft,r.key,r.value),message:null,problemCode:null,confirmDiscard:!1};case"reset_value":return!t.draft||t.phase==="saving"?t:{...t,phase:"ready",draft:Mf(t.draft,r.key),message:null,problemCode:null,confirmDiscard:!1};case"save_started":return{...t,phase:"saving",message:"正在原子应用设置…",problemCode:null,confirmDiscard:!1};case"save_succeeded":return{...t,phase:"success",draft:hr(r.document),message:"设置已安全保存并应用。",problemCode:null,confirmDiscard:!1};case"save_failed":{if(!t.draft)return t;const l=r.code==="settings_revision_conflict";return{...t,phase:l?"conflict":"rejected",draft:r.latest?qd(t.draft,r.latest):t.draft,message:r.message,problemCode:r.code,confirmDiscard:!1}}case"server_updated":{if(!t.draft)return{...t,phase:"ready",draft:hr(r.document)};if(t.phase==="saving")return t;if(t.draft.base.revision===r.document.revision){const l=yr(t.draft).length>0;return{...t,draft:l?{...t.draft,base:r.document}:hr(r.document)}}return t.draft.workspace!==r.document.workspace||yr(t.draft).length===0?{...t,phase:"ready",draft:hr(r.document),message:"已采用 Host 的最新设置。",problemCode:null,confirmDiscard:!1}:{...t,phase:"conflict",draft:qd(t.draft,r.document),message:"Host 设置已更新。你的草稿仍被保留,请选择如何继续。",problemCode:"settings_revision_conflict",confirmDiscard:!1}}case"adopt_server":return t.draft?.serverLatest?{...t,phase:"ready",draft:hr(t.draft.serverLatest),message:"已采用服务器最新值。",problemCode:null}:t;case"rebase":return t.draft?.serverLatest?{...t,phase:"ready",draft:Hg(t.draft),message:"草稿已基于服务器最新值重放;请确认后再次应用。",problemCode:null}:t;case"request_discard":return{...t,confirmDiscard:!0};case"cancel_discard":return{...t,confirmDiscard:!1};case"clear_status":return{...t,phase:"ready",message:null,problemCode:null}}}const Yg=["auto","none","minimal","low","medium","high","xhigh","max"],Xg=[{id:"general",label:"General",icon:"settings"},{id:"models",label:"Models & Reasoning",icon:"spark"},{id:"permissions",label:"Permissions",icon:"warning"},{id:"advanced",label:"Advanced",icon:"diagnostics"}];function Jg({open:t,onClose:r,state:l,actions:a,onGoToSessionControls:d}){const p=m.useRef(null),h=m.useRef(null),g=m.useRef(null),k=m.useRef(null),b=m.useRef(null),T=m.useRef(!1),N=m.useRef(null),$=m.useRef(yo.phase),[M,q]=m.useReducer(Gg,yo),[D,O]=m.useState(!1),[Z,F]=m.useState(!1),[de,X]=m.useState(null),ue=l.settings??l.settingsMirror.lastGood,I=ue&&(!l.workspace||ue.workspace===l.workspace)?ue:null;m.useEffect(()=>{const Q=p.current;Q&&(t&&!Q.open&&Q.showModal(),!t&&Q.open&&Q.close())},[t]),m.useEffect(()=>{if(t&&!T.current)I&&(q({type:"open",document:I}),b.current=I),O(!1),F(!1),X(null);else if(t&&I&&b.current===null)q({type:"open",document:I}),b.current=I;else if(t&&I&&b.current!==null&&b.current!==I){if(M.phase==="saving")return;b.current=I,q({type:"server_updated",document:I})}else!t&&T.current&&(q({type:"close"}),b.current=null,N.current=null);T.current=t},[I,M.phase,t]),m.useEffect(()=>{M.confirmDiscard&&g.current?.focus()},[M.confirmDiscard]),m.useEffect(()=>{const Q=$.current;if($.current=M.phase,!t||Q!=="saving"||M.phase!=="success")return;const me=Vd();p.current?.contains(me)||h.current?.focus()},[M.phase,t]),m.useEffect(()=>{!t||I||l.settingsMirror.status==="loading"||a.refreshSettings().catch(()=>{})},[a,I,t,l.settingsMirror.status]),m.useEffect(()=>{!t||!M.draft||!l.workspace||M.draft.workspace!==l.workspace&&(q({type:"close"}),b.current=null)},[M.draft,t,l.workspace]);const R=M.draft,ne=R?yr(R):[],J=ne.length>0,je=l.processing&&ne.some(Q=>["defaults.effort","permissions.toolConfirmation"].includes(Q)),Ne=()=>{if(M.phase!=="saving"){if(J){const Q=Vd();k.current=Q instanceof HTMLElement?Q:null,q({type:"request_discard"});return}q({type:"close"}),r()}},Re=()=>{q({type:"close"}),r()},W=async Q=>{if(Q.preventDefault(),!R||!J||M.phase==="saving"||M.phase==="conflict")return;const me=Vg(R),ve=N.current??Qe();N.current=ve,q({type:"save_started"});try{const H=await a.updateSettings(R.base.revision,me,ve);N.current=null,b.current=H.settings,q({type:"save_succeeded",document:H.settings})}catch(H){const te=H instanceof _e?H.code??"settings_rejected":"network";let G;te==="settings_revision_conflict"?(N.current=null,G=await a.refreshSettings().catch(()=>{}),G&&(b.current=G)):H instanceof _e&&H.status<500&&(N.current=null);const w=te==="settings_revision_conflict"&&!G?"settings_recovery_required":te;q({type:"save_failed",code:w,message:ov(w,H),...G?{latest:G}:{}})}},we=Q=>{Q.target===Q.currentTarget&&Ne()};return i.jsx("dialog",{id:"settings-dialog",ref:p,className:"modal settings-modal","aria-modal":"true","aria-labelledby":"settings-title","aria-describedby":"settings-description",onCancel:Q=>{Q.preventDefault(),Ne()},onClick:we,children:i.jsxs("form",{onSubmit:W,children:[i.jsxs("header",{className:"modal-header settings-header",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"HOST SETTINGS"}),i.jsx("h2",{id:"settings-title",children:"设置"}),i.jsx("p",{id:"settings-description",children:"由本地 Host 读取、校验并原子保存。"})]}),i.jsx("button",{ref:h,type:"button",className:"icon-button",onClick:Ne,"aria-label":"关闭设置",disabled:M.phase==="saving",children:i.jsx(K,{name:"close"})})]}),i.jsxs("div",{className:"settings-layout",children:[i.jsx("nav",{className:"settings-navigation","aria-label":"设置类别",children:Xg.map(Q=>i.jsxs("button",{type:"button",className:M.section===Q.id?"active":"","aria-current":M.section===Q.id?"page":void 0,onClick:()=>q({type:"select_section",section:Q.id}),children:[i.jsx(K,{name:Q.icon,size:16}),i.jsx("span",{children:Q.label})]},Q.id))}),i.jsxs("div",{className:"settings-content",children:[i.jsx(sv,{state:l}),R?i.jsxs(i.Fragment,{children:[M.phase==="conflict"?i.jsx(iv,{draft:R,onAdopt:()=>{N.current=null,q({type:"adopt_server"})},onRebase:()=>{N.current=null,q({type:"rebase"})}}):null,M.message&&M.phase!=="conflict"?i.jsxs("div",{className:`settings-inline-message settings-message-${M.phase}`,role:M.phase==="rejected"?"alert":"status","aria-live":M.phase==="rejected"?"assertive":"polite",children:[i.jsx(K,{name:M.phase==="success"?"check":"info",size:16}),i.jsx("span",{children:M.message})]}):null,M.section==="general"?i.jsx(Zg,{document:R.base,draft:R.values,dirtyKeys:ne,saving:M.phase==="saving",onSet:(Q,me)=>q({type:"set_value",key:Q,value:me}),onReset:Q=>q({type:"reset_value",key:Q})}):null,M.section==="models"?i.jsx(nv,{document:R.base,draft:R.values,dirtyKeys:ne,runtimeBusy:l.processing,saving:M.phase==="saving",onGoToSessionControls:d,onSet:(Q,me)=>q({type:"set_value",key:Q,value:me}),onReset:Q=>q({type:"reset_value",key:Q})}):null,M.section==="permissions"?i.jsx(tv,{document:R.base,value:R.values["permissions.toolConfirmation"],dirtyKeys:ne,runtimeBusy:l.processing,saving:M.phase==="saving",confirmAllow:D,allowAcknowledged:Z,onAllowRequested:()=>{F(!1),O(!0)},onAllowAcknowledged:F,onConfirmAllow:()=>{q({type:"set_value",key:"permissions.toolConfirmation",value:"allow"}),O(!1),F(!1)},onCancelAllow:()=>{O(!1),F(!1)},onSet:Q=>q({type:"set_value",key:"permissions.toolConfirmation",value:Q}),onReset:()=>q({type:"reset_value",key:"permissions.toolConfirmation"})}):null,M.section==="advanced"?i.jsx(rv,{state:l,document:R.base,documentAction:de,onOpenDocument:()=>{X({tone:"status",message:"正在请求 Host 打开设置文件…"}),a.openSettingsDocument().then(()=>X({tone:"status",message:"已交给系统默认编辑器打开。"})).catch(Q=>X({tone:"error",message:Q instanceof Error?Q.message:"无法打开设置文件。"}))},onRefresh:()=>{X({tone:"status",message:"正在重新载入 Host 设置…"}),a.refreshSettings().then(()=>X({tone:"status",message:"已载入最新设置。"})).catch(Q=>X({tone:"error",message:Q instanceof Error?Q.message:"重新载入失败。"}))}}):null]}):i.jsxs("section",{className:"settings-empty","aria-live":"polite",children:[i.jsx(K,{name:"refresh"}),i.jsx("h3",{children:"正在读取设置"}),i.jsx("p",{children:"等待本地 Host 返回可验证的设置快照。"})]})]})]}),M.confirmDiscard?i.jsxs("div",{className:"settings-discard-confirm",role:"alertdialog","aria-labelledby":"settings-discard-title","aria-describedby":"settings-discard-description",children:[i.jsxs("div",{children:[i.jsx("strong",{id:"settings-discard-title",children:"放弃未应用的更改?"}),i.jsxs("p",{id:"settings-discard-description",children:["你的 ",ne.length," 项草稿尚未写入 Host。"]})]}),i.jsxs("div",{children:[i.jsx("button",{ref:g,type:"button",className:"secondary-button",onClick:()=>{q({type:"cancel_discard"});const Q=k.current;requestAnimationFrame(()=>Q?.focus())},children:"继续编辑"}),i.jsx("button",{type:"button",className:"danger-ghost-button",onClick:Re,children:"放弃更改"})]})]}):null,i.jsxs("footer",{className:"modal-footer settings-footer",children:[i.jsx("span",{className:"settings-dirty-summary","aria-live":"polite",children:J?`${ne.length} 项未应用`:"没有未应用的更改"}),i.jsx("button",{type:"button",className:"secondary-button",onClick:Ne,disabled:M.phase==="saving",children:"取消"}),i.jsx("button",{type:"submit",className:"primary-button",disabled:!R||!J||M.phase==="saving"||M.phase==="conflict"||je||R.base.state!=="ready"||!R.base.writable,children:M.phase==="saving"?"应用中…":`应用 ${ne.length} 项`})]})]})})}function Zg({document:t,draft:r,dirtyKeys:l,saving:a,onSet:d,onReset:p}){const h=t.sections.appearance.style,g=t.sections.appearance.theme,k=t.sections.appearance.motion;return i.jsxs(bo,{heading:"通用",detail:"外观偏好由 Host 保存,并在所有 Workbench 窗口保持一致。",children:[i.jsx(es,{id:"settings-style",label:"视觉风格",description:"选择内置的方块工坊外观,或切回经典工作台。",field:h,dirty:l.includes("appearance.style"),onReset:()=>p("appearance.style"),disabled:a||!st(t,h),children:i.jsxs("select",{id:"settings-style",value:r["appearance.style"],disabled:a||!st(t,h),onChange:b=>d("appearance.style",b.target.value),children:[i.jsx("option",{value:"orion-blocksmith",children:"方块工坊(内置,默认)"}),i.jsx("option",{value:"classic",children:"经典"})]})}),i.jsx(es,{id:"settings-theme",label:"主题",description:"跟随系统或固定使用浅色、深色。",field:g,dirty:l.includes("appearance.theme"),onReset:()=>p("appearance.theme"),disabled:a||!st(t,g),children:i.jsxs("select",{id:"settings-theme",value:r["appearance.theme"],disabled:a||!st(t,g),onChange:b=>d("appearance.theme",b.target.value),children:[i.jsx("option",{value:"system",children:"跟随系统"}),i.jsx("option",{value:"dark",children:"深色"}),i.jsx("option",{value:"light",children:"浅色"})]})}),i.jsxs("figure",{className:"appearance-preview","data-preview-style":r["appearance.style"],"data-preview-theme":r["appearance.theme"],"aria-label":`外观预览:${r["appearance.style"]==="orion-blocksmith"?"方块工坊":"经典工作台"},${ev(r["appearance.theme"])}`,children:[i.jsxs("div",{className:"appearance-preview-frame","aria-hidden":"true",children:[i.jsx("span",{className:"appearance-preview-rail"}),i.jsxs("span",{className:"appearance-preview-main",children:[i.jsx("i",{}),i.jsx("i",{})]}),i.jsx("span",{className:"appearance-preview-panel"})]}),i.jsx("figcaption",{children:"纯 CSS 预览 · 均为内置外观,不支持安装或卸载。"})]}),i.jsx(es,{id:"settings-motion",label:"动效",description:"减少非必要动画,保留状态变化。",field:k,dirty:l.includes("appearance.motion"),onReset:()=>p("appearance.motion"),disabled:a||!st(t,k),children:i.jsxs("select",{id:"settings-motion",value:r["appearance.motion"],disabled:a||!st(t,k),onChange:b=>d("appearance.motion",b.target.value),children:[i.jsx("option",{value:"system",children:"跟随系统"}),i.jsx("option",{value:"reduced",children:"减少动效"})]})})]})}function ev(t){return t==="light"?"浅色":t==="dark"?"深色":"跟随系统"}function nv({document:t,draft:r,dirtyKeys:l,saving:a,runtimeBusy:d,onSet:p,onReset:h,onGoToSessionControls:g}){const k=t.sections.defaults.model,b=t.sections.defaults.effort,T=t.models.some(N=>N.id===r["defaults.model"])?t.models:[{id:r["defaults.model"],label:r["defaults.model"]},...t.models];return i.jsxs(bo,{heading:"模型与推理",detail:"项目默认值通常从下一逻辑请求开始生效;当前会话覆盖保持可见。",children:[d?i.jsx($f,{detail:"当前回合正在运行;项目推理强度暂时锁定,默认模型仍可用于新会话。"}):null,i.jsx(es,{id:"settings-model",label:"默认模型",description:"仅展示 Host 提供的可用模型标识。",field:k,dirty:l.includes("defaults.model"),onReset:()=>h("defaults.model"),disabled:a||!st(t,k),children:i.jsx("select",{id:"settings-model",value:r["defaults.model"],disabled:a||!st(t,k),onChange:N=>p("defaults.model",N.target.value),children:T.map(N=>i.jsxs("option",{value:N.id,children:[N.label,N.provider?` · ${N.provider}`:""]},N.id))})}),i.jsx(es,{id:"settings-effort",label:"默认推理强度",description:"模型不支持的强度会由 Host 拒绝,不会静默降级。",field:b,dirty:l.includes("defaults.effort"),onReset:()=>h("defaults.effort"),disabled:a||d||!st(t,b),children:i.jsx("select",{id:"settings-effort",value:r["defaults.effort"],disabled:a||d||!st(t,b),onChange:N=>p("defaults.effort",N.target.value),children:Yg.map(N=>i.jsx("option",{value:N,children:N==="auto"?"Auto":N},N))})}),t.currentSession?i.jsxs("div",{className:"settings-readonly-card","aria-label":"当前会话设置",children:[i.jsxs("div",{children:[i.jsx("span",{children:"当前会话"}),i.jsx("strong",{children:t.currentSession.model})]}),i.jsxs("div",{children:[i.jsx("span",{children:"Effort"}),i.jsx("strong",{children:t.currentSession.effort})]}),i.jsx("p",{children:t.currentSession.overridesProjectEffort?"当前会话覆盖了项目推理强度。":"当前会话沿用项目默认值。"}),i.jsx("small",{children:"可在会话输入框使用 /model 或 /effort 调整当前会话。"}),i.jsx("button",{type:"button",className:"text-button",onClick:g,"aria-controls":"orion-composer",children:"转到会话控制"})]}):null,i.jsxs("div",{className:"credential-note",children:[i.jsx(K,{name:"check",size:16}),i.jsxs("div",{children:[i.jsx("strong",{children:"凭证始终留在 Host"}),i.jsx("p",{children:"浏览器只接收 ready / missing / unavailable 状态,不提供 API Key 输入框。"})]})]})]})}function tv({document:t,value:r,dirtyKeys:l,runtimeBusy:a,saving:d,confirmAllow:p,allowAcknowledged:h,onAllowRequested:g,onAllowAcknowledged:k,onConfirmAllow:b,onCancelAllow:T,onSet:N,onReset:$}){const M=m.useRef(null),q=m.useRef(null),D=t.sections.permissions.toolConfirmation,O=d||a||!st(t,D);return m.useEffect(()=>{p&&q.current?.focus()},[p]),i.jsxs(bo,{heading:"权限",detail:"默认确认策略不改变工作区边界、硬拒绝和高风险保护。",children:[a?i.jsx($f,{}):null,i.jsx(es,{id:"settings-tool-confirmation",label:"工具确认",description:"Ask 逐次询问;Deny 默认拒绝;Allow 仍受 Host 安全策略约束。",field:D,labelControl:!1,dirty:l.includes("permissions.toolConfirmation"),onReset:$,disabled:O,children:i.jsxs("fieldset",{id:"settings-tool-confirmation",className:"segmented-field",disabled:O,children:[i.jsx("legend",{className:"sr-only",children:"默认工具确认策略"}),["ask","allow","deny"].map(Z=>i.jsxs("label",{children:[i.jsx("input",{ref:Z==="allow"?M:void 0,type:"radio",name:"settings-permission",value:Z,checked:r===Z,onChange:()=>Z==="allow"?g():N(Z)}),i.jsx("span",{children:Z==="ask"?"Ask":Z==="allow"?"Allow":"Deny"})]},Z))]})}),p?i.jsxs("div",{className:"settings-risk-confirm",role:"alertdialog","aria-labelledby":"allow-confirm-title","aria-describedby":"allow-confirm-description",children:[i.jsx("strong",{id:"allow-confirm-title",children:"确认启用 Allow"}),i.jsx("p",{id:"allow-confirm-description",children:"Orion 会减少常规工具询问,但硬拒绝、工作区边界和风险检查仍然生效。"}),i.jsxs("label",{children:[i.jsx("input",{ref:q,type:"checkbox",checked:h,onChange:Z=>k(Z.target.checked)}),i.jsx("span",{children:"我理解这会扩大默认授权范围"})]}),i.jsxs("div",{children:[i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>{T(),requestAnimationFrame(()=>M.current?.focus())},children:"保持当前策略"}),i.jsx("button",{type:"button",className:"primary-button",disabled:!h,onClick:b,children:"启用 Allow"})]})]}):null,i.jsx("p",{className:"settings-help",children:"Agent 的 BUILD / PLAN / AUTO 模式与工具确认策略互相独立。"})]})}function rv({state:t,document:r,documentAction:l,onOpenDocument:a,onRefresh:d}){return i.jsxs(bo,{heading:"高级",detail:"配置状态、凭证可用性和集成清单均为只读摘要。",children:[r.diagnostic?i.jsxs("div",{className:"settings-diagnostic",role:"alert",children:[i.jsx(K,{name:"warning",size:16}),i.jsxs("div",{children:[i.jsx("strong",{children:Gt(r.diagnostic.code)}),i.jsx("p",{children:Gt(r.diagnostic.message)})]})]}):null,i.jsxs("dl",{className:"settings-facts",children:[i.jsxs("div",{children:[i.jsx("dt",{children:"状态"}),i.jsx("dd",{children:pv(r.state)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"工作区"}),i.jsx("dd",{title:"仅显示目录名",children:_f(r.workspace)||"—"})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"文档"}),i.jsx("dd",{children:r.hasDocument?"已创建":"尚未创建"})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"版本"}),i.jsx("dd",{title:r.revision,children:Ud(r.revision)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"Last good"}),i.jsx("dd",{children:t.settingsMirror.lastGood?Ud(t.settingsMirror.lastGood.revision):"无"})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"Mirror"}),i.jsxs("dd",{children:[t.settingsMirror.status," · g",t.settingsMirror.generation]})]})]}),i.jsxs("div",{className:"settings-advanced-actions",children:[i.jsxs("button",{type:"button",className:"secondary-button",onClick:d,children:[i.jsx(K,{name:"refresh",size:15}),"重新载入设置"]}),i.jsxs("button",{type:"button",className:"secondary-button",onClick:a,children:[i.jsx(K,{name:"edit",size:15}),"打开配置文件"]})]}),l?i.jsx("div",{className:`settings-document-action ${l.tone}`,role:l.tone==="error"?"alert":"status",children:l.message}):null,i.jsxs("section",{className:"settings-subsection","aria-labelledby":"credential-status-heading",children:[i.jsx("h4",{id:"credential-status-heading",children:"凭证状态"}),i.jsx("p",{children:"仅显示来源类别与可用性;密钥值、环境变量名和认证头不会进入浏览器。"}),r.credentials.length?i.jsx("ul",{className:"settings-readonly-list",children:r.credentials.map(p=>i.jsxs("li",{children:[i.jsx("span",{children:p.providerId}),i.jsx("span",{className:`settings-state-badge state-${p.state}`,children:p.state}),i.jsx("small",{children:fv(p.source)})]},p.providerId))}):i.jsx("p",{className:"settings-empty-line",children:"Host 未报告凭证槽位。"})]}),i.jsxs("section",{className:"settings-subsection","aria-labelledby":"integration-status-heading",children:[i.jsx("h4",{id:"integration-status-heading",children:"只读能力"}),i.jsx("p",{children:"Skills 与 MCP 在专用配置中管理,此处用于确认 Host 实际加载结果。"}),i.jsxs("div",{className:"settings-capability-grid",children:[i.jsx(Wd,{title:"Skills",count:t.skills.length,names:t.skills.map(p=>p.name)}),i.jsx(Wd,{title:"MCP",count:t.mcpServers.length,names:t.mcpServers.map(p=>p.name)})]})]})]})}function sv({state:t}){const{settingsMirror:r}=t;return r.status==="loading"?i.jsxs("div",{className:"settings-availability",role:"status",children:[i.jsx(K,{name:"refresh",size:15})," 正在与 Host 同步设置…"]}):r.error?i.jsxs("div",{className:"settings-availability error",role:"alert",children:[i.jsx(K,{name:"warning",size:15})," 设置同步失败:",r.error," 当前显示上一次可用值。"]}):r.stale?i.jsxs("div",{className:"settings-availability",role:"status",children:[i.jsx(K,{name:"refresh",size:15})," Host 已更新设置,正在载入;当前显示上一次可用值。"]}):r.document?.state==="invalid"?i.jsxs("div",{className:"settings-availability error",role:"alert",children:[i.jsx(K,{name:"warning",size:15})," 设置文档无效。控件已锁定,并保留上一次可用值供参考。"]}):r.document?.state==="read-only"?i.jsxs("div",{className:"settings-availability",role:"status",children:[i.jsx(K,{name:"info",size:15})," 设置当前为只读状态。"]}):r.document?.state==="unavailable"?i.jsxs("div",{className:"settings-availability error",role:"alert",children:[i.jsx(K,{name:"warning",size:15})," Host 设置暂不可用;当前显示上一次可用值。"]}):null}function bo({heading:t,detail:r,children:l}){return i.jsxs("section",{className:"settings-section","aria-labelledby":`settings-${Hd(t)}-heading`,children:[i.jsxs("header",{className:"settings-section-heading",children:[i.jsx("h3",{id:`settings-${Hd(t)}-heading`,children:t}),i.jsx("p",{children:r})]}),i.jsx("div",{className:"settings-section-fields",children:l})]})}function es({id:t,label:r,description:l,field:a,labelControl:d=!0,dirty:p,disabled:h,onReset:g,children:k}){return i.jsxs("div",{className:`settings-field-card ${p?"dirty":""}`,children:[i.jsxs("div",{className:"settings-field-copy",children:[d?i.jsx("label",{htmlFor:t,children:r}):i.jsx("strong",{children:r}),i.jsx("p",{children:l}),i.jsxs("div",{className:"settings-field-meta","aria-label":`${r} 设置来源`,children:[i.jsx("span",{children:lv(a.source)}),i.jsx("span",{children:av(a.scope)}),i.jsx("span",{children:cv(a.applies)}),p?i.jsx("strong",{children:"草稿"}):null]}),a.blockedReason?i.jsx("small",{className:"settings-blocked-reason",children:uv(a.blockedReason)}):null]}),i.jsxs("div",{className:"settings-field-control",children:[k,i.jsx("button",{type:"button",className:"text-button",onClick:g,disabled:h||a.explicitValue===void 0&&!p,"aria-label":`重置${r}为继承值`,children:"重置"})]})]})}function iv({draft:t,onAdopt:r,onRebase:l}){const a=Kg(t),d=yr(t),p=t.serverLatest;return i.jsxs("div",{className:"settings-conflict",role:"alert",children:[i.jsx(K,{name:"warning",size:17}),i.jsxs("div",{children:[i.jsx("strong",{children:"Host 设置已在其他位置更新"}),i.jsxs("p",{children:["草稿仍被保留",a.length?`;${a.length} 个草稿字段的服务器值发生变化`:"","。"]}),p?i.jsxs("div",{className:"settings-conflict-values","aria-label":"服务器值与我的草稿",children:[i.jsxs("div",{className:"settings-conflict-value-heading","aria-hidden":"true",children:[i.jsx("span",{children:"字段"}),i.jsx("span",{children:"服务器最新值"}),i.jsx("span",{children:"我的草稿"})]}),d.map(h=>i.jsxs("div",{children:[i.jsx("strong",{children:dv(h)}),i.jsx("span",{"data-label":"服务器最新值",children:String(_t(p,h))}),i.jsxs("span",{"data-label":"我的草稿",children:[String(t.values[h]),t.intents[h]?.op==="unset"?"(重置)":""]})]},h))]}):null,i.jsxs("div",{children:[i.jsx("button",{type:"button",className:"secondary-button",onClick:r,children:"采用服务器值"}),i.jsx("button",{type:"button",className:"primary-button",onClick:l,children:"基于最新值重试"})]})]})]})}function $f({detail:t="当前回合正在运行;相关设置会在 Runtime 空闲后解锁。"}={}){return i.jsxs("div",{className:"settings-busy",role:"status",children:[i.jsx(K,{name:"activity",size:15})," ",t]})}function Wd({title:t,count:r,names:l}){return i.jsxs("div",{className:"settings-capability-card",children:[i.jsx("span",{children:t}),i.jsx("strong",{children:r}),i.jsx("small",{children:l.slice(0,3).join(" · ")||"未加载"})]})}function st(t,r){return t.state==="ready"&&t.writable&&r.writable&&!r.blockedReason}function ov(t,r){const l=r instanceof Error?r.message:"Host 拒绝了设置变更。";switch(t){case"settings_revision_conflict":return"设置已在其他位置更新。你的草稿没有丢失。";case"runtime_busy":return"Runtime 正在处理任务。请等待当前回合结束后再次应用。";case"settings_document_invalid":return"配置文件无效。请在高级页查看 Host 提供的安全诊断。";case"settings_write_forbidden":return"当前设置来源为只读,Host 未执行任何变更。";case"request_id_conflict":return"保存请求标识与先前内容冲突,请重新应用。";case"settings_recovery_required":return"Host 报告设置冲突,但最新设置暂时无法载入。草稿已保留,请重新载入后再试。";case"network":return"未能确认 Host 是否收到请求;保留草稿,可安全重试。";default:return l}}function lv(t){return`来源:${t==="internal"?"内置":t==="model"?"模型":t==="global"?"全局":t==="project"?"项目":"会话"}`}function av(t){return`作用域:${t==="global"?"全局":t==="project"?"项目":"会话"}`}function cv(t){return`生效:${t==="live"?"立即":t==="next-logical-request"?"下次请求":t==="new-session"?"新会话":"重启后"}`}function uv(t){return t==="runtime_busy"?"Runtime 正在运行,暂不可修改。":t==="read_only"?"此字段来自只读配置。":"设置文档无效,修复前不可修改。"}function dv(t){return t==="appearance.style"?"视觉风格":t==="appearance.theme"?"主题":t==="appearance.motion"?"动效":t==="defaults.model"?"默认模型":t==="defaults.effort"?"默认推理强度":"工具确认"}function fv(t){return t==="environment"?"环境提供":t==="legacy"?"Host 旧配置":"未配置"}function pv(t){return t==="ready"?"可用":t==="invalid"?"无效":t==="read-only"?"只读":"不可用"}function Ud(t){return t.length>24?`${t.slice(0,20)}…`:t}function Hd(t){return t.replace(/[^a-z0-9]+/gi,"-").replace(/^-|-$/g,"").toLowerCase()||"section"}function Vd(){return typeof document>"u"?null:document.activeElement}const hv=["导航","面板","编辑","浮层"],Af=Object.freeze([{id:"toggle-project-navigation",tokens:["Mod","B"],group:"导航",description:"展开或折叠项目导航"},{id:"toggle-work-panel",tokens:["Mod","Shift","B"],group:"导航",description:"展开或折叠右侧工作面板"},{id:"focus-work-panel-1",tokens:["Mod","Shift","1"],group:"面板",description:"切换到 Agent 面板"},{id:"focus-work-panel-2",tokens:["Mod","Shift","2"],group:"面板",description:"切换到审阅面板"},{id:"focus-work-panel-3",tokens:["Mod","Shift","3"],group:"面板",description:"切换到终端面板"},{id:"focus-work-panel-4",tokens:["Mod","Shift","4"],group:"面板",description:"切换到文件面板"},{id:"focus-work-panel-5",tokens:["Mod","Shift","5"],group:"面板",description:"切换到 Git 面板"},{id:"work-panel-tab-nav",tokens:["←","→"],group:"面板",description:"在面板标签之间移动(Home / End 跳到首尾)"},{id:"resize-panel",tokens:["←","→"],group:"面板",description:"聚焦分隔条后按 2% 步长调整宽度,配合 Shift 为 10%"},{id:"resize-panel-reset",tokens:["Enter"],group:"面板",description:"分隔条聚焦时恢复默认宽度(Home 最窄,End 最宽)"},{id:"submit-composer",tokens:["Enter"],group:"编辑",description:"在输入框中发送当前内容"},{id:"newline-composer",tokens:["Shift","Enter"],group:"编辑",description:"在输入框中插入换行而不发送"},{id:"force-submit-composer",tokens:["Mod","Enter"],group:"编辑",description:"Agent 运行中时立即提交(否则进入队列)"},{id:"project-tree-nav",tokens:["↑","↓"],group:"面板",description:"在项目与会话树中移动焦点"},{id:"close-overlay",tokens:["Esc"],group:"浮层",description:"关闭抽屉、对话框或快捷键面板"},{id:"open-shortcut-help",tokens:["Mod","/"],group:"浮层",description:"打开或关闭本快捷键面板"}]);function mv(){if(typeof navigator>"u")return!1;const t=navigator.platform??"";return/mac|iphone|ipad|ipod/i.test(t)||/Mac/i.test(navigator.userAgent??"")}function gv(t,r=mv()){return t.map(a=>a==="Mod"?r?"⌘":"Ctrl":a==="Shift"?r?"⇧":"Shift":a==="Alt"?r?"⌥":"Alt":a.toUpperCase()).join(r?" ":"+")}function xo(t,r){let l=!1,a=!1,d=!1,p=null;for(const b of r)b==="Mod"?l=!0:b==="Shift"?a=!0:b==="Alt"?d=!0:p=b;if(l!==(t.metaKey||t.ctrlKey)||a!==t.shiftKey||d!==t.altKey||p===null)return!1;const h=t.code??"";if(/^[a-z]$/i.test(p))return h===`Key${p.toUpperCase()}`;if(/^[0-9]$/.test(p))return h===`Digit${p}`;const k=Object.freeze({esc:"escape"})[p.toLowerCase()]??p.toLowerCase();return t.key.toLowerCase()===k}function wo(t){return Af.find(r=>r.id===t)}function vv(){return hv.map(t=>({group:t,items:Af.filter(r=>r.group===t)})).filter(t=>t.items.length>0)}function yv({open:t,onClose:r}){const l=m.useRef(null),a="shortcut-help-title";m.useEffect(()=>{const h=l.current;h&&(t&&!h.open&&h.showModal(),!t&&h.open&&h.close())},[t]);const d=h=>{h.target===h.currentTarget&&r()},p=vv();return i.jsxs("dialog",{ref:l,id:"shortcut-help",className:"modal shortcut-help","aria-labelledby":a,onCancel:h=>{h.preventDefault(),r()},onClose:r,onClick:d,children:[i.jsxs("header",{className:"shortcut-help-header",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"KEYBOARD"}),i.jsx("h2",{id:a,children:"键盘快捷键"})]}),i.jsx("button",{type:"button",className:"icon-button",onClick:r,"aria-label":"关闭快捷键面板",children:i.jsx(K,{name:"close",size:15})})]}),i.jsx("div",{className:"shortcut-help-body",children:p.map(({group:h,items:g})=>i.jsxs("section",{className:"shortcut-help-group",children:[i.jsx("h3",{children:h}),i.jsx("dl",{children:g.map(k=>i.jsxs("div",{className:"shortcut-row",children:[i.jsx("dt",{children:k.description}),i.jsx("dd",{children:i.jsx("kbd",{children:gv(k.tokens)})})]},k.id))})]},h))}),i.jsx("footer",{className:"shortcut-help-footer",children:i.jsxs("p",{children:["按 ",i.jsx("kbd",{children:"Esc"})," 关闭本面板,焦点会回到打开它的位置。"]})})]})}const xv="modulepreload",wv=function(t){return"/"+t},Kd={},Eo=function(r,l,a){let d=Promise.resolve();if(l&&l.length>0){let k=function(b){return Promise.all(b.map(T=>Promise.resolve(T).then(N=>({status:"fulfilled",value:N}),N=>({status:"rejected",reason:N}))))};document.getElementsByTagName("link");const h=document.querySelector("meta[property=csp-nonce]"),g=h?.nonce||h?.getAttribute("nonce");d=k(l.map(b=>{if(b=wv(b),b in Kd)return;Kd[b]=!0;const T=b.endsWith(".css"),N=T?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${b}"]${N}`))return;const $=document.createElement("link");if($.rel=T?"stylesheet":xv,T||($.as="script"),$.crossOrigin="",$.href=b,g&&$.setAttribute("nonce",g),document.head.appendChild($),T)return new Promise((M,q)=>{$.addEventListener("load",M),$.addEventListener("error",()=>q(new Error(`Unable to preload CSS for ${b}`)))})}))}function p(h){const g=new Event("vite:preloadError",{cancelable:!0});if(g.payload=h,window.dispatchEvent(g),!g.defaultPrevented)throw h}return d.then(h=>{for(const g of h||[])g.status==="rejected"&&p(g.reason);return r().catch(p)})},fr=[{id:"goal",label:"Goal",icon:"goal"},{id:"activity",label:"活动",icon:"activity"},{id:"integrations",label:"能力",icon:"branch"},{id:"diagnostics",label:"诊断",icon:"diagnostics"}];function kv({state:t,actions:r,tab:l,onTabChange:a}){const d=m.useId(),p=h=>{if(h.key!=="ArrowLeft"&&h.key!=="ArrowRight"&&h.key!=="Home"&&h.key!=="End")return;h.preventDefault();const g=fr.findIndex(b=>b.id===l),k=h.key==="Home"?0:h.key==="End"?fr.length-1:(g+(h.key==="ArrowRight"?1:-1)+fr.length)%fr.length;a(fr[k].id),requestAnimationFrame(()=>document.getElementById(`${d}-tab-${fr[k].id}`)?.focus())};return i.jsxs("div",{className:"agent-panel",children:[i.jsx("div",{className:"inspector-tabs",role:"tablist","aria-label":"详情类别",onKeyDown:p,children:fr.map(h=>i.jsxs("button",{id:`${d}-tab-${h.id}`,type:"button",role:"tab","aria-selected":l===h.id,"aria-controls":`${d}-panel`,tabIndex:l===h.id?0:-1,onClick:()=>a(h.id),children:[i.jsx(K,{name:h.icon,size:15}),i.jsx("span",{children:h.label})]},h.id))}),i.jsxs("div",{id:`${d}-panel`,className:"inspector-body",role:"tabpanel","aria-labelledby":`${d}-tab-${l}`,tabIndex:0,children:[l==="goal"?i.jsx(jv,{state:t,actions:r}):null,l==="activity"?i.jsx(Cv,{state:t,actions:r}):null,l==="integrations"?i.jsx(Iv,{state:t,actions:r}):null,l==="diagnostics"?i.jsx(bv,{state:t,actions:r}):null]})]})}function jv({state:t,actions:r}){const l=t.goal,a=t.plan?.body??(typeof t.diagnostics?.plan=="string"?t.diagnostics.plan:""),p=!!t.pendingAction||t.connection!=="live"||!vr(t);if(!l)return i.jsxs("div",{className:"inspector-stack",children:[i.jsxs("section",{className:"inspector-empty-card",children:[i.jsx("div",{className:"empty-mini-icon",children:i.jsx(K,{name:"goal"})}),i.jsx("h3",{children:"没有活动 Goal"}),i.jsx("p",{children:"Goal 会跨回合保存目标、计划、证据和预算状态。"})]}),i.jsx(Sv,{onCreate:g=>r.controlGoal("create",g),disabled:p||!t.activeSessionId}),i.jsx(Qd,{mode:t.mode.baseMode,plan:a})]});const h=l.criteria?.total?Math.round(l.criteria.passed/l.criteria.total*100):0;return i.jsxs("div",{className:"inspector-stack",children:[i.jsxs("section",{className:"goal-card",children:[i.jsxs("header",{children:[i.jsx("span",{className:`goal-status status-${l.status}`,children:l.status.replace(/_/g," ")}),i.jsxs("span",{children:["rev ",l.revision]})]}),i.jsx("h3",{children:l.objective}),l.criteria?i.jsxs("div",{className:"goal-progress",children:[i.jsxs("div",{children:[i.jsx("span",{children:"成功条件"}),i.jsxs("strong",{children:[l.criteria.passed," / ",l.criteria.total]})]}),i.jsx("progress",{value:l.criteria.passed,max:Math.max(1,l.criteria.total),"aria-label":`Goal 条件完成 ${h}%`}),i.jsxs("div",{className:"goal-breakdown",children:[i.jsxs("span",{children:[h,"% 完成"]}),i.jsxs("span",{children:[l.criteria.failed," 失败 · ",l.criteria.stale," 过期"]})]})]}):null,i.jsxs("dl",{className:"metric-grid",children:[i.jsxs("div",{children:[i.jsx("dt",{children:"Tokens"}),i.jsxs("dd",{children:[Gd(l.tokensUsed),l.tokenBudget?` / ${Gd(l.tokenBudget)}`:""]})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"用时"}),i.jsx("dd",{children:Rv(l.timeUsedMs)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"续跑"}),i.jsx("dd",{children:l.continuationCount})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"Plan"}),i.jsx("dd",{children:l.planRevision?`r${l.planRevision}`:"—"})]})]}),l.nextAction?i.jsxs("div",{className:"next-action",children:[i.jsx("span",{children:"下一步"}),i.jsx("p",{children:l.nextAction})]}):null,l.auditRemaining?.length?i.jsxs("details",{className:"remaining-audit",children:[i.jsxs("summary",{children:["仍需验证 ",l.auditRemaining.length," 项"]}),i.jsx("ul",{children:l.auditRemaining.map((g,k)=>i.jsx("li",{children:g},`${g}-${k}`))})]}):null,i.jsxs("div",{className:"goal-actions",children:[l.status==="active"?i.jsxs("button",{type:"button",className:"secondary-button",onClick:()=>{r.controlGoal("pause")},disabled:p,children:[i.jsx(K,{name:"pause",size:14}),"暂停"]}):l.status!=="complete"?i.jsxs("button",{type:"button",className:"secondary-button",onClick:()=>{r.controlGoal("resume")},disabled:p,children:[i.jsx(K,{name:"refresh",size:14}),"恢复"]}):null,i.jsx("button",{type:"button",className:"danger-ghost-button",onClick:()=>{window.confirm("清除此 Goal?会话记录仍会保留。")&&r.controlGoal("clear")},disabled:p,children:"清除"})]})]}),t.goalEvidence.length>0?i.jsxs("section",{className:"inspector-section",children:[i.jsxs("div",{className:"inspector-section-heading",children:[i.jsx("h3",{children:"最近证据"}),i.jsx("span",{children:t.goalEvidence.length})]}),i.jsx("ul",{className:"evidence-list",children:t.goalEvidence.slice(-8).reverse().map(g=>i.jsxs("li",{children:[i.jsx("span",{className:`evidence-state ${g.result}`,"aria-hidden":"true",children:i.jsx(K,{name:g.result==="passed"?"check":g.result==="failed"?"close":"more",size:12})}),i.jsxs("div",{children:[i.jsx("strong",{children:g.subject}),i.jsxs("span",{children:[g.kind," · ",g.result]})]})]},g.id))})]}):null,i.jsx(Qd,{mode:t.mode.baseMode,plan:a,goalPhase:l.planPhase}),t.goalActivity.length>0?i.jsxs("section",{className:"inspector-section",children:[i.jsx("div",{className:"inspector-section-heading",children:i.jsx("h3",{children:"Goal 轨迹"})}),i.jsx("ol",{className:"compact-timeline",children:t.goalActivity.slice(-10).reverse().map((g,k)=>i.jsxs("li",{children:[i.jsx("span",{className:"timeline-pin","aria-hidden":"true"}),i.jsxs("div",{children:[i.jsx("strong",{children:g.type.replace(/_/g," ")}),i.jsx("p",{children:g.message}),i.jsx("time",{children:Pv(g.timestamp)})]})]},`${g.timestamp}-${k}`))})]}):null]})}function Sv({onCreate:t,disabled:r}){const[l,a]=m.useState(""),d=async p=>{if(p.preventDefault(),!!l.trim())try{await t(l.trim()),a("")}catch{}};return i.jsxs("form",{className:"goal-create",onSubmit:d,children:[i.jsx("label",{htmlFor:"goal-objective",children:"创建 Goal"}),i.jsx("textarea",{id:"goal-objective",rows:3,value:l,onChange:p=>a(p.target.value),placeholder:"输入一个可验证、可持续执行的目标…",disabled:r}),i.jsxs("button",{type:"submit",className:"primary-button",disabled:r||!l.trim(),children:[i.jsx(K,{name:"goal",size:15}),"开始 Goal"]})]})}function Qd({mode:t,plan:r,goalPhase:l}){return i.jsxs("section",{className:"inspector-section plan-section",children:[i.jsxs("div",{className:"inspector-section-heading",children:[i.jsx("h3",{children:"Plan"}),i.jsx("span",{className:`mode-badge mode-${t}`,children:t==="plan"?"PLAN MODE":l||"READ ONLY"})]}),r?i.jsx(Hs,{children:r}):i.jsx("p",{className:"muted-copy",children:"还没有保存的计划。切换到 PLAN 模式后提交任务,Runtime 会生成并保存计划。"})]})}function Cv({state:t,actions:r}){const l=m.useMemo(()=>t.tools.filter(a=>Ev(a)),[t.tools]);return i.jsxs("div",{className:"inspector-stack",children:[i.jsxs("section",{className:"inspector-section",children:[i.jsxs("div",{className:"inspector-section-heading",children:[i.jsx("h3",{children:"工具调用"}),i.jsx("span",{children:t.tools.length})]}),t.tools.length?i.jsx("ul",{className:"activity-list",children:t.tools.slice(-20).reverse().map(a=>i.jsx(Nv,{tool:a},a.callId))}):i.jsx(ho,{text:"还没有工具活动"})]}),i.jsx(_v,{state:t,actions:r}),i.jsxs("section",{className:"inspector-section",children:[i.jsxs("div",{className:"inspector-section-heading",children:[i.jsx("h3",{children:"文件变化"}),i.jsx("span",{children:l.length+t.edits.length})]}),l.length||t.edits.length?i.jsxs("ul",{className:"change-list",children:[t.edits.slice(-8).reverse().map(a=>i.jsxs("li",{children:[i.jsx(K,{name:"edit",size:14}),i.jsxs("div",{children:[i.jsx("strong",{children:Df(a.request.path)}),i.jsxs("span",{children:[a.request.kind," · ",a.request.candidates.length," candidates"]})]})]},a.eventId)),l.slice(-8).reverse().map(a=>i.jsxs("li",{children:[i.jsx(K,{name:"code",size:14}),i.jsxs("div",{children:[i.jsx("strong",{children:a.name}),i.jsx("span",{children:a.summary||a.state})]})]},a.callId))]}):i.jsx(ho,{text:"还没有文件变化"})]}),i.jsxs("section",{className:"inspector-section",children:[i.jsxs("div",{className:"inspector-section-heading",children:[i.jsx("h3",{children:"子代理与研究"}),i.jsx("span",{children:t.subtasks.length+t.research.length})]}),t.subtasks.length?i.jsx("ul",{className:"activity-list",children:t.subtasks.slice(-8).reverse().map(a=>i.jsxs("li",{children:[i.jsx("span",{className:`state-dot state-${a.state}`,"aria-hidden":"true"}),i.jsxs("div",{children:[i.jsx("strong",{children:a.role}),i.jsx("span",{children:a.objective})]}),i.jsx("small",{children:a.state})]},a.taskId))}):null,t.research.length?i.jsx("ul",{className:"activity-list",children:t.research.slice(-6).reverse().map(a=>i.jsxs("li",{children:[i.jsx("span",{className:`state-dot state-${a.stage}`,"aria-hidden":"true"}),i.jsxs("div",{children:[i.jsx("strong",{children:"Research"}),i.jsx("span",{children:a.objective||a.packetId})]}),i.jsx("small",{children:a.stage})]},a.packetId))}):null,!t.subtasks.length&&!t.research.length?i.jsx(ho,{text:"还没有子代理或研究活动"}):null]})]})}function Nv({tool:t}){return i.jsxs("li",{children:[i.jsx("span",{className:`state-dot state-${t.state}`,"aria-hidden":"true"}),i.jsxs("div",{children:[i.jsx("strong",{children:t.name}),i.jsx("span",{children:t.summary||`调用 #${t.sequence}`})]}),i.jsx("small",{children:t.duration!==void 0?`${Math.round(t.duration)}ms`:t.state})]})}function _v({state:t,actions:r}){const[l,a]=m.useState(""),[d,p]=m.useState(""),[h,g]=m.useState(),[k,b]=m.useState(0),[T,N]=m.useState(!1),[$,M]=m.useState("");m.useEffect(()=>{a(""),p(""),g(void 0),M("")},[t.activeSessionId]);const q=async(D,O=0)=>{N(!0),M("");try{const Z=await r.readToolDetail(D,O);a(D),p(F=>O===0?Z.content:`${F}${Z.content}`),g(Z.nextOffsetBytes),b(Z.totalBytes)}catch(Z){M(Z instanceof Error?Z.message:"工具详情读取失败。")}finally{N(!1)}};return i.jsxs("section",{className:"inspector-section tool-detail-browser",children:[i.jsxs("div",{className:"inspector-section-heading",children:[i.jsx("h3",{children:"持久化输出"}),i.jsxs("button",{type:"button",className:"icon-text-button",onClick:()=>{r.refreshToolDetails()},disabled:!!t.pendingAction,children:[i.jsx(K,{name:"refresh",size:13}),"刷新"]})]}),t.toolDetails.length?i.jsx("div",{className:"detail-selector",role:"group","aria-label":"工具输出详情",children:t.toolDetails.slice(-20).reverse().map(D=>i.jsxs("button",{type:"button",className:l&&D.artifactId===l?"active":"",disabled:!D.artifactId||T,onClick:()=>D.artifactId&&void q(D.artifactId),children:[i.jsxs("span",{children:[i.jsx("strong",{children:D.toolName}),i.jsxs("small",{children:["#",D.sequence," · ",Yd(D.outputBytes)]})]}),i.jsx(K,{name:"chevron",size:13})]},`${D.callId}:${D.sequence}`))}):i.jsx(ho,{text:"没有可读取的持久化输出"}),t.toolDetailNextCursor?i.jsx("button",{type:"button",className:"text-button",onClick:()=>{r.loadMoreToolDetails()},disabled:!!t.pendingAction,children:"加载更多输出记录"}):null,$?i.jsx("p",{className:"field-error",role:"alert",children:$}):null,l?i.jsxs("div",{className:"detail-output",children:[i.jsxs("div",{children:[i.jsxs("span",{children:[Yd(k)," · 已脱敏"]}),i.jsx("code",{children:l})]}),i.jsx("pre",{tabIndex:0,children:Gt(d)}),h!==void 0?i.jsx("button",{type:"button",className:"secondary-button",disabled:T,onClick:()=>{q(l,h)},children:T?"读取中…":"加载更多"}):null]}):null]})}function Iv({state:t,actions:r}){const l=t.skills,a=t.mcpServers;return i.jsxs("div",{className:"inspector-stack",children:[i.jsxs("section",{className:"capability-card",children:[i.jsxs("header",{children:[i.jsx("span",{className:"capability-icon",children:i.jsx(K,{name:"spark",size:17})}),i.jsxs("div",{children:[i.jsx("h3",{children:"Skills"}),i.jsx("p",{children:"安全描述符,只读"})]}),i.jsx("span",{className:`readiness-pill ${l.length?"ready":""}`,children:l.length?`${l.length} 可用`:"未发现"})]}),l.length?i.jsx("ul",{className:"skill-list",children:l.map(d=>i.jsxs("li",{children:[i.jsxs("div",{children:[i.jsx("strong",{children:d.name}),i.jsxs("span",{children:[d.sourceScope," · ",d.providerId]})]}),i.jsx("p",{children:d.description}),d.requestedCapabilities.length?i.jsx("small",{children:d.requestedCapabilities.join(" · ")}):null]},d.id))}):i.jsx("p",{className:"muted-copy",children:"当前 Runtime 没有公开可用的 Skill 描述符。"})]}),i.jsxs("section",{className:"capability-card",children:[i.jsxs("header",{children:[i.jsx("span",{className:"capability-icon mcp",children:i.jsx(K,{name:"branch",size:17})}),i.jsxs("div",{children:[i.jsx("h3",{children:"MCP Servers"}),i.jsx("p",{children:"只读配置与运行状态"})]}),i.jsx("span",{className:`readiness-pill ${a.length?"ready":""}`,children:a.length?`${a.length} 已配置`:"未配置"})]}),a.length?i.jsx("ul",{className:"server-list",children:a.map(d=>i.jsxs("li",{children:[i.jsx("span",{className:`state-dot state-${d.state}`,"aria-hidden":"true"}),i.jsxs("div",{children:[i.jsx("code",{children:d.name}),i.jsxs("small",{children:[d.transport," · ",d.toolCount," tools"]})]}),i.jsx("span",{children:d.disabled?"Disabled":d.state})]},d.id))}):i.jsx("p",{className:"muted-copy",children:"没有可用的 MCP Server。浏览器不会接收环境变量或认证 Header。"})]}),t.skillNextCursor||t.mcpNextCursor?i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>{r.loadMoreCapabilities()},disabled:!!t.pendingAction,children:"加载更多能力"}):null,i.jsxs("section",{className:"security-note",children:[i.jsx(K,{name:"info",size:16}),i.jsxs("p",{children:[i.jsx("strong",{children:"能力边界由 Runtime 管理。"})," Web 端只展示描述符和状态,不加载外部插件代码,也不会绕过 ToolGateway。"]})]})]})}function bv({state:t,actions:r}){const l=t.diagnostics,a=jo(t);return i.jsxs("div",{className:"inspector-stack",children:[i.jsxs("div",{className:"diagnostics-toolbar",children:[i.jsxs("div",{children:[i.jsx("span",{className:`connection-dot ${t.connection}`,"aria-hidden":"true"}),i.jsx("strong",{children:Tv(t.connection)})]}),i.jsxs("button",{type:"button",className:"icon-text-button",onClick:()=>{r.refreshDiagnostics()},disabled:!!t.pendingAction,children:[i.jsx(K,{name:"refresh",size:14}),"刷新"]})]}),i.jsxs("section",{className:"inspector-section",children:[i.jsx("div",{className:"inspector-section-heading",children:i.jsx("h3",{children:"Runtime"})}),i.jsxs("dl",{className:"diagnostic-list",children:[i.jsx(Cn,{label:"版本",value:t.bootstrap?.productVersion??"—"}),i.jsx(Cn,{label:"工作区",value:Df(t.workspace)||"—"}),i.jsx(Cn,{label:"会话",value:t.activeSessionId?.slice(0,12)??"未选择"}),i.jsx(Cn,{label:"模式",value:String(l?.agentMode??t.mode.baseMode)}),i.jsx(Cn,{label:"权限",value:String(l?.permissionMode??t.settings?.sections.permissions.toolConfirmation.effectiveValue??"—")}),i.jsx(Cn,{label:"事件游标",value:`${t.lastCursor}`}),i.jsx(Cn,{label:"事件 UUID",value:t.lastEventId?.slice(0,12)??"—"}),i.jsx(Cn,{label:"会话快照",value:a.status}),i.jsx(Cn,{label:"保留事件",value:`${l?.eventStream?.retained??"—"}`}),i.jsx(Cn,{label:"快照请求",value:l?.session?`${l.session.snapshotRequests} 次 / 失败 ${l.session.snapshotFailures}`:"—"}),i.jsx(Cn,{label:"快照时延",value:l?.session?`${l.session.snapshotLastMs} ms(累计 ${l.session.snapshotTotalMs} ms)`:"—"}),i.jsx(Cn,{label:"Session actor",value:l?.session?`${l.session.actors.actorsCreated} 分配 / ${l.session.actors.actorsEvicted} LRU 驱逐`:"—"}),i.jsx(Cn,{label:"control plane",value:l?.session?`${l.session.controlPlaneInstalls} 次装载 / ${l.session.controlPlaneShutdowns} 次关闭`:"—"}),i.jsx(Cn,{label:"浏览器切换",value:`${t.clientTelemetry.sessionSwitches} 次 / 缓存命中 ${t.clientTelemetry.snapshotCacheHits} / 加载 ${t.clientTelemetry.snapshotLoads}`})]})]}),l?.contextUsage?i.jsx(ao,{title:"Context usage",value:l.contextUsage}):null,l?.tokenUsage?i.jsx(ao,{title:"Token usage",value:l.tokenUsage}):null,l?.harness?i.jsx(ao,{title:"Harness",value:l.harness}):null,t.loopStats?i.jsx(ao,{title:"Loop statistics",value:t.loopStats}):null,i.jsxs("section",{className:"security-note",children:[i.jsx(K,{name:"check",size:16}),i.jsx("p",{children:"诊断载荷由 Host 脱敏。API Key、认证 Header 和环境值不会返回浏览器。"})]})]})}function Cn({label:t,value:r}){return i.jsxs("div",{children:[i.jsx("dt",{children:t}),i.jsx("dd",{title:r,children:r})]})}function ao({title:t,value:r}){return i.jsxs("details",{className:"json-section",children:[i.jsx("summary",{children:t}),i.jsx("pre",{tabIndex:0,children:Ra(r,12e3)})]})}function ho({text:t}){return i.jsxs("div",{className:"empty-small",children:[i.jsx("span",{className:"empty-line","aria-hidden":"true"}),i.jsx("p",{children:t})]})}function Ev(t){return/write|edit|patch|delete|move|rename|mkdir|create/i.test(t.name)}function Df(t){const r=t.replace(/[\\/]+$/,"");return r.split(/[\\/]/).filter(Boolean).at(-1)??r}function Gd(t){return new Intl.NumberFormat("zh-CN",{notation:t>99999?"compact":"standard"}).format(t)}function Rv(t){return t<1e3?`${Math.round(t)}ms`:t<6e4?`${Math.round(t/1e3)}s`:`${Math.floor(t/6e4)}m ${Math.round(t%6e4/1e3)}s`}function Yd(t){return t<1024?`${t} B`:t<1048576?`${(t/1024).toFixed(1)} KB`:`${(t/1048576).toFixed(1)} MB`}function Pv(t){const r=Date.parse(t);return Number.isFinite(r)?new Date(r).toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"}):""}function Tv(t){return t==="live"?"本地 Web Host 连接正常":t==="offline"?"浏览器离线":t==="replay-required"?"Web Host 事件流需要恢复":t==="closed"?"本地 Web Host 已关闭":t==="connecting"?"正在连接本地 Web Host":"正在重新连接本地 Web Host"}function Mv({width:t,onPreview:r,onCommit:l}){return i.jsx(vf,{side:"right",className:"work-panel-resize-handle",minWidth:Ta,maxWidth:xf,defaultWidth:Ma,label:"拖动或按方向键调整工作面板宽度",width:t,controls:"work-panel-detail",onPreview:r,onCommit:l})}const $v=m.lazy(()=>Eo(()=>import("./TerminalPanel-D8C1uybv.js"),__vite__mapDeps([0,1])).then(t=>({default:t.TerminalPanel}))),Av=m.lazy(()=>Eo(()=>import("./FilesPanel-4litEN1k.js"),[]).then(t=>({default:t.FilesPanel}))),Dv=m.lazy(()=>Eo(()=>import("./GitPanel-BVwlDRVo.js"),__vite__mapDeps([2,3])).then(t=>({default:t.GitPanel}))),Lv=m.lazy(()=>Eo(()=>import("./ReviewPanel-ChA0Zd2g.js"),__vite__mapDeps([4,3])).then(t=>({default:t.ReviewPanel}))),Ov=["focus-work-panel-1","focus-work-panel-2","focus-work-panel-3","focus-work-panel-4","focus-work-panel-5"],Nn=[{id:"agent",label:"Agent",icon:"spark"},{id:"review",label:"审阅",icon:"edit"},{id:"terminal",label:"终端",icon:"terminal"},{id:"files",label:"文件",icon:"workspace"},{id:"git",label:"Git",icon:"branch"}];function zv({state:t,actions:r,mode:l,expanded:a,activePanel:d,agentPanel:p,onExpand:h,onCollapse:g,onPanelChange:k,onAgentPanelChange:b,onWidthPreview:T,onWidthCommit:N,width:$,onSendToComposer:M}){const q=m.useRef(null),D=m.useRef(null),O=m.useRef(a),Z=m.useRef(!1),F=m.useRef(new Set([d]));F.current.add(d);const de=m.useId(),X=t.workspaceResourceEpochs[t.workspaceId]??{files:0,git:0,review:0};m.useEffect(()=>{if(l!=="overlay"||!a)return;let R=0,ne=0;const J=()=>{R+=1,D.current?.focus(),(document.activeElement===D.current||R>=10)&&window.clearInterval(ne)};return ne=window.setInterval(J,16),J(),()=>window.clearInterval(ne)},[a,l]),m.useEffect(()=>{const R=O.current;if(O.current=a,!(l!=="dock"||R===a)){if(!a){requestAnimationFrame(()=>q.current?.querySelector(`[data-work-panel-id="${d}"]`)?.focus());return}Z.current&&(Z.current=!1,requestAnimationFrame(()=>document.getElementById(`${de}-${d}`)?.focus()))}},[d,a,l,de]),m.useEffect(()=>{const R=wo("toggle-work-panel"),ne=J=>{if(R&&xo(J,R.tokens)){J.preventDefault(),a?g():(Z.current=!0,h());return}const je=Ov.findIndex(Re=>{const W=wo(Re);return W?xo(J,W.tokens):!1}),Ne=Nn[je];Ne&&(J.preventDefault(),Z.current=!0,k(Ne.id),h())};return window.addEventListener("keydown",ne),()=>window.removeEventListener("keydown",ne)},[a,g,h,k]);const ue=R=>{if(R.key==="Escape"&&l==="overlay"&&a&&!R.target.closest('[role="alertdialog"], .terminal-host')){R.preventDefault(),g();return}if(l!=="overlay"||!a||R.key!=="Tab")return;const ne=Fv(q.current);if(!ne.length){R.preventDefault(),q.current?.focus();return}const J=ne.indexOf(document.activeElement);R.shiftKey&&J<=0?(R.preventDefault(),ne.at(-1)?.focus()):!R.shiftKey&&(J<0||J===ne.length-1)&&(R.preventDefault(),ne[0].focus())},I=R=>{a||(Z.current=!0),k(R),a||h()};return i.jsxs("aside",{ref:q,id:"work-panel",className:`work-panel work-panel-${l} ${a?"drawer-open work-panel-expanded":"work-panel-collapsed"}`,role:l==="overlay"?"dialog":void 0,"aria-modal":l==="overlay"&&a?!0:void 0,"aria-label":"工作面板","data-mode":l,"data-state":a?"expanded":"collapsed",tabIndex:l==="overlay"&&a?-1:void 0,onKeyDownCapture:ue,children:[l==="dock"&&a?i.jsx(Mv,{width:$,onPreview:T,onCommit:N}):null,!a&&l==="dock"?i.jsxs("nav",{className:"work-panel-rail","aria-label":"工作面板快捷入口",children:[i.jsx("button",{type:"button",className:"work-panel-rail-button","aria-label":"展开工作面板",title:"展开工作面板",onClick:()=>{Z.current=!0,h()},children:i.jsx(K,{name:"sidebar"})}),i.jsx("span",{className:"work-panel-rail-divider"}),Nn.map(R=>i.jsxs("button",{type:"button",className:"work-panel-rail-button","data-work-panel-id":R.id,"aria-label":`打开${R.label}面板`,"aria-current":d===R.id?"page":void 0,title:`${R.label} · ⌘⇧${Nn.indexOf(R)+1}`,onClick:()=>I(R.id),children:[i.jsx(K,{name:R.icon,size:17}),R.id==="terminal"&&t.processing?i.jsx(Aa,{state:"running",className:"rail-status-dot",describe:!1}):null]},R.id))]}):null,i.jsxs("div",{id:"work-panel-detail",className:"work-panel-detail",hidden:!a,children:[i.jsxs("header",{className:"work-panel-header",children:[i.jsxs("div",{children:[i.jsx("span",{className:"eyebrow",children:"PROJECT WORKSPACE"}),i.jsx("h2",{children:Nn.find(R=>R.id===d)?.label??"Agent"})]}),i.jsx("div",{className:"work-panel-header-actions",children:i.jsx("button",{ref:D,type:"button",className:"icon-button",onClick:g,"aria-label":l==="overlay"?"关闭工作面板":"折叠工作面板","aria-controls":"work-panel-detail","aria-expanded":"true",children:i.jsx(K,{name:l==="overlay"?"close":"sidebar"})})})]}),i.jsx("div",{className:"work-panel-tabs",role:"tablist","aria-label":"工作面板类别",children:Nn.map(R=>i.jsxs("button",{id:`${de}-${R.id}`,type:"button",role:"tab","aria-label":`${R.label},快捷键 Command 或 Control 加 Shift 加 ${Nn.indexOf(R)+1}`,"aria-selected":d===R.id,"aria-controls":`${de}-${R.id}-content`,tabIndex:d===R.id?0:-1,title:`⌘/Ctrl+Shift+${Nn.indexOf(R)+1}`,onClick:()=>k(R.id),onKeyDown:ne=>{if(!["ArrowLeft","ArrowRight","Home","End"].includes(ne.key))return;ne.preventDefault();const J=Nn.findIndex(Ne=>Ne.id===d),je=ne.key==="Home"?0:ne.key==="End"?Nn.length-1:(J+(ne.key==="ArrowRight"?1:-1)+Nn.length)%Nn.length;k(Nn[je].id),requestAnimationFrame(()=>document.getElementById(`${de}-${Nn[je].id}`)?.focus())},children:[i.jsx(K,{name:R.icon,size:15}),i.jsx("span",{children:R.label})]},R.id))}),i.jsx("div",{className:"work-panel-content",children:i.jsx(m.Suspense,{fallback:i.jsx("p",{className:"resource-loading",children:"正在加载工作面板…"}),children:Nn.map(R=>F.current.has(R.id)?i.jsxs("div",{id:`${de}-${R.id}-content`,className:"work-panel-pane",role:"tabpanel","aria-labelledby":`${de}-${R.id}`,hidden:d!==R.id,children:[R.id==="agent"?i.jsx(kv,{state:t,actions:r,tab:p,onTabChange:b}):null,R.id==="review"?i.jsx(Lv,{workspaceId:t.workspaceId,refreshEpoch:X.review,actions:r,onSendToComposer:M}):null,R.id==="terminal"?i.jsx($v,{workspaceId:t.workspaceId,workspacePath:t.workspace,styleNonce:t.bootstrap?.nonce??"",available:!!t.bootstrap?.capabilities.terminal,actions:r}):null,R.id==="files"?i.jsx(Av,{workspaceId:t.workspaceId,refreshEpoch:X.files,actions:r}):null,R.id==="git"?i.jsx(Dv,{workspaceId:t.workspaceId,refreshEpoch:X.git,actions:r,onSendToComposer:M}):null]},R.id):null)})})]})]})}function Fv(t){return t?Array.from(t.querySelectorAll('a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])')).filter(r=>!r.hasAttribute("disabled")&&!r.closest("[inert]")&&!r.closest("[hidden]")&&r.getClientRects().length>0):[]}function Bv(t,r,l){const a=r==="light"||r==="system"&&l;return t==="orion-blocksmith"?a?"#d7d0c1":"#15191b":a?"#f4f5f8":"#090b10"}function Yt(t,r){return t.some(l=>l.id===r.id)?t.map(l=>l.id===r.id?r:l):[r,...t]}const ko=1e4,qv=256,Wv=256,Uv=128,Hv=8,Lf=8*1024*1024,Vv=64;function Kv(t=mf,r){switch(r.type){case"baseline_loaded":{const l=t.workspaceId!==r.bootstrap.workspaceId||t.activeSessionId!==r.bootstrap.activeSessionId?Vs(t):t,a=of(r.diagnostics,l.mode);return{...l,boot:"ready",bootError:void 0,bootstrap:r.bootstrap,contextRevision:r.bootstrap.contextRevision,workspaceId:r.bootstrap.workspaceId,workspace:r.workspaces.activePath||r.bootstrap.workspace,workspaces:r.workspaces.workspaces,sessions:r.sessions,workspaceSessions:{...l.workspaceSessions,[r.bootstrap.workspaceId]:{status:"ready",items:r.sessions,nextCursor:r.sessionNextCursor}},workspaceNextCursor:r.workspaces.nextCursor,sessionNextCursor:r.sessionNextCursor,activeSessionId:r.bootstrap.activeSessionId,sessionSync:r.bootstrap.activeSessionId?{...l.sessionSync,[r.bootstrap.activeSessionId]:{status:l.sessionProjectionById[r.bootstrap.activeSessionId]?"refreshing":"loading",requestId:null}}:l.sessionSync,settings:r.settings,diagnostics:r.diagnostics,skills:r.skills,skillNextCursor:r.skillNextCursor,mcpServers:r.mcpServers,mcpNextCursor:r.mcpNextCursor,toolDetails:r.toolDetails,toolDetailNextCursor:r.toolDetailNextCursor,notice:l.notice?.domain==="session-snapshot"?null:l.notice,processing:!!r.diagnostics.processing,mode:a,statusMessage:r.bootstrap.configured?"本地 Web Host 已就绪":"模型尚未配置,任务提交已停用",announcement:r.bootstrap.configured?"本地 Web Host 已就绪":"Orion 尚未配置模型"}}case"boot_failed":return{...t,boot:"error",bootError:r.message,connection:ty()?"reconnecting":"offline",announcement:`启动失败:${r.message}`};case"connection_changed":return t.connection==="replay-required"?t:{...t,connection:r.phase,connectionAttempt:r.attempt,announcement:ry(r.phase,r.attempt)};case"event_received":return Qv(t,r.envelope);case"session_snapshot_started":return t.contextRevision!==r.contextRevision||t.workspaceId!==r.workspaceId?t:co(qs(t,r.sessionId,{status:r.cached?"refreshing":"loading",requestId:r.requestId}),{snapshotLoads:1});case"session_snapshot_loaded":{const l=r.snapshot.session.id;return!sf(t,r.contextRevision,r.workspaceId)||!rf(t,l,r.requestId)?t:t.activeSessionId!==l?r.requestId===void 0?t:tf(Jd(t,r.snapshot),l):tf(Xd(t,r.snapshot,r.advanceEventCursor!==!1),l)}case"composer_loaded":return r.composer.sessionId!==t.activeSessionId||r.composer.workspaceId!==t.workspaceId||r.composer.contextRevision!==t.contextRevision?t:Of(t,r.composer);case"model_catalog_loaded":return{...t,modelCatalog:r.catalog};case"durable_session_metadata_loaded":return t.contextRevision!==r.contextRevision||t.workspaceId!==r.workspaceId?t:t.activeSessionId!==r.snapshot.session.id?Jd(t,r.snapshot):r.snapshot.runtime.active!==!0?t:Xv(t,r.snapshot);case"older_transcript_loaded":{if(t.activeSessionId!==r.snapshot.session.id||!t.sessionSnapshot)return t;const l=new Set(t.transcript.map(d=>d.id)),a=zf(r.snapshot).filter(d=>!l.has(d.id));return{...t,transcript:[...a,...t.transcript].sort((d,p)=>d.order-p.order).slice(-ko),sessionSnapshot:{...t.sessionSnapshot,transcript:{items:t.sessionSnapshot.transcript.items,nextCursor:r.snapshot.transcript.nextCursor}},announcement:`已加载 ${a.length} 条更早记录`}}case"sessions_loaded":return{...t,sessions:r.append?Qt(t.sessions,r.sessions,l=>l.id):r.sessions,sessionNextCursor:r.nextCursor,workspaceSessions:t.workspaceId?{...t.workspaceSessions,[t.workspaceId]:{status:"ready",items:r.append?Qt(t.sessions,r.sessions,l=>l.id):r.sessions,nextCursor:r.nextCursor}}:t.workspaceSessions};case"workspaces_loaded":return{...t,workspaceId:r.value.activeId||t.workspaceId,workspace:r.value.activePath||t.workspace,workspaces:r.append?Qt(t.workspaces,r.value.workspaces,l=>l.id):r.value.workspaces,workspaceNextCursor:r.value.nextCursor};case"workspace_sessions_loading":return{...t,workspaceSessions:{...t.workspaceSessions,[r.workspaceId]:{status:"loading",items:t.workspaceSessions[r.workspaceId]?.items??[],nextCursor:t.workspaceSessions[r.workspaceId]?.nextCursor??null}}};case"workspace_sessions_loaded":{const l=t.workspaceSessions[r.workspaceId],a=r.append?Qt(l?.items??[],r.sessions,d=>d.id):r.sessions;return{...t,sessions:r.workspaceId===t.workspaceId?a:t.sessions,sessionNextCursor:r.workspaceId===t.workspaceId?r.nextCursor:t.sessionNextCursor,workspaceSessions:{...t.workspaceSessions,[r.workspaceId]:{status:"ready",items:a,nextCursor:r.nextCursor}}}}case"workspace_sessions_failed":return{...t,workspaceSessions:{...t.workspaceSessions,[r.workspaceId]:{status:"error",items:t.workspaceSessions[r.workspaceId]?.items??[],nextCursor:t.workspaceSessions[r.workspaceId]?.nextCursor??null,error:r.detail}}};case"session_updated":return ef(t,a=>Jv(a,r.session));case"session_archived":{const l=Zd(t,r.session.id),a=t.archivedSessions.items.some(d=>d.id===r.session.id);return{...l,archivedSessions:a?l.archivedSessions:{...l.archivedSessions,status:"ready",items:[r.session,...l.archivedSessions.items]}}}case"session_restored":{const l=ef(t,a=>[r.session,...a.filter(d=>d.id!==r.session.id)]);return{...l,archivedSessions:{...l.archivedSessions,items:l.archivedSessions.items.filter(a=>a.id!==r.session.id)}}}case"session_deleted":{const l={...t.sessionRuntimeById};return delete l[r.sessionId],{...Zd(t,r.sessionId),sessionRuntimeById:l,archivedSessions:{...t.archivedSessions,items:t.archivedSessions.items.filter(a=>a.id!==r.sessionId)}}}case"archived_sessions_loading":return r.workspaceId!==t.workspaceId?t:{...t,archivedSessions:{status:"loading",items:t.archivedSessions.ownerWorkspaceId===r.workspaceId?t.archivedSessions.items:[],nextCursor:t.archivedSessions.nextCursor,ownerWorkspaceId:t.archivedSessions.ownerWorkspaceId}};case"archived_sessions_loaded":{if(r.workspaceId!==t.workspaceId)return t;const l=r.append?Qt(t.archivedSessions.items,r.sessions,a=>a.id):r.sessions;return{...t,archivedSessions:{status:"ready",items:l,nextCursor:r.nextCursor,ownerWorkspaceId:r.workspaceId}}}case"archived_sessions_failed":return r.workspaceId!==t.workspaceId?t:{...t,archivedSessions:{...t.archivedSessions,status:"error",error:r.detail}};case"workspace_project_summary_loaded":return{...t,workspaceProjectSummaries:{...t.workspaceProjectSummaries,[r.summary.workspaceId]:r.summary}};case"settings_loaded":return{...t,settings:r.settings};case"settings_mirror_changed":return{...t,settings:r.snapshot.document??r.snapshot.lastGood,settingsMirror:r.snapshot};case"diagnostics_loaded":return{...t,diagnostics:r.diagnostics,processing:!!(r.diagnostics.processing??t.processing),mode:of(r.diagnostics,t.mode)};case"capabilities_loaded":return{...t,skills:r.append?Qt(t.skills,r.skills,l=>l.id):r.skills,skillNextCursor:r.skillNextCursor,mcpServers:r.append?Qt(t.mcpServers,r.mcpServers,l=>l.id):r.mcpServers,mcpNextCursor:r.mcpNextCursor};case"tool_details_loaded":return{...t,toolDetails:r.append?Qt(t.toolDetails,r.details,l=>`${l.sequence}:${l.callId}`):r.details,toolDetailNextCursor:r.nextCursor};case"pending_action":return{...t,pendingAction:r.label};case"notice":return{...t,notice:r.notice};case"approval_resolved":return t.permission?.id!==r.requestId?t:{...t,permission:null,announcement:r.approved?"工具权限已授予":"工具请求已拒绝"};case"snapshot_failed":{if(!sf(t,r.contextRevision,r.workspaceId))return t;if(!r.sessionId)return t.connection==="replay-required"?t:{...t,notice:{id:r.requestId??t.lastCursor,tone:"warning",title:"会话状态尚未同步",detail:r.detail},announcement:"会话状态尚未同步"};if(!rf(t,r.sessionId,r.requestId)||r.sessionId!==t.activeSessionId&&r.requestId===void 0)return t;const l=co(qs(t,r.sessionId,{status:"failed",requestId:r.requestId??t.sessionSync[r.sessionId]?.requestId??null,error:r.detail}),{snapshotFailures:1});return r.sessionId!==t.activeSessionId||t.connection==="replay-required"?l:{...l,statusMessage:t.sessionSnapshot?.session.id===r.sessionId?"会话刷新失败,当前显示最近状态":"会话快照加载失败",notice:{id:r.requestId??t.lastCursor,tone:"warning",title:"会话快照尚未同步",detail:r.detail,domain:"session-snapshot",sessionId:r.sessionId},announcement:"当前会话快照尚未同步,写操作已暂停"}}case"reset_session_view":{const l=!!r.activeSessionId&&r.activeSessionId!==t.activeSessionId,a=!!(r.activeSessionId&&t.sessionProjectionById[r.activeSessionId]),d={...l?{sessionSwitches:1}:{},...a?{snapshotCacheHits:1}:{}};if(r.activeSessionId&&t.sessionProjectionById[r.activeSessionId]){const g=r.activeSessionId,k=Xd({...t,activeSessionId:g},t.sessionProjectionById[g],!1);return co({...qs(k,g,{status:"refreshing",requestId:t.sessionSync[g]?.requestId??null}),notice:t.notice?.domain==="session-snapshot"&&t.notice.sessionId!==g?null:t.notice,statusMessage:"已显示最近会话状态,正在同步…",announcement:"已切换到缓存会话,正在同步最新状态"},d)}const p={...Vs(t),activeSessionId:r.activeSessionId,notice:t.notice?.domain==="session-snapshot"&&t.notice.sessionId!==r.activeSessionId?null:t.notice,statusMessage:r.activeSessionId?"正在加载会话快照…":"请选择会话",announcement:r.activeSessionId?"正在加载会话快照":"会话已清除"},h=r.activeSessionId?qs(p,r.activeSessionId,{status:"loading",requestId:t.sessionSync[r.activeSessionId]?.requestId??null}):p;return co(h,d)}case"recovering":return{...t,connection:"connecting",replayReason:void 0,notice:null,announcement:"正在重新加载会话状态"}}}function Qv(t,r){if(r.type==="replay_reset")return{...t,lastCursor:r.cursor,lastEventId:r.eventId,connection:"replay-required",replayReason:r.payload.reason,notice:{id:r.cursor,tone:"warning",title:"需要重新载入会话",detail:r.payload.reason,domain:"transport"},announcement:"事件历史已超出保留窗口,需要重新载入会话"};if(t.connection==="replay-required"||r.cursor<=t.lastCursor)return t;const l={...t,lastCursor:r.cursor,lastEventId:r.eventId};if(r.type==="settings_invalidated")return{...l,announcement:r.payload.revision===t.settings?.revision?"Host 设置已同步":r.payload.state==="invalid"?"设置文档无效,仍保留上一次可用值":"Host 设置已更新,正在刷新"};if(r.type==="workspace_resource_invalidated"){const d={...t.workspaceResourceEpochs[r.payload.workspaceId]??{files:0,git:0,review:0}};for(const p of r.payload.resources)d[p]=r.cursor;return{...l,workspaceResourceEpochs:{...t.workspaceResourceEpochs,[r.payload.workspaceId]:d},announcement:"项目资源已变化,可用面板正在刷新"}}if(r.type==="workbench_state"){const a=t.workspaceId!==""&&t.workspaceId!==r.payload.workspaceId||t.workspace!==""&&t.workspace!==r.payload.workspace;return{...a?Vs(l):l,contextRevision:r.payload.contextRevision,workspaceId:r.payload.workspaceId,workspace:r.payload.workspace,activeSessionId:a?null:t.activeSessionId}}if(r.type==="composer_state_changed"){const a=r.payload.state;return a.sessionId!==l.activeSessionId||a.workspaceId!==l.workspaceId||a.contextRevision!==l.contextRevision?l:Of(l,a)}if(r.type==="session_runtime_changed"){const a=r.payload.runtime,d=l.sessionProjectionById[a.sessionId],p=Po(l.sessionRuntimeById,a),h=d?Ro(l.sessionProjectionById,{...d,sessionRuntime:a}):l.sessionProjectionById;return a.sessionId!==l.activeSessionId?{...l,sessionProjectionById:h,sessionRuntimeById:p}:{...l,sessionProjectionById:h,sessionRuntimeById:p,processing:["running","waiting_approval","stopping"].includes(a.phase),sessionSnapshot:l.sessionSnapshot?.session.id===a.sessionId?{...l.sessionSnapshot,sessionRuntime:a}:l.sessionSnapshot,composer:l.composer?.sessionId===a.sessionId?{...l.composer,sessionRuntime:a}:l.composer}}if(r.type==="workspace_mutation_changed"){if(r.sessionId!==l.activeSessionId)return l;const a=l.tools.find(p=>p.callId===r.payload.state.callId);if(!a)return l;const d={phase:r.payload.state.phase,...r.payload.state.queuePosition===void 0?{}:{queuePosition:r.payload.state.queuePosition}};return{...l,tools:ba(l.tools,{...a,workspaceMutation:d}),announcement:d.phase==="queued"?`工具 ${a.name} 正在等待工作树写入`:d.phase==="running"?`工具 ${a.name} 已获得工作树写入权限`:l.announcement}}return r.sessionId!==null&&r.sessionId!==l.activeSessionId?l:r.type==="thread_event"?Gv(l,r.payload.value):Yv(l,r.payload.value,r.eventId,r.cursor,r.timestamp)}function Gv(t,r){const l=r.payload;switch(l.type){case"thread.started":case"thread.resumed":return{...t,statusMessage:"会话线程已就绪"};case"thread.forked":return{...t,statusMessage:"分支线程已就绪"};case"turn.started":return{...t,processing:!0,statusMessage:l.data.mode==="plan"?"正在制定计划…":"Orion 正在处理…",announcement:"新回合已开始"};case"turn.queued":return{...t,statusMessage:"消息已进入 Runtime 队列"};case"turn.queue_expired":return{...t,notice:{id:t.lastCursor,tone:"warning",title:"一条排队消息已过期",detail:`队列项 ${l.data.queueId} 未在时限内开始。`}};case"turn.steered":return{...t,statusMessage:"已将补充指令送入当前回合"};case"turn.interrupt_requested":return{...t,statusMessage:"正在中断当前回合…"};case"turn.committed":return{...t,statusMessage:"回合结果已持久化"};case"plan.review_requested":return{...t,processing:!1,statusMessage:"计划已保存,等待审核",announcement:"计划已准备好,请审核后再执行"};case"plan.review_resolved":return{...t,statusMessage:l.data.action==="approve"?"计划已批准,正在进入 BUILD":l.data.action==="continue"?"已提交继续规划反馈":"计划已取消"};case"turn.completed":return{...t,processing:!1,permission:null,statusMessage:"任务已完成",announcement:"当前回合已完成"};case"turn.failed":return{...t,processing:!1,permission:null,statusMessage:"当前回合失败",notice:{id:t.lastCursor,tone:"error",title:"当前回合失败",detail:l.data.error},announcement:"当前回合失败"};case"turn.interrupted":return{...t,processing:!1,permission:null,statusMessage:"当前回合已中断",announcement:"当前回合已中断"};case"compact.started":return{...t,statusMessage:"正在压缩上下文…"};case"compact.completed":return{...t,statusMessage:"上下文压缩完成"};case"compact.failed":return{...t,statusMessage:"上下文压缩失败",notice:{id:t.lastCursor,tone:"warning",title:"上下文压缩失败",detail:l.data.error}};case"approval.requested":return{...t,statusMessage:`等待确认:${l.data.toolName}`};case"item.started":case"item.delta":case"item.completed":case"item.failed":case"item.interrupted":case"item.indeterminate":case"step.snapshot":case"capability.receipt":case"tool.receipt":return t}}function Yv(t,r,l,a,d){switch(r.type){case"transcript_append":{const p={...r.entry,id:`web-entry-${a}`,eventId:l,order:a,receivedAt:d};return{...t,transcript:mo(t.transcript,p,ko)}}case"transcript_update":if(r.contentDelta!==void 0){const p=t.transcript.find(h=>h.id===r.id);if(!p||r.contentStart===void 0||(p.content??"").length!==r.contentStart){const h="流式回复基线已变化,需要重新载入会话。";return{...t,connection:"replay-required",replayReason:h,notice:{id:a,tone:"warning",title:"需要重新载入会话",detail:h},announcement:h}}}return{...t,transcript:t.transcript.map(p=>p.id===r.id?{...p,...r.patch,...r.contentDelta===void 0?{}:{content:`${p.content??""}${r.contentDelta}`}}:p)};case"transcript_finalize":return{...t,transcript:t.transcript.map(p=>p.id===r.id?{...p,...r.patch,live:!1}:p)};case"transcript_remove":return{...t,transcript:t.transcript.filter(p=>p.id!==r.id)};case"transcript_replace":{const p=Math.max(1,r.entries.length);return{...t,transcript:r.entries.slice(-ko).map((h,g)=>({...h,eventId:`${l}:${g}`,order:a-1+(g+1)/(p+1),receivedAt:d,live:!1}))}}case"transcript_clear":return{...Vs(t),activeSessionId:t.activeSessionId,statusMessage:"新会话已就绪"};case"status_changed":return{...t,statusMessage:r.message};case"permission_requested":return{...t,permission:{...r.request,eventId:l},announcement:`需要确认工具权限:${r.request.name}`};case"tool_started":{const p={callId:r.event.callId,eventId:l,order:a,name:r.event.name,args:r.event.args,sequence:r.event.sequence,state:"running",startedAt:d};return{...t,tools:ba(t.tools,p),announcement:`工具 ${p.name} 已开始`}}case"tool_finished":{const p=t.tools.find(g=>g.callId===r.event.callId),h={callId:r.event.callId,eventId:p?.eventId??l,order:p?.order??a,name:r.event.name,args:r.event.args,sequence:r.event.sequence,state:r.event.skipped?"skipped":r.event.success?"success":"error",startedAt:p?.startedAt,finishedAt:d,duration:r.event.duration,summary:r.event.summary,error:r.event.error,outputBytes:r.event.outputBytes,artifactId:r.event.artifactRef?.id,authorization:r.event.authorization};return{...t,tools:ba(t.tools,h),announcement:`工具 ${h.name} ${h.state==="success"?"已完成":h.state==="skipped"?"已跳过":"失败"}`}}case"edit_preview_requested":{const p={eventId:l,order:a,receivedAt:d,request:r.request};return{...t,edits:mo(t.edits,p,qv)}}case"session_restored":return{...t,activeSessionId:r.event.sessionId,statusMessage:`已恢复 ${r.event.restoredMessages} 条消息`,announcement:"会话恢复完成",notice:r.event.warnings&&r.event.warnings.length>0?{id:a,tone:"warning",title:"会话已恢复,但有注意事项",detail:r.event.warnings.join(" ")}:t.notice};case"loop_stats_updated":return{...t,loopStats:r.stats};case"trace_event_recorded":return{...t,traces:mo(t.traces,r.event,Wv)};case"harness_diagnostics_updated":return{...t,diagnostics:{...t.diagnostics??{},harness:r.diagnostics}};case"subtask_event":{const p={...r.event,eventId:l,order:a,updatedAt:d},h=[...t.subtasks.filter(g=>g.taskId!==p.taskId),p].slice(-256);return{...t,subtasks:h}}case"research_event":return{...t,research:ey(t.research,r.event,l,a,d)};case"goal_event":return Zv(t,r.event,d);case"effort_event":return{...t,effort:r.event};case"followup_queue_changed":return{...t,queue:r.snapshot};case"processing_changed":return{...t,processing:r.processing,permission:r.processing?t.permission:null,announcement:r.processing?"Orion 开始处理任务":"Orion 已完成当前处理"};case"agent_mode_changed":return{...t,mode:r.snapshot};case"clear_view":return{...t,transcript:[],tools:[],edits:[]};case"shutdown_requested":return{...t,connection:"closed",processing:!1,permission:null,statusMessage:r.reason??"Web Host 已关闭",announcement:"Orion Web Host 已关闭"};case"session_picker_requested":case"model_picker_requested":return t}}function Xd(t,r,l=!0){const a=zf(r).slice(-ko),d=Bf(r.runtime.agentMode)?r.runtime.agentMode:t.mode.baseMode,p=r.pendingApprovals[0],h=Ff(r.goal);return{...Vs(t),lastCursor:l?Math.max(t.lastCursor,r.eventCursor):t.lastCursor,activeSessionId:r.session.id,sessionProjectionById:Ro(t.sessionProjectionById,r),sessionRuntimeById:Po(t.sessionRuntimeById,r.sessionRuntime),sessions:Yt(t.sessions,r.session),workspaceSessions:t.workspaceId?{...t.workspaceSessions,[t.workspaceId]:{status:"ready",items:Yt(t.workspaceSessions[t.workspaceId]?.items??t.sessions,r.session),nextCursor:t.workspaceSessions[t.workspaceId]?.nextCursor??t.sessionNextCursor}}:t.workspaceSessions,transcript:a,permission:p?{id:p.id,name:p.toolName,reason:p.reason,args:{...p.sanitizedArguments},eventId:`snapshot:${p.id}`}:null,processing:r.runtime.processing,statusMessage:r.runtime.status,mode:r.composer.mode??{baseMode:d,pendingBaseMode:null},queue:{items:r.composer.queue.items.map(g=>({...g})),limit:r.composer.queue.limit},goal:h,plan:r.plan??null,composer:r.composer,sessionSnapshot:r,diagnostics:{...t.diagnostics??{},activeSessionId:r.session.id,processing:r.runtime.processing,agentMode:d,permissionMode:r.runtime.permissionMode,contextUsage:r.runtime.contextUsage,tokenUsage:r.runtime.tokenUsage,plan:r.plan?.body??null,recoveryDiagnostics:r.recoveryDiagnostics},announcement:"会话快照已同步"}}function Jd(t,r){const l=t.workspaceId?{...t.workspaceSessions,[t.workspaceId]:{status:"ready",items:Yt(t.workspaceSessions[t.workspaceId]?.items??t.sessions,r.session),nextCursor:t.workspaceSessions[t.workspaceId]?.nextCursor??t.sessionNextCursor}}:t.workspaceSessions;return{...t,sessionProjectionById:Ro(t.sessionProjectionById,r),sessionRuntimeById:Po(t.sessionRuntimeById,r.sessionRuntime),sessions:Yt(t.sessions,r.session),workspaceSessions:l}}function Of(t,r){const l=t.sessionProjectionById[r.sessionId],a=l?Ro(t.sessionProjectionById,{...l,sessionRuntime:r.sessionRuntime,composer:r}):t.sessionProjectionById;return{...t,composer:r,sessionSnapshot:t.sessionSnapshot?.session.id===r.sessionId?{...t.sessionSnapshot,sessionRuntime:r.sessionRuntime,composer:r}:t.sessionSnapshot,sessionProjectionById:a,sessionRuntimeById:Po(t.sessionRuntimeById,r.sessionRuntime),processing:r.processing,mode:r.mode,queue:{items:r.queue.items.map(d=>({...d})),limit:r.queue.limit},diagnostics:{...t.diagnostics??{},contextUsage:r.contextUsage,agentMode:r.mode.baseMode}}}function Xv(t,r){const l=Yt(t.sessions,r.session),a=t.workspaceSessions[t.workspaceId],d=!t.composer||t.composer.controlRevision===r.composer.controlRevision?r.composer:t.composer;return{...t,sessions:l,workspaceSessions:{...t.workspaceSessions,[t.workspaceId]:{status:"ready",items:Yt(a?.items??t.sessions,r.session),nextCursor:a?.nextCursor??t.sessionNextCursor}},goal:Ff(r.goal),plan:r.plan,composer:d,sessionSnapshot:t.sessionSnapshot?.session.id===r.session.id?{...t.sessionSnapshot,session:r.session,goal:r.goal,plan:r.plan,composer:d,recoveryDiagnostics:r.recoveryDiagnostics}:t.sessionSnapshot,diagnostics:{...t.diagnostics??{},plan:r.plan?.body??null,recoveryDiagnostics:r.recoveryDiagnostics}}}function zf(t){return t.transcript.items.map((r,l)=>{const a=Number.parseInt(r.id.split(":").at(-1)??"",10);return{id:r.id,role:r.role,content:r.content,eventId:`snapshot:${r.id}`,order:-1e9+(Number.isSafeInteger(a)?a:l),receivedAt:ny(r.timestamp),live:!1}})}function Ff(t){if(!t||!Fs(t.state))return null;const r=t.state;if(typeof r.goalId!="string"||typeof r.objective!="string"||typeof r.status!="string")return null;const l=Fs(r.budget)?r.budget:null,a=Fs(r.lastStopDecision)?r.lastStopDecision:null,d=a&&Fs(a.reason)?uo(a.reason.message):uo(r.stopReason),p=Fs(r.criteria)?{passed:rt(r.criteria.passed),total:rt(r.criteria.total),failed:rt(r.criteria.failed),stale:rt(r.criteria.stale)}:void 0;return{goalId:r.goalId,revision:rt(r.revision,rt(r.generation,1)),objective:r.objective,status:r.status,tokenBudget:wa(r.tokenBudget)??wa(l?.maxTokens),tokensUsed:rt(r.tokensUsed),timeUsedMs:rt(r.timeUsedMs,rt(r.elapsedMs)),continuationCount:rt(r.continuationCount),updatedAt:rt(r.updatedAt),stopReason:d,criteria:p,planRevision:wa(r.planRevision),planPhase:uo(r.planPhase),nextAction:uo(r.nextAction),auditRemaining:Array.isArray(r.auditRemaining)?r.auditRemaining.filter(h=>typeof h=="string"):void 0}}function Qt(t,r,l){const a=new Map(t.map(d=>[l(d),d]));for(const d of r)a.set(l(d),d);return[...a.values()]}function Jv(t,r){const l=t.findIndex(d=>d.id===r.id);if(l<0)return[r,...t];const a=[...t];return a[l]=r,a}function Zd(t,r){const l=t.workspaceId,a=l?t.workspaceSessions[l]:void 0,d=(a?.items??t.sessions).filter(p=>p.id!==r);return{...t,sessions:l?d:t.sessions,workspaceSessions:l?{...t.workspaceSessions,[l]:{status:(a?.status??"ready")==="error"?"error":"ready",items:d,nextCursor:a?.nextCursor??null,error:a?.error}}:t.workspaceSessions}}function ef(t,r){const l=t.workspaceId,a=l?t.workspaceSessions[l]:void 0,d=a?.items??t.sessions,p=r(d),h=a?.status==="error"?"error":a?.status==="loading"?"loading":"ready";return{...t,sessions:l?p:t.sessions,workspaceSessions:l?{...t.workspaceSessions,[l]:{status:h,items:p,nextCursor:a?.nextCursor??null,error:a?.error}}:t.workspaceSessions}}function Zv(t,r,l){switch(r.type){case"goal_updated":case"goal_restored":return{...t,goal:r.goal,goalActivity:Gr(t.goalActivity,r.type,"Goal 状态已更新",l)};case"goal_completed":return{...t,goal:r.goal,goalActivity:Gr(t.goalActivity,r.type,r.audit.verificationSummary,l),announcement:"Goal 已完成并通过运行时审计"};case"goal_cleared":return{...t,goal:null,goalEvidence:[],goalActivity:Gr(t.goalActivity,r.type,r.reason,l)};case"goal_plan_updated":return{...t,goal:t.goal?{...t.goal,planRevision:r.planRevision,planPhase:r.phase,nextAction:r.nextAction}:t.goal,goalActivity:Gr(t.goalActivity,r.type,r.nextAction??`Plan phase: ${r.phase}`,l)};case"goal_evidence_recorded":{const a=r.evidence;return{...t,goalEvidence:[...t.goalEvidence.filter(d=>d.id!==a.id),a].slice(-256)}}case"goal_continuation":return{...t,goalActivity:Gr(t.goalActivity,`${r.type}:${r.phase}`,r.reason,l)};case"goal_audit_failed":return{...t,goalActivity:Gr(t.goalActivity,r.type,r.summary,l),notice:{id:Date.parse(l),tone:"warning",title:"Goal 审计尚未通过",detail:r.summary}}}}function ey(t,r,l,a,d){const h=t.find(k=>k.packetId===r.packetId)??{packetId:r.packetId,eventId:l,order:a,updatedAt:d,stage:"running",sources:[],conflicts:[]};let g;switch(r.type){case"research_started":g={...h,eventId:l,order:a,updatedAt:d,objective:r.objective,mode:r.mode,stage:"running"};break;case"research_source":{const k={id:r.sourceId,provider:r.provider,status:r.status,title:r.title,location:r.displayUrl??r.canonicalUrl??r.projectPath,failureReason:r.failureReason};g={...h,eventId:l,order:a,updatedAt:d,sources:[...h.sources.filter(b=>b.id!==k.id),k].slice(-64)};break}case"research_conflict":g={...h,eventId:l,order:a,updatedAt:d,conflicts:[...h.conflicts.filter(k=>k!==r.claimId),r.claimId].slice(-64)};break;case"research_completed":g={...h,eventId:l,order:a,updatedAt:d,stage:r.stage,auditStatus:r.auditStatus,conclusion:r.conclusion,summary:r.summary};break}return[...t.filter(k=>k.packetId!==r.packetId),g].slice(-128)}function ba(t,r){return[...t.filter(l=>l.callId!==r.callId),r].sort((l,a)=>l.order-a.order).slice(-1e3)}function Ro(t,r){const l=Object.entries(t).filter(([d])=>d!==r.session.id);l.push([r.session.id,r]);let a=l.reduce((d,[,p])=>d+nf(p),0);for(;l.length>1&&(l.length>Hv||a>Lf);){const d=l.shift();d&&(a-=nf(d[1]))}return Object.freeze(Object.fromEntries(l))}function Po(t,r){const l=Object.entries(t).filter(([a])=>a!==r.sessionId);return l.push([r.sessionId,r]),Object.freeze(Object.fromEntries(l.slice(-64)))}function nf(t){try{return JSON.stringify(t).length*2}catch{return Lf}}function Vs(t){return{...t,transcript:[],tools:[],edits:[],subtasks:[],research:[],permission:null,processing:!1,statusMessage:"",queue:{items:[],limit:16},goal:null,goalEvidence:[],goalActivity:[],sessionSnapshot:null,composer:null,modelCatalog:null,plan:null,loopStats:null,traces:[]}}function qs(t,r,l){const a={...t.sessionSync};delete a[r],a[r]=l;const d=Object.keys(a).length-Vv;return d>0&&Object.keys(a).filter(p=>p!==t.activeSessionId&&p!==r).slice(0,d).forEach(p=>delete a[p]),{...t,sessionSync:a}}function co(t,r){const l={sessionSwitches:t.clientTelemetry.sessionSwitches+(r.sessionSwitches??0),snapshotCacheHits:t.clientTelemetry.snapshotCacheHits+(r.snapshotCacheHits??0),snapshotLoads:t.clientTelemetry.snapshotLoads+(r.snapshotLoads??0),snapshotFailures:t.clientTelemetry.snapshotFailures+(r.snapshotFailures??0)};return{...t,clientTelemetry:l}}function tf(t,r){const l=qs(t,r,{status:"ready",requestId:t.sessionSync[r]?.requestId??null});return l.notice?.domain!=="session-snapshot"||l.notice.sessionId!==r?l:{...l,notice:null}}function rf(t,r,l){return l===void 0||t.sessionSync[r]?.requestId===l}function sf(t,r,l){return(r===void 0||t.contextRevision===r)&&(l===void 0||t.workspaceId===l)}function Gr(t,r,l,a){return mo(t,{type:r,message:l,timestamp:a},Uv)}function mo(t,r,l){const a=[...t,r];return a.length<=l?a:a.slice(a.length-l)}function of(t,r){const l=t.agentMode;return Bf(l)?{baseMode:l,pendingBaseMode:null}:r}function Bf(t){return t==="interactive"||t==="plan"||t==="auto"}function ny(t){const r=new Date(t);return Number.isFinite(r.getTime())?r.toISOString():new Date(0).toISOString()}function Fs(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function rt(t,r=0){return typeof t=="number"&&Number.isFinite(t)?t:r}function wa(t){return typeof t=="number"&&Number.isFinite(t)?t:void 0}function uo(t){return typeof t=="string"&&t?t:void 0}function ty(){return typeof navigator>"u"||navigator.onLine}function ry(t,r){return t==="live"?"本地 Web Host 事件流已连接":t==="offline"?"浏览器已离线,本地 Web Host 将在网络恢复后重连":t==="reconnecting"?`正在重新连接本地 Web Host,第 ${Math.max(1,r)} 次尝试`:t==="connecting"?"正在连接本地 Web Host":t==="replay-required"?"本地 Web Host 事件历史需要重新载入":"本地 Web Host 已关闭"}const lf="orion.web.theme",af="orion.web.motion";function sy(t){const r=uf(lf),l=uf(af),a=iy(r),d=oy(l),p=[],h=[];return r!==null&&h.push(lf),l!==null&&h.push(af),t.sections.appearance.theme.explicitValue===void 0&&a&&p.push({op:"set",key:"appearance.theme",value:a}),t.sections.appearance.motion.explicitValue===void 0&&d&&p.push({op:"set",key:"appearance.motion",value:d}),{operations:p,keysToClear:h}}function cf(t){if(!(typeof window>"u"))for(const r of t)try{window.localStorage.removeItem(r)}catch{}}function uf(t){if(typeof window>"u")return null;try{return window.localStorage.getItem(t)}catch{return null}}function iy(t){return t==="system"||t==="light"||t==="dark"?t:null}function oy(t){return t==="system"||t==="reduced"?t:null}class ly{constructor(r){Un(this,"read");Un(this,"snapshot",Object.freeze({status:"idle",document:null,lastGood:null,stale:!1,error:null,generation:0}));Un(this,"listeners",new Set);Un(this,"inFlight",null);Un(this,"rerun",!1);Un(this,"generation",0);Un(this,"disposed",!1);this.read=r}getSnapshot(){return this.snapshot}subscribe(r){return this.listeners.add(r),()=>this.listeners.delete(r)}ensure(){return this.snapshot.document||this.inFlight?this.inFlight??Promise.resolve(this.snapshot):this.refresh()}refresh(){if(this.disposed)return Promise.resolve(this.snapshot);if(this.inFlight)return this.rerun=!0,this.inFlight;const r=Promise.resolve().then(()=>this.run());return this.inFlight=r,r}accept(r){return this.disposed?this.snapshot:(this.generation+=1,this.inFlight&&(this.rerun=!0),this.publishDocument(r))}invalidate(r,l){return this.snapshot.document?.revision===r&&(l==="ready"?this.snapshot.document.state==="ready":this.snapshot.document.state==="invalid")?Promise.resolve(this.snapshot):(this.setSnapshot({...this.snapshot,stale:!0}),this.refresh())}reset(){this.disposed||(this.generation+=1,this.rerun=!1,this.setSnapshot({status:"idle",document:null,lastGood:null,stale:!1,error:null,generation:this.generation}))}dispose(){this.disposed=!0,this.generation+=1,this.listeners.clear()}async run(){try{do{this.rerun=!1;const r=++this.generation;this.setSnapshot({...this.snapshot,status:this.snapshot.document?"ready":"loading",error:null,generation:r});try{const l=await this.read();if(this.disposed)return this.snapshot;if(r!==this.generation)continue;this.publishDocument(l)}catch(l){if(this.disposed)return this.snapshot;if(r!==this.generation)continue;this.setSnapshot({...this.snapshot,status:this.snapshot.document?"ready":"unavailable",stale:!0,error:l instanceof Error?l.message:"设置读取失败。",generation:r})}}while(this.rerun&&!this.disposed);return this.snapshot}finally{if(this.inFlight=null,this.rerun&&!this.disposed)return this.refresh()}}publishDocument(r){const l=r.state==="ready"?r:this.snapshot.lastGood;return this.setSnapshot({status:"ready",document:r,lastGood:l,stale:!1,error:null,generation:this.generation}),this.snapshot}setSnapshot(r){this.snapshot=Object.freeze(r);for(const l of this.listeners)l()}}function ay(t,r,l){if(t)return t;const a=new Set(r.map(d=>d.id));return l&&a.has(l)?l:r[0]?.id??null}const cy=7,uy=2;function dy(){const t=m.useMemo(()=>new rg,[]),r=m.useMemo(()=>new ly(()=>t.settings()),[t]),[l,a]=m.useReducer(Kv,mf),[d,p]=m.useState(0),h=m.useRef(l),g=m.useRef(null),k=m.useRef(0),b=m.useRef(0),T=m.useRef(new Map),N=m.useRef(0),$=m.useRef(0),M=m.useRef(new Map),q=m.useRef(()=>{}),D=m.useRef(!1);h.current=l,m.useEffect(()=>r.subscribe(()=>{a({type:"settings_mirror_changed",snapshot:r.getSnapshot()})}),[r]);const O=m.useCallback((j,S=Ee(h.current),L={})=>{const se=`${S.workspaceId}:${S.expectedContextRevision}:${j}`,ie=M.current.get(se);if(ie&&!L.force)return ie.promise;const Ae=++$.current;a({type:"session_snapshot_started",sessionId:j,requestId:Ae,cached:!!h.current.sessionProjectionById[j],contextRevision:S.expectedContextRevision,workspaceId:S.workspaceId});const Oe=t.sessionSnapshot(j,S).then(Ze=>(df(Ze,j,S),a({type:"session_snapshot_loaded",snapshot:Ze,requestId:Ae,contextRevision:S.expectedContextRevision,workspaceId:S.workspaceId,advanceEventCursor:g.current===null}),Ze)).catch(Ze=>{const En=Xr(Ze);throw a({type:"snapshot_failed",sessionId:j,detail:En,requestId:Ae,contextRevision:S.expectedContextRevision,workspaceId:S.workspaceId}),new _e(En,Ze instanceof _e?Ze.status:503,"session_snapshot_sync_failed",Ze instanceof _e?Ze.type:void 0)}).finally(()=>{M.current.get(se)?.requestId===Ae&&M.current.delete(se)});return M.current.set(se,{requestId:Ae,promise:Oe}),Oe},[t]),Z=m.useCallback(async()=>{const j=++b.current;try{const S=await t.bootstrap(),L={expectedContextRevision:S.contextRevision,workspaceId:S.workspaceId};r.reset(),r.accept(S.settings);const[se,ie,Ae]=await Promise.all([t.listWorkspaces(L),t.listSessions(L),r.refresh()]),Oe=py(S.workspaceId,ie.sessions,S.activeSessionId);Bs(S.workspaceId,Oe);const Ze=Object.freeze({...S,activeSessionId:Oe}),En=Oe?await t.sessionSnapshot(Oe,L).then(en=>(df(en,Oe,L),{snapshot:en,error:void 0})).catch(en=>({snapshot:null,error:en})):{snapshot:null,error:void 0},Cr=await fy(t,r,Ae.document??Ae.lastGood??S.settings,L);if(j!==b.current)return;a({type:"baseline_loaded",bootstrap:Ze,workspaces:se,sessions:ie.sessions,sessionNextCursor:ie.nextCursor,diagnostics:{},settings:Cr,skills:[],skillNextCursor:null,mcpServers:[],mcpNextCursor:null,toolDetails:[],toolDetailNextCursor:null}),En.snapshot&&a({type:"session_snapshot_loaded",snapshot:En.snapshot,contextRevision:L.expectedContextRevision,workspaceId:L.workspaceId}),En.error&&a({type:"snapshot_failed",sessionId:Oe,detail:Xr(En.error),contextRevision:L.expectedContextRevision,workspaceId:L.workspaceId}),q.current();const Nr=ie.sessions.map(en=>en.id).filter(en=>en!==Oe).slice(0,cy);q.current=wy(()=>{j===b.current&&ky(Nr,uy,async en=>{j===b.current&&await O(en,L).catch(()=>{})})}),t.workspaceProjectSummary(S.workspaceId,L).then(en=>{j===b.current&&a({type:"workspace_project_summary_loaded",summary:en})}).catch(()=>{}),Promise.all([t.diagnostics(L).catch(()=>({})),t.skills(L).catch(()=>({skills:[],nextCursor:null})),t.mcp(L).catch(()=>({servers:[],nextCursor:null})),t.toolDetails(L).catch(()=>({details:[],nextCursor:null}))]).then(([en,Gs,Ys,Xs])=>{j===b.current&&(a({type:"diagnostics_loaded",diagnostics:en}),a({type:"capabilities_loaded",skills:Gs.skills,skillNextCursor:Gs.nextCursor,mcpServers:Ys.servers,mcpNextCursor:Ys.nextCursor}),a({type:"tool_details_loaded",details:Xs.details,nextCursor:Xs.nextCursor}))})}catch(S){throw S}},[t,O,r]),F=m.useCallback(async()=>{let j;for(let S=0;S<3;S+=1)try{await Z();return}catch(L){if(j=L,!yy(L)||S===2)break;await xy(100*3**S)}throw a({type:"boot_failed",message:Xr(j)}),j},[Z]);m.useEffect(()=>{if(D.current)return;D.current=!0;let j=!0;return F().catch(()=>{}),()=>{j=!1}},[F]),m.useEffect(()=>()=>{q.current()},[]);const de=l.bootstrap!==null;m.useEffect(()=>{if(!de)return;const j=t.connectEvents({cursor:h.current.lastCursor,onEvent:S=>{if(a({type:"event_received",envelope:S}),jy(S)){const L=h.current;if(S.sessionId&&L.contextRevision&&L.workspaceId){const se=S.sessionId,ie=++N.current;T.current.set(se,ie);const Ae=L.contextRevision,Oe=L.workspaceId;t.sessionSnapshot(se,{expectedContextRevision:Ae,workspaceId:Oe}).then(Ze=>{T.current.get(se)===ie&&a({type:"durable_session_metadata_loaded",snapshot:Ze,contextRevision:Ae,workspaceId:Oe})}).catch(()=>{}).finally(()=>{T.current.get(se)===ie&&T.current.delete(se)})}}S.type==="settings_invalidated"&&r.invalidate(S.payload.revision,S.payload.state)},onStatus:(S,L)=>a({type:"connection_changed",phase:S,attempt:L}),onProtocolError:S=>a({type:"notice",notice:{id:Date.now(),tone:"error",title:"收到无法识别的 Web Host 事件流消息",detail:S}})});return g.current=j,()=>{j.close(),g.current===j&&(g.current=null)}},[t,de,r,d]);const X=m.useCallback(()=>{g.current?.close(),g.current=null},[]),ue=m.useCallback(()=>{p(j=>j+1)},[]);m.useEffect(()=>{!l.workspace||l.boot!=="ready"||l.pendingAction||l.bootstrap?.workspace!==l.workspace&&(X(),F().catch(j=>pf(a,"工作区刷新失败",j)).finally(ue))},[F,X,ue,l.boot,l.bootstrap?.workspace,l.pendingAction,l.workspace]),m.useEffect(()=>{l.boot==="ready"&&(l.pendingAction||!l.activeSessionId||l.bootstrap?.workspace===l.workspace&&l.sessionSnapshot?.session.id!==l.activeSessionId&&O(l.activeSessionId).catch(()=>{}))},[O,l.activeSessionId,l.boot,l.bootstrap?.workspace,l.pendingAction,l.sessionSnapshot,l.workspace]);const I=m.useCallback(async(j,S)=>{const L=++k.current;a({type:"pending_action",label:j});try{return await S()}catch(se){throw vy(se)||pf(a,`${j}失败`,se),se}finally{k.current===L&&a({type:"pending_action",label:null})}},[]),R=m.useCallback(async(j,S)=>I(j,async()=>{if(h.current.connection!=="live")throw new _e("本地 Web Host 连接尚未就绪,请在连接恢复后重试。",409,"session_not_synchronized");const L=h.current.activeSessionId;if(!L)throw new _e("当前没有可接收命令的活动会话。",409,"active_session_changed");const se=h.current.sessionSnapshot;if(!se||!vr(h.current))throw new _e("当前会话快照尚未同步,请刷新后重试。",409,"session_runtime_revision_conflict");try{const ie=await t.command({...S,workspaceId:h.current.workspaceId,expectedContextRevision:h.current.contextRevision,expectedSessionId:L,expectedSessionRuntimeRevision:se.sessionRuntime.runtimeRevision});return my(ie),ie}catch(ie){throw ie instanceof _e&&["context_revision_conflict","active_session_changed","session_runtime_revision_conflict"].includes(ie.code??"")?(a({type:"snapshot_failed",sessionId:L,detail:ie.message,contextRevision:h.current.contextRevision,workspaceId:h.current.workspaceId}),new _e(ie.message,ie.status,"session_runtime_revision_conflict",ie.type)):ie}}),[t,I]),ne=m.useCallback(async(j,S)=>I(j,async()=>{const L=h.current,se=L.composer;if(L.connection!=="live"||!L.activeSessionId||!vr(L)||!se||se.sessionId!==L.activeSessionId)throw new _e("Composer 控制状态尚未与活动会话同步。",409,"composer_control_conflict");try{const ie=await t.composerAction(L.activeSessionId,{...S,workspaceId:L.workspaceId,expectedContextRevision:L.contextRevision,expectedSessionId:L.activeSessionId,expectedSessionRuntimeRevision:se.sessionRuntime.runtimeRevision,expectedControlRevision:se.controlRevision});return a({type:"composer_loaded",composer:ie.state}),ie}catch(ie){throw ie instanceof _e&&["composer_control_conflict","context_revision_conflict","active_session_changed","session_runtime_revision_conflict"].includes(ie.code??"")?(a({type:"snapshot_failed",sessionId:L.activeSessionId,detail:ie.message,contextRevision:L.contextRevision,workspaceId:L.workspaceId}),new _e(ie.message,ie.status,"composer_control_conflict",ie.type)):ie}}),[t,I]),J=m.useCallback(()=>I("重新连接",F),[F,I]),je=m.useCallback(()=>I("刷新诊断",async()=>{const j=++b.current,S=await t.diagnostics(Ee(h.current));j===b.current&&a({type:"diagnostics_loaded",diagnostics:S})}),[t,I]),Ne=m.useCallback(()=>I("刷新工具详情",async()=>{const j=++b.current,S=await t.toolDetails(Ee(h.current));j===b.current&&a({type:"tool_details_loaded",details:S.details,nextCursor:S.nextCursor})}),[t,I]),Re=m.useCallback(()=>I("加载更多工作区",async()=>{const j=Ee(h.current),S=h.current.workspaceNextCursor;if(S)try{const L=await t.listWorkspaces(j,S);a({type:"workspaces_loaded",value:L,append:!0})}catch(L){if(!fo(L))throw L;a({type:"workspaces_loaded",value:await t.listWorkspaces(j)})}}),[t,I]),W=m.useCallback(()=>I("加载更多会话",async()=>{const j=h.current.sessionNextCursor;if(!j)return;const S=Ee(h.current);try{const L=await t.listSessions(S,j);a({type:"sessions_loaded",sessions:L.sessions,nextCursor:L.nextCursor,append:!0})}catch(L){if(!fo(L))throw L;const se=await t.listSessions(S);a({type:"sessions_loaded",sessions:se.sessions,nextCursor:se.nextCursor})}}),[t,I]),we=m.useCallback(async(j,S=!1)=>{const L=Ee(h.current),se=h.current.workspaceSessions[j],ie=S?se?.nextCursor:void 0;if(S&&!ie)return;a({type:"workspace_sessions_loading",workspaceId:j});const Ae=t.workspaceProjectSummary(j,L).catch(()=>null);try{const Oe=await t.listWorkspaceSessions(j,L,ie??void 0);a({type:"workspace_sessions_loaded",workspaceId:j,sessions:Oe.sessions,nextCursor:Oe.nextCursor,append:S});const Ze=await Ae;Ze&&a({type:"workspace_project_summary_loaded",summary:Ze})}catch(Oe){throw a({type:"workspace_sessions_failed",workspaceId:j,detail:Xr(Oe)}),Oe}},[t]),Q=m.useCallback(async j=>{const S=await t.workspaceProjectSummary(j,Ee(h.current));a({type:"workspace_project_summary_loaded",summary:S})},[t]),me=m.useCallback(()=>I("加载更多能力",async()=>{const j=Ee(h.current),S=h.current.skillNextCursor,L=h.current.mcpNextCursor;if(!(!S&&!L))try{const[se,ie]=await Promise.all([S?t.skills(j,S):Promise.resolve({skills:[],nextCursor:null}),L?t.mcp(j,L):Promise.resolve({servers:[],nextCursor:null})]);a({type:"capabilities_loaded",skills:se.skills,skillNextCursor:se.nextCursor,mcpServers:ie.servers,mcpNextCursor:ie.nextCursor,append:!0})}catch(se){if(!fo(se))throw se;const[ie,Ae]=await Promise.all([t.skills(j),t.mcp(j)]);a({type:"capabilities_loaded",skills:ie.skills,skillNextCursor:ie.nextCursor,mcpServers:Ae.servers,mcpNextCursor:Ae.nextCursor})}}),[t,I]),ve=m.useCallback(()=>I("加载更多工具详情",async()=>{const j=Ee(h.current),S=h.current.toolDetailNextCursor;if(S)try{const L=await t.toolDetails(j,S);a({type:"tool_details_loaded",details:L.details,nextCursor:L.nextCursor,append:!0})}catch(L){if(!fo(L))throw L;const se=await t.toolDetails(j);a({type:"tool_details_loaded",details:se.details,nextCursor:se.nextCursor})}}),[t,I]),H=m.useCallback(async()=>{const j=h.current;if(j.connection!=="replay-required"){if(!j.activeSessionId)return;await O(j.activeSessionId,Ee(j),{force:!0});return}await I("恢复本地 Web Host 事件流",async()=>{X(),a({type:"recovering"});try{await F()}finally{ue()}})},[F,O,X,ue,I]),te=m.useCallback(j=>I("切换工作区",async()=>{X();try{const S=await t.activateWorkspace(j,Ee(h.current));a({type:"workspaces_loaded",value:S}),a({type:"reset_session_view",activeSessionId:null}),await F()}finally{ue()}}),[t,F,X,ue,I]),G=m.useCallback(j=>{const S=h.current;if(S.activeSessionId===j&&S.sessionSnapshot&&S.sessionSync[j]?.status==="ready")return Promise.resolve();const L=Ee(S);return(async()=>{Bs(L.workspaceId,j),a({type:"reset_session_view",activeSessionId:j}),await O(j,L)})()},[O]),w=m.useCallback((j,S)=>j===h.current.workspaceId&&S?G(S):I("切换项目上下文",async()=>{const L=h.current,se=L.contextRevision;if(!se)throw new _e("工作区上下文尚未完成同步。",409,"context_revision_conflict");if(j===L.workspaceId){Bs(j,S),a({type:"reset_session_view",activeSessionId:S}),S&&await O(S,Ee(L));return}Bs(j,S),X(),++b.current;try{const ie=await t.activateContext({expectedContextRevision:se,workspaceId:j,sessionId:S});if(ie.contextRevision!==ie.bootstrap.contextRevision||ie.bootstrap.workspaceId!==j)throw new _e("Host 返回的项目上下文不一致。",502,"context_response_invalid");a({type:"reset_session_view",activeSessionId:S}),await F()}catch(ie){throw ie instanceof _e&&(ie.code==="context_revision_conflict"||ie.code==="active_session_changed")&&a({type:"snapshot_failed",sessionId:null,detail:ie.message}),ie}finally{ue()}}),[t,F,O,X,ue,I,G]),A=m.useCallback((j,S)=>I(S?"置顶项目":"取消置顶",async()=>{await t.setWorkspacePinned(j,S,Ee(h.current)),a({type:"workspaces_loaded",value:await t.listWorkspaces(Ee(h.current))})}),[t,I]),P=m.useCallback(j=>I("移除项目",async()=>{const S=h.current;if(!S.contextRevision)throw new _e("工作区上下文尚未完成同步。",409,"context_revision_conflict");await t.removeWorkspace(j,Ee(S)),Im(j),a({type:"workspaces_loaded",value:await t.listWorkspaces(Ee(h.current))})}),[t,I]),le=m.useCallback(()=>I("创建会话",async()=>{const j=Ee(h.current),S=await t.createSession(j);Bs(j.workspaceId,S.id),a({type:"sessions_loaded",sessions:Yt(h.current.sessions,S),nextCursor:h.current.sessionNextCursor}),a({type:"reset_session_view",activeSessionId:S.id}),await O(S.id,j)}),[t,O,I]),ge=G,ye=m.useCallback(()=>I("加载更早记录",async()=>{const j=h.current.sessionSnapshot,S=h.current.activeSessionId,L=j?.transcript.nextCursor;if(!(!j||!S||!L))try{const se=await t.sessionSnapshot(S,Ee(h.current),L);if(se.session.id!==j.session.id||se.threadId!==j.threadId||se.threadCursor!==j.threadCursor||se.projectionDigest!==j.projectionDigest)throw new _e("加载历史记录时会话快照发生变化,正在恢复最新快照。",409,"transcript_cursor_stale");a({type:"older_transcript_loaded",snapshot:se})}catch(se){if(!(se instanceof _e)||se.code!=="transcript_cursor_stale")throw se;X(),a({type:"recovering"});try{await O(S,Ee(h.current),{force:!0})}finally{ue()}}}),[t,O,X,ue,I]),be=m.useCallback((j,S)=>I("重命名会话",async()=>{const L=await t.renameSession(j,S,Ee(h.current)),se=Yt(h.current.sessions,L);a({type:"sessions_loaded",sessions:se,nextCursor:h.current.sessionNextCursor})}),[t,I]),ke=m.useCallback((j,S)=>I("更新会话标签",async()=>{const L=await t.updateSessionTags(j,S,Ee(h.current));a({type:"session_updated",session:L})}),[t,I]),Pe=m.useCallback(j=>I("归档会话",async()=>{const S=await t.archiveSession(j,Ee(h.current));a({type:"session_archived",session:S})}),[t,I]),He=m.useCallback(j=>I("还原会话",async()=>{const S=await t.restoreSession(j,Ee(h.current));a({type:"session_restored",session:S})}),[t,I]),Ce=m.useCallback(j=>I("删除会话",async()=>{await t.deleteSession(j,Ee(h.current)),a({type:"session_deleted",sessionId:j})}),[t,I]),sn=m.useCallback(async(j,S=!1)=>{const L=Ee(h.current),se=h.current.archivedSessions,ie=S?se?.nextCursor:void 0;if(!(S&&!ie)){a({type:"archived_sessions_loading",workspaceId:j});try{const Ae=await t.listArchivedWorkspaceSessions(j,L,ie??void 0);a({type:"archived_sessions_loaded",workspaceId:j,sessions:Ae.sessions,nextCursor:Ae.nextCursor,append:S})}catch(Ae){throw a({type:"archived_sessions_failed",workspaceId:j,detail:Xr(Ae)}),Ae}}},[t]),Ye=m.useCallback((j,S)=>R("提交任务",{type:"submit",text:j,contextReferences:S}),[R]),pn=m.useCallback((j,S)=>R("加入队列",{type:"queue_followup",text:j,contextReferences:S}),[R]),Kn=m.useCallback(async(j,S)=>{await ne("移除排队消息",{type:"remove_queue_item",itemId:j,expectedItemRevision:S})},[ne]),$n=m.useCallback(async(j,S,L)=>{await ne("编辑排队消息",{type:"edit_queue_item",itemId:j,expectedItemRevision:S,text:L})},[ne]),bn=m.useCallback(async(j,S,L)=>{await ne("移动排队消息",{type:"move_queue_item",itemId:j,expectedItemRevision:S,targetIndex:L})},[ne]),gn=m.useCallback(async()=>{await R("清空队列",{type:"clear_followups"})},[R]),on=m.useCallback(async()=>{const j=h.current.sessionSnapshot?.sessionRuntime;if(!j||j.phase!=="queued"||!j.queueId)throw new _e("排队任务已变化,请等待状态同步后重试。",409,"session_queue_conflict");await R("取消排队任务",{type:"cancel_queued_turn",queueId:j.queueId})},[R]),ot=m.useCallback(async()=>{await R("中断任务",{type:"interrupt"})},[R]),Qn=m.useCallback(async j=>{h.current.mode.baseMode===j&&!h.current.mode.pendingBaseMode||await ne("切换模式",{type:"set_agent_mode",mode:j})},[ne]),Gn=m.useCallback(async j=>{await ne(j===null?"继承项目权限":"切换会话权限",j===null?{type:"clear_permission_override"}:{type:"set_permission_override",value:j})},[ne]),bt=m.useCallback(()=>I("加载模型目录",async()=>{const j=h.current;if(!j.activeSessionId)return;const S=await t.modelCatalog(j.activeSessionId,Ee(j));a({type:"model_catalog_loaded",catalog:S})}),[t,I]),Xt=m.useCallback(async(j,S)=>{await ne("切换会话模型",{type:"select_model",modelId:j,...S?{effort:S}:{}})},[ne]),Y=m.useCallback(async()=>{await ne("压缩上下文",{type:"compact_context"})},[ne]),fe=m.useCallback(async(j,S,L)=>{await ne("审核计划",{type:"review_plan",planDigest:j,action:S,...L?{feedback:L}:{}})},[ne]),Se=m.useCallback(async(j,S="once")=>{const L=h.current.permission;L&&(await R(j?"确认工具权限":"拒绝工具权限",{type:"permission_decision",requestPermissionId:L.id,approved:j,scope:S}),a({type:"approval_resolved",requestId:L.id,approved:j}))},[R]),De=m.useCallback(async(j,S)=>{await R("更新 Goal",{type:"goal_control",goalAction:j,objective:S});const L=++b.current;X();try{const se=h.current.activeSessionId,ie=Ee(h.current),[Ae]=await Promise.all([t.diagnostics(ie),se?O(se,ie,{force:!0}):Promise.resolve()]);if(L!==b.current)return;a({type:"diagnostics_loaded",diagnostics:Ae})}finally{ue()}},[t,O,X,ue,R]),An=m.useCallback(async()=>{const j=await r.refresh(),S=j.document??j.lastGood;if(!S)throw new _e(j.error??"设置尚不可用。",503);return S},[r]),Dn=m.useCallback(async(j,S,L)=>{if(S.length<1||S.length>20)throw new _e("设置变更必须包含 1 到 20 个字段。",400,"settings_invalid_operation");const se=await t.updateSettings(j,S,Ee(h.current),L);return r.accept(se.settings),se},[t,r]),Ln=m.useCallback(async()=>{await t.openSettingsDocument()},[t]),pt=m.useCallback((j,S=0)=>t.readToolDetail(j,Ee(h.current),S),[t]),ts=m.useCallback((j,S)=>t.listFiles(Ee(h.current),j,S),[t]),rs=m.useCallback((j,S)=>t.readFileContent(j,Ee(h.current),S),[t]),Ks=m.useCallback(j=>t.gitStatus(Ee(h.current),j),[t]),xr=m.useCallback(j=>t.gitLog(Ee(h.current),j),[t]),wr=m.useCallback((j,S)=>t.gitDiff(j,Ee(h.current),S),[t]),kr=m.useCallback(()=>t.review(Ee(h.current)),[t]),jr=m.useCallback(async()=>(await t.terminals(Ee(h.current))).terminals,[t]),Sr=m.useCallback(async(j,S)=>{const L=h.current;if(!L.contextRevision||!L.workspaceId)throw new _e("工作区上下文尚未完成同步。",409,"context_revision_conflict");return t.createTerminal({expectedContextRevision:L.contextRevision,workspaceId:L.workspaceId,cols:j,rows:S})},[t]),ht=m.useCallback(async j=>{const S=h.current;if(!S.contextRevision||!S.workspaceId)throw new _e("工作区上下文尚未完成同步。",409,"context_revision_conflict");return t.terminalAttachTicket(j,{expectedContextRevision:S.contextRevision,workspaceId:S.workspaceId})},[t]),mt=m.useCallback(async j=>{const S=h.current;if(!S.contextRevision||!S.workspaceId)throw new _e("工作区上下文尚未完成同步。",409,"context_revision_conflict");await t.closeTerminal(j,{expectedContextRevision:S.contextRevision,workspaceId:S.workspaceId})},[t]),ss=m.useCallback(j=>t.terminalSocket(j),[t]),is=m.useCallback(()=>a({type:"notice",notice:null}),[]),Qs=m.useMemo(()=>({retryBoot:J,refreshDiagnostics:je,refreshToolDetails:Ne,loadMoreWorkspaces:Re,loadMoreSessions:W,loadWorkspaceSessions:we,refreshWorkspaceProjectSummary:Q,loadMoreCapabilities:me,loadMoreToolDetails:ve,recoverSession:H,switchWorkspace:te,activateContext:w,setWorkspacePinned:A,removeWorkspace:P,createSession:le,activateSession:ge,loadOlderTranscript:ye,renameSession:be,updateSessionTags:ke,archiveSession:Pe,restoreSession:He,deleteSession:Ce,loadArchivedWorkspaceSessions:sn,submit:Ye,queue:pn,removeQueued:Kn,editQueued:$n,moveQueued:bn,clearQueue:gn,cancelQueuedTurn:on,interrupt:ot,setMode:Qn,setPermissionOverride:Gn,loadModelCatalog:bt,selectModel:Xt,compactContext:Y,reviewPlan:fe,answerPermission:Se,controlGoal:De,refreshSettings:An,updateSettings:Dn,openSettingsDocument:Ln,readToolDetail:pt,listFiles:ts,readFileContent:rs,gitStatus:Ks,gitLog:xr,gitDiff:wr,review:kr,terminals:jr,createTerminal:Sr,terminalAttachTicket:ht,closeTerminal:mt,terminalSocket:ss,dismissNotice:is}),[ge,w,mt,Sr,wr,xr,Ks,ts,ye,me,W,ve,Re,bt,we,Se,gn,on,Y,fe,De,le,is,$n,ot,pn,rs,pt,kr,H,je,An,Ne,Q,Kn,P,be,He,ke,Pe,Ce,sn,J,Qn,Gn,Xt,A,Ye,te,bn,ht,ss,jr,Dn,Ln]);return{state:l,actions:Qs}}async function fy(t,r,l,a){let d=l;for(let p=0;p<2;p+=1){const h=sy(d);if(h.keysToClear.length===0||d.state!=="ready"||!d.writable)return d;if(h.operations.length===0)return cf(h.keysToClear),d;try{const g=await t.updateSettings(d.revision,h.operations,a,Qe());return r.accept(g.settings),cf(h.keysToClear),g.settings}catch(g){if(p===0&&g instanceof _e&&g.code==="settings_revision_conflict"){const k=await r.refresh(),b=k.document??k.lastGood;if(b){d=b;continue}}return d}}return d}function Ee(t){if(!t.contextRevision||!t.workspaceId)throw new _e("工作区上下文尚未完成同步。",409,"context_revision_conflict");return{expectedContextRevision:t.contextRevision,workspaceId:t.workspaceId}}function df(t,r,l){if(!(t.session.id===r&&t.sessionRuntime.sessionId===r&&t.sessionRuntime.workspaceId===l.workspaceId&&t.composer.sessionId===r&&t.composer.workspaceId===l.workspaceId&&t.composer.contextRevision===l.expectedContextRevision))throw new _e("Host 返回的会话快照身份与当前项目上下文不一致。",502,"session_snapshot_identity_mismatch")}const ff="orion.web.view-id.v1",qf="orion.web.foreground-session.v1:";function py(t,r,l){const a=Wf(`${qf}${t}`);return ay(a,r,l)}function Bs(t,r){hy();const l=`${qf}${t}`;try{r?globalThis.sessionStorage?.setItem(l,r):globalThis.sessionStorage?.removeItem(l)}catch{}}function hy(){const t=Wf(ff);if(t)return t;const r=globalThis.crypto?.randomUUID?.()??`view-${Date.now().toString(36)}`;try{globalThis.sessionStorage?.setItem(ff,r)}catch{}return r}function Wf(t){try{return globalThis.sessionStorage?.getItem(t)??null}catch{return null}}function my(t){if(t.result.includes("failed")||t.result.includes("invalid")||t.result.includes("rejected")||t.result.includes("ignored")||t.result.includes("full")||t.result==="empty")throw new _e(gy(t),409)}function gy(t){if(t.detail)try{const r=JSON.parse(t.detail);if(typeof r.reason=="string")return r.reason}catch{}return`Runtime 未接受操作:${t.result}`}function pf(t,r,l,a="error"){t({type:"notice",notice:{id:Date.now(),tone:a,title:r,detail:Xr(l)}})}function Xr(t){return t instanceof _e||t instanceof Error?t.message:"发生未知错误。"}function fo(t){return t instanceof _e&&t.code==="collection_cursor_stale"}function vy(t){return t instanceof _e&&["composer_control_conflict","session_runtime_revision_conflict","session_snapshot_sync_failed"].includes(t.code??"")}function yy(t){return t instanceof _e&&["context_revision_conflict","runtime_busy","active_session_changed"].includes(t.code??"")}function xy(t){return new Promise(r=>{globalThis.setTimeout(r,t)})}function wy(t){if(typeof window<"u"&&"requestIdleCallback"in window){const l=window.requestIdleCallback(t,{timeout:1500});return()=>window.cancelIdleCallback(l)}const r=globalThis.setTimeout(t,150);return()=>globalThis.clearTimeout(r)}async function ky(t,r,l){let a=0;const d=Array.from({length:Math.min(Math.max(1,r),t.length)},async()=>{for(;a<t.length;){const p=t[a];a+=1,p!==void 0&&await l(p)}});await Promise.all(d)}function jy(t){return t.sessionId?t.type==="runtime_event"?t.payload.value.type==="permission_requested":t.type!=="thread_event"?!1:["approval.requested","plan.review_requested","turn.completed","turn.failed","turn.interrupted"].includes(t.payload.value.payload.type):!1}const Sy=5e3;function Cy(t,r){return r||t.tone==="error"?null:Sy}function Ny({uid:t,notice:r,reconnectNeeded:l,snapshotRetryNeeded:a,pendingAction:d,onDismiss:p,onRecover:h}){const g=l||a,k=!g,b=m.useRef(p);m.useEffect(()=>{b.current=p},[p]);const T=Cy(r,g);m.useEffect(()=>{if(T===null)return;const M=window.setTimeout(()=>b.current(t),T);return()=>window.clearTimeout(M)},[T,t]);const N=`notice-${t}`,$=r.tone==="success"?"check":r.tone==="info"?"info":"warning";return i.jsxs("aside",{className:`workbench-notice notice-${r.tone}`,role:r.tone==="error"?"alert":"status","aria-labelledby":N,children:[i.jsx("span",{className:"notice-icon","aria-hidden":"true",children:i.jsx(K,{name:$,size:17})}),i.jsxs("div",{children:[i.jsx("strong",{id:N,children:r.title}),r.detail?i.jsx("p",{children:r.detail}):null]}),l?i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>h(t),disabled:d,children:"重建连接"}):null,a?i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>h(t),disabled:d,children:"重试同步"}):null,k?i.jsx("button",{type:"button",className:"icon-button",onClick:()=>p(t),"aria-label":"关闭通知",children:i.jsx(K,{name:"close",size:15})}):null]})}function _y(){const{state:t,actions:r}=dy(),[l,a]=m.useState(!1),[d,p]=m.useState(um),[h,g]=m.useState(!1),[k,b]=m.useState(!1),[T,N]=m.useState(!1),[$,M]=m.useState(null),[q,D]=m.useState(null),[O,Z]=m.useState(null),[F,de]=m.useState(!1),[X,ue]=m.useState([]),I=m.useRef(0),R=m.useRef(t.notice),ne=m.useRef(null),[J,je]=m.useState(null),Ne=m.useRef(null),Re=m.useRef(!1),W=m.useRef(!1),we=m.useRef(null),Q=Iy(we),me=so(Q,d),ve=me.projectNavigation.mode==="drawer",H=me.workPanel.mode==="drawer",te=me.workPanel.mode==="rail"&&d.workPanel.expanded,G=H||te&&h,w=H||te?h:me.workPanel.mode==="dock",A=G&&h,P=ve&&l,le=P||A,ge=t.settings?.state==="ready"?t.settings:t.settingsMirror.lastGood??t.settings,ye=ge?.sections.appearance.theme.effectiveValue,be=ge?.sections.appearance.motion.effectiveValue,ke=ge?.sections.appearance.style.effectiveValue??"orion-blocksmith",Pe=jo(t),He=m.useCallback(()=>{if(!t.workspace)return;const Y=ge?.revision;if(!Y)return;const fe=ge?.sections.appearance.theme.effectiveValue??"system",Se=fe==="system"?"light":fe==="light"?"dark":"system";r.updateSettings(Y,[{op:"set",key:"appearance.theme",value:Se}],Qe()).catch(De=>{console.warn("[theme] 主题切换写入失败",De)})},[r,ge,t.workspace]),Ce=m.useCallback(Y=>{p(fe=>{const Se={...fe,projectNavigation:{...fe.projectNavigation,...Y}};return Id(Se),Se})},[]),sn=m.useCallback(Y=>{p(fe=>{const Se={...fe,workPanel:{...fe.workPanel,...Y}};return Id(Se),Se})},[]),Ye=m.useCallback(()=>{Ne.current=document.activeElement instanceof HTMLElement?document.activeElement:null},[]),pn=m.useCallback(()=>{requestAnimationFrame(()=>document.querySelector(".project-search input")?.focus())},[]),Kn=m.useCallback(()=>{requestAnimationFrame(()=>document.querySelector('.workspace-rail [aria-label="打开设置"]')?.focus())},[]),$n=m.useCallback(()=>{ve&&(Ye(),g(!1),a(!0)),Kn()},[Kn,ve,Ye]),bn=m.useCallback(()=>{Re.current=P,P&&(a(!1),g(!1),Ne.current=null),b(!0)},[P]),gn=m.useCallback(()=>{b(!1),Re.current&&(Re.current=!1,W.current=!0,a(!0))},[]),on=m.useCallback(()=>{a(!1),g(!1),W.current=!1;const Y=Ne.current;Ne.current=null,Y&&requestAnimationFrame(()=>Y.focus())},[]);m.useLayoutEffect(()=>{document.documentElement.dataset.theme=ye??"system",document.documentElement.dataset.motion=be??"system",document.documentElement.dataset.uiStyle=ke},[be,ye,ke]),m.useEffect(()=>{R.current=t.notice;const Y=t.notice;Y&&ne.current!==Y.id&&(ne.current=Y.id,ue(fe=>fe.some(Se=>Se.notice.id===Y.id)?fe:[...fe,{uid:++I.current,notice:Y}].slice(-4)))},[t.notice]),m.useEffect(()=>{const Y=t.workspaceId;if(!Y)return;const fe=t.workspaceSessions[Y],Se=t.archivedSessions;fe?.status==="ready"&&(Se.ownerWorkspaceId===Y&&Se.status!=="idle"||r.loadArchivedWorkspaceSessions(Y))},[r,t.archivedSessions,t.workspaceId,t.workspaceSessions]);const ot=m.useCallback(Y=>{const fe=X.find(Se=>Se.uid===Y);fe&&(R.current?.id===fe.notice.id&&r.dismissNotice(),ue(Se=>Se.filter(De=>De.uid!==Y)))},[r,X]),Qn=m.useCallback(Y=>{const fe=X.find(Se=>Se.uid===Y);fe&&(R.current?.id===fe.notice.id&&r.dismissNotice(),ue(Se=>Se.filter(De=>De.uid!==Y)),r.recoverSession())},[r,X]);m.useEffect(()=>{const Y=window.matchMedia("(prefers-color-scheme: light)"),fe=document.querySelector('meta[name="theme-color"]'),Se=()=>{fe&&(fe.content=Bv(ke,ye??"system",Y.matches))};return Se(),Y.addEventListener("change",Se),()=>Y.removeEventListener("change",Se)},[ye,ke]),m.useEffect(()=>{a(!1),g(!1),Ne.current=null,Re.current=!1,W.current=!1},[t.activeSessionId,t.workspace]),m.useLayoutEffect(()=>{a(!1),g(!1),Ne.current=null,W.current=!1},[me.projectNavigation.mode,me.workPanel.mode,ve,H]),m.useEffect(()=>{const Y=fe=>{const Se=wo("toggle-project-navigation");if(Se&&xo(fe,Se.tokens)){if(fe.preventDefault(),ve){if(l){on();return}Ye(),g(!1),a(!0);return}const De=!d.projectNavigation.expanded,An=!!(!De&&document.activeElement?.closest(".workspace-rail")),Dn=so(Q,{...d,projectNavigation:{...d.projectNavigation,expanded:De}});if(De&&Dn.projectNavigation.mode==="drawer"){Ce({expanded:De}),Ye(),g(!1),a(!0);return}Ce({expanded:De}),De?pn():An&&requestAnimationFrame(()=>{(document.querySelector('.project-navigator-collapsed [aria-label="展开项目导航"]')??document.querySelector(".mobile-nav-toggle"))?.focus()})}};return window.addEventListener("keydown",Y),()=>window.removeEventListener("keydown",Y)},[on,pn,l,ve,d.projectNavigation,Ye,Q,Ce]),m.useEffect(()=>{const Y=wo("open-shortcut-help");if(!Y)return;const fe=Se=>{xo(Se,Y.tokens)&&(Se.preventDefault(),de(De=>!De))};return window.addEventListener("keydown",fe),()=>window.removeEventListener("keydown",fe)},[]),m.useEffect(()=>{if(!le)return;const Y=document.querySelector(".conversation-column"),fe=document.querySelector(".workspace-rail"),Se=document.querySelector(".work-panel"),De=document.querySelector(".workbench-notice-stack"),An=document.querySelector(".skip-link");Y&&(Y.inert=!0),fe&&(fe.inert=A),Se&&(Se.inert=l),De&&(De.inert=!0),An&&(An.inert=!0);const Dn=window.setTimeout(()=>{const pt=A?Se?.querySelector('[aria-label="关闭工作面板"]'):W.current?fe?.querySelector('[aria-label="打开设置"]'):fe?.querySelector(".drawer-close");W.current=!1,pt?.focus()},0),Ln=pt=>{pt.key==="Escape"&&!pt.target?.closest?.('[role="alertdialog"]')&&on()};return window.addEventListener("keydown",Ln),()=>{Y&&(Y.inert=!1),fe&&(fe.inert=!1),Se&&(Se.inert=!1),De&&(De.inert=!1),An&&(An.inert=!1),window.clearTimeout(Dn),window.removeEventListener("keydown",Ln)}},[on,le,l,A,t.notice]);const Gn=m.useCallback(()=>{requestAnimationFrame(()=>document.querySelector("#main-content h1")?.focus())},[]),bt=()=>{a(!1),r.createSession().then(Gn,Gn)},Xt=()=>{Re.current=!1,W.current=!1,b(!1),requestAnimationFrame(()=>document.querySelector("#orion-composer")?.focus())};return i.jsxs(i.Fragment,{children:[i.jsx("a",{className:"skip-link",href:"#main-content",children:"跳到主要内容"}),i.jsxs("div",{ref:we,className:`workbench-shell project-navigation-${me.projectNavigation.mode} work-panel-mode-${me.workPanel.mode} ${te&&h?"work-panel-transient-overlay":""}`,style:{"--project-navigation-width":`${me.projectNavigation.widthPx}px`,"--project-navigation-preferred-width":`${d.projectNavigation.widthPx}px`,"--work-panel-width":`${me.workPanel.widthPx}px`,"--work-panel-preferred-width":`${d.workPanel.widthPx}px`},"aria-busy":t.boot==="loading",children:[i.jsx(pm,{state:t,drawerOpen:P,dockVisible:!0,collapsed:me.projectNavigation.mode==="rail",resizable:me.projectNavigation.mode==="dock",width:me.projectNavigation.widthPx,onCloseDrawer:on,onExpand:()=>{ve?(Ye(),g(!1),a(!0)):(Ce({expanded:!0}),pn())},onCollapse:()=>{ve?on():Ce({expanded:!1})},onOpenWorkspaceDialog:()=>N(!0),onOpenSettings:bn,onLoadMoreWorkspaces:()=>{r.loadMoreWorkspaces()},onCreateSession:bt,onLoadWorkspaceSessions:(Y,fe)=>{r.loadWorkspaceSessions(Y,fe)},onActivateContext:(Y,fe)=>{a(!1),r.activateContext(Y,fe).then(Gn,Gn)},onSetPinned:(Y,fe)=>{r.setWorkspacePinned(Y,fe)},onRemoveWorkspace:Y=>{r.removeWorkspace(Y)},onRefreshSummary:Y=>{r.refreshWorkspaceProjectSummary(Y)},onRenameSession:M,onSessionTags:D,onArchiveSession:Y=>{r.archiveSession(Y.id)},onDeleteSession:Z,onRestoreSession:Y=>{r.restoreSession(Y.id)},onWidthPreview:Y=>{const fe=so(Q,{...d,projectNavigation:{...d.projectNavigation,widthPx:Y}});we.current?.style.setProperty("--project-navigation-width",`${fe.projectNavigation.widthPx}px`)},onWidthCommit:Y=>Ce({widthPx:Y})}),i.jsx(Sg,{state:t,actions:r,navigationOpen:ve?P:me.projectNavigation.mode==="dock",inspectorExpanded:w,onOpenNavigation:()=>{if(!ve){Ce({expanded:!0}),pn();return}Ye(),g(!1),a(!0)},onToggleInspector:()=>{if(H||te){if(h){on();return}Ye(),a(!1),g(!0);return}sn({expanded:!d.workPanel.expanded})},onRevealSettings:$n,onCreateSession:bt,themePreference:ye,onCycleTheme:He,onShowShortcuts:()=>de(!0),composerInsertion:J}),i.jsx(zv,{state:t,actions:r,mode:G?"overlay":"dock",expanded:w,activePanel:d.workPanel.activePanel,agentPanel:d.workPanel.agentPanel,onExpand:()=>{H||te?g(!0):sn({expanded:!0})},onCollapse:()=>{G?on():sn({expanded:!1})},onPanelChange:Y=>sn({activePanel:Y}),onAgentPanelChange:Y=>sn({agentPanel:Y}),onWidthPreview:Y=>{const fe=so(Q,{...d,workPanel:{...d.workPanel,widthPx:Y}});we.current?.style.setProperty("--work-panel-width",`${fe.workPanel.widthPx}px`)},onWidthCommit:Y=>sn({widthPx:Y}),width:me.workPanel.widthPx,onSendToComposer:Y=>{je({id:Date.now(),text:Y}),H&&on(),requestAnimationFrame(()=>document.querySelector("#orion-composer")?.focus())}}),le?i.jsx("button",{type:"button",className:"drawer-scrim","aria-label":"关闭侧边面板",tabIndex:-1,onClick:on}):null,X.length>0?i.jsx("div",{className:"workbench-notice-stack","aria-live":"polite",children:X.map(Y=>i.jsx(Ny,{uid:Y.uid,notice:Y.notice,reconnectNeeded:t.connection==="replay-required",snapshotRetryNeeded:Y.notice.domain==="session-snapshot"&&Pe.status==="failed",pendingAction:!!t.pendingAction,onDismiss:ot,onRecover:Qn},Y.uid))}):null,t.boot!=="ready"?i.jsxs("section",{className:"boot-screen",role:t.boot==="error"?"alert":"status",children:[i.jsxs("div",{className:"boot-mark","aria-hidden":"true",children:[i.jsx("span",{}),i.jsx("span",{}),i.jsx("span",{})]}),t.boot==="loading"?i.jsxs(i.Fragment,{children:[i.jsx("h1",{children:"正在启动 Orion Workbench"}),i.jsx("p",{children:"建立本地安全握手并恢复工作区状态…"}),i.jsx("span",{className:"boot-loader","aria-hidden":"true"})]}):i.jsxs(i.Fragment,{children:[i.jsx("h1",{children:"无法连接本地 Web Host"}),i.jsx("p",{children:t.bootError||"请确认 Orion Web Host 仍在运行。"}),i.jsxs("button",{type:"button",className:"primary-button",onClick:()=>{r.retryBoot()},disabled:!!t.pendingAction,children:[i.jsx(K,{name:"refresh",size:15}),"重新连接"]})]})]}):null,i.jsx("div",{className:"sr-only","aria-live":"polite","aria-atomic":"true",children:t.announcement})]}),i.jsx(Jg,{open:k,onClose:gn,state:t,actions:r,onGoToSessionControls:Xt}),i.jsx(zg,{open:T,onClose:()=>N(!1),state:t,onSelect:r.switchWorkspace,onLoadMore:r.loadMoreWorkspaces}),i.jsx(Fg,{open:!!$,onClose:()=>M(null),session:$,pending:!!t.pendingAction,onRename:r.renameSession}),i.jsx(Bg,{open:!!q,onClose:()=>D(null),session:q,pending:!!t.pendingAction,onSave:r.updateSessionTags}),i.jsx(qg,{open:!!O,onClose:()=>Z(null),session:O,pending:!!t.pendingAction,onConfirm:r.deleteSession}),i.jsx(yv,{open:F,onClose:()=>de(!1)})]})}function Iy(t){const[r,l]=m.useState(()=>typeof window>"u"?1440:Math.max(320,Math.round(window.innerWidth)));return m.useEffect(()=>{const a=t.current;if(!a)return;const d=()=>{const p=Math.max(320,Math.round(a.getBoundingClientRect().width));l(h=>h===p?h:p)};if(d(),typeof ResizeObserver<"u"){const p=new ResizeObserver(d);return p.observe(a),()=>p.disconnect()}return window.addEventListener("resize",d),()=>window.removeEventListener("resize",d)},[t]),r}const Uf=document.getElementById("root");if(!Uf)throw new Error("Orion Web root element was not found.");Kh.createRoot(Uf).render(i.jsx(Fh.StrictMode,{children:i.jsx(_y,{})}));export{K as I,Aa as S,_e as W,i as j,m as r,Gt as s};