@orion-agents/orion-code 0.3.4 → 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.
Files changed (95) hide show
  1. package/CHANGELOG.md +157 -0
  2. package/README.md +59 -5
  3. package/README.zh-CN.md +6 -3
  4. package/dist/cli.js +58 -32
  5. package/dist/commands/context-tool-command-handlers.js +1 -5
  6. package/dist/commands/registry.js +1 -4
  7. package/dist/harness/intent.js +69 -16
  8. package/dist/harness/turn-summary.js +3 -1
  9. package/dist/memory/embeddings.js +2 -3
  10. package/dist/memory/prompts.js +1 -1
  11. package/dist/memory/relevant-finder.js +125 -15
  12. package/dist/memory/vector-store.js +13 -8
  13. package/dist/migration/migrate.js +8 -12
  14. package/dist/runtime/composer/history.js +1 -3
  15. package/dist/runtime/composer/layout.js +7 -4
  16. package/dist/runtime/legacy-thread-materializer.d.ts +3 -1
  17. package/dist/runtime/legacy-thread-materializer.js +15 -3
  18. package/dist/runtime/product-bootstrap.d.ts +12 -0
  19. package/dist/runtime/product-bootstrap.js +37 -22
  20. package/dist/runtime/rich-text/ansi-parser.js +12 -2
  21. package/dist/runtime/rich-text/layout.js +15 -19
  22. package/dist/runtime/subagents/budget.js +4 -1
  23. package/dist/runtime/subagents/policy.js +11 -4
  24. package/dist/runtime/subagents/provider-gate.js +6 -4
  25. package/dist/runtime/subagents/research-quality.js +3 -1
  26. package/dist/runtime/subagents/research-renderer.js +9 -2
  27. package/dist/runtime/subagents/result-parser.js +18 -7
  28. package/dist/runtime/thread-event-store.d.ts +5 -3
  29. package/dist/runtime/thread-event-store.js +29 -8
  30. package/dist/runtime/thread-projection.d.ts +17 -0
  31. package/dist/runtime/thread-projection.js +42 -1
  32. package/dist/runtime/tool-output-presentation.js +7 -7
  33. package/dist/runtime/turn-controller.js +1 -2
  34. package/dist/services/auth/auth.js +1 -4
  35. package/dist/services/auth/aws.js +24 -14
  36. package/dist/services/auto-fix/autoFixRunner.js +1 -1
  37. package/dist/services/auto-fix/index.d.ts +1 -1
  38. package/dist/services/diagnostic-tracking/diagnosticTracking.js +4 -2
  39. package/dist/services/diagnostic-tracking/index.d.ts +1 -1
  40. package/dist/services/effort.js +1 -9
  41. package/dist/services/file-glob.js +3 -4
  42. package/dist/services/mcp/transports.js +4 -4
  43. package/dist/services/model-catalog.js +179 -30
  44. package/dist/services/model-context.js +1 -1
  45. package/dist/services/provider-resilience/stream-recovery.js +1 -3
  46. package/dist/services/redaction.js +8 -0
  47. package/dist/services/session-storage.d.ts +28 -3
  48. package/dist/services/session-storage.js +70 -6
  49. package/dist/services/smart-routing.js +19 -11
  50. package/dist/services/verification-profile.js +17 -22
  51. package/dist/services/web-search-provider.js +21 -9
  52. package/dist/services/workspace-diff.js +10 -4
  53. package/dist/skills/builtin/code-review/SKILL.md +1 -1
  54. package/dist/skills/builtin/security-check/SKILL.md +1 -1
  55. package/dist/skills/builtin/test-gen/SKILL.md +1 -1
  56. package/dist/terminal-ui/editor.js +6 -2
  57. package/dist/terminal-ui/output-queue.js +9 -3
  58. package/dist/tools/lsp.js +12 -6
  59. package/dist/tui-core/frame.js +9 -7
  60. package/dist/tui-ui/transcript-cache.js +6 -6
  61. package/dist/tui-ui/transcript-inspector-surface.js +4 -1
  62. package/dist/tui-ui/transcript-inspector.js +3 -8
  63. package/dist/ui/box.js +14 -7
  64. package/dist/ui/markdown.js +4 -2
  65. package/dist/ui/shared/input-frame.js +12 -8
  66. package/dist/ui/stream-markdown.js +1 -1
  67. package/dist/ui/tool-preview.js +11 -3
  68. package/dist/ui/user-input.js +16 -10
  69. package/dist/web/cli-options.d.ts +13 -0
  70. package/dist/web/cli-options.js +47 -0
  71. package/dist/web/host-daemon.d.ts +61 -0
  72. package/dist/web/host-daemon.js +193 -0
  73. package/dist/web/launch.d.ts +3 -0
  74. package/dist/web/launch.js +24 -0
  75. package/dist/web/protocol.d.ts +2 -0
  76. package/dist/web/protocol.js +1 -0
  77. package/dist/web/review-service.js +41 -13
  78. package/dist/web/server.js +69 -0
  79. package/dist/web/session-runtime-registry.d.ts +14 -0
  80. package/dist/web/session-runtime-registry.js +23 -0
  81. package/dist/web/workbench-controller.d.ts +55 -0
  82. package/dist/web/workbench-controller.js +224 -14
  83. package/dist/web-client/assets/{DiffViewer-D6mG729y.js → DiffViewer-MMhvMif-.js} +1 -1
  84. package/dist/web-client/assets/{FilesPanel-CCDoAZ1J.js → FilesPanel-4litEN1k.js} +1 -1
  85. package/dist/web-client/assets/{GitPanel-DtNgiH7A.js → GitPanel-BVwlDRVo.js} +1 -1
  86. package/dist/web-client/assets/ReviewPanel-ChA0Zd2g.js +1 -0
  87. package/dist/web-client/assets/{TerminalPanel-CNxMaBLp.js → TerminalPanel-D8C1uybv.js} +1 -1
  88. package/dist/web-client/assets/index-DQfpqPTD.css +1 -0
  89. package/dist/web-client/assets/index-Dv_uE9dk.js +17 -0
  90. package/dist/web-client/index.html +2 -2
  91. package/npm-shrinkwrap.json +356 -120
  92. package/package.json +3 -1
  93. package/dist/web-client/assets/ReviewPanel-CKEBSt6P.js +0 -1
  94. package/dist/web-client/assets/index-BBvNg3By.css +0 -1
  95. package/dist/web-client/assets/index-C6TDJwMC.js +0 -17
@@ -1,17 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TerminalPanel-CNxMaBLp.js","assets/TerminalPanel-DLuoa74B.css","assets/GitPanel-DtNgiH7A.js","assets/DiffViewer-D6mG729y.js","assets/ReviewPanel-CKEBSt6P.js"])))=>i.map(i=>d[i]);
2
- var dm=Object.defineProperty;var fm=(t,s,l)=>s in t?dm(t,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[s]=l;var bn=(t,s,l)=>fm(t,typeof s!="symbol"?s+"":s,l);(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const f of document.querySelectorAll('link[rel="modulepreload"]'))c(f);new MutationObserver(f=>{for(const p of f)if(p.type==="childList")for(const m of p.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&c(m)}).observe(document,{childList:!0,subtree:!0});function l(f){const p={};return f.integrity&&(p.integrity=f.integrity),f.referrerPolicy&&(p.referrerPolicy=f.referrerPolicy),f.crossOrigin==="use-credentials"?p.credentials="include":f.crossOrigin==="anonymous"?p.credentials="omit":p.credentials="same-origin",p}function c(f){if(f.ep)return;f.ep=!0;const p=l(f);fetch(f.href,p)}})();function zd(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Jl={exports:{}},Rs={},Zl={exports:{}},ke={};var ed;function pm(){if(ed)return ke;ed=1;var t=Symbol.for("react.element"),s=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),p=Symbol.for("react.provider"),m=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),_=Symbol.for("react.suspense"),b=Symbol.for("react.memo"),F=Symbol.for("react.lazy"),R=Symbol.iterator;function A(w){return w===null||typeof w!="object"?null:(w=R&&w[R]||w["@@iterator"],typeof w=="function"?w:null)}var P={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},V=Object.assign,H={};function W(w,T,ce){this.props=w,this.context=T,this.refs=H,this.updater=ce||P}W.prototype.isReactComponent={},W.prototype.setState=function(w,T){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,T,"setState")},W.prototype.forceUpdate=function(w){this.updater.enqueueForceUpdate(this,w,"forceUpdate")};function J(){}J.prototype=W.prototype;function z(w,T,ce){this.props=w,this.context=T,this.refs=H,this.updater=ce||P}var Q=z.prototype=new J;Q.constructor=z,V(Q,W.prototype),Q.isPureReactComponent=!0;var B=Array.isArray,Y=Object.prototype.hasOwnProperty,k={current:null},D={key:!0,ref:!0,__self:!0,__source:!0};function X(w,T,ce){var pe,ye={},se=null,xe=null;if(T!=null)for(pe in T.ref!==void 0&&(xe=T.ref),T.key!==void 0&&(se=""+T.key),T)Y.call(T,pe)&&!D.hasOwnProperty(pe)&&(ye[pe]=T[pe]);var Se=arguments.length-2;if(Se===1)ye.children=ce;else if(1<Se){for(var Ne=Array(Se),oe=0;oe<Se;oe++)Ne[oe]=arguments[oe+2];ye.children=Ne}if(w&&w.defaultProps)for(pe in Se=w.defaultProps,Se)ye[pe]===void 0&&(ye[pe]=Se[pe]);return{$$typeof:t,type:w,key:se,ref:xe,props:ye,_owner:k.current}}function he(w,T){return{$$typeof:t,type:w.type,key:T,ref:w.ref,props:w.props,_owner:w._owner}}function ve(w){return typeof w=="object"&&w!==null&&w.$$typeof===t}function Me(w){var T={"=":"=0",":":"=2"};return"$"+w.replace(/[=:]/g,function(ce){return T[ce]})}var Ie=/\/+/g;function ie(w,T){return typeof w=="object"&&w!==null&&w.key!=null?Me(""+w.key):T.toString(36)}function Ce(w,T,ce,pe,ye){var se=typeof w;(se==="undefined"||se==="boolean")&&(w=null);var xe=!1;if(w===null)xe=!0;else switch(se){case"string":case"number":xe=!0;break;case"object":switch(w.$$typeof){case t:case s:xe=!0}}if(xe)return xe=w,ye=ye(xe),w=pe===""?"."+ie(xe,0):pe,B(ye)?(ce="",w!=null&&(ce=w.replace(Ie,"$&/")+"/"),Ce(ye,T,ce,"",function(oe){return oe})):ye!=null&&(ve(ye)&&(ye=he(ye,ce+(!ye.key||xe&&xe.key===ye.key?"":(""+ye.key).replace(Ie,"$&/")+"/")+w)),T.push(ye)),1;if(xe=0,pe=pe===""?".":pe+":",B(w))for(var Se=0;Se<w.length;Se++){se=w[Se];var Ne=pe+ie(se,Se);xe+=Ce(se,T,ce,Ne,ye)}else if(Ne=A(w),typeof Ne=="function")for(w=Ne.call(w),Se=0;!(se=w.next()).done;)se=se.value,Ne=pe+ie(se,Se++),xe+=Ce(se,T,ce,Ne,ye);else if(se==="object")throw T=String(w),Error("Objects are not valid as a React child (found: "+(T==="[object Object]"?"object with keys {"+Object.keys(w).join(", ")+"}":T)+"). If you meant to render a collection of children, use an array instead.");return xe}function Z(w,T,ce){if(w==null)return w;var pe=[],ye=0;return Ce(w,pe,"","",function(se){return T.call(ce,se,ye++)}),pe}function je(w){if(w._status===-1){var T=w._result;T=T(),T.then(function(ce){(w._status===0||w._status===-1)&&(w._status=1,w._result=ce)},function(ce){(w._status===0||w._status===-1)&&(w._status=2,w._result=ce)}),w._status===-1&&(w._status=0,w._result=T)}if(w._status===1)return w._result.default;throw w._result}var we={current:null},j={transition:null},G={ReactCurrentDispatcher:we,ReactCurrentBatchConfig:j,ReactCurrentOwner:k};function q(){throw Error("act(...) is not supported in production builds of React.")}return ke.Children={map:Z,forEach:function(w,T,ce){Z(w,function(){T.apply(this,arguments)},ce)},count:function(w){var T=0;return Z(w,function(){T++}),T},toArray:function(w){return Z(w,function(T){return T})||[]},only:function(w){if(!ve(w))throw Error("React.Children.only expected to receive a single React element child.");return w}},ke.Component=W,ke.Fragment=l,ke.Profiler=f,ke.PureComponent=z,ke.StrictMode=c,ke.Suspense=_,ke.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=G,ke.act=q,ke.cloneElement=function(w,T,ce){if(w==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+w+".");var pe=V({},w.props),ye=w.key,se=w.ref,xe=w._owner;if(T!=null){if(T.ref!==void 0&&(se=T.ref,xe=k.current),T.key!==void 0&&(ye=""+T.key),w.type&&w.type.defaultProps)var Se=w.type.defaultProps;for(Ne in T)Y.call(T,Ne)&&!D.hasOwnProperty(Ne)&&(pe[Ne]=T[Ne]===void 0&&Se!==void 0?Se[Ne]:T[Ne])}var Ne=arguments.length-2;if(Ne===1)pe.children=ce;else if(1<Ne){Se=Array(Ne);for(var oe=0;oe<Ne;oe++)Se[oe]=arguments[oe+2];pe.children=Se}return{$$typeof:t,type:w.type,key:ye,ref:se,props:pe,_owner:xe}},ke.createContext=function(w){return w={$$typeof:m,_currentValue:w,_currentValue2:w,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},w.Provider={$$typeof:p,_context:w},w.Consumer=w},ke.createElement=X,ke.createFactory=function(w){var T=X.bind(null,w);return T.type=w,T},ke.createRef=function(){return{current:null}},ke.forwardRef=function(w){return{$$typeof:v,render:w}},ke.isValidElement=ve,ke.lazy=function(w){return{$$typeof:F,_payload:{_status:-1,_result:w},_init:je}},ke.memo=function(w,T){return{$$typeof:b,type:w,compare:T===void 0?null:T}},ke.startTransition=function(w){var T=j.transition;j.transition={};try{w()}finally{j.transition=T}},ke.unstable_act=q,ke.useCallback=function(w,T){return we.current.useCallback(w,T)},ke.useContext=function(w){return we.current.useContext(w)},ke.useDebugValue=function(){},ke.useDeferredValue=function(w){return we.current.useDeferredValue(w)},ke.useEffect=function(w,T){return we.current.useEffect(w,T)},ke.useId=function(){return we.current.useId()},ke.useImperativeHandle=function(w,T,ce){return we.current.useImperativeHandle(w,T,ce)},ke.useInsertionEffect=function(w,T){return we.current.useInsertionEffect(w,T)},ke.useLayoutEffect=function(w,T){return we.current.useLayoutEffect(w,T)},ke.useMemo=function(w,T){return we.current.useMemo(w,T)},ke.useReducer=function(w,T,ce){return we.current.useReducer(w,T,ce)},ke.useRef=function(w){return we.current.useRef(w)},ke.useState=function(w){return we.current.useState(w)},ke.useSyncExternalStore=function(w,T,ce){return we.current.useSyncExternalStore(w,T,ce)},ke.useTransition=function(){return we.current.useTransition()},ke.version="18.3.1",ke}var nd;function ha(){return nd||(nd=1,Zl.exports=pm()),Zl.exports}var td;function mm(){if(td)return Rs;td=1;var t=ha(),s=Symbol.for("react.element"),l=Symbol.for("react.fragment"),c=Object.prototype.hasOwnProperty,f=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function m(v,_,b){var F,R={},A=null,P=null;b!==void 0&&(A=""+b),_.key!==void 0&&(A=""+_.key),_.ref!==void 0&&(P=_.ref);for(F in _)c.call(_,F)&&!p.hasOwnProperty(F)&&(R[F]=_[F]);if(v&&v.defaultProps)for(F in _=v.defaultProps,_)R[F]===void 0&&(R[F]=_[F]);return{$$typeof:s,type:v,key:A,ref:P,props:R,_owner:f.current}}return Rs.Fragment=l,Rs.jsx=m,Rs.jsxs=m,Rs}var rd;function hm(){return rd||(rd=1,Jl.exports=mm()),Jl.exports}var i=hm(),g=ha();const gm=zd(g);var Ki={},ea={exports:{}},pn={},na={exports:{}},ta={};var sd;function vm(){return sd||(sd=1,(function(t){function s(j,G){var q=j.length;j.push(G);e:for(;0<q;){var w=q-1>>>1,T=j[w];if(0<f(T,G))j[w]=G,j[q]=T,q=w;else break e}}function l(j){return j.length===0?null:j[0]}function c(j){if(j.length===0)return null;var G=j[0],q=j.pop();if(q!==G){j[0]=q;e:for(var w=0,T=j.length,ce=T>>>1;w<ce;){var pe=2*(w+1)-1,ye=j[pe],se=pe+1,xe=j[se];if(0>f(ye,q))se<T&&0>f(xe,ye)?(j[w]=xe,j[se]=q,w=se):(j[w]=ye,j[pe]=q,w=pe);else if(se<T&&0>f(xe,q))j[w]=xe,j[se]=q,w=se;else break e}}return G}function f(j,G){var q=j.sortIndex-G.sortIndex;return q!==0?q:j.id-G.id}if(typeof performance=="object"&&typeof performance.now=="function"){var p=performance;t.unstable_now=function(){return p.now()}}else{var m=Date,v=m.now();t.unstable_now=function(){return m.now()-v}}var _=[],b=[],F=1,R=null,A=3,P=!1,V=!1,H=!1,W=typeof setTimeout=="function"?setTimeout:null,J=typeof clearTimeout=="function"?clearTimeout:null,z=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Q(j){for(var G=l(b);G!==null;){if(G.callback===null)c(b);else if(G.startTime<=j)c(b),G.sortIndex=G.expirationTime,s(_,G);else break;G=l(b)}}function B(j){if(H=!1,Q(j),!V)if(l(_)!==null)V=!0,je(Y);else{var G=l(b);G!==null&&we(B,G.startTime-j)}}function Y(j,G){V=!1,H&&(H=!1,J(X),X=-1),P=!0;var q=A;try{for(Q(G),R=l(_);R!==null&&(!(R.expirationTime>G)||j&&!Me());){var w=R.callback;if(typeof w=="function"){R.callback=null,A=R.priorityLevel;var T=w(R.expirationTime<=G);G=t.unstable_now(),typeof T=="function"?R.callback=T:R===l(_)&&c(_),Q(G)}else c(_);R=l(_)}if(R!==null)var ce=!0;else{var pe=l(b);pe!==null&&we(B,pe.startTime-G),ce=!1}return ce}finally{R=null,A=q,P=!1}}var k=!1,D=null,X=-1,he=5,ve=-1;function Me(){return!(t.unstable_now()-ve<he)}function Ie(){if(D!==null){var j=t.unstable_now();ve=j;var G=!0;try{G=D(!0,j)}finally{G?ie():(k=!1,D=null)}}else k=!1}var ie;if(typeof z=="function")ie=function(){z(Ie)};else if(typeof MessageChannel<"u"){var Ce=new MessageChannel,Z=Ce.port2;Ce.port1.onmessage=Ie,ie=function(){Z.postMessage(null)}}else ie=function(){W(Ie,0)};function je(j){D=j,k||(k=!0,ie())}function we(j,G){X=W(function(){j(t.unstable_now())},G)}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(j){j.callback=null},t.unstable_continueExecution=function(){V||P||(V=!0,je(Y))},t.unstable_forceFrameRate=function(j){0>j||125<j?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):he=0<j?Math.floor(1e3/j):5},t.unstable_getCurrentPriorityLevel=function(){return A},t.unstable_getFirstCallbackNode=function(){return l(_)},t.unstable_next=function(j){switch(A){case 1:case 2:case 3:var G=3;break;default:G=A}var q=A;A=G;try{return j()}finally{A=q}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(j,G){switch(j){case 1:case 2:case 3:case 4:case 5:break;default:j=3}var q=A;A=j;try{return G()}finally{A=q}},t.unstable_scheduleCallback=function(j,G,q){var w=t.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0<q?w+q:w):q=w,j){case 1:var T=-1;break;case 2:T=250;break;case 5:T=1073741823;break;case 4:T=1e4;break;default:T=5e3}return T=q+T,j={id:F++,callback:G,priorityLevel:j,startTime:q,expirationTime:T,sortIndex:-1},q>w?(j.sortIndex=q,s(b,j),l(_)===null&&j===l(b)&&(H?(J(X),X=-1):H=!0,we(B,q-w))):(j.sortIndex=T,s(_,j),V||P||(V=!0,je(Y))),j},t.unstable_shouldYield=Me,t.unstable_wrapCallback=function(j){var G=A;return function(){var q=A;A=G;try{return j.apply(this,arguments)}finally{A=q}}}})(ta)),ta}var id;function ym(){return id||(id=1,na.exports=vm()),na.exports}var od;function xm(){if(od)return pn;od=1;var t=ha(),s=ym();function l(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)n+="&args[]="+encodeURIComponent(arguments[r]);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 c=new Set,f={};function p(e,n){m(e,n),m(e+"Capture",n)}function m(e,n){for(f[e]=n,e=0;e<n.length;e++)c.add(n[e])}var v=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),_=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]*$/,F={},R={};function A(e){return _.call(R,e)?!0:_.call(F,e)?!1:b.test(e)?R[e]=!0:(F[e]=!0,!1)}function P(e,n,r,o){if(r!==null&&r.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return o?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function V(e,n,r,o){if(n===null||typeof n>"u"||P(e,n,r,o))return!0;if(o)return!1;if(r!==null)switch(r.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 H(e,n,r,o,a,u,d){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=o,this.attributeNamespace=a,this.mustUseProperty=r,this.propertyName=e,this.type=n,this.sanitizeURL=u,this.removeEmptyString=d}var W={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){W[e]=new H(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];W[n]=new H(n,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){W[e]=new H(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){W[e]=new H(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){W[e]=new H(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){W[e]=new H(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){W[e]=new H(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){W[e]=new H(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){W[e]=new H(e,5,!1,e.toLowerCase(),null,!1,!1)});var J=/[\-:]([a-z])/g;function z(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(J,z);W[n]=new H(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(J,z);W[n]=new H(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(J,z);W[n]=new H(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){W[e]=new H(e,1,!1,e.toLowerCase(),null,!1,!1)}),W.xlinkHref=new H("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){W[e]=new H(e,1,!1,e.toLowerCase(),null,!0,!0)});function Q(e,n,r,o){var a=W.hasOwnProperty(n)?W[n]:null;(a!==null?a.type!==0:o||!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(V(n,r,a,o)&&(r=null),o||a===null?A(n)&&(r===null?e.removeAttribute(n):e.setAttribute(n,""+r)):a.mustUseProperty?e[a.propertyName]=r===null?a.type===3?!1:"":r:(n=a.attributeName,o=a.attributeNamespace,r===null?e.removeAttribute(n):(a=a.type,r=a===3||a===4&&r===!0?"":""+r,o?e.setAttributeNS(o,n,r):e.setAttribute(n,r))))}var B=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Y=Symbol.for("react.element"),k=Symbol.for("react.portal"),D=Symbol.for("react.fragment"),X=Symbol.for("react.strict_mode"),he=Symbol.for("react.profiler"),ve=Symbol.for("react.provider"),Me=Symbol.for("react.context"),Ie=Symbol.for("react.forward_ref"),ie=Symbol.for("react.suspense"),Ce=Symbol.for("react.suspense_list"),Z=Symbol.for("react.memo"),je=Symbol.for("react.lazy"),we=Symbol.for("react.offscreen"),j=Symbol.iterator;function G(e){return e===null||typeof e!="object"?null:(e=j&&e[j]||e["@@iterator"],typeof e=="function"?e:null)}var q=Object.assign,w;function T(e){if(w===void 0)try{throw Error()}catch(r){var n=r.stack.trim().match(/\n( *(at )?)/);w=n&&n[1]||""}return`
3
- `+w+e}var ce=!1;function pe(e,n){if(!e||ce)return"";ce=!0;var r=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(I){var o=I}Reflect.construct(e,[],n)}else{try{n.call()}catch(I){o=I}e.call(n.prototype)}else{try{throw Error()}catch(I){o=I}e()}}catch(I){if(I&&o&&typeof I.stack=="string"){for(var a=I.stack.split(`
4
- `),u=o.stack.split(`
5
- `),d=a.length-1,h=u.length-1;1<=d&&0<=h&&a[d]!==u[h];)h--;for(;1<=d&&0<=h;d--,h--)if(a[d]!==u[h]){if(d!==1||h!==1)do if(d--,h--,0>h||a[d]!==u[h]){var y=`
6
- `+a[d].replace(" at new "," at ");return e.displayName&&y.includes("<anonymous>")&&(y=y.replace("<anonymous>",e.displayName)),y}while(1<=d&&0<=h);break}}}finally{ce=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?T(e):""}function ye(e){switch(e.tag){case 5:return T(e.type);case 16:return T("Lazy");case 13:return T("Suspense");case 19:return T("SuspenseList");case 0:case 2:case 15:return e=pe(e.type,!1),e;case 11:return e=pe(e.type.render,!1),e;case 1:return e=pe(e.type,!0),e;default:return""}}function se(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 D:return"Fragment";case k:return"Portal";case he:return"Profiler";case X:return"StrictMode";case ie:return"Suspense";case Ce:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Me:return(e.displayName||"Context")+".Consumer";case ve:return(e._context.displayName||"Context")+".Provider";case Ie:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Z:return n=e.displayName||null,n!==null?n:se(e.type)||"Memo";case je:n=e._payload,e=e._init;try{return se(e(n))}catch{}}return null}function xe(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 se(n);case 8:return n===X?"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 Se(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Ne(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function oe(e){var n=Ne(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),o=""+e[n];if(!e.hasOwnProperty(n)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var a=r.get,u=r.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return a.call(this)},set:function(d){o=""+d,u.call(this,d)}}),Object.defineProperty(e,n,{enumerable:r.enumerable}),{getValue:function(){return o},setValue:function(d){o=""+d},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function ge(e){e._valueTracker||(e._valueTracker=oe(e))}function $e(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var r=n.getValue(),o="";return e&&(o=Ne(e)?e.checked?"true":"false":e.value),e=o,e!==r?(n.setValue(e),!0):!1}function ln(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 jn(e,n){var r=n.checked;return q({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function At(e,n){var r=n.defaultValue==null?"":n.defaultValue,o=n.checked!=null?n.checked:n.defaultChecked;r=Se(n.value!=null?n.value:r),e._wrapperState={initialChecked:o,initialValue:r,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function dt(e,n){n=n.checked,n!=null&&Q(e,"checked",n,!1)}function Tn(e,n){dt(e,n);var r=Se(n.value),o=n.type;if(r!=null)o==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(o==="submit"||o==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?or(e,n.type,r):n.hasOwnProperty("defaultValue")&&or(e,n.type,Se(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function zr(e,n,r){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,r||n===e.value||(e.value=n),e.defaultValue=n}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function or(e,n,r){(n!=="number"||ln(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var ft=Array.isArray;function Yn(e,n,r,o){if(e=e.options,n){n={};for(var a=0;a<r.length;a++)n["$"+r[a]]=!0;for(r=0;r<e.length;r++)a=n.hasOwnProperty("$"+e[r].value),e[r].selected!==a&&(e[r].selected=a),a&&o&&(e[r].defaultSelected=!0)}else{for(r=""+Se(r),n=null,a=0;a<e.length;a++){if(e[a].value===r){e[a].selected=!0,o&&(e[a].defaultSelected=!0);return}n!==null||e[a].disabled||(n=e[a])}n!==null&&(n.selected=!0)}}function lr(e,n){if(n.dangerouslySetInnerHTML!=null)throw Error(l(91));return q({},n,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Fr(e,n){var r=n.value;if(r==null){if(r=n.children,n=n.defaultValue,r!=null){if(n!=null)throw Error(l(92));if(ft(r)){if(1<r.length)throw Error(l(93));r=r[0]}n=r}n==null&&(n=""),r=n}e._wrapperState={initialValue:Se(r)}}function Br(e,n){var r=Se(n.value),o=Se(n.defaultValue);r!=null&&(r=""+r,r!==e.value&&(e.value=r),n.defaultValue==null&&e.defaultValue!==r&&(e.defaultValue=r)),o!=null&&(e.defaultValue=""+o)}function qr(e){var n=e.textContent;n===e._wrapperState.initialValue&&n!==""&&n!==null&&(e.value=n)}function Wr(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 ar(e,n){return e==null||e==="http://www.w3.org/1999/xhtml"?Wr(n):e==="http://www.w3.org/2000/svg"&&n==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var zt,Ur=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(n,r,o,a){MSApp.execUnsafeLocalFunction(function(){return e(n,r,o,a)})}:e})(function(e,n){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=n;else{for(zt=zt||document.createElement("div"),zt.innerHTML="<svg>"+n.valueOf().toString()+"</svg>",n=zt.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function pt(e,n){if(n){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=n;return}}e.textContent=n}var mt={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},Os=["Webkit","ms","Moz","O"];Object.keys(mt).forEach(function(e){Os.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),mt[n]=mt[e]})});function Vr(e,n,r){return n==null||typeof n=="boolean"||n===""?"":r||typeof n!="number"||n===0||mt.hasOwnProperty(e)&&mt[e]?(""+n).trim():n+"px"}function Hr(e,n){e=e.style;for(var r in n)if(n.hasOwnProperty(r)){var o=r.indexOf("--")===0,a=Vr(r,n[r],o);r==="float"&&(r="cssFloat"),o?e.setProperty(r,a):e[r]=a}}var As=q({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 cr(e,n){if(n){if(As[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 Kr(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 C=null;function E(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var M=null,te=null,fe=null;function rn(e){if(e=hs(e)){if(typeof M!="function")throw Error(l(280));var n=e.stateNode;n&&(n=ai(n),M(e.stateNode,e.type,n))}}function Ue(e){te?fe?fe.push(e):fe=[e]:te=e}function Xn(){if(te){var e=te,n=fe;if(fe=te=null,rn(e),n)for(e=0;e<n.length;e++)rn(n[e])}}function Jn(e,n){return e(n)}function zs(){}var Mn=!1;function Qr(e,n,r){if(Mn)return e(n,r);Mn=!0;try{return Jn(e,n,r)}finally{Mn=!1,(te!==null||fe!==null)&&(zs(),Xn())}}function ht(e,n){var r=e.stateNode;if(r===null)return null;var o=ai(r);if(o===null)return null;r=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(r&&typeof r!="function")throw Error(l(231,n,typeof r));return r}var ur=!1;if(v)try{var Gr={};Object.defineProperty(Gr,"passive",{get:function(){ur=!0}}),window.addEventListener("test",Gr,Gr),window.removeEventListener("test",Gr,Gr)}catch{ur=!1}function vf(e,n,r,o,a,u,d,h,y){var I=Array.prototype.slice.call(arguments,3);try{n.apply(r,I)}catch(L){this.onError(L)}}var Yr=!1,Fs=null,Bs=!1,vo=null,yf={onError:function(e){Yr=!0,Fs=e}};function xf(e,n,r,o,a,u,d,h,y){Yr=!1,Fs=null,vf.apply(yf,arguments)}function wf(e,n,r,o,a,u,d,h,y){if(xf.apply(this,arguments),Yr){if(Yr){var I=Fs;Yr=!1,Fs=null}else throw Error(l(198));Bs||(Bs=!0,vo=I)}}function Ft(e){var n=e,r=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do n=e,(n.flags&4098)!==0&&(r=n.return),e=n.return;while(e)}return n.tag===3?r:null}function Sa(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 Ca(e){if(Ft(e)!==e)throw Error(l(188))}function kf(e){var n=e.alternate;if(!n){if(n=Ft(e),n===null)throw Error(l(188));return n!==e?null:e}for(var r=e,o=n;;){var a=r.return;if(a===null)break;var u=a.alternate;if(u===null){if(o=a.return,o!==null){r=o;continue}break}if(a.child===u.child){for(u=a.child;u;){if(u===r)return Ca(a),e;if(u===o)return Ca(a),n;u=u.sibling}throw Error(l(188))}if(r.return!==o.return)r=a,o=u;else{for(var d=!1,h=a.child;h;){if(h===r){d=!0,r=a,o=u;break}if(h===o){d=!0,o=a,r=u;break}h=h.sibling}if(!d){for(h=u.child;h;){if(h===r){d=!0,r=u,o=a;break}if(h===o){d=!0,o=u,r=a;break}h=h.sibling}if(!d)throw Error(l(189))}}if(r.alternate!==o)throw Error(l(190))}if(r.tag!==3)throw Error(l(188));return r.stateNode.current===r?e:n}function Na(e){return e=kf(e),e!==null?_a(e):null}function _a(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var n=_a(e);if(n!==null)return n;e=e.sibling}return null}var Ea=s.unstable_scheduleCallback,Ia=s.unstable_cancelCallback,jf=s.unstable_shouldYield,Sf=s.unstable_requestPaint,Be=s.unstable_now,Cf=s.unstable_getCurrentPriorityLevel,yo=s.unstable_ImmediatePriority,ba=s.unstable_UserBlockingPriority,qs=s.unstable_NormalPriority,Nf=s.unstable_LowPriority,Ra=s.unstable_IdlePriority,Ws=null,Un=null;function _f(e){if(Un&&typeof Un.onCommitFiberRoot=="function")try{Un.onCommitFiberRoot(Ws,e,void 0,(e.current.flags&128)===128)}catch{}}var $n=Math.clz32?Math.clz32:bf,Ef=Math.log,If=Math.LN2;function bf(e){return e>>>=0,e===0?32:31-(Ef(e)/If|0)|0}var Us=64,Vs=4194304;function Xr(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 Hs(e,n){var r=e.pendingLanes;if(r===0)return 0;var o=0,a=e.suspendedLanes,u=e.pingedLanes,d=r&268435455;if(d!==0){var h=d&~a;h!==0?o=Xr(h):(u&=d,u!==0&&(o=Xr(u)))}else d=r&~a,d!==0?o=Xr(d):u!==0&&(o=Xr(u));if(o===0)return 0;if(n!==0&&n!==o&&(n&a)===0&&(a=o&-o,u=n&-n,a>=u||a===16&&(u&4194240)!==0))return n;if((o&4)!==0&&(o|=r&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=o;0<n;)r=31-$n(n),a=1<<r,o|=e[r],n&=~a;return o}function Rf(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 Pf(e,n){for(var r=e.suspendedLanes,o=e.pingedLanes,a=e.expirationTimes,u=e.pendingLanes;0<u;){var d=31-$n(u),h=1<<d,y=a[d];y===-1?((h&r)===0||(h&o)!==0)&&(a[d]=Rf(h,n)):y<=n&&(e.expiredLanes|=h),u&=~h}}function xo(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Pa(){var e=Us;return Us<<=1,(Us&4194240)===0&&(Us=64),e}function wo(e){for(var n=[],r=0;31>r;r++)n.push(e);return n}function Jr(e,n,r){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-$n(n),e[n]=r}function Tf(e,n){var r=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<r;){var a=31-$n(r),u=1<<a;n[a]=0,o[a]=-1,e[a]=-1,r&=~u}}function ko(e,n){var r=e.entangledLanes|=n;for(e=e.entanglements;r;){var o=31-$n(r),a=1<<o;a&n|e[o]&n&&(e[o]|=n),r&=~a}}var Pe=0;function Ta(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var Ma,jo,$a,Da,La,So=!1,Ks=[],gt=null,vt=null,yt=null,Zr=new Map,es=new Map,xt=[],Mf="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 Oa(e,n){switch(e){case"focusin":case"focusout":gt=null;break;case"dragenter":case"dragleave":vt=null;break;case"mouseover":case"mouseout":yt=null;break;case"pointerover":case"pointerout":Zr.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":es.delete(n.pointerId)}}function ns(e,n,r,o,a,u){return e===null||e.nativeEvent!==u?(e={blockedOn:n,domEventName:r,eventSystemFlags:o,nativeEvent:u,targetContainers:[a]},n!==null&&(n=hs(n),n!==null&&jo(n)),e):(e.eventSystemFlags|=o,n=e.targetContainers,a!==null&&n.indexOf(a)===-1&&n.push(a),e)}function $f(e,n,r,o,a){switch(n){case"focusin":return gt=ns(gt,e,n,r,o,a),!0;case"dragenter":return vt=ns(vt,e,n,r,o,a),!0;case"mouseover":return yt=ns(yt,e,n,r,o,a),!0;case"pointerover":var u=a.pointerId;return Zr.set(u,ns(Zr.get(u)||null,e,n,r,o,a)),!0;case"gotpointercapture":return u=a.pointerId,es.set(u,ns(es.get(u)||null,e,n,r,o,a)),!0}return!1}function Aa(e){var n=Bt(e.target);if(n!==null){var r=Ft(n);if(r!==null){if(n=r.tag,n===13){if(n=Sa(r),n!==null){e.blockedOn=n,La(e.priority,function(){$a(r)});return}}else if(n===3&&r.stateNode.current.memoizedState.isDehydrated){e.blockedOn=r.tag===3?r.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Qs(e){if(e.blockedOn!==null)return!1;for(var n=e.targetContainers;0<n.length;){var r=No(e.domEventName,e.eventSystemFlags,n[0],e.nativeEvent);if(r===null){r=e.nativeEvent;var o=new r.constructor(r.type,r);C=o,r.target.dispatchEvent(o),C=null}else return n=hs(r),n!==null&&jo(n),e.blockedOn=r,!1;n.shift()}return!0}function za(e,n,r){Qs(e)&&r.delete(n)}function Df(){So=!1,gt!==null&&Qs(gt)&&(gt=null),vt!==null&&Qs(vt)&&(vt=null),yt!==null&&Qs(yt)&&(yt=null),Zr.forEach(za),es.forEach(za)}function ts(e,n){e.blockedOn===n&&(e.blockedOn=null,So||(So=!0,s.unstable_scheduleCallback(s.unstable_NormalPriority,Df)))}function rs(e){function n(a){return ts(a,e)}if(0<Ks.length){ts(Ks[0],e);for(var r=1;r<Ks.length;r++){var o=Ks[r];o.blockedOn===e&&(o.blockedOn=null)}}for(gt!==null&&ts(gt,e),vt!==null&&ts(vt,e),yt!==null&&ts(yt,e),Zr.forEach(n),es.forEach(n),r=0;r<xt.length;r++)o=xt[r],o.blockedOn===e&&(o.blockedOn=null);for(;0<xt.length&&(r=xt[0],r.blockedOn===null);)Aa(r),r.blockedOn===null&&xt.shift()}var dr=B.ReactCurrentBatchConfig,Gs=!0;function Lf(e,n,r,o){var a=Pe,u=dr.transition;dr.transition=null;try{Pe=1,Co(e,n,r,o)}finally{Pe=a,dr.transition=u}}function Of(e,n,r,o){var a=Pe,u=dr.transition;dr.transition=null;try{Pe=4,Co(e,n,r,o)}finally{Pe=a,dr.transition=u}}function Co(e,n,r,o){if(Gs){var a=No(e,n,r,o);if(a===null)qo(e,n,o,Ys,r),Oa(e,o);else if($f(a,e,n,r,o))o.stopPropagation();else if(Oa(e,o),n&4&&-1<Mf.indexOf(e)){for(;a!==null;){var u=hs(a);if(u!==null&&Ma(u),u=No(e,n,r,o),u===null&&qo(e,n,o,Ys,r),u===a)break;a=u}a!==null&&o.stopPropagation()}else qo(e,n,o,null,r)}}var Ys=null;function No(e,n,r,o){if(Ys=null,e=E(o),e=Bt(e),e!==null)if(n=Ft(e),n===null)e=null;else if(r=n.tag,r===13){if(e=Sa(n),e!==null)return e;e=null}else if(r===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;e=null}else n!==e&&(e=null);return Ys=e,null}function Fa(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(Cf()){case yo:return 1;case ba:return 4;case qs:case Nf:return 16;case Ra:return 536870912;default:return 16}default:return 16}}var wt=null,_o=null,Xs=null;function Ba(){if(Xs)return Xs;var e,n=_o,r=n.length,o,a="value"in wt?wt.value:wt.textContent,u=a.length;for(e=0;e<r&&n[e]===a[e];e++);var d=r-e;for(o=1;o<=d&&n[r-o]===a[u-o];o++);return Xs=a.slice(e,1<o?1-o:void 0)}function Js(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 Zs(){return!0}function qa(){return!1}function vn(e){function n(r,o,a,u,d){this._reactName=r,this._targetInst=a,this.type=o,this.nativeEvent=u,this.target=d,this.currentTarget=null;for(var h in e)e.hasOwnProperty(h)&&(r=e[h],this[h]=r?r(u):u[h]);return this.isDefaultPrevented=(u.defaultPrevented!=null?u.defaultPrevented:u.returnValue===!1)?Zs:qa,this.isPropagationStopped=qa,this}return q(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var r=this.nativeEvent;r&&(r.preventDefault?r.preventDefault():typeof r.returnValue!="unknown"&&(r.returnValue=!1),this.isDefaultPrevented=Zs)},stopPropagation:function(){var r=this.nativeEvent;r&&(r.stopPropagation?r.stopPropagation():typeof r.cancelBubble!="unknown"&&(r.cancelBubble=!0),this.isPropagationStopped=Zs)},persist:function(){},isPersistent:Zs}),n}var fr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Eo=vn(fr),ss=q({},fr,{view:0,detail:0}),Af=vn(ss),Io,bo,is,ei=q({},ss,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Po,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!==is&&(is&&e.type==="mousemove"?(Io=e.screenX-is.screenX,bo=e.screenY-is.screenY):bo=Io=0,is=e),Io)},movementY:function(e){return"movementY"in e?e.movementY:bo}}),Wa=vn(ei),zf=q({},ei,{dataTransfer:0}),Ff=vn(zf),Bf=q({},ss,{relatedTarget:0}),Ro=vn(Bf),qf=q({},fr,{animationName:0,elapsedTime:0,pseudoElement:0}),Wf=vn(qf),Uf=q({},fr,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Vf=vn(Uf),Hf=q({},fr,{data:0}),Ua=vn(Hf),Kf={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Qf={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"},Gf={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Yf(e){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(e):(e=Gf[e])?!!n[e]:!1}function Po(){return Yf}var Xf=q({},ss,{key:function(e){if(e.key){var n=Kf[e.key]||e.key;if(n!=="Unidentified")return n}return e.type==="keypress"?(e=Js(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Qf[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Po,charCode:function(e){return e.type==="keypress"?Js(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Js(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Jf=vn(Xf),Zf=q({},ei,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Va=vn(Zf),ep=q({},ss,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Po}),np=vn(ep),tp=q({},fr,{propertyName:0,elapsedTime:0,pseudoElement:0}),rp=vn(tp),sp=q({},ei,{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}),ip=vn(sp),op=[9,13,27,32],To=v&&"CompositionEvent"in window,os=null;v&&"documentMode"in document&&(os=document.documentMode);var lp=v&&"TextEvent"in window&&!os,Ha=v&&(!To||os&&8<os&&11>=os),Ka=" ",Qa=!1;function Ga(e,n){switch(e){case"keyup":return op.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ya(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var pr=!1;function ap(e,n){switch(e){case"compositionend":return Ya(n);case"keypress":return n.which!==32?null:(Qa=!0,Ka);case"textInput":return e=n.data,e===Ka&&Qa?null:e;default:return null}}function cp(e,n){if(pr)return e==="compositionend"||!To&&Ga(e,n)?(e=Ba(),Xs=_o=wt=null,pr=!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 Ha&&n.locale!=="ko"?null:n.data;default:return null}}var up={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 Xa(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n==="input"?!!up[e.type]:n==="textarea"}function Ja(e,n,r,o){Ue(o),n=ii(n,"onChange"),0<n.length&&(r=new Eo("onChange","change",null,r,o),e.push({event:r,listeners:n}))}var ls=null,as=null;function dp(e){gc(e,0)}function ni(e){var n=yr(e);if($e(n))return e}function fp(e,n){if(e==="change")return n}var Za=!1;if(v){var Mo;if(v){var $o="oninput"in document;if(!$o){var ec=document.createElement("div");ec.setAttribute("oninput","return;"),$o=typeof ec.oninput=="function"}Mo=$o}else Mo=!1;Za=Mo&&(!document.documentMode||9<document.documentMode)}function nc(){ls&&(ls.detachEvent("onpropertychange",tc),as=ls=null)}function tc(e){if(e.propertyName==="value"&&ni(as)){var n=[];Ja(n,as,e,E(e)),Qr(dp,n)}}function pp(e,n,r){e==="focusin"?(nc(),ls=n,as=r,ls.attachEvent("onpropertychange",tc)):e==="focusout"&&nc()}function mp(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return ni(as)}function hp(e,n){if(e==="click")return ni(n)}function gp(e,n){if(e==="input"||e==="change")return ni(n)}function vp(e,n){return e===n&&(e!==0||1/e===1/n)||e!==e&&n!==n}var Dn=typeof Object.is=="function"?Object.is:vp;function cs(e,n){if(Dn(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;var r=Object.keys(e),o=Object.keys(n);if(r.length!==o.length)return!1;for(o=0;o<r.length;o++){var a=r[o];if(!_.call(n,a)||!Dn(e[a],n[a]))return!1}return!0}function rc(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function sc(e,n){var r=rc(e);e=0;for(var o;r;){if(r.nodeType===3){if(o=e+r.textContent.length,e<=n&&o>=n)return{node:r,offset:n-e};e=o}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=rc(r)}}function ic(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?ic(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function oc(){for(var e=window,n=ln();n instanceof e.HTMLIFrameElement;){try{var r=typeof n.contentWindow.location.href=="string"}catch{r=!1}if(r)e=n.contentWindow;else break;n=ln(e.document)}return n}function Do(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 yp(e){var n=oc(),r=e.focusedElem,o=e.selectionRange;if(n!==r&&r&&r.ownerDocument&&ic(r.ownerDocument.documentElement,r)){if(o!==null&&Do(r)){if(n=o.start,e=o.end,e===void 0&&(e=n),"selectionStart"in r)r.selectionStart=n,r.selectionEnd=Math.min(e,r.value.length);else if(e=(n=r.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var a=r.textContent.length,u=Math.min(o.start,a);o=o.end===void 0?u:Math.min(o.end,a),!e.extend&&u>o&&(a=o,o=u,u=a),a=sc(r,u);var d=sc(r,o);a&&d&&(e.rangeCount!==1||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==d.node||e.focusOffset!==d.offset)&&(n=n.createRange(),n.setStart(a.node,a.offset),e.removeAllRanges(),u>o?(e.addRange(n),e.extend(d.node,d.offset)):(n.setEnd(d.node,d.offset),e.addRange(n)))}}for(n=[],e=r;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r<n.length;r++)e=n[r],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var xp=v&&"documentMode"in document&&11>=document.documentMode,mr=null,Lo=null,us=null,Oo=!1;function lc(e,n,r){var o=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Oo||mr==null||mr!==ln(o)||(o=mr,"selectionStart"in o&&Do(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}),us&&cs(us,o)||(us=o,o=ii(Lo,"onSelect"),0<o.length&&(n=new Eo("onSelect","select",null,n,r),e.push({event:n,listeners:o}),n.target=mr)))}function ti(e,n){var r={};return r[e.toLowerCase()]=n.toLowerCase(),r["Webkit"+e]="webkit"+n,r["Moz"+e]="moz"+n,r}var hr={animationend:ti("Animation","AnimationEnd"),animationiteration:ti("Animation","AnimationIteration"),animationstart:ti("Animation","AnimationStart"),transitionend:ti("Transition","TransitionEnd")},Ao={},ac={};v&&(ac=document.createElement("div").style,"AnimationEvent"in window||(delete hr.animationend.animation,delete hr.animationiteration.animation,delete hr.animationstart.animation),"TransitionEvent"in window||delete hr.transitionend.transition);function ri(e){if(Ao[e])return Ao[e];if(!hr[e])return e;var n=hr[e],r;for(r in n)if(n.hasOwnProperty(r)&&r in ac)return Ao[e]=n[r];return e}var cc=ri("animationend"),uc=ri("animationiteration"),dc=ri("animationstart"),fc=ri("transitionend"),pc=new Map,mc="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 kt(e,n){pc.set(e,n),p(n,[e])}for(var zo=0;zo<mc.length;zo++){var Fo=mc[zo],wp=Fo.toLowerCase(),kp=Fo[0].toUpperCase()+Fo.slice(1);kt(wp,"on"+kp)}kt(cc,"onAnimationEnd"),kt(uc,"onAnimationIteration"),kt(dc,"onAnimationStart"),kt("dblclick","onDoubleClick"),kt("focusin","onFocus"),kt("focusout","onBlur"),kt(fc,"onTransitionEnd"),m("onMouseEnter",["mouseout","mouseover"]),m("onMouseLeave",["mouseout","mouseover"]),m("onPointerEnter",["pointerout","pointerover"]),m("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 ds="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(" "),jp=new Set("cancel close invalid load scroll toggle".split(" ").concat(ds));function hc(e,n,r){var o=e.type||"unknown-event";e.currentTarget=r,wf(o,n,void 0,e),e.currentTarget=null}function gc(e,n){n=(n&4)!==0;for(var r=0;r<e.length;r++){var o=e[r],a=o.event;o=o.listeners;e:{var u=void 0;if(n)for(var d=o.length-1;0<=d;d--){var h=o[d],y=h.instance,I=h.currentTarget;if(h=h.listener,y!==u&&a.isPropagationStopped())break e;hc(a,h,I),u=y}else for(d=0;d<o.length;d++){if(h=o[d],y=h.instance,I=h.currentTarget,h=h.listener,y!==u&&a.isPropagationStopped())break e;hc(a,h,I),u=y}}}if(Bs)throw e=vo,Bs=!1,vo=null,e}function De(e,n){var r=n[Qo];r===void 0&&(r=n[Qo]=new Set);var o=e+"__bubble";r.has(o)||(vc(n,e,2,!1),r.add(o))}function Bo(e,n,r){var o=0;n&&(o|=4),vc(r,e,o,n)}var si="_reactListening"+Math.random().toString(36).slice(2);function fs(e){if(!e[si]){e[si]=!0,c.forEach(function(r){r!=="selectionchange"&&(jp.has(r)||Bo(r,!1,e),Bo(r,!0,e))});var n=e.nodeType===9?e:e.ownerDocument;n===null||n[si]||(n[si]=!0,Bo("selectionchange",!1,n))}}function vc(e,n,r,o){switch(Fa(n)){case 1:var a=Lf;break;case 4:a=Of;break;default:a=Co}r=a.bind(null,n,r,e),a=void 0,!ur||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(a=!0),o?a!==void 0?e.addEventListener(n,r,{capture:!0,passive:a}):e.addEventListener(n,r,!0):a!==void 0?e.addEventListener(n,r,{passive:a}):e.addEventListener(n,r,!1)}function qo(e,n,r,o,a){var u=o;if((n&1)===0&&(n&2)===0&&o!==null)e:for(;;){if(o===null)return;var d=o.tag;if(d===3||d===4){var h=o.stateNode.containerInfo;if(h===a||h.nodeType===8&&h.parentNode===a)break;if(d===4)for(d=o.return;d!==null;){var y=d.tag;if((y===3||y===4)&&(y=d.stateNode.containerInfo,y===a||y.nodeType===8&&y.parentNode===a))return;d=d.return}for(;h!==null;){if(d=Bt(h),d===null)return;if(y=d.tag,y===5||y===6){o=u=d;continue e}h=h.parentNode}}o=o.return}Qr(function(){var I=u,L=E(r),O=[];e:{var $=pc.get(e);if($!==void 0){var ee=Eo,re=e;switch(e){case"keypress":if(Js(r)===0)break e;case"keydown":case"keyup":ee=Jf;break;case"focusin":re="focus",ee=Ro;break;case"focusout":re="blur",ee=Ro;break;case"beforeblur":case"afterblur":ee=Ro;break;case"click":if(r.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":ee=Wa;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ee=Ff;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ee=np;break;case cc:case uc:case dc:ee=Wf;break;case fc:ee=rp;break;case"scroll":ee=Af;break;case"wheel":ee=ip;break;case"copy":case"cut":case"paste":ee=Vf;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ee=Va}var le=(n&4)!==0,qe=!le&&e==="scroll",S=le?$!==null?$+"Capture":null:$;le=[];for(var x=I,N;x!==null;){N=x;var U=N.stateNode;if(N.tag===5&&U!==null&&(N=U,S!==null&&(U=ht(x,S),U!=null&&le.push(ps(x,U,N)))),qe)break;x=x.return}0<le.length&&($=new ee($,re,null,r,L),O.push({event:$,listeners:le}))}}if((n&7)===0){e:{if($=e==="mouseover"||e==="pointerover",ee=e==="mouseout"||e==="pointerout",$&&r!==C&&(re=r.relatedTarget||r.fromElement)&&(Bt(re)||re[Zn]))break e;if((ee||$)&&($=L.window===L?L:($=L.ownerDocument)?$.defaultView||$.parentWindow:window,ee?(re=r.relatedTarget||r.toElement,ee=I,re=re?Bt(re):null,re!==null&&(qe=Ft(re),re!==qe||re.tag!==5&&re.tag!==6)&&(re=null)):(ee=null,re=I),ee!==re)){if(le=Wa,U="onMouseLeave",S="onMouseEnter",x="mouse",(e==="pointerout"||e==="pointerover")&&(le=Va,U="onPointerLeave",S="onPointerEnter",x="pointer"),qe=ee==null?$:yr(ee),N=re==null?$:yr(re),$=new le(U,x+"leave",ee,r,L),$.target=qe,$.relatedTarget=N,U=null,Bt(L)===I&&(le=new le(S,x+"enter",re,r,L),le.target=N,le.relatedTarget=qe,U=le),qe=U,ee&&re)n:{for(le=ee,S=re,x=0,N=le;N;N=gr(N))x++;for(N=0,U=S;U;U=gr(U))N++;for(;0<x-N;)le=gr(le),x--;for(;0<N-x;)S=gr(S),N--;for(;x--;){if(le===S||S!==null&&le===S.alternate)break n;le=gr(le),S=gr(S)}le=null}else le=null;ee!==null&&yc(O,$,ee,le,!1),re!==null&&qe!==null&&yc(O,qe,re,le,!0)}}e:{if($=I?yr(I):window,ee=$.nodeName&&$.nodeName.toLowerCase(),ee==="select"||ee==="input"&&$.type==="file")var ae=fp;else if(Xa($))if(Za)ae=gp;else{ae=mp;var ue=pp}else(ee=$.nodeName)&&ee.toLowerCase()==="input"&&($.type==="checkbox"||$.type==="radio")&&(ae=hp);if(ae&&(ae=ae(e,I))){Ja(O,ae,r,L);break e}ue&&ue(e,$,I),e==="focusout"&&(ue=$._wrapperState)&&ue.controlled&&$.type==="number"&&or($,"number",$.value)}switch(ue=I?yr(I):window,e){case"focusin":(Xa(ue)||ue.contentEditable==="true")&&(mr=ue,Lo=I,us=null);break;case"focusout":us=Lo=mr=null;break;case"mousedown":Oo=!0;break;case"contextmenu":case"mouseup":case"dragend":Oo=!1,lc(O,r,L);break;case"selectionchange":if(xp)break;case"keydown":case"keyup":lc(O,r,L)}var de;if(To)e:{switch(e){case"compositionstart":var me="onCompositionStart";break e;case"compositionend":me="onCompositionEnd";break e;case"compositionupdate":me="onCompositionUpdate";break e}me=void 0}else pr?Ga(e,r)&&(me="onCompositionEnd"):e==="keydown"&&r.keyCode===229&&(me="onCompositionStart");me&&(Ha&&r.locale!=="ko"&&(pr||me!=="onCompositionStart"?me==="onCompositionEnd"&&pr&&(de=Ba()):(wt=L,_o="value"in wt?wt.value:wt.textContent,pr=!0)),ue=ii(I,me),0<ue.length&&(me=new Ua(me,e,null,r,L),O.push({event:me,listeners:ue}),de?me.data=de:(de=Ya(r),de!==null&&(me.data=de)))),(de=lp?ap(e,r):cp(e,r))&&(I=ii(I,"onBeforeInput"),0<I.length&&(L=new Ua("onBeforeInput","beforeinput",null,r,L),O.push({event:L,listeners:I}),L.data=de))}gc(O,n)})}function ps(e,n,r){return{instance:e,listener:n,currentTarget:r}}function ii(e,n){for(var r=n+"Capture",o=[];e!==null;){var a=e,u=a.stateNode;a.tag===5&&u!==null&&(a=u,u=ht(e,r),u!=null&&o.unshift(ps(e,u,a)),u=ht(e,n),u!=null&&o.push(ps(e,u,a))),e=e.return}return o}function gr(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function yc(e,n,r,o,a){for(var u=n._reactName,d=[];r!==null&&r!==o;){var h=r,y=h.alternate,I=h.stateNode;if(y!==null&&y===o)break;h.tag===5&&I!==null&&(h=I,a?(y=ht(r,u),y!=null&&d.unshift(ps(r,y,h))):a||(y=ht(r,u),y!=null&&d.push(ps(r,y,h)))),r=r.return}d.length!==0&&e.push({event:n,listeners:d})}var Sp=/\r\n?/g,Cp=/\u0000|\uFFFD/g;function xc(e){return(typeof e=="string"?e:""+e).replace(Sp,`
7
- `).replace(Cp,"")}function oi(e,n,r){if(n=xc(n),xc(e)!==n&&r)throw Error(l(425))}function li(){}var Wo=null,Uo=null;function Vo(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 Ho=typeof setTimeout=="function"?setTimeout:void 0,Np=typeof clearTimeout=="function"?clearTimeout:void 0,wc=typeof Promise=="function"?Promise:void 0,_p=typeof queueMicrotask=="function"?queueMicrotask:typeof wc<"u"?function(e){return wc.resolve(null).then(e).catch(Ep)}:Ho;function Ep(e){setTimeout(function(){throw e})}function Ko(e,n){var r=n,o=0;do{var a=r.nextSibling;if(e.removeChild(r),a&&a.nodeType===8)if(r=a.data,r==="/$"){if(o===0){e.removeChild(a),rs(n);return}o--}else r!=="$"&&r!=="$?"&&r!=="$!"||o++;r=a}while(r);rs(n)}function jt(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 kc(e){e=e.previousSibling;for(var n=0;e;){if(e.nodeType===8){var r=e.data;if(r==="$"||r==="$!"||r==="$?"){if(n===0)return e;n--}else r==="/$"&&n++}e=e.previousSibling}return null}var vr=Math.random().toString(36).slice(2),Vn="__reactFiber$"+vr,ms="__reactProps$"+vr,Zn="__reactContainer$"+vr,Qo="__reactEvents$"+vr,Ip="__reactListeners$"+vr,bp="__reactHandles$"+vr;function Bt(e){var n=e[Vn];if(n)return n;for(var r=e.parentNode;r;){if(n=r[Zn]||r[Vn]){if(r=n.alternate,n.child!==null||r!==null&&r.child!==null)for(e=kc(e);e!==null;){if(r=e[Vn])return r;e=kc(e)}return n}e=r,r=e.parentNode}return null}function hs(e){return e=e[Vn]||e[Zn],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function yr(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(l(33))}function ai(e){return e[ms]||null}var Go=[],xr=-1;function St(e){return{current:e}}function Le(e){0>xr||(e.current=Go[xr],Go[xr]=null,xr--)}function Te(e,n){xr++,Go[xr]=e.current,e.current=n}var Ct={},Je=St(Ct),an=St(!1),qt=Ct;function wr(e,n){var r=e.type.contextTypes;if(!r)return Ct;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===n)return o.__reactInternalMemoizedMaskedChildContext;var a={},u;for(u in r)a[u]=n[u];return o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=a),a}function cn(e){return e=e.childContextTypes,e!=null}function ci(){Le(an),Le(Je)}function jc(e,n,r){if(Je.current!==Ct)throw Error(l(168));Te(Je,n),Te(an,r)}function Sc(e,n,r){var o=e.stateNode;if(n=n.childContextTypes,typeof o.getChildContext!="function")return r;o=o.getChildContext();for(var a in o)if(!(a in n))throw Error(l(108,xe(e)||"Unknown",a));return q({},r,o)}function ui(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ct,qt=Je.current,Te(Je,e),Te(an,an.current),!0}function Cc(e,n,r){var o=e.stateNode;if(!o)throw Error(l(169));r?(e=Sc(e,n,qt),o.__reactInternalMemoizedMergedChildContext=e,Le(an),Le(Je),Te(Je,e)):Le(an),Te(an,r)}var et=null,di=!1,Yo=!1;function Nc(e){et===null?et=[e]:et.push(e)}function Rp(e){di=!0,Nc(e)}function Nt(){if(!Yo&&et!==null){Yo=!0;var e=0,n=Pe;try{var r=et;for(Pe=1;e<r.length;e++){var o=r[e];do o=o(!0);while(o!==null)}et=null,di=!1}catch(a){throw et!==null&&(et=et.slice(e+1)),Ea(yo,Nt),a}finally{Pe=n,Yo=!1}}return null}var kr=[],jr=0,fi=null,pi=0,Sn=[],Cn=0,Wt=null,nt=1,tt="";function Ut(e,n){kr[jr++]=pi,kr[jr++]=fi,fi=e,pi=n}function _c(e,n,r){Sn[Cn++]=nt,Sn[Cn++]=tt,Sn[Cn++]=Wt,Wt=e;var o=nt;e=tt;var a=32-$n(o)-1;o&=~(1<<a),r+=1;var u=32-$n(n)+a;if(30<u){var d=a-a%5;u=(o&(1<<d)-1).toString(32),o>>=d,a-=d,nt=1<<32-$n(n)+a|r<<a|o,tt=u+e}else nt=1<<u|r<<a|o,tt=e}function Xo(e){e.return!==null&&(Ut(e,1),_c(e,1,0))}function Jo(e){for(;e===fi;)fi=kr[--jr],kr[jr]=null,pi=kr[--jr],kr[jr]=null;for(;e===Wt;)Wt=Sn[--Cn],Sn[Cn]=null,tt=Sn[--Cn],Sn[Cn]=null,nt=Sn[--Cn],Sn[Cn]=null}var yn=null,xn=null,Oe=!1,Ln=null;function Ec(e,n){var r=In(5,null,null,0);r.elementType="DELETED",r.stateNode=n,r.return=e,n=e.deletions,n===null?(e.deletions=[r],e.flags|=16):n.push(r)}function Ic(e,n){switch(e.tag){case 5:var r=e.type;return n=n.nodeType!==1||r.toLowerCase()!==n.nodeName.toLowerCase()?null:n,n!==null?(e.stateNode=n,yn=e,xn=jt(n.firstChild),!0):!1;case 6:return n=e.pendingProps===""||n.nodeType!==3?null:n,n!==null?(e.stateNode=n,yn=e,xn=null,!0):!1;case 13:return n=n.nodeType!==8?null:n,n!==null?(r=Wt!==null?{id:nt,overflow:tt}:null,e.memoizedState={dehydrated:n,treeContext:r,retryLane:1073741824},r=In(18,null,null,0),r.stateNode=n,r.return=e,e.child=r,yn=e,xn=null,!0):!1;default:return!1}}function Zo(e){return(e.mode&1)!==0&&(e.flags&128)===0}function el(e){if(Oe){var n=xn;if(n){var r=n;if(!Ic(e,n)){if(Zo(e))throw Error(l(418));n=jt(r.nextSibling);var o=yn;n&&Ic(e,n)?Ec(o,r):(e.flags=e.flags&-4097|2,Oe=!1,yn=e)}}else{if(Zo(e))throw Error(l(418));e.flags=e.flags&-4097|2,Oe=!1,yn=e}}}function bc(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;yn=e}function mi(e){if(e!==yn)return!1;if(!Oe)return bc(e),Oe=!0,!1;var n;if((n=e.tag!==3)&&!(n=e.tag!==5)&&(n=e.type,n=n!=="head"&&n!=="body"&&!Vo(e.type,e.memoizedProps)),n&&(n=xn)){if(Zo(e))throw Rc(),Error(l(418));for(;n;)Ec(e,n),n=jt(n.nextSibling)}if(bc(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 r=e.data;if(r==="/$"){if(n===0){xn=jt(e.nextSibling);break e}n--}else r!=="$"&&r!=="$!"&&r!=="$?"||n++}e=e.nextSibling}xn=null}}else xn=yn?jt(e.stateNode.nextSibling):null;return!0}function Rc(){for(var e=xn;e;)e=jt(e.nextSibling)}function Sr(){xn=yn=null,Oe=!1}function nl(e){Ln===null?Ln=[e]:Ln.push(e)}var Pp=B.ReactCurrentBatchConfig;function gs(e,n,r){if(e=r.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(r._owner){if(r=r._owner,r){if(r.tag!==1)throw Error(l(309));var o=r.stateNode}if(!o)throw Error(l(147,e));var a=o,u=""+e;return n!==null&&n.ref!==null&&typeof n.ref=="function"&&n.ref._stringRef===u?n.ref:(n=function(d){var h=a.refs;d===null?delete h[u]:h[u]=d},n._stringRef=u,n)}if(typeof e!="string")throw Error(l(284));if(!r._owner)throw Error(l(290,e))}return e}function hi(e,n){throw e=Object.prototype.toString.call(n),Error(l(31,e==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":e))}function Pc(e){var n=e._init;return n(e._payload)}function Tc(e){function n(S,x){if(e){var N=S.deletions;N===null?(S.deletions=[x],S.flags|=16):N.push(x)}}function r(S,x){if(!e)return null;for(;x!==null;)n(S,x),x=x.sibling;return null}function o(S,x){for(S=new Map;x!==null;)x.key!==null?S.set(x.key,x):S.set(x.index,x),x=x.sibling;return S}function a(S,x){return S=Mt(S,x),S.index=0,S.sibling=null,S}function u(S,x,N){return S.index=N,e?(N=S.alternate,N!==null?(N=N.index,N<x?(S.flags|=2,x):N):(S.flags|=2,x)):(S.flags|=1048576,x)}function d(S){return e&&S.alternate===null&&(S.flags|=2),S}function h(S,x,N,U){return x===null||x.tag!==6?(x=Hl(N,S.mode,U),x.return=S,x):(x=a(x,N),x.return=S,x)}function y(S,x,N,U){var ae=N.type;return ae===D?L(S,x,N.props.children,U,N.key):x!==null&&(x.elementType===ae||typeof ae=="object"&&ae!==null&&ae.$$typeof===je&&Pc(ae)===x.type)?(U=a(x,N.props),U.ref=gs(S,x,N),U.return=S,U):(U=zi(N.type,N.key,N.props,null,S.mode,U),U.ref=gs(S,x,N),U.return=S,U)}function I(S,x,N,U){return x===null||x.tag!==4||x.stateNode.containerInfo!==N.containerInfo||x.stateNode.implementation!==N.implementation?(x=Kl(N,S.mode,U),x.return=S,x):(x=a(x,N.children||[]),x.return=S,x)}function L(S,x,N,U,ae){return x===null||x.tag!==7?(x=Jt(N,S.mode,U,ae),x.return=S,x):(x=a(x,N),x.return=S,x)}function O(S,x,N){if(typeof x=="string"&&x!==""||typeof x=="number")return x=Hl(""+x,S.mode,N),x.return=S,x;if(typeof x=="object"&&x!==null){switch(x.$$typeof){case Y:return N=zi(x.type,x.key,x.props,null,S.mode,N),N.ref=gs(S,null,x),N.return=S,N;case k:return x=Kl(x,S.mode,N),x.return=S,x;case je:var U=x._init;return O(S,U(x._payload),N)}if(ft(x)||G(x))return x=Jt(x,S.mode,N,null),x.return=S,x;hi(S,x)}return null}function $(S,x,N,U){var ae=x!==null?x.key:null;if(typeof N=="string"&&N!==""||typeof N=="number")return ae!==null?null:h(S,x,""+N,U);if(typeof N=="object"&&N!==null){switch(N.$$typeof){case Y:return N.key===ae?y(S,x,N,U):null;case k:return N.key===ae?I(S,x,N,U):null;case je:return ae=N._init,$(S,x,ae(N._payload),U)}if(ft(N)||G(N))return ae!==null?null:L(S,x,N,U,null);hi(S,N)}return null}function ee(S,x,N,U,ae){if(typeof U=="string"&&U!==""||typeof U=="number")return S=S.get(N)||null,h(x,S,""+U,ae);if(typeof U=="object"&&U!==null){switch(U.$$typeof){case Y:return S=S.get(U.key===null?N:U.key)||null,y(x,S,U,ae);case k:return S=S.get(U.key===null?N:U.key)||null,I(x,S,U,ae);case je:var ue=U._init;return ee(S,x,N,ue(U._payload),ae)}if(ft(U)||G(U))return S=S.get(N)||null,L(x,S,U,ae,null);hi(x,U)}return null}function re(S,x,N,U){for(var ae=null,ue=null,de=x,me=x=0,Ge=null;de!==null&&me<N.length;me++){de.index>me?(Ge=de,de=null):Ge=de.sibling;var be=$(S,de,N[me],U);if(be===null){de===null&&(de=Ge);break}e&&de&&be.alternate===null&&n(S,de),x=u(be,x,me),ue===null?ae=be:ue.sibling=be,ue=be,de=Ge}if(me===N.length)return r(S,de),Oe&&Ut(S,me),ae;if(de===null){for(;me<N.length;me++)de=O(S,N[me],U),de!==null&&(x=u(de,x,me),ue===null?ae=de:ue.sibling=de,ue=de);return Oe&&Ut(S,me),ae}for(de=o(S,de);me<N.length;me++)Ge=ee(de,S,me,N[me],U),Ge!==null&&(e&&Ge.alternate!==null&&de.delete(Ge.key===null?me:Ge.key),x=u(Ge,x,me),ue===null?ae=Ge:ue.sibling=Ge,ue=Ge);return e&&de.forEach(function($t){return n(S,$t)}),Oe&&Ut(S,me),ae}function le(S,x,N,U){var ae=G(N);if(typeof ae!="function")throw Error(l(150));if(N=ae.call(N),N==null)throw Error(l(151));for(var ue=ae=null,de=x,me=x=0,Ge=null,be=N.next();de!==null&&!be.done;me++,be=N.next()){de.index>me?(Ge=de,de=null):Ge=de.sibling;var $t=$(S,de,be.value,U);if($t===null){de===null&&(de=Ge);break}e&&de&&$t.alternate===null&&n(S,de),x=u($t,x,me),ue===null?ae=$t:ue.sibling=$t,ue=$t,de=Ge}if(be.done)return r(S,de),Oe&&Ut(S,me),ae;if(de===null){for(;!be.done;me++,be=N.next())be=O(S,be.value,U),be!==null&&(x=u(be,x,me),ue===null?ae=be:ue.sibling=be,ue=be);return Oe&&Ut(S,me),ae}for(de=o(S,de);!be.done;me++,be=N.next())be=ee(de,S,me,be.value,U),be!==null&&(e&&be.alternate!==null&&de.delete(be.key===null?me:be.key),x=u(be,x,me),ue===null?ae=be:ue.sibling=be,ue=be);return e&&de.forEach(function(um){return n(S,um)}),Oe&&Ut(S,me),ae}function qe(S,x,N,U){if(typeof N=="object"&&N!==null&&N.type===D&&N.key===null&&(N=N.props.children),typeof N=="object"&&N!==null){switch(N.$$typeof){case Y:e:{for(var ae=N.key,ue=x;ue!==null;){if(ue.key===ae){if(ae=N.type,ae===D){if(ue.tag===7){r(S,ue.sibling),x=a(ue,N.props.children),x.return=S,S=x;break e}}else if(ue.elementType===ae||typeof ae=="object"&&ae!==null&&ae.$$typeof===je&&Pc(ae)===ue.type){r(S,ue.sibling),x=a(ue,N.props),x.ref=gs(S,ue,N),x.return=S,S=x;break e}r(S,ue);break}else n(S,ue);ue=ue.sibling}N.type===D?(x=Jt(N.props.children,S.mode,U,N.key),x.return=S,S=x):(U=zi(N.type,N.key,N.props,null,S.mode,U),U.ref=gs(S,x,N),U.return=S,S=U)}return d(S);case k:e:{for(ue=N.key;x!==null;){if(x.key===ue)if(x.tag===4&&x.stateNode.containerInfo===N.containerInfo&&x.stateNode.implementation===N.implementation){r(S,x.sibling),x=a(x,N.children||[]),x.return=S,S=x;break e}else{r(S,x);break}else n(S,x);x=x.sibling}x=Kl(N,S.mode,U),x.return=S,S=x}return d(S);case je:return ue=N._init,qe(S,x,ue(N._payload),U)}if(ft(N))return re(S,x,N,U);if(G(N))return le(S,x,N,U);hi(S,N)}return typeof N=="string"&&N!==""||typeof N=="number"?(N=""+N,x!==null&&x.tag===6?(r(S,x.sibling),x=a(x,N),x.return=S,S=x):(r(S,x),x=Hl(N,S.mode,U),x.return=S,S=x),d(S)):r(S,x)}return qe}var Cr=Tc(!0),Mc=Tc(!1),gi=St(null),vi=null,Nr=null,tl=null;function rl(){tl=Nr=vi=null}function sl(e){var n=gi.current;Le(gi),e._currentValue=n}function il(e,n,r){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===r)break;e=e.return}}function _r(e,n){vi=e,tl=Nr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&n)!==0&&(un=!0),e.firstContext=null)}function Nn(e){var n=e._currentValue;if(tl!==e)if(e={context:e,memoizedValue:n,next:null},Nr===null){if(vi===null)throw Error(l(308));Nr=e,vi.dependencies={lanes:0,firstContext:e}}else Nr=Nr.next=e;return n}var Vt=null;function ol(e){Vt===null?Vt=[e]:Vt.push(e)}function $c(e,n,r,o){var a=n.interleaved;return a===null?(r.next=r,ol(n)):(r.next=a.next,a.next=r),n.interleaved=r,rt(e,o)}function rt(e,n){e.lanes|=n;var r=e.alternate;for(r!==null&&(r.lanes|=n),r=e,e=e.return;e!==null;)e.childLanes|=n,r=e.alternate,r!==null&&(r.childLanes|=n),r=e,e=e.return;return r.tag===3?r.stateNode:null}var _t=!1;function ll(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Dc(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 st(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function Et(e,n,r){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(_e&2)!==0){var a=o.pending;return a===null?n.next=n:(n.next=a.next,a.next=n),o.pending=n,rt(e,r)}return a=o.interleaved,a===null?(n.next=n,ol(o)):(n.next=a.next,a.next=n),o.interleaved=n,rt(e,r)}function yi(e,n,r){if(n=n.updateQueue,n!==null&&(n=n.shared,(r&4194240)!==0)){var o=n.lanes;o&=e.pendingLanes,r|=o,n.lanes=r,ko(e,r)}}function Lc(e,n){var r=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,r===o)){var a=null,u=null;if(r=r.firstBaseUpdate,r!==null){do{var d={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};u===null?a=u=d:u=u.next=d,r=r.next}while(r!==null);u===null?a=u=n:u=u.next=n}else a=u=n;r={baseState:o.baseState,firstBaseUpdate:a,lastBaseUpdate:u,shared:o.shared,effects:o.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=n:e.next=n,r.lastBaseUpdate=n}function xi(e,n,r,o){var a=e.updateQueue;_t=!1;var u=a.firstBaseUpdate,d=a.lastBaseUpdate,h=a.shared.pending;if(h!==null){a.shared.pending=null;var y=h,I=y.next;y.next=null,d===null?u=I:d.next=I,d=y;var L=e.alternate;L!==null&&(L=L.updateQueue,h=L.lastBaseUpdate,h!==d&&(h===null?L.firstBaseUpdate=I:h.next=I,L.lastBaseUpdate=y))}if(u!==null){var O=a.baseState;d=0,L=I=y=null,h=u;do{var $=h.lane,ee=h.eventTime;if((o&$)===$){L!==null&&(L=L.next={eventTime:ee,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,next:null});e:{var re=e,le=h;switch($=n,ee=r,le.tag){case 1:if(re=le.payload,typeof re=="function"){O=re.call(ee,O,$);break e}O=re;break e;case 3:re.flags=re.flags&-65537|128;case 0:if(re=le.payload,$=typeof re=="function"?re.call(ee,O,$):re,$==null)break e;O=q({},O,$);break e;case 2:_t=!0}}h.callback!==null&&h.lane!==0&&(e.flags|=64,$=a.effects,$===null?a.effects=[h]:$.push(h))}else ee={eventTime:ee,lane:$,tag:h.tag,payload:h.payload,callback:h.callback,next:null},L===null?(I=L=ee,y=O):L=L.next=ee,d|=$;if(h=h.next,h===null){if(h=a.shared.pending,h===null)break;$=h,h=$.next,$.next=null,a.lastBaseUpdate=$,a.shared.pending=null}}while(!0);if(L===null&&(y=O),a.baseState=y,a.firstBaseUpdate=I,a.lastBaseUpdate=L,n=a.shared.interleaved,n!==null){a=n;do d|=a.lane,a=a.next;while(a!==n)}else u===null&&(a.shared.lanes=0);Qt|=d,e.lanes=d,e.memoizedState=O}}function Oc(e,n,r){if(e=n.effects,n.effects=null,e!==null)for(n=0;n<e.length;n++){var o=e[n],a=o.callback;if(a!==null){if(o.callback=null,o=r,typeof a!="function")throw Error(l(191,a));a.call(o)}}}var vs={},Hn=St(vs),ys=St(vs),xs=St(vs);function Ht(e){if(e===vs)throw Error(l(174));return e}function al(e,n){switch(Te(xs,n),Te(ys,e),Te(Hn,vs),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:ar(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=ar(n,e)}Le(Hn),Te(Hn,n)}function Er(){Le(Hn),Le(ys),Le(xs)}function Ac(e){Ht(xs.current);var n=Ht(Hn.current),r=ar(n,e.type);n!==r&&(Te(ys,e),Te(Hn,r))}function cl(e){ys.current===e&&(Le(Hn),Le(ys))}var Ae=St(0);function wi(e){for(var n=e;n!==null;){if(n.tag===13){var r=n.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.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 ul=[];function dl(){for(var e=0;e<ul.length;e++)ul[e]._workInProgressVersionPrimary=null;ul.length=0}var ki=B.ReactCurrentDispatcher,fl=B.ReactCurrentBatchConfig,Kt=0,ze=null,Ve=null,Ke=null,ji=!1,ws=!1,ks=0,Tp=0;function Ze(){throw Error(l(321))}function pl(e,n){if(n===null)return!1;for(var r=0;r<n.length&&r<e.length;r++)if(!Dn(e[r],n[r]))return!1;return!0}function ml(e,n,r,o,a,u){if(Kt=u,ze=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,ki.current=e===null||e.memoizedState===null?Lp:Op,e=r(o,a),ws){u=0;do{if(ws=!1,ks=0,25<=u)throw Error(l(301));u+=1,Ke=Ve=null,n.updateQueue=null,ki.current=Ap,e=r(o,a)}while(ws)}if(ki.current=Ni,n=Ve!==null&&Ve.next!==null,Kt=0,Ke=Ve=ze=null,ji=!1,n)throw Error(l(300));return e}function hl(){var e=ks!==0;return ks=0,e}function Kn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ke===null?ze.memoizedState=Ke=e:Ke=Ke.next=e,Ke}function _n(){if(Ve===null){var e=ze.alternate;e=e!==null?e.memoizedState:null}else e=Ve.next;var n=Ke===null?ze.memoizedState:Ke.next;if(n!==null)Ke=n,Ve=e;else{if(e===null)throw Error(l(310));Ve=e,e={memoizedState:Ve.memoizedState,baseState:Ve.baseState,baseQueue:Ve.baseQueue,queue:Ve.queue,next:null},Ke===null?ze.memoizedState=Ke=e:Ke=Ke.next=e}return Ke}function js(e,n){return typeof n=="function"?n(e):n}function gl(e){var n=_n(),r=n.queue;if(r===null)throw Error(l(311));r.lastRenderedReducer=e;var o=Ve,a=o.baseQueue,u=r.pending;if(u!==null){if(a!==null){var d=a.next;a.next=u.next,u.next=d}o.baseQueue=a=u,r.pending=null}if(a!==null){u=a.next,o=o.baseState;var h=d=null,y=null,I=u;do{var L=I.lane;if((Kt&L)===L)y!==null&&(y=y.next={lane:0,action:I.action,hasEagerState:I.hasEagerState,eagerState:I.eagerState,next:null}),o=I.hasEagerState?I.eagerState:e(o,I.action);else{var O={lane:L,action:I.action,hasEagerState:I.hasEagerState,eagerState:I.eagerState,next:null};y===null?(h=y=O,d=o):y=y.next=O,ze.lanes|=L,Qt|=L}I=I.next}while(I!==null&&I!==u);y===null?d=o:y.next=h,Dn(o,n.memoizedState)||(un=!0),n.memoizedState=o,n.baseState=d,n.baseQueue=y,r.lastRenderedState=o}if(e=r.interleaved,e!==null){a=e;do u=a.lane,ze.lanes|=u,Qt|=u,a=a.next;while(a!==e)}else a===null&&(r.lanes=0);return[n.memoizedState,r.dispatch]}function vl(e){var n=_n(),r=n.queue;if(r===null)throw Error(l(311));r.lastRenderedReducer=e;var o=r.dispatch,a=r.pending,u=n.memoizedState;if(a!==null){r.pending=null;var d=a=a.next;do u=e(u,d.action),d=d.next;while(d!==a);Dn(u,n.memoizedState)||(un=!0),n.memoizedState=u,n.baseQueue===null&&(n.baseState=u),r.lastRenderedState=u}return[u,o]}function zc(){}function Fc(e,n){var r=ze,o=_n(),a=n(),u=!Dn(o.memoizedState,a);if(u&&(o.memoizedState=a,un=!0),o=o.queue,yl(Wc.bind(null,r,o,e),[e]),o.getSnapshot!==n||u||Ke!==null&&Ke.memoizedState.tag&1){if(r.flags|=2048,Ss(9,qc.bind(null,r,o,a,n),void 0,null),Qe===null)throw Error(l(349));(Kt&30)!==0||Bc(r,n,a)}return a}function Bc(e,n,r){e.flags|=16384,e={getSnapshot:n,value:r},n=ze.updateQueue,n===null?(n={lastEffect:null,stores:null},ze.updateQueue=n,n.stores=[e]):(r=n.stores,r===null?n.stores=[e]:r.push(e))}function qc(e,n,r,o){n.value=r,n.getSnapshot=o,Uc(n)&&Vc(e)}function Wc(e,n,r){return r(function(){Uc(n)&&Vc(e)})}function Uc(e){var n=e.getSnapshot;e=e.value;try{var r=n();return!Dn(e,r)}catch{return!0}}function Vc(e){var n=rt(e,1);n!==null&&Fn(n,e,1,-1)}function Hc(e){var n=Kn();return typeof e=="function"&&(e=e()),n.memoizedState=n.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:js,lastRenderedState:e},n.queue=e,e=e.dispatch=Dp.bind(null,ze,e),[n.memoizedState,e]}function Ss(e,n,r,o){return e={tag:e,create:n,destroy:r,deps:o,next:null},n=ze.updateQueue,n===null?(n={lastEffect:null,stores:null},ze.updateQueue=n,n.lastEffect=e.next=e):(r=n.lastEffect,r===null?n.lastEffect=e.next=e:(o=r.next,r.next=e,e.next=o,n.lastEffect=e)),e}function Kc(){return _n().memoizedState}function Si(e,n,r,o){var a=Kn();ze.flags|=e,a.memoizedState=Ss(1|n,r,void 0,o===void 0?null:o)}function Ci(e,n,r,o){var a=_n();o=o===void 0?null:o;var u=void 0;if(Ve!==null){var d=Ve.memoizedState;if(u=d.destroy,o!==null&&pl(o,d.deps)){a.memoizedState=Ss(n,r,u,o);return}}ze.flags|=e,a.memoizedState=Ss(1|n,r,u,o)}function Qc(e,n){return Si(8390656,8,e,n)}function yl(e,n){return Ci(2048,8,e,n)}function Gc(e,n){return Ci(4,2,e,n)}function Yc(e,n){return Ci(4,4,e,n)}function Xc(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 Jc(e,n,r){return r=r!=null?r.concat([e]):null,Ci(4,4,Xc.bind(null,n,e),r)}function xl(){}function Zc(e,n){var r=_n();n=n===void 0?null:n;var o=r.memoizedState;return o!==null&&n!==null&&pl(n,o[1])?o[0]:(r.memoizedState=[e,n],e)}function eu(e,n){var r=_n();n=n===void 0?null:n;var o=r.memoizedState;return o!==null&&n!==null&&pl(n,o[1])?o[0]:(e=e(),r.memoizedState=[e,n],e)}function nu(e,n,r){return(Kt&21)===0?(e.baseState&&(e.baseState=!1,un=!0),e.memoizedState=r):(Dn(r,n)||(r=Pa(),ze.lanes|=r,Qt|=r,e.baseState=!0),n)}function Mp(e,n){var r=Pe;Pe=r!==0&&4>r?r:4,e(!0);var o=fl.transition;fl.transition={};try{e(!1),n()}finally{Pe=r,fl.transition=o}}function tu(){return _n().memoizedState}function $p(e,n,r){var o=Pt(e);if(r={lane:o,action:r,hasEagerState:!1,eagerState:null,next:null},ru(e))su(n,r);else if(r=$c(e,n,r,o),r!==null){var a=on();Fn(r,e,o,a),iu(r,n,o)}}function Dp(e,n,r){var o=Pt(e),a={lane:o,action:r,hasEagerState:!1,eagerState:null,next:null};if(ru(e))su(n,a);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=n.lastRenderedReducer,u!==null))try{var d=n.lastRenderedState,h=u(d,r);if(a.hasEagerState=!0,a.eagerState=h,Dn(h,d)){var y=n.interleaved;y===null?(a.next=a,ol(n)):(a.next=y.next,y.next=a),n.interleaved=a;return}}catch{}r=$c(e,n,a,o),r!==null&&(a=on(),Fn(r,e,o,a),iu(r,n,o))}}function ru(e){var n=e.alternate;return e===ze||n!==null&&n===ze}function su(e,n){ws=ji=!0;var r=e.pending;r===null?n.next=n:(n.next=r.next,r.next=n),e.pending=n}function iu(e,n,r){if((r&4194240)!==0){var o=n.lanes;o&=e.pendingLanes,r|=o,n.lanes=r,ko(e,r)}}var Ni={readContext:Nn,useCallback:Ze,useContext:Ze,useEffect:Ze,useImperativeHandle:Ze,useInsertionEffect:Ze,useLayoutEffect:Ze,useMemo:Ze,useReducer:Ze,useRef:Ze,useState:Ze,useDebugValue:Ze,useDeferredValue:Ze,useTransition:Ze,useMutableSource:Ze,useSyncExternalStore:Ze,useId:Ze,unstable_isNewReconciler:!1},Lp={readContext:Nn,useCallback:function(e,n){return Kn().memoizedState=[e,n===void 0?null:n],e},useContext:Nn,useEffect:Qc,useImperativeHandle:function(e,n,r){return r=r!=null?r.concat([e]):null,Si(4194308,4,Xc.bind(null,n,e),r)},useLayoutEffect:function(e,n){return Si(4194308,4,e,n)},useInsertionEffect:function(e,n){return Si(4,2,e,n)},useMemo:function(e,n){var r=Kn();return n=n===void 0?null:n,e=e(),r.memoizedState=[e,n],e},useReducer:function(e,n,r){var o=Kn();return n=r!==void 0?r(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=$p.bind(null,ze,e),[o.memoizedState,e]},useRef:function(e){var n=Kn();return e={current:e},n.memoizedState=e},useState:Hc,useDebugValue:xl,useDeferredValue:function(e){return Kn().memoizedState=e},useTransition:function(){var e=Hc(!1),n=e[0];return e=Mp.bind(null,e[1]),Kn().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,r){var o=ze,a=Kn();if(Oe){if(r===void 0)throw Error(l(407));r=r()}else{if(r=n(),Qe===null)throw Error(l(349));(Kt&30)!==0||Bc(o,n,r)}a.memoizedState=r;var u={value:r,getSnapshot:n};return a.queue=u,Qc(Wc.bind(null,o,u,e),[e]),o.flags|=2048,Ss(9,qc.bind(null,o,u,r,n),void 0,null),r},useId:function(){var e=Kn(),n=Qe.identifierPrefix;if(Oe){var r=tt,o=nt;r=(o&~(1<<32-$n(o)-1)).toString(32)+r,n=":"+n+"R"+r,r=ks++,0<r&&(n+="H"+r.toString(32)),n+=":"}else r=Tp++,n=":"+n+"r"+r.toString(32)+":";return e.memoizedState=n},unstable_isNewReconciler:!1},Op={readContext:Nn,useCallback:Zc,useContext:Nn,useEffect:yl,useImperativeHandle:Jc,useInsertionEffect:Gc,useLayoutEffect:Yc,useMemo:eu,useReducer:gl,useRef:Kc,useState:function(){return gl(js)},useDebugValue:xl,useDeferredValue:function(e){var n=_n();return nu(n,Ve.memoizedState,e)},useTransition:function(){var e=gl(js)[0],n=_n().memoizedState;return[e,n]},useMutableSource:zc,useSyncExternalStore:Fc,useId:tu,unstable_isNewReconciler:!1},Ap={readContext:Nn,useCallback:Zc,useContext:Nn,useEffect:yl,useImperativeHandle:Jc,useInsertionEffect:Gc,useLayoutEffect:Yc,useMemo:eu,useReducer:vl,useRef:Kc,useState:function(){return vl(js)},useDebugValue:xl,useDeferredValue:function(e){var n=_n();return Ve===null?n.memoizedState=e:nu(n,Ve.memoizedState,e)},useTransition:function(){var e=vl(js)[0],n=_n().memoizedState;return[e,n]},useMutableSource:zc,useSyncExternalStore:Fc,useId:tu,unstable_isNewReconciler:!1};function On(e,n){if(e&&e.defaultProps){n=q({},n),e=e.defaultProps;for(var r in e)n[r]===void 0&&(n[r]=e[r]);return n}return n}function wl(e,n,r,o){n=e.memoizedState,r=r(o,n),r=r==null?n:q({},n,r),e.memoizedState=r,e.lanes===0&&(e.updateQueue.baseState=r)}var _i={isMounted:function(e){return(e=e._reactInternals)?Ft(e)===e:!1},enqueueSetState:function(e,n,r){e=e._reactInternals;var o=on(),a=Pt(e),u=st(o,a);u.payload=n,r!=null&&(u.callback=r),n=Et(e,u,a),n!==null&&(Fn(n,e,a,o),yi(n,e,a))},enqueueReplaceState:function(e,n,r){e=e._reactInternals;var o=on(),a=Pt(e),u=st(o,a);u.tag=1,u.payload=n,r!=null&&(u.callback=r),n=Et(e,u,a),n!==null&&(Fn(n,e,a,o),yi(n,e,a))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var r=on(),o=Pt(e),a=st(r,o);a.tag=2,n!=null&&(a.callback=n),n=Et(e,a,o),n!==null&&(Fn(n,e,o,r),yi(n,e,o))}};function ou(e,n,r,o,a,u,d){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(o,u,d):n.prototype&&n.prototype.isPureReactComponent?!cs(r,o)||!cs(a,u):!0}function lu(e,n,r){var o=!1,a=Ct,u=n.contextType;return typeof u=="object"&&u!==null?u=Nn(u):(a=cn(n)?qt:Je.current,o=n.contextTypes,u=(o=o!=null)?wr(e,a):Ct),n=new n(r,u),e.memoizedState=n.state!==null&&n.state!==void 0?n.state:null,n.updater=_i,e.stateNode=n,n._reactInternals=e,o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=u),n}function au(e,n,r,o){e=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(r,o),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(r,o),n.state!==e&&_i.enqueueReplaceState(n,n.state,null)}function kl(e,n,r,o){var a=e.stateNode;a.props=r,a.state=e.memoizedState,a.refs={},ll(e);var u=n.contextType;typeof u=="object"&&u!==null?a.context=Nn(u):(u=cn(n)?qt:Je.current,a.context=wr(e,u)),a.state=e.memoizedState,u=n.getDerivedStateFromProps,typeof u=="function"&&(wl(e,n,u,r),a.state=e.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof a.getSnapshotBeforeUpdate=="function"||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(n=a.state,typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount(),n!==a.state&&_i.enqueueReplaceState(a,a.state,null),xi(e,r,a,o),a.state=e.memoizedState),typeof a.componentDidMount=="function"&&(e.flags|=4194308)}function Ir(e,n){try{var r="",o=n;do r+=ye(o),o=o.return;while(o);var a=r}catch(u){a=`
8
- Error generating stack: `+u.message+`
9
- `+u.stack}return{value:e,source:n,stack:a,digest:null}}function jl(e,n,r){return{value:e,source:null,stack:r??null,digest:n??null}}function Sl(e,n){try{console.error(n.value)}catch(r){setTimeout(function(){throw r})}}var zp=typeof WeakMap=="function"?WeakMap:Map;function cu(e,n,r){r=st(-1,r),r.tag=3,r.payload={element:null};var o=n.value;return r.callback=function(){Mi||(Mi=!0,Al=o),Sl(e,n)},r}function uu(e,n,r){r=st(-1,r),r.tag=3;var o=e.type.getDerivedStateFromError;if(typeof o=="function"){var a=n.value;r.payload=function(){return o(a)},r.callback=function(){Sl(e,n)}}var u=e.stateNode;return u!==null&&typeof u.componentDidCatch=="function"&&(r.callback=function(){Sl(e,n),typeof o!="function"&&(bt===null?bt=new Set([this]):bt.add(this));var d=n.stack;this.componentDidCatch(n.value,{componentStack:d!==null?d:""})}),r}function du(e,n,r){var o=e.pingCache;if(o===null){o=e.pingCache=new zp;var a=new Set;o.set(n,a)}else a=o.get(n),a===void 0&&(a=new Set,o.set(n,a));a.has(r)||(a.add(r),e=Zp.bind(null,e,n,r),n.then(e,e))}function fu(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 pu(e,n,r,o,a){return(e.mode&1)===0?(e===n?e.flags|=65536:(e.flags|=128,r.flags|=131072,r.flags&=-52805,r.tag===1&&(r.alternate===null?r.tag=17:(n=st(-1,1),n.tag=2,Et(r,n,1))),r.lanes|=1),e):(e.flags|=65536,e.lanes=a,e)}var Fp=B.ReactCurrentOwner,un=!1;function sn(e,n,r,o){n.child=e===null?Mc(n,null,r,o):Cr(n,e.child,r,o)}function mu(e,n,r,o,a){r=r.render;var u=n.ref;return _r(n,a),o=ml(e,n,r,o,u,a),r=hl(),e!==null&&!un?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~a,it(e,n,a)):(Oe&&r&&Xo(n),n.flags|=1,sn(e,n,o,a),n.child)}function hu(e,n,r,o,a){if(e===null){var u=r.type;return typeof u=="function"&&!Vl(u)&&u.defaultProps===void 0&&r.compare===null&&r.defaultProps===void 0?(n.tag=15,n.type=u,gu(e,n,u,o,a)):(e=zi(r.type,null,o,n,n.mode,a),e.ref=n.ref,e.return=n,n.child=e)}if(u=e.child,(e.lanes&a)===0){var d=u.memoizedProps;if(r=r.compare,r=r!==null?r:cs,r(d,o)&&e.ref===n.ref)return it(e,n,a)}return n.flags|=1,e=Mt(u,o),e.ref=n.ref,e.return=n,n.child=e}function gu(e,n,r,o,a){if(e!==null){var u=e.memoizedProps;if(cs(u,o)&&e.ref===n.ref)if(un=!1,n.pendingProps=o=u,(e.lanes&a)!==0)(e.flags&131072)!==0&&(un=!0);else return n.lanes=e.lanes,it(e,n,a)}return Cl(e,n,r,o,a)}function vu(e,n,r){var o=n.pendingProps,a=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},Te(Rr,wn),wn|=r;else{if((r&1073741824)===0)return e=u!==null?u.baseLanes|r:r,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:e,cachePool:null,transitions:null},n.updateQueue=null,Te(Rr,wn),wn|=e,null;n.memoizedState={baseLanes:0,cachePool:null,transitions:null},o=u!==null?u.baseLanes:r,Te(Rr,wn),wn|=o}else u!==null?(o=u.baseLanes|r,n.memoizedState=null):o=r,Te(Rr,wn),wn|=o;return sn(e,n,a,r),n.child}function yu(e,n){var r=n.ref;(e===null&&r!==null||e!==null&&e.ref!==r)&&(n.flags|=512,n.flags|=2097152)}function Cl(e,n,r,o,a){var u=cn(r)?qt:Je.current;return u=wr(n,u),_r(n,a),r=ml(e,n,r,o,u,a),o=hl(),e!==null&&!un?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~a,it(e,n,a)):(Oe&&o&&Xo(n),n.flags|=1,sn(e,n,r,a),n.child)}function xu(e,n,r,o,a){if(cn(r)){var u=!0;ui(n)}else u=!1;if(_r(n,a),n.stateNode===null)Ii(e,n),lu(n,r,o),kl(n,r,o,a),o=!0;else if(e===null){var d=n.stateNode,h=n.memoizedProps;d.props=h;var y=d.context,I=r.contextType;typeof I=="object"&&I!==null?I=Nn(I):(I=cn(r)?qt:Je.current,I=wr(n,I));var L=r.getDerivedStateFromProps,O=typeof L=="function"||typeof d.getSnapshotBeforeUpdate=="function";O||typeof d.UNSAFE_componentWillReceiveProps!="function"&&typeof d.componentWillReceiveProps!="function"||(h!==o||y!==I)&&au(n,d,o,I),_t=!1;var $=n.memoizedState;d.state=$,xi(n,o,d,a),y=n.memoizedState,h!==o||$!==y||an.current||_t?(typeof L=="function"&&(wl(n,r,L,o),y=n.memoizedState),(h=_t||ou(n,r,h,o,$,y,I))?(O||typeof d.UNSAFE_componentWillMount!="function"&&typeof d.componentWillMount!="function"||(typeof d.componentWillMount=="function"&&d.componentWillMount(),typeof d.UNSAFE_componentWillMount=="function"&&d.UNSAFE_componentWillMount()),typeof d.componentDidMount=="function"&&(n.flags|=4194308)):(typeof d.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=o,n.memoizedState=y),d.props=o,d.state=y,d.context=I,o=h):(typeof d.componentDidMount=="function"&&(n.flags|=4194308),o=!1)}else{d=n.stateNode,Dc(e,n),h=n.memoizedProps,I=n.type===n.elementType?h:On(n.type,h),d.props=I,O=n.pendingProps,$=d.context,y=r.contextType,typeof y=="object"&&y!==null?y=Nn(y):(y=cn(r)?qt:Je.current,y=wr(n,y));var ee=r.getDerivedStateFromProps;(L=typeof ee=="function"||typeof d.getSnapshotBeforeUpdate=="function")||typeof d.UNSAFE_componentWillReceiveProps!="function"&&typeof d.componentWillReceiveProps!="function"||(h!==O||$!==y)&&au(n,d,o,y),_t=!1,$=n.memoizedState,d.state=$,xi(n,o,d,a);var re=n.memoizedState;h!==O||$!==re||an.current||_t?(typeof ee=="function"&&(wl(n,r,ee,o),re=n.memoizedState),(I=_t||ou(n,r,I,o,$,re,y)||!1)?(L||typeof d.UNSAFE_componentWillUpdate!="function"&&typeof d.componentWillUpdate!="function"||(typeof d.componentWillUpdate=="function"&&d.componentWillUpdate(o,re,y),typeof d.UNSAFE_componentWillUpdate=="function"&&d.UNSAFE_componentWillUpdate(o,re,y)),typeof d.componentDidUpdate=="function"&&(n.flags|=4),typeof d.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof d.componentDidUpdate!="function"||h===e.memoizedProps&&$===e.memoizedState||(n.flags|=4),typeof d.getSnapshotBeforeUpdate!="function"||h===e.memoizedProps&&$===e.memoizedState||(n.flags|=1024),n.memoizedProps=o,n.memoizedState=re),d.props=o,d.state=re,d.context=y,o=I):(typeof d.componentDidUpdate!="function"||h===e.memoizedProps&&$===e.memoizedState||(n.flags|=4),typeof d.getSnapshotBeforeUpdate!="function"||h===e.memoizedProps&&$===e.memoizedState||(n.flags|=1024),o=!1)}return Nl(e,n,r,o,u,a)}function Nl(e,n,r,o,a,u){yu(e,n);var d=(n.flags&128)!==0;if(!o&&!d)return a&&Cc(n,r,!1),it(e,n,u);o=n.stateNode,Fp.current=n;var h=d&&typeof r.getDerivedStateFromError!="function"?null:o.render();return n.flags|=1,e!==null&&d?(n.child=Cr(n,e.child,null,u),n.child=Cr(n,null,h,u)):sn(e,n,h,u),n.memoizedState=o.state,a&&Cc(n,r,!0),n.child}function wu(e){var n=e.stateNode;n.pendingContext?jc(e,n.pendingContext,n.pendingContext!==n.context):n.context&&jc(e,n.context,!1),al(e,n.containerInfo)}function ku(e,n,r,o,a){return Sr(),nl(a),n.flags|=256,sn(e,n,r,o),n.child}var _l={dehydrated:null,treeContext:null,retryLane:0};function El(e){return{baseLanes:e,cachePool:null,transitions:null}}function ju(e,n,r){var o=n.pendingProps,a=Ae.current,u=!1,d=(n.flags&128)!==0,h;if((h=d)||(h=e!==null&&e.memoizedState===null?!1:(a&2)!==0),h?(u=!0,n.flags&=-129):(e===null||e.memoizedState!==null)&&(a|=1),Te(Ae,a&1),e===null)return el(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):(d=o.children,e=o.fallback,u?(o=n.mode,u=n.child,d={mode:"hidden",children:d},(o&1)===0&&u!==null?(u.childLanes=0,u.pendingProps=d):u=Fi(d,o,0,null),e=Jt(e,o,r,null),u.return=n,e.return=n,u.sibling=e,n.child=u,n.child.memoizedState=El(r),n.memoizedState=_l,e):Il(n,d));if(a=e.memoizedState,a!==null&&(h=a.dehydrated,h!==null))return Bp(e,n,d,o,h,a,r);if(u){u=o.fallback,d=n.mode,a=e.child,h=a.sibling;var y={mode:"hidden",children:o.children};return(d&1)===0&&n.child!==a?(o=n.child,o.childLanes=0,o.pendingProps=y,n.deletions=null):(o=Mt(a,y),o.subtreeFlags=a.subtreeFlags&14680064),h!==null?u=Mt(h,u):(u=Jt(u,d,r,null),u.flags|=2),u.return=n,o.return=n,o.sibling=u,n.child=o,o=u,u=n.child,d=e.child.memoizedState,d=d===null?El(r):{baseLanes:d.baseLanes|r,cachePool:null,transitions:d.transitions},u.memoizedState=d,u.childLanes=e.childLanes&~r,n.memoizedState=_l,o}return u=e.child,e=u.sibling,o=Mt(u,{mode:"visible",children:o.children}),(n.mode&1)===0&&(o.lanes=r),o.return=n,o.sibling=null,e!==null&&(r=n.deletions,r===null?(n.deletions=[e],n.flags|=16):r.push(e)),n.child=o,n.memoizedState=null,o}function Il(e,n){return n=Fi({mode:"visible",children:n},e.mode,0,null),n.return=e,e.child=n}function Ei(e,n,r,o){return o!==null&&nl(o),Cr(n,e.child,null,r),e=Il(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function Bp(e,n,r,o,a,u,d){if(r)return n.flags&256?(n.flags&=-257,o=jl(Error(l(422))),Ei(e,n,d,o)):n.memoizedState!==null?(n.child=e.child,n.flags|=128,null):(u=o.fallback,a=n.mode,o=Fi({mode:"visible",children:o.children},a,0,null),u=Jt(u,a,d,null),u.flags|=2,o.return=n,u.return=n,o.sibling=u,n.child=o,(n.mode&1)!==0&&Cr(n,e.child,null,d),n.child.memoizedState=El(d),n.memoizedState=_l,u);if((n.mode&1)===0)return Ei(e,n,d,null);if(a.data==="$!"){if(o=a.nextSibling&&a.nextSibling.dataset,o)var h=o.dgst;return o=h,u=Error(l(419)),o=jl(u,o,void 0),Ei(e,n,d,o)}if(h=(d&e.childLanes)!==0,un||h){if(o=Qe,o!==null){switch(d&-d){case 4:a=2;break;case 16:a=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:a=32;break;case 536870912:a=268435456;break;default:a=0}a=(a&(o.suspendedLanes|d))!==0?0:a,a!==0&&a!==u.retryLane&&(u.retryLane=a,rt(e,a),Fn(o,e,a,-1))}return Ul(),o=jl(Error(l(421))),Ei(e,n,d,o)}return a.data==="$?"?(n.flags|=128,n.child=e.child,n=em.bind(null,e),a._reactRetry=n,null):(e=u.treeContext,xn=jt(a.nextSibling),yn=n,Oe=!0,Ln=null,e!==null&&(Sn[Cn++]=nt,Sn[Cn++]=tt,Sn[Cn++]=Wt,nt=e.id,tt=e.overflow,Wt=n),n=Il(n,o.children),n.flags|=4096,n)}function Su(e,n,r){e.lanes|=n;var o=e.alternate;o!==null&&(o.lanes|=n),il(e.return,n,r)}function bl(e,n,r,o,a){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:o,tail:r,tailMode:a}:(u.isBackwards=n,u.rendering=null,u.renderingStartTime=0,u.last=o,u.tail=r,u.tailMode=a)}function Cu(e,n,r){var o=n.pendingProps,a=o.revealOrder,u=o.tail;if(sn(e,n,o.children,r),o=Ae.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&&Su(e,r,n);else if(e.tag===19)Su(e,r,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(Te(Ae,o),(n.mode&1)===0)n.memoizedState=null;else switch(a){case"forwards":for(r=n.child,a=null;r!==null;)e=r.alternate,e!==null&&wi(e)===null&&(a=r),r=r.sibling;r=a,r===null?(a=n.child,n.child=null):(a=r.sibling,r.sibling=null),bl(n,!1,a,r,u);break;case"backwards":for(r=null,a=n.child,n.child=null;a!==null;){if(e=a.alternate,e!==null&&wi(e)===null){n.child=a;break}e=a.sibling,a.sibling=r,r=a,a=e}bl(n,!0,r,null,u);break;case"together":bl(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function Ii(e,n){(n.mode&1)===0&&e!==null&&(e.alternate=null,n.alternate=null,n.flags|=2)}function it(e,n,r){if(e!==null&&(n.dependencies=e.dependencies),Qt|=n.lanes,(r&n.childLanes)===0)return null;if(e!==null&&n.child!==e.child)throw Error(l(153));if(n.child!==null){for(e=n.child,r=Mt(e,e.pendingProps),n.child=r,r.return=n;e.sibling!==null;)e=e.sibling,r=r.sibling=Mt(e,e.pendingProps),r.return=n;r.sibling=null}return n.child}function qp(e,n,r){switch(n.tag){case 3:wu(n),Sr();break;case 5:Ac(n);break;case 1:cn(n.type)&&ui(n);break;case 4:al(n,n.stateNode.containerInfo);break;case 10:var o=n.type._context,a=n.memoizedProps.value;Te(gi,o._currentValue),o._currentValue=a;break;case 13:if(o=n.memoizedState,o!==null)return o.dehydrated!==null?(Te(Ae,Ae.current&1),n.flags|=128,null):(r&n.child.childLanes)!==0?ju(e,n,r):(Te(Ae,Ae.current&1),e=it(e,n,r),e!==null?e.sibling:null);Te(Ae,Ae.current&1);break;case 19:if(o=(r&n.childLanes)!==0,(e.flags&128)!==0){if(o)return Cu(e,n,r);n.flags|=128}if(a=n.memoizedState,a!==null&&(a.rendering=null,a.tail=null,a.lastEffect=null),Te(Ae,Ae.current),o)break;return null;case 22:case 23:return n.lanes=0,vu(e,n,r)}return it(e,n,r)}var Nu,Rl,_u,Eu;Nu=function(e,n){for(var r=n.child;r!==null;){if(r.tag===5||r.tag===6)e.appendChild(r.stateNode);else if(r.tag!==4&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===n)break;for(;r.sibling===null;){if(r.return===null||r.return===n)return;r=r.return}r.sibling.return=r.return,r=r.sibling}},Rl=function(){},_u=function(e,n,r,o){var a=e.memoizedProps;if(a!==o){e=n.stateNode,Ht(Hn.current);var u=null;switch(r){case"input":a=jn(e,a),o=jn(e,o),u=[];break;case"select":a=q({},a,{value:void 0}),o=q({},o,{value:void 0}),u=[];break;case"textarea":a=lr(e,a),o=lr(e,o),u=[];break;default:typeof a.onClick!="function"&&typeof o.onClick=="function"&&(e.onclick=li)}cr(r,o);var d;r=null;for(I in a)if(!o.hasOwnProperty(I)&&a.hasOwnProperty(I)&&a[I]!=null)if(I==="style"){var h=a[I];for(d in h)h.hasOwnProperty(d)&&(r||(r={}),r[d]="")}else I!=="dangerouslySetInnerHTML"&&I!=="children"&&I!=="suppressContentEditableWarning"&&I!=="suppressHydrationWarning"&&I!=="autoFocus"&&(f.hasOwnProperty(I)?u||(u=[]):(u=u||[]).push(I,null));for(I in o){var y=o[I];if(h=a?.[I],o.hasOwnProperty(I)&&y!==h&&(y!=null||h!=null))if(I==="style")if(h){for(d in h)!h.hasOwnProperty(d)||y&&y.hasOwnProperty(d)||(r||(r={}),r[d]="");for(d in y)y.hasOwnProperty(d)&&h[d]!==y[d]&&(r||(r={}),r[d]=y[d])}else r||(u||(u=[]),u.push(I,r)),r=y;else I==="dangerouslySetInnerHTML"?(y=y?y.__html:void 0,h=h?h.__html:void 0,y!=null&&h!==y&&(u=u||[]).push(I,y)):I==="children"?typeof y!="string"&&typeof y!="number"||(u=u||[]).push(I,""+y):I!=="suppressContentEditableWarning"&&I!=="suppressHydrationWarning"&&(f.hasOwnProperty(I)?(y!=null&&I==="onScroll"&&De("scroll",e),u||h===y||(u=[])):(u=u||[]).push(I,y))}r&&(u=u||[]).push("style",r);var I=u;(n.updateQueue=I)&&(n.flags|=4)}},Eu=function(e,n,r,o){r!==o&&(n.flags|=4)};function Cs(e,n){if(!Oe)switch(e.tailMode){case"hidden":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?e.tail=null:r.sibling=null;break;case"collapsed":r=e.tail;for(var o=null;r!==null;)r.alternate!==null&&(o=r),r=r.sibling;o===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:o.sibling=null}}function en(e){var n=e.alternate!==null&&e.alternate.child===e.child,r=0,o=0;if(n)for(var a=e.child;a!==null;)r|=a.lanes|a.childLanes,o|=a.subtreeFlags&14680064,o|=a.flags&14680064,a.return=e,a=a.sibling;else for(a=e.child;a!==null;)r|=a.lanes|a.childLanes,o|=a.subtreeFlags,o|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=o,e.childLanes=r,n}function Wp(e,n,r){var o=n.pendingProps;switch(Jo(n),n.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return en(n),null;case 1:return cn(n.type)&&ci(),en(n),null;case 3:return o=n.stateNode,Er(),Le(an),Le(Je),dl(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),(e===null||e.child===null)&&(mi(n)?n.flags|=4:e===null||e.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,Ln!==null&&(Bl(Ln),Ln=null))),Rl(e,n),en(n),null;case 5:cl(n);var a=Ht(xs.current);if(r=n.type,e!==null&&n.stateNode!=null)_u(e,n,r,o,a),e.ref!==n.ref&&(n.flags|=512,n.flags|=2097152);else{if(!o){if(n.stateNode===null)throw Error(l(166));return en(n),null}if(e=Ht(Hn.current),mi(n)){o=n.stateNode,r=n.type;var u=n.memoizedProps;switch(o[Vn]=n,o[ms]=u,e=(n.mode&1)!==0,r){case"dialog":De("cancel",o),De("close",o);break;case"iframe":case"object":case"embed":De("load",o);break;case"video":case"audio":for(a=0;a<ds.length;a++)De(ds[a],o);break;case"source":De("error",o);break;case"img":case"image":case"link":De("error",o),De("load",o);break;case"details":De("toggle",o);break;case"input":At(o,u),De("invalid",o);break;case"select":o._wrapperState={wasMultiple:!!u.multiple},De("invalid",o);break;case"textarea":Fr(o,u),De("invalid",o)}cr(r,u),a=null;for(var d in u)if(u.hasOwnProperty(d)){var h=u[d];d==="children"?typeof h=="string"?o.textContent!==h&&(u.suppressHydrationWarning!==!0&&oi(o.textContent,h,e),a=["children",h]):typeof h=="number"&&o.textContent!==""+h&&(u.suppressHydrationWarning!==!0&&oi(o.textContent,h,e),a=["children",""+h]):f.hasOwnProperty(d)&&h!=null&&d==="onScroll"&&De("scroll",o)}switch(r){case"input":ge(o),zr(o,u,!0);break;case"textarea":ge(o),qr(o);break;case"select":case"option":break;default:typeof u.onClick=="function"&&(o.onclick=li)}o=a,n.updateQueue=o,o!==null&&(n.flags|=4)}else{d=a.nodeType===9?a:a.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Wr(r)),e==="http://www.w3.org/1999/xhtml"?r==="script"?(e=d.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof o.is=="string"?e=d.createElement(r,{is:o.is}):(e=d.createElement(r),r==="select"&&(d=e,o.multiple?d.multiple=!0:o.size&&(d.size=o.size))):e=d.createElementNS(e,r),e[Vn]=n,e[ms]=o,Nu(e,n,!1,!1),n.stateNode=e;e:{switch(d=Kr(r,o),r){case"dialog":De("cancel",e),De("close",e),a=o;break;case"iframe":case"object":case"embed":De("load",e),a=o;break;case"video":case"audio":for(a=0;a<ds.length;a++)De(ds[a],e);a=o;break;case"source":De("error",e),a=o;break;case"img":case"image":case"link":De("error",e),De("load",e),a=o;break;case"details":De("toggle",e),a=o;break;case"input":At(e,o),a=jn(e,o),De("invalid",e);break;case"option":a=o;break;case"select":e._wrapperState={wasMultiple:!!o.multiple},a=q({},o,{value:void 0}),De("invalid",e);break;case"textarea":Fr(e,o),a=lr(e,o),De("invalid",e);break;default:a=o}cr(r,a),h=a;for(u in h)if(h.hasOwnProperty(u)){var y=h[u];u==="style"?Hr(e,y):u==="dangerouslySetInnerHTML"?(y=y?y.__html:void 0,y!=null&&Ur(e,y)):u==="children"?typeof y=="string"?(r!=="textarea"||y!=="")&&pt(e,y):typeof y=="number"&&pt(e,""+y):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(f.hasOwnProperty(u)?y!=null&&u==="onScroll"&&De("scroll",e):y!=null&&Q(e,u,y,d))}switch(r){case"input":ge(e),zr(e,o,!1);break;case"textarea":ge(e),qr(e);break;case"option":o.value!=null&&e.setAttribute("value",""+Se(o.value));break;case"select":e.multiple=!!o.multiple,u=o.value,u!=null?Yn(e,!!o.multiple,u,!1):o.defaultValue!=null&&Yn(e,!!o.multiple,o.defaultValue,!0);break;default:typeof a.onClick=="function"&&(e.onclick=li)}switch(r){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 en(n),null;case 6:if(e&&n.stateNode!=null)Eu(e,n,e.memoizedProps,o);else{if(typeof o!="string"&&n.stateNode===null)throw Error(l(166));if(r=Ht(xs.current),Ht(Hn.current),mi(n)){if(o=n.stateNode,r=n.memoizedProps,o[Vn]=n,(u=o.nodeValue!==r)&&(e=yn,e!==null))switch(e.tag){case 3:oi(o.nodeValue,r,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&oi(o.nodeValue,r,(e.mode&1)!==0)}u&&(n.flags|=4)}else o=(r.nodeType===9?r:r.ownerDocument).createTextNode(o),o[Vn]=n,n.stateNode=o}return en(n),null;case 13:if(Le(Ae),o=n.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Oe&&xn!==null&&(n.mode&1)!==0&&(n.flags&128)===0)Rc(),Sr(),n.flags|=98560,u=!1;else if(u=mi(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[Vn]=n}else Sr(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;en(n),u=!1}else Ln!==null&&(Bl(Ln),Ln=null),u=!0;if(!u)return n.flags&65536?n:null}return(n.flags&128)!==0?(n.lanes=r,n):(o=o!==null,o!==(e!==null&&e.memoizedState!==null)&&o&&(n.child.flags|=8192,(n.mode&1)!==0&&(e===null||(Ae.current&1)!==0?He===0&&(He=3):Ul())),n.updateQueue!==null&&(n.flags|=4),en(n),null);case 4:return Er(),Rl(e,n),e===null&&fs(n.stateNode.containerInfo),en(n),null;case 10:return sl(n.type._context),en(n),null;case 17:return cn(n.type)&&ci(),en(n),null;case 19:if(Le(Ae),u=n.memoizedState,u===null)return en(n),null;if(o=(n.flags&128)!==0,d=u.rendering,d===null)if(o)Cs(u,!1);else{if(He!==0||e!==null&&(e.flags&128)!==0)for(e=n.child;e!==null;){if(d=wi(e),d!==null){for(n.flags|=128,Cs(u,!1),o=d.updateQueue,o!==null&&(n.updateQueue=o,n.flags|=4),n.subtreeFlags=0,o=r,r=n.child;r!==null;)u=r,e=o,u.flags&=14680066,d=u.alternate,d===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=d.childLanes,u.lanes=d.lanes,u.child=d.child,u.subtreeFlags=0,u.deletions=null,u.memoizedProps=d.memoizedProps,u.memoizedState=d.memoizedState,u.updateQueue=d.updateQueue,u.type=d.type,e=d.dependencies,u.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),r=r.sibling;return Te(Ae,Ae.current&1|2),n.child}e=e.sibling}u.tail!==null&&Be()>Pr&&(n.flags|=128,o=!0,Cs(u,!1),n.lanes=4194304)}else{if(!o)if(e=wi(d),e!==null){if(n.flags|=128,o=!0,r=e.updateQueue,r!==null&&(n.updateQueue=r,n.flags|=4),Cs(u,!0),u.tail===null&&u.tailMode==="hidden"&&!d.alternate&&!Oe)return en(n),null}else 2*Be()-u.renderingStartTime>Pr&&r!==1073741824&&(n.flags|=128,o=!0,Cs(u,!1),n.lanes=4194304);u.isBackwards?(d.sibling=n.child,n.child=d):(r=u.last,r!==null?r.sibling=d:n.child=d,u.last=d)}return u.tail!==null?(n=u.tail,u.rendering=n,u.tail=n.sibling,u.renderingStartTime=Be(),n.sibling=null,r=Ae.current,Te(Ae,o?r&1|2:r&1),n):(en(n),null);case 22:case 23:return Wl(),o=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==o&&(n.flags|=8192),o&&(n.mode&1)!==0?(wn&1073741824)!==0&&(en(n),n.subtreeFlags&6&&(n.flags|=8192)):en(n),null;case 24:return null;case 25:return null}throw Error(l(156,n.tag))}function Up(e,n){switch(Jo(n),n.tag){case 1:return cn(n.type)&&ci(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return Er(),Le(an),Le(Je),dl(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 5:return cl(n),null;case 13:if(Le(Ae),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(l(340));Sr()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return Le(Ae),null;case 4:return Er(),null;case 10:return sl(n.type._context),null;case 22:case 23:return Wl(),null;case 24:return null;default:return null}}var bi=!1,nn=!1,Vp=typeof WeakSet=="function"?WeakSet:Set,ne=null;function br(e,n){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(o){Fe(e,n,o)}else r.current=null}function Pl(e,n,r){try{r()}catch(o){Fe(e,n,o)}}var Iu=!1;function Hp(e,n){if(Wo=Gs,e=oc(),Do(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var o=r.getSelection&&r.getSelection();if(o&&o.rangeCount!==0){r=o.anchorNode;var a=o.anchorOffset,u=o.focusNode;o=o.focusOffset;try{r.nodeType,u.nodeType}catch{r=null;break e}var d=0,h=-1,y=-1,I=0,L=0,O=e,$=null;n:for(;;){for(var ee;O!==r||a!==0&&O.nodeType!==3||(h=d+a),O!==u||o!==0&&O.nodeType!==3||(y=d+o),O.nodeType===3&&(d+=O.nodeValue.length),(ee=O.firstChild)!==null;)$=O,O=ee;for(;;){if(O===e)break n;if($===r&&++I===a&&(h=d),$===u&&++L===o&&(y=d),(ee=O.nextSibling)!==null)break;O=$,$=O.parentNode}O=ee}r=h===-1||y===-1?null:{start:h,end:y}}else r=null}r=r||{start:0,end:0}}else r=null;for(Uo={focusedElem:e,selectionRange:r},Gs=!1,ne=n;ne!==null;)if(n=ne,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,ne=e;else for(;ne!==null;){n=ne;try{var re=n.alternate;if((n.flags&1024)!==0)switch(n.tag){case 0:case 11:case 15:break;case 1:if(re!==null){var le=re.memoizedProps,qe=re.memoizedState,S=n.stateNode,x=S.getSnapshotBeforeUpdate(n.elementType===n.type?le:On(n.type,le),qe);S.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var N=n.stateNode.containerInfo;N.nodeType===1?N.textContent="":N.nodeType===9&&N.documentElement&&N.removeChild(N.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(l(163))}}catch(U){Fe(n,n.return,U)}if(e=n.sibling,e!==null){e.return=n.return,ne=e;break}ne=n.return}return re=Iu,Iu=!1,re}function Ns(e,n,r){var o=n.updateQueue;if(o=o!==null?o.lastEffect:null,o!==null){var a=o=o.next;do{if((a.tag&e)===e){var u=a.destroy;a.destroy=void 0,u!==void 0&&Pl(n,r,u)}a=a.next}while(a!==o)}}function Ri(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var r=n=n.next;do{if((r.tag&e)===e){var o=r.create;r.destroy=o()}r=r.next}while(r!==n)}}function Tl(e){var n=e.ref;if(n!==null){var r=e.stateNode;e.tag,e=r,typeof n=="function"?n(e):n.current=e}}function bu(e){var n=e.alternate;n!==null&&(e.alternate=null,bu(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[Vn],delete n[ms],delete n[Qo],delete n[Ip],delete n[bp])),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 Ru(e){return e.tag===5||e.tag===3||e.tag===4}function Pu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ru(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 Ml(e,n,r){var o=e.tag;if(o===5||o===6)e=e.stateNode,n?r.nodeType===8?r.parentNode.insertBefore(e,n):r.insertBefore(e,n):(r.nodeType===8?(n=r.parentNode,n.insertBefore(e,r)):(n=r,n.appendChild(e)),r=r._reactRootContainer,r!=null||n.onclick!==null||(n.onclick=li));else if(o!==4&&(e=e.child,e!==null))for(Ml(e,n,r),e=e.sibling;e!==null;)Ml(e,n,r),e=e.sibling}function $l(e,n,r){var o=e.tag;if(o===5||o===6)e=e.stateNode,n?r.insertBefore(e,n):r.appendChild(e);else if(o!==4&&(e=e.child,e!==null))for($l(e,n,r),e=e.sibling;e!==null;)$l(e,n,r),e=e.sibling}var Ye=null,An=!1;function It(e,n,r){for(r=r.child;r!==null;)Tu(e,n,r),r=r.sibling}function Tu(e,n,r){if(Un&&typeof Un.onCommitFiberUnmount=="function")try{Un.onCommitFiberUnmount(Ws,r)}catch{}switch(r.tag){case 5:nn||br(r,n);case 6:var o=Ye,a=An;Ye=null,It(e,n,r),Ye=o,An=a,Ye!==null&&(An?(e=Ye,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):Ye.removeChild(r.stateNode));break;case 18:Ye!==null&&(An?(e=Ye,r=r.stateNode,e.nodeType===8?Ko(e.parentNode,r):e.nodeType===1&&Ko(e,r),rs(e)):Ko(Ye,r.stateNode));break;case 4:o=Ye,a=An,Ye=r.stateNode.containerInfo,An=!0,It(e,n,r),Ye=o,An=a;break;case 0:case 11:case 14:case 15:if(!nn&&(o=r.updateQueue,o!==null&&(o=o.lastEffect,o!==null))){a=o=o.next;do{var u=a,d=u.destroy;u=u.tag,d!==void 0&&((u&2)!==0||(u&4)!==0)&&Pl(r,n,d),a=a.next}while(a!==o)}It(e,n,r);break;case 1:if(!nn&&(br(r,n),o=r.stateNode,typeof o.componentWillUnmount=="function"))try{o.props=r.memoizedProps,o.state=r.memoizedState,o.componentWillUnmount()}catch(h){Fe(r,n,h)}It(e,n,r);break;case 21:It(e,n,r);break;case 22:r.mode&1?(nn=(o=nn)||r.memoizedState!==null,It(e,n,r),nn=o):It(e,n,r);break;default:It(e,n,r)}}function Mu(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new Vp),n.forEach(function(o){var a=nm.bind(null,e,o);r.has(o)||(r.add(o),o.then(a,a))})}}function zn(e,n){var r=n.deletions;if(r!==null)for(var o=0;o<r.length;o++){var a=r[o];try{var u=e,d=n,h=d;e:for(;h!==null;){switch(h.tag){case 5:Ye=h.stateNode,An=!1;break e;case 3:Ye=h.stateNode.containerInfo,An=!0;break e;case 4:Ye=h.stateNode.containerInfo,An=!0;break e}h=h.return}if(Ye===null)throw Error(l(160));Tu(u,d,a),Ye=null,An=!1;var y=a.alternate;y!==null&&(y.return=null),a.return=null}catch(I){Fe(a,n,I)}}if(n.subtreeFlags&12854)for(n=n.child;n!==null;)$u(n,e),n=n.sibling}function $u(e,n){var r=e.alternate,o=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(zn(n,e),Qn(e),o&4){try{Ns(3,e,e.return),Ri(3,e)}catch(le){Fe(e,e.return,le)}try{Ns(5,e,e.return)}catch(le){Fe(e,e.return,le)}}break;case 1:zn(n,e),Qn(e),o&512&&r!==null&&br(r,r.return);break;case 5:if(zn(n,e),Qn(e),o&512&&r!==null&&br(r,r.return),e.flags&32){var a=e.stateNode;try{pt(a,"")}catch(le){Fe(e,e.return,le)}}if(o&4&&(a=e.stateNode,a!=null)){var u=e.memoizedProps,d=r!==null?r.memoizedProps:u,h=e.type,y=e.updateQueue;if(e.updateQueue=null,y!==null)try{h==="input"&&u.type==="radio"&&u.name!=null&&dt(a,u),Kr(h,d);var I=Kr(h,u);for(d=0;d<y.length;d+=2){var L=y[d],O=y[d+1];L==="style"?Hr(a,O):L==="dangerouslySetInnerHTML"?Ur(a,O):L==="children"?pt(a,O):Q(a,L,O,I)}switch(h){case"input":Tn(a,u);break;case"textarea":Br(a,u);break;case"select":var $=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!u.multiple;var ee=u.value;ee!=null?Yn(a,!!u.multiple,ee,!1):$!==!!u.multiple&&(u.defaultValue!=null?Yn(a,!!u.multiple,u.defaultValue,!0):Yn(a,!!u.multiple,u.multiple?[]:"",!1))}a[ms]=u}catch(le){Fe(e,e.return,le)}}break;case 6:if(zn(n,e),Qn(e),o&4){if(e.stateNode===null)throw Error(l(162));a=e.stateNode,u=e.memoizedProps;try{a.nodeValue=u}catch(le){Fe(e,e.return,le)}}break;case 3:if(zn(n,e),Qn(e),o&4&&r!==null&&r.memoizedState.isDehydrated)try{rs(n.containerInfo)}catch(le){Fe(e,e.return,le)}break;case 4:zn(n,e),Qn(e);break;case 13:zn(n,e),Qn(e),a=e.child,a.flags&8192&&(u=a.memoizedState!==null,a.stateNode.isHidden=u,!u||a.alternate!==null&&a.alternate.memoizedState!==null||(Ol=Be())),o&4&&Mu(e);break;case 22:if(L=r!==null&&r.memoizedState!==null,e.mode&1?(nn=(I=nn)||L,zn(n,e),nn=I):zn(n,e),Qn(e),o&8192){if(I=e.memoizedState!==null,(e.stateNode.isHidden=I)&&!L&&(e.mode&1)!==0)for(ne=e,L=e.child;L!==null;){for(O=ne=L;ne!==null;){switch($=ne,ee=$.child,$.tag){case 0:case 11:case 14:case 15:Ns(4,$,$.return);break;case 1:br($,$.return);var re=$.stateNode;if(typeof re.componentWillUnmount=="function"){o=$,r=$.return;try{n=o,re.props=n.memoizedProps,re.state=n.memoizedState,re.componentWillUnmount()}catch(le){Fe(o,r,le)}}break;case 5:br($,$.return);break;case 22:if($.memoizedState!==null){Ou(O);continue}}ee!==null?(ee.return=$,ne=ee):Ou(O)}L=L.sibling}e:for(L=null,O=e;;){if(O.tag===5){if(L===null){L=O;try{a=O.stateNode,I?(u=a.style,typeof u.setProperty=="function"?u.setProperty("display","none","important"):u.display="none"):(h=O.stateNode,y=O.memoizedProps.style,d=y!=null&&y.hasOwnProperty("display")?y.display:null,h.style.display=Vr("display",d))}catch(le){Fe(e,e.return,le)}}}else if(O.tag===6){if(L===null)try{O.stateNode.nodeValue=I?"":O.memoizedProps}catch(le){Fe(e,e.return,le)}}else if((O.tag!==22&&O.tag!==23||O.memoizedState===null||O===e)&&O.child!==null){O.child.return=O,O=O.child;continue}if(O===e)break e;for(;O.sibling===null;){if(O.return===null||O.return===e)break e;L===O&&(L=null),O=O.return}L===O&&(L=null),O.sibling.return=O.return,O=O.sibling}}break;case 19:zn(n,e),Qn(e),o&4&&Mu(e);break;case 21:break;default:zn(n,e),Qn(e)}}function Qn(e){var n=e.flags;if(n&2){try{e:{for(var r=e.return;r!==null;){if(Ru(r)){var o=r;break e}r=r.return}throw Error(l(160))}switch(o.tag){case 5:var a=o.stateNode;o.flags&32&&(pt(a,""),o.flags&=-33);var u=Pu(e);$l(e,u,a);break;case 3:case 4:var d=o.stateNode.containerInfo,h=Pu(e);Ml(e,h,d);break;default:throw Error(l(161))}}catch(y){Fe(e,e.return,y)}e.flags&=-3}n&4096&&(e.flags&=-4097)}function Kp(e,n,r){ne=e,Du(e)}function Du(e,n,r){for(var o=(e.mode&1)!==0;ne!==null;){var a=ne,u=a.child;if(a.tag===22&&o){var d=a.memoizedState!==null||bi;if(!d){var h=a.alternate,y=h!==null&&h.memoizedState!==null||nn;h=bi;var I=nn;if(bi=d,(nn=y)&&!I)for(ne=a;ne!==null;)d=ne,y=d.child,d.tag===22&&d.memoizedState!==null?Au(a):y!==null?(y.return=d,ne=y):Au(a);for(;u!==null;)ne=u,Du(u),u=u.sibling;ne=a,bi=h,nn=I}Lu(e)}else(a.subtreeFlags&8772)!==0&&u!==null?(u.return=a,ne=u):Lu(e)}}function Lu(e){for(;ne!==null;){var n=ne;if((n.flags&8772)!==0){var r=n.alternate;try{if((n.flags&8772)!==0)switch(n.tag){case 0:case 11:case 15:nn||Ri(5,n);break;case 1:var o=n.stateNode;if(n.flags&4&&!nn)if(r===null)o.componentDidMount();else{var a=n.elementType===n.type?r.memoizedProps:On(n.type,r.memoizedProps);o.componentDidUpdate(a,r.memoizedState,o.__reactInternalSnapshotBeforeUpdate)}var u=n.updateQueue;u!==null&&Oc(n,u,o);break;case 3:var d=n.updateQueue;if(d!==null){if(r=null,n.child!==null)switch(n.child.tag){case 5:r=n.child.stateNode;break;case 1:r=n.child.stateNode}Oc(n,d,r)}break;case 5:var h=n.stateNode;if(r===null&&n.flags&4){r=h;var y=n.memoizedProps;switch(n.type){case"button":case"input":case"select":case"textarea":y.autoFocus&&r.focus();break;case"img":y.src&&(r.src=y.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(n.memoizedState===null){var I=n.alternate;if(I!==null){var L=I.memoizedState;if(L!==null){var O=L.dehydrated;O!==null&&rs(O)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(l(163))}nn||n.flags&512&&Tl(n)}catch($){Fe(n,n.return,$)}}if(n===e){ne=null;break}if(r=n.sibling,r!==null){r.return=n.return,ne=r;break}ne=n.return}}function Ou(e){for(;ne!==null;){var n=ne;if(n===e){ne=null;break}var r=n.sibling;if(r!==null){r.return=n.return,ne=r;break}ne=n.return}}function Au(e){for(;ne!==null;){var n=ne;try{switch(n.tag){case 0:case 11:case 15:var r=n.return;try{Ri(4,n)}catch(y){Fe(n,r,y)}break;case 1:var o=n.stateNode;if(typeof o.componentDidMount=="function"){var a=n.return;try{o.componentDidMount()}catch(y){Fe(n,a,y)}}var u=n.return;try{Tl(n)}catch(y){Fe(n,u,y)}break;case 5:var d=n.return;try{Tl(n)}catch(y){Fe(n,d,y)}}}catch(y){Fe(n,n.return,y)}if(n===e){ne=null;break}var h=n.sibling;if(h!==null){h.return=n.return,ne=h;break}ne=n.return}}var Qp=Math.ceil,Pi=B.ReactCurrentDispatcher,Dl=B.ReactCurrentOwner,En=B.ReactCurrentBatchConfig,_e=0,Qe=null,We=null,Xe=0,wn=0,Rr=St(0),He=0,_s=null,Qt=0,Ti=0,Ll=0,Es=null,dn=null,Ol=0,Pr=1/0,ot=null,Mi=!1,Al=null,bt=null,$i=!1,Rt=null,Di=0,Is=0,zl=null,Li=-1,Oi=0;function on(){return(_e&6)!==0?Be():Li!==-1?Li:Li=Be()}function Pt(e){return(e.mode&1)===0?1:(_e&2)!==0&&Xe!==0?Xe&-Xe:Pp.transition!==null?(Oi===0&&(Oi=Pa()),Oi):(e=Pe,e!==0||(e=window.event,e=e===void 0?16:Fa(e.type)),e)}function Fn(e,n,r,o){if(50<Is)throw Is=0,zl=null,Error(l(185));Jr(e,r,o),((_e&2)===0||e!==Qe)&&(e===Qe&&((_e&2)===0&&(Ti|=r),He===4&&Tt(e,Xe)),fn(e,o),r===1&&_e===0&&(n.mode&1)===0&&(Pr=Be()+500,di&&Nt()))}function fn(e,n){var r=e.callbackNode;Pf(e,n);var o=Hs(e,e===Qe?Xe:0);if(o===0)r!==null&&Ia(r),e.callbackNode=null,e.callbackPriority=0;else if(n=o&-o,e.callbackPriority!==n){if(r!=null&&Ia(r),n===1)e.tag===0?Rp(Fu.bind(null,e)):Nc(Fu.bind(null,e)),_p(function(){(_e&6)===0&&Nt()}),r=null;else{switch(Ta(o)){case 1:r=yo;break;case 4:r=ba;break;case 16:r=qs;break;case 536870912:r=Ra;break;default:r=qs}r=Qu(r,zu.bind(null,e))}e.callbackPriority=n,e.callbackNode=r}}function zu(e,n){if(Li=-1,Oi=0,(_e&6)!==0)throw Error(l(327));var r=e.callbackNode;if(Tr()&&e.callbackNode!==r)return null;var o=Hs(e,e===Qe?Xe:0);if(o===0)return null;if((o&30)!==0||(o&e.expiredLanes)!==0||n)n=Ai(e,o);else{n=o;var a=_e;_e|=2;var u=qu();(Qe!==e||Xe!==n)&&(ot=null,Pr=Be()+500,Yt(e,n));do try{Xp();break}catch(h){Bu(e,h)}while(!0);rl(),Pi.current=u,_e=a,We!==null?n=0:(Qe=null,Xe=0,n=He)}if(n!==0){if(n===2&&(a=xo(e),a!==0&&(o=a,n=Fl(e,a))),n===1)throw r=_s,Yt(e,0),Tt(e,o),fn(e,Be()),r;if(n===6)Tt(e,o);else{if(a=e.current.alternate,(o&30)===0&&!Gp(a)&&(n=Ai(e,o),n===2&&(u=xo(e),u!==0&&(o=u,n=Fl(e,u))),n===1))throw r=_s,Yt(e,0),Tt(e,o),fn(e,Be()),r;switch(e.finishedWork=a,e.finishedLanes=o,n){case 0:case 1:throw Error(l(345));case 2:Xt(e,dn,ot);break;case 3:if(Tt(e,o),(o&130023424)===o&&(n=Ol+500-Be(),10<n)){if(Hs(e,0)!==0)break;if(a=e.suspendedLanes,(a&o)!==o){on(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=Ho(Xt.bind(null,e,dn,ot),n);break}Xt(e,dn,ot);break;case 4:if(Tt(e,o),(o&4194240)===o)break;for(n=e.eventTimes,a=-1;0<o;){var d=31-$n(o);u=1<<d,d=n[d],d>a&&(a=d),o&=~u}if(o=a,o=Be()-o,o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*Qp(o/1960))-o,10<o){e.timeoutHandle=Ho(Xt.bind(null,e,dn,ot),o);break}Xt(e,dn,ot);break;case 5:Xt(e,dn,ot);break;default:throw Error(l(329))}}}return fn(e,Be()),e.callbackNode===r?zu.bind(null,e):null}function Fl(e,n){var r=Es;return e.current.memoizedState.isDehydrated&&(Yt(e,n).flags|=256),e=Ai(e,n),e!==2&&(n=dn,dn=r,n!==null&&Bl(n)),e}function Bl(e){dn===null?dn=e:dn.push.apply(dn,e)}function Gp(e){for(var n=e;;){if(n.flags&16384){var r=n.updateQueue;if(r!==null&&(r=r.stores,r!==null))for(var o=0;o<r.length;o++){var a=r[o],u=a.getSnapshot;a=a.value;try{if(!Dn(u(),a))return!1}catch{return!1}}}if(r=n.child,n.subtreeFlags&16384&&r!==null)r.return=n,n=r;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 Tt(e,n){for(n&=~Ll,n&=~Ti,e.suspendedLanes|=n,e.pingedLanes&=~n,e=e.expirationTimes;0<n;){var r=31-$n(n),o=1<<r;e[r]=-1,n&=~o}}function Fu(e){if((_e&6)!==0)throw Error(l(327));Tr();var n=Hs(e,0);if((n&1)===0)return fn(e,Be()),null;var r=Ai(e,n);if(e.tag!==0&&r===2){var o=xo(e);o!==0&&(n=o,r=Fl(e,o))}if(r===1)throw r=_s,Yt(e,0),Tt(e,n),fn(e,Be()),r;if(r===6)throw Error(l(345));return e.finishedWork=e.current.alternate,e.finishedLanes=n,Xt(e,dn,ot),fn(e,Be()),null}function ql(e,n){var r=_e;_e|=1;try{return e(n)}finally{_e=r,_e===0&&(Pr=Be()+500,di&&Nt())}}function Gt(e){Rt!==null&&Rt.tag===0&&(_e&6)===0&&Tr();var n=_e;_e|=1;var r=En.transition,o=Pe;try{if(En.transition=null,Pe=1,e)return e()}finally{Pe=o,En.transition=r,_e=n,(_e&6)===0&&Nt()}}function Wl(){wn=Rr.current,Le(Rr)}function Yt(e,n){e.finishedWork=null,e.finishedLanes=0;var r=e.timeoutHandle;if(r!==-1&&(e.timeoutHandle=-1,Np(r)),We!==null)for(r=We.return;r!==null;){var o=r;switch(Jo(o),o.tag){case 1:o=o.type.childContextTypes,o!=null&&ci();break;case 3:Er(),Le(an),Le(Je),dl();break;case 5:cl(o);break;case 4:Er();break;case 13:Le(Ae);break;case 19:Le(Ae);break;case 10:sl(o.type._context);break;case 22:case 23:Wl()}r=r.return}if(Qe=e,We=e=Mt(e.current,null),Xe=wn=n,He=0,_s=null,Ll=Ti=Qt=0,dn=Es=null,Vt!==null){for(n=0;n<Vt.length;n++)if(r=Vt[n],o=r.interleaved,o!==null){r.interleaved=null;var a=o.next,u=r.pending;if(u!==null){var d=u.next;u.next=a,o.next=d}r.pending=o}Vt=null}return e}function Bu(e,n){do{var r=We;try{if(rl(),ki.current=Ni,ji){for(var o=ze.memoizedState;o!==null;){var a=o.queue;a!==null&&(a.pending=null),o=o.next}ji=!1}if(Kt=0,Ke=Ve=ze=null,ws=!1,ks=0,Dl.current=null,r===null||r.return===null){He=1,_s=n,We=null;break}e:{var u=e,d=r.return,h=r,y=n;if(n=Xe,h.flags|=32768,y!==null&&typeof y=="object"&&typeof y.then=="function"){var I=y,L=h,O=L.tag;if((L.mode&1)===0&&(O===0||O===11||O===15)){var $=L.alternate;$?(L.updateQueue=$.updateQueue,L.memoizedState=$.memoizedState,L.lanes=$.lanes):(L.updateQueue=null,L.memoizedState=null)}var ee=fu(d);if(ee!==null){ee.flags&=-257,pu(ee,d,h,u,n),ee.mode&1&&du(u,I,n),n=ee,y=I;var re=n.updateQueue;if(re===null){var le=new Set;le.add(y),n.updateQueue=le}else re.add(y);break e}else{if((n&1)===0){du(u,I,n),Ul();break e}y=Error(l(426))}}else if(Oe&&h.mode&1){var qe=fu(d);if(qe!==null){(qe.flags&65536)===0&&(qe.flags|=256),pu(qe,d,h,u,n),nl(Ir(y,h));break e}}u=y=Ir(y,h),He!==4&&(He=2),Es===null?Es=[u]:Es.push(u),u=d;do{switch(u.tag){case 3:u.flags|=65536,n&=-n,u.lanes|=n;var S=cu(u,y,n);Lc(u,S);break e;case 1:h=y;var x=u.type,N=u.stateNode;if((u.flags&128)===0&&(typeof x.getDerivedStateFromError=="function"||N!==null&&typeof N.componentDidCatch=="function"&&(bt===null||!bt.has(N)))){u.flags|=65536,n&=-n,u.lanes|=n;var U=uu(u,h,n);Lc(u,U);break e}}u=u.return}while(u!==null)}Uu(r)}catch(ae){n=ae,We===r&&r!==null&&(We=r=r.return);continue}break}while(!0)}function qu(){var e=Pi.current;return Pi.current=Ni,e===null?Ni:e}function Ul(){(He===0||He===3||He===2)&&(He=4),Qe===null||(Qt&268435455)===0&&(Ti&268435455)===0||Tt(Qe,Xe)}function Ai(e,n){var r=_e;_e|=2;var o=qu();(Qe!==e||Xe!==n)&&(ot=null,Yt(e,n));do try{Yp();break}catch(a){Bu(e,a)}while(!0);if(rl(),_e=r,Pi.current=o,We!==null)throw Error(l(261));return Qe=null,Xe=0,He}function Yp(){for(;We!==null;)Wu(We)}function Xp(){for(;We!==null&&!jf();)Wu(We)}function Wu(e){var n=Ku(e.alternate,e,wn);e.memoizedProps=e.pendingProps,n===null?Uu(e):We=n,Dl.current=null}function Uu(e){var n=e;do{var r=n.alternate;if(e=n.return,(n.flags&32768)===0){if(r=Wp(r,n,wn),r!==null){We=r;return}}else{if(r=Up(r,n),r!==null){r.flags&=32767,We=r;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{He=6,We=null;return}}if(n=n.sibling,n!==null){We=n;return}We=n=e}while(n!==null);He===0&&(He=5)}function Xt(e,n,r){var o=Pe,a=En.transition;try{En.transition=null,Pe=1,Jp(e,n,r,o)}finally{En.transition=a,Pe=o}return null}function Jp(e,n,r,o){do Tr();while(Rt!==null);if((_e&6)!==0)throw Error(l(327));r=e.finishedWork;var a=e.finishedLanes;if(r===null)return null;if(e.finishedWork=null,e.finishedLanes=0,r===e.current)throw Error(l(177));e.callbackNode=null,e.callbackPriority=0;var u=r.lanes|r.childLanes;if(Tf(e,u),e===Qe&&(We=Qe=null,Xe=0),(r.subtreeFlags&2064)===0&&(r.flags&2064)===0||$i||($i=!0,Qu(qs,function(){return Tr(),null})),u=(r.flags&15990)!==0,(r.subtreeFlags&15990)!==0||u){u=En.transition,En.transition=null;var d=Pe;Pe=1;var h=_e;_e|=4,Dl.current=null,Hp(e,r),$u(r,e),yp(Uo),Gs=!!Wo,Uo=Wo=null,e.current=r,Kp(r),Sf(),_e=h,Pe=d,En.transition=u}else e.current=r;if($i&&($i=!1,Rt=e,Di=a),u=e.pendingLanes,u===0&&(bt=null),_f(r.stateNode),fn(e,Be()),n!==null)for(o=e.onRecoverableError,r=0;r<n.length;r++)a=n[r],o(a.value,{componentStack:a.stack,digest:a.digest});if(Mi)throw Mi=!1,e=Al,Al=null,e;return(Di&1)!==0&&e.tag!==0&&Tr(),u=e.pendingLanes,(u&1)!==0?e===zl?Is++:(Is=0,zl=e):Is=0,Nt(),null}function Tr(){if(Rt!==null){var e=Ta(Di),n=En.transition,r=Pe;try{if(En.transition=null,Pe=16>e?16:e,Rt===null)var o=!1;else{if(e=Rt,Rt=null,Di=0,(_e&6)!==0)throw Error(l(331));var a=_e;for(_e|=4,ne=e.current;ne!==null;){var u=ne,d=u.child;if((ne.flags&16)!==0){var h=u.deletions;if(h!==null){for(var y=0;y<h.length;y++){var I=h[y];for(ne=I;ne!==null;){var L=ne;switch(L.tag){case 0:case 11:case 15:Ns(8,L,u)}var O=L.child;if(O!==null)O.return=L,ne=O;else for(;ne!==null;){L=ne;var $=L.sibling,ee=L.return;if(bu(L),L===I){ne=null;break}if($!==null){$.return=ee,ne=$;break}ne=ee}}}var re=u.alternate;if(re!==null){var le=re.child;if(le!==null){re.child=null;do{var qe=le.sibling;le.sibling=null,le=qe}while(le!==null)}}ne=u}}if((u.subtreeFlags&2064)!==0&&d!==null)d.return=u,ne=d;else e:for(;ne!==null;){if(u=ne,(u.flags&2048)!==0)switch(u.tag){case 0:case 11:case 15:Ns(9,u,u.return)}var S=u.sibling;if(S!==null){S.return=u.return,ne=S;break e}ne=u.return}}var x=e.current;for(ne=x;ne!==null;){d=ne;var N=d.child;if((d.subtreeFlags&2064)!==0&&N!==null)N.return=d,ne=N;else e:for(d=x;ne!==null;){if(h=ne,(h.flags&2048)!==0)try{switch(h.tag){case 0:case 11:case 15:Ri(9,h)}}catch(ae){Fe(h,h.return,ae)}if(h===d){ne=null;break e}var U=h.sibling;if(U!==null){U.return=h.return,ne=U;break e}ne=h.return}}if(_e=a,Nt(),Un&&typeof Un.onPostCommitFiberRoot=="function")try{Un.onPostCommitFiberRoot(Ws,e)}catch{}o=!0}return o}finally{Pe=r,En.transition=n}}return!1}function Vu(e,n,r){n=Ir(r,n),n=cu(e,n,1),e=Et(e,n,1),n=on(),e!==null&&(Jr(e,1,n),fn(e,n))}function Fe(e,n,r){if(e.tag===3)Vu(e,e,r);else for(;n!==null;){if(n.tag===3){Vu(n,e,r);break}else if(n.tag===1){var o=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(bt===null||!bt.has(o))){e=Ir(r,e),e=uu(n,e,1),n=Et(n,e,1),e=on(),n!==null&&(Jr(n,1,e),fn(n,e));break}}n=n.return}}function Zp(e,n,r){var o=e.pingCache;o!==null&&o.delete(n),n=on(),e.pingedLanes|=e.suspendedLanes&r,Qe===e&&(Xe&r)===r&&(He===4||He===3&&(Xe&130023424)===Xe&&500>Be()-Ol?Yt(e,0):Ll|=r),fn(e,n)}function Hu(e,n){n===0&&((e.mode&1)===0?n=1:(n=Vs,Vs<<=1,(Vs&130023424)===0&&(Vs=4194304)));var r=on();e=rt(e,n),e!==null&&(Jr(e,n,r),fn(e,r))}function em(e){var n=e.memoizedState,r=0;n!==null&&(r=n.retryLane),Hu(e,r)}function nm(e,n){var r=0;switch(e.tag){case 13:var o=e.stateNode,a=e.memoizedState;a!==null&&(r=a.retryLane);break;case 19:o=e.stateNode;break;default:throw Error(l(314))}o!==null&&o.delete(n),Hu(e,r)}var Ku;Ku=function(e,n,r){if(e!==null)if(e.memoizedProps!==n.pendingProps||an.current)un=!0;else{if((e.lanes&r)===0&&(n.flags&128)===0)return un=!1,qp(e,n,r);un=(e.flags&131072)!==0}else un=!1,Oe&&(n.flags&1048576)!==0&&_c(n,pi,n.index);switch(n.lanes=0,n.tag){case 2:var o=n.type;Ii(e,n),e=n.pendingProps;var a=wr(n,Je.current);_r(n,r),a=ml(null,n,o,e,a,r);var u=hl();return n.flags|=1,typeof a=="object"&&a!==null&&typeof a.render=="function"&&a.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,cn(o)?(u=!0,ui(n)):u=!1,n.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,ll(n),a.updater=_i,n.stateNode=a,a._reactInternals=n,kl(n,o,e,r),n=Nl(null,n,o,!0,u,r)):(n.tag=0,Oe&&u&&Xo(n),sn(null,n,a,r),n=n.child),n;case 16:o=n.elementType;e:{switch(Ii(e,n),e=n.pendingProps,a=o._init,o=a(o._payload),n.type=o,a=n.tag=rm(o),e=On(o,e),a){case 0:n=Cl(null,n,o,e,r);break e;case 1:n=xu(null,n,o,e,r);break e;case 11:n=mu(null,n,o,e,r);break e;case 14:n=hu(null,n,o,On(o.type,e),r);break e}throw Error(l(306,o,""))}return n;case 0:return o=n.type,a=n.pendingProps,a=n.elementType===o?a:On(o,a),Cl(e,n,o,a,r);case 1:return o=n.type,a=n.pendingProps,a=n.elementType===o?a:On(o,a),xu(e,n,o,a,r);case 3:e:{if(wu(n),e===null)throw Error(l(387));o=n.pendingProps,u=n.memoizedState,a=u.element,Dc(e,n),xi(n,o,null,r);var d=n.memoizedState;if(o=d.element,u.isDehydrated)if(u={element:o,isDehydrated:!1,cache:d.cache,pendingSuspenseBoundaries:d.pendingSuspenseBoundaries,transitions:d.transitions},n.updateQueue.baseState=u,n.memoizedState=u,n.flags&256){a=Ir(Error(l(423)),n),n=ku(e,n,o,r,a);break e}else if(o!==a){a=Ir(Error(l(424)),n),n=ku(e,n,o,r,a);break e}else for(xn=jt(n.stateNode.containerInfo.firstChild),yn=n,Oe=!0,Ln=null,r=Mc(n,null,o,r),n.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(Sr(),o===a){n=it(e,n,r);break e}sn(e,n,o,r)}n=n.child}return n;case 5:return Ac(n),e===null&&el(n),o=n.type,a=n.pendingProps,u=e!==null?e.memoizedProps:null,d=a.children,Vo(o,a)?d=null:u!==null&&Vo(o,u)&&(n.flags|=32),yu(e,n),sn(e,n,d,r),n.child;case 6:return e===null&&el(n),null;case 13:return ju(e,n,r);case 4:return al(n,n.stateNode.containerInfo),o=n.pendingProps,e===null?n.child=Cr(n,null,o,r):sn(e,n,o,r),n.child;case 11:return o=n.type,a=n.pendingProps,a=n.elementType===o?a:On(o,a),mu(e,n,o,a,r);case 7:return sn(e,n,n.pendingProps,r),n.child;case 8:return sn(e,n,n.pendingProps.children,r),n.child;case 12:return sn(e,n,n.pendingProps.children,r),n.child;case 10:e:{if(o=n.type._context,a=n.pendingProps,u=n.memoizedProps,d=a.value,Te(gi,o._currentValue),o._currentValue=d,u!==null)if(Dn(u.value,d)){if(u.children===a.children&&!an.current){n=it(e,n,r);break e}}else for(u=n.child,u!==null&&(u.return=n);u!==null;){var h=u.dependencies;if(h!==null){d=u.child;for(var y=h.firstContext;y!==null;){if(y.context===o){if(u.tag===1){y=st(-1,r&-r),y.tag=2;var I=u.updateQueue;if(I!==null){I=I.shared;var L=I.pending;L===null?y.next=y:(y.next=L.next,L.next=y),I.pending=y}}u.lanes|=r,y=u.alternate,y!==null&&(y.lanes|=r),il(u.return,r,n),h.lanes|=r;break}y=y.next}}else if(u.tag===10)d=u.type===n.type?null:u.child;else if(u.tag===18){if(d=u.return,d===null)throw Error(l(341));d.lanes|=r,h=d.alternate,h!==null&&(h.lanes|=r),il(d,r,n),d=u.sibling}else d=u.child;if(d!==null)d.return=u;else for(d=u;d!==null;){if(d===n){d=null;break}if(u=d.sibling,u!==null){u.return=d.return,d=u;break}d=d.return}u=d}sn(e,n,a.children,r),n=n.child}return n;case 9:return a=n.type,o=n.pendingProps.children,_r(n,r),a=Nn(a),o=o(a),n.flags|=1,sn(e,n,o,r),n.child;case 14:return o=n.type,a=On(o,n.pendingProps),a=On(o.type,a),hu(e,n,o,a,r);case 15:return gu(e,n,n.type,n.pendingProps,r);case 17:return o=n.type,a=n.pendingProps,a=n.elementType===o?a:On(o,a),Ii(e,n),n.tag=1,cn(o)?(e=!0,ui(n)):e=!1,_r(n,r),lu(n,o,a),kl(n,o,a,r),Nl(null,n,o,!0,e,r);case 19:return Cu(e,n,r);case 22:return vu(e,n,r)}throw Error(l(156,n.tag))};function Qu(e,n){return Ea(e,n)}function tm(e,n,r,o){this.tag=e,this.key=r,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 In(e,n,r,o){return new tm(e,n,r,o)}function Vl(e){return e=e.prototype,!(!e||!e.isReactComponent)}function rm(e){if(typeof e=="function")return Vl(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ie)return 11;if(e===Z)return 14}return 2}function Mt(e,n){var r=e.alternate;return r===null?(r=In(e.tag,n,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=n,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,n=e.dependencies,r.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function zi(e,n,r,o,a,u){var d=2;if(o=e,typeof e=="function")Vl(e)&&(d=1);else if(typeof e=="string")d=5;else e:switch(e){case D:return Jt(r.children,a,u,n);case X:d=8,a|=8;break;case he:return e=In(12,r,n,a|2),e.elementType=he,e.lanes=u,e;case ie:return e=In(13,r,n,a),e.elementType=ie,e.lanes=u,e;case Ce:return e=In(19,r,n,a),e.elementType=Ce,e.lanes=u,e;case we:return Fi(r,a,u,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ve:d=10;break e;case Me:d=9;break e;case Ie:d=11;break e;case Z:d=14;break e;case je:d=16,o=null;break e}throw Error(l(130,e==null?e:typeof e,""))}return n=In(d,r,n,a),n.elementType=e,n.type=o,n.lanes=u,n}function Jt(e,n,r,o){return e=In(7,e,o,n),e.lanes=r,e}function Fi(e,n,r,o){return e=In(22,e,o,n),e.elementType=we,e.lanes=r,e.stateNode={isHidden:!1},e}function Hl(e,n,r){return e=In(6,e,null,n),e.lanes=r,e}function Kl(e,n,r){return n=In(4,e.children!==null?e.children:[],e.key,n),n.lanes=r,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function sm(e,n,r,o,a){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=wo(0),this.expirationTimes=wo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=wo(0),this.identifierPrefix=o,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function Ql(e,n,r,o,a,u,d,h,y){return e=new sm(e,n,r,h,y),n===1?(n=1,u===!0&&(n|=8)):n=0,u=In(3,null,null,n),e.current=u,u.stateNode=e,u.memoizedState={element:o,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},ll(u),e}function im(e,n,r){var o=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:k,key:o==null?null:""+o,children:e,containerInfo:n,implementation:r}}function Gu(e){if(!e)return Ct;e=e._reactInternals;e:{if(Ft(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(cn(n.type)){n=n.stateNode.__reactInternalMemoizedMergedChildContext;break e}}n=n.return}while(n!==null);throw Error(l(171))}if(e.tag===1){var r=e.type;if(cn(r))return Sc(e,r,n)}return n}function Yu(e,n,r,o,a,u,d,h,y){return e=Ql(r,o,!0,e,a,u,d,h,y),e.context=Gu(null),r=e.current,o=on(),a=Pt(r),u=st(o,a),u.callback=n??null,Et(r,u,a),e.current.lanes=a,Jr(e,a,o),fn(e,o),e}function Bi(e,n,r,o){var a=n.current,u=on(),d=Pt(a);return r=Gu(r),n.context===null?n.context=r:n.pendingContext=r,n=st(u,d),n.payload={element:e},o=o===void 0?null:o,o!==null&&(n.callback=o),e=Et(a,n,d),e!==null&&(Fn(e,a,d,u),yi(e,a,d)),d}function qi(e){return e=e.current,e.child?(e.child.tag===5,e.child.stateNode):null}function Xu(e,n){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var r=e.retryLane;e.retryLane=r!==0&&r<n?r:n}}function Gl(e,n){Xu(e,n),(e=e.alternate)&&Xu(e,n)}function om(){return null}var Ju=typeof reportError=="function"?reportError:function(e){console.error(e)};function Yl(e){this._internalRoot=e}Wi.prototype.render=Yl.prototype.render=function(e){var n=this._internalRoot;if(n===null)throw Error(l(409));Bi(e,n,null,null)},Wi.prototype.unmount=Yl.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var n=e.containerInfo;Gt(function(){Bi(null,e,null,null)}),n[Zn]=null}};function Wi(e){this._internalRoot=e}Wi.prototype.unstable_scheduleHydration=function(e){if(e){var n=Da();e={blockedOn:null,target:e,priority:n};for(var r=0;r<xt.length&&n!==0&&n<xt[r].priority;r++);xt.splice(r,0,e),r===0&&Aa(e)}};function Xl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Ui(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Zu(){}function lm(e,n,r,o,a){if(a){if(typeof o=="function"){var u=o;o=function(){var I=qi(d);u.call(I)}}var d=Yu(n,o,e,0,null,!1,!1,"",Zu);return e._reactRootContainer=d,e[Zn]=d.current,fs(e.nodeType===8?e.parentNode:e),Gt(),d}for(;a=e.lastChild;)e.removeChild(a);if(typeof o=="function"){var h=o;o=function(){var I=qi(y);h.call(I)}}var y=Ql(e,0,!1,null,null,!1,!1,"",Zu);return e._reactRootContainer=y,e[Zn]=y.current,fs(e.nodeType===8?e.parentNode:e),Gt(function(){Bi(n,y,r,o)}),y}function Vi(e,n,r,o,a){var u=r._reactRootContainer;if(u){var d=u;if(typeof a=="function"){var h=a;a=function(){var y=qi(d);h.call(y)}}Bi(n,d,e,a)}else d=lm(r,n,e,a,o);return qi(d)}Ma=function(e){switch(e.tag){case 3:var n=e.stateNode;if(n.current.memoizedState.isDehydrated){var r=Xr(n.pendingLanes);r!==0&&(ko(n,r|1),fn(n,Be()),(_e&6)===0&&(Pr=Be()+500,Nt()))}break;case 13:Gt(function(){var o=rt(e,1);if(o!==null){var a=on();Fn(o,e,1,a)}}),Gl(e,1)}},jo=function(e){if(e.tag===13){var n=rt(e,134217728);if(n!==null){var r=on();Fn(n,e,134217728,r)}Gl(e,134217728)}},$a=function(e){if(e.tag===13){var n=Pt(e),r=rt(e,n);if(r!==null){var o=on();Fn(r,e,n,o)}Gl(e,n)}},Da=function(){return Pe},La=function(e,n){var r=Pe;try{return Pe=e,n()}finally{Pe=r}},M=function(e,n,r){switch(n){case"input":if(Tn(e,r),n=r.name,r.type==="radio"&&n!=null){for(r=e;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll("input[name="+JSON.stringify(""+n)+'][type="radio"]'),n=0;n<r.length;n++){var o=r[n];if(o!==e&&o.form===e.form){var a=ai(o);if(!a)throw Error(l(90));$e(o),Tn(o,a)}}}break;case"textarea":Br(e,r);break;case"select":n=r.value,n!=null&&Yn(e,!!r.multiple,n,!1)}},Jn=ql,zs=Gt;var am={usingClientEntryPoint:!1,Events:[hs,yr,ai,Ue,Xn,ql]},bs={findFiberByHostInstance:Bt,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},cm={bundleType:bs.bundleType,version:bs.version,rendererPackageName:bs.rendererPackageName,rendererConfig:bs.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:B.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Na(e),e===null?null:e.stateNode},findFiberByHostInstance:bs.findFiberByHostInstance||om,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 Hi=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Hi.isDisabled&&Hi.supportsFiber)try{Ws=Hi.inject(cm),Un=Hi}catch{}}return pn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=am,pn.createPortal=function(e,n){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Xl(n))throw Error(l(200));return im(e,n,null,r)},pn.createRoot=function(e,n){if(!Xl(e))throw Error(l(299));var r=!1,o="",a=Ju;return n!=null&&(n.unstable_strictMode===!0&&(r=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onRecoverableError!==void 0&&(a=n.onRecoverableError)),n=Ql(e,1,!1,null,null,r,!1,o,a),e[Zn]=n.current,fs(e.nodeType===8?e.parentNode:e),new Yl(n)},pn.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=Na(n),e=e===null?null:e.stateNode,e},pn.flushSync=function(e){return Gt(e)},pn.hydrate=function(e,n,r){if(!Ui(n))throw Error(l(200));return Vi(null,e,n,!0,r)},pn.hydrateRoot=function(e,n,r){if(!Xl(e))throw Error(l(405));var o=r!=null&&r.hydratedSources||null,a=!1,u="",d=Ju;if(r!=null&&(r.unstable_strictMode===!0&&(a=!0),r.identifierPrefix!==void 0&&(u=r.identifierPrefix),r.onRecoverableError!==void 0&&(d=r.onRecoverableError)),n=Yu(n,null,e,1,r??null,a,!1,u,d),e[Zn]=n.current,fs(e),o)for(e=0;e<o.length;e++)r=o[e],a=r._getVersion,a=a(r._source),n.mutableSourceEagerHydrationData==null?n.mutableSourceEagerHydrationData=[r,a]:n.mutableSourceEagerHydrationData.push(r,a);return new Wi(n)},pn.render=function(e,n,r){if(!Ui(n))throw Error(l(200));return Vi(null,e,n,!1,r)},pn.unmountComponentAtNode=function(e){if(!Ui(e))throw Error(l(40));return e._reactRootContainer?(Gt(function(){Vi(null,null,e,!1,function(){e._reactRootContainer=null,e[Zn]=null})}),!0):!1},pn.unstable_batchedUpdates=ql,pn.unstable_renderSubtreeIntoContainer=function(e,n,r,o){if(!Ui(r))throw Error(l(200));if(e==null||e._reactInternals===void 0)throw Error(l(38));return Vi(e,n,r,!1,o)},pn.version="18.3.1-next-f1338f8080-20240426",pn}var ld;function wm(){if(ld)return ea.exports;ld=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(s){console.error(s)}}return t(),ea.exports=xm(),ea.exports}var ad;function km(){if(ad)return Ki;ad=1;var t=wm();return Ki.createRoot=t.createRoot,Ki.hydrateRoot=t.hydrateRoot,Ki}var jm=km();const Sm=zd(jm);function K({name:t,size:s=18,...l}){return i.jsx("svg",{"aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24",width:s,height:s,fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",...l,children:Cm[t]})}const Cm={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"})]}),menu:i.jsx("path",{d:"M4 7h16M4 12h16M4 17h16"}),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"}),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 Ds({children:t,className:s=""}){return i.jsx("div",{className:`markdown ${s}`.trim(),children:Fd(t)})}function Fd(t){const s=t.replace(/\r\n?/g,`
10
- `).split(`
11
- `),l=[];let c=0;for(;c<s.length;){const f=s[c];if(!f.trim()){c+=1;continue}const p=f.match(/^\s*```([^`]*)$/);if(p){const b=[];for(c+=1;c<s.length&&!/^\s*```\s*$/.test(s[c]);)b.push(s[c]),c+=1;c<s.length&&(c+=1),l.push(i.jsx(Im,{language:p[1].trim(),content:b.join(`
12
- `)},`code-${c}`));continue}const m=f.match(/^(#{1,6})\s+(.+)$/);if(m){const b=Math.min(6,m[1].length+1);l.push(Em(b,ra(m[2],`heading-${c}`),`heading-${c}`)),c+=1;continue}if(/^\s*>\s?/.test(f)){const b=[];for(;c<s.length&&/^\s*>\s?/.test(s[c]);)b.push(s[c].replace(/^\s*>\s?/,"")),c+=1;l.push(i.jsx("blockquote",{children:Fd(b.join(`
13
- `))},`quote-${c}`));continue}if(f.match(/^\s*(?:[-*+] |\d+[.)] )(.+)$/)){const b=/^\s*\d/.test(f),F=[],R=b?/^\s*\d+[.)]\s+(.+)$/:/^\s*[-*+]\s+(.+)$/;for(;c<s.length;){const P=s[c].match(R);if(!P)break;F.push(P[1]),c+=1}const A=F.map((P,V)=>i.jsx("li",{children:ra(P,`list-${c}-${V}`)},`item-${c}-${V}`));l.push(b?i.jsx("ol",{children:A},`list-${c}`):i.jsx("ul",{children:A},`list-${c}`));continue}const _=[f.trim()];for(c+=1;c<s.length&&s[c].trim()&&!Nm(s[c]);)_.push(s[c].trim()),c+=1;l.push(i.jsx("p",{children:ra(_.join(" "),`paragraph-${c}`)},`paragraph-${c}`))}return l}function Nm(t){return/^\s*```/.test(t)||/^(#{1,6})\s+/.test(t)||/^\s*>\s?/.test(t)||/^\s*(?:[-*+] |\d+[.)] )/.test(t)}function ra(t,s){const l=/(`[^`\n]+`|\*\*[^*\n]+\*\*|\[[^\]\n]+\]\([^\s)]+\))/g,c=[];let f=0,p,m=0;for(;p=l.exec(t);){p.index>f&&c.push(t.slice(f,p.index));const v=p[0],_=`${s}-${m++}`;if(v.startsWith("`"))c.push(i.jsx("code",{children:v.slice(1,-1)},_));else if(v.startsWith("**"))c.push(i.jsx("strong",{children:v.slice(2,-2)},_));else{const b=v.match(/^\[([^\]]+)\]\(([^)]+)\)$/);b&&_m(b[2])?c.push(i.jsx("a",{href:b[2],target:"_blank",rel:"noopener noreferrer",referrerPolicy:"no-referrer",children:b[1]},_)):c.push(v)}f=p.index+v.length}return f<t.length&&c.push(t.slice(f)),c}function _m(t){try{const s=new URL(t);return s.protocol==="https:"||s.protocol==="http:"||s.protocol==="mailto:"}catch{return!1}}function Em(t,s,l){return t===2?i.jsx("h2",{children:s},l):t===3?i.jsx("h3",{children:s},l):t===4?i.jsx("h4",{children:s},l):t===5?i.jsx("h5",{children:s},l):i.jsx("h6",{children:s},l)}function Im({language:t,content:s}){const[l,c]=g.useState("idle"),f=async()=>{try{await navigator.clipboard.writeText(s),c("copied"),window.setTimeout(()=>c("idle"),1400)}catch{c("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:f,"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:s})})]})}function Lt(t){return t.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g,"").replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/g,"")}function ga(t,s=8e3){const l=/api.?key|authorization|cookie|password|secret|token/i;let c;try{c=JSON.stringify(t,(p,m)=>p&&l.test(p)?"[REDACTED]":m,2)}catch{c=String(t)}const f=Lt(c);return f.length<=s?f:`${f.slice(0,s)}
14
- …已截断`}function Bd({side:t,className:s,minWidth:l,maxWidth:c,defaultWidth:f,label:p,onPreview:m,onCommit:v}){const _=g.useRef(f),b=g.useRef(null),F=g.useRef(null),R=g.useRef(null),A=()=>{R.current!==null&&cancelAnimationFrame(R.current),R.current=null},P=()=>{b.current=null,F.current=null,A(),delete document.documentElement.dataset.panelResizing};g.useEffect(()=>P,[]);const V=B=>{_.current=B,F.current=B,R.current===null&&(R.current=requestAnimationFrame(()=>{R.current=null;const Y=F.current;F.current=null,Y!==null&&m(Y)}))},H=B=>{const k=B.currentTarget.closest(".workbench-shell")?.getBoundingClientRect()??{left:0,right:window.innerWidth},D=t==="left"?B.clientX-k.left:k.right-B.clientX;return Math.min(c,Math.max(l,Math.round(D)))},W=B=>{B.button!==0||b.current!==null||(B.preventDefault(),b.current=B.pointerId,B.currentTarget.setPointerCapture(B.pointerId),document.documentElement.dataset.panelResizing=t,V(H(B)))},J=B=>{b.current===B.pointerId&&V(H(B))},z=B=>{if(b.current!==B.pointerId)return;B.currentTarget.hasPointerCapture(B.pointerId)&&B.currentTarget.releasePointerCapture(B.pointerId);const Y=F.current??_.current;P(),m(Y),v(Y)},Q=B=>{if(b.current!==B.pointerId)return;const Y=F.current??_.current;P(),m(Y),v(Y)};return i.jsx("div",{className:`panel-resize-handle panel-resize-handle-${t}${s?` ${s}`:""}`,"aria-hidden":"true",title:`${p};双击恢复默认宽度`,onPointerDown:W,onPointerMove:J,onPointerUp:z,onPointerCancel:z,onLostPointerCapture:Q,onDoubleClick:()=>{const B=Math.min(c,Math.max(l,f));_.current=B,m(B),v(B)},children:i.jsx("span",{})})}const va=240,ao=280,qd=480,cd=48,ya=320,xa=420,Wd=720,bm=48,ud=560,Ud="orion.web.workbench-layout.v2",Rm="orion.web.work-panel.v1",sr=Object.freeze({schemaVersion:2,projectNavigation:Object.freeze({expanded:!0,widthPx:ao}),workPanel:Object.freeze({expanded:!0,widthPx:xa,activePanel:"agent",agentPanel:"goal"})});function sa(t,s){const l=$m(t),c=Vd(s.projectNavigation.widthPx),f=wa(s.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-ud,R=s.projectNavigation.expanded&&b>=va?"dock":s.projectNavigation.expanded?"drawer":"rail",A=R==="dock"?Math.min(c,b):R==="rail"?cd:0;return Object.freeze({projectNavigation:Object.freeze({mode:R,widthPx:A}),conversationWidthPx:Math.max(0,l-A),workPanel:Object.freeze({mode:"drawer",widthPx:0})})}const p=s.projectNavigation.expanded?c:cd,m=l-p-ud,v=s.workPanel.expanded&&m>=ya,_=v?Math.min(f,m):bm;return Object.freeze({projectNavigation:Object.freeze({mode:s.projectNavigation.expanded?"dock":"rail",widthPx:p}),conversationWidthPx:Math.max(0,l-p-_),workPanel:Object.freeze({mode:v?"dock":"rail",widthPx:_})})}function Vd(t){const s=Number.isFinite(t)?Math.round(t):ao;return Math.min(qd,Math.max(va,s))}function wa(t){const s=Number.isFinite(t)?Math.round(t):xa;return Math.min(Wd,Math.max(ya,s))}function Pm(t,s=null){if(!t)return Mm(s);try{const l=JSON.parse(t);if(!eo(l)||l.schemaVersion!==2)return sr;const c=eo(l.projectNavigation)?l.projectNavigation:{},f=eo(l.workPanel)?l.workPanel:{};return Hd({schemaVersion:2,projectNavigation:{expanded:typeof c.expanded=="boolean"?c.expanded:!0,widthPx:Vd(Number(c.widthPx))},workPanel:{expanded:typeof f.expanded=="boolean"?f.expanded:!0,widthPx:wa(Number(f.widthPx)),activePanel:Qd(f.activePanel)?f.activePanel:"agent",agentPanel:Gd(f.agentPanel)?f.agentPanel:"goal"}})}catch{return sr}}function Tm(){const t=Kd();if(!t)return sr;try{return Pm(t.localStorage.getItem(Ud),t.localStorage.getItem(Rm))}catch{return sr}}function dd(t){const s=Kd();if(s)try{s.localStorage.setItem(Ud,JSON.stringify(t))}catch{}}function Mm(t){if(!t)return sr;try{const s=JSON.parse(t);return!eo(s)||s.schemaVersion!==1?sr:Hd({schemaVersion:2,projectNavigation:{expanded:!0,widthPx:ao},workPanel:{expanded:typeof s.expanded=="boolean"?s.expanded:!0,widthPx:wa(Number(s.widthPx)),activePanel:Qd(s.activePanel)?s.activePanel:"agent",agentPanel:Gd(s.agentPanel)?s.agentPanel:"goal"}})}catch{return sr}}function Hd(t){return Object.freeze({schemaVersion:2,projectNavigation:Object.freeze({...t.projectNavigation}),workPanel:Object.freeze({...t.workPanel})})}function $m(t){return!Number.isFinite(t)||t<=0?1440:Math.max(320,Math.round(t))}function Kd(){return globalThis.window??null}function Qd(t){return["agent","review","terminal","files","git"].includes(String(t))}function Gd(t){return["goal","activity","integrations","diagnostics"].includes(String(t))}function eo(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}const Zt=40;function Dm({state:t,drawerOpen:s,dockVisible:l,collapsed:c,resizable:f,onCloseDrawer:p,onExpand:m,onCollapse:v,onOpenWorkspaceDialog:_,onOpenSettings:b,onLoadMoreWorkspaces:F,onCreateSession:R,onLoadWorkspaceSessions:A,onActivateContext:P,onSetPinned:V,onRemoveWorkspace:H,onRefreshSummary:W,onRenameSession:J,onWidthPreview:z,onWidthCommit:Q}){const[B,Y]=g.useState(""),[k,D]=g.useState(0),[X,he]=g.useState(new Set(t.workspaceId?[t.workspaceId]:[])),ve=g.useDeferredValue(B.trim().toLocaleLowerCase()),Me=g.useRef(null),Ie=!!t.pendingAction,ie=Ie||t.processing;g.useEffect(()=>{s&&Me.current?.focus()},[s]),g.useEffect(()=>{t.workspaceId&&he(j=>new Set([...j,t.workspaceId]))},[t.workspaceId]),g.useEffect(()=>D(0),[ve]);const Ce=g.useMemo(()=>{const j=[...t.workspaces].sort(Lm);return ve?j.filter(G=>pd(G,ve)?!0:(t.workspaceSessions[G.id]?.items??[]).some(q=>[q.name,q.taskSummary,q.id].filter(w=>!!w).some(w=>w.toLocaleLowerCase().includes(ve)))):j},[ve,t.workspaceSessions,t.workspaces]);g.useEffect(()=>{const j=Ce.findIndex(G=>G.id===t.workspaceId);j<0||D(G=>j<G||j>=G+Zt?Math.floor(j/Zt)*Zt:G)},[Ce,t.workspaceId]);const Z=Ce.slice(k,k+Zt),je=!!(ve&&(t.workspaceNextCursor||Object.values(t.workspaceSessions).some(j=>!!j.nextCursor))),we=j=>{const G=new Set(X);G.has(j.id)?G.delete(j.id):(G.add(j.id),t.workspaceSessions[j.id]?W(j.id):A(j.id)),he(G)};if(c&&!s){const j=t.workspaces.find(G=>G.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:m,children:i.jsx(K,{name:"sidebar",size:17})}),i.jsx("button",{type:"button",className:"icon-button project-rail-action","aria-label":"新建会话",title:"新建会话",onClick:R,disabled:Ie||!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":j?`打开项目 ${j.label}`:"打开项目导航",title:j?.label??"打开项目导航",onClick:m,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:b,children:i.jsx(K,{name:"settings",size:17})}),i.jsx("span",{className:`connection-dot project-rail-connection ${t.connection}`,"aria-label":ia(t.connection),title:ia(t.connection)})]})}return i.jsxs("aside",{id:"workspace-rail",className:`workspace-rail project-navigator ${s?"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:p,children:i.jsx(K,{name:"close"})}),i.jsx("button",{type:"button",className:"icon-button project-navigation-collapse","aria-label":"折叠项目导航",title:"折叠项目导航(⌘/Ctrl+B)",onClick:v,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:_,disabled:ie,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:B,onChange:j=>Y(j.target.value),placeholder:"搜索项目和会话"}),B?i.jsx("button",{type:"button","aria-label":"清除搜索",onClick:()=>Y(""),children:i.jsx(K,{name:"close",size:13})}):null]}),je?i.jsx("p",{className:"project-search-scope",role:"status",children:"搜索仅覆盖已加载的项目和会话;仍有分页内容未加载。"}):null,i.jsxs("nav",{className:"project-tree","aria-label":"已知项目",children:[Z.map((j,G)=>{const q=k+G,w=Ce[q-1],T=X.has(j.id)||!!ve,ce=t.workspaceSessions[j.id],pe=t.workspaceProjectSummaries[j.id],ye=pd(j,ve)?ce?.items??[]:Om(ce?.items??[],ve);return i.jsxs(g.Fragment,{children:[q===0||w?.pinnedOrder!==void 0&&j.pinnedOrder===void 0?i.jsx("h3",{className:"project-group-heading",role:"presentation",children:j.pinnedOrder===void 0?"RECENT":"PINNED"}):null,i.jsxs("section",{className:`project-node ${j.active?"active":""} ${j.available?"":"unavailable"}`,children:[i.jsxs("div",{className:"project-row",children:[i.jsxs("button",{id:`project-${j.id}`,type:"button",className:"project-toggle","aria-expanded":T,"aria-controls":`project-${j.id}-sessions`,"aria-current":j.active?"page":void 0,onClick:()=>we(j),onKeyDown:se=>{if(se.key==="ArrowRight"){se.preventDefault(),T?se.currentTarget.closest(".project-node")?.querySelector(".project-session-main")?.focus():we(j);return}if(se.key==="ArrowLeft"&&T){se.preventDefault(),we(j);return}fd(se)},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:j.label}),i.jsx("span",{title:j.path,children:pe?`${pe.detached?pe.head||"detached":pe.branch||"Git"} · ${pe.dirtyCount?`M${pe.dirtyCount}`:"clean"}`:Am(j.path)})]})]}),i.jsx("button",{type:"button",className:"icon-button project-pin","aria-label":`${j.pinnedOrder===void 0?"置顶":"取消置顶"}项目 ${j.label}`,"aria-pressed":j.pinnedOrder!==void 0,onClick:()=>V(j.id,j.pinnedOrder===void 0),disabled:Ie,children:i.jsx("span",{"aria-hidden":"true",children:j.pinnedOrder===void 0?"○":"●"})}),!j.available&&!j.active?i.jsx("button",{type:"button",className:"icon-button project-remove","aria-label":`移除不可用项目 ${j.label}`,onClick:()=>H(j.id),disabled:Ie,children:i.jsx(K,{name:"close",size:13})}):i.jsx("button",{type:"button",className:"icon-button project-add-session","aria-label":`在 ${j.label} 新建会话`,disabled:Ie||!j.available||!j.active,onClick:R,title:j.active?"新建会话":"先激活项目后新建会话",children:i.jsx(K,{name:"add",size:14})})]}),T?i.jsxs("div",{id:`project-${j.id}-sessions`,className:"project-sessions",role:"list","aria-label":`${j.label} 的会话`,children:[ce?.status==="loading"&&!ce.items.length?i.jsx("p",{className:"project-loading",role:"listitem",children:"正在加载会话…"}):null,ce?.status==="error"?i.jsx("div",{role:"listitem",children:i.jsx("button",{type:"button",className:"project-load-error",onClick:()=>A(j.id),children:"加载失败,重试"})}):null,ye.map(se=>{const xe=j.active&&se.id===t.activeSessionId,Se=t.sessionRuntimeById[se.id],Ne=Fm(Se),oe=Ie||!j.active&&t.processing;return i.jsxs("div",{className:`project-session-row ${xe?"active":""}`,role:"listitem",children:[i.jsxs("button",{type:"button",className:"project-session-main","aria-current":xe?"page":void 0,"aria-disabled":xe||oe||!j.available,onClick:()=>{xe||P(j.id,se.id)},disabled:oe||!j.available,onKeyDown:ge=>{if(ge.key==="ArrowLeft"){ge.preventDefault(),document.getElementById(`project-${j.id}`)?.focus();return}fd(ge)},children:[i.jsx("span",{className:`session-state ${Ne.tone}`,"aria-hidden":"true"}),i.jsxs("span",{children:[i.jsx("strong",{children:ro(se)}),i.jsxs("small",{children:[zm(se.updatedAt)," · ",se.messageCount," 条"]}),Ne.label?i.jsx("small",{className:"project-session-status",children:Ne.label}):null]})]}),j.active?i.jsx("button",{type:"button",className:"icon-button session-rename","aria-label":`重命名会话 ${ro(se)}`,onClick:()=>J(se),disabled:Ie,children:i.jsx(K,{name:"edit",size:13})}):null]},se.id)}),ce?.status==="ready"&&!ye.length?i.jsx("div",{role:"listitem",children:i.jsx("button",{type:"button",className:"project-empty-session",disabled:ie||!j.available,onClick:()=>P(j.id,null),children:ve?"没有匹配会话":"打开项目"})}):null,ce?.nextCursor?i.jsx("div",{role:"listitem",children:i.jsx("button",{type:"button",className:"text-button project-load-more",onClick:()=>A(j.id,!0),children:"加载更多会话"})}):null]}):null]})]},j.id)}),Ce.length?null:i.jsxs("div",{className:"empty-rail",children:[i.jsx(K,{name:"search"}),i.jsx("p",{children:"没有匹配的项目或会话"})]}),k>0?i.jsx("button",{type:"button",className:"text-button project-window-more",onClick:()=>D(j=>Math.max(0,j-Zt)),children:"上一批项目"}):null,k+Zt<Ce.length?i.jsx("button",{type:"button",className:"text-button project-window-more",onClick:()=>D(j=>j+Zt),children:"下一批项目"}):t.workspaceNextCursor?i.jsx("button",{type:"button",className:"text-button project-window-more",onClick:F,children:"加载更多项目"}):null]}),i.jsxs("footer",{className:"rail-footer",children:[i.jsx("span",{className:`connection-dot ${t.connection}`,"aria-hidden":"true"}),i.jsx("span",{children:ia(t.connection)}),i.jsx("button",{type:"button",className:"icon-button rail-settings","aria-label":"打开设置",onClick:b,children:i.jsx(K,{name:"settings",size:14})}),i.jsxs("span",{className:"version",children:["v",t.bootstrap?.productVersion??"0.3.3"]})]}),f?i.jsx(Bd,{side:"left",minWidth:va,maxWidth:qd,defaultWidth:ao,label:"拖动调整项目导航宽度",onPreview:z,onCommit:Q}):null]})}function fd(t){if(!["ArrowDown","ArrowUp","Home","End"].includes(t.key))return;const s=t.currentTarget.closest(".project-tree");if(!s)return;const l=Array.from(s.querySelectorAll(".project-toggle:not(:disabled), .project-session-main:not(:disabled)")).filter(p=>p.getClientRects().length>0),c=l.indexOf(t.currentTarget);if(c<0||l.length===0)return;const f=t.key==="Home"?0:t.key==="End"?l.length-1:Math.max(0,Math.min(l.length-1,c+(t.key==="ArrowDown"?1:-1)));t.preventDefault(),l[f]?.focus()}function Lm(t,s){return t.pinnedOrder!==void 0||s.pinnedOrder!==void 0?t.pinnedOrder===void 0?1:s.pinnedOrder===void 0?-1:t.pinnedOrder-s.pinnedOrder:Date.parse(s.lastActivatedAt)-Date.parse(t.lastActivatedAt)}function pd(t,s){return!!(s&&(t.label.toLocaleLowerCase().includes(s)||t.path.toLocaleLowerCase().includes(s)))}function Om(t,s){return s?t.filter(l=>[l.name,l.taskSummary,l.id,l.model].filter(c=>!!c).some(c=>c.toLocaleLowerCase().includes(s))):t}function ro(t){return t.name||t.taskSummary||`会话 ${t.id.slice(0,8)}`}function Yd(t){const s=t.replace(/[\\/]+$/,"");return s.split(/[\\/]/).filter(Boolean).at(-1)??s}function Am(t){return t.length<=31?t:`…${t.slice(-30)}`}function zm(t){const s=Date.parse(t);if(!Number.isFinite(s))return"未知";const l=Math.max(0,Math.floor((Date.now()-s)/6e4));if(l<1)return"刚刚";if(l<60)return`${l} 分钟前`;const c=Math.floor(l/60);if(c<24)return`${c} 小时前`;const f=Math.floor(c/24);return f<30?`${f} 天前`:new Date(s).toLocaleDateString("zh-CN")}function ia(t){return t==="live"?"本地 Runtime 已连接":t==="offline"?"离线":t==="replay-required"?"需要恢复":t==="closed"?"Host 已关闭":t==="connecting"?"正在连接":"正在重连"}function Fm(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 Ar="orion.web.composer-drafts.v1",Xd=20,aa=256*1024,Bm=5*1024*1024;function qm(t,s){return co().entries.find(l=>l.workspaceId===t&&l.sessionId===s)??null}function Wm(t){const s=uo();if(!s)return;const l=Object.freeze({...t,references:[...t.references],updatedAt:Date.now()});if(ca(l)>aa)throw new Error(`Composer draft exceeds ${aa} bytes.`);const c=co().entries.filter(p=>!(p.workspaceId===t.workspaceId&&p.sessionId===t.sessionId)),f=[l,...c].slice(0,Xd);for(;f.length>0&&ca({version:1,entries:f})>Bm;)f.pop();s.setItem(Ar,JSON.stringify({version:1,entries:f}))}function md(t,s){const l=uo();if(!l)return;const c=co().entries.filter(f=>!(f.workspaceId===t&&f.sessionId===s));c.length===0?l.removeItem(Ar):l.setItem(Ar,JSON.stringify({version:1,entries:c}))}function Um(t){const s=uo();if(!s)return;const l=co().entries.filter(c=>c.workspaceId!==t);l.length===0?s.removeItem(Ar):s.setItem(Ar,JSON.stringify({version:1,entries:l}))}function co(){const t=uo();if(!t)return{version:1,entries:[]};try{const s=JSON.parse(t.getItem(Ar)??"");return s.version!==1||!Array.isArray(s.entries)?{version:1,entries:[]}:{version:1,entries:s.entries.filter(Vm).slice(0,Xd)}}catch{return{version:1,entries:[]}}}function Vm(t){if(!t||typeof t!="object")return!1;const s=t;return typeof s.workspaceId=="string"&&typeof s.sessionId=="string"&&typeof s.text=="string"&&Array.isArray(s.references)&&typeof s.updatedAt=="number"&&Number.isFinite(s.updatedAt)&&ca(s)<=aa}function uo(){try{return typeof window>"u"?null:window.sessionStorage}catch{return null}}function ca(t){return new TextEncoder().encode(JSON.stringify(t)).byteLength}const Jd=/^hmac-sha256:[0-9a-f]{64}$/,Hm=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,Km=/^(?:api[-_]?key|authorization|cookie|password|secret|access[-_]?token|refresh[-_]?token|auth[-_]?token|credential[-_]?value|headers?|env(?:ironment)?[-_]?name)$/i,Qm=["ready","invalid","read-only","unavailable"],Gm=["internal","model","global","project","session"],Ym=["global","project","session"],Xm=["live","next-logical-request","new-session","restart"],Jm=["runtime_busy","read_only","invalid_document"],Zm=["system","light","dark"],eh=["system","reduced"],nh=["classic","orion-blocksmith"],Zd=["auto","none","minimal","low","medium","high","xhigh","max"],th=["ask","allow","deny"],rh=["appearance.style","appearance.theme","appearance.motion","defaults.model","defaults.effort","permissions.toolConfirmation"];function ua(t){so(t);const s=Rn(t,"Settings document");if(Pn(s,["schemaVersion","revision","state","writable","hasDocument","workspace","sections","models","credentials","currentSession","diagnostic"]),s.schemaVersion!==1&&s.schemaVersion!==2)throw new Error("Settings schemaVersion is not supported.");const l=s.schemaVersion,c=gn(s.revision,"Settings revision");if(!Jd.test(c))throw new Error("Settings revision is invalid.");const f=Wn(s.state,"Settings state",Qm),p=Rn(s.sections,"Settings sections");Pn(p,["appearance","defaults","permissions"]);const m=Rn(p.appearance,"Appearance settings");Pn(m,l===1?["theme","motion"]:["style","theme","motion"]);const v=Rn(p.defaults,"Default settings");Pn(v,["model","effort"]);const _=Rn(p.permissions,"Permission settings");Pn(_,["toolConfirmation"]);const b=da(s.models,"Settings models").map(oh),F=da(s.credentials,"Credential status").map(lh),R=s.currentSession===void 0?void 0:ah(s.currentSession),A=s.diagnostic===void 0?void 0:ch(s.diagnostic);return{schemaVersion:2,revision:c,state:f,writable:Lr(s.writable,"Settings writable"),hasDocument:Lr(s.hasDocument,"Settings document availability"),workspace:gn(s.workspace,"Settings workspace"),sections:{appearance:{style:l===1?ph(f,Lr(s.writable,"Settings writable")):Mr(m.style,"Visual style",fh),theme:Mr(m.theme,"Theme",dh),motion:Mr(m.motion,"Motion",mh)},defaults:{model:Mr(v.model,"Default model",vh),effort:Mr(v.effort,"Default effort",hh)},permissions:{toolConfirmation:Mr(_.toolConfirmation,"Tool confirmation",gh)}},models:b,credentials:F,...R?{currentSession:R}:{},...A?{diagnostic:A}:{}}}function sh(t){so(t);const s=Rn(t,"Settings mutation result");Pn(s,["requestId","revision","appliedKeys","settings"]);const l=gn(s.requestId,"Settings requestId");if(!Hm.test(l))throw new Error("Settings requestId is invalid.");const c=ua(s.settings),f=gn(s.revision,"Settings mutation revision");if(f!==c.revision)throw new Error("Settings mutation revisions do not match.");const p=da(s.appliedKeys,"Applied setting keys").map((m,v)=>Wn(m,`Applied setting key ${v+1}`,rh));if(new Set(p).size!==p.length)throw new Error("Settings mutation contains duplicate applied keys.");return{requestId:l,revision:f,appliedKeys:p,settings:c}}function ih(t){const s=Rn(t.payload,"Settings invalidation payload");Pn(s,["revision","reason","state"]);const l=gn(s.revision,"Settings invalidation revision");if(!Jd.test(l))throw new Error("Settings invalidation revision is invalid.");return{apiVersion:1,eventId:gn(t.eventId,"Settings invalidation eventId"),cursor:uh(t.cursor,"Settings invalidation cursor"),sessionId:null,threadId:null,durable:!1,timestamp:gn(t.timestamp,"Settings invalidation timestamp"),type:"settings_invalidated",payload:{revision:l,reason:Wn(s.reason,"Settings invalidation reason",["local-write","external-edit","workspace-change"]),state:Wn(s.state,"Settings invalidation state",["ready","invalid"])}}}function Mr(t,s,l){const c=Rn(t,`${s} field`);if(Pn(c,["effectiveValue","explicitValue","inheritedValue","source","scope","applies","overridden","writable","blockedReason"]),!l(c.effectiveValue))throw new Error(`${s} effective value is invalid.`);if(c.explicitValue!==void 0&&!l(c.explicitValue))throw new Error(`${s} explicit value is invalid.`);if(c.inheritedValue!==void 0&&!l(c.inheritedValue))throw new Error(`${s} inherited value is invalid.`);const f=c.explicitValue,p=c.inheritedValue;return{effectiveValue:c.effectiveValue,...f===void 0?{}:{explicitValue:f},...p===void 0?{}:{inheritedValue:p},source:Wn(c.source,`${s} source`,Gm),scope:Wn(c.scope,`${s} scope`,Ym),applies:Wn(c.applies,`${s} application timing`,Xm),overridden:Lr(c.overridden,`${s} override state`),writable:Lr(c.writable,`${s} writable state`),...c.blockedReason===void 0?{}:{blockedReason:Wn(c.blockedReason,`${s} blocked reason`,Jm)}}}function oh(t,s){const l=Rn(t,`Model ${s+1}`);return Pn(l,["id","label","provider"]),{id:gn(l.id,`Model ${s+1} id`),label:gn(l.label,`Model ${s+1} label`),...l.provider===void 0?{}:{provider:gn(l.provider,`Model ${s+1} provider`)}}}function lh(t,s){const l=Rn(t,`Credential ${s+1}`);if(Pn(l,["providerId","state","source","writable"]),l.writable!==!1)throw new Error("Browser credential status must be read-only.");return{providerId:gn(l.providerId,`Credential ${s+1} provider`),state:Wn(l.state,`Credential ${s+1} state`,["ready","missing","unavailable"]),source:Wn(l.source,`Credential ${s+1} source`,["environment","legacy","none"]),writable:!1}}function ah(t){const s=Rn(t,"Current session settings");return Pn(s,["model","effort","overridesProjectEffort"]),{model:gn(s.model,"Current session model"),effort:Wn(s.effort,"Current session effort",Zd),overridesProjectEffort:Lr(s.overridesProjectEffort,"Current session effort override state")}}function ch(t){const s=Rn(t,"Settings diagnostic");return Pn(s,["code","message"]),{code:gn(s.code,"Settings diagnostic code"),message:gn(s.message,"Settings diagnostic message")}}function so(t,s=new Set){if(!(!t||typeof t!="object")){if(s.has(t))throw new Error("Settings response contains a cycle.");s.add(t);try{if(Array.isArray(t)){for(const l of t)so(l,s);return}for(const[l,c]of Object.entries(t)){if(Km.test(l))throw new Error("Settings response contains a forbidden secret-bearing field.");so(c,s)}}finally{s.delete(t)}}}function Rn(t,s){if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${s} must be an object.`);return t}function da(t,s){if(!Array.isArray(t))throw new Error(`${s} must be an array.`);return t}function gn(t,s){if(typeof t!="string"||!t.trim())throw new Error(`${s} must be text.`);return t}function Lr(t,s){if(typeof t!="boolean")throw new Error(`${s} must be boolean.`);return t}function uh(t,s){if(!Number.isSafeInteger(t)||t<0)throw new Error(`${s} must be a non-negative safe integer.`);return t}function Wn(t,s,l){if(typeof t!="string"||!l.includes(t))throw new Error(`${s} is invalid.`);return t}function Pn(t,s){const l=new Set(s),c=Object.keys(t).find(f=>!l.has(f));if(c)throw new Error(`Settings response contains an unknown field: ${c}.`)}function dh(t){return typeof t=="string"&&Zm.includes(t)}function fh(t){return typeof t=="string"&&nh.includes(t)}function ph(t,s){const l=t==="invalid"?"invalid_document":t==="ready"&&s?void 0:"read_only";return{effectiveValue:"orion-blocksmith",inheritedValue:"orion-blocksmith",source:"internal",scope:"global",applies:"live",overridden:!1,writable:t==="ready"&&s,...l?{blockedReason:l}:{}}}function mh(t){return typeof t=="string"&&eh.includes(t)}function hh(t){return typeof t=="string"&&Zd.includes(t)}function gh(t){return typeof t=="string"&&th.includes(t)}function vh(t){return typeof t=="string"&&!!t.trim()}const Qi="/api/v1",yh="x-orion-web-nonce",fa=100,xh=50,Gn=/^[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 Ee extends Error{constructor(l,c,f,p){super(l);bn(this,"status");bn(this,"code");bn(this,"type");this.status=c,this.code=f,this.type=p,this.name="WebApiError"}}class wh{constructor(){bn(this,"nonce","")}async bootstrap(){const s=await this.query("/bootstrap");if(!at(s)||s.apiVersion!==1||typeof s.nonce!="string")throw new Ee("Web Host 返回了不兼容的启动协议。",502);return this.nonce=s.nonce,{...s,settings:ua(s.settings)}}async listWorkspaces(s,l){const c=await this.collectionPage(kn("/workspaces",s),l),f=c.items.find(p=>p.active);return{activeId:f?.id??"",activePath:f?.path??"",workspaces:c.items,nextCursor:c.nextCursor}}async listWorkspaceSessions(s,l,c){const f=await this.collectionPage(kn(`/workspaces/${encodeURIComponent(s)}/sessions`,l),c);return{sessions:f.items,nextCursor:f.nextCursor}}workspaceProjectSummary(s,l){return this.query(kn(`/workspaces/${encodeURIComponent(s)}/summary`,l))}async listSessions(s,l){const c=await this.collectionPage(kn("/sessions",s),l);return{sessions:c.items,nextCursor:c.nextCursor}}diagnostics(s){return this.query(kn("/diagnostics",s))}async settings(){return ua(await this.query("/settings"))}async sessionSnapshot(s,l,c){const f=`/sessions/${encodeURIComponent(s)}/snapshot`;return this.query(oa(kn(f,l),c??null,!0,xh))}composerState(s,l){return this.query(kn(`/sessions/${encodeURIComponent(s)}/composer-state`,l))}modelCatalog(s,l,c){return this.query(oa(kn(`/sessions/${encodeURIComponent(s)}/model-catalog`,l),c??null,!1,fa))}composerAction(s,l){return this.mutate(`/sessions/${encodeURIComponent(s)}/composer-actions`,"POST",{...l,requestId:tn()})}async skills(s,l){const c=await this.collectionPage(kn("/skills",s),l);return{skills:c.items,nextCursor:c.nextCursor}}async mcp(s,l){const c=await this.collectionPage(kn("/mcp",s),l);return{servers:c.items,nextCursor:c.nextCursor}}async toolDetails(s,l){const c=await this.collectionPage(kn("/tool-details",s),l);return{details:c.items,nextCursor:c.nextCursor}}readToolDetail(s,l,c=0,f=64*1024){const p=new URLSearchParams({offsetBytes:String(c),limitBytes:String(f)});return tr(p,l),this.query(`/tool-details/${encodeURIComponent(s)}?${p.toString()}`)}listFiles(s,l,c){const f=new URLSearchParams({pageSize:"100"});return tr(f,s),l&&f.set("parentId",l),c&&f.set("cursor",c),this.query(`/files?${f.toString()}`)}readFileContent(s,l,c){const f=new URLSearchParams({limitBytes:String(65536)});return tr(f,l),c&&f.set("cursor",c),this.query(`/files/${encodeURIComponent(s)}/content?${f.toString()}`)}gitStatus(s,l){const c=new URLSearchParams({pageSize:"200"});return tr(c,s),l&&c.set("cursor",l),this.query(`/git/status?${c.toString()}`)}gitLog(s,l){const c=new URLSearchParams({pageSize:"30"});return tr(c,s),l&&c.set("cursor",l),this.query(`/git/log?${c.toString()}`)}gitDiff(s,l,c){const f=new URLSearchParams({lineLimit:"240",byteLimit:String(262144)});return tr(f,l),c&&f.set("cursor",c),this.query(`/git/diff/${encodeURIComponent(s)}?${f.toString()}`)}review(s){return this.query(kn("/review",s))}async terminals(s,l){const c=await this.collectionPage(kn("/terminals",s),l);return{terminals:c.items,nextCursor:c.nextCursor}}createTerminal(s){return this.mutate("/terminals","POST",{...s,requestId:tn()},{"X-Orion-User-Gesture":"terminal-create-v1"})}terminalAttachTicket(s,l){return this.mutate(`/terminals/${encodeURIComponent(s)}/attach-ticket`,"POST",{...l,requestId:tn()})}closeTerminal(s,l){return this.mutate(`/terminals/${encodeURIComponent(s)}`,"DELETE",{...l,requestId:tn()})}terminalSocket(s){const l=location.protocol==="https:"?"wss:":"ws:";return new WebSocket(`${l}//${location.host}${Qi}/terminals/${encodeURIComponent(s)}/stream`,"orion-terminal-v1")}activateContext(s){return this.mutate("/context/activate","POST",{...s,requestId:tn()})}async setWorkspacePinned(s,l,c){return(await this.mutate(`/workspaces/${encodeURIComponent(s)}/pin`,"POST",{requestId:tn(),pinned:l,...c})).workspace}removeWorkspace(s,l){return this.mutate(`/workspaces/${encodeURIComponent(s)}`,"DELETE",{requestId:tn(),...l})}async activateWorkspace(s,l){const c=await this.mutate("/workspaces/activate","POST",{requestId:tn(),path:s,...l});return{requestId:c.requestId,activeId:c.page.items.find(f=>f.active)?.id??"",activePath:c.active,workspaces:c.page.items,nextCursor:c.page.nextCursor}}async createSession(s){return(await this.mutate("/sessions","POST",{requestId:tn(),...s})).session}activateSession(s,l){return this.mutate(`/sessions/${encodeURIComponent(s)}/activate`,"POST",{requestId:tn(),...l})}async renameSession(s,l,c){return(await this.mutate(`/sessions/${encodeURIComponent(s)}`,"PATCH",{requestId:tn(),name:l,...c})).session}command(s){return this.mutate("/commands","POST",{...s,requestId:tn()})}async updateSettings(s,l,c,f=tn()){const p=await this.mutate("/settings","PATCH",{operations:l,expectedRevision:s,...c,requestId:f}),m=sh(p);if(m.requestId!==f)throw new Ee("Host 返回了其他设置请求的结果。",502,"settings_response_invalid");const v=l.map(_=>_.key);if(m.appliedKeys.length!==v.length||v.some(_=>!m.appliedKeys.includes(_)))throw new Ee("Host 返回的设置字段与提交内容不一致。",502,"settings_response_invalid");return m}openSettingsDocument(){return this.mutate("/settings/open-document","POST",{requestId:tn()})}connectEvents(s){let l=Math.max(0,s.cursor??0),c=null,f,p=0,m=!1,v=!1;const _=()=>{if(!(m||v)){if(!navigator.onLine){s.onStatus("offline",p);return}s.onStatus(p===0?"connecting":"reconnecting",p),c=new EventSource(`${Qi}/events?cursor=${l}`),c.onopen=()=>{p=0,s.onStatus("live",p)},c.addEventListener("orion",R=>{if(!(m||v))try{const A=kh(R.data);if(A.type==="replay_reset"){l=A.cursor,s.onEvent(A),v=!0,c?.close(),c=null,window.clearTimeout(f);return}if(A.cursor<=l)return;l=A.cursor,s.onEvent(A)}catch(A){s.onProtocolError?.(A instanceof Error?A.message:"无法解析 Runtime 事件。")}}),c.onerror=()=>{if(c?.close(),c=null,m||v)return;p+=1,s.onStatus(navigator.onLine?"reconnecting":"offline",p);const R=Math.min(1e4,500*2**Math.min(p,5));window.clearTimeout(f),f=window.setTimeout(_,R)}}},b=()=>{m||v||c||(window.clearTimeout(f),_())},F=()=>{window.clearTimeout(f),c?.close(),c=null,!v&&s.onStatus("offline",p)};return window.addEventListener("online",b),window.addEventListener("offline",F),_(),{close(){m=!0,window.clearTimeout(f),c?.close(),c=null,window.removeEventListener("online",b),window.removeEventListener("offline",F)},cursor:()=>l}}collectionPage(s,l){return this.query(oa(s,l??null,!1,fa))}async query(s){const l=await fetch(`${Qi}${s}`,{method:"GET",headers:{Accept:"application/json"},credentials:"same-origin",cache:"no-store"});return hd(l)}async mutate(s,l,c,f={}){if(!this.nonce)throw new Ee("Web Workbench 尚未完成安全握手。",503);const p=await fetch(`${Qi}${s}`,{method:l,headers:{Accept:"application/json","Content-Type":"application/json",[yh]:this.nonce,...f},credentials:"same-origin",cache:"no-store",body:JSON.stringify(c)});return hd(p)}}async function hd(t){const l=(t.headers.get("content-type")??"").includes("json")?await t.json().catch(()=>null):null;if(!t.ok){const c=at(l)?l:{},f=typeof c.detail=="string"?c.detail:`请求失败 (${t.status})`;throw new Ee(f,t.status,typeof c.code=="string"?c.code:void 0,typeof c.type=="string"?c.type:void 0)}return l}function kh(t){const s=JSON.parse(t);if(!at(s)||s.apiVersion!==1||typeof s.eventId!="string"||!Gn.test(s.eventId)||!Number.isSafeInteger(s.cursor)||s.cursor<0||s.sessionId!==null&&typeof s.sessionId!="string"||s.threadId!==null&&typeof s.threadId!="string"||typeof s.durable!="boolean"||typeof s.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(s.type))||!at(s.payload))throw new Error("Runtime 事件不符合 Web protocol v1。");if(s.type==="runtime_event"){const l=s.payload.value;if(!at(l)||typeof s.payload.eventType!="string"||l.type!==s.payload.eventType)throw new Error("Runtime 事件判别字段不一致。")}if(s.type==="thread_event"&&(!at(s.payload.value)||typeof s.payload.eventType!="string"||!Number.isSafeInteger(s.payload.sequence)||typeof s.sessionId!="string"||typeof s.threadId!="string"))throw new Error("Thread 事件身份或序列无效。");if(s.type==="workbench_state"&&(typeof s.payload.contextRevision!="string"||!Gn.test(s.payload.contextRevision)||typeof s.payload.workspaceId!="string"||!Gn.test(s.payload.workspaceId)||typeof s.payload.workspace!="string"||s.payload.activeSessionId!==null&&typeof s.payload.activeSessionId!="string"))throw new Error("Workbench 状态事件无效。");if(s.type==="settings_invalidated"&&(s.sessionId!==null||s.threadId!==null||s.durable!==!1))throw new Error("Settings invalidation 事件身份无效。");if(s.type==="settings_invalidated")return ih(s);if(s.type==="session_runtime_changed"&&(!at(s.payload.runtime)||s.sessionId!==s.payload.runtime.sessionId||!jh(s.payload.runtime)))throw new Error("Session Runtime 状态事件无效。");if(s.type==="workspace_mutation_changed"){const l=s.payload.state;if(typeof s.sessionId!="string"||s.durable!==!1||!at(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(s.type==="workspace_resource_invalidated"&&(s.sessionId!==null||s.threadId!==null||s.durable!==!1||typeof s.payload.workspaceId!="string"||!Gn.test(s.payload.workspaceId)||!Array.isArray(s.payload.resources)||s.payload.resources.length<1||s.payload.resources.some(l=>!["files","git","review"].includes(String(l)))||!["context-change","filesystem-change","terminal-command","tool-finished"].includes(String(s.payload.reason))))throw new Error("Workspace resource invalidation 事件无效。");if(s.type==="composer_state_changed"&&(typeof s.sessionId!="string"||s.durable!==!0||!at(s.payload.state)||s.payload.state.apiVersion!==1||s.payload.state.sessionId!==s.sessionId||typeof s.payload.state.controlRevision!="string"||!Gn.test(s.payload.state.controlRevision)||typeof s.payload.state.contextRevision!="string"||!Gn.test(s.payload.state.contextRevision)))throw new Error("Composer state 事件身份无效。");if(s.type==="replay_reset"&&(typeof s.payload.reason!="string"||s.payload.snapshotRequired!==!0))throw new Error("Replay reset 事件无效。");return s}function jh(t){const s=t.phase==="queued";return typeof t.workspaceId=="string"&&Gn.test(t.workspaceId)&&typeof t.sessionId=="string"&&Gn.test(t.sessionId)&&typeof t.runtimeRevision=="string"&&Gn.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"&&(s?typeof t.queueId=="string"&&Gn.test(t.queueId)&&Number.isSafeInteger(t.queuePosition)&&t.queuePosition>=1:t.queueId===void 0&&t.queuePosition===void 0)}function oa(t,s=null,l=!1,c=fa){const f=new URLSearchParams({pageSize:String(c)});return s&&f.set("cursor",s),l&&f.set("tail","1"),`${t}${t.includes("?")?"&":"?"}${f.toString()}`}function tr(t,s){t.set("expectedContextRevision",s.expectedContextRevision),t.set("workspaceId",s.workspaceId)}function kn(t,s){const l=new URLSearchParams;return tr(l,s),`${t}${t.includes("?")?"&":"?"}${l.toString()}`}function at(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function tn(){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 s=[...t].map(l=>l.toString(16).padStart(2,"0")).join("");return`${s.slice(0,8)}-${s.slice(8,12)}-${s.slice(12,16)}-${s.slice(16,20)}-${s.slice(20)}`}function Sh({state:t,actions:s,insertion:l}){const c=t.workspaceId,f=t.activeSessionId??"",[p,m]=g.useState({workspaceId:c,sessionId:f,text:"",references:[]}),[v,_]=g.useState(null),[b,F]=g.useState(""),[R,A]=g.useState(new Set),P=g.useRef(null),V=`${c}:${f}`,H=g.useRef(V);H.current=V;const W=`${p.workspaceId}:${p.sessionId}`,J=!f||!t.bootstrap?.configured||t.connection!=="live",z=!!t.pendingAction,Q=t.sessionSnapshot?.sessionRuntime.phase==="queued",B=!J&&!z,Y=B&&!Q;g.useEffect(()=>{if(!c||!f){m({workspaceId:c,sessionId:f,text:"",references:[]});return}const ie=qm(c,f);m({workspaceId:c,sessionId:f,text:ie?.text??"",references:ie?.references??[]}),F(""),A(new Set)},[c,f]),g.useEffect(()=>{if(!(!p.workspaceId||!p.sessionId))try{p.text||p.references.length>0?Wm(p):md(p.workspaceId,p.sessionId),F("")}catch(ie){F(ie instanceof Error?ie.message:"草稿无法保存。")}},[p]),g.useEffect(()=>{!l||!f||W!==V||(m(ie=>({...ie,text:ie.text.trim()?`${ie.text.trimEnd()}
15
-
16
- ${l.text}`:l.text})),requestAnimationFrame(()=>P.current?.focus()))},[V,W,l,f]);const k=W===V?p.text:"",D=W===V?p.references:[],X=ie=>m(Ce=>({...Ce,workspaceId:c,sessionId:f,text:ie})),he=ie=>{const Ce=new Set(ie.map($s));A(Z=>new Set([...Z].filter(je=>Ce.has(je)))),m(Z=>({...Z,workspaceId:c,sessionId:f,references:ie}))},ve=async ie=>{const Ce=k.trim();if(!Ce||!Y)return;const Z=V;try{ie==="queue"?await s.queue(Ce,D):await s.submit(Ce,D),md(c,f),A(new Set),H.current===Z&&m({workspaceId:c,sessionId:f,text:"",references:[]}),P.current?.focus()}catch(je){je instanceof Ee&&["context_reference_stale","context_reference_forbidden"].includes(je.code??"")&&A(new Set(D.map($s))),F(je instanceof Error?je.message:"发送失败,草稿已保留。"),P.current?.focus()}},Me=ie=>{ie.preventDefault(),ve(t.processing?"queue":"submit")},Ie=ie=>{ie.key!=="Enter"||ie.shiftKey||ie.nativeEvent.isComposing||(ie.preventDefault(),t.processing&&(ie.metaKey||ie.ctrlKey)?ve("submit"):ve(t.processing?"queue":"submit"))};return i.jsxs("div",{className:"composer-control-center",children:[t.composer?.planReview?.status==="awaiting_review"?i.jsx(bh,{state:t,actions:s}):null,D.length>0?i.jsx(Ih,{references:D,invalidReferenceKeys:R,onChange:he}):null,i.jsxs("form",{className:"composer composer-v032",onSubmit:Me,children:[i.jsx("label",{htmlFor:"orion-composer",className:"sr-only",children:"发送给 Orion"}),i.jsx("textarea",{ref:P,id:"orion-composer",rows:3,maxLength:1e6,value:k,onChange:ie=>X(ie.target.value),onKeyDown:Ie,placeholder:z?"正在同步会话控制状态…":Q?`任务正在排队${t.sessionSnapshot?.sessionRuntime.queuePosition?`(第 ${t.sessionSnapshot.sessionRuntime.queuePosition} 位)`:""}`:J?"选择会话并配置模型后开始":t.processing?"输入后续消息;Enter 排队,⌘/Ctrl+Enter Steer":"描述任务,或输入 / 查看命令…",disabled:!Y}),i.jsxs("div",{className:"composer-toolbar composer-control-toolbar",children:[i.jsxs("div",{className:"composer-controls composer-control-row",children:[i.jsx(Eh,{state:t,actions:s,disabled:!Y,references:D,onChange:he,onInsertCommand:()=>X(k.trim()?`${k.trimEnd()}
17
- /`:"/")}),i.jsx(pa,{label:Mh(t),accessibleLabel:"工作模式",disabled:!Y,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:ie=>{ie==="auto"?_("auto"):hn(s.setMode(ie))}}),i.jsx(pa,{label:$h(t),accessibleLabel:"会话权限",disabled:!Y,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:ie=>{ie==="allow"?_("allow"):hn(s.setPermissionOverride(ie==="inherit"?null:ie))}})]}),i.jsxs("div",{className:"composer-actions composer-control-actions",children:[i.jsx(Ch,{state:t,actions:s,disabled:!Y}),i.jsx(_h,{state:t,actions:s,disabled:!Y}),t.processing?i.jsxs(i.Fragment,{children:[i.jsxs("button",{type:"button",className:"icon-text-button stop-button",onClick:()=>hn(s.interrupt()),disabled:!Y,children:[i.jsx(K,{name:"stop",size:14}),"停止"]}),i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>{ve("submit")},disabled:!k.trim()||!Y,children:"Steer"})]}):null,Q?i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>hn(s.cancelQueuedTurn()),disabled:!B,children:"取消排队"}):null,i.jsx("button",{type:"submit",className:"send-button composer-send-icon","aria-label":t.processing?"加入消息队列":"发送消息",disabled:!Y||!k.trim(),children:i.jsx(K,{name:"arrow-up",size:17})})]})]}),i.jsxs("div",{className:"composer-footline",children:[i.jsx("span",{children:"Shift+Enter 换行"}),D.length>0?i.jsxs("span",{children:[D.length," 个 Context 引用"]}):null,b?i.jsx("span",{role:"alert",children:b}):t.composer?.lastError?i.jsx("span",{role:"alert",children:t.composer.lastError.message}):i.jsx("span",{children:"此标签页草稿"}),k||D.length>0?i.jsx("button",{type:"button",className:"composer-clear-draft",onClick:()=>m({workspaceId:c,sessionId:f,text:"",references:[]}),children:"清除草稿"}):null]})]}),v?i.jsx(Rh,{kind:v,onCancel:()=>_(null),onConfirm:()=>{const ie=v;_(null),hn(ie==="auto"?s.setMode("auto"):s.setPermissionOverride("allow"))}}):null]})}function Ch({state:t,actions:s,disabled:l}){const c=t.composer?.model,f=["auto",...c?.effort.supportedLevels??[]];return i.jsxs("div",{className:"model-control-cluster",children:[i.jsx(Nh,{state:t,actions:s,disabled:l}),c?.effort.supported?i.jsx(pa,{label:t.composer?.pending.model?`${Gi(c.effort.requested)} → ${Gi(t.composer.pending.model.effort)}`:Gi(c.effort.requested),accessibleLabel:"推理强度",disabled:l,value:c.effort.requested,options:f.map(p=>({value:p,label:Gi(p),detail:p==="auto"?"采用模型或项目默认值":`请求 ${p} reasoning effort`})),onSelect:p=>hn(s.selectModel(c.modelId,p))}):null]})}function Nh({state:t,actions:s,disabled:l}){const[c,f]=g.useState(!1),[p,m]=g.useState(""),v=g.useRef(null),_=g.useRef(null),b=g.useRef(null),F=t.composer?.model,R=t.modelCatalog,A=t.composer?.pending.model?`${F?.modelId??"模型"} → ${t.composer.pending.model.modelId}`:F?.modelId??"模型",P=p.trim().toLowerCase(),V=new Set((R?.unavailableProviders??[]).map(z=>z.id)),H=(R?.items??[]).filter(z=>!V.has(z.providerId)).filter(z=>[z.id,z.label,z.providerId,z.providerLabel].some(Q=>Q.toLowerCase().includes(P))).slice(0,80),W=new Map;for(const z of H){const Q=z.providerLabel||z.providerId;W.set(Q,[...W.get(Q)??[],z])}const J=()=>{f(!1),m(""),_.current?.focus()};return fo(c,v,J),i.jsxs("div",{className:"control-menu",ref:v,children:[i.jsxs("button",{ref:_,type:"button",className:"composer-control-trigger","aria-label":"会话模型","aria-haspopup":"menu","aria-expanded":c,disabled:l,onClick:()=>{c?J():(f(!0),R||hn(s.loadModelCatalog()))},children:[i.jsx("span",{children:A}),i.jsx(K,{name:"chevron",size:12})]}),c?i.jsxs("div",{className:"control-menu-popover model-catalog-popover",role:"menu","aria-label":"会话模型",ref:b,onKeyDown:z=>ja(z,J),children:[(R?.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:z=>m(z.target.value),onKeyDown:z=>{z.key==="ArrowDown"?(z.preventDefault(),ef(b.current)):z.key==="Escape"&&(z.stopPropagation(),J())}})]}):null,R===null?i.jsx("p",{role:"status",children:"正在加载模型…"}):null,R&&H.length===0?i.jsx("p",{children:"没有匹配的可用模型"}):null,[...W.entries()].map(([z,Q])=>i.jsxs("section",{role:"group","aria-label":z,children:[i.jsx("div",{className:"model-provider-heading",children:z}),Q.map(B=>i.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":B.id===F?.modelId,onClick:()=>{J(),hn(s.selectModel(B.id))},children:[i.jsxs("span",{children:[i.jsx("strong",{children:B.label}),i.jsxs("small",{children:[Dr(B.contextWindow)," context",B.reasoning?" · reasoning":""]})]}),B.id===F?.modelId?i.jsx(K,{name:"check",size:14}):null]},B.id))]},z)),R?.unavailableProviders.map(z=>i.jsxs("section",{role:"group","aria-label":`${z.id} 不可用`,children:[i.jsxs("div",{className:"model-provider-heading state-error",children:[z.id," · 不可用"]}),i.jsx("p",{children:z.reason}),i.jsx("button",{type:"button",role:"menuitem",onClick:()=>hn(s.loadModelCatalog()),children:"Retry"})]},z.id)),(R?.items.length??0)>80&&!P?i.jsx("p",{children:"显示前 80 项;输入关键词继续筛选。"}):null]}):null]})}function _h({state:t,actions:s,disabled:l}){const[c,f]=g.useState(!1),p=g.useRef(null),m=g.useRef(null),v=t.composer?.contextUsage,_=v?Math.max(0,Math.min(100,v.percent)):null,b=v?.source==="estimated",F=!!(v&&v.percent>=v.warningThresholdPercent);return fo(c,p,()=>{f(!1),m.current?.focus()}),i.jsxs("div",{className:"context-meter-wrap",ref:p,children:[i.jsxs("button",{ref:m,type:"button",className:"context-meter-button","aria-label":v?`Context ${b?"估算 ":""}${v.usedTokens} / ${v.safeInputBudget??v.contextWindow} tokens,${v.percent}%${F?",接近压缩阈值":""}`:"Context 用量不可用","aria-haspopup":"dialog","aria-expanded":c,disabled:l,onClick:()=>f(R=>!R),children:[i.jsx("span",{className:"context-meter-ring",style:{"--context-percent":`${_??0}%`},"aria-hidden":"true"}),i.jsx("span",{children:v?`${b?"~":""}${v.percent}%${F?" !":""}`:"Context"})]}),c?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:()=>f(!1),"aria-label":"关闭 Context 详情",children:i.jsx(K,{name:"close",size:14})})]}),v?i.jsxs("dl",{children:[i.jsxs("div",{children:[i.jsx("dt",{children:"当前模型"}),i.jsx("dd",{children:v.modelId})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"已使用"}),i.jsx("dd",{children:Dr(v.usedTokens)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"安全输入预算"}),i.jsx("dd",{children:Dr(v.safeInputBudget??v.contextWindow)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"原始窗口"}),i.jsx("dd",{children:Dr(v.contextWindow)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"输出预留"}),i.jsx("dd",{children:Dr(v.reservedOutputTokens??0)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"安全余量"}),i.jsx("dd",{children:Dr(v.safetyMarginTokens??0)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"来源"}),i.jsx("dd",{children:v.source==="estimated"?"估算 ~":v.source})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"警告阈值"}),i.jsxs("dd",{children:[v.warningThresholdPercent,"%"]})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"自动压缩"}),i.jsx("dd",{children:v.autoCompactEnabled?`${v.autoCompactThresholdPercent}%`:"关闭"})]})]}):i.jsx("p",{children:"Runtime 尚未提供当前模型的 Context 计数。"}),t.composer?.compactAvailable?i.jsx("button",{type:"button",className:"secondary-button",disabled:!v||t.processing,onClick:()=>hn(s.compactContext()),children:"立即压缩"}):null]}):null]})}function Eh({state:t,actions:s,disabled:l,references:c,onChange:f,onInsertCommand:p}){const[m,v]=g.useState(!1),[_,b]=g.useState("root"),[F,R]=g.useState([]),[A,P]=g.useState(!1),[V,H]=g.useState(""),W=g.useRef(null),J=g.useRef(null);fo(m,W,()=>v(!1));const z=k=>{c.some(D=>D.kind===k.kind&&D.id===k.id)||f([...c,k]),v(!1),b("root")},Q=async()=>{b("files"),P(!0),H("");try{const k=await s.listFiles();R(k.items.filter(D=>D.readable&&!D.sensitive))}catch(k){H(k instanceof Error?k.message:"文件列表加载失败。")}finally{P(!1)}},B=async k=>{P(!0),H("");try{if(vd(k)){const D=await s.listFiles(k.id);z({kind:"folder",id:k.id,label:k.name,revision:D.revision})}else if(Dh(k)){const D=await s.readFileContent(k.id);if(D.binary||D.sensitive)throw new Error("该文件不能加入模型 Context。");z({kind:"file",id:k.id,label:k.name,revision:D.revision})}}catch(D){H(D instanceof Error?D.message:"Context 引用加载失败。")}finally{P(!1)}},Y=async()=>{P(!0);try{const k=await s.review();z({kind:"review",id:"working-tree",label:k.truncated?`Review · ${k.totalChangedFiles} files · ${k.changedFiles.length} visible`:`Review · ${k.totalChangedFiles} files`,gitRevision:k.repositoryRevision})}catch(k){H(k instanceof Error?k.message:"Review Context 加载失败。")}finally{P(!1)}};return i.jsxs("div",{className:"control-menu context-launcher",ref:W,children:[i.jsx("button",{type:"button",className:"context-add-button","aria-label":"添加 Context","aria-haspopup":"menu","aria-expanded":m,disabled:l,onClick:()=>{const k=!m;v(k),k&&requestAnimationFrame(()=>ef(J.current))},children:i.jsx(K,{name:"add",size:17})}),m?i.jsxs("div",{className:"control-menu-popover context-launcher-menu",role:"menu","aria-label":"添加 Context",ref:J,onKeyDown:k=>ja(k,()=>v(!1)),children:[_!=="root"?i.jsx("button",{type:"button",role:"menuitem",onClick:()=>b("root"),children:"← 返回"}):null,_==="root"?i.jsxs(i.Fragment,{children:[i.jsx(lt,{label:"文件或目录",detail:"Workspace 内受控读取",onClick:()=>{Q()}}),i.jsx(lt,{label:"当前 Review",detail:"绑定 exact Git revision",onClick:()=>{Y()}}),i.jsx(lt,{label:"历史 Session",detail:"引用受控摘要",onClick:()=>b("sessions")}),i.jsx(lt,{label:"Skill",detail:"绑定已加载能力 digest",onClick:()=>b("skills")}),i.jsx(lt,{label:"命令",detail:"插入 / 命令入口",onClick:()=>{p(),v(!1)}}),c.length>0?i.jsx(lt,{label:"清除 Context",detail:"移除当前草稿全部引用",onClick:()=>{f([]),v(!1)}}):null]}):null,_==="files"?F.map(k=>i.jsx(lt,{label:k.name,detail:vd(k)?"目录":`${k.sizeBytes??0} bytes`,onClick:()=>{B(k)}},k.id)):null,_==="sessions"?t.sessions.filter(k=>k.id!==t.activeSessionId).map(k=>i.jsx(lt,{label:k.name||`Session ${k.id.slice(0,8)}`,detail:`${k.messageCount} 条消息`,onClick:()=>z({kind:"session",id:k.id,label:k.name||`Session ${k.id.slice(0,8)}`,digest:k.contextDigest})},k.id)):null,_==="skills"?t.skills.filter(k=>k.userInvocable).map(k=>i.jsx(lt,{label:k.name,detail:k.description,onClick:()=>z({kind:"skill",id:k.id,label:k.name,digest:k.digest})},k.id)):null,A?i.jsx("p",{role:"status",children:"正在加载…"}):null,V?i.jsx("p",{role:"alert",children:V}):null]}):null]})}function Ih({references:t,invalidReferenceKeys:s,onChange:l}){return i.jsx("div",{className:"context-tray","aria-label":"当前 Context 引用",children:t.map(c=>i.jsxs("span",{className:`context-chip${s.has($s(c))?" state-stale":""}`,children:[i.jsx("small",{children:Lh(c.kind)}),i.jsx("span",{children:c.label}),s.has($s(c))?i.jsx("span",{className:"context-chip-state",children:"已失效,请移除后重新添加"}):null,i.jsx("button",{type:"button","aria-label":`移除 Context ${c.label}`,onClick:()=>l(t.filter(f=>f!==c)),children:i.jsx(K,{name:"close",size:12})})]},$s(c)))})}function bh({state:t,actions:s}){const l=t.composer.planReview,[c,f]=g.useState(!1),[p,m]=g.useState(""),v=!!t.pendingAction||t.connection!=="live";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)]})]}),c?i.jsxs("label",{children:["继续规划反馈",i.jsx("textarea",{rows:2,value:p,onChange:_=>m(_.target.value)})]}):null,i.jsxs("div",{className:"plan-review-actions",children:[i.jsx("button",{type:"button",className:"danger-ghost-button",disabled:v,onClick:()=>hn(s.reviewPlan(l.planDigest,"cancel")),children:"取消计划"}),c?i.jsx("button",{type:"button",className:"secondary-button",disabled:v||!p.trim(),onClick:()=>hn(s.reviewPlan(l.planDigest,"continue",p.trim())),children:"提交反馈"}):i.jsx("button",{type:"button",className:"secondary-button",disabled:v,onClick:()=>f(!0),children:"继续规划"}),i.jsx("button",{type:"button",className:"primary-button",disabled:v,onClick:()=>hn(s.reviewPlan(l.planDigest,"approve")),children:"批准并进入 BUILD"})]})]})}function pa({label:t,accessibleLabel:s,value:l,options:c,disabled:f,emptyLabel:p,onOpen:m,onSelect:v}){const[_,b]=g.useState(!1),F=g.useRef(null),R=g.useRef(null),A=g.useRef(null),P=g.useId(),V=()=>{b(!1),R.current?.focus()},H=()=>{b(!0),m?.(),requestAnimationFrame(()=>Ph(A.current))};return fo(_,F,V),i.jsxs("div",{className:"control-menu",ref:F,children:[i.jsxs("button",{ref:R,type:"button",className:"composer-control-trigger","aria-label":s,"aria-haspopup":"menu","aria-expanded":_,"aria-controls":_?P:void 0,disabled:f,onClick:()=>{_?V():H()},onKeyDown:W=>{W.key==="ArrowDown"&&(W.preventDefault(),H())},children:[i.jsx("span",{children:t}),i.jsx(K,{name:"chevron",size:12})]}),_?i.jsx("div",{id:P,ref:A,className:"control-menu-popover",role:"menu","aria-label":s,onKeyDown:W=>ja(W,V),children:c.length===0?i.jsx("p",{children:p??"没有选项"}):c.map(W=>i.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":W.value===l,onClick:()=>{V(),v(W.value)},children:[i.jsxs("span",{children:[i.jsx("strong",{children:W.label}),i.jsx("small",{children:W.detail})]}),W.value===l?i.jsx(K,{name:"check",size:14}):null]},W.value))}):null]})}function lt({label:t,detail:s,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:s})]})})}function Rh({kind:t,onCancel:s,onConfirm:l}){const[c,f]=g.useState(!1),p=g.useRef(null),m=g.useRef(null);return g.useEffect(()=>{const v=document.querySelector(t==="auto"?'[aria-label="工作模式"]':'[aria-label="会话权限"]');return m.current?.focus(),()=>v?.focus()},[t]),i.jsx("div",{className:"modal-backdrop",onPointerDown:v=>{v.target===v.currentTarget&&s()},children:i.jsxs("section",{ref:p,className:"risk-confirmation",role:"alertdialog","aria-modal":"true","aria-labelledby":"risk-title","aria-describedby":"risk-description",onKeyDown:v=>Th(v,p.current,s),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:c,onChange:v=>f(v.target.checked)}),"我理解这会扩大本会话的默认执行范围"]}),i.jsxs("div",{children:[i.jsx("button",{ref:m,type:"button",className:"secondary-button",onClick:s,children:"取消"}),i.jsx("button",{type:"button",className:"primary-button",disabled:!c,onClick:l,children:"确认启用"})]})]})})}function ka(t){return t?[...t.querySelectorAll('[role="menuitem"], [role="menuitemradio"]')].filter(s=>!s.disabled):[]}function ef(t){ka(t)[0]?.focus()}function Ph(t){const s=ka(t);(s.find(l=>l.getAttribute("aria-checked")==="true")??s[0])?.focus()}function ja(t,s){if(t.key==="Escape"){t.preventDefault(),s();return}if(!["ArrowDown","ArrowUp","Home","End"].includes(t.key))return;t.preventDefault();const l=ka(t.currentTarget);if(l.length===0)return;const c=l.indexOf(document.activeElement),f=t.key==="Home"?0:t.key==="End"?l.length-1:t.key==="ArrowDown"?(Math.max(0,c)+1)%l.length:(c<=0?l.length:c)-1;l[f]?.focus()}function Th(t,s,l){if(t.key==="Escape"){t.preventDefault(),l();return}if(t.key!=="Tab"||!s)return;const c=[...s.querySelectorAll('button:not(:disabled), input:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])')];if(c.length===0)return;const f=c[0],p=c.at(-1);t.shiftKey&&document.activeElement===f?(t.preventDefault(),p.focus()):!t.shiftKey&&document.activeElement===p&&(t.preventDefault(),f.focus())}function fo(t,s,l){g.useEffect(()=>{if(!t)return;const c=p=>{s.current?.contains(p.target)||l()},f=p=>{p.key==="Escape"&&l()};return document.addEventListener("pointerdown",c),document.addEventListener("keydown",f),()=>{document.removeEventListener("pointerdown",c),document.removeEventListener("keydown",f)}},[l,t,s])}function gd(t){return t==="plan"?"PLAN":t==="auto"?"AUTO":"BUILD"}function Mh(t){const s=t.composer?.mode??t.mode,l=gd(s.baseMode);return s.pendingBaseMode?`${l} → ${gd(s.pendingBaseMode)}`:l}function $h(t){const s=t.composer?.permission,l=s?.source==="session"?"Session":"Project",c=`${s?.effective.toUpperCase()??"ASK"} · ${l}`;if((t.composer?.mode.baseMode??t.mode.baseMode)==="auto"&&s?.effective!=="deny")return"AUTO · hard policy";const f=t.composer?.pending.permission;return f?`${c} → ${(f.override??s?.projectDefault??"ask").toUpperCase()} · Session`:c}function Gi(t){return t==="auto"?"Effort 自动":`Effort ${t}`}function vd(t){return t.kind==="directory"||t.kind==="symlink"&&t.targetKind==="directory"}function Dh(t){return t.kind==="file"||t.kind==="symlink"&&t.targetKind==="file"}function Lh(t){return t==="file"?"FILE":t==="folder"?"FOLDER":t==="review"?"REVIEW":t==="session"?"SESSION":"SKILL"}function $s(t){return`${t.kind}:${t.id}`}function hn(t){t.catch(()=>{})}function Dr(t){return t>=1e3?`${Math.round(t/1e3)}k`:String(t)}const yd=320,Oh=300;function Ah({state:t,actions:s,navigationOpen:l,inspectorExpanded:c,onOpenNavigation:f,onToggleInspector:p,onRevealSettings:m,onCreateSession:v,composerInsertion:_}){const b=t.sessions.find(X=>X.id===t.activeSessionId),F=g.useMemo(()=>zh(t),[t.edits,t.research,t.subtasks,t.tools,t.transcript]),[R,A]=g.useState(yd),P=F.slice(-R),V=g.useRef(null),H=g.useRef(null),W=g.useRef(!0),J=g.useRef(null),[z,Q]=g.useState(!0);g.useEffect(()=>{A(yd),W.current=!0,Q(!0)},[t.activeSessionId]),g.useLayoutEffect(()=>{const X=V.current;if(X){if(J.current){const he=J.current;X.scrollTop=he.top+(X.scrollHeight-he.height),J.current=null;return}W.current&&(X.scrollTop=X.scrollHeight)}},[P.length,t.processing]),g.useLayoutEffect(()=>{const X=V.current,he=H.current;if(!X||!he||typeof ResizeObserver>"u")return;const ve=new ResizeObserver(()=>{W.current&&(X.scrollTop=X.scrollHeight)});return ve.observe(he),()=>ve.disconnect()},[t.activeSessionId]);const B=()=>{const X=V.current;if(!X)return;const he=X.scrollHeight-X.scrollTop-X.clientHeight<72;W.current=he,Q(he)},Y=!!t.sessionSnapshot?.transcript.nextCursor,k=async()=>{const X=V.current;if(X&&(J.current={height:X.scrollHeight,top:X.scrollTop}),F.length>P.length){A(he=>he+Oh);return}if(Y)try{await s.loadOlderTranscript(),A(he=>he+100)}catch{J.current=null}},D=()=>{const X=V.current;X&&(W.current=!0,Q(!0),X.scrollTo({top:X.scrollHeight,behavior:"smooth"}))};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:f,"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:b?ro(b):"Orion Code"}),t.processing?i.jsx("span",{className:"running-pulse",children:"运行中"}):null]}),i.jsxs("p",{title:t.workspace,children:[b?.model??t.settings?.sections.defaults.model.effectiveValue??"本地工作台"," ","· ",Zh(t.workspace)]})]}),i.jsx("div",{className:"header-actions",children:i.jsx("button",{type:"button",className:"icon-button inspector-toggle",onClick:p,"aria-label":c?"关闭工作面板":"打开工作面板","aria-controls":"work-panel","aria-expanded":c,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:m,children:"转到设置"})]}),i.jsx("div",{className:"transcript-viewport",ref:V,role:"region","aria-label":"会话记录",tabIndex:0,onScroll:B,"aria-busy":t.processing,children:i.jsxs("div",{className:"transcript-content",ref:H,children:[F.length>P.length||Y?i.jsx("button",{type:"button",className:"load-history",onClick:()=>{k()},disabled:!!t.pendingAction,children:F.length>P.length?`加载更早内容 · 还剩 ${F.length-P.length} 项`:"从持久记录加载更早内容"}):null,t.activeSessionId?P.length===0?i.jsx(xd,{icon:"spark",title:"准备好开始了",detail:"描述要构建、修复或调查的任务。Orion 会实时展示工具、文件变化与验证结果。"}):i.jsx("ol",{className:"timeline","aria-label":"会话记录",children:P.map(X=>i.jsx("li",{"data-event-id":X.order,children:Bh(X,t)},Fh(X)))}):i.jsx(xd,{icon:"workspace",title:"选择或创建一个会话",detail:"Orion 会在当前工作区运行,并沿用 CLI/TUI 的权限与持久化状态。",action:"创建会话",onAction:v}),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]})}),!z&&P.length>0?i.jsxs("button",{type:"button",className:"jump-latest",onClick:D,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(Qh,{state:t,actions:s}):null,t.queue.items.length>0?i.jsx(Gh,{state:t,actions:s}):null]}):null,i.jsx(Sh,{state:t,actions:s,insertion:_})]})]})}function zh(t){const s=new Set(t.tools.map(c=>c.callId));return[...t.transcript.filter(c=>!c.toolActivity?.callId||!s.has(c.toolActivity.callId)).map(c=>({kind:"transcript",order:c.order,value:c})),...t.tools.map(c=>({kind:"tool",order:c.order,value:c})),...t.edits.map(c=>({kind:"edit",order:c.order,value:c})),...t.subtasks.map(c=>({kind:"subtask",order:c.order,value:c})),...t.research.map(c=>({kind:"research",order:c.order,value:c}))].sort((c,f)=>c.order-f.order)}function Fh(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 Bh(t,s){if(t.kind==="transcript")return i.jsx(qh,{entry:t.value});if(t.kind==="tool"){const l=s.transcript.find(c=>c.toolActivity?.callId===t.value.callId)?.toolActivity;return i.jsx(Wh,{tool:t.value,activity:l})}return t.kind==="edit"?i.jsx(Vh,{edit:t.value}):t.kind==="subtask"?i.jsx(Hh,{subtask:t.value}):i.jsx(Kh,{research:t.value})}function qh({entry:t}){if(t.toolActivity)return i.jsx(Uh,{entry:t});if(Xh(t))return i.jsxs("details",{className:"reasoning-card",children:[i.jsxs("summary",{children:[i.jsx("span",{className:`state-dot ${t.live?"running":"ready"}`,"aria-hidden":"true"}),i.jsx("span",{children:t.live?"正在分析":t.title||"推理摘要"}),i.jsx("span",{className:"reasoning-hint",children:"展开查看 Runtime 提供的摘要"})]}),i.jsx(Ds,{children:t.content})]});const s=t.role;return i.jsxs("article",{className:`message-card role-${s}`,"aria-label":wd(s),children:[i.jsxs("header",{children:[i.jsx("span",{className:"message-avatar","aria-hidden":"true",children:Jh(s)}),i.jsx("span",{children:t.title||wd(s)}),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:s==="user"?i.jsx("p",{className:"literal-message",children:t.content}):i.jsx(Ds,{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 Wh({tool:t,activity:s}){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"?"跳过":"失败",c=s?.outputView?.preview||s?.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?` · ${nf(t.duration)}`:""]})]}),t.outputBytes!==void 0?i.jsx("span",{className:"byte-pill",children:kd(t.outputBytes)}):null]}),t.summary||t.error?i.jsx("p",{className:t.error?"tool-error-copy":"tool-summary",children:Lt(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:ga(t.args)})]}),c?i.jsxs("div",{className:"tool-detail-section",children:[i.jsx("span",{className:"micro-label",children:"输出预览"}),i.jsx("pre",{tabIndex:0,children:Lt(c)}),s?.outputView?.omittedBytes?i.jsxs("p",{className:"truncation-note",children:["另有 ",kd(s.outputView.omittedBytes)," 已折叠,可在 Inspector 中查看产物。"]}):null]}):null]})]})}function Uh({entry:t}){const s=t.toolActivity;return i.jsxs("article",{className:`tool-card tool-${s.state}`,children:[i.jsxs("div",{className:"tool-card-header",children:[i.jsx("span",{className:`tool-state-icon ${s.state}`,"aria-hidden":"true",children:i.jsx(K,{name:"terminal",size:15})}),i.jsxs("div",{className:"tool-title",children:[i.jsx("strong",{children:s.name}),i.jsx("span",{children:s.detail})]})]}),s.summary?i.jsx("p",{className:"tool-summary",children:s.summary}):null,s.outputView?.preview||s.body?i.jsx("pre",{tabIndex:0,children:Lt(s.outputView?.preview||s.body||"")}):null]})}function Vh({edit:t}){const s=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:[s.kind," · ",s.candidates.length," 个候选"]})]})]}),i.jsx("code",{className:"path-chip",title:s.path,children:s.path}),i.jsxs("details",{children:[i.jsx("summary",{children:"查看替换内容"}),i.jsx("pre",{tabIndex:0,children:Lt(s.newString)})]})]})}function Hh({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:nf(t.durationMs)}):null]}),i.jsx("p",{children:t.objective}),t.summary?i.jsx(Ds,{children:t.summary}):null]})}function Kh({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(Ds,{children:t.conclusion}):null,t.sources.length>0?i.jsx("ul",{className:"source-list",children:t.sources.map(s=>i.jsxs("li",{children:[i.jsx("span",{className:`state-dot state-${s.status}`,"aria-hidden":"true"}),i.jsx("span",{children:s.title||s.location||s.id}),i.jsxs("small",{children:[s.provider," · ",s.status]})]},s.id))}):null]})}function Qh({state:t,actions:s}){const l=t.permission,c=g.useRef(null),f=g.useRef("");g.useEffect(()=>{f.current!==l.id&&(f.current=l.id,c.current?.focus())},[l.id]);const p=!!t.pendingAction||t.connection!=="live";return i.jsxs("section",{ref:c,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:ga(l.args,6e3)})]}),i.jsxs("div",{className:"approval-actions",children:[i.jsx("button",{type:"button",className:"danger-ghost-button",onClick:()=>ut(s.answerPermission(!1)),disabled:p,children:"拒绝"}),i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>ut(s.answerPermission(!0,"once")),disabled:p,children:"仅本次"}),i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>ut(s.answerPermission(!0,"project")),disabled:p,children:"允许此项目"}),i.jsx("button",{type:"button",className:"primary-button",onClick:()=>ut(s.answerPermission(!0,"global")),disabled:p,children:"始终允许"})]}),i.jsx("p",{className:"approval-footnote",children:"项目与全局授权会写入 Orion 配置;拒绝不会丢失当前会话。"})]})}function Gh({state:t,actions:s}){const l=!!t.pendingAction||t.connection!=="live";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((c,f)=>i.jsx(Yh,{item:c,index:f,count:t.queue.items.length,disabled:l,actions:s},c.id)),i.jsx("button",{type:"button",className:"text-button queue-clear",onClick:()=>ut(s.clearQueue()),disabled:l,children:"清空队列"})]})]})}function Yh({item:t,index:s,count:l,disabled:c,actions:f}){const[p,m]=g.useState(!1),[v,_]=g.useState(t.text);g.useEffect(()=>_(t.text),[t.text]);const b=async()=>{const F=v.trim();F&&(await f.editQueued(t.id,t.revision,F),m(!1))};return i.jsxs("div",{className:"queue-row",children:[i.jsx("span",{className:"queue-index",children:s+1}),p?i.jsx("textarea",{rows:2,value:v,"aria-label":`编辑排队消息 ${s+1}`,onChange:F=>_(F.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":`上移排队消息 ${s+1}`,onClick:()=>ut(f.moveQueued(t.id,t.revision,s-1)),disabled:c||s===0,children:i.jsx(K,{name:"arrow-up",size:13})}),i.jsx("button",{type:"button",className:"icon-button queue-move-down","aria-label":`下移排队消息 ${s+1}`,onClick:()=>ut(f.moveQueued(t.id,t.revision,s+1)),disabled:c||s===l-1,children:i.jsx(K,{name:"arrow-up",size:13})}),p?i.jsx("button",{type:"button",className:"text-button",onClick:()=>ut(b()),disabled:c||!v.trim(),children:"保存"}):i.jsx("button",{type:"button",className:"text-button",onClick:()=>m(!0),disabled:c,children:"编辑"}),i.jsx("button",{type:"button",className:"icon-button","aria-label":`移除排队消息 ${s+1}`,onClick:()=>ut(f.removeQueued(t.id,t.revision)),disabled:c,children:i.jsx(K,{name:"trash",size:14})})]})]})}function xd({icon:t,title:s,detail:l,action:c,onAction:f}){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:s}),i.jsx("p",{children:l}),c&&f?i.jsx("button",{type:"button",className:"primary-button",onClick:f,children:c}):null]})}function Xh(t){const s=`${t.title??""}`.toLocaleLowerCase();return s.includes("reason")||s.includes("think")||s.includes("analysis")||s.includes("推理")||s.includes("思考")}function wd(t){return t==="user"?"你":t==="assistant"?"Orion":t==="command"?"命令":t==="error"?"错误":t==="system"?"系统":t==="status"?"状态":"工具"}function Jh(t){return t==="user"?"Y":t==="assistant"?"O":t==="error"?"!":t==="command"?"›":"·"}function ut(t){t.catch(()=>{})}function nf(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 kd(t){return t<1024?`${t} B`:t<1048576?`${(t/1024).toFixed(1)} KB`:`${(t/1048576).toFixed(1)} MB`}function Zh(t){const s=t.replace(/[\\/]+$/,"");return s.split(/[\\/]/).filter(Boolean).at(-1)??s}function tf({open:t,onClose:s,labelledBy:l,describedBy:c,className:f="",children:p}){const m=g.useRef(null);g.useEffect(()=>{const _=m.current;_&&(t&&!_.open&&_.showModal(),!t&&_.open&&_.close())},[t]);const v=_=>{_.target===_.currentTarget&&s()};return i.jsx("dialog",{ref:m,className:`modal ${f}`.trim(),"aria-labelledby":l,"aria-describedby":c,onCancel:_=>{_.preventDefault(),s()},onClose:s,onClick:v,children:p})}function eg({open:t,onClose:s,state:l,onSelect:c,onLoadMore:f}){const[p,m]=g.useState(""),[v,_]=g.useState("");g.useEffect(()=>{t&&(m(""),_(""))},[t]);const b=async R=>{if(!(!R.trim()||R===l.workspace)){_("");try{await c(R.trim()),s()}catch(A){_(A instanceof Error?A.message:"工作区切换失败。")}}},F=R=>{R.preventDefault(),b(p)};return i.jsxs(tf,{open:t,onClose:s,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:s,"aria-label":"关闭工作区选择",children:i.jsx(K,{name:"close"})})]}),i.jsxs("div",{className:"workspace-options",role:"group","aria-label":"已知工作区",children:[l.workspaces.map(R=>i.jsxs("button",{type:"button",className:`workspace-option ${R.active?"active":""}`,disabled:R.active||!R.available||!!l.pendingAction,onClick:()=>{b(R.path)},children:[i.jsx("span",{className:"workspace-icon",children:i.jsx(K,{name:"workspace",size:17})}),i.jsxs("span",{children:[i.jsx("strong",{children:R.label||Yd(R.path)}),i.jsx("small",{title:R.path,children:R.path})]}),R.active?i.jsx("span",{className:"current-pill",children:"当前"}):R.available?i.jsx(K,{name:"chevron",size:15}):i.jsx("span",{className:"current-pill",children:"不可用"})]},R.id)),l.workspaceNextCursor?i.jsx("button",{type:"button",className:"text-button",onClick:()=>{f()},disabled:!!l.pendingAction,children:"加载更多工作区"}):null]}),i.jsxs("form",{className:"workspace-path-form",onSubmit:F,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:R=>m(R.target.value),placeholder:"/Users/name/project",spellCheck:!1,autoComplete:"off"}),i.jsx("button",{type:"submit",className:"primary-button",disabled:!p.trim()||!!l.pendingAction,children:"打开"})]}),v?i.jsx("p",{className:"field-error",role:"alert",children:v}):null]})]})}function ng({open:t,onClose:s,session:l,pending:c,onRename:f}){const[p,m]=g.useState(""),v=l?.id;g.useEffect(()=>{t&&l&&m(ro(l))},[t,v]);const _=async b=>{if(b.preventDefault(),!(!l||!p.trim()))try{await f(l.id,p.trim()),s()}catch{}};return i.jsx(tf,{open:t,onClose:s,labelledBy:"rename-title",className:"rename-modal",children:i.jsxs("form",{onSubmit:_,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:s,"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:b=>m(b.target.value),maxLength:120,autoFocus:!0})]}),i.jsxs("footer",{className:"modal-footer",children:[i.jsx("button",{type:"button",className:"secondary-button",onClick:s,children:"取消"}),i.jsx("button",{type:"submit",className:"primary-button",disabled:c||!p.trim(),children:c?"保存中…":"保存"})]})]})})}const tg=["appearance.style","appearance.theme","appearance.motion","defaults.model","defaults.effort","permissions.toolConfirmation"];function io(t,s){return s==="appearance.style"?t.sections.appearance.style:s==="appearance.theme"?t.sections.appearance.theme:s==="appearance.motion"?t.sections.appearance.motion:s==="defaults.model"?t.sections.defaults.model:s==="defaults.effort"?t.sections.defaults.effort:t.sections.permissions.toolConfirmation}function rg(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 rr(t){return{openedAtRevision:t.revision,workspace:t.workspace,base:t,values:lg(t),intents:{},serverLatest:null}}function rf(t,s,l){const c=ct(t.base,s),f={...t.values,[s]:l},p={...t.intents};return Object.is(l,c)?delete p[s]:p[s]={op:"set",value:l},{...t,values:f,intents:p,serverLatest:null}}function sf(t,s){const l=io(t.base,s),c={...t.intents};return l.explicitValue===void 0?(delete c[s],{...t,values:{...t.values,[s]:ct(t.base,s)},intents:c,serverLatest:null}):(c[s]={op:"unset"},{...t,values:{...t.values,[s]:l.inheritedValue??l.effectiveValue},intents:c,serverLatest:null})}function jd(t,s){return{...t,serverLatest:s}}function sg(t){const s=t.serverLatest;if(!s)return t;let l=rr(s);for(const c of ir(t)){const f=t.intents[c];if(f){if(f.op==="unset"){l=sf(l,c);continue}l=rf(l,c,f.value)}}return l}function ir(t){return tg.filter(s=>t.intents[s]!==void 0)}function ig(t){return ir(t).map(s=>{const l=t.intents[s];return l.op==="unset"?{op:"unset",key:s}:{op:"set",key:s,value:l.value}})}function og(t){return t.serverLatest?ir(t).filter(s=>{const l=io(t.base,s),c=io(t.serverLatest,s);return!Object.is(l.effectiveValue,c.effectiveValue)||!Object.is(l.explicitValue,c.explicitValue)||l.overridden!==c.overridden||l.source!==c.source}):[]}function ct(t,s){const l=io(t,s);return l.explicitValue??l.effectiveValue}function lg(t){const s=rg(t);return{"appearance.style":ct(t,"appearance.style")??s["appearance.style"],"appearance.theme":ct(t,"appearance.theme")??s["appearance.theme"],"appearance.motion":ct(t,"appearance.motion")??s["appearance.motion"],"defaults.model":ct(t,"defaults.model")??s["defaults.model"],"defaults.effort":ct(t,"defaults.effort")??s["defaults.effort"],"permissions.toolConfirmation":ct(t,"permissions.toolConfirmation")??s["permissions.toolConfirmation"]}}const oo={phase:"closed",section:"general",draft:null,message:null,problemCode:null,confirmDiscard:!1};function ag(t,s){switch(s.type){case"open":return{...oo,phase:"ready",draft:rr(s.document)};case"close":return oo;case"select_section":return{...t,section:s.section,confirmDiscard:!1};case"set_value":return!t.draft||t.phase==="saving"?t:{...t,phase:"ready",draft:rf(t.draft,s.key,s.value),message:null,problemCode:null,confirmDiscard:!1};case"reset_value":return!t.draft||t.phase==="saving"?t:{...t,phase:"ready",draft:sf(t.draft,s.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:rr(s.document),message:"设置已安全保存并应用。",problemCode:null,confirmDiscard:!1};case"save_failed":{if(!t.draft)return t;const l=s.code==="settings_revision_conflict";return{...t,phase:l?"conflict":"rejected",draft:s.latest?jd(t.draft,s.latest):t.draft,message:s.message,problemCode:s.code,confirmDiscard:!1}}case"server_updated":{if(!t.draft)return{...t,phase:"ready",draft:rr(s.document)};if(t.phase==="saving")return t;if(t.draft.base.revision===s.document.revision){const l=ir(t.draft).length>0;return{...t,draft:l?{...t.draft,base:s.document}:rr(s.document)}}return t.draft.workspace!==s.document.workspace||ir(t.draft).length===0?{...t,phase:"ready",draft:rr(s.document),message:"已采用 Host 的最新设置。",problemCode:null,confirmDiscard:!1}:{...t,phase:"conflict",draft:jd(t.draft,s.document),message:"Host 设置已更新。你的草稿仍被保留,请选择如何继续。",problemCode:"settings_revision_conflict",confirmDiscard:!1}}case"adopt_server":return t.draft?.serverLatest?{...t,phase:"ready",draft:rr(t.draft.serverLatest),message:"已采用服务器最新值。",problemCode:null}:t;case"rebase":return t.draft?.serverLatest?{...t,phase:"ready",draft:sg(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 cg=["auto","none","minimal","low","medium","high","xhigh","max"],ug=[{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 dg({open:t,onClose:s,state:l,actions:c,onGoToSessionControls:f}){const p=g.useRef(null),m=g.useRef(null),v=g.useRef(null),_=g.useRef(null),b=g.useRef(null),F=g.useRef(!1),R=g.useRef(null),A=g.useRef(oo.phase),[P,V]=g.useReducer(ag,oo),[H,W]=g.useState(!1),[J,z]=g.useState(!1),[Q,B]=g.useState(null),Y=l.settings??l.settingsMirror.lastGood,k=Y&&(!l.workspace||Y.workspace===l.workspace)?Y:null;g.useEffect(()=>{const Z=p.current;Z&&(t&&!Z.open&&Z.showModal(),!t&&Z.open&&Z.close())},[t]),g.useEffect(()=>{if(t&&!F.current)k&&(V({type:"open",document:k}),b.current=k),W(!1),z(!1),B(null);else if(t&&k&&b.current===null)V({type:"open",document:k}),b.current=k;else if(t&&k&&b.current!==null&&b.current!==k){if(P.phase==="saving")return;b.current=k,V({type:"server_updated",document:k})}else!t&&F.current&&(V({type:"close"}),b.current=null,R.current=null);F.current=t},[k,P.phase,t]),g.useEffect(()=>{P.confirmDiscard&&v.current?.focus()},[P.confirmDiscard]),g.useEffect(()=>{const Z=A.current;if(A.current=P.phase,!t||Z!=="saving"||P.phase!=="success")return;const je=_d();p.current?.contains(je)||m.current?.focus()},[P.phase,t]),g.useEffect(()=>{!t||k||l.settingsMirror.status==="loading"||c.refreshSettings().catch(()=>{})},[c,k,t,l.settingsMirror.status]),g.useEffect(()=>{!t||!P.draft||!l.workspace||P.draft.workspace!==l.workspace&&(V({type:"close"}),b.current=null)},[P.draft,t,l.workspace]);const D=P.draft,X=D?ir(D):[],he=X.length>0,ve=l.processing&&X.some(Z=>["defaults.effort","permissions.toolConfirmation"].includes(Z)),Me=()=>{if(P.phase!=="saving"){if(he){const Z=_d();_.current=Z instanceof HTMLElement?Z:null,V({type:"request_discard"});return}V({type:"close"}),s()}},Ie=()=>{V({type:"close"}),s()},ie=async Z=>{if(Z.preventDefault(),!D||!he||P.phase==="saving"||P.phase==="conflict")return;const je=ig(D),we=R.current??tn();R.current=we,V({type:"save_started"});try{const j=await c.updateSettings(D.base.revision,je,we);R.current=null,b.current=j.settings,V({type:"save_succeeded",document:j.settings})}catch(j){const G=j instanceof Ee?j.code??"settings_rejected":"network";let q;G==="settings_revision_conflict"?(R.current=null,q=await c.refreshSettings().catch(()=>{}),q&&(b.current=q)):j instanceof Ee&&j.status<500&&(R.current=null);const w=G==="settings_revision_conflict"&&!q?"settings_recovery_required":G;V({type:"save_failed",code:w,message:xg(w,j),...q?{latest:q}:{}})}},Ce=Z=>{Z.target===Z.currentTarget&&Me()};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:Z=>{Z.preventDefault(),Me()},onClick:Ce,children:i.jsxs("form",{onSubmit:ie,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:m,type:"button",className:"icon-button",onClick:Me,"aria-label":"关闭设置",disabled:P.phase==="saving",children:i.jsx(K,{name:"close"})})]}),i.jsxs("div",{className:"settings-layout",children:[i.jsx("nav",{className:"settings-navigation","aria-label":"设置类别",children:ug.map(Z=>i.jsxs("button",{type:"button",className:P.section===Z.id?"active":"","aria-current":P.section===Z.id?"page":void 0,onClick:()=>V({type:"select_section",section:Z.id}),children:[i.jsx(K,{name:Z.icon,size:16}),i.jsx("span",{children:Z.label})]},Z.id))}),i.jsxs("div",{className:"settings-content",children:[i.jsx(vg,{state:l}),D?i.jsxs(i.Fragment,{children:[P.phase==="conflict"?i.jsx(yg,{draft:D,onAdopt:()=>{R.current=null,V({type:"adopt_server"})},onRebase:()=>{R.current=null,V({type:"rebase"})}}):null,P.message&&P.phase!=="conflict"?i.jsxs("div",{className:`settings-inline-message settings-message-${P.phase}`,role:P.phase==="rejected"?"alert":"status","aria-live":P.phase==="rejected"?"assertive":"polite",children:[i.jsx(K,{name:P.phase==="success"?"check":"info",size:16}),i.jsx("span",{children:P.message})]}):null,P.section==="general"?i.jsx(fg,{document:D.base,draft:D.values,dirtyKeys:X,saving:P.phase==="saving",onSet:(Z,je)=>V({type:"set_value",key:Z,value:je}),onReset:Z=>V({type:"reset_value",key:Z})}):null,P.section==="models"?i.jsx(mg,{document:D.base,draft:D.values,dirtyKeys:X,runtimeBusy:l.processing,saving:P.phase==="saving",onGoToSessionControls:f,onSet:(Z,je)=>V({type:"set_value",key:Z,value:je}),onReset:Z=>V({type:"reset_value",key:Z})}):null,P.section==="permissions"?i.jsx(hg,{document:D.base,value:D.values["permissions.toolConfirmation"],dirtyKeys:X,runtimeBusy:l.processing,saving:P.phase==="saving",confirmAllow:H,allowAcknowledged:J,onAllowRequested:()=>{z(!1),W(!0)},onAllowAcknowledged:z,onConfirmAllow:()=>{V({type:"set_value",key:"permissions.toolConfirmation",value:"allow"}),W(!1),z(!1)},onCancelAllow:()=>{W(!1),z(!1)},onSet:Z=>V({type:"set_value",key:"permissions.toolConfirmation",value:Z}),onReset:()=>V({type:"reset_value",key:"permissions.toolConfirmation"})}):null,P.section==="advanced"?i.jsx(gg,{state:l,document:D.base,documentAction:Q,onOpenDocument:()=>{B({tone:"status",message:"正在请求 Host 打开设置文件…"}),c.openSettingsDocument().then(()=>B({tone:"status",message:"已交给系统默认编辑器打开。"})).catch(Z=>B({tone:"error",message:Z instanceof Error?Z.message:"无法打开设置文件。"}))},onRefresh:()=>{B({tone:"status",message:"正在重新载入 Host 设置…"}),c.refreshSettings().then(()=>B({tone:"status",message:"已载入最新设置。"})).catch(Z=>B({tone:"error",message:Z instanceof Error?Z.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 返回可验证的设置快照。"})]})]})]}),P.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:["你的 ",X.length," 项草稿尚未写入 Host。"]})]}),i.jsxs("div",{children:[i.jsx("button",{ref:v,type:"button",className:"secondary-button",onClick:()=>{V({type:"cancel_discard"});const Z=_.current;requestAnimationFrame(()=>Z?.focus())},children:"继续编辑"}),i.jsx("button",{type:"button",className:"danger-ghost-button",onClick:Ie,children:"放弃更改"})]})]}):null,i.jsxs("footer",{className:"modal-footer settings-footer",children:[i.jsx("span",{className:"settings-dirty-summary","aria-live":"polite",children:he?`${X.length} 项未应用`:"没有未应用的更改"}),i.jsx("button",{type:"button",className:"secondary-button",onClick:Me,disabled:P.phase==="saving",children:"取消"}),i.jsx("button",{type:"submit",className:"primary-button",disabled:!D||!he||P.phase==="saving"||P.phase==="conflict"||ve||D.base.state!=="ready"||!D.base.writable,children:P.phase==="saving"?"应用中…":`应用 ${X.length} 项`})]})]})})}function fg({document:t,draft:s,dirtyKeys:l,saving:c,onSet:f,onReset:p}){const m=t.sections.appearance.style,v=t.sections.appearance.theme,_=t.sections.appearance.motion;return i.jsxs(po,{heading:"通用",detail:"外观偏好由 Host 保存,并在所有 Workbench 窗口保持一致。",children:[i.jsx(Or,{id:"settings-style",label:"视觉风格",description:"选择内置的方块工坊外观,或切回经典工作台。",field:m,dirty:l.includes("appearance.style"),onReset:()=>p("appearance.style"),disabled:c||!qn(t,m),children:i.jsxs("select",{id:"settings-style",value:s["appearance.style"],disabled:c||!qn(t,m),onChange:b=>f("appearance.style",b.target.value),children:[i.jsx("option",{value:"orion-blocksmith",children:"方块工坊(内置,默认)"}),i.jsx("option",{value:"classic",children:"经典"})]})}),i.jsx(Or,{id:"settings-theme",label:"主题",description:"跟随系统或固定使用浅色、深色。",field:v,dirty:l.includes("appearance.theme"),onReset:()=>p("appearance.theme"),disabled:c||!qn(t,v),children:i.jsxs("select",{id:"settings-theme",value:s["appearance.theme"],disabled:c||!qn(t,v),onChange:b=>f("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":s["appearance.style"],"data-preview-theme":s["appearance.theme"],"aria-label":`外观预览:${s["appearance.style"]==="orion-blocksmith"?"方块工坊":"经典工作台"},${pg(s["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(Or,{id:"settings-motion",label:"动效",description:"减少非必要动画,保留状态变化。",field:_,dirty:l.includes("appearance.motion"),onReset:()=>p("appearance.motion"),disabled:c||!qn(t,_),children:i.jsxs("select",{id:"settings-motion",value:s["appearance.motion"],disabled:c||!qn(t,_),onChange:b=>f("appearance.motion",b.target.value),children:[i.jsx("option",{value:"system",children:"跟随系统"}),i.jsx("option",{value:"reduced",children:"减少动效"})]})})]})}function pg(t){return t==="light"?"浅色":t==="dark"?"深色":"跟随系统"}function mg({document:t,draft:s,dirtyKeys:l,saving:c,runtimeBusy:f,onSet:p,onReset:m,onGoToSessionControls:v}){const _=t.sections.defaults.model,b=t.sections.defaults.effort,F=t.models.some(R=>R.id===s["defaults.model"])?t.models:[{id:s["defaults.model"],label:s["defaults.model"]},...t.models];return i.jsxs(po,{heading:"模型与推理",detail:"项目默认值通常从下一逻辑请求开始生效;当前会话覆盖保持可见。",children:[f?i.jsx(of,{detail:"当前回合正在运行;项目推理强度暂时锁定,默认模型仍可用于新会话。"}):null,i.jsx(Or,{id:"settings-model",label:"默认模型",description:"仅展示 Host 提供的可用模型标识。",field:_,dirty:l.includes("defaults.model"),onReset:()=>m("defaults.model"),disabled:c||!qn(t,_),children:i.jsx("select",{id:"settings-model",value:s["defaults.model"],disabled:c||!qn(t,_),onChange:R=>p("defaults.model",R.target.value),children:F.map(R=>i.jsxs("option",{value:R.id,children:[R.label,R.provider?` · ${R.provider}`:""]},R.id))})}),i.jsx(Or,{id:"settings-effort",label:"默认推理强度",description:"模型不支持的强度会由 Host 拒绝,不会静默降级。",field:b,dirty:l.includes("defaults.effort"),onReset:()=>m("defaults.effort"),disabled:c||f||!qn(t,b),children:i.jsx("select",{id:"settings-effort",value:s["defaults.effort"],disabled:c||f||!qn(t,b),onChange:R=>p("defaults.effort",R.target.value),children:cg.map(R=>i.jsx("option",{value:R,children:R==="auto"?"Auto":R},R))})}),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:v,"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 hg({document:t,value:s,dirtyKeys:l,runtimeBusy:c,saving:f,confirmAllow:p,allowAcknowledged:m,onAllowRequested:v,onAllowAcknowledged:_,onConfirmAllow:b,onCancelAllow:F,onSet:R,onReset:A}){const P=g.useRef(null),V=g.useRef(null),H=t.sections.permissions.toolConfirmation,W=f||c||!qn(t,H);return g.useEffect(()=>{p&&V.current?.focus()},[p]),i.jsxs(po,{heading:"权限",detail:"默认确认策略不改变工作区边界、硬拒绝和高风险保护。",children:[c?i.jsx(of,{}):null,i.jsx(Or,{id:"settings-tool-confirmation",label:"工具确认",description:"Ask 逐次询问;Deny 默认拒绝;Allow 仍受 Host 安全策略约束。",field:H,labelControl:!1,dirty:l.includes("permissions.toolConfirmation"),onReset:A,disabled:W,children:i.jsxs("fieldset",{id:"settings-tool-confirmation",className:"segmented-field",disabled:W,children:[i.jsx("legend",{className:"sr-only",children:"默认工具确认策略"}),["ask","allow","deny"].map(J=>i.jsxs("label",{children:[i.jsx("input",{ref:J==="allow"?P:void 0,type:"radio",name:"settings-permission",value:J,checked:s===J,onChange:()=>J==="allow"?v():R(J)}),i.jsx("span",{children:J==="ask"?"Ask":J==="allow"?"Allow":"Deny"})]},J))]})}),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:V,type:"checkbox",checked:m,onChange:J=>_(J.target.checked)}),i.jsx("span",{children:"我理解这会扩大默认授权范围"})]}),i.jsxs("div",{children:[i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>{F(),requestAnimationFrame(()=>P.current?.focus())},children:"保持当前策略"}),i.jsx("button",{type:"button",className:"primary-button",disabled:!m,onClick:b,children:"启用 Allow"})]})]}):null,i.jsx("p",{className:"settings-help",children:"Agent 的 BUILD / PLAN / AUTO 模式与工具确认策略互相独立。"})]})}function gg({state:t,document:s,documentAction:l,onOpenDocument:c,onRefresh:f}){return i.jsxs(po,{heading:"高级",detail:"配置状态、凭证可用性和集成清单均为只读摘要。",children:[s.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:Lt(s.diagnostic.code)}),i.jsx("p",{children:Lt(s.diagnostic.message)})]})]}):null,i.jsxs("dl",{className:"settings-facts",children:[i.jsxs("div",{children:[i.jsx("dt",{children:"状态"}),i.jsx("dd",{children:_g(s.state)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"工作区"}),i.jsx("dd",{title:"仅显示目录名",children:Yd(s.workspace)||"—"})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"文档"}),i.jsx("dd",{children:s.hasDocument?"已创建":"尚未创建"})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"版本"}),i.jsx("dd",{title:s.revision,children:Cd(s.revision)})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"Last good"}),i.jsx("dd",{children:t.settingsMirror.lastGood?Cd(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:f,children:[i.jsx(K,{name:"refresh",size:15}),"重新载入设置"]}),i.jsxs("button",{type:"button",className:"secondary-button",onClick:c,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:"仅显示来源类别与可用性;密钥值、环境变量名和认证头不会进入浏览器。"}),s.credentials.length?i.jsx("ul",{className:"settings-readonly-list",children:s.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:Ng(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(Sd,{title:"Skills",count:t.skills.length,names:t.skills.map(p=>p.name)}),i.jsx(Sd,{title:"MCP",count:t.mcpServers.length,names:t.mcpServers.map(p=>p.name)})]})]})]})}function vg({state:t}){const{settingsMirror:s}=t;return s.status==="loading"?i.jsxs("div",{className:"settings-availability",role:"status",children:[i.jsx(K,{name:"refresh",size:15})," 正在与 Host 同步设置…"]}):s.error?i.jsxs("div",{className:"settings-availability error",role:"alert",children:[i.jsx(K,{name:"warning",size:15})," 设置同步失败:",s.error," 当前显示上一次可用值。"]}):s.stale?i.jsxs("div",{className:"settings-availability",role:"status",children:[i.jsx(K,{name:"refresh",size:15})," Host 已更新设置,正在载入;当前显示上一次可用值。"]}):s.document?.state==="invalid"?i.jsxs("div",{className:"settings-availability error",role:"alert",children:[i.jsx(K,{name:"warning",size:15})," 设置文档无效。控件已锁定,并保留上一次可用值供参考。"]}):s.document?.state==="read-only"?i.jsxs("div",{className:"settings-availability",role:"status",children:[i.jsx(K,{name:"info",size:15})," 设置当前为只读状态。"]}):s.document?.state==="unavailable"?i.jsxs("div",{className:"settings-availability error",role:"alert",children:[i.jsx(K,{name:"warning",size:15})," Host 设置暂不可用;当前显示上一次可用值。"]}):null}function po({heading:t,detail:s,children:l}){return i.jsxs("section",{className:"settings-section","aria-labelledby":`settings-${Nd(t)}-heading`,children:[i.jsxs("header",{className:"settings-section-heading",children:[i.jsx("h3",{id:`settings-${Nd(t)}-heading`,children:t}),i.jsx("p",{children:s})]}),i.jsx("div",{className:"settings-section-fields",children:l})]})}function Or({id:t,label:s,description:l,field:c,labelControl:f=!0,dirty:p,disabled:m,onReset:v,children:_}){return i.jsxs("div",{className:`settings-field-card ${p?"dirty":""}`,children:[i.jsxs("div",{className:"settings-field-copy",children:[f?i.jsx("label",{htmlFor:t,children:s}):i.jsx("strong",{children:s}),i.jsx("p",{children:l}),i.jsxs("div",{className:"settings-field-meta","aria-label":`${s} 设置来源`,children:[i.jsx("span",{children:wg(c.source)}),i.jsx("span",{children:kg(c.scope)}),i.jsx("span",{children:jg(c.applies)}),p?i.jsx("strong",{children:"草稿"}):null]}),c.blockedReason?i.jsx("small",{className:"settings-blocked-reason",children:Sg(c.blockedReason)}):null]}),i.jsxs("div",{className:"settings-field-control",children:[_,i.jsx("button",{type:"button",className:"text-button",onClick:v,disabled:m||c.explicitValue===void 0&&!p,"aria-label":`重置${s}为继承值`,children:"重置"})]})]})}function yg({draft:t,onAdopt:s,onRebase:l}){const c=og(t),f=ir(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:["草稿仍被保留",c.length?`;${c.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:"我的草稿"})]}),f.map(m=>i.jsxs("div",{children:[i.jsx("strong",{children:Cg(m)}),i.jsx("span",{"data-label":"服务器最新值",children:String(ct(p,m))}),i.jsxs("span",{"data-label":"我的草稿",children:[String(t.values[m]),t.intents[m]?.op==="unset"?"(重置)":""]})]},m))]}):null,i.jsxs("div",{children:[i.jsx("button",{type:"button",className:"secondary-button",onClick:s,children:"采用服务器值"}),i.jsx("button",{type:"button",className:"primary-button",onClick:l,children:"基于最新值重试"})]})]})]})}function of({detail:t="当前回合正在运行;相关设置会在 Runtime 空闲后解锁。"}={}){return i.jsxs("div",{className:"settings-busy",role:"status",children:[i.jsx(K,{name:"activity",size:15})," ",t]})}function Sd({title:t,count:s,names:l}){return i.jsxs("div",{className:"settings-capability-card",children:[i.jsx("span",{children:t}),i.jsx("strong",{children:s}),i.jsx("small",{children:l.slice(0,3).join(" · ")||"未加载"})]})}function qn(t,s){return t.state==="ready"&&t.writable&&s.writable&&!s.blockedReason}function xg(t,s){const l=s instanceof Error?s.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 wg(t){return`来源:${t==="internal"?"内置":t==="model"?"模型":t==="global"?"全局":t==="project"?"项目":"会话"}`}function kg(t){return`作用域:${t==="global"?"全局":t==="project"?"项目":"会话"}`}function jg(t){return`生效:${t==="live"?"立即":t==="next-logical-request"?"下次请求":t==="new-session"?"新会话":"重启后"}`}function Sg(t){return t==="runtime_busy"?"Runtime 正在运行,暂不可修改。":t==="read_only"?"此字段来自只读配置。":"设置文档无效,修复前不可修改。"}function Cg(t){return t==="appearance.style"?"视觉风格":t==="appearance.theme"?"主题":t==="appearance.motion"?"动效":t==="defaults.model"?"默认模型":t==="defaults.effort"?"默认推理强度":"工具确认"}function Ng(t){return t==="environment"?"环境提供":t==="legacy"?"Host 旧配置":"未配置"}function _g(t){return t==="ready"?"可用":t==="invalid"?"无效":t==="read-only"?"只读":"不可用"}function Cd(t){return t.length>24?`${t.slice(0,20)}…`:t}function Nd(t){return t.replace(/[^a-z0-9]+/gi,"-").replace(/^-|-$/g,"").toLowerCase()||"section"}function _d(){return typeof document>"u"?null:document.activeElement}const Eg="modulepreload",Ig=function(t){return"/"+t},Ed={},mo=function(s,l,c){let f=Promise.resolve();if(l&&l.length>0){let _=function(b){return Promise.all(b.map(F=>Promise.resolve(F).then(R=>({status:"fulfilled",value:R}),R=>({status:"rejected",reason:R}))))};document.getElementsByTagName("link");const m=document.querySelector("meta[property=csp-nonce]"),v=m?.nonce||m?.getAttribute("nonce");f=_(l.map(b=>{if(b=Ig(b),b in Ed)return;Ed[b]=!0;const F=b.endsWith(".css"),R=F?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${b}"]${R}`))return;const A=document.createElement("link");if(A.rel=F?"stylesheet":Eg,F||(A.as="script"),A.crossOrigin="",A.href=b,v&&A.setAttribute("nonce",v),document.head.appendChild(A),F)return new Promise((P,V)=>{A.addEventListener("load",P),A.addEventListener("error",()=>V(new Error(`Unable to preload CSS for ${b}`)))})}))}function p(m){const v=new Event("vite:preloadError",{cancelable:!0});if(v.payload=m,window.dispatchEvent(v),!v.defaultPrevented)throw m}return f.then(m=>{for(const v of m||[])v.status==="rejected"&&p(v.reason);return s().catch(p)})},er=[{id:"goal",label:"Goal",icon:"goal"},{id:"activity",label:"活动",icon:"activity"},{id:"integrations",label:"能力",icon:"branch"},{id:"diagnostics",label:"诊断",icon:"diagnostics"}];function bg({state:t,actions:s,tab:l,onTabChange:c}){const f=g.useId(),p=m=>{if(m.key!=="ArrowLeft"&&m.key!=="ArrowRight"&&m.key!=="Home"&&m.key!=="End")return;m.preventDefault();const v=er.findIndex(b=>b.id===l),_=m.key==="Home"?0:m.key==="End"?er.length-1:(v+(m.key==="ArrowRight"?1:-1)+er.length)%er.length;c(er[_].id),requestAnimationFrame(()=>document.getElementById(`${f}-tab-${er[_].id}`)?.focus())};return i.jsxs("div",{className:"agent-panel",children:[i.jsx("div",{className:"inspector-tabs",role:"tablist","aria-label":"详情类别",onKeyDown:p,children:er.map(m=>i.jsxs("button",{id:`${f}-tab-${m.id}`,type:"button",role:"tab","aria-selected":l===m.id,"aria-controls":`${f}-panel`,tabIndex:l===m.id?0:-1,onClick:()=>c(m.id),children:[i.jsx(K,{name:m.icon,size:15}),i.jsx("span",{children:m.label})]},m.id))}),i.jsxs("div",{id:`${f}-panel`,className:"inspector-body",role:"tabpanel","aria-labelledby":`${f}-tab-${l}`,tabIndex:0,children:[l==="goal"?i.jsx(Rg,{state:t,actions:s}):null,l==="activity"?i.jsx(Tg,{state:t,actions:s}):null,l==="integrations"?i.jsx(Dg,{state:t,actions:s}):null,l==="diagnostics"?i.jsx(Lg,{state:t,actions:s}):null]})]})}function Rg({state:t,actions:s}){const l=t.goal,c=t.plan?.body??(typeof t.diagnostics?.plan=="string"?t.diagnostics.plan:""),p=!!t.pendingAction||t.connection!=="live";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(Pg,{onCreate:v=>s.controlGoal("create",v),disabled:p||!t.activeSessionId}),i.jsx(Id,{mode:t.mode.baseMode,plan:c})]});const m=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 条件完成 ${m}%`}),i.jsxs("div",{className:"goal-breakdown",children:[i.jsxs("span",{children:[m,"% 完成"]}),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:[bd(l.tokensUsed),l.tokenBudget?` / ${bd(l.tokenBudget)}`:""]})]}),i.jsxs("div",{children:[i.jsx("dt",{children:"用时"}),i.jsx("dd",{children:Ag(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((v,_)=>i.jsx("li",{children:v},`${v}-${_}`))})]}):null,i.jsxs("div",{className:"goal-actions",children:[l.status==="active"?i.jsxs("button",{type:"button",className:"secondary-button",onClick:()=>{s.controlGoal("pause")},disabled:p,children:[i.jsx(K,{name:"pause",size:14}),"暂停"]}):l.status!=="complete"?i.jsxs("button",{type:"button",className:"secondary-button",onClick:()=>{s.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?会话记录仍会保留。")&&s.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(v=>i.jsxs("li",{children:[i.jsx("span",{className:`evidence-state ${v.result}`,"aria-hidden":"true",children:i.jsx(K,{name:v.result==="passed"?"check":v.result==="failed"?"close":"more",size:12})}),i.jsxs("div",{children:[i.jsx("strong",{children:v.subject}),i.jsxs("span",{children:[v.kind," · ",v.result]})]})]},v.id))})]}):null,i.jsx(Id,{mode:t.mode.baseMode,plan:c,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((v,_)=>i.jsxs("li",{children:[i.jsx("span",{className:"timeline-pin","aria-hidden":"true"}),i.jsxs("div",{children:[i.jsx("strong",{children:v.type.replace(/_/g," ")}),i.jsx("p",{children:v.message}),i.jsx("time",{children:zg(v.timestamp)})]})]},`${v.timestamp}-${_}`))})]}):null]})}function Pg({onCreate:t,disabled:s}){const[l,c]=g.useState(""),f=async p=>{if(p.preventDefault(),!!l.trim())try{await t(l.trim()),c("")}catch{}};return i.jsxs("form",{className:"goal-create",onSubmit:f,children:[i.jsx("label",{htmlFor:"goal-objective",children:"创建 Goal"}),i.jsx("textarea",{id:"goal-objective",rows:3,value:l,onChange:p=>c(p.target.value),placeholder:"输入一个可验证、可持续执行的目标…",disabled:s}),i.jsxs("button",{type:"submit",className:"primary-button",disabled:s||!l.trim(),children:[i.jsx(K,{name:"goal",size:15}),"开始 Goal"]})]})}function Id({mode:t,plan:s,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"})]}),s?i.jsx(Ds,{children:s}):i.jsx("p",{className:"muted-copy",children:"还没有保存的计划。切换到 PLAN 模式后提交任务,Runtime 会生成并保存计划。"})]})}function Tg({state:t,actions:s}){const l=g.useMemo(()=>t.tools.filter(c=>Og(c)),[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(c=>i.jsx(Mg,{tool:c},c.callId))}):i.jsx(no,{text:"还没有工具活动"})]}),i.jsx($g,{state:t,actions:s}),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(c=>i.jsxs("li",{children:[i.jsx(K,{name:"edit",size:14}),i.jsxs("div",{children:[i.jsx("strong",{children:lf(c.request.path)}),i.jsxs("span",{children:[c.request.kind," · ",c.request.candidates.length," candidates"]})]})]},c.eventId)),l.slice(-8).reverse().map(c=>i.jsxs("li",{children:[i.jsx(K,{name:"code",size:14}),i.jsxs("div",{children:[i.jsx("strong",{children:c.name}),i.jsx("span",{children:c.summary||c.state})]})]},c.callId))]}):i.jsx(no,{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(c=>i.jsxs("li",{children:[i.jsx("span",{className:`state-dot state-${c.state}`,"aria-hidden":"true"}),i.jsxs("div",{children:[i.jsx("strong",{children:c.role}),i.jsx("span",{children:c.objective})]}),i.jsx("small",{children:c.state})]},c.taskId))}):null,t.research.length?i.jsx("ul",{className:"activity-list",children:t.research.slice(-6).reverse().map(c=>i.jsxs("li",{children:[i.jsx("span",{className:`state-dot state-${c.stage}`,"aria-hidden":"true"}),i.jsxs("div",{children:[i.jsx("strong",{children:"Research"}),i.jsx("span",{children:c.objective||c.packetId})]}),i.jsx("small",{children:c.stage})]},c.packetId))}):null,!t.subtasks.length&&!t.research.length?i.jsx(no,{text:"还没有子代理或研究活动"}):null]})]})}function Mg({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 $g({state:t,actions:s}){const[l,c]=g.useState(""),[f,p]=g.useState(""),[m,v]=g.useState(),[_,b]=g.useState(0),[F,R]=g.useState(!1),[A,P]=g.useState("");g.useEffect(()=>{c(""),p(""),v(void 0),P("")},[t.activeSessionId]);const V=async(H,W=0)=>{R(!0),P("");try{const J=await s.readToolDetail(H,W);c(H),p(z=>W===0?J.content:`${z}${J.content}`),v(J.nextOffsetBytes),b(J.totalBytes)}catch(J){P(J instanceof Error?J.message:"工具详情读取失败。")}finally{R(!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:()=>{s.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(H=>i.jsxs("button",{type:"button",className:l&&H.artifactId===l?"active":"",disabled:!H.artifactId||F,onClick:()=>H.artifactId&&void V(H.artifactId),children:[i.jsxs("span",{children:[i.jsx("strong",{children:H.toolName}),i.jsxs("small",{children:["#",H.sequence," · ",Rd(H.outputBytes)]})]}),i.jsx(K,{name:"chevron",size:13})]},`${H.callId}:${H.sequence}`))}):i.jsx(no,{text:"没有可读取的持久化输出"}),t.toolDetailNextCursor?i.jsx("button",{type:"button",className:"text-button",onClick:()=>{s.loadMoreToolDetails()},disabled:!!t.pendingAction,children:"加载更多输出记录"}):null,A?i.jsx("p",{className:"field-error",role:"alert",children:A}):null,l?i.jsxs("div",{className:"detail-output",children:[i.jsxs("div",{children:[i.jsxs("span",{children:[Rd(_)," · 已脱敏"]}),i.jsx("code",{children:l})]}),i.jsx("pre",{tabIndex:0,children:Lt(f)}),m!==void 0?i.jsx("button",{type:"button",className:"secondary-button",disabled:F,onClick:()=>{V(l,m)},children:F?"读取中…":"加载更多"}):null]}):null]})}function Dg({state:t,actions:s}){const l=t.skills,c=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(f=>i.jsxs("li",{children:[i.jsxs("div",{children:[i.jsx("strong",{children:f.name}),i.jsxs("span",{children:[f.sourceScope," · ",f.providerId]})]}),i.jsx("p",{children:f.description}),f.requestedCapabilities.length?i.jsx("small",{children:f.requestedCapabilities.join(" · ")}):null]},f.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 ${c.length?"ready":""}`,children:c.length?`${c.length} 已配置`:"未配置"})]}),c.length?i.jsx("ul",{className:"server-list",children:c.map(f=>i.jsxs("li",{children:[i.jsx("span",{className:`state-dot state-${f.state}`,"aria-hidden":"true"}),i.jsxs("div",{children:[i.jsx("code",{children:f.name}),i.jsxs("small",{children:[f.transport," · ",f.toolCount," tools"]})]}),i.jsx("span",{children:f.disabled?"Disabled":f.state})]},f.id))}):i.jsx("p",{className:"muted-copy",children:"没有可用的 MCP Server。浏览器不会接收环境变量或认证 Header。"})]}),t.skillNextCursor||t.mcpNextCursor?i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>{s.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 Lg({state:t,actions:s}){const l=t.diagnostics;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:Fg(t.connection)})]}),i.jsxs("button",{type:"button",className:"icon-text-button",onClick:()=>{s.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(Dt,{label:"版本",value:t.bootstrap?.productVersion??"—"}),i.jsx(Dt,{label:"工作区",value:lf(t.workspace)||"—"}),i.jsx(Dt,{label:"会话",value:t.activeSessionId?.slice(0,12)??"未选择"}),i.jsx(Dt,{label:"模式",value:String(l?.agentMode??t.mode.baseMode)}),i.jsx(Dt,{label:"权限",value:String(l?.permissionMode??t.settings?.sections.permissions.toolConfirmation.effectiveValue??"—")}),i.jsx(Dt,{label:"事件游标",value:`${t.lastCursor}`}),i.jsx(Dt,{label:"事件 UUID",value:t.lastEventId?.slice(0,12)??"—"}),i.jsx(Dt,{label:"保留事件",value:`${l?.eventStream?.retained??"—"}`})]})]}),l?.contextUsage?i.jsx(Yi,{title:"Context usage",value:l.contextUsage}):null,l?.tokenUsage?i.jsx(Yi,{title:"Token usage",value:l.tokenUsage}):null,l?.harness?i.jsx(Yi,{title:"Harness",value:l.harness}):null,t.loopStats?i.jsx(Yi,{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 Dt({label:t,value:s}){return i.jsxs("div",{children:[i.jsx("dt",{children:t}),i.jsx("dd",{title:s,children:s})]})}function Yi({title:t,value:s}){return i.jsxs("details",{className:"json-section",children:[i.jsx("summary",{children:t}),i.jsx("pre",{tabIndex:0,children:ga(s,12e3)})]})}function no({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 Og(t){return/write|edit|patch|delete|move|rename|mkdir|create/i.test(t.name)}function lf(t){const s=t.replace(/[\\/]+$/,"");return s.split(/[\\/]/).filter(Boolean).at(-1)??s}function bd(t){return new Intl.NumberFormat("zh-CN",{notation:t>99999?"compact":"standard"}).format(t)}function Ag(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 Rd(t){return t<1024?`${t} B`:t<1048576?`${(t/1024).toFixed(1)} KB`:`${(t/1048576).toFixed(1)} MB`}function zg(t){const s=Date.parse(t);return Number.isFinite(s)?new Date(s).toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"}):""}function Fg(t){return t==="live"?"实时连接正常":t==="offline"?"浏览器离线":t==="replay-required"?"需要恢复会话":t==="closed"?"Host 已关闭":t==="connecting"?"正在连接":"正在重新连接"}function Bg({onPreview:t,onCommit:s}){return i.jsx(Bd,{side:"right",className:"work-panel-resize-handle",minWidth:ya,maxWidth:Wd,defaultWidth:xa,label:"拖动调整工作面板宽度",onPreview:t,onCommit:s})}const qg=g.lazy(()=>mo(()=>import("./TerminalPanel-CNxMaBLp.js"),__vite__mapDeps([0,1])).then(t=>({default:t.TerminalPanel}))),Wg=g.lazy(()=>mo(()=>import("./FilesPanel-CCDoAZ1J.js"),[]).then(t=>({default:t.FilesPanel}))),Ug=g.lazy(()=>mo(()=>import("./GitPanel-DtNgiH7A.js"),__vite__mapDeps([2,3])).then(t=>({default:t.GitPanel}))),Vg=g.lazy(()=>mo(()=>import("./ReviewPanel-CKEBSt6P.js"),__vite__mapDeps([4,3])).then(t=>({default:t.ReviewPanel}))),mn=[{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 Hg({state:t,actions:s,mode:l,expanded:c,activePanel:f,agentPanel:p,onExpand:m,onCollapse:v,onPanelChange:_,onAgentPanelChange:b,onWidthPreview:F,onWidthCommit:R,onSendToComposer:A}){const P=g.useRef(null),V=g.useRef(null),H=g.useRef(c),W=g.useRef(!1),J=g.useRef(new Set([f]));J.current.add(f);const z=g.useId(),Q=t.workspaceResourceEpochs[t.workspaceId]??{files:0,git:0,review:0};g.useEffect(()=>{if(l!=="overlay"||!c)return;let k=0,D=0;const X=()=>{k+=1,V.current?.focus(),(document.activeElement===V.current||k>=10)&&window.clearInterval(D)};return D=window.setInterval(X,16),X(),()=>window.clearInterval(D)},[c,l]),g.useEffect(()=>{const k=H.current;if(H.current=c,!(l!=="dock"||k===c)){if(!c){requestAnimationFrame(()=>P.current?.querySelector(`[data-work-panel-id="${f}"]`)?.focus());return}W.current&&(W.current=!1,requestAnimationFrame(()=>document.getElementById(`${z}-${f}`)?.focus()))}},[f,c,l,z]),g.useEffect(()=>{const k=D=>{if(!(D.metaKey||D.ctrlKey)||!D.shiftKey||D.altKey)return;if(D.code==="KeyB"){D.preventDefault(),c?v():(W.current=!0,m());return}const X=/^Digit([1-5])$/u.exec(D.code)?.[1],he=Number(X)-1,ve=mn[he];ve&&(D.preventDefault(),W.current=!0,_(ve.id),m())};return window.addEventListener("keydown",k),()=>window.removeEventListener("keydown",k)},[c,v,m,_]);const B=k=>{if(k.key==="Escape"&&l==="overlay"&&c&&!k.target.closest('[role="alertdialog"], .terminal-host')){k.preventDefault(),v();return}if(l!=="overlay"||!c||k.key!=="Tab")return;const D=Kg(P.current);if(!D.length){k.preventDefault(),P.current?.focus();return}const X=D.indexOf(document.activeElement);k.shiftKey&&X<=0?(k.preventDefault(),D.at(-1)?.focus()):!k.shiftKey&&(X<0||X===D.length-1)&&(k.preventDefault(),D[0].focus())},Y=k=>{c||(W.current=!0),_(k),c||m()};return i.jsxs("aside",{ref:P,id:"work-panel",className:`work-panel work-panel-${l} ${c?"drawer-open work-panel-expanded":"work-panel-collapsed"}`,role:l==="overlay"?"dialog":void 0,"aria-modal":l==="overlay"&&c?!0:void 0,"aria-label":"工作面板","data-mode":l,"data-state":c?"expanded":"collapsed",tabIndex:l==="overlay"&&c?-1:void 0,onKeyDownCapture:B,children:[l==="dock"&&c?i.jsx(Bg,{onPreview:F,onCommit:R}):null,!c&&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:()=>{W.current=!0,m()},children:i.jsx(K,{name:"sidebar"})}),i.jsx("span",{className:"work-panel-rail-divider"}),mn.map(k=>i.jsxs("button",{type:"button",className:"work-panel-rail-button","data-work-panel-id":k.id,"aria-label":`打开${k.label}面板`,"aria-current":f===k.id?"page":void 0,title:`${k.label} · ⌘⇧${mn.indexOf(k)+1}`,onClick:()=>Y(k.id),children:[i.jsx(K,{name:k.icon,size:17}),k.id==="terminal"&&t.processing?i.jsx("span",{className:"rail-status-dot"}):null]},k.id))]}):null,i.jsxs("div",{id:"work-panel-detail",className:"work-panel-detail",hidden:!c,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:mn.find(k=>k.id===f)?.label??"Agent"})]}),i.jsx("div",{className:"work-panel-header-actions",children:i.jsx("button",{ref:V,type:"button",className:"icon-button",onClick:v,"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:mn.map(k=>i.jsxs("button",{id:`${z}-${k.id}`,type:"button",role:"tab","aria-label":`${k.label},快捷键 Command 或 Control 加 Shift 加 ${mn.indexOf(k)+1}`,"aria-selected":f===k.id,"aria-controls":`${z}-${k.id}-content`,tabIndex:f===k.id?0:-1,title:`⌘/Ctrl+Shift+${mn.indexOf(k)+1}`,onClick:()=>_(k.id),onKeyDown:D=>{if(!["ArrowLeft","ArrowRight","Home","End"].includes(D.key))return;D.preventDefault();const X=mn.findIndex(ve=>ve.id===f),he=D.key==="Home"?0:D.key==="End"?mn.length-1:(X+(D.key==="ArrowRight"?1:-1)+mn.length)%mn.length;_(mn[he].id),requestAnimationFrame(()=>document.getElementById(`${z}-${mn[he].id}`)?.focus())},children:[i.jsx(K,{name:k.icon,size:15}),i.jsx("span",{children:k.label})]},k.id))}),i.jsx("div",{className:"work-panel-content",children:i.jsx(g.Suspense,{fallback:i.jsx("p",{className:"resource-loading",children:"正在加载工作面板…"}),children:mn.map(k=>J.current.has(k.id)?i.jsxs("div",{id:`${z}-${k.id}-content`,className:"work-panel-pane",role:"tabpanel","aria-labelledby":`${z}-${k.id}`,hidden:f!==k.id,children:[k.id==="agent"?i.jsx(bg,{state:t,actions:s,tab:p,onTabChange:b}):null,k.id==="review"?i.jsx(Vg,{workspaceId:t.workspaceId,refreshEpoch:Q.review,actions:s,onSendToComposer:A}):null,k.id==="terminal"?i.jsx(qg,{workspaceId:t.workspaceId,workspacePath:t.workspace,styleNonce:t.bootstrap?.nonce??"",available:!!t.bootstrap?.capabilities.terminal,actions:s}):null,k.id==="files"?i.jsx(Wg,{workspaceId:t.workspaceId,refreshEpoch:Q.files,actions:s}):null,k.id==="git"?i.jsx(Ug,{workspaceId:t.workspaceId,refreshEpoch:Q.git,actions:s,onSendToComposer:A}):null]},k.id):null)})})]})]})}function Kg(t){return t?Array.from(t.querySelectorAll('a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])')).filter(s=>!s.hasAttribute("disabled")&&!s.closest("[inert]")&&!s.closest("[hidden]")&&s.getClientRects().length>0):[]}function Qg(t,s,l){const c=s==="light"||s==="system"&&l;return t==="orion-blocksmith"?c?"#d7d0c1":"#15191b":c?"#f4f5f8":"#090b10"}function Ot(t,s){return t.some(l=>l.id===s.id)?t.map(l=>l.id===s.id?s:l):[s,...t]}const af={boot:"loading",bootstrap:null,connection:"connecting",connectionAttempt:0,lastCursor:0,lastEventId:null,contextRevision:"",workspaceId:"",workspace:"",workspaces:[],sessions:[],workspaceSessions:{},workspaceProjectSummaries:{},workspaceResourceEpochs:{},workspaceNextCursor:null,sessionNextCursor:null,activeSessionId:null,sessionProjectionById:{},sessionRuntimeById:{},transcript:[],tools:[],edits:[],subtasks:[],research:[],permission:null,processing:!1,statusMessage:"正在连接 Orion Runtime…",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:""},lo=1e4,Gg=256,Yg=256,Xg=128,Jg=8,cf=8*1024*1024;function Zg(t=af,s){switch(s.type){case"baseline_loaded":{const l=t.activeSessionId!==s.bootstrap.activeSessionId?Ls(t):t,c=Md(s.diagnostics,l.mode);return{...l,boot:"ready",bootError:void 0,bootstrap:s.bootstrap,contextRevision:s.bootstrap.contextRevision,workspaceId:s.bootstrap.workspaceId,workspace:s.workspaces.activePath||s.bootstrap.workspace,workspaces:s.workspaces.workspaces,sessions:s.sessions,workspaceSessions:{...l.workspaceSessions,[s.bootstrap.workspaceId]:{status:"ready",items:s.sessions,nextCursor:s.sessionNextCursor}},workspaceNextCursor:s.workspaces.nextCursor,sessionNextCursor:s.sessionNextCursor,activeSessionId:s.bootstrap.activeSessionId,settings:s.settings,diagnostics:s.diagnostics,skills:s.skills,skillNextCursor:s.skillNextCursor,mcpServers:s.mcpServers,mcpNextCursor:s.mcpNextCursor,toolDetails:s.toolDetails,toolDetailNextCursor:s.toolDetailNextCursor,processing:!!s.diagnostics.processing,mode:c,statusMessage:s.bootstrap.configured?"Runtime 已就绪":"模型尚未配置,任务提交已停用",announcement:s.bootstrap.configured?"Orion Runtime 已就绪":"Orion 尚未配置模型"}}case"boot_failed":return{...t,boot:"error",bootError:s.message,connection:av()?"reconnecting":"offline",announcement:`启动失败:${s.message}`};case"connection_changed":return t.connection==="replay-required"?t:{...t,connection:s.phase,connectionAttempt:s.attempt,announcement:cv(s.phase,s.attempt)};case"event_received":return ev(t,s.envelope);case"session_snapshot_loaded":return t.activeSessionId!==s.snapshot.session.id?t:Pd(t,s.snapshot,s.advanceEventCursor!==!1);case"composer_loaded":return s.composer.sessionId!==t.activeSessionId||s.composer.workspaceId!==t.workspaceId||s.composer.contextRevision!==t.contextRevision?t:uf(t,s.composer);case"model_catalog_loaded":return{...t,modelCatalog:s.catalog};case"durable_session_metadata_loaded":return t.contextRevision!==s.contextRevision||t.workspaceId!==s.workspaceId?t:t.activeSessionId!==s.snapshot.session.id?rv(t,s.snapshot):s.snapshot.runtime.active!==!0?t:sv(t,s.snapshot);case"older_transcript_loaded":{if(t.activeSessionId!==s.snapshot.session.id||!t.sessionSnapshot)return t;const l=new Set(t.transcript.map(f=>f.id)),c=df(s.snapshot).filter(f=>!l.has(f.id));return{...t,transcript:[...c,...t.transcript].sort((f,p)=>f.order-p.order).slice(-lo),sessionSnapshot:{...t.sessionSnapshot,transcript:{items:t.sessionSnapshot.transcript.items,nextCursor:s.snapshot.transcript.nextCursor}},announcement:`已加载 ${c.length} 条更早记录`}}case"sessions_loaded":return{...t,sessions:s.append?nr(t.sessions,s.sessions,l=>l.id):s.sessions,sessionNextCursor:s.nextCursor,workspaceSessions:t.workspaceId?{...t.workspaceSessions,[t.workspaceId]:{status:"ready",items:s.append?nr(t.sessions,s.sessions,l=>l.id):s.sessions,nextCursor:s.nextCursor}}:t.workspaceSessions};case"workspaces_loaded":return{...t,workspaceId:s.value.activeId||t.workspaceId,workspace:s.value.activePath||t.workspace,workspaces:s.append?nr(t.workspaces,s.value.workspaces,l=>l.id):s.value.workspaces,workspaceNextCursor:s.value.nextCursor};case"workspace_sessions_loading":return{...t,workspaceSessions:{...t.workspaceSessions,[s.workspaceId]:{status:"loading",items:t.workspaceSessions[s.workspaceId]?.items??[],nextCursor:t.workspaceSessions[s.workspaceId]?.nextCursor??null}}};case"workspace_sessions_loaded":{const l=t.workspaceSessions[s.workspaceId],c=s.append?nr(l?.items??[],s.sessions,f=>f.id):s.sessions;return{...t,sessions:s.workspaceId===t.workspaceId?c:t.sessions,sessionNextCursor:s.workspaceId===t.workspaceId?s.nextCursor:t.sessionNextCursor,workspaceSessions:{...t.workspaceSessions,[s.workspaceId]:{status:"ready",items:c,nextCursor:s.nextCursor}}}}case"workspace_sessions_failed":return{...t,workspaceSessions:{...t.workspaceSessions,[s.workspaceId]:{status:"error",items:t.workspaceSessions[s.workspaceId]?.items??[],nextCursor:t.workspaceSessions[s.workspaceId]?.nextCursor??null,error:s.detail}}};case"workspace_project_summary_loaded":return{...t,workspaceProjectSummaries:{...t.workspaceProjectSummaries,[s.summary.workspaceId]:s.summary}};case"settings_loaded":return{...t,settings:s.settings};case"settings_mirror_changed":return{...t,settings:s.snapshot.document??s.snapshot.lastGood,settingsMirror:s.snapshot};case"diagnostics_loaded":return{...t,diagnostics:s.diagnostics,processing:!!(s.diagnostics.processing??t.processing),mode:Md(s.diagnostics,t.mode)};case"capabilities_loaded":return{...t,skills:s.append?nr(t.skills,s.skills,l=>l.id):s.skills,skillNextCursor:s.skillNextCursor,mcpServers:s.append?nr(t.mcpServers,s.mcpServers,l=>l.id):s.mcpServers,mcpNextCursor:s.mcpNextCursor};case"tool_details_loaded":return{...t,toolDetails:s.append?nr(t.toolDetails,s.details,l=>`${l.sequence}:${l.callId}`):s.details,toolDetailNextCursor:s.nextCursor};case"pending_action":return{...t,pendingAction:s.label};case"notice":return{...t,notice:s.notice};case"approval_resolved":return t.permission?.id!==s.requestId?t:{...t,permission:null,announcement:s.approved?"工具权限已授予":"工具请求已拒绝"};case"snapshot_failed":return s.sessionId&&s.sessionId!==t.activeSessionId?t:{...t,connection:"replay-required",replayReason:s.detail,notice:{id:t.lastCursor,tone:"warning",title:"会话状态尚未同步",detail:s.detail},announcement:"会话状态尚未同步,需要恢复后才能继续操作"};case"reset_session_view":return s.activeSessionId&&t.sessionProjectionById[s.activeSessionId]?{...Pd({...t,activeSessionId:s.activeSessionId},t.sessionProjectionById[s.activeSessionId],!1),statusMessage:"已显示最近会话状态,正在同步…",announcement:"已切换到缓存会话,正在同步最新状态"}:{...Ls(t),activeSessionId:s.activeSessionId,statusMessage:s.activeSessionId?"正在恢复会话…":"请选择会话",announcement:s.activeSessionId?"正在恢复会话":"会话已清除"};case"recovering":return{...t,connection:"connecting",replayReason:void 0,notice:null,announcement:"正在重新加载会话状态"}}}function ev(t,s){if(s.type==="replay_reset")return{...t,lastCursor:s.cursor,lastEventId:s.eventId,connection:"replay-required",replayReason:s.payload.reason,notice:{id:s.cursor,tone:"warning",title:"需要重新载入会话",detail:s.payload.reason},announcement:"事件历史已超出保留窗口,需要重新载入会话"};if(t.connection==="replay-required"||s.cursor<=t.lastCursor)return t;const l={...t,lastCursor:s.cursor,lastEventId:s.eventId};if(s.type==="settings_invalidated")return{...l,announcement:s.payload.revision===t.settings?.revision?"Host 设置已同步":s.payload.state==="invalid"?"设置文档无效,仍保留上一次可用值":"Host 设置已更新,正在刷新"};if(s.type==="workspace_resource_invalidated"){const f={...t.workspaceResourceEpochs[s.payload.workspaceId]??{files:0,git:0,review:0}};for(const p of s.payload.resources)f[p]=s.cursor;return{...l,workspaceResourceEpochs:{...t.workspaceResourceEpochs,[s.payload.workspaceId]:f},announcement:"项目资源已变化,可用面板正在刷新"}}if(s.type==="workbench_state"){const c=t.workspaceId!==""&&t.workspaceId!==s.payload.workspaceId||t.workspace!==""&&t.workspace!==s.payload.workspace;return{...c?Ls(l):l,contextRevision:s.payload.contextRevision,workspaceId:s.payload.workspaceId,workspace:s.payload.workspace,activeSessionId:c?null:t.activeSessionId}}if(s.type==="composer_state_changed"){const c=s.payload.state;return c.sessionId!==l.activeSessionId||c.workspaceId!==l.workspaceId||c.contextRevision!==l.contextRevision?l:uf(l,c)}if(s.type==="session_runtime_changed"){const c=s.payload.runtime,f=l.sessionProjectionById[c.sessionId],p=go(l.sessionRuntimeById,c),m=f?ho(l.sessionProjectionById,{...f,sessionRuntime:c}):l.sessionProjectionById;return c.sessionId!==l.activeSessionId?{...l,sessionProjectionById:m,sessionRuntimeById:p}:{...l,sessionProjectionById:m,sessionRuntimeById:p,processing:["running","waiting_approval","stopping"].includes(c.phase),sessionSnapshot:l.sessionSnapshot?.session.id===c.sessionId?{...l.sessionSnapshot,sessionRuntime:c}:l.sessionSnapshot,composer:l.composer?.sessionId===c.sessionId?{...l.composer,sessionRuntime:c}:l.composer}}if(s.type==="workspace_mutation_changed"){if(s.sessionId!==l.activeSessionId)return l;const c=l.tools.find(p=>p.callId===s.payload.state.callId);if(!c)return l;const f={phase:s.payload.state.phase,...s.payload.state.queuePosition===void 0?{}:{queuePosition:s.payload.state.queuePosition}};return{...l,tools:ma(l.tools,{...c,workspaceMutation:f}),announcement:f.phase==="queued"?`工具 ${c.name} 正在等待工作树写入`:f.phase==="running"?`工具 ${c.name} 已获得工作树写入权限`:l.announcement}}return s.sessionId!==null&&s.sessionId!==l.activeSessionId?l:s.type==="thread_event"?nv(l,s.payload.value):tv(l,s.payload.value,s.eventId,s.cursor,s.timestamp)}function nv(t,s){const l=s.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 tv(t,s,l,c,f){switch(s.type){case"transcript_append":{const p={...s.entry,id:`web-entry-${c}`,eventId:l,order:c,receivedAt:f};return{...t,transcript:to(t.transcript,p,lo)}}case"transcript_update":if(s.contentDelta!==void 0){const p=t.transcript.find(m=>m.id===s.id);if(!p||s.contentStart===void 0||(p.content??"").length!==s.contentStart){const m="流式回复基线已变化,需要重新载入会话。";return{...t,connection:"replay-required",replayReason:m,notice:{id:c,tone:"warning",title:"需要重新载入会话",detail:m},announcement:m}}}return{...t,transcript:t.transcript.map(p=>p.id===s.id?{...p,...s.patch,...s.contentDelta===void 0?{}:{content:`${p.content??""}${s.contentDelta}`}}:p)};case"transcript_finalize":return{...t,transcript:t.transcript.map(p=>p.id===s.id?{...p,...s.patch,live:!1}:p)};case"transcript_remove":return{...t,transcript:t.transcript.filter(p=>p.id!==s.id)};case"transcript_replace":{const p=Math.max(1,s.entries.length);return{...t,transcript:s.entries.slice(-lo).map((m,v)=>({...m,eventId:`${l}:${v}`,order:c-1+(v+1)/(p+1),receivedAt:f,live:!1}))}}case"transcript_clear":return{...Ls(t),activeSessionId:t.activeSessionId,statusMessage:"新会话已就绪"};case"status_changed":return{...t,statusMessage:s.message};case"permission_requested":return{...t,permission:{...s.request,eventId:l},announcement:`需要确认工具权限:${s.request.name}`};case"tool_started":{const p={callId:s.event.callId,eventId:l,order:c,name:s.event.name,args:s.event.args,sequence:s.event.sequence,state:"running",startedAt:f};return{...t,tools:ma(t.tools,p),announcement:`工具 ${p.name} 已开始`}}case"tool_finished":{const p=t.tools.find(v=>v.callId===s.event.callId),m={callId:s.event.callId,eventId:p?.eventId??l,order:p?.order??c,name:s.event.name,args:s.event.args,sequence:s.event.sequence,state:s.event.skipped?"skipped":s.event.success?"success":"error",startedAt:p?.startedAt,finishedAt:f,duration:s.event.duration,summary:s.event.summary,error:s.event.error,outputBytes:s.event.outputBytes,artifactId:s.event.artifactRef?.id,authorization:s.event.authorization};return{...t,tools:ma(t.tools,m),announcement:`工具 ${m.name} ${m.state==="success"?"已完成":m.state==="skipped"?"已跳过":"失败"}`}}case"edit_preview_requested":{const p={eventId:l,order:c,receivedAt:f,request:s.request};return{...t,edits:to(t.edits,p,Gg)}}case"session_restored":return{...t,activeSessionId:s.event.sessionId,statusMessage:`已恢复 ${s.event.restoredMessages} 条消息`,announcement:"会话恢复完成",notice:s.event.warnings&&s.event.warnings.length>0?{id:c,tone:"warning",title:"会话已恢复,但有注意事项",detail:s.event.warnings.join(" ")}:t.notice};case"loop_stats_updated":return{...t,loopStats:s.stats};case"trace_event_recorded":return{...t,traces:to(t.traces,s.event,Yg)};case"harness_diagnostics_updated":return{...t,diagnostics:{...t.diagnostics??{},harness:s.diagnostics}};case"subtask_event":{const p={...s.event,eventId:l,order:c,updatedAt:f},m=[...t.subtasks.filter(v=>v.taskId!==p.taskId),p].slice(-256);return{...t,subtasks:m}}case"research_event":return{...t,research:ov(t.research,s.event,l,c,f)};case"goal_event":return iv(t,s.event,f);case"effort_event":return{...t,effort:s.event};case"followup_queue_changed":return{...t,queue:s.snapshot};case"processing_changed":return{...t,processing:s.processing,permission:s.processing?t.permission:null,announcement:s.processing?"Orion 开始处理任务":"Orion 已完成当前处理"};case"agent_mode_changed":return{...t,mode:s.snapshot};case"clear_view":return{...t,transcript:[],tools:[],edits:[]};case"shutdown_requested":return{...t,connection:"closed",processing:!1,permission:null,statusMessage:s.reason??"Web Host 已关闭",announcement:"Orion Web Host 已关闭"};case"session_picker_requested":case"model_picker_requested":return t}}function Pd(t,s,l=!0){const c=df(s).slice(-lo),f=pf(s.runtime.agentMode)?s.runtime.agentMode:t.mode.baseMode,p=s.pendingApprovals[0],m=ff(s.goal);return{...Ls(t),lastCursor:l?Math.max(t.lastCursor,s.eventCursor):t.lastCursor,activeSessionId:s.session.id,sessionProjectionById:ho(t.sessionProjectionById,s),sessionRuntimeById:go(t.sessionRuntimeById,s.sessionRuntime),sessions:Ot(t.sessions,s.session),workspaceSessions:t.workspaceId?{...t.workspaceSessions,[t.workspaceId]:{status:"ready",items:Ot(t.workspaceSessions[t.workspaceId]?.items??t.sessions,s.session),nextCursor:t.workspaceSessions[t.workspaceId]?.nextCursor??t.sessionNextCursor}}:t.workspaceSessions,transcript:c,permission:p?{id:p.id,name:p.toolName,reason:p.reason,args:{...p.sanitizedArguments},eventId:`snapshot:${p.id}`}:null,processing:s.runtime.processing,statusMessage:s.runtime.status,mode:s.composer.mode??{baseMode:f,pendingBaseMode:null},queue:{items:s.composer.queue.items.map(v=>({...v})),limit:s.composer.queue.limit},goal:m,plan:s.plan??null,composer:s.composer,sessionSnapshot:s,diagnostics:{...t.diagnostics??{},activeSessionId:s.session.id,processing:s.runtime.processing,agentMode:f,permissionMode:s.runtime.permissionMode,contextUsage:s.runtime.contextUsage,tokenUsage:s.runtime.tokenUsage,plan:s.plan?.body??null,recoveryDiagnostics:s.recoveryDiagnostics},connection:t.connection==="replay-required"?"connecting":t.connection,replayReason:void 0,announcement:"会话状态已恢复"}}function rv(t,s){const l=t.workspaceId?{...t.workspaceSessions,[t.workspaceId]:{status:"ready",items:Ot(t.workspaceSessions[t.workspaceId]?.items??t.sessions,s.session),nextCursor:t.workspaceSessions[t.workspaceId]?.nextCursor??t.sessionNextCursor}}:t.workspaceSessions;return{...t,sessionProjectionById:ho(t.sessionProjectionById,s),sessionRuntimeById:go(t.sessionRuntimeById,s.sessionRuntime),sessions:Ot(t.sessions,s.session),workspaceSessions:l}}function uf(t,s){const l=t.sessionProjectionById[s.sessionId],c=l?ho(t.sessionProjectionById,{...l,sessionRuntime:s.sessionRuntime,composer:s}):t.sessionProjectionById;return{...t,composer:s,sessionSnapshot:t.sessionSnapshot?.session.id===s.sessionId?{...t.sessionSnapshot,sessionRuntime:s.sessionRuntime,composer:s}:t.sessionSnapshot,sessionProjectionById:c,sessionRuntimeById:go(t.sessionRuntimeById,s.sessionRuntime),processing:s.processing,mode:s.mode,queue:{items:s.queue.items.map(f=>({...f})),limit:s.queue.limit},diagnostics:{...t.diagnostics??{},contextUsage:s.contextUsage,agentMode:s.mode.baseMode}}}function sv(t,s){const l=Ot(t.sessions,s.session),c=t.workspaceSessions[t.workspaceId],f=!t.composer||t.composer.controlRevision===s.composer.controlRevision?s.composer:t.composer;return{...t,sessions:l,workspaceSessions:{...t.workspaceSessions,[t.workspaceId]:{status:"ready",items:Ot(c?.items??t.sessions,s.session),nextCursor:c?.nextCursor??t.sessionNextCursor}},goal:ff(s.goal),plan:s.plan,composer:f,sessionSnapshot:t.sessionSnapshot?.session.id===s.session.id?{...t.sessionSnapshot,session:s.session,goal:s.goal,plan:s.plan,composer:f,recoveryDiagnostics:s.recoveryDiagnostics}:t.sessionSnapshot,diagnostics:{...t.diagnostics??{},plan:s.plan?.body??null,recoveryDiagnostics:s.recoveryDiagnostics}}}function df(t){return t.transcript.items.map((s,l)=>{const c=Number.parseInt(s.id.split(":").at(-1)??"",10);return{id:s.id,role:s.role,content:s.content,eventId:`snapshot:${s.id}`,order:-1e9+(Number.isSafeInteger(c)?c:l),receivedAt:lv(s.timestamp),live:!1}})}function ff(t){if(!t||!Ps(t.state))return null;const s=t.state;if(typeof s.goalId!="string"||typeof s.objective!="string"||typeof s.status!="string")return null;const l=Ps(s.budget)?s.budget:null,c=Ps(s.lastStopDecision)?s.lastStopDecision:null,f=c&&Ps(c.reason)?Xi(c.reason.message):Xi(s.stopReason),p=Ps(s.criteria)?{passed:Bn(s.criteria.passed),total:Bn(s.criteria.total),failed:Bn(s.criteria.failed),stale:Bn(s.criteria.stale)}:void 0;return{goalId:s.goalId,revision:Bn(s.revision,Bn(s.generation,1)),objective:s.objective,status:s.status,tokenBudget:la(s.tokenBudget)??la(l?.maxTokens),tokensUsed:Bn(s.tokensUsed),timeUsedMs:Bn(s.timeUsedMs,Bn(s.elapsedMs)),continuationCount:Bn(s.continuationCount),updatedAt:Bn(s.updatedAt),stopReason:f,criteria:p,planRevision:la(s.planRevision),planPhase:Xi(s.planPhase),nextAction:Xi(s.nextAction),auditRemaining:Array.isArray(s.auditRemaining)?s.auditRemaining.filter(m=>typeof m=="string"):void 0}}function nr(t,s,l){const c=new Map(t.map(f=>[l(f),f]));for(const f of s)c.set(l(f),f);return[...c.values()]}function iv(t,s,l){switch(s.type){case"goal_updated":case"goal_restored":return{...t,goal:s.goal,goalActivity:$r(t.goalActivity,s.type,"Goal 状态已更新",l)};case"goal_completed":return{...t,goal:s.goal,goalActivity:$r(t.goalActivity,s.type,s.audit.verificationSummary,l),announcement:"Goal 已完成并通过运行时审计"};case"goal_cleared":return{...t,goal:null,goalEvidence:[],goalActivity:$r(t.goalActivity,s.type,s.reason,l)};case"goal_plan_updated":return{...t,goal:t.goal?{...t.goal,planRevision:s.planRevision,planPhase:s.phase,nextAction:s.nextAction}:t.goal,goalActivity:$r(t.goalActivity,s.type,s.nextAction??`Plan phase: ${s.phase}`,l)};case"goal_evidence_recorded":{const c=s.evidence;return{...t,goalEvidence:[...t.goalEvidence.filter(f=>f.id!==c.id),c].slice(-256)}}case"goal_continuation":return{...t,goalActivity:$r(t.goalActivity,`${s.type}:${s.phase}`,s.reason,l)};case"goal_audit_failed":return{...t,goalActivity:$r(t.goalActivity,s.type,s.summary,l),notice:{id:Date.parse(l),tone:"warning",title:"Goal 审计尚未通过",detail:s.summary}}}}function ov(t,s,l,c,f){const m=t.find(_=>_.packetId===s.packetId)??{packetId:s.packetId,eventId:l,order:c,updatedAt:f,stage:"running",sources:[],conflicts:[]};let v;switch(s.type){case"research_started":v={...m,eventId:l,order:c,updatedAt:f,objective:s.objective,mode:s.mode,stage:"running"};break;case"research_source":{const _={id:s.sourceId,provider:s.provider,status:s.status,title:s.title,location:s.displayUrl??s.canonicalUrl??s.projectPath,failureReason:s.failureReason};v={...m,eventId:l,order:c,updatedAt:f,sources:[...m.sources.filter(b=>b.id!==_.id),_].slice(-64)};break}case"research_conflict":v={...m,eventId:l,order:c,updatedAt:f,conflicts:[...m.conflicts.filter(_=>_!==s.claimId),s.claimId].slice(-64)};break;case"research_completed":v={...m,eventId:l,order:c,updatedAt:f,stage:s.stage,auditStatus:s.auditStatus,conclusion:s.conclusion,summary:s.summary};break}return[...t.filter(_=>_.packetId!==s.packetId),v].slice(-128)}function ma(t,s){return[...t.filter(l=>l.callId!==s.callId),s].sort((l,c)=>l.order-c.order).slice(-1e3)}function ho(t,s){const l=Object.entries(t).filter(([f])=>f!==s.session.id);l.push([s.session.id,s]);let c=l.reduce((f,[,p])=>f+Td(p),0);for(;l.length>1&&(l.length>Jg||c>cf);){const f=l.shift();f&&(c-=Td(f[1]))}return Object.freeze(Object.fromEntries(l))}function go(t,s){const l=Object.entries(t).filter(([c])=>c!==s.sessionId);return l.push([s.sessionId,s]),Object.freeze(Object.fromEntries(l.slice(-64)))}function Td(t){try{return JSON.stringify(t).length*2}catch{return cf}}function Ls(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 $r(t,s,l,c){return to(t,{type:s,message:l,timestamp:c},Xg)}function to(t,s,l){const c=[...t,s];return c.length<=l?c:c.slice(c.length-l)}function Md(t,s){const l=t.agentMode;return pf(l)?{baseMode:l,pendingBaseMode:null}:s}function pf(t){return t==="interactive"||t==="plan"||t==="auto"}function lv(t){const s=new Date(t);return Number.isFinite(s.getTime())?s.toISOString():new Date(0).toISOString()}function Ps(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function Bn(t,s=0){return typeof t=="number"&&Number.isFinite(t)?t:s}function la(t){return typeof t=="number"&&Number.isFinite(t)?t:void 0}function Xi(t){return typeof t=="string"&&t?t:void 0}function av(){return typeof navigator>"u"||navigator.onLine}function cv(t,s){return t==="live"?"实时连接已恢复":t==="offline"?"网络已离线,Orion 将在恢复后重连":t==="reconnecting"?`正在重新连接,第 ${Math.max(1,s)} 次尝试`:t==="connecting"?"正在连接 Orion Runtime":t==="replay-required"?"需要重新载入会话":"Orion Web Host 已关闭"}const $d="orion.web.theme",Dd="orion.web.motion";function uv(t){const s=Od($d),l=Od(Dd),c=dv(s),f=fv(l),p=[],m=[];return s!==null&&m.push($d),l!==null&&m.push(Dd),t.sections.appearance.theme.explicitValue===void 0&&c&&p.push({op:"set",key:"appearance.theme",value:c}),t.sections.appearance.motion.explicitValue===void 0&&f&&p.push({op:"set",key:"appearance.motion",value:f}),{operations:p,keysToClear:m}}function Ld(t){if(!(typeof window>"u"))for(const s of t)try{window.localStorage.removeItem(s)}catch{}}function Od(t){if(typeof window>"u")return null;try{return window.localStorage.getItem(t)}catch{return null}}function dv(t){return t==="system"||t==="light"||t==="dark"?t:null}function fv(t){return t==="system"||t==="reduced"?t:null}class pv{constructor(s){bn(this,"read");bn(this,"snapshot",Object.freeze({status:"idle",document:null,lastGood:null,stale:!1,error:null,generation:0}));bn(this,"listeners",new Set);bn(this,"inFlight",null);bn(this,"rerun",!1);bn(this,"generation",0);bn(this,"disposed",!1);this.read=s}getSnapshot(){return this.snapshot}subscribe(s){return this.listeners.add(s),()=>this.listeners.delete(s)}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 s=Promise.resolve().then(()=>this.run());return this.inFlight=s,s}accept(s){return this.disposed?this.snapshot:(this.generation+=1,this.inFlight&&(this.rerun=!0),this.publishDocument(s))}invalidate(s,l){return this.snapshot.document?.revision===s&&(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 s=++this.generation;this.setSnapshot({...this.snapshot,status:this.snapshot.document?"ready":"loading",error:null,generation:s});try{const l=await this.read();if(this.disposed)return this.snapshot;if(s!==this.generation)continue;this.publishDocument(l)}catch(l){if(this.disposed)return this.snapshot;if(s!==this.generation)continue;this.setSnapshot({...this.snapshot,status:this.snapshot.document?"ready":"unavailable",stale:!0,error:l instanceof Error?l.message:"设置读取失败。",generation:s})}}while(this.rerun&&!this.disposed);return this.snapshot}finally{if(this.inFlight=null,this.rerun&&!this.disposed)return this.refresh()}}publishDocument(s){const l=s.state==="ready"?s:this.snapshot.lastGood;return this.setSnapshot({status:"ready",document:s,lastGood:l,stale:!1,error:null,generation:this.generation}),this.snapshot}setSnapshot(s){this.snapshot=Object.freeze(s);for(const l of this.listeners)l()}}function mv(t,s,l){if(t)return t;const c=new Set(s.map(f=>f.id));return l&&c.has(l)?l:s[0]?.id??null}function hv(){const t=g.useMemo(()=>new wh,[]),s=g.useMemo(()=>new pv(()=>t.settings()),[t]),[l,c]=g.useReducer(Zg,af),[f,p]=g.useState(0),m=g.useRef(l),v=g.useRef(null),_=g.useRef(0),b=g.useRef(0),F=g.useRef(new Map),R=g.useRef(0),A=g.useRef(!1);m.current=l,g.useEffect(()=>s.subscribe(()=>{c({type:"settings_mirror_changed",snapshot:s.getSnapshot()})}),[s]);const P=g.useCallback(async(C,E=Re(m.current))=>{try{const M=await t.sessionSnapshot(C,E);if(M.session.id!==C)throw new Ee("Host 返回了其他会话的快照。",502);return c({type:"session_snapshot_loaded",snapshot:M,advanceEventCursor:v.current===null}),M}catch(M){throw c({type:"snapshot_failed",sessionId:C,detail:Ms(M)}),M}},[t]),V=g.useCallback(async()=>{const C=++b.current;try{const E=await t.bootstrap(),M={expectedContextRevision:E.contextRevision,workspaceId:E.workspaceId};s.reset(),s.accept(E.settings);const[te,fe,rn]=await Promise.all([t.listWorkspaces(M),t.listSessions(M),s.refresh()]),Ue=vv(E.workspaceId,fe.sessions,E.activeSessionId);Ts(E.workspaceId,Ue);const Xn=Object.freeze({...E,activeSessionId:Ue}),Jn=Ue?await t.sessionSnapshot(Ue,M).then(Mn=>({snapshot:Mn,error:void 0})).catch(Mn=>({snapshot:null,error:Mn})):{snapshot:null,error:void 0},zs=await gv(t,s,rn.document??rn.lastGood??E.settings,M);if(C!==b.current)return;c({type:"baseline_loaded",bootstrap:Xn,workspaces:te,sessions:fe.sessions,sessionNextCursor:fe.nextCursor,diagnostics:{},settings:zs,skills:[],skillNextCursor:null,mcpServers:[],mcpNextCursor:null,toolDetails:[],toolDetailNextCursor:null}),Jn.snapshot&&(Jn.snapshot.session.id===Ue?c({type:"session_snapshot_loaded",snapshot:Jn.snapshot}):c({type:"snapshot_failed",sessionId:Ue,detail:"活动会话已在其他页面发生变化,请恢复当前会话。"})),Jn.error&&(c({type:"snapshot_failed",sessionId:Ue,detail:Ms(Jn.error)}),Ji(c,"会话快照加载失败",Jn.error,"warning")),t.workspaceProjectSummary(E.workspaceId,M).then(Mn=>{C===b.current&&c({type:"workspace_project_summary_loaded",summary:Mn})}).catch(()=>{}),Promise.all([t.diagnostics(M).catch(()=>({})),t.skills(M).catch(()=>({skills:[],nextCursor:null})),t.mcp(M).catch(()=>({servers:[],nextCursor:null})),t.toolDetails(M).catch(()=>({details:[],nextCursor:null}))]).then(([Mn,Qr,ht,ur])=>{C===b.current&&(c({type:"diagnostics_loaded",diagnostics:Mn}),c({type:"capabilities_loaded",skills:Qr.skills,skillNextCursor:Qr.nextCursor,mcpServers:ht.servers,mcpNextCursor:ht.nextCursor}),c({type:"tool_details_loaded",details:ur.details,nextCursor:ur.nextCursor}))})}catch(E){throw E}},[t,s]),H=g.useCallback(async()=>{let C;for(let E=0;E<3;E+=1)try{await V();return}catch(M){if(C=M,!kv(M)||E===2)break;await jv(100*3**E)}throw c({type:"boot_failed",message:Ms(C)}),C},[V]);g.useEffect(()=>{if(A.current)return;A.current=!0;let C=!0;return H().catch(()=>{}),()=>{C=!1}},[H]);const W=l.bootstrap!==null;g.useEffect(()=>{if(!W)return;const C=t.connectEvents({cursor:m.current.lastCursor,onEvent:E=>{if(c({type:"event_received",envelope:E}),Sv(E)){const M=m.current;if(E.sessionId&&M.contextRevision&&M.workspaceId){const te=E.sessionId,fe=++R.current;F.current.set(te,fe);const rn=M.contextRevision,Ue=M.workspaceId;t.sessionSnapshot(te,{expectedContextRevision:rn,workspaceId:Ue}).then(Xn=>{F.current.get(te)===fe&&c({type:"durable_session_metadata_loaded",snapshot:Xn,contextRevision:rn,workspaceId:Ue})}).catch(()=>{}).finally(()=>{F.current.get(te)===fe&&F.current.delete(te)})}}E.type==="settings_invalidated"&&s.invalidate(E.payload.revision,E.payload.state)},onStatus:(E,M)=>c({type:"connection_changed",phase:E,attempt:M}),onProtocolError:E=>c({type:"notice",notice:{id:Date.now(),tone:"error",title:"收到无法识别的 Runtime 事件",detail:E}})});return v.current=C,()=>{C.close(),v.current===C&&(v.current=null)}},[t,W,s,f]);const J=g.useCallback(()=>{v.current?.close(),v.current=null},[]),z=g.useCallback(()=>{p(C=>C+1)},[]);g.useEffect(()=>{!l.workspace||l.boot!=="ready"||l.pendingAction||l.bootstrap?.workspace!==l.workspace&&(J(),H().catch(C=>Ji(c,"工作区刷新失败",C)).finally(z))},[H,J,z,l.boot,l.bootstrap?.workspace,l.pendingAction,l.workspace]),g.useEffect(()=>{l.boot==="ready"&&(l.pendingAction||!l.activeSessionId||l.bootstrap?.workspace===l.workspace&&l.sessionSnapshot?.session.id!==l.activeSessionId&&P(l.activeSessionId).catch(C=>Ji(c,"会话刷新失败",C)))},[P,l.activeSessionId,l.boot,l.bootstrap?.workspace,l.pendingAction,l.sessionSnapshot,l.workspace]);const Q=g.useCallback(async(C,E)=>{const M=++_.current;c({type:"pending_action",label:C});try{return await E()}catch(te){throw Ji(c,`${C}失败`,te),te}finally{_.current===M&&c({type:"pending_action",label:null})}},[]),B=g.useCallback(async(C,E)=>Q(C,async()=>{if(m.current.connection!=="live")throw new Ee("会话连接尚未同步,请恢复连接后重试。",409,"session_not_synchronized");const M=m.current.activeSessionId;if(!M)throw new Ee("当前没有可接收命令的活动会话。",409,"active_session_changed");const te=m.current.sessionSnapshot;if(!te||te.session.id!==M)throw new Ee("会话 Runtime 状态尚未同步,请刷新后重试。",409,"session_runtime_revision_conflict");try{const fe=await t.command({...E,workspaceId:m.current.workspaceId,expectedContextRevision:m.current.contextRevision,expectedSessionId:M,expectedSessionRuntimeRevision:te.sessionRuntime.runtimeRevision});return xv(fe),fe}catch(fe){throw fe instanceof Ee&&["context_revision_conflict","active_session_changed","session_runtime_revision_conflict"].includes(fe.code??"")&&c({type:"snapshot_failed",sessionId:M,detail:fe.message}),fe}}),[t,Q]),Y=g.useCallback(async(C,E)=>Q(C,async()=>{const M=m.current,te=M.composer;if(M.connection!=="live"||!M.activeSessionId||!te||te.sessionId!==M.activeSessionId)throw new Ee("Composer 控制状态尚未与活动会话同步。",409,"composer_control_conflict");try{const fe=await t.composerAction(M.activeSessionId,{...E,workspaceId:M.workspaceId,expectedContextRevision:M.contextRevision,expectedSessionId:M.activeSessionId,expectedSessionRuntimeRevision:te.sessionRuntime.runtimeRevision,expectedControlRevision:te.controlRevision});return c({type:"composer_loaded",composer:fe.state}),fe}catch(fe){throw fe instanceof Ee&&["composer_control_conflict","context_revision_conflict","active_session_changed","session_runtime_revision_conflict"].includes(fe.code??"")&&c({type:"snapshot_failed",sessionId:M.activeSessionId,detail:fe.message}),fe}}),[t,Q]),k=g.useCallback(()=>Q("重新连接",H),[H,Q]),D=g.useCallback(()=>Q("刷新诊断",async()=>{const C=++b.current,E=await t.diagnostics(Re(m.current));C===b.current&&c({type:"diagnostics_loaded",diagnostics:E})}),[t,Q]),X=g.useCallback(()=>Q("刷新工具详情",async()=>{const C=++b.current,E=await t.toolDetails(Re(m.current));C===b.current&&c({type:"tool_details_loaded",details:E.details,nextCursor:E.nextCursor})}),[t,Q]),he=g.useCallback(()=>Q("加载更多工作区",async()=>{const C=Re(m.current),E=m.current.workspaceNextCursor;if(E)try{const M=await t.listWorkspaces(C,E);c({type:"workspaces_loaded",value:M,append:!0})}catch(M){if(!Zi(M))throw M;c({type:"workspaces_loaded",value:await t.listWorkspaces(C)})}}),[t,Q]),ve=g.useCallback(()=>Q("加载更多会话",async()=>{const C=m.current.sessionNextCursor;if(!C)return;const E=Re(m.current);try{const M=await t.listSessions(E,C);c({type:"sessions_loaded",sessions:M.sessions,nextCursor:M.nextCursor,append:!0})}catch(M){if(!Zi(M))throw M;const te=await t.listSessions(E);c({type:"sessions_loaded",sessions:te.sessions,nextCursor:te.nextCursor})}}),[t,Q]),Me=g.useCallback(async(C,E=!1)=>{const M=Re(m.current),te=m.current.workspaceSessions[C],fe=E?te?.nextCursor:void 0;if(E&&!fe)return;c({type:"workspace_sessions_loading",workspaceId:C});const rn=t.workspaceProjectSummary(C,M).catch(()=>null);try{const Ue=await t.listWorkspaceSessions(C,M,fe??void 0);c({type:"workspace_sessions_loaded",workspaceId:C,sessions:Ue.sessions,nextCursor:Ue.nextCursor,append:E});const Xn=await rn;Xn&&c({type:"workspace_project_summary_loaded",summary:Xn})}catch(Ue){throw c({type:"workspace_sessions_failed",workspaceId:C,detail:Ms(Ue)}),Ue}},[t]),Ie=g.useCallback(async C=>{const E=await t.workspaceProjectSummary(C,Re(m.current));c({type:"workspace_project_summary_loaded",summary:E})},[t]),ie=g.useCallback(()=>Q("加载更多能力",async()=>{const C=Re(m.current),E=m.current.skillNextCursor,M=m.current.mcpNextCursor;if(!(!E&&!M))try{const[te,fe]=await Promise.all([E?t.skills(C,E):Promise.resolve({skills:[],nextCursor:null}),M?t.mcp(C,M):Promise.resolve({servers:[],nextCursor:null})]);c({type:"capabilities_loaded",skills:te.skills,skillNextCursor:te.nextCursor,mcpServers:fe.servers,mcpNextCursor:fe.nextCursor,append:!0})}catch(te){if(!Zi(te))throw te;const[fe,rn]=await Promise.all([t.skills(C),t.mcp(C)]);c({type:"capabilities_loaded",skills:fe.skills,skillNextCursor:fe.nextCursor,mcpServers:rn.servers,mcpNextCursor:rn.nextCursor})}}),[t,Q]),Ce=g.useCallback(()=>Q("加载更多工具详情",async()=>{const C=Re(m.current),E=m.current.toolDetailNextCursor;if(E)try{const M=await t.toolDetails(C,E);c({type:"tool_details_loaded",details:M.details,nextCursor:M.nextCursor,append:!0})}catch(M){if(!Zi(M))throw M;const te=await t.toolDetails(C);c({type:"tool_details_loaded",details:te.details,nextCursor:te.nextCursor})}}),[t,Q]),Z=g.useCallback(()=>Q("恢复会话",async()=>{J(),c({type:"recovering"});try{await H()}finally{z()}}),[H,J,z,Q]),je=g.useCallback(C=>Q("切换工作区",async()=>{J();try{const E=await t.activateWorkspace(C,Re(m.current));c({type:"workspaces_loaded",value:E}),c({type:"reset_session_view",activeSessionId:null}),await H()}finally{z()}}),[t,H,J,z,Q]),we=g.useCallback(C=>{const E=m.current;if(E.activeSessionId===C&&E.sessionSnapshot)return Promise.resolve();const M=Re(E),te=async()=>{Ts(M.workspaceId,C),c({type:"reset_session_view",activeSessionId:C}),await P(C,M)};return E.sessionProjectionById[C]?te():Q("切换会话",te)},[P,Q]),j=g.useCallback((C,E)=>C===m.current.workspaceId&&E?we(E):Q("切换项目上下文",async()=>{const M=m.current,te=M.contextRevision;if(!te)throw new Ee("工作区上下文尚未完成同步。",409,"context_revision_conflict");if(C===M.workspaceId){Ts(C,E),c({type:"reset_session_view",activeSessionId:E}),E&&await P(E,Re(M));return}Ts(C,E),J(),++b.current;try{const fe=await t.activateContext({expectedContextRevision:te,workspaceId:C,sessionId:E});if(fe.contextRevision!==fe.bootstrap.contextRevision||fe.bootstrap.workspaceId!==C)throw new Ee("Host 返回的项目上下文不一致。",502,"context_response_invalid");c({type:"reset_session_view",activeSessionId:E}),await H()}catch(fe){throw fe instanceof Ee&&(fe.code==="context_revision_conflict"||fe.code==="active_session_changed")&&c({type:"snapshot_failed",sessionId:null,detail:fe.message}),fe}finally{z()}}),[t,H,P,J,z,Q,we]),G=g.useCallback((C,E)=>Q(E?"置顶项目":"取消置顶",async()=>{await t.setWorkspacePinned(C,E,Re(m.current)),c({type:"workspaces_loaded",value:await t.listWorkspaces(Re(m.current))})}),[t,Q]),q=g.useCallback(C=>Q("移除项目",async()=>{const E=m.current;if(!E.contextRevision)throw new Ee("工作区上下文尚未完成同步。",409,"context_revision_conflict");await t.removeWorkspace(C,Re(E)),Um(C),c({type:"workspaces_loaded",value:await t.listWorkspaces(Re(m.current))})}),[t,Q]),w=g.useCallback(()=>Q("创建会话",async()=>{const C=Re(m.current),E=await t.createSession(C);Ts(C.workspaceId,E.id),c({type:"sessions_loaded",sessions:Ot(m.current.sessions,E),nextCursor:m.current.sessionNextCursor}),c({type:"reset_session_view",activeSessionId:E.id}),await P(E.id,C)}),[t,P,Q]),T=we,ce=g.useCallback(()=>Q("加载更早记录",async()=>{const C=m.current.sessionSnapshot,E=m.current.activeSessionId,M=C?.transcript.nextCursor;if(!(!C||!E||!M))try{const te=await t.sessionSnapshot(E,Re(m.current),M);if(te.session.id!==C.session.id||te.threadId!==C.threadId||te.threadCursor!==C.threadCursor||te.projectionDigest!==C.projectionDigest)throw new Ee("加载历史记录时会话快照发生变化,正在恢复最新快照。",409,"transcript_cursor_stale");c({type:"older_transcript_loaded",snapshot:te})}catch(te){if(!(te instanceof Ee)||te.code!=="transcript_cursor_stale")throw te;J(),c({type:"recovering"});try{await P(E)}finally{z()}}}),[t,P,J,z,Q]),pe=g.useCallback((C,E)=>Q("重命名会话",async()=>{const M=await t.renameSession(C,E,Re(m.current)),te=Ot(m.current.sessions,M);c({type:"sessions_loaded",sessions:te,nextCursor:m.current.sessionNextCursor})}),[t,Q]),ye=g.useCallback((C,E)=>B("提交任务",{type:"submit",text:C,contextReferences:E}),[B]),se=g.useCallback((C,E)=>B("加入队列",{type:"queue_followup",text:C,contextReferences:E}),[B]),xe=g.useCallback(async(C,E)=>{await Y("移除排队消息",{type:"remove_queue_item",itemId:C,expectedItemRevision:E})},[Y]),Se=g.useCallback(async(C,E,M)=>{await Y("编辑排队消息",{type:"edit_queue_item",itemId:C,expectedItemRevision:E,text:M})},[Y]),Ne=g.useCallback(async(C,E,M)=>{await Y("移动排队消息",{type:"move_queue_item",itemId:C,expectedItemRevision:E,targetIndex:M})},[Y]),oe=g.useCallback(async()=>{await B("清空队列",{type:"clear_followups"})},[B]),ge=g.useCallback(async()=>{const C=m.current.sessionSnapshot?.sessionRuntime;if(!C||C.phase!=="queued"||!C.queueId)throw new Ee("排队任务已变化,请等待状态同步后重试。",409,"session_queue_conflict");await B("取消排队任务",{type:"cancel_queued_turn",queueId:C.queueId})},[B]),$e=g.useCallback(async()=>{await B("中断任务",{type:"interrupt"})},[B]),ln=g.useCallback(async C=>{m.current.mode.baseMode===C&&!m.current.mode.pendingBaseMode||await Y("切换模式",{type:"set_agent_mode",mode:C})},[Y]),jn=g.useCallback(async C=>{await Y(C===null?"继承项目权限":"切换会话权限",C===null?{type:"clear_permission_override"}:{type:"set_permission_override",value:C})},[Y]),At=g.useCallback(()=>Q("加载模型目录",async()=>{const C=m.current;if(!C.activeSessionId)return;const E=await t.modelCatalog(C.activeSessionId,Re(C));c({type:"model_catalog_loaded",catalog:E})}),[t,Q]),dt=g.useCallback(async(C,E)=>{await Y("切换会话模型",{type:"select_model",modelId:C,...E?{effort:E}:{}})},[Y]),Tn=g.useCallback(async()=>{await Y("压缩上下文",{type:"compact_context"})},[Y]),zr=g.useCallback(async(C,E,M)=>{await Y("审核计划",{type:"review_plan",planDigest:C,action:E,...M?{feedback:M}:{}})},[Y]),or=g.useCallback(async(C,E="once")=>{const M=m.current.permission;M&&(await B(C?"确认工具权限":"拒绝工具权限",{type:"permission_decision",requestPermissionId:M.id,approved:C,scope:E}),c({type:"approval_resolved",requestId:M.id,approved:C}))},[B]),ft=g.useCallback(async(C,E)=>{await B("更新 Goal",{type:"goal_control",goalAction:C,objective:E});const M=++b.current;J();try{const te=m.current.activeSessionId,fe=Re(m.current),[rn]=await Promise.all([t.diagnostics(fe),te?P(te):Promise.resolve()]);if(M!==b.current)return;c({type:"diagnostics_loaded",diagnostics:rn})}finally{z()}},[t,P,J,z,B]),Yn=g.useCallback(async()=>{const C=await s.refresh(),E=C.document??C.lastGood;if(!E)throw new Ee(C.error??"设置尚不可用。",503);return E},[s]),lr=g.useCallback(async(C,E,M)=>{if(E.length<1||E.length>20)throw new Ee("设置变更必须包含 1 到 20 个字段。",400,"settings_invalid_operation");const te=await t.updateSettings(C,E,Re(m.current),M);return s.accept(te.settings),te},[t,s]),Fr=g.useCallback(async()=>{await t.openSettingsDocument()},[t]),Br=g.useCallback((C,E=0)=>t.readToolDetail(C,Re(m.current),E),[t]),qr=g.useCallback((C,E)=>t.listFiles(Re(m.current),C,E),[t]),Wr=g.useCallback((C,E)=>t.readFileContent(C,Re(m.current),E),[t]),ar=g.useCallback(C=>t.gitStatus(Re(m.current),C),[t]),zt=g.useCallback(C=>t.gitLog(Re(m.current),C),[t]),Ur=g.useCallback((C,E)=>t.gitDiff(C,Re(m.current),E),[t]),pt=g.useCallback(()=>t.review(Re(m.current)),[t]),mt=g.useCallback(async()=>(await t.terminals(Re(m.current))).terminals,[t]),Os=g.useCallback(async(C,E)=>{const M=m.current;if(!M.contextRevision||!M.workspaceId)throw new Ee("工作区上下文尚未完成同步。",409,"context_revision_conflict");return t.createTerminal({expectedContextRevision:M.contextRevision,workspaceId:M.workspaceId,cols:C,rows:E})},[t]),Vr=g.useCallback(async C=>{const E=m.current;if(!E.contextRevision||!E.workspaceId)throw new Ee("工作区上下文尚未完成同步。",409,"context_revision_conflict");return t.terminalAttachTicket(C,{expectedContextRevision:E.contextRevision,workspaceId:E.workspaceId})},[t]),Hr=g.useCallback(async C=>{const E=m.current;if(!E.contextRevision||!E.workspaceId)throw new Ee("工作区上下文尚未完成同步。",409,"context_revision_conflict");await t.closeTerminal(C,{expectedContextRevision:E.contextRevision,workspaceId:E.workspaceId})},[t]),As=g.useCallback(C=>t.terminalSocket(C),[t]),cr=g.useCallback(()=>c({type:"notice",notice:null}),[]),Kr=g.useMemo(()=>({retryBoot:k,refreshDiagnostics:D,refreshToolDetails:X,loadMoreWorkspaces:he,loadMoreSessions:ve,loadWorkspaceSessions:Me,refreshWorkspaceProjectSummary:Ie,loadMoreCapabilities:ie,loadMoreToolDetails:Ce,recoverSession:Z,switchWorkspace:je,activateContext:j,setWorkspacePinned:G,removeWorkspace:q,createSession:w,activateSession:T,loadOlderTranscript:ce,renameSession:pe,submit:ye,queue:se,removeQueued:xe,editQueued:Se,moveQueued:Ne,clearQueue:oe,cancelQueuedTurn:ge,interrupt:$e,setMode:ln,setPermissionOverride:jn,loadModelCatalog:At,selectModel:dt,compactContext:Tn,reviewPlan:zr,answerPermission:or,controlGoal:ft,refreshSettings:Yn,updateSettings:lr,openSettingsDocument:Fr,readToolDetail:Br,listFiles:qr,readFileContent:Wr,gitStatus:ar,gitLog:zt,gitDiff:Ur,review:pt,terminals:mt,createTerminal:Os,terminalAttachTicket:Vr,closeTerminal:Hr,terminalSocket:As,dismissNotice:cr}),[T,j,Hr,Os,Ur,zt,ar,qr,ce,ie,ve,Ce,he,At,Me,or,oe,ge,Tn,zr,ft,w,cr,Se,$e,se,Wr,Br,pt,Z,D,Yn,X,Ie,xe,q,pe,k,ln,jn,dt,G,ye,je,Ne,Vr,As,mt,lr,Fr]);return{state:l,actions:Kr}}async function gv(t,s,l,c){let f=l;for(let p=0;p<2;p+=1){const m=uv(f);if(m.keysToClear.length===0||f.state!=="ready"||!f.writable)return f;if(m.operations.length===0)return Ld(m.keysToClear),f;try{const v=await t.updateSettings(f.revision,m.operations,c,tn());return s.accept(v.settings),Ld(m.keysToClear),v.settings}catch(v){if(p===0&&v instanceof Ee&&v.code==="settings_revision_conflict"){const _=await s.refresh(),b=_.document??_.lastGood;if(b){f=b;continue}}return f}}return f}function Re(t){if(!t.contextRevision||!t.workspaceId)throw new Ee("工作区上下文尚未完成同步。",409,"context_revision_conflict");return{expectedContextRevision:t.contextRevision,workspaceId:t.workspaceId}}const Ad="orion.web.view-id.v1",mf="orion.web.foreground-session.v1:";function vv(t,s,l){const c=hf(`${mf}${t}`);return mv(c,s,l)}function Ts(t,s){yv();const l=`${mf}${t}`;try{s?globalThis.sessionStorage?.setItem(l,s):globalThis.sessionStorage?.removeItem(l)}catch{}}function yv(){const t=hf(Ad);if(t)return t;const s=globalThis.crypto?.randomUUID?.()??`view-${Date.now().toString(36)}`;try{globalThis.sessionStorage?.setItem(Ad,s)}catch{}return s}function hf(t){try{return globalThis.sessionStorage?.getItem(t)??null}catch{return null}}function xv(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 Ee(wv(t),409)}function wv(t){if(t.detail)try{const s=JSON.parse(t.detail);if(typeof s.reason=="string")return s.reason}catch{}return`Runtime 未接受操作:${t.result}`}function Ji(t,s,l,c="error"){t({type:"notice",notice:{id:Date.now(),tone:c,title:s,detail:Ms(l)}})}function Ms(t){return t instanceof Ee||t instanceof Error?t.message:"发生未知错误。"}function Zi(t){return t instanceof Ee&&t.code==="collection_cursor_stale"}function kv(t){return t instanceof Ee&&["context_revision_conflict","runtime_busy","active_session_changed"].includes(t.code??"")}function jv(t){return new Promise(s=>{globalThis.setTimeout(s,t)})}function Sv(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}function Cv(){const{state:t,actions:s}=hv(),[l,c]=g.useState(!1),[f,p]=g.useState(Tm),[m,v]=g.useState(!1),[_,b]=g.useState(!1),[F,R]=g.useState(!1),[A,P]=g.useState(null),[V,H]=g.useState(null),W=g.useRef(null),J=g.useRef(!1),z=g.useRef(!1),Q=g.useRef(null),B=Nv(Q),Y=sa(B,f),k=Y.projectNavigation.mode==="drawer",D=Y.workPanel.mode==="drawer",X=Y.workPanel.mode==="rail"&&f.workPanel.expanded,he=D||X&&m,ve=D||X?m:Y.workPanel.mode==="dock",Me=he&&m,Ie=k&&l,ie=Ie||Me,Ce=t.settings?.state==="ready"?t.settings:t.settingsMirror.lastGood??t.settings,Z=Ce?.sections.appearance.theme.effectiveValue,je=Ce?.sections.appearance.motion.effectiveValue,we=Ce?.sections.appearance.style.effectiveValue??"orion-blocksmith",j=g.useCallback(oe=>{p(ge=>{const $e={...ge,projectNavigation:{...ge.projectNavigation,...oe}};return dd($e),$e})},[]),G=g.useCallback(oe=>{p(ge=>{const $e={...ge,workPanel:{...ge.workPanel,...oe}};return dd($e),$e})},[]),q=g.useCallback(()=>{W.current=document.activeElement instanceof HTMLElement?document.activeElement:null},[]),w=g.useCallback(()=>{requestAnimationFrame(()=>document.querySelector(".project-search input")?.focus())},[]),T=g.useCallback(()=>{requestAnimationFrame(()=>document.querySelector('.workspace-rail [aria-label="打开设置"]')?.focus())},[]),ce=g.useCallback(()=>{k&&(q(),v(!1),c(!0)),T()},[T,k,q]),pe=g.useCallback(()=>{J.current=Ie,Ie&&(c(!1),v(!1),W.current=null),b(!0)},[Ie]),ye=g.useCallback(()=>{b(!1),J.current&&(J.current=!1,z.current=!0,c(!0))},[]),se=g.useCallback(()=>{c(!1),v(!1),z.current=!1;const oe=W.current;W.current=null,oe&&requestAnimationFrame(()=>oe.focus())},[]);g.useLayoutEffect(()=>{document.documentElement.dataset.theme=Z??"system",document.documentElement.dataset.motion=je??"system",document.documentElement.dataset.uiStyle=we},[je,Z,we]),g.useEffect(()=>{const oe=window.matchMedia("(prefers-color-scheme: light)"),ge=document.querySelector('meta[name="theme-color"]'),$e=()=>{ge&&(ge.content=Qg(we,Z??"system",oe.matches))};return $e(),oe.addEventListener("change",$e),()=>oe.removeEventListener("change",$e)},[Z,we]),g.useEffect(()=>{c(!1),v(!1),W.current=null,J.current=!1,z.current=!1},[t.activeSessionId,t.workspace]),g.useLayoutEffect(()=>{c(!1),v(!1),W.current=null,z.current=!1},[Y.projectNavigation.mode,Y.workPanel.mode,k,D]),g.useEffect(()=>{const oe=ge=>{if(!(ge.metaKey||ge.ctrlKey)||ge.shiftKey||ge.altKey||ge.code!=="KeyB")return;if(ge.preventDefault(),k){if(l){se();return}q(),v(!1),c(!0);return}const $e=!f.projectNavigation.expanded,ln=!!(!$e&&document.activeElement?.closest(".workspace-rail"));j({expanded:$e}),$e?w():ln&&requestAnimationFrame(()=>{(document.querySelector('.project-navigator-collapsed [aria-label="展开项目导航"]')??document.querySelector(".mobile-nav-toggle"))?.focus()})};return window.addEventListener("keydown",oe),()=>window.removeEventListener("keydown",oe)},[se,w,l,k,f.projectNavigation.expanded,q,j]),g.useEffect(()=>{if(!ie)return;const oe=document.querySelector(".conversation-column"),ge=document.querySelector(".workspace-rail"),$e=document.querySelector(".work-panel"),ln=document.querySelector(".workbench-notice"),jn=document.querySelector(".skip-link");oe&&(oe.inert=!0),ge&&(ge.inert=Me),$e&&($e.inert=l),ln&&(ln.inert=!0),jn&&(jn.inert=!0);const At=window.setTimeout(()=>{const Tn=Me?$e?.querySelector('[aria-label="关闭工作面板"]'):z.current?ge?.querySelector('[aria-label="打开设置"]'):ge?.querySelector(".drawer-close");z.current=!1,Tn?.focus()},0),dt=Tn=>{Tn.key==="Escape"&&!Tn.target?.closest?.('[role="alertdialog"]')&&se()};return window.addEventListener("keydown",dt),()=>{oe&&(oe.inert=!1),ge&&(ge.inert=!1),$e&&($e.inert=!1),ln&&(ln.inert=!1),jn&&(jn.inert=!1),window.clearTimeout(At),window.removeEventListener("keydown",dt)}},[se,ie,l,Me,t.notice]);const xe=g.useCallback(()=>{requestAnimationFrame(()=>document.querySelector("#main-content h1")?.focus())},[]),Se=()=>{c(!1),s.createSession().then(xe,xe)},Ne=()=>{J.current=!1,z.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:Q,className:`workbench-shell project-navigation-${Y.projectNavigation.mode} work-panel-mode-${Y.workPanel.mode} ${X&&m?"work-panel-transient-overlay":""}`,style:{"--project-navigation-width":`${Y.projectNavigation.widthPx}px`,"--project-navigation-preferred-width":`${f.projectNavigation.widthPx}px`,"--work-panel-width":`${Y.workPanel.widthPx}px`,"--work-panel-preferred-width":`${f.workPanel.widthPx}px`},"aria-busy":t.boot==="loading",children:[i.jsx(Dm,{state:t,drawerOpen:Ie,dockVisible:!0,collapsed:Y.projectNavigation.mode==="rail",resizable:Y.projectNavigation.mode==="dock",onCloseDrawer:se,onExpand:()=>{k?(q(),v(!1),c(!0)):(j({expanded:!0}),w())},onCollapse:()=>{k?se():j({expanded:!1})},onOpenWorkspaceDialog:()=>R(!0),onOpenSettings:pe,onLoadMoreWorkspaces:()=>{s.loadMoreWorkspaces()},onCreateSession:Se,onLoadWorkspaceSessions:(oe,ge)=>{s.loadWorkspaceSessions(oe,ge)},onActivateContext:(oe,ge)=>{c(!1),s.activateContext(oe,ge).then(xe,xe)},onSetPinned:(oe,ge)=>{s.setWorkspacePinned(oe,ge)},onRemoveWorkspace:oe=>{s.removeWorkspace(oe)},onRefreshSummary:oe=>{s.refreshWorkspaceProjectSummary(oe)},onRenameSession:P,onWidthPreview:oe=>{const ge=sa(B,{...f,projectNavigation:{...f.projectNavigation,widthPx:oe}});Q.current?.style.setProperty("--project-navigation-width",`${ge.projectNavigation.widthPx}px`)},onWidthCommit:oe=>j({widthPx:oe})}),i.jsx(Ah,{state:t,actions:s,navigationOpen:k?Ie:Y.projectNavigation.mode==="dock",inspectorExpanded:ve,onOpenNavigation:()=>{if(!k){j({expanded:!0}),w();return}q(),v(!1),c(!0)},onToggleInspector:()=>{if(D||X){if(m){se();return}q(),c(!1),v(!0);return}G({expanded:!f.workPanel.expanded})},onRevealSettings:ce,onCreateSession:Se,composerInsertion:V}),i.jsx(Hg,{state:t,actions:s,mode:he?"overlay":"dock",expanded:ve,activePanel:f.workPanel.activePanel,agentPanel:f.workPanel.agentPanel,onExpand:()=>{D||X?v(!0):G({expanded:!0})},onCollapse:()=>{he?se():G({expanded:!1})},onPanelChange:oe=>G({activePanel:oe}),onAgentPanelChange:oe=>G({agentPanel:oe}),onWidthPreview:oe=>{const ge=sa(B,{...f,workPanel:{...f.workPanel,widthPx:oe}});Q.current?.style.setProperty("--work-panel-width",`${ge.workPanel.widthPx}px`)},onWidthCommit:oe=>G({widthPx:oe}),onSendToComposer:oe=>{H({id:Date.now(),text:oe}),D&&se(),requestAnimationFrame(()=>document.querySelector("#orion-composer")?.focus())}}),ie?i.jsx("button",{type:"button",className:"drawer-scrim","aria-label":"关闭侧边面板",tabIndex:-1,onClick:se}):null,t.notice?i.jsxs("aside",{className:`workbench-notice notice-${t.notice.tone}`,role:t.notice.tone==="error"?"alert":"status","aria-labelledby":`notice-${t.notice.id}`,children:[i.jsx("span",{className:"notice-icon",children:i.jsx(K,{name:t.notice.tone==="success"?"check":t.notice.tone==="info"?"info":"warning",size:17})}),i.jsxs("div",{children:[i.jsx("strong",{id:`notice-${t.notice.id}`,children:t.notice.title}),t.notice.detail?i.jsx("p",{children:t.notice.detail}):null]}),t.connection==="replay-required"?i.jsx("button",{type:"button",className:"secondary-button",onClick:()=>{s.recoverSession()},disabled:!!t.pendingAction,children:"恢复"}):null,t.connection!=="replay-required"?i.jsx("button",{type:"button",className:"icon-button",onClick:s.dismissNotice,"aria-label":"关闭通知",children:i.jsx(K,{name:"close",size:15})}):null]}):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:()=>{s.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(dg,{open:_,onClose:ye,state:t,actions:s,onGoToSessionControls:Ne}),i.jsx(eg,{open:F,onClose:()=>R(!1),state:t,onSelect:s.switchWorkspace,onLoadMore:s.loadMoreWorkspaces}),i.jsx(ng,{open:!!A,onClose:()=>P(null),session:A,pending:!!t.pendingAction,onRename:s.renameSession})]})}function Nv(t){const[s,l]=g.useState(()=>typeof window>"u"?1440:Math.max(320,Math.round(window.innerWidth)));return g.useEffect(()=>{const c=t.current;if(!c)return;const f=()=>{const p=Math.max(320,Math.round(c.getBoundingClientRect().width));l(m=>m===p?m:p)};if(f(),typeof ResizeObserver<"u"){const p=new ResizeObserver(f);return p.observe(c),()=>p.disconnect()}return window.addEventListener("resize",f),()=>window.removeEventListener("resize",f)},[t]),s}const gf=document.getElementById("root");if(!gf)throw new Error("Orion Web root element was not found.");Sm.createRoot(gf).render(i.jsx(gm.StrictMode,{children:i.jsx(Cv,{})}));export{K as I,Ee as W,i as j,g as r,Lt as s};