@whispering233/ai-editor-server 0.0.15 → 0.0.20

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 (45) hide show
  1. package/client-dist/assets/index-B51Kcb1K.css +1 -0
  2. package/client-dist/assets/index-zgl3whdc.js +104 -0
  3. package/client-dist/index.html +2 -2
  4. package/dist/backup.d.ts +25 -3
  5. package/dist/backup.d.ts.map +1 -1
  6. package/dist/backup.js +110 -13
  7. package/dist/backup.js.map +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +5 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/middleware/project.d.ts +3 -2
  12. package/dist/middleware/project.d.ts.map +1 -1
  13. package/dist/middleware/project.js +8 -4
  14. package/dist/middleware/project.js.map +1 -1
  15. package/dist/reference-files.d.ts +87 -0
  16. package/dist/reference-files.d.ts.map +1 -0
  17. package/dist/reference-files.js +267 -0
  18. package/dist/reference-files.js.map +1 -0
  19. package/dist/routes/chat.d.ts.map +1 -1
  20. package/dist/routes/chat.js +4 -2
  21. package/dist/routes/chat.js.map +1 -1
  22. package/dist/routes/entity.d.ts.map +1 -1
  23. package/dist/routes/entity.js +122 -5
  24. package/dist/routes/entity.js.map +1 -1
  25. package/dist/routes/names.d.ts +4 -0
  26. package/dist/routes/names.d.ts.map +1 -0
  27. package/dist/routes/names.js +61 -0
  28. package/dist/routes/names.js.map +1 -0
  29. package/dist/routes/project.d.ts.map +1 -1
  30. package/dist/routes/project.js +45 -5
  31. package/dist/routes/project.js.map +1 -1
  32. package/dist/routes/reference.d.ts +4 -0
  33. package/dist/routes/reference.d.ts.map +1 -0
  34. package/dist/routes/reference.js +24 -0
  35. package/dist/routes/reference.js.map +1 -0
  36. package/dist/routes/settings.d.ts +5 -8
  37. package/dist/routes/settings.d.ts.map +1 -1
  38. package/dist/routes/settings.js +9 -3
  39. package/dist/routes/settings.js.map +1 -1
  40. package/dist/routes/trash.d.ts.map +1 -1
  41. package/dist/routes/trash.js +25 -1
  42. package/dist/routes/trash.js.map +1 -1
  43. package/package.json +6 -6
  44. package/client-dist/assets/index-Dw_YYehf.css +0 -1
  45. package/client-dist/assets/index-Z8xntmCT.js +0 -14
@@ -1,14 +0,0 @@
1
- function Wj(t,a){for(var r=0;r<a.length;r++){const l=a[r];if(typeof l!="string"&&!Array.isArray(l)){for(const c in l)if(c!=="default"&&!(c in t)){const d=Object.getOwnPropertyDescriptor(l,c);d&&Object.defineProperty(t,c,d.get?d:{enumerable:!0,get:()=>l[c]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))l(c);new MutationObserver(c=>{for(const d of c)if(d.type==="childList")for(const p of d.addedNodes)p.tagName==="LINK"&&p.rel==="modulepreload"&&l(p)}).observe(document,{childList:!0,subtree:!0});function r(c){const d={};return c.integrity&&(d.integrity=c.integrity),c.referrerPolicy&&(d.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?d.credentials="include":c.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function l(c){if(c.ep)return;c.ep=!0;const d=r(c);fetch(c.href,d)}})();function n0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Bf={exports:{}},wl={};var Qy;function eE(){if(Qy)return wl;Qy=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function r(l,c,d){var p=null;if(d!==void 0&&(p=""+d),c.key!==void 0&&(p=""+c.key),"key"in c){d={};for(var x in c)x!=="key"&&(d[x]=c[x])}else d=c;return c=d.ref,{$$typeof:t,type:l,key:p,ref:c!==void 0?c:null,props:d}}return wl.Fragment=a,wl.jsx=r,wl.jsxs=r,wl}var Zy;function tE(){return Zy||(Zy=1,Bf.exports=eE()),Bf.exports}var o=tE(),Uf={exports:{}},et={};var Jy;function nE(){if(Jy)return et;Jy=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),p=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),S=Symbol.iterator;function j(z){return z===null||typeof z!="object"?null:(z=S&&z[S]||z["@@iterator"],typeof z=="function"?z:null)}var E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,C={};function N(z,X,I){this.props=z,this.context=X,this.refs=C,this.updater=I||E}N.prototype.isReactComponent={},N.prototype.setState=function(z,X){if(typeof z!="object"&&typeof z!="function"&&z!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,z,X,"setState")},N.prototype.forceUpdate=function(z){this.updater.enqueueForceUpdate(this,z,"forceUpdate")};function T(){}T.prototype=N.prototype;function O(z,X,I){this.props=z,this.context=X,this.refs=C,this.updater=I||E}var k=O.prototype=new T;k.constructor=O,w(k,N.prototype),k.isPureReactComponent=!0;var V=Array.isArray;function M(){}var B={H:null,A:null,T:null,S:null},R=Object.prototype.hasOwnProperty;function K(z,X,I){var L=I.ref;return{$$typeof:t,type:z,key:X,ref:L!==void 0?L:null,props:I}}function Q(z,X){return K(z.type,X,z.props)}function oe(z){return typeof z=="object"&&z!==null&&z.$$typeof===t}function te(z){var X={"=":"=0",":":"=2"};return"$"+z.replace(/[=:]/g,function(I){return X[I]})}var Z=/\/+/g;function ne(z,X){return typeof z=="object"&&z!==null&&z.key!=null?te(""+z.key):X.toString(36)}function U(z){switch(z.status){case"fulfilled":return z.value;case"rejected":throw z.reason;default:switch(typeof z.status=="string"?z.then(M,M):(z.status="pending",z.then(function(X){z.status==="pending"&&(z.status="fulfilled",z.value=X)},function(X){z.status==="pending"&&(z.status="rejected",z.reason=X)})),z.status){case"fulfilled":return z.value;case"rejected":throw z.reason}}throw z}function _(z,X,I,L,q){var ee=typeof z;(ee==="undefined"||ee==="boolean")&&(z=null);var pe=!1;if(z===null)pe=!0;else switch(ee){case"bigint":case"string":case"number":pe=!0;break;case"object":switch(z.$$typeof){case t:case a:pe=!0;break;case b:return pe=z._init,_(pe(z._payload),X,I,L,q)}}if(pe)return q=q(z),pe=L===""?"."+ne(z,0):L,V(q)?(I="",pe!=null&&(I=pe.replace(Z,"$&/")+"/"),_(q,X,I,"",function(Ie){return Ie})):q!=null&&(oe(q)&&(q=Q(q,I+(q.key==null||z&&z.key===q.key?"":(""+q.key).replace(Z,"$&/")+"/")+pe)),X.push(q)),1;pe=0;var ae=L===""?".":L+":";if(V(z))for(var de=0;de<z.length;de++)L=z[de],ee=ae+ne(L,de),pe+=_(L,X,I,ee,q);else if(de=j(z),typeof de=="function")for(z=de.call(z),de=0;!(L=z.next()).done;)L=L.value,ee=ae+ne(L,de++),pe+=_(L,X,I,ee,q);else if(ee==="object"){if(typeof z.then=="function")return _(U(z),X,I,L,q);throw X=String(z),Error("Objects are not valid as a React child (found: "+(X==="[object Object]"?"object with keys {"+Object.keys(z).join(", ")+"}":X)+"). If you meant to render a collection of children, use an array instead.")}return pe}function D(z,X,I){if(z==null)return z;var L=[],q=0;return _(z,L,"","",function(ee){return X.call(I,ee,q++)}),L}function Y(z){if(z._status===-1){var X=z._result;X=X(),X.then(function(I){(z._status===0||z._status===-1)&&(z._status=1,z._result=I)},function(I){(z._status===0||z._status===-1)&&(z._status=2,z._result=I)}),z._status===-1&&(z._status=0,z._result=X)}if(z._status===1)return z._result.default;throw z._result}var H=typeof reportError=="function"?reportError:function(z){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var X=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof z=="object"&&z!==null&&typeof z.message=="string"?String(z.message):String(z),error:z});if(!window.dispatchEvent(X))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",z);return}console.error(z)},F={map:D,forEach:function(z,X,I){D(z,function(){X.apply(this,arguments)},I)},count:function(z){var X=0;return D(z,function(){X++}),X},toArray:function(z){return D(z,function(X){return X})||[]},only:function(z){if(!oe(z))throw Error("React.Children.only expected to receive a single React element child.");return z}};return et.Activity=g,et.Children=F,et.Component=N,et.Fragment=r,et.Profiler=c,et.PureComponent=O,et.StrictMode=l,et.Suspense=y,et.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=B,et.__COMPILER_RUNTIME={__proto__:null,c:function(z){return B.H.useMemoCache(z)}},et.cache=function(z){return function(){return z.apply(null,arguments)}},et.cacheSignal=function(){return null},et.cloneElement=function(z,X,I){if(z==null)throw Error("The argument must be a React element, but you passed "+z+".");var L=w({},z.props),q=z.key;if(X!=null)for(ee in X.key!==void 0&&(q=""+X.key),X)!R.call(X,ee)||ee==="key"||ee==="__self"||ee==="__source"||ee==="ref"&&X.ref===void 0||(L[ee]=X[ee]);var ee=arguments.length-2;if(ee===1)L.children=I;else if(1<ee){for(var pe=Array(ee),ae=0;ae<ee;ae++)pe[ae]=arguments[ae+2];L.children=pe}return K(z.type,q,L)},et.createContext=function(z){return z={$$typeof:p,_currentValue:z,_currentValue2:z,_threadCount:0,Provider:null,Consumer:null},z.Provider=z,z.Consumer={$$typeof:d,_context:z},z},et.createElement=function(z,X,I){var L,q={},ee=null;if(X!=null)for(L in X.key!==void 0&&(ee=""+X.key),X)R.call(X,L)&&L!=="key"&&L!=="__self"&&L!=="__source"&&(q[L]=X[L]);var pe=arguments.length-2;if(pe===1)q.children=I;else if(1<pe){for(var ae=Array(pe),de=0;de<pe;de++)ae[de]=arguments[de+2];q.children=ae}if(z&&z.defaultProps)for(L in pe=z.defaultProps,pe)q[L]===void 0&&(q[L]=pe[L]);return K(z,ee,q)},et.createRef=function(){return{current:null}},et.forwardRef=function(z){return{$$typeof:x,render:z}},et.isValidElement=oe,et.lazy=function(z){return{$$typeof:b,_payload:{_status:-1,_result:z},_init:Y}},et.memo=function(z,X){return{$$typeof:m,type:z,compare:X===void 0?null:X}},et.startTransition=function(z){var X=B.T,I={};B.T=I;try{var L=z(),q=B.S;q!==null&&q(I,L),typeof L=="object"&&L!==null&&typeof L.then=="function"&&L.then(M,H)}catch(ee){H(ee)}finally{X!==null&&I.types!==null&&(X.types=I.types),B.T=X}},et.unstable_useCacheRefresh=function(){return B.H.useCacheRefresh()},et.use=function(z){return B.H.use(z)},et.useActionState=function(z,X,I){return B.H.useActionState(z,X,I)},et.useCallback=function(z,X){return B.H.useCallback(z,X)},et.useContext=function(z){return B.H.useContext(z)},et.useDebugValue=function(){},et.useDeferredValue=function(z,X){return B.H.useDeferredValue(z,X)},et.useEffect=function(z,X){return B.H.useEffect(z,X)},et.useEffectEvent=function(z){return B.H.useEffectEvent(z)},et.useId=function(){return B.H.useId()},et.useImperativeHandle=function(z,X,I){return B.H.useImperativeHandle(z,X,I)},et.useInsertionEffect=function(z,X){return B.H.useInsertionEffect(z,X)},et.useLayoutEffect=function(z,X){return B.H.useLayoutEffect(z,X)},et.useMemo=function(z,X){return B.H.useMemo(z,X)},et.useOptimistic=function(z,X){return B.H.useOptimistic(z,X)},et.useReducer=function(z,X,I){return B.H.useReducer(z,X,I)},et.useRef=function(z){return B.H.useRef(z)},et.useState=function(z){return B.H.useState(z)},et.useSyncExternalStore=function(z,X,I){return B.H.useSyncExternalStore(z,X,I)},et.useTransition=function(){return B.H.useTransition()},et.version="19.2.8",et}var Wy;function si(){return Wy||(Wy=1,Uf.exports=nE()),Uf.exports}var h=si();const De=n0(h),sE=Wj({__proto__:null,default:De},[h]);var Hf={exports:{}},Cl={},Yf={exports:{}},Pf={};var eb;function aE(){return eb||(eb=1,(function(t){function a(_,D){var Y=_.length;_.push(D);e:for(;0<Y;){var H=Y-1>>>1,F=_[H];if(0<c(F,D))_[H]=D,_[Y]=F,Y=H;else break e}}function r(_){return _.length===0?null:_[0]}function l(_){if(_.length===0)return null;var D=_[0],Y=_.pop();if(Y!==D){_[0]=Y;e:for(var H=0,F=_.length,z=F>>>1;H<z;){var X=2*(H+1)-1,I=_[X],L=X+1,q=_[L];if(0>c(I,Y))L<F&&0>c(q,I)?(_[H]=q,_[L]=Y,H=L):(_[H]=I,_[X]=Y,H=X);else if(L<F&&0>c(q,Y))_[H]=q,_[L]=Y,H=L;else break e}}return D}function c(_,D){var Y=_.sortIndex-D.sortIndex;return Y!==0?Y:_.id-D.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;t.unstable_now=function(){return d.now()}}else{var p=Date,x=p.now();t.unstable_now=function(){return p.now()-x}}var y=[],m=[],b=1,g=null,S=3,j=!1,E=!1,w=!1,C=!1,N=typeof setTimeout=="function"?setTimeout:null,T=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;function k(_){for(var D=r(m);D!==null;){if(D.callback===null)l(m);else if(D.startTime<=_)l(m),D.sortIndex=D.expirationTime,a(y,D);else break;D=r(m)}}function V(_){if(w=!1,k(_),!E)if(r(y)!==null)E=!0,M||(M=!0,te());else{var D=r(m);D!==null&&U(V,D.startTime-_)}}var M=!1,B=-1,R=5,K=-1;function Q(){return C?!0:!(t.unstable_now()-K<R)}function oe(){if(C=!1,M){var _=t.unstable_now();K=_;var D=!0;try{e:{E=!1,w&&(w=!1,T(B),B=-1),j=!0;var Y=S;try{t:{for(k(_),g=r(y);g!==null&&!(g.expirationTime>_&&Q());){var H=g.callback;if(typeof H=="function"){g.callback=null,S=g.priorityLevel;var F=H(g.expirationTime<=_);if(_=t.unstable_now(),typeof F=="function"){g.callback=F,k(_),D=!0;break t}g===r(y)&&l(y),k(_)}else l(y);g=r(y)}if(g!==null)D=!0;else{var z=r(m);z!==null&&U(V,z.startTime-_),D=!1}}break e}finally{g=null,S=Y,j=!1}D=void 0}}finally{D?te():M=!1}}}var te;if(typeof O=="function")te=function(){O(oe)};else if(typeof MessageChannel<"u"){var Z=new MessageChannel,ne=Z.port2;Z.port1.onmessage=oe,te=function(){ne.postMessage(null)}}else te=function(){N(oe,0)};function U(_,D){B=N(function(){_(t.unstable_now())},D)}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(_){_.callback=null},t.unstable_forceFrameRate=function(_){0>_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):R=0<_?Math.floor(1e3/_):5},t.unstable_getCurrentPriorityLevel=function(){return S},t.unstable_next=function(_){switch(S){case 1:case 2:case 3:var D=3;break;default:D=S}var Y=S;S=D;try{return _()}finally{S=Y}},t.unstable_requestPaint=function(){C=!0},t.unstable_runWithPriority=function(_,D){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var Y=S;S=_;try{return D()}finally{S=Y}},t.unstable_scheduleCallback=function(_,D,Y){var H=t.unstable_now();switch(typeof Y=="object"&&Y!==null?(Y=Y.delay,Y=typeof Y=="number"&&0<Y?H+Y:H):Y=H,_){case 1:var F=-1;break;case 2:F=250;break;case 5:F=1073741823;break;case 4:F=1e4;break;default:F=5e3}return F=Y+F,_={id:b++,callback:D,priorityLevel:_,startTime:Y,expirationTime:F,sortIndex:-1},Y>H?(_.sortIndex=Y,a(m,_),r(y)===null&&_===r(m)&&(w?(T(B),B=-1):w=!0,U(V,Y-H))):(_.sortIndex=F,a(y,_),E||j||(E=!0,M||(M=!0,te()))),_},t.unstable_shouldYield=Q,t.unstable_wrapCallback=function(_){var D=S;return function(){var Y=S;S=D;try{return _.apply(this,arguments)}finally{S=Y}}}})(Pf)),Pf}var tb;function rE(){return tb||(tb=1,Yf.exports=aE()),Yf.exports}var Vf={exports:{}},jn={};var nb;function oE(){if(nb)return jn;nb=1;var t=si();function a(y){var m="https://react.dev/errors/"+y;if(1<arguments.length){m+="?args[]="+encodeURIComponent(arguments[1]);for(var b=2;b<arguments.length;b++)m+="&args[]="+encodeURIComponent(arguments[b])}return"Minified React error #"+y+"; visit "+m+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(){}var l={d:{f:r,r:function(){throw Error(a(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},c=Symbol.for("react.portal");function d(y,m,b){var g=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:c,key:g==null?null:""+g,children:y,containerInfo:m,implementation:b}}var p=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function x(y,m){if(y==="font")return"";if(typeof m=="string")return m==="use-credentials"?m:""}return jn.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=l,jn.createPortal=function(y,m){var b=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!m||m.nodeType!==1&&m.nodeType!==9&&m.nodeType!==11)throw Error(a(299));return d(y,m,null,b)},jn.flushSync=function(y){var m=p.T,b=l.p;try{if(p.T=null,l.p=2,y)return y()}finally{p.T=m,l.p=b,l.d.f()}},jn.preconnect=function(y,m){typeof y=="string"&&(m?(m=m.crossOrigin,m=typeof m=="string"?m==="use-credentials"?m:"":void 0):m=null,l.d.C(y,m))},jn.prefetchDNS=function(y){typeof y=="string"&&l.d.D(y)},jn.preinit=function(y,m){if(typeof y=="string"&&m&&typeof m.as=="string"){var b=m.as,g=x(b,m.crossOrigin),S=typeof m.integrity=="string"?m.integrity:void 0,j=typeof m.fetchPriority=="string"?m.fetchPriority:void 0;b==="style"?l.d.S(y,typeof m.precedence=="string"?m.precedence:void 0,{crossOrigin:g,integrity:S,fetchPriority:j}):b==="script"&&l.d.X(y,{crossOrigin:g,integrity:S,fetchPriority:j,nonce:typeof m.nonce=="string"?m.nonce:void 0})}},jn.preinitModule=function(y,m){if(typeof y=="string")if(typeof m=="object"&&m!==null){if(m.as==null||m.as==="script"){var b=x(m.as,m.crossOrigin);l.d.M(y,{crossOrigin:b,integrity:typeof m.integrity=="string"?m.integrity:void 0,nonce:typeof m.nonce=="string"?m.nonce:void 0})}}else m==null&&l.d.M(y)},jn.preload=function(y,m){if(typeof y=="string"&&typeof m=="object"&&m!==null&&typeof m.as=="string"){var b=m.as,g=x(b,m.crossOrigin);l.d.L(y,b,{crossOrigin:g,integrity:typeof m.integrity=="string"?m.integrity:void 0,nonce:typeof m.nonce=="string"?m.nonce:void 0,type:typeof m.type=="string"?m.type:void 0,fetchPriority:typeof m.fetchPriority=="string"?m.fetchPriority:void 0,referrerPolicy:typeof m.referrerPolicy=="string"?m.referrerPolicy:void 0,imageSrcSet:typeof m.imageSrcSet=="string"?m.imageSrcSet:void 0,imageSizes:typeof m.imageSizes=="string"?m.imageSizes:void 0,media:typeof m.media=="string"?m.media:void 0})}},jn.preloadModule=function(y,m){if(typeof y=="string")if(m){var b=x(m.as,m.crossOrigin);l.d.m(y,{as:typeof m.as=="string"&&m.as!=="script"?m.as:void 0,crossOrigin:b,integrity:typeof m.integrity=="string"?m.integrity:void 0})}else l.d.m(y)},jn.requestFormReset=function(y){l.d.r(y)},jn.unstable_batchedUpdates=function(y,m){return y(m)},jn.useFormState=function(y,m,b){return p.H.useFormState(y,m,b)},jn.useFormStatus=function(){return p.H.useHostTransitionStatus()},jn.version="19.2.8",jn}var sb;function s0(){if(sb)return Vf.exports;sb=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(a){console.error(a)}}return t(),Vf.exports=oE(),Vf.exports}var ab;function lE(){if(ab)return Cl;ab=1;var t=rE(),a=si(),r=s0();function l(e){var n="https://react.dev/errors/"+e;if(1<arguments.length){n+="?args[]="+encodeURIComponent(arguments[1]);for(var s=2;s<arguments.length;s++)n+="&args[]="+encodeURIComponent(arguments[s])}return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function c(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function d(e){var n=e,s=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do n=e,(n.flags&4098)!==0&&(s=n.return),e=n.return;while(e)}return n.tag===3?s:null}function p(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 x(e){if(e.tag===31){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function y(e){if(d(e)!==e)throw Error(l(188))}function m(e){var n=e.alternate;if(!n){if(n=d(e),n===null)throw Error(l(188));return n!==e?null:e}for(var s=e,i=n;;){var u=s.return;if(u===null)break;var f=u.alternate;if(f===null){if(i=u.return,i!==null){s=i;continue}break}if(u.child===f.child){for(f=u.child;f;){if(f===s)return y(u),e;if(f===i)return y(u),n;f=f.sibling}throw Error(l(188))}if(s.return!==i.return)s=u,i=f;else{for(var v=!1,A=u.child;A;){if(A===s){v=!0,s=u,i=f;break}if(A===i){v=!0,i=u,s=f;break}A=A.sibling}if(!v){for(A=f.child;A;){if(A===s){v=!0,s=f,i=u;break}if(A===i){v=!0,i=f,s=u;break}A=A.sibling}if(!v)throw Error(l(189))}}if(s.alternate!==i)throw Error(l(190))}if(s.tag!==3)throw Error(l(188));return s.stateNode.current===s?e:n}function b(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e;for(e=e.child;e!==null;){if(n=b(e),n!==null)return n;e=e.sibling}return null}var g=Object.assign,S=Symbol.for("react.element"),j=Symbol.for("react.transitional.element"),E=Symbol.for("react.portal"),w=Symbol.for("react.fragment"),C=Symbol.for("react.strict_mode"),N=Symbol.for("react.profiler"),T=Symbol.for("react.consumer"),O=Symbol.for("react.context"),k=Symbol.for("react.forward_ref"),V=Symbol.for("react.suspense"),M=Symbol.for("react.suspense_list"),B=Symbol.for("react.memo"),R=Symbol.for("react.lazy"),K=Symbol.for("react.activity"),Q=Symbol.for("react.memo_cache_sentinel"),oe=Symbol.iterator;function te(e){return e===null||typeof e!="object"?null:(e=oe&&e[oe]||e["@@iterator"],typeof e=="function"?e:null)}var Z=Symbol.for("react.client.reference");function ne(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Z?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case w:return"Fragment";case N:return"Profiler";case C:return"StrictMode";case V:return"Suspense";case M:return"SuspenseList";case K:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case E:return"Portal";case O:return e.displayName||"Context";case T:return(e._context.displayName||"Context")+".Consumer";case k:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case B:return n=e.displayName||null,n!==null?n:ne(e.type)||"Memo";case R:n=e._payload,e=e._init;try{return ne(e(n))}catch{}}return null}var U=Array.isArray,_=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,D=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Y={pending:!1,data:null,method:null,action:null},H=[],F=-1;function z(e){return{current:e}}function X(e){0>F||(e.current=H[F],H[F]=null,F--)}function I(e,n){F++,H[F]=e.current,e.current=n}var L=z(null),q=z(null),ee=z(null),pe=z(null);function ae(e,n){switch(I(ee,n),I(q,e),I(L,null),n.nodeType){case 9:case 11:e=(e=n.documentElement)&&(e=e.namespaceURI)?by(e):0;break;default:if(e=n.tagName,n=n.namespaceURI)n=by(n),e=vy(n,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}X(L),I(L,e)}function de(){X(L),X(q),X(ee)}function Ie(e){e.memoizedState!==null&&I(pe,e);var n=L.current,s=vy(n,e.type);n!==s&&(I(q,e),I(L,s))}function Ae(e){q.current===e&&(X(L),X(q)),pe.current===e&&(X(pe),Nl._currentValue=Y)}var Ce,Be;function xe(e){if(Ce===void 0)try{throw Error()}catch(s){var n=s.stack.trim().match(/\n( *(at )?)/);Ce=n&&n[1]||"",Be=-1<s.stack.indexOf(`
2
- at`)?" (<anonymous>)":-1<s.stack.indexOf("@")?"@unknown:0:0":""}return`
3
- `+Ce+e+Be}var ue=!1;function He(e,n){if(!e||ue)return"";ue=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var i={DetermineComponentFrameRoot:function(){try{if(n){var je=function(){throw Error()};if(Object.defineProperty(je.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(je,[])}catch(he){var me=he}Reflect.construct(e,[],je)}else{try{je.call()}catch(he){me=he}e.call(je.prototype)}}else{try{throw Error()}catch(he){me=he}(je=e())&&typeof je.catch=="function"&&je.catch(function(){})}}catch(he){if(he&&me&&typeof he.stack=="string")return[he.stack,me.stack]}return[null,null]}};i.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var u=Object.getOwnPropertyDescriptor(i.DetermineComponentFrameRoot,"name");u&&u.configurable&&Object.defineProperty(i.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var f=i.DetermineComponentFrameRoot(),v=f[0],A=f[1];if(v&&A){var $=v.split(`
4
- `),ie=A.split(`
5
- `);for(u=i=0;i<$.length&&!$[i].includes("DetermineComponentFrameRoot");)i++;for(;u<ie.length&&!ie[u].includes("DetermineComponentFrameRoot");)u++;if(i===$.length||u===ie.length)for(i=$.length-1,u=ie.length-1;1<=i&&0<=u&&$[i]!==ie[u];)u--;for(;1<=i&&0<=u;i--,u--)if($[i]!==ie[u]){if(i!==1||u!==1)do if(i--,u--,0>u||$[i]!==ie[u]){var be=`
6
- `+$[i].replace(" at new "," at ");return e.displayName&&be.includes("<anonymous>")&&(be=be.replace("<anonymous>",e.displayName)),be}while(1<=i&&0<=u);break}}}finally{ue=!1,Error.prepareStackTrace=s}return(s=e?e.displayName||e.name:"")?xe(s):""}function _e(e,n){switch(e.tag){case 26:case 27:case 5:return xe(e.type);case 16:return xe("Lazy");case 13:return e.child!==n&&n!==null?xe("Suspense Fallback"):xe("Suspense");case 19:return xe("SuspenseList");case 0:case 15:return He(e.type,!1);case 11:return He(e.type.render,!1);case 1:return He(e.type,!0);case 31:return xe("Activity");default:return""}}function ze(e){try{var n="",s=null;do n+=_e(e,s),s=e,e=e.return;while(e);return n}catch(i){return`
7
- Error generating stack: `+i.message+`
8
- `+i.stack}}var Se=Object.prototype.hasOwnProperty,fe=t.unstable_scheduleCallback,Re=t.unstable_cancelCallback,Me=t.unstable_shouldYield,J=t.unstable_requestPaint,P=t.unstable_now,G=t.unstable_getCurrentPriorityLevel,Te=t.unstable_ImmediatePriority,ye=t.unstable_UserBlockingPriority,re=t.unstable_NormalPriority,Oe=t.unstable_LowPriority,Ue=t.unstable_IdlePriority,Qe=t.log,ht=t.unstable_setDisableYieldValue,Dt=null,dt=null;function It(e){if(typeof Qe=="function"&&ht(e),dt&&typeof dt.setStrictMode=="function")try{dt.setStrictMode(Dt,e)}catch{}}var Tt=Math.clz32?Math.clz32:ve,Yt=Math.log,we=Math.LN2;function ve(e){return e>>>=0,e===0?32:31-(Yt(e)/we|0)|0}var qe=256,wt=262144,Gt=4194304;function Rt(e){var n=e&42;if(n!==0)return n;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ge(e,n,s){var i=e.pendingLanes;if(i===0)return 0;var u=0,f=e.suspendedLanes,v=e.pingedLanes;e=e.warmLanes;var A=i&134217727;return A!==0?(i=A&~f,i!==0?u=Rt(i):(v&=A,v!==0?u=Rt(v):s||(s=A&~e,s!==0&&(u=Rt(s))))):(A=i&~f,A!==0?u=Rt(A):v!==0?u=Rt(v):s||(s=i&~e,s!==0&&(u=Rt(s)))),u===0?0:n!==0&&n!==u&&(n&f)===0&&(f=u&-u,s=n&-n,f>=s||f===32&&(s&4194048)!==0)?n:u}function bt(e,n){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&n)===0}function Pt(e,n){switch(e){case 1:case 2:case 4:case 8:case 64:return n+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Zt(){var e=Gt;return Gt<<=1,(Gt&62914560)===0&&(Gt=4194304),e}function Qn(e){for(var n=[],s=0;31>s;s++)n.push(e);return n}function zt(e,n){e.pendingLanes|=n,n!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function cn(e,n,s,i,u,f){var v=e.pendingLanes;e.pendingLanes=s,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=s,e.entangledLanes&=s,e.errorRecoveryDisabledLanes&=s,e.shellSuspendCounter=0;var A=e.entanglements,$=e.expirationTimes,ie=e.hiddenUpdates;for(s=v&~s;0<s;){var be=31-Tt(s),je=1<<be;A[be]=0,$[be]=-1;var me=ie[be];if(me!==null)for(ie[be]=null,be=0;be<me.length;be++){var he=me[be];he!==null&&(he.lane&=-536870913)}s&=~je}i!==0&&As(e,i,0),f!==0&&u===0&&e.tag!==0&&(e.suspendedLanes|=f&~(v&~n))}function As(e,n,s){e.pendingLanes|=n,e.suspendedLanes&=~n;var i=31-Tt(n);e.entangledLanes|=n,e.entanglements[i]=e.entanglements[i]|1073741824|s&261930}function un(e,n){var s=e.entangledLanes|=n;for(e=e.entanglements;s;){var i=31-Tt(s),u=1<<i;u&n|e[i]&n&&(e[i]|=n),s&=~u}}function gn(e,n){var s=n&-n;return s=(s&42)!==0?1:pa(s),(s&(e.suspendedLanes|n))!==0?0:s}function pa(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Bn(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Ms(){var e=D.p;return e!==0?e:(e=window.event,e===void 0?32:Vy(e.type))}function ci(e,n){var s=D.p;try{return D.p=e,n()}finally{D.p=s}}var bs=Math.random().toString(36).slice(2),an="__reactFiber$"+bs,On="__reactProps$"+bs,_r="__reactContainer$"+bs,Ou="__reactEvents$"+bs,PS="__reactListeners$"+bs,VS="__reactHandles$"+bs,oh="__reactResources$"+bs,Io="__reactMarker$"+bs;function Ru(e){delete e[an],delete e[On],delete e[Ou],delete e[PS],delete e[VS]}function Ar(e){var n=e[an];if(n)return n;for(var s=e.parentNode;s;){if(n=s[_r]||s[an]){if(s=n.alternate,n.child!==null||s!==null&&s.child!==null)for(e=Cy(e);e!==null;){if(s=e[an])return s;e=Cy(e)}return n}e=s,s=e.parentNode}return null}function Mr(e){if(e=e[an]||e[_r]){var n=e.tag;if(n===5||n===6||n===13||n===31||n===26||n===27||n===3)return e}return null}function Bo(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e.stateNode;throw Error(l(33))}function Dr(e){var n=e[oh];return n||(n=e[oh]={hoistableStyles:new Map,hoistableScripts:new Map}),n}function dn(e){e[Io]=!0}var lh=new Set,ih={};function Xa(e,n){zr(e,n),zr(e+"Capture",n)}function zr(e,n){for(ih[e]=n,e=0;e<n.length;e++)lh.add(n[e])}var FS=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),ch={},uh={};function qS(e){return Se.call(uh,e)?!0:Se.call(ch,e)?!1:FS.test(e)?uh[e]=!0:(ch[e]=!0,!1)}function ui(e,n,s){if(qS(n))if(s===null)e.removeAttribute(n);else{switch(typeof s){case"undefined":case"function":case"symbol":e.removeAttribute(n);return;case"boolean":var i=n.toLowerCase().slice(0,5);if(i!=="data-"&&i!=="aria-"){e.removeAttribute(n);return}}e.setAttribute(n,""+s)}}function di(e,n,s){if(s===null)e.removeAttribute(n);else{switch(typeof s){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttribute(n,""+s)}}function Ds(e,n,s,i){if(i===null)e.removeAttribute(s);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(s);return}e.setAttributeNS(n,s,""+i)}}function Zn(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function dh(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function GS(e,n,s){var i=Object.getOwnPropertyDescriptor(e.constructor.prototype,n);if(!e.hasOwnProperty(n)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var u=i.get,f=i.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return u.call(this)},set:function(v){s=""+v,f.call(this,v)}}),Object.defineProperty(e,n,{enumerable:i.enumerable}),{getValue:function(){return s},setValue:function(v){s=""+v},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function ku(e){if(!e._valueTracker){var n=dh(e)?"checked":"value";e._valueTracker=GS(e,n,""+e[n])}}function fh(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var s=n.getValue(),i="";return e&&(i=dh(e)?e.checked?"true":"false":e.value),e=i,e!==s?(n.setValue(e),!0):!1}function fi(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var $S=/[\n"\\]/g;function Jn(e){return e.replace($S,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function _u(e,n,s,i,u,f,v,A){e.name="",v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"?e.type=v:e.removeAttribute("type"),n!=null?v==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+Zn(n)):e.value!==""+Zn(n)&&(e.value=""+Zn(n)):v!=="submit"&&v!=="reset"||e.removeAttribute("value"),n!=null?Au(e,v,Zn(n)):s!=null?Au(e,v,Zn(s)):i!=null&&e.removeAttribute("value"),u==null&&f!=null&&(e.defaultChecked=!!f),u!=null&&(e.checked=u&&typeof u!="function"&&typeof u!="symbol"),A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"?e.name=""+Zn(A):e.removeAttribute("name")}function mh(e,n,s,i,u,f,v,A){if(f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(e.type=f),n!=null||s!=null){if(!(f!=="submit"&&f!=="reset"||n!=null)){ku(e);return}s=s!=null?""+Zn(s):"",n=n!=null?""+Zn(n):s,A||n===e.value||(e.value=n),e.defaultValue=n}i=i??u,i=typeof i!="function"&&typeof i!="symbol"&&!!i,e.checked=A?e.checked:!!i,e.defaultChecked=!!i,v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"&&(e.name=v),ku(e)}function Au(e,n,s){n==="number"&&fi(e.ownerDocument)===e||e.defaultValue===""+s||(e.defaultValue=""+s)}function Lr(e,n,s,i){if(e=e.options,n){n={};for(var u=0;u<s.length;u++)n["$"+s[u]]=!0;for(s=0;s<e.length;s++)u=n.hasOwnProperty("$"+e[s].value),e[s].selected!==u&&(e[s].selected=u),u&&i&&(e[s].defaultSelected=!0)}else{for(s=""+Zn(s),n=null,u=0;u<e.length;u++){if(e[u].value===s){e[u].selected=!0,i&&(e[u].defaultSelected=!0);return}n!==null||e[u].disabled||(n=e[u])}n!==null&&(n.selected=!0)}}function ph(e,n,s){if(n!=null&&(n=""+Zn(n),n!==e.value&&(e.value=n),s==null)){e.defaultValue!==n&&(e.defaultValue=n);return}e.defaultValue=s!=null?""+Zn(s):""}function hh(e,n,s,i){if(n==null){if(i!=null){if(s!=null)throw Error(l(92));if(U(i)){if(1<i.length)throw Error(l(93));i=i[0]}s=i}s==null&&(s=""),n=s}s=Zn(n),e.defaultValue=s,i=e.textContent,i===s&&i!==""&&i!==null&&(e.value=i),ku(e)}function Ir(e,n){if(n){var s=e.firstChild;if(s&&s===e.lastChild&&s.nodeType===3){s.nodeValue=n;return}}e.textContent=n}var XS=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function gh(e,n,s){var i=n.indexOf("--")===0;s==null||typeof s=="boolean"||s===""?i?e.setProperty(n,""):n==="float"?e.cssFloat="":e[n]="":i?e.setProperty(n,s):typeof s!="number"||s===0||XS.has(n)?n==="float"?e.cssFloat=s:e[n]=(""+s).trim():e[n]=s+"px"}function xh(e,n,s){if(n!=null&&typeof n!="object")throw Error(l(62));if(e=e.style,s!=null){for(var i in s)!s.hasOwnProperty(i)||n!=null&&n.hasOwnProperty(i)||(i.indexOf("--")===0?e.setProperty(i,""):i==="float"?e.cssFloat="":e[i]="");for(var u in n)i=n[u],n.hasOwnProperty(u)&&s[u]!==i&&gh(e,u,i)}else for(var f in n)n.hasOwnProperty(f)&&gh(e,f,n[f])}function Mu(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var KS=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),QS=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function mi(e){return QS.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function zs(){}var Du=null;function zu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Br=null,Ur=null;function yh(e){var n=Mr(e);if(n&&(e=n.stateNode)){var s=e[On]||null;e:switch(e=n.stateNode,n.type){case"input":if(_u(e,s.value,s.defaultValue,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name),n=s.name,s.type==="radio"&&n!=null){for(s=e;s.parentNode;)s=s.parentNode;for(s=s.querySelectorAll('input[name="'+Jn(""+n)+'"][type="radio"]'),n=0;n<s.length;n++){var i=s[n];if(i!==e&&i.form===e.form){var u=i[On]||null;if(!u)throw Error(l(90));_u(i,u.value,u.defaultValue,u.defaultValue,u.checked,u.defaultChecked,u.type,u.name)}}for(n=0;n<s.length;n++)i=s[n],i.form===e.form&&fh(i)}break e;case"textarea":ph(e,s.value,s.defaultValue);break e;case"select":n=s.value,n!=null&&Lr(e,!!s.multiple,n,!1)}}}var Lu=!1;function bh(e,n,s){if(Lu)return e(n,s);Lu=!0;try{var i=e(n);return i}finally{if(Lu=!1,(Br!==null||Ur!==null)&&(ec(),Br&&(n=Br,e=Ur,Ur=Br=null,yh(n),e)))for(n=0;n<e.length;n++)yh(e[n])}}function Uo(e,n){var s=e.stateNode;if(s===null)return null;var i=s[On]||null;if(i===null)return null;s=i[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":(i=!i.disabled)||(e=e.type,i=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!i;break e;default:e=!1}if(e)return null;if(s&&typeof s!="function")throw Error(l(231,n,typeof s));return s}var Ls=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Iu=!1;if(Ls)try{var Ho={};Object.defineProperty(Ho,"passive",{get:function(){Iu=!0}}),window.addEventListener("test",Ho,Ho),window.removeEventListener("test",Ho,Ho)}catch{Iu=!1}var ha=null,Bu=null,pi=null;function vh(){if(pi)return pi;var e,n=Bu,s=n.length,i,u="value"in ha?ha.value:ha.textContent,f=u.length;for(e=0;e<s&&n[e]===u[e];e++);var v=s-e;for(i=1;i<=v&&n[s-i]===u[f-i];i++);return pi=u.slice(e,1<i?1-i:void 0)}function hi(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 gi(){return!0}function Sh(){return!1}function Rn(e){function n(s,i,u,f,v){this._reactName=s,this._targetInst=u,this.type=i,this.nativeEvent=f,this.target=v,this.currentTarget=null;for(var A in e)e.hasOwnProperty(A)&&(s=e[A],this[A]=s?s(f):f[A]);return this.isDefaultPrevented=(f.defaultPrevented!=null?f.defaultPrevented:f.returnValue===!1)?gi:Sh,this.isPropagationStopped=Sh,this}return g(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var s=this.nativeEvent;s&&(s.preventDefault?s.preventDefault():typeof s.returnValue!="unknown"&&(s.returnValue=!1),this.isDefaultPrevented=gi)},stopPropagation:function(){var s=this.nativeEvent;s&&(s.stopPropagation?s.stopPropagation():typeof s.cancelBubble!="unknown"&&(s.cancelBubble=!0),this.isPropagationStopped=gi)},persist:function(){},isPersistent:gi}),n}var Ka={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},xi=Rn(Ka),Yo=g({},Ka,{view:0,detail:0}),ZS=Rn(Yo),Uu,Hu,Po,yi=g({},Yo,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Pu,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!==Po&&(Po&&e.type==="mousemove"?(Uu=e.screenX-Po.screenX,Hu=e.screenY-Po.screenY):Hu=Uu=0,Po=e),Uu)},movementY:function(e){return"movementY"in e?e.movementY:Hu}}),Nh=Rn(yi),JS=g({},yi,{dataTransfer:0}),WS=Rn(JS),eN=g({},Yo,{relatedTarget:0}),Yu=Rn(eN),tN=g({},Ka,{animationName:0,elapsedTime:0,pseudoElement:0}),nN=Rn(tN),sN=g({},Ka,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),aN=Rn(sN),rN=g({},Ka,{data:0}),jh=Rn(rN),oN={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},lN={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"},iN={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function cN(e){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(e):(e=iN[e])?!!n[e]:!1}function Pu(){return cN}var uN=g({},Yo,{key:function(e){if(e.key){var n=oN[e.key]||e.key;if(n!=="Unidentified")return n}return e.type==="keypress"?(e=hi(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?lN[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Pu,charCode:function(e){return e.type==="keypress"?hi(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?hi(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),dN=Rn(uN),fN=g({},yi,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Eh=Rn(fN),mN=g({},Yo,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Pu}),pN=Rn(mN),hN=g({},Ka,{propertyName:0,elapsedTime:0,pseudoElement:0}),gN=Rn(hN),xN=g({},yi,{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}),yN=Rn(xN),bN=g({},Ka,{newState:0,oldState:0}),vN=Rn(bN),SN=[9,13,27,32],Vu=Ls&&"CompositionEvent"in window,Vo=null;Ls&&"documentMode"in document&&(Vo=document.documentMode);var NN=Ls&&"TextEvent"in window&&!Vo,Th=Ls&&(!Vu||Vo&&8<Vo&&11>=Vo),wh=" ",Ch=!1;function Oh(e,n){switch(e){case"keyup":return SN.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Rh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Hr=!1;function jN(e,n){switch(e){case"compositionend":return Rh(n);case"keypress":return n.which!==32?null:(Ch=!0,wh);case"textInput":return e=n.data,e===wh&&Ch?null:e;default:return null}}function EN(e,n){if(Hr)return e==="compositionend"||!Vu&&Oh(e,n)?(e=vh(),pi=Bu=ha=null,Hr=!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 Th&&n.locale!=="ko"?null:n.data;default:return null}}var TN={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 kh(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n==="input"?!!TN[e.type]:n==="textarea"}function _h(e,n,s,i){Br?Ur?Ur.push(i):Ur=[i]:Br=i,n=lc(n,"onChange"),0<n.length&&(s=new xi("onChange","change",null,s,i),e.push({event:s,listeners:n}))}var Fo=null,qo=null;function wN(e){my(e,0)}function bi(e){var n=Bo(e);if(fh(n))return e}function Ah(e,n){if(e==="change")return n}var Mh=!1;if(Ls){var Fu;if(Ls){var qu="oninput"in document;if(!qu){var Dh=document.createElement("div");Dh.setAttribute("oninput","return;"),qu=typeof Dh.oninput=="function"}Fu=qu}else Fu=!1;Mh=Fu&&(!document.documentMode||9<document.documentMode)}function zh(){Fo&&(Fo.detachEvent("onpropertychange",Lh),qo=Fo=null)}function Lh(e){if(e.propertyName==="value"&&bi(qo)){var n=[];_h(n,qo,e,zu(e)),bh(wN,n)}}function CN(e,n,s){e==="focusin"?(zh(),Fo=n,qo=s,Fo.attachEvent("onpropertychange",Lh)):e==="focusout"&&zh()}function ON(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return bi(qo)}function RN(e,n){if(e==="click")return bi(n)}function kN(e,n){if(e==="input"||e==="change")return bi(n)}function _N(e,n){return e===n&&(e!==0||1/e===1/n)||e!==e&&n!==n}var Un=typeof Object.is=="function"?Object.is:_N;function Go(e,n){if(Un(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;var s=Object.keys(e),i=Object.keys(n);if(s.length!==i.length)return!1;for(i=0;i<s.length;i++){var u=s[i];if(!Se.call(n,u)||!Un(e[u],n[u]))return!1}return!0}function Ih(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Bh(e,n){var s=Ih(e);e=0;for(var i;s;){if(s.nodeType===3){if(i=e+s.textContent.length,e<=n&&i>=n)return{node:s,offset:n-e};e=i}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=Ih(s)}}function Uh(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Uh(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Hh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var n=fi(e.document);n instanceof e.HTMLIFrameElement;){try{var s=typeof n.contentWindow.location.href=="string"}catch{s=!1}if(s)e=n.contentWindow;else break;n=fi(e.document)}return n}function Gu(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")}var AN=Ls&&"documentMode"in document&&11>=document.documentMode,Yr=null,$u=null,$o=null,Xu=!1;function Yh(e,n,s){var i=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;Xu||Yr==null||Yr!==fi(i)||(i=Yr,"selectionStart"in i&&Gu(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),$o&&Go($o,i)||($o=i,i=lc($u,"onSelect"),0<i.length&&(n=new xi("onSelect","select",null,n,s),e.push({event:n,listeners:i}),n.target=Yr)))}function Qa(e,n){var s={};return s[e.toLowerCase()]=n.toLowerCase(),s["Webkit"+e]="webkit"+n,s["Moz"+e]="moz"+n,s}var Pr={animationend:Qa("Animation","AnimationEnd"),animationiteration:Qa("Animation","AnimationIteration"),animationstart:Qa("Animation","AnimationStart"),transitionrun:Qa("Transition","TransitionRun"),transitionstart:Qa("Transition","TransitionStart"),transitioncancel:Qa("Transition","TransitionCancel"),transitionend:Qa("Transition","TransitionEnd")},Ku={},Ph={};Ls&&(Ph=document.createElement("div").style,"AnimationEvent"in window||(delete Pr.animationend.animation,delete Pr.animationiteration.animation,delete Pr.animationstart.animation),"TransitionEvent"in window||delete Pr.transitionend.transition);function Za(e){if(Ku[e])return Ku[e];if(!Pr[e])return e;var n=Pr[e],s;for(s in n)if(n.hasOwnProperty(s)&&s in Ph)return Ku[e]=n[s];return e}var Vh=Za("animationend"),Fh=Za("animationiteration"),qh=Za("animationstart"),MN=Za("transitionrun"),DN=Za("transitionstart"),zN=Za("transitioncancel"),Gh=Za("transitionend"),$h=new Map,Qu="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Qu.push("scrollEnd");function ms(e,n){$h.set(e,n),Xa(n,[e])}var vi=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(n))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Wn=[],Vr=0,Zu=0;function Si(){for(var e=Vr,n=Zu=Vr=0;n<e;){var s=Wn[n];Wn[n++]=null;var i=Wn[n];Wn[n++]=null;var u=Wn[n];Wn[n++]=null;var f=Wn[n];if(Wn[n++]=null,i!==null&&u!==null){var v=i.pending;v===null?u.next=u:(u.next=v.next,v.next=u),i.pending=u}f!==0&&Xh(s,u,f)}}function Ni(e,n,s,i){Wn[Vr++]=e,Wn[Vr++]=n,Wn[Vr++]=s,Wn[Vr++]=i,Zu|=i,e.lanes|=i,e=e.alternate,e!==null&&(e.lanes|=i)}function Ju(e,n,s,i){return Ni(e,n,s,i),ji(e)}function Ja(e,n){return Ni(e,null,null,n),ji(e)}function Xh(e,n,s){e.lanes|=s;var i=e.alternate;i!==null&&(i.lanes|=s);for(var u=!1,f=e.return;f!==null;)f.childLanes|=s,i=f.alternate,i!==null&&(i.childLanes|=s),f.tag===22&&(e=f.stateNode,e===null||e._visibility&1||(u=!0)),e=f,f=f.return;return e.tag===3?(f=e.stateNode,u&&n!==null&&(u=31-Tt(s),e=f.hiddenUpdates,i=e[u],i===null?e[u]=[n]:i.push(n),n.lane=s|536870912),f):null}function ji(e){if(50<hl)throw hl=0,lf=null,Error(l(185));for(var n=e.return;n!==null;)e=n,n=e.return;return e.tag===3?e.stateNode:null}var Fr={};function LN(e,n,s,i){this.tag=e,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Hn(e,n,s,i){return new LN(e,n,s,i)}function Wu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Is(e,n){var s=e.alternate;return s===null?(s=Hn(e.tag,n,e.key,e.mode),s.elementType=e.elementType,s.type=e.type,s.stateNode=e.stateNode,s.alternate=e,e.alternate=s):(s.pendingProps=n,s.type=e.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=e.flags&65011712,s.childLanes=e.childLanes,s.lanes=e.lanes,s.child=e.child,s.memoizedProps=e.memoizedProps,s.memoizedState=e.memoizedState,s.updateQueue=e.updateQueue,n=e.dependencies,s.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},s.sibling=e.sibling,s.index=e.index,s.ref=e.ref,s.refCleanup=e.refCleanup,s}function Kh(e,n){e.flags&=65011714;var s=e.alternate;return s===null?(e.childLanes=0,e.lanes=n,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=s.childLanes,e.lanes=s.lanes,e.child=s.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=s.memoizedProps,e.memoizedState=s.memoizedState,e.updateQueue=s.updateQueue,e.type=s.type,n=s.dependencies,e.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),e}function Ei(e,n,s,i,u,f){var v=0;if(i=e,typeof e=="function")Wu(e)&&(v=1);else if(typeof e=="string")v=Yj(e,s,L.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case K:return e=Hn(31,s,n,u),e.elementType=K,e.lanes=f,e;case w:return Wa(s.children,u,f,n);case C:v=8,u|=24;break;case N:return e=Hn(12,s,n,u|2),e.elementType=N,e.lanes=f,e;case V:return e=Hn(13,s,n,u),e.elementType=V,e.lanes=f,e;case M:return e=Hn(19,s,n,u),e.elementType=M,e.lanes=f,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case O:v=10;break e;case T:v=9;break e;case k:v=11;break e;case B:v=14;break e;case R:v=16,i=null;break e}v=29,s=Error(l(130,e===null?"null":typeof e,"")),i=null}return n=Hn(v,s,n,u),n.elementType=e,n.type=i,n.lanes=f,n}function Wa(e,n,s,i){return e=Hn(7,e,i,n),e.lanes=s,e}function ed(e,n,s){return e=Hn(6,e,null,n),e.lanes=s,e}function Qh(e){var n=Hn(18,null,null,0);return n.stateNode=e,n}function td(e,n,s){return n=Hn(4,e.children!==null?e.children:[],e.key,n),n.lanes=s,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}var Zh=new WeakMap;function es(e,n){if(typeof e=="object"&&e!==null){var s=Zh.get(e);return s!==void 0?s:(n={value:e,source:n,stack:ze(n)},Zh.set(e,n),n)}return{value:e,source:n,stack:ze(n)}}var qr=[],Gr=0,Ti=null,Xo=0,ts=[],ns=0,ga=null,vs=1,Ss="";function Bs(e,n){qr[Gr++]=Xo,qr[Gr++]=Ti,Ti=e,Xo=n}function Jh(e,n,s){ts[ns++]=vs,ts[ns++]=Ss,ts[ns++]=ga,ga=e;var i=vs;e=Ss;var u=32-Tt(i)-1;i&=~(1<<u),s+=1;var f=32-Tt(n)+u;if(30<f){var v=u-u%5;f=(i&(1<<v)-1).toString(32),i>>=v,u-=v,vs=1<<32-Tt(n)+u|s<<u|i,Ss=f+e}else vs=1<<f|s<<u|i,Ss=e}function nd(e){e.return!==null&&(Bs(e,1),Jh(e,1,0))}function sd(e){for(;e===Ti;)Ti=qr[--Gr],qr[Gr]=null,Xo=qr[--Gr],qr[Gr]=null;for(;e===ga;)ga=ts[--ns],ts[ns]=null,Ss=ts[--ns],ts[ns]=null,vs=ts[--ns],ts[ns]=null}function Wh(e,n){ts[ns++]=vs,ts[ns++]=Ss,ts[ns++]=ga,vs=n.id,Ss=n.overflow,ga=e}var xn=null,Vt=null,gt=!1,xa=null,ss=!1,ad=Error(l(519));function ya(e){var n=Error(l(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Ko(es(n,e)),ad}function eg(e){var n=e.stateNode,s=e.type,i=e.memoizedProps;switch(n[an]=e,n[On]=i,s){case"dialog":ct("cancel",n),ct("close",n);break;case"iframe":case"object":case"embed":ct("load",n);break;case"video":case"audio":for(s=0;s<xl.length;s++)ct(xl[s],n);break;case"source":ct("error",n);break;case"img":case"image":case"link":ct("error",n),ct("load",n);break;case"details":ct("toggle",n);break;case"input":ct("invalid",n),mh(n,i.value,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name,!0);break;case"select":ct("invalid",n);break;case"textarea":ct("invalid",n),hh(n,i.value,i.defaultValue,i.children)}s=i.children,typeof s!="string"&&typeof s!="number"&&typeof s!="bigint"||n.textContent===""+s||i.suppressHydrationWarning===!0||xy(n.textContent,s)?(i.popover!=null&&(ct("beforetoggle",n),ct("toggle",n)),i.onScroll!=null&&ct("scroll",n),i.onScrollEnd!=null&&ct("scrollend",n),i.onClick!=null&&(n.onclick=zs),n=!0):n=!1,n||ya(e,!0)}function tg(e){for(xn=e.return;xn;)switch(xn.tag){case 5:case 31:case 13:ss=!1;return;case 27:case 3:ss=!0;return;default:xn=xn.return}}function $r(e){if(e!==xn)return!1;if(!gt)return tg(e),gt=!0,!1;var n=e.tag,s;if((s=n!==3&&n!==27)&&((s=n===5)&&(s=e.type,s=!(s!=="form"&&s!=="button")||jf(e.type,e.memoizedProps)),s=!s),s&&Vt&&ya(e),tg(e),n===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(317));Vt=wy(e)}else if(n===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(317));Vt=wy(e)}else n===27?(n=Vt,Aa(e.type)?(e=Of,Of=null,Vt=e):Vt=n):Vt=xn?rs(e.stateNode.nextSibling):null;return!0}function er(){Vt=xn=null,gt=!1}function rd(){var e=xa;return e!==null&&(Mn===null?Mn=e:Mn.push.apply(Mn,e),xa=null),e}function Ko(e){xa===null?xa=[e]:xa.push(e)}var od=z(null),tr=null,Us=null;function ba(e,n,s){I(od,n._currentValue),n._currentValue=s}function Hs(e){e._currentValue=od.current,X(od)}function ld(e,n,s){for(;e!==null;){var i=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,i!==null&&(i.childLanes|=n)):i!==null&&(i.childLanes&n)!==n&&(i.childLanes|=n),e===s)break;e=e.return}}function id(e,n,s,i){var u=e.child;for(u!==null&&(u.return=e);u!==null;){var f=u.dependencies;if(f!==null){var v=u.child;f=f.firstContext;e:for(;f!==null;){var A=f;f=u;for(var $=0;$<n.length;$++)if(A.context===n[$]){f.lanes|=s,A=f.alternate,A!==null&&(A.lanes|=s),ld(f.return,s,e),i||(v=null);break e}f=A.next}}else if(u.tag===18){if(v=u.return,v===null)throw Error(l(341));v.lanes|=s,f=v.alternate,f!==null&&(f.lanes|=s),ld(v,s,e),v=null}else v=u.child;if(v!==null)v.return=u;else for(v=u;v!==null;){if(v===e){v=null;break}if(u=v.sibling,u!==null){u.return=v.return,v=u;break}v=v.return}u=v}}function Xr(e,n,s,i){e=null;for(var u=n,f=!1;u!==null;){if(!f){if((u.flags&524288)!==0)f=!0;else if((u.flags&262144)!==0)break}if(u.tag===10){var v=u.alternate;if(v===null)throw Error(l(387));if(v=v.memoizedProps,v!==null){var A=u.type;Un(u.pendingProps.value,v.value)||(e!==null?e.push(A):e=[A])}}else if(u===pe.current){if(v=u.alternate,v===null)throw Error(l(387));v.memoizedState.memoizedState!==u.memoizedState.memoizedState&&(e!==null?e.push(Nl):e=[Nl])}u=u.return}e!==null&&id(n,e,s,i),n.flags|=262144}function wi(e){for(e=e.firstContext;e!==null;){if(!Un(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function nr(e){tr=e,Us=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function yn(e){return ng(tr,e)}function Ci(e,n){return tr===null&&nr(e),ng(e,n)}function ng(e,n){var s=n._currentValue;if(n={context:n,memoizedValue:s,next:null},Us===null){if(e===null)throw Error(l(308));Us=n,e.dependencies={lanes:0,firstContext:n},e.flags|=524288}else Us=Us.next=n;return s}var IN=typeof AbortController<"u"?AbortController:function(){var e=[],n=this.signal={aborted:!1,addEventListener:function(s,i){e.push(i)}};this.abort=function(){n.aborted=!0,e.forEach(function(s){return s()})}},BN=t.unstable_scheduleCallback,UN=t.unstable_NormalPriority,en={$$typeof:O,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function cd(){return{controller:new IN,data:new Map,refCount:0}}function Qo(e){e.refCount--,e.refCount===0&&BN(UN,function(){e.controller.abort()})}var Zo=null,ud=0,Kr=0,Qr=null;function HN(e,n){if(Zo===null){var s=Zo=[];ud=0,Kr=pf(),Qr={status:"pending",value:void 0,then:function(i){s.push(i)}}}return ud++,n.then(sg,sg),n}function sg(){if(--ud===0&&Zo!==null){Qr!==null&&(Qr.status="fulfilled");var e=Zo;Zo=null,Kr=0,Qr=null;for(var n=0;n<e.length;n++)(0,e[n])()}}function YN(e,n){var s=[],i={status:"pending",value:null,reason:null,then:function(u){s.push(u)}};return e.then(function(){i.status="fulfilled",i.value=n;for(var u=0;u<s.length;u++)(0,s[u])(n)},function(u){for(i.status="rejected",i.reason=u,u=0;u<s.length;u++)(0,s[u])(void 0)}),i}var ag=_.S;_.S=function(e,n){Yx=P(),typeof n=="object"&&n!==null&&typeof n.then=="function"&&HN(e,n),ag!==null&&ag(e,n)};var sr=z(null);function dd(){var e=sr.current;return e!==null?e:Lt.pooledCache}function Oi(e,n){n===null?I(sr,sr.current):I(sr,n.pool)}function rg(){var e=dd();return e===null?null:{parent:en._currentValue,pool:e}}var Zr=Error(l(460)),fd=Error(l(474)),Ri=Error(l(542)),ki={then:function(){}};function og(e){return e=e.status,e==="fulfilled"||e==="rejected"}function lg(e,n,s){switch(s=e[s],s===void 0?e.push(n):s!==n&&(n.then(zs,zs),n=s),n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,cg(e),e;default:if(typeof n.status=="string")n.then(zs,zs);else{if(e=Lt,e!==null&&100<e.shellSuspendCounter)throw Error(l(482));e=n,e.status="pending",e.then(function(i){if(n.status==="pending"){var u=n;u.status="fulfilled",u.value=i}},function(i){if(n.status==="pending"){var u=n;u.status="rejected",u.reason=i}})}switch(n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,cg(e),e}throw rr=n,Zr}}function ar(e){try{var n=e._init;return n(e._payload)}catch(s){throw s!==null&&typeof s=="object"&&typeof s.then=="function"?(rr=s,Zr):s}}var rr=null;function ig(){if(rr===null)throw Error(l(459));var e=rr;return rr=null,e}function cg(e){if(e===Zr||e===Ri)throw Error(l(483))}var Jr=null,Jo=0;function _i(e){var n=Jo;return Jo+=1,Jr===null&&(Jr=[]),lg(Jr,e,n)}function Wo(e,n){n=n.props.ref,e.ref=n!==void 0?n:null}function Ai(e,n){throw n.$$typeof===S?Error(l(525)):(e=Object.prototype.toString.call(n),Error(l(31,e==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":e)))}function ug(e){function n(se,W){if(e){var le=se.deletions;le===null?(se.deletions=[W],se.flags|=16):le.push(W)}}function s(se,W){if(!e)return null;for(;W!==null;)n(se,W),W=W.sibling;return null}function i(se){for(var W=new Map;se!==null;)se.key!==null?W.set(se.key,se):W.set(se.index,se),se=se.sibling;return W}function u(se,W){return se=Is(se,W),se.index=0,se.sibling=null,se}function f(se,W,le){return se.index=le,e?(le=se.alternate,le!==null?(le=le.index,le<W?(se.flags|=67108866,W):le):(se.flags|=67108866,W)):(se.flags|=1048576,W)}function v(se){return e&&se.alternate===null&&(se.flags|=67108866),se}function A(se,W,le,Ne){return W===null||W.tag!==6?(W=ed(le,se.mode,Ne),W.return=se,W):(W=u(W,le),W.return=se,W)}function $(se,W,le,Ne){var Ke=le.type;return Ke===w?be(se,W,le.props.children,Ne,le.key):W!==null&&(W.elementType===Ke||typeof Ke=="object"&&Ke!==null&&Ke.$$typeof===R&&ar(Ke)===W.type)?(W=u(W,le.props),Wo(W,le),W.return=se,W):(W=Ei(le.type,le.key,le.props,null,se.mode,Ne),Wo(W,le),W.return=se,W)}function ie(se,W,le,Ne){return W===null||W.tag!==4||W.stateNode.containerInfo!==le.containerInfo||W.stateNode.implementation!==le.implementation?(W=td(le,se.mode,Ne),W.return=se,W):(W=u(W,le.children||[]),W.return=se,W)}function be(se,W,le,Ne,Ke){return W===null||W.tag!==7?(W=Wa(le,se.mode,Ne,Ke),W.return=se,W):(W=u(W,le),W.return=se,W)}function je(se,W,le){if(typeof W=="string"&&W!==""||typeof W=="number"||typeof W=="bigint")return W=ed(""+W,se.mode,le),W.return=se,W;if(typeof W=="object"&&W!==null){switch(W.$$typeof){case j:return le=Ei(W.type,W.key,W.props,null,se.mode,le),Wo(le,W),le.return=se,le;case E:return W=td(W,se.mode,le),W.return=se,W;case R:return W=ar(W),je(se,W,le)}if(U(W)||te(W))return W=Wa(W,se.mode,le,null),W.return=se,W;if(typeof W.then=="function")return je(se,_i(W),le);if(W.$$typeof===O)return je(se,Ci(se,W),le);Ai(se,W)}return null}function me(se,W,le,Ne){var Ke=W!==null?W.key:null;if(typeof le=="string"&&le!==""||typeof le=="number"||typeof le=="bigint")return Ke!==null?null:A(se,W,""+le,Ne);if(typeof le=="object"&&le!==null){switch(le.$$typeof){case j:return le.key===Ke?$(se,W,le,Ne):null;case E:return le.key===Ke?ie(se,W,le,Ne):null;case R:return le=ar(le),me(se,W,le,Ne)}if(U(le)||te(le))return Ke!==null?null:be(se,W,le,Ne,null);if(typeof le.then=="function")return me(se,W,_i(le),Ne);if(le.$$typeof===O)return me(se,W,Ci(se,le),Ne);Ai(se,le)}return null}function he(se,W,le,Ne,Ke){if(typeof Ne=="string"&&Ne!==""||typeof Ne=="number"||typeof Ne=="bigint")return se=se.get(le)||null,A(W,se,""+Ne,Ke);if(typeof Ne=="object"&&Ne!==null){switch(Ne.$$typeof){case j:return se=se.get(Ne.key===null?le:Ne.key)||null,$(W,se,Ne,Ke);case E:return se=se.get(Ne.key===null?le:Ne.key)||null,ie(W,se,Ne,Ke);case R:return Ne=ar(Ne),he(se,W,le,Ne,Ke)}if(U(Ne)||te(Ne))return se=se.get(le)||null,be(W,se,Ne,Ke,null);if(typeof Ne.then=="function")return he(se,W,le,_i(Ne),Ke);if(Ne.$$typeof===O)return he(se,W,le,Ci(W,Ne),Ke);Ai(W,Ne)}return null}function Fe(se,W,le,Ne){for(var Ke=null,vt=null,$e=W,rt=W=0,mt=null;$e!==null&&rt<le.length;rt++){$e.index>rt?(mt=$e,$e=null):mt=$e.sibling;var St=me(se,$e,le[rt],Ne);if(St===null){$e===null&&($e=mt);break}e&&$e&&St.alternate===null&&n(se,$e),W=f(St,W,rt),vt===null?Ke=St:vt.sibling=St,vt=St,$e=mt}if(rt===le.length)return s(se,$e),gt&&Bs(se,rt),Ke;if($e===null){for(;rt<le.length;rt++)$e=je(se,le[rt],Ne),$e!==null&&(W=f($e,W,rt),vt===null?Ke=$e:vt.sibling=$e,vt=$e);return gt&&Bs(se,rt),Ke}for($e=i($e);rt<le.length;rt++)mt=he($e,se,rt,le[rt],Ne),mt!==null&&(e&&mt.alternate!==null&&$e.delete(mt.key===null?rt:mt.key),W=f(mt,W,rt),vt===null?Ke=mt:vt.sibling=mt,vt=mt);return e&&$e.forEach(function(Ia){return n(se,Ia)}),gt&&Bs(se,rt),Ke}function Ze(se,W,le,Ne){if(le==null)throw Error(l(151));for(var Ke=null,vt=null,$e=W,rt=W=0,mt=null,St=le.next();$e!==null&&!St.done;rt++,St=le.next()){$e.index>rt?(mt=$e,$e=null):mt=$e.sibling;var Ia=me(se,$e,St.value,Ne);if(Ia===null){$e===null&&($e=mt);break}e&&$e&&Ia.alternate===null&&n(se,$e),W=f(Ia,W,rt),vt===null?Ke=Ia:vt.sibling=Ia,vt=Ia,$e=mt}if(St.done)return s(se,$e),gt&&Bs(se,rt),Ke;if($e===null){for(;!St.done;rt++,St=le.next())St=je(se,St.value,Ne),St!==null&&(W=f(St,W,rt),vt===null?Ke=St:vt.sibling=St,vt=St);return gt&&Bs(se,rt),Ke}for($e=i($e);!St.done;rt++,St=le.next())St=he($e,se,rt,St.value,Ne),St!==null&&(e&&St.alternate!==null&&$e.delete(St.key===null?rt:St.key),W=f(St,W,rt),vt===null?Ke=St:vt.sibling=St,vt=St);return e&&$e.forEach(function(Jj){return n(se,Jj)}),gt&&Bs(se,rt),Ke}function At(se,W,le,Ne){if(typeof le=="object"&&le!==null&&le.type===w&&le.key===null&&(le=le.props.children),typeof le=="object"&&le!==null){switch(le.$$typeof){case j:e:{for(var Ke=le.key;W!==null;){if(W.key===Ke){if(Ke=le.type,Ke===w){if(W.tag===7){s(se,W.sibling),Ne=u(W,le.props.children),Ne.return=se,se=Ne;break e}}else if(W.elementType===Ke||typeof Ke=="object"&&Ke!==null&&Ke.$$typeof===R&&ar(Ke)===W.type){s(se,W.sibling),Ne=u(W,le.props),Wo(Ne,le),Ne.return=se,se=Ne;break e}s(se,W);break}else n(se,W);W=W.sibling}le.type===w?(Ne=Wa(le.props.children,se.mode,Ne,le.key),Ne.return=se,se=Ne):(Ne=Ei(le.type,le.key,le.props,null,se.mode,Ne),Wo(Ne,le),Ne.return=se,se=Ne)}return v(se);case E:e:{for(Ke=le.key;W!==null;){if(W.key===Ke)if(W.tag===4&&W.stateNode.containerInfo===le.containerInfo&&W.stateNode.implementation===le.implementation){s(se,W.sibling),Ne=u(W,le.children||[]),Ne.return=se,se=Ne;break e}else{s(se,W);break}else n(se,W);W=W.sibling}Ne=td(le,se.mode,Ne),Ne.return=se,se=Ne}return v(se);case R:return le=ar(le),At(se,W,le,Ne)}if(U(le))return Fe(se,W,le,Ne);if(te(le)){if(Ke=te(le),typeof Ke!="function")throw Error(l(150));return le=Ke.call(le),Ze(se,W,le,Ne)}if(typeof le.then=="function")return At(se,W,_i(le),Ne);if(le.$$typeof===O)return At(se,W,Ci(se,le),Ne);Ai(se,le)}return typeof le=="string"&&le!==""||typeof le=="number"||typeof le=="bigint"?(le=""+le,W!==null&&W.tag===6?(s(se,W.sibling),Ne=u(W,le),Ne.return=se,se=Ne):(s(se,W),Ne=ed(le,se.mode,Ne),Ne.return=se,se=Ne),v(se)):s(se,W)}return function(se,W,le,Ne){try{Jo=0;var Ke=At(se,W,le,Ne);return Jr=null,Ke}catch($e){if($e===Zr||$e===Ri)throw $e;var vt=Hn(29,$e,null,se.mode);return vt.lanes=Ne,vt.return=se,vt}}}var or=ug(!0),dg=ug(!1),va=!1;function md(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function pd(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Sa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Na(e,n,s){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,(Nt&2)!==0){var u=i.pending;return u===null?n.next=n:(n.next=u.next,u.next=n),i.pending=n,n=ji(e),Xh(e,null,s),n}return Ni(e,i,n,s),ji(e)}function el(e,n,s){if(n=n.updateQueue,n!==null&&(n=n.shared,(s&4194048)!==0)){var i=n.lanes;i&=e.pendingLanes,s|=i,n.lanes=s,un(e,s)}}function hd(e,n){var s=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,s===i)){var u=null,f=null;if(s=s.firstBaseUpdate,s!==null){do{var v={lane:s.lane,tag:s.tag,payload:s.payload,callback:null,next:null};f===null?u=f=v:f=f.next=v,s=s.next}while(s!==null);f===null?u=f=n:f=f.next=n}else u=f=n;s={baseState:i.baseState,firstBaseUpdate:u,lastBaseUpdate:f,shared:i.shared,callbacks:i.callbacks},e.updateQueue=s;return}e=s.lastBaseUpdate,e===null?s.firstBaseUpdate=n:e.next=n,s.lastBaseUpdate=n}var gd=!1;function tl(){if(gd){var e=Qr;if(e!==null)throw e}}function nl(e,n,s,i){gd=!1;var u=e.updateQueue;va=!1;var f=u.firstBaseUpdate,v=u.lastBaseUpdate,A=u.shared.pending;if(A!==null){u.shared.pending=null;var $=A,ie=$.next;$.next=null,v===null?f=ie:v.next=ie,v=$;var be=e.alternate;be!==null&&(be=be.updateQueue,A=be.lastBaseUpdate,A!==v&&(A===null?be.firstBaseUpdate=ie:A.next=ie,be.lastBaseUpdate=$))}if(f!==null){var je=u.baseState;v=0,be=ie=$=null,A=f;do{var me=A.lane&-536870913,he=me!==A.lane;if(he?(ft&me)===me:(i&me)===me){me!==0&&me===Kr&&(gd=!0),be!==null&&(be=be.next={lane:0,tag:A.tag,payload:A.payload,callback:null,next:null});e:{var Fe=e,Ze=A;me=n;var At=s;switch(Ze.tag){case 1:if(Fe=Ze.payload,typeof Fe=="function"){je=Fe.call(At,je,me);break e}je=Fe;break e;case 3:Fe.flags=Fe.flags&-65537|128;case 0:if(Fe=Ze.payload,me=typeof Fe=="function"?Fe.call(At,je,me):Fe,me==null)break e;je=g({},je,me);break e;case 2:va=!0}}me=A.callback,me!==null&&(e.flags|=64,he&&(e.flags|=8192),he=u.callbacks,he===null?u.callbacks=[me]:he.push(me))}else he={lane:me,tag:A.tag,payload:A.payload,callback:A.callback,next:null},be===null?(ie=be=he,$=je):be=be.next=he,v|=me;if(A=A.next,A===null){if(A=u.shared.pending,A===null)break;he=A,A=he.next,he.next=null,u.lastBaseUpdate=he,u.shared.pending=null}}while(!0);be===null&&($=je),u.baseState=$,u.firstBaseUpdate=ie,u.lastBaseUpdate=be,f===null&&(u.shared.lanes=0),Ca|=v,e.lanes=v,e.memoizedState=je}}function fg(e,n){if(typeof e!="function")throw Error(l(191,e));e.call(n)}function mg(e,n){var s=e.callbacks;if(s!==null)for(e.callbacks=null,e=0;e<s.length;e++)fg(s[e],n)}var Wr=z(null),Mi=z(0);function pg(e,n){e=Ks,I(Mi,e),I(Wr,n),Ks=e|n.baseLanes}function xd(){I(Mi,Ks),I(Wr,Wr.current)}function yd(){Ks=Mi.current,X(Wr),X(Mi)}var Yn=z(null),as=null;function ja(e){var n=e.alternate;I(Jt,Jt.current&1),I(Yn,e),as===null&&(n===null||Wr.current!==null||n.memoizedState!==null)&&(as=e)}function bd(e){I(Jt,Jt.current),I(Yn,e),as===null&&(as=e)}function hg(e){e.tag===22?(I(Jt,Jt.current),I(Yn,e),as===null&&(as=e)):Ea()}function Ea(){I(Jt,Jt.current),I(Yn,Yn.current)}function Pn(e){X(Yn),as===e&&(as=null),X(Jt)}var Jt=z(0);function Di(e){for(var n=e;n!==null;){if(n.tag===13){var s=n.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||wf(s)||Cf(s)))return n}else if(n.tag===19&&(n.memoizedProps.revealOrder==="forwards"||n.memoizedProps.revealOrder==="backwards"||n.memoizedProps.revealOrder==="unstable_legacy-backwards"||n.memoizedProps.revealOrder==="together")){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 Ys=0,nt=null,kt=null,tn=null,zi=!1,eo=!1,lr=!1,Li=0,sl=0,to=null,PN=0;function $t(){throw Error(l(321))}function vd(e,n){if(n===null)return!1;for(var s=0;s<n.length&&s<e.length;s++)if(!Un(e[s],n[s]))return!1;return!0}function Sd(e,n,s,i,u,f){return Ys=f,nt=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,_.H=e===null||e.memoizedState===null?Jg:Ld,lr=!1,f=s(i,u),lr=!1,eo&&(f=xg(n,s,i,u)),gg(e),f}function gg(e){_.H=ol;var n=kt!==null&&kt.next!==null;if(Ys=0,tn=kt=nt=null,zi=!1,sl=0,to=null,n)throw Error(l(300));e===null||nn||(e=e.dependencies,e!==null&&wi(e)&&(nn=!0))}function xg(e,n,s,i){nt=e;var u=0;do{if(eo&&(to=null),sl=0,eo=!1,25<=u)throw Error(l(301));if(u+=1,tn=kt=null,e.updateQueue!=null){var f=e.updateQueue;f.lastEffect=null,f.events=null,f.stores=null,f.memoCache!=null&&(f.memoCache.index=0)}_.H=Wg,f=n(s,i)}while(eo);return f}function VN(){var e=_.H,n=e.useState()[0];return n=typeof n.then=="function"?al(n):n,e=e.useState()[0],(kt!==null?kt.memoizedState:null)!==e&&(nt.flags|=1024),n}function Nd(){var e=Li!==0;return Li=0,e}function jd(e,n,s){n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~s}function Ed(e){if(zi){for(e=e.memoizedState;e!==null;){var n=e.queue;n!==null&&(n.pending=null),e=e.next}zi=!1}Ys=0,tn=kt=nt=null,eo=!1,sl=Li=0,to=null}function wn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return tn===null?nt.memoizedState=tn=e:tn=tn.next=e,tn}function Wt(){if(kt===null){var e=nt.alternate;e=e!==null?e.memoizedState:null}else e=kt.next;var n=tn===null?nt.memoizedState:tn.next;if(n!==null)tn=n,kt=e;else{if(e===null)throw nt.alternate===null?Error(l(467)):Error(l(310));kt=e,e={memoizedState:kt.memoizedState,baseState:kt.baseState,baseQueue:kt.baseQueue,queue:kt.queue,next:null},tn===null?nt.memoizedState=tn=e:tn=tn.next=e}return tn}function Ii(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function al(e){var n=sl;return sl+=1,to===null&&(to=[]),e=lg(to,e,n),n=nt,(tn===null?n.memoizedState:tn.next)===null&&(n=n.alternate,_.H=n===null||n.memoizedState===null?Jg:Ld),e}function Bi(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return al(e);if(e.$$typeof===O)return yn(e)}throw Error(l(438,String(e)))}function Td(e){var n=null,s=nt.updateQueue;if(s!==null&&(n=s.memoCache),n==null){var i=nt.alternate;i!==null&&(i=i.updateQueue,i!==null&&(i=i.memoCache,i!=null&&(n={data:i.data.map(function(u){return u.slice()}),index:0})))}if(n==null&&(n={data:[],index:0}),s===null&&(s=Ii(),nt.updateQueue=s),s.memoCache=n,s=n.data[n.index],s===void 0)for(s=n.data[n.index]=Array(e),i=0;i<e;i++)s[i]=Q;return n.index++,s}function Ps(e,n){return typeof n=="function"?n(e):n}function Ui(e){var n=Wt();return wd(n,kt,e)}function wd(e,n,s){var i=e.queue;if(i===null)throw Error(l(311));i.lastRenderedReducer=s;var u=e.baseQueue,f=i.pending;if(f!==null){if(u!==null){var v=u.next;u.next=f.next,f.next=v}n.baseQueue=u=f,i.pending=null}if(f=e.baseState,u===null)e.memoizedState=f;else{n=u.next;var A=v=null,$=null,ie=n,be=!1;do{var je=ie.lane&-536870913;if(je!==ie.lane?(ft&je)===je:(Ys&je)===je){var me=ie.revertLane;if(me===0)$!==null&&($=$.next={lane:0,revertLane:0,gesture:null,action:ie.action,hasEagerState:ie.hasEagerState,eagerState:ie.eagerState,next:null}),je===Kr&&(be=!0);else if((Ys&me)===me){ie=ie.next,me===Kr&&(be=!0);continue}else je={lane:0,revertLane:ie.revertLane,gesture:null,action:ie.action,hasEagerState:ie.hasEagerState,eagerState:ie.eagerState,next:null},$===null?(A=$=je,v=f):$=$.next=je,nt.lanes|=me,Ca|=me;je=ie.action,lr&&s(f,je),f=ie.hasEagerState?ie.eagerState:s(f,je)}else me={lane:je,revertLane:ie.revertLane,gesture:ie.gesture,action:ie.action,hasEagerState:ie.hasEagerState,eagerState:ie.eagerState,next:null},$===null?(A=$=me,v=f):$=$.next=me,nt.lanes|=je,Ca|=je;ie=ie.next}while(ie!==null&&ie!==n);if($===null?v=f:$.next=A,!Un(f,e.memoizedState)&&(nn=!0,be&&(s=Qr,s!==null)))throw s;e.memoizedState=f,e.baseState=v,e.baseQueue=$,i.lastRenderedState=f}return u===null&&(i.lanes=0),[e.memoizedState,i.dispatch]}function Cd(e){var n=Wt(),s=n.queue;if(s===null)throw Error(l(311));s.lastRenderedReducer=e;var i=s.dispatch,u=s.pending,f=n.memoizedState;if(u!==null){s.pending=null;var v=u=u.next;do f=e(f,v.action),v=v.next;while(v!==u);Un(f,n.memoizedState)||(nn=!0),n.memoizedState=f,n.baseQueue===null&&(n.baseState=f),s.lastRenderedState=f}return[f,i]}function yg(e,n,s){var i=nt,u=Wt(),f=gt;if(f){if(s===void 0)throw Error(l(407));s=s()}else s=n();var v=!Un((kt||u).memoizedState,s);if(v&&(u.memoizedState=s,nn=!0),u=u.queue,kd(Sg.bind(null,i,u,e),[e]),u.getSnapshot!==n||v||tn!==null&&tn.memoizedState.tag&1){if(i.flags|=2048,no(9,{destroy:void 0},vg.bind(null,i,u,s,n),null),Lt===null)throw Error(l(349));f||(Ys&127)!==0||bg(i,n,s)}return s}function bg(e,n,s){e.flags|=16384,e={getSnapshot:n,value:s},n=nt.updateQueue,n===null?(n=Ii(),nt.updateQueue=n,n.stores=[e]):(s=n.stores,s===null?n.stores=[e]:s.push(e))}function vg(e,n,s,i){n.value=s,n.getSnapshot=i,Ng(n)&&jg(e)}function Sg(e,n,s){return s(function(){Ng(n)&&jg(e)})}function Ng(e){var n=e.getSnapshot;e=e.value;try{var s=n();return!Un(e,s)}catch{return!0}}function jg(e){var n=Ja(e,2);n!==null&&Dn(n,e,2)}function Od(e){var n=wn();if(typeof e=="function"){var s=e;if(e=s(),lr){It(!0);try{s()}finally{It(!1)}}}return n.memoizedState=n.baseState=e,n.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ps,lastRenderedState:e},n}function Eg(e,n,s,i){return e.baseState=s,wd(e,kt,typeof i=="function"?i:Ps)}function FN(e,n,s,i,u){if(Pi(e))throw Error(l(485));if(e=n.action,e!==null){var f={payload:u,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(v){f.listeners.push(v)}};_.T!==null?s(!0):f.isTransition=!1,i(f),s=n.pending,s===null?(f.next=n.pending=f,Tg(n,f)):(f.next=s.next,n.pending=s.next=f)}}function Tg(e,n){var s=n.action,i=n.payload,u=e.state;if(n.isTransition){var f=_.T,v={};_.T=v;try{var A=s(u,i),$=_.S;$!==null&&$(v,A),wg(e,n,A)}catch(ie){Rd(e,n,ie)}finally{f!==null&&v.types!==null&&(f.types=v.types),_.T=f}}else try{f=s(u,i),wg(e,n,f)}catch(ie){Rd(e,n,ie)}}function wg(e,n,s){s!==null&&typeof s=="object"&&typeof s.then=="function"?s.then(function(i){Cg(e,n,i)},function(i){return Rd(e,n,i)}):Cg(e,n,s)}function Cg(e,n,s){n.status="fulfilled",n.value=s,Og(n),e.state=s,n=e.pending,n!==null&&(s=n.next,s===n?e.pending=null:(s=s.next,n.next=s,Tg(e,s)))}function Rd(e,n,s){var i=e.pending;if(e.pending=null,i!==null){i=i.next;do n.status="rejected",n.reason=s,Og(n),n=n.next;while(n!==i)}e.action=null}function Og(e){e=e.listeners;for(var n=0;n<e.length;n++)(0,e[n])()}function Rg(e,n){return n}function kg(e,n){if(gt){var s=Lt.formState;if(s!==null){e:{var i=nt;if(gt){if(Vt){t:{for(var u=Vt,f=ss;u.nodeType!==8;){if(!f){u=null;break t}if(u=rs(u.nextSibling),u===null){u=null;break t}}f=u.data,u=f==="F!"||f==="F"?u:null}if(u){Vt=rs(u.nextSibling),i=u.data==="F!";break e}}ya(i)}i=!1}i&&(n=s[0])}}return s=wn(),s.memoizedState=s.baseState=n,i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rg,lastRenderedState:n},s.queue=i,s=Kg.bind(null,nt,i),i.dispatch=s,i=Od(!1),f=zd.bind(null,nt,!1,i.queue),i=wn(),u={state:n,dispatch:null,action:e,pending:null},i.queue=u,s=FN.bind(null,nt,u,f,s),u.dispatch=s,i.memoizedState=e,[n,s,!1]}function _g(e){var n=Wt();return Ag(n,kt,e)}function Ag(e,n,s){if(n=wd(e,n,Rg)[0],e=Ui(Ps)[0],typeof n=="object"&&n!==null&&typeof n.then=="function")try{var i=al(n)}catch(v){throw v===Zr?Ri:v}else i=n;n=Wt();var u=n.queue,f=u.dispatch;return s!==n.memoizedState&&(nt.flags|=2048,no(9,{destroy:void 0},qN.bind(null,u,s),null)),[i,f,e]}function qN(e,n){e.action=n}function Mg(e){var n=Wt(),s=kt;if(s!==null)return Ag(n,s,e);Wt(),n=n.memoizedState,s=Wt();var i=s.queue.dispatch;return s.memoizedState=e,[n,i,!1]}function no(e,n,s,i){return e={tag:e,create:s,deps:i,inst:n,next:null},n=nt.updateQueue,n===null&&(n=Ii(),nt.updateQueue=n),s=n.lastEffect,s===null?n.lastEffect=e.next=e:(i=s.next,s.next=e,e.next=i,n.lastEffect=e),e}function Dg(){return Wt().memoizedState}function Hi(e,n,s,i){var u=wn();nt.flags|=e,u.memoizedState=no(1|n,{destroy:void 0},s,i===void 0?null:i)}function Yi(e,n,s,i){var u=Wt();i=i===void 0?null:i;var f=u.memoizedState.inst;kt!==null&&i!==null&&vd(i,kt.memoizedState.deps)?u.memoizedState=no(n,f,s,i):(nt.flags|=e,u.memoizedState=no(1|n,f,s,i))}function zg(e,n){Hi(8390656,8,e,n)}function kd(e,n){Yi(2048,8,e,n)}function GN(e){nt.flags|=4;var n=nt.updateQueue;if(n===null)n=Ii(),nt.updateQueue=n,n.events=[e];else{var s=n.events;s===null?n.events=[e]:s.push(e)}}function Lg(e){var n=Wt().memoizedState;return GN({ref:n,nextImpl:e}),function(){if((Nt&2)!==0)throw Error(l(440));return n.impl.apply(void 0,arguments)}}function Ig(e,n){return Yi(4,2,e,n)}function Bg(e,n){return Yi(4,4,e,n)}function Ug(e,n){if(typeof n=="function"){e=e();var s=n(e);return function(){typeof s=="function"?s():n(null)}}if(n!=null)return e=e(),n.current=e,function(){n.current=null}}function Hg(e,n,s){s=s!=null?s.concat([e]):null,Yi(4,4,Ug.bind(null,n,e),s)}function _d(){}function Yg(e,n){var s=Wt();n=n===void 0?null:n;var i=s.memoizedState;return n!==null&&vd(n,i[1])?i[0]:(s.memoizedState=[e,n],e)}function Pg(e,n){var s=Wt();n=n===void 0?null:n;var i=s.memoizedState;if(n!==null&&vd(n,i[1]))return i[0];if(i=e(),lr){It(!0);try{e()}finally{It(!1)}}return s.memoizedState=[i,n],i}function Ad(e,n,s){return s===void 0||(Ys&1073741824)!==0&&(ft&261930)===0?e.memoizedState=n:(e.memoizedState=s,e=Vx(),nt.lanes|=e,Ca|=e,s)}function Vg(e,n,s,i){return Un(s,n)?s:Wr.current!==null?(e=Ad(e,s,i),Un(e,n)||(nn=!0),e):(Ys&42)===0||(Ys&1073741824)!==0&&(ft&261930)===0?(nn=!0,e.memoizedState=s):(e=Vx(),nt.lanes|=e,Ca|=e,n)}function Fg(e,n,s,i,u){var f=D.p;D.p=f!==0&&8>f?f:8;var v=_.T,A={};_.T=A,zd(e,!1,n,s);try{var $=u(),ie=_.S;if(ie!==null&&ie(A,$),$!==null&&typeof $=="object"&&typeof $.then=="function"){var be=YN($,i);rl(e,n,be,qn(e))}else rl(e,n,i,qn(e))}catch(je){rl(e,n,{then:function(){},status:"rejected",reason:je},qn())}finally{D.p=f,v!==null&&A.types!==null&&(v.types=A.types),_.T=v}}function $N(){}function Md(e,n,s,i){if(e.tag!==5)throw Error(l(476));var u=qg(e).queue;Fg(e,u,n,Y,s===null?$N:function(){return Gg(e),s(i)})}function qg(e){var n=e.memoizedState;if(n!==null)return n;n={memoizedState:Y,baseState:Y,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ps,lastRenderedState:Y},next:null};var s={};return n.next={memoizedState:s,baseState:s,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ps,lastRenderedState:s},next:null},e.memoizedState=n,e=e.alternate,e!==null&&(e.memoizedState=n),n}function Gg(e){var n=qg(e);n.next===null&&(n=e.alternate.memoizedState),rl(e,n.next.queue,{},qn())}function Dd(){return yn(Nl)}function $g(){return Wt().memoizedState}function Xg(){return Wt().memoizedState}function XN(e){for(var n=e.return;n!==null;){switch(n.tag){case 24:case 3:var s=qn();e=Sa(s);var i=Na(n,e,s);i!==null&&(Dn(i,n,s),el(i,n,s)),n={cache:cd()},e.payload=n;return}n=n.return}}function KN(e,n,s){var i=qn();s={lane:i,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},Pi(e)?Qg(n,s):(s=Ju(e,n,s,i),s!==null&&(Dn(s,e,i),Zg(s,n,i)))}function Kg(e,n,s){var i=qn();rl(e,n,s,i)}function rl(e,n,s,i){var u={lane:i,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null};if(Pi(e))Qg(n,u);else{var f=e.alternate;if(e.lanes===0&&(f===null||f.lanes===0)&&(f=n.lastRenderedReducer,f!==null))try{var v=n.lastRenderedState,A=f(v,s);if(u.hasEagerState=!0,u.eagerState=A,Un(A,v))return Ni(e,n,u,0),Lt===null&&Si(),!1}catch{}if(s=Ju(e,n,u,i),s!==null)return Dn(s,e,i),Zg(s,n,i),!0}return!1}function zd(e,n,s,i){if(i={lane:2,revertLane:pf(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Pi(e)){if(n)throw Error(l(479))}else n=Ju(e,s,i,2),n!==null&&Dn(n,e,2)}function Pi(e){var n=e.alternate;return e===nt||n!==null&&n===nt}function Qg(e,n){eo=zi=!0;var s=e.pending;s===null?n.next=n:(n.next=s.next,s.next=n),e.pending=n}function Zg(e,n,s){if((s&4194048)!==0){var i=n.lanes;i&=e.pendingLanes,s|=i,n.lanes=s,un(e,s)}}var ol={readContext:yn,use:Bi,useCallback:$t,useContext:$t,useEffect:$t,useImperativeHandle:$t,useLayoutEffect:$t,useInsertionEffect:$t,useMemo:$t,useReducer:$t,useRef:$t,useState:$t,useDebugValue:$t,useDeferredValue:$t,useTransition:$t,useSyncExternalStore:$t,useId:$t,useHostTransitionStatus:$t,useFormState:$t,useActionState:$t,useOptimistic:$t,useMemoCache:$t,useCacheRefresh:$t};ol.useEffectEvent=$t;var Jg={readContext:yn,use:Bi,useCallback:function(e,n){return wn().memoizedState=[e,n===void 0?null:n],e},useContext:yn,useEffect:zg,useImperativeHandle:function(e,n,s){s=s!=null?s.concat([e]):null,Hi(4194308,4,Ug.bind(null,n,e),s)},useLayoutEffect:function(e,n){return Hi(4194308,4,e,n)},useInsertionEffect:function(e,n){Hi(4,2,e,n)},useMemo:function(e,n){var s=wn();n=n===void 0?null:n;var i=e();if(lr){It(!0);try{e()}finally{It(!1)}}return s.memoizedState=[i,n],i},useReducer:function(e,n,s){var i=wn();if(s!==void 0){var u=s(n);if(lr){It(!0);try{s(n)}finally{It(!1)}}}else u=n;return i.memoizedState=i.baseState=u,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:u},i.queue=e,e=e.dispatch=KN.bind(null,nt,e),[i.memoizedState,e]},useRef:function(e){var n=wn();return e={current:e},n.memoizedState=e},useState:function(e){e=Od(e);var n=e.queue,s=Kg.bind(null,nt,n);return n.dispatch=s,[e.memoizedState,s]},useDebugValue:_d,useDeferredValue:function(e,n){var s=wn();return Ad(s,e,n)},useTransition:function(){var e=Od(!1);return e=Fg.bind(null,nt,e.queue,!0,!1),wn().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,n,s){var i=nt,u=wn();if(gt){if(s===void 0)throw Error(l(407));s=s()}else{if(s=n(),Lt===null)throw Error(l(349));(ft&127)!==0||bg(i,n,s)}u.memoizedState=s;var f={value:s,getSnapshot:n};return u.queue=f,zg(Sg.bind(null,i,f,e),[e]),i.flags|=2048,no(9,{destroy:void 0},vg.bind(null,i,f,s,n),null),s},useId:function(){var e=wn(),n=Lt.identifierPrefix;if(gt){var s=Ss,i=vs;s=(i&~(1<<32-Tt(i)-1)).toString(32)+s,n="_"+n+"R_"+s,s=Li++,0<s&&(n+="H"+s.toString(32)),n+="_"}else s=PN++,n="_"+n+"r_"+s.toString(32)+"_";return e.memoizedState=n},useHostTransitionStatus:Dd,useFormState:kg,useActionState:kg,useOptimistic:function(e){var n=wn();n.memoizedState=n.baseState=e;var s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return n.queue=s,n=zd.bind(null,nt,!0,s),s.dispatch=n,[e,n]},useMemoCache:Td,useCacheRefresh:function(){return wn().memoizedState=XN.bind(null,nt)},useEffectEvent:function(e){var n=wn(),s={impl:e};return n.memoizedState=s,function(){if((Nt&2)!==0)throw Error(l(440));return s.impl.apply(void 0,arguments)}}},Ld={readContext:yn,use:Bi,useCallback:Yg,useContext:yn,useEffect:kd,useImperativeHandle:Hg,useInsertionEffect:Ig,useLayoutEffect:Bg,useMemo:Pg,useReducer:Ui,useRef:Dg,useState:function(){return Ui(Ps)},useDebugValue:_d,useDeferredValue:function(e,n){var s=Wt();return Vg(s,kt.memoizedState,e,n)},useTransition:function(){var e=Ui(Ps)[0],n=Wt().memoizedState;return[typeof e=="boolean"?e:al(e),n]},useSyncExternalStore:yg,useId:$g,useHostTransitionStatus:Dd,useFormState:_g,useActionState:_g,useOptimistic:function(e,n){var s=Wt();return Eg(s,kt,e,n)},useMemoCache:Td,useCacheRefresh:Xg};Ld.useEffectEvent=Lg;var Wg={readContext:yn,use:Bi,useCallback:Yg,useContext:yn,useEffect:kd,useImperativeHandle:Hg,useInsertionEffect:Ig,useLayoutEffect:Bg,useMemo:Pg,useReducer:Cd,useRef:Dg,useState:function(){return Cd(Ps)},useDebugValue:_d,useDeferredValue:function(e,n){var s=Wt();return kt===null?Ad(s,e,n):Vg(s,kt.memoizedState,e,n)},useTransition:function(){var e=Cd(Ps)[0],n=Wt().memoizedState;return[typeof e=="boolean"?e:al(e),n]},useSyncExternalStore:yg,useId:$g,useHostTransitionStatus:Dd,useFormState:Mg,useActionState:Mg,useOptimistic:function(e,n){var s=Wt();return kt!==null?Eg(s,kt,e,n):(s.baseState=e,[e,s.queue.dispatch])},useMemoCache:Td,useCacheRefresh:Xg};Wg.useEffectEvent=Lg;function Id(e,n,s,i){n=e.memoizedState,s=s(i,n),s=s==null?n:g({},n,s),e.memoizedState=s,e.lanes===0&&(e.updateQueue.baseState=s)}var Bd={enqueueSetState:function(e,n,s){e=e._reactInternals;var i=qn(),u=Sa(i);u.payload=n,s!=null&&(u.callback=s),n=Na(e,u,i),n!==null&&(Dn(n,e,i),el(n,e,i))},enqueueReplaceState:function(e,n,s){e=e._reactInternals;var i=qn(),u=Sa(i);u.tag=1,u.payload=n,s!=null&&(u.callback=s),n=Na(e,u,i),n!==null&&(Dn(n,e,i),el(n,e,i))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var s=qn(),i=Sa(s);i.tag=2,n!=null&&(i.callback=n),n=Na(e,i,s),n!==null&&(Dn(n,e,s),el(n,e,s))}};function ex(e,n,s,i,u,f,v){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(i,f,v):n.prototype&&n.prototype.isPureReactComponent?!Go(s,i)||!Go(u,f):!0}function tx(e,n,s,i){e=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(s,i),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(s,i),n.state!==e&&Bd.enqueueReplaceState(n,n.state,null)}function ir(e,n){var s=n;if("ref"in n){s={};for(var i in n)i!=="ref"&&(s[i]=n[i])}if(e=e.defaultProps){s===n&&(s=g({},s));for(var u in e)s[u]===void 0&&(s[u]=e[u])}return s}function nx(e){vi(e)}function sx(e){console.error(e)}function ax(e){vi(e)}function Vi(e,n){try{var s=e.onUncaughtError;s(n.value,{componentStack:n.stack})}catch(i){setTimeout(function(){throw i})}}function rx(e,n,s){try{var i=e.onCaughtError;i(s.value,{componentStack:s.stack,errorBoundary:n.tag===1?n.stateNode:null})}catch(u){setTimeout(function(){throw u})}}function Ud(e,n,s){return s=Sa(s),s.tag=3,s.payload={element:null},s.callback=function(){Vi(e,n)},s}function ox(e){return e=Sa(e),e.tag=3,e}function lx(e,n,s,i){var u=s.type.getDerivedStateFromError;if(typeof u=="function"){var f=i.value;e.payload=function(){return u(f)},e.callback=function(){rx(n,s,i)}}var v=s.stateNode;v!==null&&typeof v.componentDidCatch=="function"&&(e.callback=function(){rx(n,s,i),typeof u!="function"&&(Oa===null?Oa=new Set([this]):Oa.add(this));var A=i.stack;this.componentDidCatch(i.value,{componentStack:A!==null?A:""})})}function QN(e,n,s,i,u){if(s.flags|=32768,i!==null&&typeof i=="object"&&typeof i.then=="function"){if(n=s.alternate,n!==null&&Xr(n,s,u,!0),s=Yn.current,s!==null){switch(s.tag){case 31:case 13:return as===null?tc():s.alternate===null&&Xt===0&&(Xt=3),s.flags&=-257,s.flags|=65536,s.lanes=u,i===ki?s.flags|=16384:(n=s.updateQueue,n===null?s.updateQueue=new Set([i]):n.add(i),df(e,i,u)),!1;case 22:return s.flags|=65536,i===ki?s.flags|=16384:(n=s.updateQueue,n===null?(n={transitions:null,markerInstances:null,retryQueue:new Set([i])},s.updateQueue=n):(s=n.retryQueue,s===null?n.retryQueue=new Set([i]):s.add(i)),df(e,i,u)),!1}throw Error(l(435,s.tag))}return df(e,i,u),tc(),!1}if(gt)return n=Yn.current,n!==null?((n.flags&65536)===0&&(n.flags|=256),n.flags|=65536,n.lanes=u,i!==ad&&(e=Error(l(422),{cause:i}),Ko(es(e,s)))):(i!==ad&&(n=Error(l(423),{cause:i}),Ko(es(n,s))),e=e.current.alternate,e.flags|=65536,u&=-u,e.lanes|=u,i=es(i,s),u=Ud(e.stateNode,i,u),hd(e,u),Xt!==4&&(Xt=2)),!1;var f=Error(l(520),{cause:i});if(f=es(f,s),pl===null?pl=[f]:pl.push(f),Xt!==4&&(Xt=2),n===null)return!0;i=es(i,s),s=n;do{switch(s.tag){case 3:return s.flags|=65536,e=u&-u,s.lanes|=e,e=Ud(s.stateNode,i,e),hd(s,e),!1;case 1:if(n=s.type,f=s.stateNode,(s.flags&128)===0&&(typeof n.getDerivedStateFromError=="function"||f!==null&&typeof f.componentDidCatch=="function"&&(Oa===null||!Oa.has(f))))return s.flags|=65536,u&=-u,s.lanes|=u,u=ox(u),lx(u,e,s,i),hd(s,u),!1}s=s.return}while(s!==null);return!1}var Hd=Error(l(461)),nn=!1;function bn(e,n,s,i){n.child=e===null?dg(n,null,s,i):or(n,e.child,s,i)}function ix(e,n,s,i,u){s=s.render;var f=n.ref;if("ref"in i){var v={};for(var A in i)A!=="ref"&&(v[A]=i[A])}else v=i;return nr(n),i=Sd(e,n,s,v,f,u),A=Nd(),e!==null&&!nn?(jd(e,n,u),Vs(e,n,u)):(gt&&A&&nd(n),n.flags|=1,bn(e,n,i,u),n.child)}function cx(e,n,s,i,u){if(e===null){var f=s.type;return typeof f=="function"&&!Wu(f)&&f.defaultProps===void 0&&s.compare===null?(n.tag=15,n.type=f,ux(e,n,f,i,u)):(e=Ei(s.type,null,i,n,n.mode,u),e.ref=n.ref,e.return=n,n.child=e)}if(f=e.child,!Xd(e,u)){var v=f.memoizedProps;if(s=s.compare,s=s!==null?s:Go,s(v,i)&&e.ref===n.ref)return Vs(e,n,u)}return n.flags|=1,e=Is(f,i),e.ref=n.ref,e.return=n,n.child=e}function ux(e,n,s,i,u){if(e!==null){var f=e.memoizedProps;if(Go(f,i)&&e.ref===n.ref)if(nn=!1,n.pendingProps=i=f,Xd(e,u))(e.flags&131072)!==0&&(nn=!0);else return n.lanes=e.lanes,Vs(e,n,u)}return Yd(e,n,s,i,u)}function dx(e,n,s,i){var u=i.children,f=e!==null?e.memoizedState:null;if(e===null&&n.stateNode===null&&(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),i.mode==="hidden"){if((n.flags&128)!==0){if(f=f!==null?f.baseLanes|s:s,e!==null){for(i=n.child=e.child,u=0;i!==null;)u=u|i.lanes|i.childLanes,i=i.sibling;i=u&~f}else i=0,n.child=null;return fx(e,n,f,s,i)}if((s&536870912)!==0)n.memoizedState={baseLanes:0,cachePool:null},e!==null&&Oi(n,f!==null?f.cachePool:null),f!==null?pg(n,f):xd(),hg(n);else return i=n.lanes=536870912,fx(e,n,f!==null?f.baseLanes|s:s,s,i)}else f!==null?(Oi(n,f.cachePool),pg(n,f),Ea(),n.memoizedState=null):(e!==null&&Oi(n,null),xd(),Ea());return bn(e,n,u,s),n.child}function ll(e,n){return e!==null&&e.tag===22||n.stateNode!==null||(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.sibling}function fx(e,n,s,i,u){var f=dd();return f=f===null?null:{parent:en._currentValue,pool:f},n.memoizedState={baseLanes:s,cachePool:f},e!==null&&Oi(n,null),xd(),hg(n),e!==null&&Xr(e,n,i,!0),n.childLanes=u,null}function Fi(e,n){return n=Gi({mode:n.mode,children:n.children},e.mode),n.ref=e.ref,e.child=n,n.return=e,n}function mx(e,n,s){return or(n,e.child,null,s),e=Fi(n,n.pendingProps),e.flags|=2,Pn(n),n.memoizedState=null,e}function ZN(e,n,s){var i=n.pendingProps,u=(n.flags&128)!==0;if(n.flags&=-129,e===null){if(gt){if(i.mode==="hidden")return e=Fi(n,i),n.lanes=536870912,ll(null,e);if(bd(n),(e=Vt)?(e=Ty(e,ss),e=e!==null&&e.data==="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:ga!==null?{id:vs,overflow:Ss}:null,retryLane:536870912,hydrationErrors:null},s=Qh(e),s.return=n,n.child=s,xn=n,Vt=null)):e=null,e===null)throw ya(n);return n.lanes=536870912,null}return Fi(n,i)}var f=e.memoizedState;if(f!==null){var v=f.dehydrated;if(bd(n),u)if(n.flags&256)n.flags&=-257,n=mx(e,n,s);else if(n.memoizedState!==null)n.child=e.child,n.flags|=128,n=null;else throw Error(l(558));else if(nn||Xr(e,n,s,!1),u=(s&e.childLanes)!==0,nn||u){if(i=Lt,i!==null&&(v=gn(i,s),v!==0&&v!==f.retryLane))throw f.retryLane=v,Ja(e,v),Dn(i,e,v),Hd;tc(),n=mx(e,n,s)}else e=f.treeContext,Vt=rs(v.nextSibling),xn=n,gt=!0,xa=null,ss=!1,e!==null&&Wh(n,e),n=Fi(n,i),n.flags|=4096;return n}return e=Is(e.child,{mode:i.mode,children:i.children}),e.ref=n.ref,n.child=e,e.return=n,e}function qi(e,n){var s=n.ref;if(s===null)e!==null&&e.ref!==null&&(n.flags|=4194816);else{if(typeof s!="function"&&typeof s!="object")throw Error(l(284));(e===null||e.ref!==s)&&(n.flags|=4194816)}}function Yd(e,n,s,i,u){return nr(n),s=Sd(e,n,s,i,void 0,u),i=Nd(),e!==null&&!nn?(jd(e,n,u),Vs(e,n,u)):(gt&&i&&nd(n),n.flags|=1,bn(e,n,s,u),n.child)}function px(e,n,s,i,u,f){return nr(n),n.updateQueue=null,s=xg(n,i,s,u),gg(e),i=Nd(),e!==null&&!nn?(jd(e,n,f),Vs(e,n,f)):(gt&&i&&nd(n),n.flags|=1,bn(e,n,s,f),n.child)}function hx(e,n,s,i,u){if(nr(n),n.stateNode===null){var f=Fr,v=s.contextType;typeof v=="object"&&v!==null&&(f=yn(v)),f=new s(i,f),n.memoizedState=f.state!==null&&f.state!==void 0?f.state:null,f.updater=Bd,n.stateNode=f,f._reactInternals=n,f=n.stateNode,f.props=i,f.state=n.memoizedState,f.refs={},md(n),v=s.contextType,f.context=typeof v=="object"&&v!==null?yn(v):Fr,f.state=n.memoizedState,v=s.getDerivedStateFromProps,typeof v=="function"&&(Id(n,s,v,i),f.state=n.memoizedState),typeof s.getDerivedStateFromProps=="function"||typeof f.getSnapshotBeforeUpdate=="function"||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(v=f.state,typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount(),v!==f.state&&Bd.enqueueReplaceState(f,f.state,null),nl(n,i,f,u),tl(),f.state=n.memoizedState),typeof f.componentDidMount=="function"&&(n.flags|=4194308),i=!0}else if(e===null){f=n.stateNode;var A=n.memoizedProps,$=ir(s,A);f.props=$;var ie=f.context,be=s.contextType;v=Fr,typeof be=="object"&&be!==null&&(v=yn(be));var je=s.getDerivedStateFromProps;be=typeof je=="function"||typeof f.getSnapshotBeforeUpdate=="function",A=n.pendingProps!==A,be||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(A||ie!==v)&&tx(n,f,i,v),va=!1;var me=n.memoizedState;f.state=me,nl(n,i,f,u),tl(),ie=n.memoizedState,A||me!==ie||va?(typeof je=="function"&&(Id(n,s,je,i),ie=n.memoizedState),($=va||ex(n,s,$,i,me,ie,v))?(be||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount()),typeof f.componentDidMount=="function"&&(n.flags|=4194308)):(typeof f.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=i,n.memoizedState=ie),f.props=i,f.state=ie,f.context=v,i=$):(typeof f.componentDidMount=="function"&&(n.flags|=4194308),i=!1)}else{f=n.stateNode,pd(e,n),v=n.memoizedProps,be=ir(s,v),f.props=be,je=n.pendingProps,me=f.context,ie=s.contextType,$=Fr,typeof ie=="object"&&ie!==null&&($=yn(ie)),A=s.getDerivedStateFromProps,(ie=typeof A=="function"||typeof f.getSnapshotBeforeUpdate=="function")||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(v!==je||me!==$)&&tx(n,f,i,$),va=!1,me=n.memoizedState,f.state=me,nl(n,i,f,u),tl();var he=n.memoizedState;v!==je||me!==he||va||e!==null&&e.dependencies!==null&&wi(e.dependencies)?(typeof A=="function"&&(Id(n,s,A,i),he=n.memoizedState),(be=va||ex(n,s,be,i,me,he,$)||e!==null&&e.dependencies!==null&&wi(e.dependencies))?(ie||typeof f.UNSAFE_componentWillUpdate!="function"&&typeof f.componentWillUpdate!="function"||(typeof f.componentWillUpdate=="function"&&f.componentWillUpdate(i,he,$),typeof f.UNSAFE_componentWillUpdate=="function"&&f.UNSAFE_componentWillUpdate(i,he,$)),typeof f.componentDidUpdate=="function"&&(n.flags|=4),typeof f.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof f.componentDidUpdate!="function"||v===e.memoizedProps&&me===e.memoizedState||(n.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||v===e.memoizedProps&&me===e.memoizedState||(n.flags|=1024),n.memoizedProps=i,n.memoizedState=he),f.props=i,f.state=he,f.context=$,i=be):(typeof f.componentDidUpdate!="function"||v===e.memoizedProps&&me===e.memoizedState||(n.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||v===e.memoizedProps&&me===e.memoizedState||(n.flags|=1024),i=!1)}return f=i,qi(e,n),i=(n.flags&128)!==0,f||i?(f=n.stateNode,s=i&&typeof s.getDerivedStateFromError!="function"?null:f.render(),n.flags|=1,e!==null&&i?(n.child=or(n,e.child,null,u),n.child=or(n,null,s,u)):bn(e,n,s,u),n.memoizedState=f.state,e=n.child):e=Vs(e,n,u),e}function gx(e,n,s,i){return er(),n.flags|=256,bn(e,n,s,i),n.child}var Pd={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Vd(e){return{baseLanes:e,cachePool:rg()}}function Fd(e,n,s){return e=e!==null?e.childLanes&~s:0,n&&(e|=Fn),e}function xx(e,n,s){var i=n.pendingProps,u=!1,f=(n.flags&128)!==0,v;if((v=f)||(v=e!==null&&e.memoizedState===null?!1:(Jt.current&2)!==0),v&&(u=!0,n.flags&=-129),v=(n.flags&32)!==0,n.flags&=-33,e===null){if(gt){if(u?ja(n):Ea(),(e=Vt)?(e=Ty(e,ss),e=e!==null&&e.data!=="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:ga!==null?{id:vs,overflow:Ss}:null,retryLane:536870912,hydrationErrors:null},s=Qh(e),s.return=n,n.child=s,xn=n,Vt=null)):e=null,e===null)throw ya(n);return Cf(e)?n.lanes=32:n.lanes=536870912,null}var A=i.children;return i=i.fallback,u?(Ea(),u=n.mode,A=Gi({mode:"hidden",children:A},u),i=Wa(i,u,s,null),A.return=n,i.return=n,A.sibling=i,n.child=A,i=n.child,i.memoizedState=Vd(s),i.childLanes=Fd(e,v,s),n.memoizedState=Pd,ll(null,i)):(ja(n),qd(n,A))}var $=e.memoizedState;if($!==null&&(A=$.dehydrated,A!==null)){if(f)n.flags&256?(ja(n),n.flags&=-257,n=Gd(e,n,s)):n.memoizedState!==null?(Ea(),n.child=e.child,n.flags|=128,n=null):(Ea(),A=i.fallback,u=n.mode,i=Gi({mode:"visible",children:i.children},u),A=Wa(A,u,s,null),A.flags|=2,i.return=n,A.return=n,i.sibling=A,n.child=i,or(n,e.child,null,s),i=n.child,i.memoizedState=Vd(s),i.childLanes=Fd(e,v,s),n.memoizedState=Pd,n=ll(null,i));else if(ja(n),Cf(A)){if(v=A.nextSibling&&A.nextSibling.dataset,v)var ie=v.dgst;v=ie,i=Error(l(419)),i.stack="",i.digest=v,Ko({value:i,source:null,stack:null}),n=Gd(e,n,s)}else if(nn||Xr(e,n,s,!1),v=(s&e.childLanes)!==0,nn||v){if(v=Lt,v!==null&&(i=gn(v,s),i!==0&&i!==$.retryLane))throw $.retryLane=i,Ja(e,i),Dn(v,e,i),Hd;wf(A)||tc(),n=Gd(e,n,s)}else wf(A)?(n.flags|=192,n.child=e.child,n=null):(e=$.treeContext,Vt=rs(A.nextSibling),xn=n,gt=!0,xa=null,ss=!1,e!==null&&Wh(n,e),n=qd(n,i.children),n.flags|=4096);return n}return u?(Ea(),A=i.fallback,u=n.mode,$=e.child,ie=$.sibling,i=Is($,{mode:"hidden",children:i.children}),i.subtreeFlags=$.subtreeFlags&65011712,ie!==null?A=Is(ie,A):(A=Wa(A,u,s,null),A.flags|=2),A.return=n,i.return=n,i.sibling=A,n.child=i,ll(null,i),i=n.child,A=e.child.memoizedState,A===null?A=Vd(s):(u=A.cachePool,u!==null?($=en._currentValue,u=u.parent!==$?{parent:$,pool:$}:u):u=rg(),A={baseLanes:A.baseLanes|s,cachePool:u}),i.memoizedState=A,i.childLanes=Fd(e,v,s),n.memoizedState=Pd,ll(e.child,i)):(ja(n),s=e.child,e=s.sibling,s=Is(s,{mode:"visible",children:i.children}),s.return=n,s.sibling=null,e!==null&&(v=n.deletions,v===null?(n.deletions=[e],n.flags|=16):v.push(e)),n.child=s,n.memoizedState=null,s)}function qd(e,n){return n=Gi({mode:"visible",children:n},e.mode),n.return=e,e.child=n}function Gi(e,n){return e=Hn(22,e,null,n),e.lanes=0,e}function Gd(e,n,s){return or(n,e.child,null,s),e=qd(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function yx(e,n,s){e.lanes|=n;var i=e.alternate;i!==null&&(i.lanes|=n),ld(e.return,n,s)}function $d(e,n,s,i,u,f){var v=e.memoizedState;v===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:i,tail:s,tailMode:u,treeForkCount:f}:(v.isBackwards=n,v.rendering=null,v.renderingStartTime=0,v.last=i,v.tail=s,v.tailMode=u,v.treeForkCount=f)}function bx(e,n,s){var i=n.pendingProps,u=i.revealOrder,f=i.tail;i=i.children;var v=Jt.current,A=(v&2)!==0;if(A?(v=v&1|2,n.flags|=128):v&=1,I(Jt,v),bn(e,n,i,s),i=gt?Xo:0,!A&&e!==null&&(e.flags&128)!==0)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&yx(e,s,n);else if(e.tag===19)yx(e,s,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(u){case"forwards":for(s=n.child,u=null;s!==null;)e=s.alternate,e!==null&&Di(e)===null&&(u=s),s=s.sibling;s=u,s===null?(u=n.child,n.child=null):(u=s.sibling,s.sibling=null),$d(n,!1,u,s,f,i);break;case"backwards":case"unstable_legacy-backwards":for(s=null,u=n.child,n.child=null;u!==null;){if(e=u.alternate,e!==null&&Di(e)===null){n.child=u;break}e=u.sibling,u.sibling=s,s=u,u=e}$d(n,!0,s,null,f,i);break;case"together":$d(n,!1,null,null,void 0,i);break;default:n.memoizedState=null}return n.child}function Vs(e,n,s){if(e!==null&&(n.dependencies=e.dependencies),Ca|=n.lanes,(s&n.childLanes)===0)if(e!==null){if(Xr(e,n,s,!1),(s&n.childLanes)===0)return null}else return null;if(e!==null&&n.child!==e.child)throw Error(l(153));if(n.child!==null){for(e=n.child,s=Is(e,e.pendingProps),n.child=s,s.return=n;e.sibling!==null;)e=e.sibling,s=s.sibling=Is(e,e.pendingProps),s.return=n;s.sibling=null}return n.child}function Xd(e,n){return(e.lanes&n)!==0?!0:(e=e.dependencies,!!(e!==null&&wi(e)))}function JN(e,n,s){switch(n.tag){case 3:ae(n,n.stateNode.containerInfo),ba(n,en,e.memoizedState.cache),er();break;case 27:case 5:Ie(n);break;case 4:ae(n,n.stateNode.containerInfo);break;case 10:ba(n,n.type,n.memoizedProps.value);break;case 31:if(n.memoizedState!==null)return n.flags|=128,bd(n),null;break;case 13:var i=n.memoizedState;if(i!==null)return i.dehydrated!==null?(ja(n),n.flags|=128,null):(s&n.child.childLanes)!==0?xx(e,n,s):(ja(n),e=Vs(e,n,s),e!==null?e.sibling:null);ja(n);break;case 19:var u=(e.flags&128)!==0;if(i=(s&n.childLanes)!==0,i||(Xr(e,n,s,!1),i=(s&n.childLanes)!==0),u){if(i)return bx(e,n,s);n.flags|=128}if(u=n.memoizedState,u!==null&&(u.rendering=null,u.tail=null,u.lastEffect=null),I(Jt,Jt.current),i)break;return null;case 22:return n.lanes=0,dx(e,n,s,n.pendingProps);case 24:ba(n,en,e.memoizedState.cache)}return Vs(e,n,s)}function vx(e,n,s){if(e!==null)if(e.memoizedProps!==n.pendingProps)nn=!0;else{if(!Xd(e,s)&&(n.flags&128)===0)return nn=!1,JN(e,n,s);nn=(e.flags&131072)!==0}else nn=!1,gt&&(n.flags&1048576)!==0&&Jh(n,Xo,n.index);switch(n.lanes=0,n.tag){case 16:e:{var i=n.pendingProps;if(e=ar(n.elementType),n.type=e,typeof e=="function")Wu(e)?(i=ir(e,i),n.tag=1,n=hx(null,n,e,i,s)):(n.tag=0,n=Yd(null,n,e,i,s));else{if(e!=null){var u=e.$$typeof;if(u===k){n.tag=11,n=ix(null,n,e,i,s);break e}else if(u===B){n.tag=14,n=cx(null,n,e,i,s);break e}}throw n=ne(e)||e,Error(l(306,n,""))}}return n;case 0:return Yd(e,n,n.type,n.pendingProps,s);case 1:return i=n.type,u=ir(i,n.pendingProps),hx(e,n,i,u,s);case 3:e:{if(ae(n,n.stateNode.containerInfo),e===null)throw Error(l(387));i=n.pendingProps;var f=n.memoizedState;u=f.element,pd(e,n),nl(n,i,null,s);var v=n.memoizedState;if(i=v.cache,ba(n,en,i),i!==f.cache&&id(n,[en],s,!0),tl(),i=v.element,f.isDehydrated)if(f={element:i,isDehydrated:!1,cache:v.cache},n.updateQueue.baseState=f,n.memoizedState=f,n.flags&256){n=gx(e,n,i,s);break e}else if(i!==u){u=es(Error(l(424)),n),Ko(u),n=gx(e,n,i,s);break e}else for(e=n.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Vt=rs(e.firstChild),xn=n,gt=!0,xa=null,ss=!0,s=dg(n,null,i,s),n.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(er(),i===u){n=Vs(e,n,s);break e}bn(e,n,i,s)}n=n.child}return n;case 26:return qi(e,n),e===null?(s=_y(n.type,null,n.pendingProps,null))?n.memoizedState=s:gt||(s=n.type,e=n.pendingProps,i=ic(ee.current).createElement(s),i[an]=n,i[On]=e,vn(i,s,e),dn(i),n.stateNode=i):n.memoizedState=_y(n.type,e.memoizedProps,n.pendingProps,e.memoizedState),null;case 27:return Ie(n),e===null&&gt&&(i=n.stateNode=Oy(n.type,n.pendingProps,ee.current),xn=n,ss=!0,u=Vt,Aa(n.type)?(Of=u,Vt=rs(i.firstChild)):Vt=u),bn(e,n,n.pendingProps.children,s),qi(e,n),e===null&&(n.flags|=4194304),n.child;case 5:return e===null&&gt&&((u=i=Vt)&&(i=Oj(i,n.type,n.pendingProps,ss),i!==null?(n.stateNode=i,xn=n,Vt=rs(i.firstChild),ss=!1,u=!0):u=!1),u||ya(n)),Ie(n),u=n.type,f=n.pendingProps,v=e!==null?e.memoizedProps:null,i=f.children,jf(u,f)?i=null:v!==null&&jf(u,v)&&(n.flags|=32),n.memoizedState!==null&&(u=Sd(e,n,VN,null,null,s),Nl._currentValue=u),qi(e,n),bn(e,n,i,s),n.child;case 6:return e===null&&gt&&((e=s=Vt)&&(s=Rj(s,n.pendingProps,ss),s!==null?(n.stateNode=s,xn=n,Vt=null,e=!0):e=!1),e||ya(n)),null;case 13:return xx(e,n,s);case 4:return ae(n,n.stateNode.containerInfo),i=n.pendingProps,e===null?n.child=or(n,null,i,s):bn(e,n,i,s),n.child;case 11:return ix(e,n,n.type,n.pendingProps,s);case 7:return bn(e,n,n.pendingProps,s),n.child;case 8:return bn(e,n,n.pendingProps.children,s),n.child;case 12:return bn(e,n,n.pendingProps.children,s),n.child;case 10:return i=n.pendingProps,ba(n,n.type,i.value),bn(e,n,i.children,s),n.child;case 9:return u=n.type._context,i=n.pendingProps.children,nr(n),u=yn(u),i=i(u),n.flags|=1,bn(e,n,i,s),n.child;case 14:return cx(e,n,n.type,n.pendingProps,s);case 15:return ux(e,n,n.type,n.pendingProps,s);case 19:return bx(e,n,s);case 31:return ZN(e,n,s);case 22:return dx(e,n,s,n.pendingProps);case 24:return nr(n),i=yn(en),e===null?(u=dd(),u===null&&(u=Lt,f=cd(),u.pooledCache=f,f.refCount++,f!==null&&(u.pooledCacheLanes|=s),u=f),n.memoizedState={parent:i,cache:u},md(n),ba(n,en,u)):((e.lanes&s)!==0&&(pd(e,n),nl(n,null,null,s),tl()),u=e.memoizedState,f=n.memoizedState,u.parent!==i?(u={parent:i,cache:i},n.memoizedState=u,n.lanes===0&&(n.memoizedState=n.updateQueue.baseState=u),ba(n,en,i)):(i=f.cache,ba(n,en,i),i!==u.cache&&id(n,[en],s,!0))),bn(e,n,n.pendingProps.children,s),n.child;case 29:throw n.pendingProps}throw Error(l(156,n.tag))}function Fs(e){e.flags|=4}function Kd(e,n,s,i,u){if((n=(e.mode&32)!==0)&&(n=!1),n){if(e.flags|=16777216,(u&335544128)===u)if(e.stateNode.complete)e.flags|=8192;else if($x())e.flags|=8192;else throw rr=ki,fd}else e.flags&=-16777217}function Sx(e,n){if(n.type!=="stylesheet"||(n.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Ly(n))if($x())e.flags|=8192;else throw rr=ki,fd}function $i(e,n){n!==null&&(e.flags|=4),e.flags&16384&&(n=e.tag!==22?Zt():536870912,e.lanes|=n,oo|=n)}function il(e,n){if(!gt)switch(e.tailMode){case"hidden":n=e.tail;for(var s=null;n!==null;)n.alternate!==null&&(s=n),n=n.sibling;s===null?e.tail=null:s.sibling=null;break;case"collapsed":s=e.tail;for(var i=null;s!==null;)s.alternate!==null&&(i=s),s=s.sibling;i===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:i.sibling=null}}function Ft(e){var n=e.alternate!==null&&e.alternate.child===e.child,s=0,i=0;if(n)for(var u=e.child;u!==null;)s|=u.lanes|u.childLanes,i|=u.subtreeFlags&65011712,i|=u.flags&65011712,u.return=e,u=u.sibling;else for(u=e.child;u!==null;)s|=u.lanes|u.childLanes,i|=u.subtreeFlags,i|=u.flags,u.return=e,u=u.sibling;return e.subtreeFlags|=i,e.childLanes=s,n}function WN(e,n,s){var i=n.pendingProps;switch(sd(n),n.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ft(n),null;case 1:return Ft(n),null;case 3:return s=n.stateNode,i=null,e!==null&&(i=e.memoizedState.cache),n.memoizedState.cache!==i&&(n.flags|=2048),Hs(en),de(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(e===null||e.child===null)&&($r(n)?Fs(n):e===null||e.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,rd())),Ft(n),null;case 26:var u=n.type,f=n.memoizedState;return e===null?(Fs(n),f!==null?(Ft(n),Sx(n,f)):(Ft(n),Kd(n,u,null,i,s))):f?f!==e.memoizedState?(Fs(n),Ft(n),Sx(n,f)):(Ft(n),n.flags&=-16777217):(e=e.memoizedProps,e!==i&&Fs(n),Ft(n),Kd(n,u,e,i,s)),null;case 27:if(Ae(n),s=ee.current,u=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==i&&Fs(n);else{if(!i){if(n.stateNode===null)throw Error(l(166));return Ft(n),null}e=L.current,$r(n)?eg(n):(e=Oy(u,i,s),n.stateNode=e,Fs(n))}return Ft(n),null;case 5:if(Ae(n),u=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==i&&Fs(n);else{if(!i){if(n.stateNode===null)throw Error(l(166));return Ft(n),null}if(f=L.current,$r(n))eg(n);else{var v=ic(ee.current);switch(f){case 1:f=v.createElementNS("http://www.w3.org/2000/svg",u);break;case 2:f=v.createElementNS("http://www.w3.org/1998/Math/MathML",u);break;default:switch(u){case"svg":f=v.createElementNS("http://www.w3.org/2000/svg",u);break;case"math":f=v.createElementNS("http://www.w3.org/1998/Math/MathML",u);break;case"script":f=v.createElement("div"),f.innerHTML="<script><\/script>",f=f.removeChild(f.firstChild);break;case"select":f=typeof i.is=="string"?v.createElement("select",{is:i.is}):v.createElement("select"),i.multiple?f.multiple=!0:i.size&&(f.size=i.size);break;default:f=typeof i.is=="string"?v.createElement(u,{is:i.is}):v.createElement(u)}}f[an]=n,f[On]=i;e:for(v=n.child;v!==null;){if(v.tag===5||v.tag===6)f.appendChild(v.stateNode);else if(v.tag!==4&&v.tag!==27&&v.child!==null){v.child.return=v,v=v.child;continue}if(v===n)break e;for(;v.sibling===null;){if(v.return===null||v.return===n)break e;v=v.return}v.sibling.return=v.return,v=v.sibling}n.stateNode=f;e:switch(vn(f,u,i),u){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&Fs(n)}}return Ft(n),Kd(n,n.type,e===null?null:e.memoizedProps,n.pendingProps,s),null;case 6:if(e&&n.stateNode!=null)e.memoizedProps!==i&&Fs(n);else{if(typeof i!="string"&&n.stateNode===null)throw Error(l(166));if(e=ee.current,$r(n)){if(e=n.stateNode,s=n.memoizedProps,i=null,u=xn,u!==null)switch(u.tag){case 27:case 5:i=u.memoizedProps}e[an]=n,e=!!(e.nodeValue===s||i!==null&&i.suppressHydrationWarning===!0||xy(e.nodeValue,s)),e||ya(n,!0)}else e=ic(e).createTextNode(i),e[an]=n,n.stateNode=e}return Ft(n),null;case 31:if(s=n.memoizedState,e===null||e.memoizedState!==null){if(i=$r(n),s!==null){if(e===null){if(!i)throw Error(l(318));if(e=n.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(557));e[an]=n}else er(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Ft(n),e=!1}else s=rd(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=s),e=!0;if(!e)return n.flags&256?(Pn(n),n):(Pn(n),null);if((n.flags&128)!==0)throw Error(l(558))}return Ft(n),null;case 13:if(i=n.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(u=$r(n),i!==null&&i.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[an]=n}else er(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Ft(n),u=!1}else u=rd(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=u),u=!0;if(!u)return n.flags&256?(Pn(n),n):(Pn(n),null)}return Pn(n),(n.flags&128)!==0?(n.lanes=s,n):(s=i!==null,e=e!==null&&e.memoizedState!==null,s&&(i=n.child,u=null,i.alternate!==null&&i.alternate.memoizedState!==null&&i.alternate.memoizedState.cachePool!==null&&(u=i.alternate.memoizedState.cachePool.pool),f=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(f=i.memoizedState.cachePool.pool),f!==u&&(i.flags|=2048)),s!==e&&s&&(n.child.flags|=8192),$i(n,n.updateQueue),Ft(n),null);case 4:return de(),e===null&&yf(n.stateNode.containerInfo),Ft(n),null;case 10:return Hs(n.type),Ft(n),null;case 19:if(X(Jt),i=n.memoizedState,i===null)return Ft(n),null;if(u=(n.flags&128)!==0,f=i.rendering,f===null)if(u)il(i,!1);else{if(Xt!==0||e!==null&&(e.flags&128)!==0)for(e=n.child;e!==null;){if(f=Di(e),f!==null){for(n.flags|=128,il(i,!1),e=f.updateQueue,n.updateQueue=e,$i(n,e),n.subtreeFlags=0,e=s,s=n.child;s!==null;)Kh(s,e),s=s.sibling;return I(Jt,Jt.current&1|2),gt&&Bs(n,i.treeForkCount),n.child}e=e.sibling}i.tail!==null&&P()>Ji&&(n.flags|=128,u=!0,il(i,!1),n.lanes=4194304)}else{if(!u)if(e=Di(f),e!==null){if(n.flags|=128,u=!0,e=e.updateQueue,n.updateQueue=e,$i(n,e),il(i,!0),i.tail===null&&i.tailMode==="hidden"&&!f.alternate&&!gt)return Ft(n),null}else 2*P()-i.renderingStartTime>Ji&&s!==536870912&&(n.flags|=128,u=!0,il(i,!1),n.lanes=4194304);i.isBackwards?(f.sibling=n.child,n.child=f):(e=i.last,e!==null?e.sibling=f:n.child=f,i.last=f)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=P(),e.sibling=null,s=Jt.current,I(Jt,u?s&1|2:s&1),gt&&Bs(n,i.treeForkCount),e):(Ft(n),null);case 22:case 23:return Pn(n),yd(),i=n.memoizedState!==null,e!==null?e.memoizedState!==null!==i&&(n.flags|=8192):i&&(n.flags|=8192),i?(s&536870912)!==0&&(n.flags&128)===0&&(Ft(n),n.subtreeFlags&6&&(n.flags|=8192)):Ft(n),s=n.updateQueue,s!==null&&$i(n,s.retryQueue),s=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(s=e.memoizedState.cachePool.pool),i=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(i=n.memoizedState.cachePool.pool),i!==s&&(n.flags|=2048),e!==null&&X(sr),null;case 24:return s=null,e!==null&&(s=e.memoizedState.cache),n.memoizedState.cache!==s&&(n.flags|=2048),Hs(en),Ft(n),null;case 25:return null;case 30:return null}throw Error(l(156,n.tag))}function ej(e,n){switch(sd(n),n.tag){case 1:return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return Hs(en),de(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 26:case 27:case 5:return Ae(n),null;case 31:if(n.memoizedState!==null){if(Pn(n),n.alternate===null)throw Error(l(340));er()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 13:if(Pn(n),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(l(340));er()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return X(Jt),null;case 4:return de(),null;case 10:return Hs(n.type),null;case 22:case 23:return Pn(n),yd(),e!==null&&X(sr),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 24:return Hs(en),null;case 25:return null;default:return null}}function Nx(e,n){switch(sd(n),n.tag){case 3:Hs(en),de();break;case 26:case 27:case 5:Ae(n);break;case 4:de();break;case 31:n.memoizedState!==null&&Pn(n);break;case 13:Pn(n);break;case 19:X(Jt);break;case 10:Hs(n.type);break;case 22:case 23:Pn(n),yd(),e!==null&&X(sr);break;case 24:Hs(en)}}function cl(e,n){try{var s=n.updateQueue,i=s!==null?s.lastEffect:null;if(i!==null){var u=i.next;s=u;do{if((s.tag&e)===e){i=void 0;var f=s.create,v=s.inst;i=f(),v.destroy=i}s=s.next}while(s!==u)}}catch(A){Ot(n,n.return,A)}}function Ta(e,n,s){try{var i=n.updateQueue,u=i!==null?i.lastEffect:null;if(u!==null){var f=u.next;i=f;do{if((i.tag&e)===e){var v=i.inst,A=v.destroy;if(A!==void 0){v.destroy=void 0,u=n;var $=s,ie=A;try{ie()}catch(be){Ot(u,$,be)}}}i=i.next}while(i!==f)}}catch(be){Ot(n,n.return,be)}}function jx(e){var n=e.updateQueue;if(n!==null){var s=e.stateNode;try{mg(n,s)}catch(i){Ot(e,e.return,i)}}}function Ex(e,n,s){s.props=ir(e.type,e.memoizedProps),s.state=e.memoizedState;try{s.componentWillUnmount()}catch(i){Ot(e,n,i)}}function ul(e,n){try{var s=e.ref;if(s!==null){switch(e.tag){case 26:case 27:case 5:var i=e.stateNode;break;case 30:i=e.stateNode;break;default:i=e.stateNode}typeof s=="function"?e.refCleanup=s(i):s.current=i}}catch(u){Ot(e,n,u)}}function Ns(e,n){var s=e.ref,i=e.refCleanup;if(s!==null)if(typeof i=="function")try{i()}catch(u){Ot(e,n,u)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof s=="function")try{s(null)}catch(u){Ot(e,n,u)}else s.current=null}function Tx(e){var n=e.type,s=e.memoizedProps,i=e.stateNode;try{e:switch(n){case"button":case"input":case"select":case"textarea":s.autoFocus&&i.focus();break e;case"img":s.src?i.src=s.src:s.srcSet&&(i.srcset=s.srcSet)}}catch(u){Ot(e,e.return,u)}}function Qd(e,n,s){try{var i=e.stateNode;Nj(i,e.type,s,n),i[On]=n}catch(u){Ot(e,e.return,u)}}function wx(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Aa(e.type)||e.tag===4}function Zd(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||wx(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Aa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Jd(e,n,s){var i=e.tag;if(i===5||i===6)e=e.stateNode,n?(s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s).insertBefore(e,n):(n=s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s,n.appendChild(e),s=s._reactRootContainer,s!=null||n.onclick!==null||(n.onclick=zs));else if(i!==4&&(i===27&&Aa(e.type)&&(s=e.stateNode,n=null),e=e.child,e!==null))for(Jd(e,n,s),e=e.sibling;e!==null;)Jd(e,n,s),e=e.sibling}function Xi(e,n,s){var i=e.tag;if(i===5||i===6)e=e.stateNode,n?s.insertBefore(e,n):s.appendChild(e);else if(i!==4&&(i===27&&Aa(e.type)&&(s=e.stateNode),e=e.child,e!==null))for(Xi(e,n,s),e=e.sibling;e!==null;)Xi(e,n,s),e=e.sibling}function Cx(e){var n=e.stateNode,s=e.memoizedProps;try{for(var i=e.type,u=n.attributes;u.length;)n.removeAttributeNode(u[0]);vn(n,i,s),n[an]=e,n[On]=s}catch(f){Ot(e,e.return,f)}}var qs=!1,sn=!1,Wd=!1,Ox=typeof WeakSet=="function"?WeakSet:Set,fn=null;function tj(e,n){if(e=e.containerInfo,Sf=hc,e=Hh(e),Gu(e)){if("selectionStart"in e)var s={start:e.selectionStart,end:e.selectionEnd};else e:{s=(s=e.ownerDocument)&&s.defaultView||window;var i=s.getSelection&&s.getSelection();if(i&&i.rangeCount!==0){s=i.anchorNode;var u=i.anchorOffset,f=i.focusNode;i=i.focusOffset;try{s.nodeType,f.nodeType}catch{s=null;break e}var v=0,A=-1,$=-1,ie=0,be=0,je=e,me=null;t:for(;;){for(var he;je!==s||u!==0&&je.nodeType!==3||(A=v+u),je!==f||i!==0&&je.nodeType!==3||($=v+i),je.nodeType===3&&(v+=je.nodeValue.length),(he=je.firstChild)!==null;)me=je,je=he;for(;;){if(je===e)break t;if(me===s&&++ie===u&&(A=v),me===f&&++be===i&&($=v),(he=je.nextSibling)!==null)break;je=me,me=je.parentNode}je=he}s=A===-1||$===-1?null:{start:A,end:$}}else s=null}s=s||{start:0,end:0}}else s=null;for(Nf={focusedElem:e,selectionRange:s},hc=!1,fn=n;fn!==null;)if(n=fn,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,fn=e;else for(;fn!==null;){switch(n=fn,f=n.alternate,e=n.flags,n.tag){case 0:if((e&4)!==0&&(e=n.updateQueue,e=e!==null?e.events:null,e!==null))for(s=0;s<e.length;s++)u=e[s],u.ref.impl=u.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&f!==null){e=void 0,s=n,u=f.memoizedProps,f=f.memoizedState,i=s.stateNode;try{var Fe=ir(s.type,u);e=i.getSnapshotBeforeUpdate(Fe,f),i.__reactInternalSnapshotBeforeUpdate=e}catch(Ze){Ot(s,s.return,Ze)}}break;case 3:if((e&1024)!==0){if(e=n.stateNode.containerInfo,s=e.nodeType,s===9)Tf(e);else if(s===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Tf(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(l(163))}if(e=n.sibling,e!==null){e.return=n.return,fn=e;break}fn=n.return}}function Rx(e,n,s){var i=s.flags;switch(s.tag){case 0:case 11:case 15:$s(e,s),i&4&&cl(5,s);break;case 1:if($s(e,s),i&4)if(e=s.stateNode,n===null)try{e.componentDidMount()}catch(v){Ot(s,s.return,v)}else{var u=ir(s.type,n.memoizedProps);n=n.memoizedState;try{e.componentDidUpdate(u,n,e.__reactInternalSnapshotBeforeUpdate)}catch(v){Ot(s,s.return,v)}}i&64&&jx(s),i&512&&ul(s,s.return);break;case 3:if($s(e,s),i&64&&(e=s.updateQueue,e!==null)){if(n=null,s.child!==null)switch(s.child.tag){case 27:case 5:n=s.child.stateNode;break;case 1:n=s.child.stateNode}try{mg(e,n)}catch(v){Ot(s,s.return,v)}}break;case 27:n===null&&i&4&&Cx(s);case 26:case 5:$s(e,s),n===null&&i&4&&Tx(s),i&512&&ul(s,s.return);break;case 12:$s(e,s);break;case 31:$s(e,s),i&4&&Ax(e,s);break;case 13:$s(e,s),i&4&&Mx(e,s),i&64&&(e=s.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(s=uj.bind(null,s),kj(e,s))));break;case 22:if(i=s.memoizedState!==null||qs,!i){n=n!==null&&n.memoizedState!==null||sn,u=qs;var f=sn;qs=i,(sn=n)&&!f?Xs(e,s,(s.subtreeFlags&8772)!==0):$s(e,s),qs=u,sn=f}break;case 30:break;default:$s(e,s)}}function kx(e){var n=e.alternate;n!==null&&(e.alternate=null,kx(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&Ru(n)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var qt=null,kn=!1;function Gs(e,n,s){for(s=s.child;s!==null;)_x(e,n,s),s=s.sibling}function _x(e,n,s){if(dt&&typeof dt.onCommitFiberUnmount=="function")try{dt.onCommitFiberUnmount(Dt,s)}catch{}switch(s.tag){case 26:sn||Ns(s,n),Gs(e,n,s),s.memoizedState?s.memoizedState.count--:s.stateNode&&(s=s.stateNode,s.parentNode.removeChild(s));break;case 27:sn||Ns(s,n);var i=qt,u=kn;Aa(s.type)&&(qt=s.stateNode,kn=!1),Gs(e,n,s),bl(s.stateNode),qt=i,kn=u;break;case 5:sn||Ns(s,n);case 6:if(i=qt,u=kn,qt=null,Gs(e,n,s),qt=i,kn=u,qt!==null)if(kn)try{(qt.nodeType===9?qt.body:qt.nodeName==="HTML"?qt.ownerDocument.body:qt).removeChild(s.stateNode)}catch(f){Ot(s,n,f)}else try{qt.removeChild(s.stateNode)}catch(f){Ot(s,n,f)}break;case 18:qt!==null&&(kn?(e=qt,jy(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,s.stateNode),ho(e)):jy(qt,s.stateNode));break;case 4:i=qt,u=kn,qt=s.stateNode.containerInfo,kn=!0,Gs(e,n,s),qt=i,kn=u;break;case 0:case 11:case 14:case 15:Ta(2,s,n),sn||Ta(4,s,n),Gs(e,n,s);break;case 1:sn||(Ns(s,n),i=s.stateNode,typeof i.componentWillUnmount=="function"&&Ex(s,n,i)),Gs(e,n,s);break;case 21:Gs(e,n,s);break;case 22:sn=(i=sn)||s.memoizedState!==null,Gs(e,n,s),sn=i;break;default:Gs(e,n,s)}}function Ax(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{ho(e)}catch(s){Ot(n,n.return,s)}}}function Mx(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{ho(e)}catch(s){Ot(n,n.return,s)}}function nj(e){switch(e.tag){case 31:case 13:case 19:var n=e.stateNode;return n===null&&(n=e.stateNode=new Ox),n;case 22:return e=e.stateNode,n=e._retryCache,n===null&&(n=e._retryCache=new Ox),n;default:throw Error(l(435,e.tag))}}function Ki(e,n){var s=nj(e);n.forEach(function(i){if(!s.has(i)){s.add(i);var u=dj.bind(null,e,i);i.then(u,u)}})}function _n(e,n){var s=n.deletions;if(s!==null)for(var i=0;i<s.length;i++){var u=s[i],f=e,v=n,A=v;e:for(;A!==null;){switch(A.tag){case 27:if(Aa(A.type)){qt=A.stateNode,kn=!1;break e}break;case 5:qt=A.stateNode,kn=!1;break e;case 3:case 4:qt=A.stateNode.containerInfo,kn=!0;break e}A=A.return}if(qt===null)throw Error(l(160));_x(f,v,u),qt=null,kn=!1,f=u.alternate,f!==null&&(f.return=null),u.return=null}if(n.subtreeFlags&13886)for(n=n.child;n!==null;)Dx(n,e),n=n.sibling}var ps=null;function Dx(e,n){var s=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:_n(n,e),An(e),i&4&&(Ta(3,e,e.return),cl(3,e),Ta(5,e,e.return));break;case 1:_n(n,e),An(e),i&512&&(sn||s===null||Ns(s,s.return)),i&64&&qs&&(e=e.updateQueue,e!==null&&(i=e.callbacks,i!==null&&(s=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=s===null?i:s.concat(i))));break;case 26:var u=ps;if(_n(n,e),An(e),i&512&&(sn||s===null||Ns(s,s.return)),i&4){var f=s!==null?s.memoizedState:null;if(i=e.memoizedState,s===null)if(i===null)if(e.stateNode===null){e:{i=e.type,s=e.memoizedProps,u=u.ownerDocument||u;t:switch(i){case"title":f=u.getElementsByTagName("title")[0],(!f||f[Io]||f[an]||f.namespaceURI==="http://www.w3.org/2000/svg"||f.hasAttribute("itemprop"))&&(f=u.createElement(i),u.head.insertBefore(f,u.querySelector("head > title"))),vn(f,i,s),f[an]=e,dn(f),i=f;break e;case"link":var v=Dy("link","href",u).get(i+(s.href||""));if(v){for(var A=0;A<v.length;A++)if(f=v[A],f.getAttribute("href")===(s.href==null||s.href===""?null:s.href)&&f.getAttribute("rel")===(s.rel==null?null:s.rel)&&f.getAttribute("title")===(s.title==null?null:s.title)&&f.getAttribute("crossorigin")===(s.crossOrigin==null?null:s.crossOrigin)){v.splice(A,1);break t}}f=u.createElement(i),vn(f,i,s),u.head.appendChild(f);break;case"meta":if(v=Dy("meta","content",u).get(i+(s.content||""))){for(A=0;A<v.length;A++)if(f=v[A],f.getAttribute("content")===(s.content==null?null:""+s.content)&&f.getAttribute("name")===(s.name==null?null:s.name)&&f.getAttribute("property")===(s.property==null?null:s.property)&&f.getAttribute("http-equiv")===(s.httpEquiv==null?null:s.httpEquiv)&&f.getAttribute("charset")===(s.charSet==null?null:s.charSet)){v.splice(A,1);break t}}f=u.createElement(i),vn(f,i,s),u.head.appendChild(f);break;default:throw Error(l(468,i))}f[an]=e,dn(f),i=f}e.stateNode=i}else zy(u,e.type,e.stateNode);else e.stateNode=My(u,i,e.memoizedProps);else f!==i?(f===null?s.stateNode!==null&&(s=s.stateNode,s.parentNode.removeChild(s)):f.count--,i===null?zy(u,e.type,e.stateNode):My(u,i,e.memoizedProps)):i===null&&e.stateNode!==null&&Qd(e,e.memoizedProps,s.memoizedProps)}break;case 27:_n(n,e),An(e),i&512&&(sn||s===null||Ns(s,s.return)),s!==null&&i&4&&Qd(e,e.memoizedProps,s.memoizedProps);break;case 5:if(_n(n,e),An(e),i&512&&(sn||s===null||Ns(s,s.return)),e.flags&32){u=e.stateNode;try{Ir(u,"")}catch(Fe){Ot(e,e.return,Fe)}}i&4&&e.stateNode!=null&&(u=e.memoizedProps,Qd(e,u,s!==null?s.memoizedProps:u)),i&1024&&(Wd=!0);break;case 6:if(_n(n,e),An(e),i&4){if(e.stateNode===null)throw Error(l(162));i=e.memoizedProps,s=e.stateNode;try{s.nodeValue=i}catch(Fe){Ot(e,e.return,Fe)}}break;case 3:if(dc=null,u=ps,ps=cc(n.containerInfo),_n(n,e),ps=u,An(e),i&4&&s!==null&&s.memoizedState.isDehydrated)try{ho(n.containerInfo)}catch(Fe){Ot(e,e.return,Fe)}Wd&&(Wd=!1,zx(e));break;case 4:i=ps,ps=cc(e.stateNode.containerInfo),_n(n,e),An(e),ps=i;break;case 12:_n(n,e),An(e);break;case 31:_n(n,e),An(e),i&4&&(i=e.updateQueue,i!==null&&(e.updateQueue=null,Ki(e,i)));break;case 13:_n(n,e),An(e),e.child.flags&8192&&e.memoizedState!==null!=(s!==null&&s.memoizedState!==null)&&(Zi=P()),i&4&&(i=e.updateQueue,i!==null&&(e.updateQueue=null,Ki(e,i)));break;case 22:u=e.memoizedState!==null;var $=s!==null&&s.memoizedState!==null,ie=qs,be=sn;if(qs=ie||u,sn=be||$,_n(n,e),sn=be,qs=ie,An(e),i&8192)e:for(n=e.stateNode,n._visibility=u?n._visibility&-2:n._visibility|1,u&&(s===null||$||qs||sn||cr(e)),s=null,n=e;;){if(n.tag===5||n.tag===26){if(s===null){$=s=n;try{if(f=$.stateNode,u)v=f.style,typeof v.setProperty=="function"?v.setProperty("display","none","important"):v.display="none";else{A=$.stateNode;var je=$.memoizedProps.style,me=je!=null&&je.hasOwnProperty("display")?je.display:null;A.style.display=me==null||typeof me=="boolean"?"":(""+me).trim()}}catch(Fe){Ot($,$.return,Fe)}}}else if(n.tag===6){if(s===null){$=n;try{$.stateNode.nodeValue=u?"":$.memoizedProps}catch(Fe){Ot($,$.return,Fe)}}}else if(n.tag===18){if(s===null){$=n;try{var he=$.stateNode;u?Ey(he,!0):Ey($.stateNode,!1)}catch(Fe){Ot($,$.return,Fe)}}}else if((n.tag!==22&&n.tag!==23||n.memoizedState===null||n===e)&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break e;for(;n.sibling===null;){if(n.return===null||n.return===e)break e;s===n&&(s=null),n=n.return}s===n&&(s=null),n.sibling.return=n.return,n=n.sibling}i&4&&(i=e.updateQueue,i!==null&&(s=i.retryQueue,s!==null&&(i.retryQueue=null,Ki(e,s))));break;case 19:_n(n,e),An(e),i&4&&(i=e.updateQueue,i!==null&&(e.updateQueue=null,Ki(e,i)));break;case 30:break;case 21:break;default:_n(n,e),An(e)}}function An(e){var n=e.flags;if(n&2){try{for(var s,i=e.return;i!==null;){if(wx(i)){s=i;break}i=i.return}if(s==null)throw Error(l(160));switch(s.tag){case 27:var u=s.stateNode,f=Zd(e);Xi(e,f,u);break;case 5:var v=s.stateNode;s.flags&32&&(Ir(v,""),s.flags&=-33);var A=Zd(e);Xi(e,A,v);break;case 3:case 4:var $=s.stateNode.containerInfo,ie=Zd(e);Jd(e,ie,$);break;default:throw Error(l(161))}}catch(be){Ot(e,e.return,be)}e.flags&=-3}n&4096&&(e.flags&=-4097)}function zx(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var n=e;zx(n),n.tag===5&&n.flags&1024&&n.stateNode.reset(),e=e.sibling}}function $s(e,n){if(n.subtreeFlags&8772)for(n=n.child;n!==null;)Rx(e,n.alternate,n),n=n.sibling}function cr(e){for(e=e.child;e!==null;){var n=e;switch(n.tag){case 0:case 11:case 14:case 15:Ta(4,n,n.return),cr(n);break;case 1:Ns(n,n.return);var s=n.stateNode;typeof s.componentWillUnmount=="function"&&Ex(n,n.return,s),cr(n);break;case 27:bl(n.stateNode);case 26:case 5:Ns(n,n.return),cr(n);break;case 22:n.memoizedState===null&&cr(n);break;case 30:cr(n);break;default:cr(n)}e=e.sibling}}function Xs(e,n,s){for(s=s&&(n.subtreeFlags&8772)!==0,n=n.child;n!==null;){var i=n.alternate,u=e,f=n,v=f.flags;switch(f.tag){case 0:case 11:case 15:Xs(u,f,s),cl(4,f);break;case 1:if(Xs(u,f,s),i=f,u=i.stateNode,typeof u.componentDidMount=="function")try{u.componentDidMount()}catch(ie){Ot(i,i.return,ie)}if(i=f,u=i.updateQueue,u!==null){var A=i.stateNode;try{var $=u.shared.hiddenCallbacks;if($!==null)for(u.shared.hiddenCallbacks=null,u=0;u<$.length;u++)fg($[u],A)}catch(ie){Ot(i,i.return,ie)}}s&&v&64&&jx(f),ul(f,f.return);break;case 27:Cx(f);case 26:case 5:Xs(u,f,s),s&&i===null&&v&4&&Tx(f),ul(f,f.return);break;case 12:Xs(u,f,s);break;case 31:Xs(u,f,s),s&&v&4&&Ax(u,f);break;case 13:Xs(u,f,s),s&&v&4&&Mx(u,f);break;case 22:f.memoizedState===null&&Xs(u,f,s),ul(f,f.return);break;case 30:break;default:Xs(u,f,s)}n=n.sibling}}function ef(e,n){var s=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(s=e.memoizedState.cachePool.pool),e=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(e=n.memoizedState.cachePool.pool),e!==s&&(e!=null&&e.refCount++,s!=null&&Qo(s))}function tf(e,n){e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&Qo(e))}function hs(e,n,s,i){if(n.subtreeFlags&10256)for(n=n.child;n!==null;)Lx(e,n,s,i),n=n.sibling}function Lx(e,n,s,i){var u=n.flags;switch(n.tag){case 0:case 11:case 15:hs(e,n,s,i),u&2048&&cl(9,n);break;case 1:hs(e,n,s,i);break;case 3:hs(e,n,s,i),u&2048&&(e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&Qo(e)));break;case 12:if(u&2048){hs(e,n,s,i),e=n.stateNode;try{var f=n.memoizedProps,v=f.id,A=f.onPostCommit;typeof A=="function"&&A(v,n.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch($){Ot(n,n.return,$)}}else hs(e,n,s,i);break;case 31:hs(e,n,s,i);break;case 13:hs(e,n,s,i);break;case 23:break;case 22:f=n.stateNode,v=n.alternate,n.memoizedState!==null?f._visibility&2?hs(e,n,s,i):dl(e,n):f._visibility&2?hs(e,n,s,i):(f._visibility|=2,so(e,n,s,i,(n.subtreeFlags&10256)!==0||!1)),u&2048&&ef(v,n);break;case 24:hs(e,n,s,i),u&2048&&tf(n.alternate,n);break;default:hs(e,n,s,i)}}function so(e,n,s,i,u){for(u=u&&((n.subtreeFlags&10256)!==0||!1),n=n.child;n!==null;){var f=e,v=n,A=s,$=i,ie=v.flags;switch(v.tag){case 0:case 11:case 15:so(f,v,A,$,u),cl(8,v);break;case 23:break;case 22:var be=v.stateNode;v.memoizedState!==null?be._visibility&2?so(f,v,A,$,u):dl(f,v):(be._visibility|=2,so(f,v,A,$,u)),u&&ie&2048&&ef(v.alternate,v);break;case 24:so(f,v,A,$,u),u&&ie&2048&&tf(v.alternate,v);break;default:so(f,v,A,$,u)}n=n.sibling}}function dl(e,n){if(n.subtreeFlags&10256)for(n=n.child;n!==null;){var s=e,i=n,u=i.flags;switch(i.tag){case 22:dl(s,i),u&2048&&ef(i.alternate,i);break;case 24:dl(s,i),u&2048&&tf(i.alternate,i);break;default:dl(s,i)}n=n.sibling}}var fl=8192;function ao(e,n,s){if(e.subtreeFlags&fl)for(e=e.child;e!==null;)Ix(e,n,s),e=e.sibling}function Ix(e,n,s){switch(e.tag){case 26:ao(e,n,s),e.flags&fl&&e.memoizedState!==null&&Pj(s,ps,e.memoizedState,e.memoizedProps);break;case 5:ao(e,n,s);break;case 3:case 4:var i=ps;ps=cc(e.stateNode.containerInfo),ao(e,n,s),ps=i;break;case 22:e.memoizedState===null&&(i=e.alternate,i!==null&&i.memoizedState!==null?(i=fl,fl=16777216,ao(e,n,s),fl=i):ao(e,n,s));break;default:ao(e,n,s)}}function Bx(e){var n=e.alternate;if(n!==null&&(e=n.child,e!==null)){n.child=null;do n=e.sibling,e.sibling=null,e=n;while(e!==null)}}function ml(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var s=0;s<n.length;s++){var i=n[s];fn=i,Hx(i,e)}Bx(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Ux(e),e=e.sibling}function Ux(e){switch(e.tag){case 0:case 11:case 15:ml(e),e.flags&2048&&Ta(9,e,e.return);break;case 3:ml(e);break;case 12:ml(e);break;case 22:var n=e.stateNode;e.memoizedState!==null&&n._visibility&2&&(e.return===null||e.return.tag!==13)?(n._visibility&=-3,Qi(e)):ml(e);break;default:ml(e)}}function Qi(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var s=0;s<n.length;s++){var i=n[s];fn=i,Hx(i,e)}Bx(e)}for(e=e.child;e!==null;){switch(n=e,n.tag){case 0:case 11:case 15:Ta(8,n,n.return),Qi(n);break;case 22:s=n.stateNode,s._visibility&2&&(s._visibility&=-3,Qi(n));break;default:Qi(n)}e=e.sibling}}function Hx(e,n){for(;fn!==null;){var s=fn;switch(s.tag){case 0:case 11:case 15:Ta(8,s,n);break;case 23:case 22:if(s.memoizedState!==null&&s.memoizedState.cachePool!==null){var i=s.memoizedState.cachePool.pool;i!=null&&i.refCount++}break;case 24:Qo(s.memoizedState.cache)}if(i=s.child,i!==null)i.return=s,fn=i;else e:for(s=e;fn!==null;){i=fn;var u=i.sibling,f=i.return;if(kx(i),i===s){fn=null;break e}if(u!==null){u.return=f,fn=u;break e}fn=f}}}var sj={getCacheForType:function(e){var n=yn(en),s=n.data.get(e);return s===void 0&&(s=e(),n.data.set(e,s)),s},cacheSignal:function(){return yn(en).controller.signal}},aj=typeof WeakMap=="function"?WeakMap:Map,Nt=0,Lt=null,it=null,ft=0,Ct=0,Vn=null,wa=!1,ro=!1,nf=!1,Ks=0,Xt=0,Ca=0,ur=0,sf=0,Fn=0,oo=0,pl=null,Mn=null,af=!1,Zi=0,Yx=0,Ji=1/0,Wi=null,Oa=null,rn=0,Ra=null,lo=null,Qs=0,rf=0,of=null,Px=null,hl=0,lf=null;function qn(){return(Nt&2)!==0&&ft!==0?ft&-ft:_.T!==null?pf():Ms()}function Vx(){if(Fn===0)if((ft&536870912)===0||gt){var e=wt;wt<<=1,(wt&3932160)===0&&(wt=262144),Fn=e}else Fn=536870912;return e=Yn.current,e!==null&&(e.flags|=32),Fn}function Dn(e,n,s){(e===Lt&&(Ct===2||Ct===9)||e.cancelPendingCommit!==null)&&(io(e,0),ka(e,ft,Fn,!1)),zt(e,s),((Nt&2)===0||e!==Lt)&&(e===Lt&&((Nt&2)===0&&(ur|=s),Xt===4&&ka(e,ft,Fn,!1)),js(e))}function Fx(e,n,s){if((Nt&6)!==0)throw Error(l(327));var i=!s&&(n&127)===0&&(n&e.expiredLanes)===0||bt(e,n),u=i?lj(e,n):uf(e,n,!0),f=i;do{if(u===0){ro&&!i&&ka(e,n,0,!1);break}else{if(s=e.current.alternate,f&&!rj(s)){u=uf(e,n,!1),f=!1;continue}if(u===2){if(f=n,e.errorRecoveryDisabledLanes&f)var v=0;else v=e.pendingLanes&-536870913,v=v!==0?v:v&536870912?536870912:0;if(v!==0){n=v;e:{var A=e;u=pl;var $=A.current.memoizedState.isDehydrated;if($&&(io(A,v).flags|=256),v=uf(A,v,!1),v!==2){if(nf&&!$){A.errorRecoveryDisabledLanes|=f,ur|=f,u=4;break e}f=Mn,Mn=u,f!==null&&(Mn===null?Mn=f:Mn.push.apply(Mn,f))}u=v}if(f=!1,u!==2)continue}}if(u===1){io(e,0),ka(e,n,0,!0);break}e:{switch(i=e,f=u,f){case 0:case 1:throw Error(l(345));case 4:if((n&4194048)!==n)break;case 6:ka(i,n,Fn,!wa);break e;case 2:Mn=null;break;case 3:case 5:break;default:throw Error(l(329))}if((n&62914560)===n&&(u=Zi+300-P(),10<u)){if(ka(i,n,Fn,!wa),Ge(i,0,!0)!==0)break e;Qs=n,i.timeoutHandle=Sy(qx.bind(null,i,s,Mn,Wi,af,n,Fn,ur,oo,wa,f,"Throttled",-0,0),u);break e}qx(i,s,Mn,Wi,af,n,Fn,ur,oo,wa,f,null,-0,0)}}break}while(!0);js(e)}function qx(e,n,s,i,u,f,v,A,$,ie,be,je,me,he){if(e.timeoutHandle=-1,je=n.subtreeFlags,je&8192||(je&16785408)===16785408){je={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:zs},Ix(n,f,je);var Fe=(f&62914560)===f?Zi-P():(f&4194048)===f?Yx-P():0;if(Fe=Vj(je,Fe),Fe!==null){Qs=f,e.cancelPendingCommit=Fe(Wx.bind(null,e,n,f,s,i,u,v,A,$,be,je,null,me,he)),ka(e,f,v,!ie);return}}Wx(e,n,f,s,i,u,v,A,$)}function rj(e){for(var n=e;;){var s=n.tag;if((s===0||s===11||s===15)&&n.flags&16384&&(s=n.updateQueue,s!==null&&(s=s.stores,s!==null)))for(var i=0;i<s.length;i++){var u=s[i],f=u.getSnapshot;u=u.value;try{if(!Un(f(),u))return!1}catch{return!1}}if(s=n.child,n.subtreeFlags&16384&&s!==null)s.return=n,n=s;else{if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function ka(e,n,s,i){n&=~sf,n&=~ur,e.suspendedLanes|=n,e.pingedLanes&=~n,i&&(e.warmLanes|=n),i=e.expirationTimes;for(var u=n;0<u;){var f=31-Tt(u),v=1<<f;i[f]=-1,u&=~v}s!==0&&As(e,s,n)}function ec(){return(Nt&6)===0?(gl(0),!1):!0}function cf(){if(it!==null){if(Ct===0)var e=it.return;else e=it,Us=tr=null,Ed(e),Jr=null,Jo=0,e=it;for(;e!==null;)Nx(e.alternate,e),e=e.return;it=null}}function io(e,n){var s=e.timeoutHandle;s!==-1&&(e.timeoutHandle=-1,Tj(s)),s=e.cancelPendingCommit,s!==null&&(e.cancelPendingCommit=null,s()),Qs=0,cf(),Lt=e,it=s=Is(e.current,null),ft=n,Ct=0,Vn=null,wa=!1,ro=bt(e,n),nf=!1,oo=Fn=sf=ur=Ca=Xt=0,Mn=pl=null,af=!1,(n&8)!==0&&(n|=n&32);var i=e.entangledLanes;if(i!==0)for(e=e.entanglements,i&=n;0<i;){var u=31-Tt(i),f=1<<u;n|=e[u],i&=~f}return Ks=n,Si(),s}function Gx(e,n){nt=null,_.H=ol,n===Zr||n===Ri?(n=ig(),Ct=3):n===fd?(n=ig(),Ct=4):Ct=n===Hd?8:n!==null&&typeof n=="object"&&typeof n.then=="function"?6:1,Vn=n,it===null&&(Xt=1,Vi(e,es(n,e.current)))}function $x(){var e=Yn.current;return e===null?!0:(ft&4194048)===ft?as===null:(ft&62914560)===ft||(ft&536870912)!==0?e===as:!1}function Xx(){var e=_.H;return _.H=ol,e===null?ol:e}function Kx(){var e=_.A;return _.A=sj,e}function tc(){Xt=4,wa||(ft&4194048)!==ft&&Yn.current!==null||(ro=!0),(Ca&134217727)===0&&(ur&134217727)===0||Lt===null||ka(Lt,ft,Fn,!1)}function uf(e,n,s){var i=Nt;Nt|=2;var u=Xx(),f=Kx();(Lt!==e||ft!==n)&&(Wi=null,io(e,n)),n=!1;var v=Xt;e:do try{if(Ct!==0&&it!==null){var A=it,$=Vn;switch(Ct){case 8:cf(),v=6;break e;case 3:case 2:case 9:case 6:Yn.current===null&&(n=!0);var ie=Ct;if(Ct=0,Vn=null,co(e,A,$,ie),s&&ro){v=0;break e}break;default:ie=Ct,Ct=0,Vn=null,co(e,A,$,ie)}}oj(),v=Xt;break}catch(be){Gx(e,be)}while(!0);return n&&e.shellSuspendCounter++,Us=tr=null,Nt=i,_.H=u,_.A=f,it===null&&(Lt=null,ft=0,Si()),v}function oj(){for(;it!==null;)Qx(it)}function lj(e,n){var s=Nt;Nt|=2;var i=Xx(),u=Kx();Lt!==e||ft!==n?(Wi=null,Ji=P()+500,io(e,n)):ro=bt(e,n);e:do try{if(Ct!==0&&it!==null){n=it;var f=Vn;t:switch(Ct){case 1:Ct=0,Vn=null,co(e,n,f,1);break;case 2:case 9:if(og(f)){Ct=0,Vn=null,Zx(n);break}n=function(){Ct!==2&&Ct!==9||Lt!==e||(Ct=7),js(e)},f.then(n,n);break e;case 3:Ct=7;break e;case 4:Ct=5;break e;case 7:og(f)?(Ct=0,Vn=null,Zx(n)):(Ct=0,Vn=null,co(e,n,f,7));break;case 5:var v=null;switch(it.tag){case 26:v=it.memoizedState;case 5:case 27:var A=it;if(v?Ly(v):A.stateNode.complete){Ct=0,Vn=null;var $=A.sibling;if($!==null)it=$;else{var ie=A.return;ie!==null?(it=ie,nc(ie)):it=null}break t}}Ct=0,Vn=null,co(e,n,f,5);break;case 6:Ct=0,Vn=null,co(e,n,f,6);break;case 8:cf(),Xt=6;break e;default:throw Error(l(462))}}ij();break}catch(be){Gx(e,be)}while(!0);return Us=tr=null,_.H=i,_.A=u,Nt=s,it!==null?0:(Lt=null,ft=0,Si(),Xt)}function ij(){for(;it!==null&&!Me();)Qx(it)}function Qx(e){var n=vx(e.alternate,e,Ks);e.memoizedProps=e.pendingProps,n===null?nc(e):it=n}function Zx(e){var n=e,s=n.alternate;switch(n.tag){case 15:case 0:n=px(s,n,n.pendingProps,n.type,void 0,ft);break;case 11:n=px(s,n,n.pendingProps,n.type.render,n.ref,ft);break;case 5:Ed(n);default:Nx(s,n),n=it=Kh(n,Ks),n=vx(s,n,Ks)}e.memoizedProps=e.pendingProps,n===null?nc(e):it=n}function co(e,n,s,i){Us=tr=null,Ed(n),Jr=null,Jo=0;var u=n.return;try{if(QN(e,u,n,s,ft)){Xt=1,Vi(e,es(s,e.current)),it=null;return}}catch(f){if(u!==null)throw it=u,f;Xt=1,Vi(e,es(s,e.current)),it=null;return}n.flags&32768?(gt||i===1?e=!0:ro||(ft&536870912)!==0?e=!1:(wa=e=!0,(i===2||i===9||i===3||i===6)&&(i=Yn.current,i!==null&&i.tag===13&&(i.flags|=16384))),Jx(n,e)):nc(n)}function nc(e){var n=e;do{if((n.flags&32768)!==0){Jx(n,wa);return}e=n.return;var s=WN(n.alternate,n,Ks);if(s!==null){it=s;return}if(n=n.sibling,n!==null){it=n;return}it=n=e}while(n!==null);Xt===0&&(Xt=5)}function Jx(e,n){do{var s=ej(e.alternate,e);if(s!==null){s.flags&=32767,it=s;return}if(s=e.return,s!==null&&(s.flags|=32768,s.subtreeFlags=0,s.deletions=null),!n&&(e=e.sibling,e!==null)){it=e;return}it=e=s}while(e!==null);Xt=6,it=null}function Wx(e,n,s,i,u,f,v,A,$){e.cancelPendingCommit=null;do sc();while(rn!==0);if((Nt&6)!==0)throw Error(l(327));if(n!==null){if(n===e.current)throw Error(l(177));if(f=n.lanes|n.childLanes,f|=Zu,cn(e,s,f,v,A,$),e===Lt&&(it=Lt=null,ft=0),lo=n,Ra=e,Qs=s,rf=f,of=u,Px=i,(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,fj(re,function(){return ay(),null})):(e.callbackNode=null,e.callbackPriority=0),i=(n.flags&13878)!==0,(n.subtreeFlags&13878)!==0||i){i=_.T,_.T=null,u=D.p,D.p=2,v=Nt,Nt|=4;try{tj(e,n,s)}finally{Nt=v,D.p=u,_.T=i}}rn=1,ey(),ty(),ny()}}function ey(){if(rn===1){rn=0;var e=Ra,n=lo,s=(n.flags&13878)!==0;if((n.subtreeFlags&13878)!==0||s){s=_.T,_.T=null;var i=D.p;D.p=2;var u=Nt;Nt|=4;try{Dx(n,e);var f=Nf,v=Hh(e.containerInfo),A=f.focusedElem,$=f.selectionRange;if(v!==A&&A&&A.ownerDocument&&Uh(A.ownerDocument.documentElement,A)){if($!==null&&Gu(A)){var ie=$.start,be=$.end;if(be===void 0&&(be=ie),"selectionStart"in A)A.selectionStart=ie,A.selectionEnd=Math.min(be,A.value.length);else{var je=A.ownerDocument||document,me=je&&je.defaultView||window;if(me.getSelection){var he=me.getSelection(),Fe=A.textContent.length,Ze=Math.min($.start,Fe),At=$.end===void 0?Ze:Math.min($.end,Fe);!he.extend&&Ze>At&&(v=At,At=Ze,Ze=v);var se=Bh(A,Ze),W=Bh(A,At);if(se&&W&&(he.rangeCount!==1||he.anchorNode!==se.node||he.anchorOffset!==se.offset||he.focusNode!==W.node||he.focusOffset!==W.offset)){var le=je.createRange();le.setStart(se.node,se.offset),he.removeAllRanges(),Ze>At?(he.addRange(le),he.extend(W.node,W.offset)):(le.setEnd(W.node,W.offset),he.addRange(le))}}}}for(je=[],he=A;he=he.parentNode;)he.nodeType===1&&je.push({element:he,left:he.scrollLeft,top:he.scrollTop});for(typeof A.focus=="function"&&A.focus(),A=0;A<je.length;A++){var Ne=je[A];Ne.element.scrollLeft=Ne.left,Ne.element.scrollTop=Ne.top}}hc=!!Sf,Nf=Sf=null}finally{Nt=u,D.p=i,_.T=s}}e.current=n,rn=2}}function ty(){if(rn===2){rn=0;var e=Ra,n=lo,s=(n.flags&8772)!==0;if((n.subtreeFlags&8772)!==0||s){s=_.T,_.T=null;var i=D.p;D.p=2;var u=Nt;Nt|=4;try{Rx(e,n.alternate,n)}finally{Nt=u,D.p=i,_.T=s}}rn=3}}function ny(){if(rn===4||rn===3){rn=0,J();var e=Ra,n=lo,s=Qs,i=Px;(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?rn=5:(rn=0,lo=Ra=null,sy(e,e.pendingLanes));var u=e.pendingLanes;if(u===0&&(Oa=null),Bn(s),n=n.stateNode,dt&&typeof dt.onCommitFiberRoot=="function")try{dt.onCommitFiberRoot(Dt,n,void 0,(n.current.flags&128)===128)}catch{}if(i!==null){n=_.T,u=D.p,D.p=2,_.T=null;try{for(var f=e.onRecoverableError,v=0;v<i.length;v++){var A=i[v];f(A.value,{componentStack:A.stack})}}finally{_.T=n,D.p=u}}(Qs&3)!==0&&sc(),js(e),u=e.pendingLanes,(s&261930)!==0&&(u&42)!==0?e===lf?hl++:(hl=0,lf=e):hl=0,gl(0)}}function sy(e,n){(e.pooledCacheLanes&=n)===0&&(n=e.pooledCache,n!=null&&(e.pooledCache=null,Qo(n)))}function sc(){return ey(),ty(),ny(),ay()}function ay(){if(rn!==5)return!1;var e=Ra,n=rf;rf=0;var s=Bn(Qs),i=_.T,u=D.p;try{D.p=32>s?32:s,_.T=null,s=of,of=null;var f=Ra,v=Qs;if(rn=0,lo=Ra=null,Qs=0,(Nt&6)!==0)throw Error(l(331));var A=Nt;if(Nt|=4,Ux(f.current),Lx(f,f.current,v,s),Nt=A,gl(0,!1),dt&&typeof dt.onPostCommitFiberRoot=="function")try{dt.onPostCommitFiberRoot(Dt,f)}catch{}return!0}finally{D.p=u,_.T=i,sy(e,n)}}function ry(e,n,s){n=es(s,n),n=Ud(e.stateNode,n,2),e=Na(e,n,2),e!==null&&(zt(e,2),js(e))}function Ot(e,n,s){if(e.tag===3)ry(e,e,s);else for(;n!==null;){if(n.tag===3){ry(n,e,s);break}else if(n.tag===1){var i=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(Oa===null||!Oa.has(i))){e=es(s,e),s=ox(2),i=Na(n,s,2),i!==null&&(lx(s,i,n,e),zt(i,2),js(i));break}}n=n.return}}function df(e,n,s){var i=e.pingCache;if(i===null){i=e.pingCache=new aj;var u=new Set;i.set(n,u)}else u=i.get(n),u===void 0&&(u=new Set,i.set(n,u));u.has(s)||(nf=!0,u.add(s),e=cj.bind(null,e,n,s),n.then(e,e))}function cj(e,n,s){var i=e.pingCache;i!==null&&i.delete(n),e.pingedLanes|=e.suspendedLanes&s,e.warmLanes&=~s,Lt===e&&(ft&s)===s&&(Xt===4||Xt===3&&(ft&62914560)===ft&&300>P()-Zi?(Nt&2)===0&&io(e,0):sf|=s,oo===ft&&(oo=0)),js(e)}function oy(e,n){n===0&&(n=Zt()),e=Ja(e,n),e!==null&&(zt(e,n),js(e))}function uj(e){var n=e.memoizedState,s=0;n!==null&&(s=n.retryLane),oy(e,s)}function dj(e,n){var s=0;switch(e.tag){case 31:case 13:var i=e.stateNode,u=e.memoizedState;u!==null&&(s=u.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(l(314))}i!==null&&i.delete(n),oy(e,s)}function fj(e,n){return fe(e,n)}var ac=null,uo=null,ff=!1,rc=!1,mf=!1,_a=0;function js(e){e!==uo&&e.next===null&&(uo===null?ac=uo=e:uo=uo.next=e),rc=!0,ff||(ff=!0,pj())}function gl(e,n){if(!mf&&rc){mf=!0;do for(var s=!1,i=ac;i!==null;){if(e!==0){var u=i.pendingLanes;if(u===0)var f=0;else{var v=i.suspendedLanes,A=i.pingedLanes;f=(1<<31-Tt(42|e)+1)-1,f&=u&~(v&~A),f=f&201326741?f&201326741|1:f?f|2:0}f!==0&&(s=!0,uy(i,f))}else f=ft,f=Ge(i,i===Lt?f:0,i.cancelPendingCommit!==null||i.timeoutHandle!==-1),(f&3)===0||bt(i,f)||(s=!0,uy(i,f));i=i.next}while(s);mf=!1}}function mj(){ly()}function ly(){rc=ff=!1;var e=0;_a!==0&&Ej()&&(e=_a);for(var n=P(),s=null,i=ac;i!==null;){var u=i.next,f=iy(i,n);f===0?(i.next=null,s===null?ac=u:s.next=u,u===null&&(uo=s)):(s=i,(e!==0||(f&3)!==0)&&(rc=!0)),i=u}rn!==0&&rn!==5||gl(e),_a!==0&&(_a=0)}function iy(e,n){for(var s=e.suspendedLanes,i=e.pingedLanes,u=e.expirationTimes,f=e.pendingLanes&-62914561;0<f;){var v=31-Tt(f),A=1<<v,$=u[v];$===-1?((A&s)===0||(A&i)!==0)&&(u[v]=Pt(A,n)):$<=n&&(e.expiredLanes|=A),f&=~A}if(n=Lt,s=ft,s=Ge(e,e===n?s:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),i=e.callbackNode,s===0||e===n&&(Ct===2||Ct===9)||e.cancelPendingCommit!==null)return i!==null&&i!==null&&Re(i),e.callbackNode=null,e.callbackPriority=0;if((s&3)===0||bt(e,s)){if(n=s&-s,n===e.callbackPriority)return n;switch(i!==null&&Re(i),Bn(s)){case 2:case 8:s=ye;break;case 32:s=re;break;case 268435456:s=Ue;break;default:s=re}return i=cy.bind(null,e),s=fe(s,i),e.callbackPriority=n,e.callbackNode=s,n}return i!==null&&i!==null&&Re(i),e.callbackPriority=2,e.callbackNode=null,2}function cy(e,n){if(rn!==0&&rn!==5)return e.callbackNode=null,e.callbackPriority=0,null;var s=e.callbackNode;if(sc()&&e.callbackNode!==s)return null;var i=ft;return i=Ge(e,e===Lt?i:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),i===0?null:(Fx(e,i,n),iy(e,P()),e.callbackNode!=null&&e.callbackNode===s?cy.bind(null,e):null)}function uy(e,n){if(sc())return null;Fx(e,n,!0)}function pj(){wj(function(){(Nt&6)!==0?fe(Te,mj):ly()})}function pf(){if(_a===0){var e=Kr;e===0&&(e=qe,qe<<=1,(qe&261888)===0&&(qe=256)),_a=e}return _a}function dy(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:mi(""+e)}function fy(e,n){var s=n.ownerDocument.createElement("input");return s.name=n.name,s.value=n.value,e.id&&s.setAttribute("form",e.id),n.parentNode.insertBefore(s,n),e=new FormData(e),s.parentNode.removeChild(s),e}function hj(e,n,s,i,u){if(n==="submit"&&s&&s.stateNode===u){var f=dy((u[On]||null).action),v=i.submitter;v&&(n=(n=v[On]||null)?dy(n.formAction):v.getAttribute("formAction"),n!==null&&(f=n,v=null));var A=new xi("action","action",null,i,u);e.push({event:A,listeners:[{instance:null,listener:function(){if(i.defaultPrevented){if(_a!==0){var $=v?fy(u,v):new FormData(u);Md(s,{pending:!0,data:$,method:u.method,action:f},null,$)}}else typeof f=="function"&&(A.preventDefault(),$=v?fy(u,v):new FormData(u),Md(s,{pending:!0,data:$,method:u.method,action:f},f,$))},currentTarget:u}]})}}for(var hf=0;hf<Qu.length;hf++){var gf=Qu[hf],gj=gf.toLowerCase(),xj=gf[0].toUpperCase()+gf.slice(1);ms(gj,"on"+xj)}ms(Vh,"onAnimationEnd"),ms(Fh,"onAnimationIteration"),ms(qh,"onAnimationStart"),ms("dblclick","onDoubleClick"),ms("focusin","onFocus"),ms("focusout","onBlur"),ms(MN,"onTransitionRun"),ms(DN,"onTransitionStart"),ms(zN,"onTransitionCancel"),ms(Gh,"onTransitionEnd"),zr("onMouseEnter",["mouseout","mouseover"]),zr("onMouseLeave",["mouseout","mouseover"]),zr("onPointerEnter",["pointerout","pointerover"]),zr("onPointerLeave",["pointerout","pointerover"]),Xa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Xa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Xa("onBeforeInput",["compositionend","keypress","textInput","paste"]),Xa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Xa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Xa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var xl="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(" "),yj=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(xl));function my(e,n){n=(n&4)!==0;for(var s=0;s<e.length;s++){var i=e[s],u=i.event;i=i.listeners;e:{var f=void 0;if(n)for(var v=i.length-1;0<=v;v--){var A=i[v],$=A.instance,ie=A.currentTarget;if(A=A.listener,$!==f&&u.isPropagationStopped())break e;f=A,u.currentTarget=ie;try{f(u)}catch(be){vi(be)}u.currentTarget=null,f=$}else for(v=0;v<i.length;v++){if(A=i[v],$=A.instance,ie=A.currentTarget,A=A.listener,$!==f&&u.isPropagationStopped())break e;f=A,u.currentTarget=ie;try{f(u)}catch(be){vi(be)}u.currentTarget=null,f=$}}}}function ct(e,n){var s=n[Ou];s===void 0&&(s=n[Ou]=new Set);var i=e+"__bubble";s.has(i)||(py(n,e,2,!1),s.add(i))}function xf(e,n,s){var i=0;n&&(i|=4),py(s,e,i,n)}var oc="_reactListening"+Math.random().toString(36).slice(2);function yf(e){if(!e[oc]){e[oc]=!0,lh.forEach(function(s){s!=="selectionchange"&&(yj.has(s)||xf(s,!1,e),xf(s,!0,e))});var n=e.nodeType===9?e:e.ownerDocument;n===null||n[oc]||(n[oc]=!0,xf("selectionchange",!1,n))}}function py(e,n,s,i){switch(Vy(n)){case 2:var u=Gj;break;case 8:u=$j;break;default:u=Mf}s=u.bind(null,n,s,e),u=void 0,!Iu||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(u=!0),i?u!==void 0?e.addEventListener(n,s,{capture:!0,passive:u}):e.addEventListener(n,s,!0):u!==void 0?e.addEventListener(n,s,{passive:u}):e.addEventListener(n,s,!1)}function bf(e,n,s,i,u){var f=i;if((n&1)===0&&(n&2)===0&&i!==null)e:for(;;){if(i===null)return;var v=i.tag;if(v===3||v===4){var A=i.stateNode.containerInfo;if(A===u)break;if(v===4)for(v=i.return;v!==null;){var $=v.tag;if(($===3||$===4)&&v.stateNode.containerInfo===u)return;v=v.return}for(;A!==null;){if(v=Ar(A),v===null)return;if($=v.tag,$===5||$===6||$===26||$===27){i=f=v;continue e}A=A.parentNode}}i=i.return}bh(function(){var ie=f,be=zu(s),je=[];e:{var me=$h.get(e);if(me!==void 0){var he=xi,Fe=e;switch(e){case"keypress":if(hi(s)===0)break e;case"keydown":case"keyup":he=dN;break;case"focusin":Fe="focus",he=Yu;break;case"focusout":Fe="blur",he=Yu;break;case"beforeblur":case"afterblur":he=Yu;break;case"click":if(s.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":he=Nh;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":he=WS;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":he=pN;break;case Vh:case Fh:case qh:he=nN;break;case Gh:he=gN;break;case"scroll":case"scrollend":he=ZS;break;case"wheel":he=yN;break;case"copy":case"cut":case"paste":he=aN;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":he=Eh;break;case"toggle":case"beforetoggle":he=vN}var Ze=(n&4)!==0,At=!Ze&&(e==="scroll"||e==="scrollend"),se=Ze?me!==null?me+"Capture":null:me;Ze=[];for(var W=ie,le;W!==null;){var Ne=W;if(le=Ne.stateNode,Ne=Ne.tag,Ne!==5&&Ne!==26&&Ne!==27||le===null||se===null||(Ne=Uo(W,se),Ne!=null&&Ze.push(yl(W,Ne,le))),At)break;W=W.return}0<Ze.length&&(me=new he(me,Fe,null,s,be),je.push({event:me,listeners:Ze}))}}if((n&7)===0){e:{if(me=e==="mouseover"||e==="pointerover",he=e==="mouseout"||e==="pointerout",me&&s!==Du&&(Fe=s.relatedTarget||s.fromElement)&&(Ar(Fe)||Fe[_r]))break e;if((he||me)&&(me=be.window===be?be:(me=be.ownerDocument)?me.defaultView||me.parentWindow:window,he?(Fe=s.relatedTarget||s.toElement,he=ie,Fe=Fe?Ar(Fe):null,Fe!==null&&(At=d(Fe),Ze=Fe.tag,Fe!==At||Ze!==5&&Ze!==27&&Ze!==6)&&(Fe=null)):(he=null,Fe=ie),he!==Fe)){if(Ze=Nh,Ne="onMouseLeave",se="onMouseEnter",W="mouse",(e==="pointerout"||e==="pointerover")&&(Ze=Eh,Ne="onPointerLeave",se="onPointerEnter",W="pointer"),At=he==null?me:Bo(he),le=Fe==null?me:Bo(Fe),me=new Ze(Ne,W+"leave",he,s,be),me.target=At,me.relatedTarget=le,Ne=null,Ar(be)===ie&&(Ze=new Ze(se,W+"enter",Fe,s,be),Ze.target=le,Ze.relatedTarget=At,Ne=Ze),At=Ne,he&&Fe)t:{for(Ze=bj,se=he,W=Fe,le=0,Ne=se;Ne;Ne=Ze(Ne))le++;Ne=0;for(var Ke=W;Ke;Ke=Ze(Ke))Ne++;for(;0<le-Ne;)se=Ze(se),le--;for(;0<Ne-le;)W=Ze(W),Ne--;for(;le--;){if(se===W||W!==null&&se===W.alternate){Ze=se;break t}se=Ze(se),W=Ze(W)}Ze=null}else Ze=null;he!==null&&hy(je,me,he,Ze,!1),Fe!==null&&At!==null&&hy(je,At,Fe,Ze,!0)}}e:{if(me=ie?Bo(ie):window,he=me.nodeName&&me.nodeName.toLowerCase(),he==="select"||he==="input"&&me.type==="file")var vt=Ah;else if(kh(me))if(Mh)vt=kN;else{vt=ON;var $e=CN}else he=me.nodeName,!he||he.toLowerCase()!=="input"||me.type!=="checkbox"&&me.type!=="radio"?ie&&Mu(ie.elementType)&&(vt=Ah):vt=RN;if(vt&&(vt=vt(e,ie))){_h(je,vt,s,be);break e}$e&&$e(e,me,ie),e==="focusout"&&ie&&me.type==="number"&&ie.memoizedProps.value!=null&&Au(me,"number",me.value)}switch($e=ie?Bo(ie):window,e){case"focusin":(kh($e)||$e.contentEditable==="true")&&(Yr=$e,$u=ie,$o=null);break;case"focusout":$o=$u=Yr=null;break;case"mousedown":Xu=!0;break;case"contextmenu":case"mouseup":case"dragend":Xu=!1,Yh(je,s,be);break;case"selectionchange":if(AN)break;case"keydown":case"keyup":Yh(je,s,be)}var rt;if(Vu)e:{switch(e){case"compositionstart":var mt="onCompositionStart";break e;case"compositionend":mt="onCompositionEnd";break e;case"compositionupdate":mt="onCompositionUpdate";break e}mt=void 0}else Hr?Oh(e,s)&&(mt="onCompositionEnd"):e==="keydown"&&s.keyCode===229&&(mt="onCompositionStart");mt&&(Th&&s.locale!=="ko"&&(Hr||mt!=="onCompositionStart"?mt==="onCompositionEnd"&&Hr&&(rt=vh()):(ha=be,Bu="value"in ha?ha.value:ha.textContent,Hr=!0)),$e=lc(ie,mt),0<$e.length&&(mt=new jh(mt,e,null,s,be),je.push({event:mt,listeners:$e}),rt?mt.data=rt:(rt=Rh(s),rt!==null&&(mt.data=rt)))),(rt=NN?jN(e,s):EN(e,s))&&(mt=lc(ie,"onBeforeInput"),0<mt.length&&($e=new jh("onBeforeInput","beforeinput",null,s,be),je.push({event:$e,listeners:mt}),$e.data=rt)),hj(je,e,ie,s,be)}my(je,n)})}function yl(e,n,s){return{instance:e,listener:n,currentTarget:s}}function lc(e,n){for(var s=n+"Capture",i=[];e!==null;){var u=e,f=u.stateNode;if(u=u.tag,u!==5&&u!==26&&u!==27||f===null||(u=Uo(e,s),u!=null&&i.unshift(yl(e,u,f)),u=Uo(e,n),u!=null&&i.push(yl(e,u,f))),e.tag===3)return i;e=e.return}return[]}function bj(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function hy(e,n,s,i,u){for(var f=n._reactName,v=[];s!==null&&s!==i;){var A=s,$=A.alternate,ie=A.stateNode;if(A=A.tag,$!==null&&$===i)break;A!==5&&A!==26&&A!==27||ie===null||($=ie,u?(ie=Uo(s,f),ie!=null&&v.unshift(yl(s,ie,$))):u||(ie=Uo(s,f),ie!=null&&v.push(yl(s,ie,$)))),s=s.return}v.length!==0&&e.push({event:n,listeners:v})}var vj=/\r\n?/g,Sj=/\u0000|\uFFFD/g;function gy(e){return(typeof e=="string"?e:""+e).replace(vj,`
9
- `).replace(Sj,"")}function xy(e,n){return n=gy(n),gy(e)===n}function _t(e,n,s,i,u,f){switch(s){case"children":typeof i=="string"?n==="body"||n==="textarea"&&i===""||Ir(e,i):(typeof i=="number"||typeof i=="bigint")&&n!=="body"&&Ir(e,""+i);break;case"className":di(e,"class",i);break;case"tabIndex":di(e,"tabindex",i);break;case"dir":case"role":case"viewBox":case"width":case"height":di(e,s,i);break;case"style":xh(e,i,f);break;case"data":if(n!=="object"){di(e,"data",i);break}case"src":case"href":if(i===""&&(n!=="a"||s!=="href")){e.removeAttribute(s);break}if(i==null||typeof i=="function"||typeof i=="symbol"||typeof i=="boolean"){e.removeAttribute(s);break}i=mi(""+i),e.setAttribute(s,i);break;case"action":case"formAction":if(typeof i=="function"){e.setAttribute(s,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof f=="function"&&(s==="formAction"?(n!=="input"&&_t(e,n,"name",u.name,u,null),_t(e,n,"formEncType",u.formEncType,u,null),_t(e,n,"formMethod",u.formMethod,u,null),_t(e,n,"formTarget",u.formTarget,u,null)):(_t(e,n,"encType",u.encType,u,null),_t(e,n,"method",u.method,u,null),_t(e,n,"target",u.target,u,null)));if(i==null||typeof i=="symbol"||typeof i=="boolean"){e.removeAttribute(s);break}i=mi(""+i),e.setAttribute(s,i);break;case"onClick":i!=null&&(e.onclick=zs);break;case"onScroll":i!=null&&ct("scroll",e);break;case"onScrollEnd":i!=null&&ct("scrollend",e);break;case"dangerouslySetInnerHTML":if(i!=null){if(typeof i!="object"||!("__html"in i))throw Error(l(61));if(s=i.__html,s!=null){if(u.children!=null)throw Error(l(60));e.innerHTML=s}}break;case"multiple":e.multiple=i&&typeof i!="function"&&typeof i!="symbol";break;case"muted":e.muted=i&&typeof i!="function"&&typeof i!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(i==null||typeof i=="function"||typeof i=="boolean"||typeof i=="symbol"){e.removeAttribute("xlink:href");break}s=mi(""+i),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",s);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":i!=null&&typeof i!="function"&&typeof i!="symbol"?e.setAttribute(s,""+i):e.removeAttribute(s);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":i&&typeof i!="function"&&typeof i!="symbol"?e.setAttribute(s,""):e.removeAttribute(s);break;case"capture":case"download":i===!0?e.setAttribute(s,""):i!==!1&&i!=null&&typeof i!="function"&&typeof i!="symbol"?e.setAttribute(s,i):e.removeAttribute(s);break;case"cols":case"rows":case"size":case"span":i!=null&&typeof i!="function"&&typeof i!="symbol"&&!isNaN(i)&&1<=i?e.setAttribute(s,i):e.removeAttribute(s);break;case"rowSpan":case"start":i==null||typeof i=="function"||typeof i=="symbol"||isNaN(i)?e.removeAttribute(s):e.setAttribute(s,i);break;case"popover":ct("beforetoggle",e),ct("toggle",e),ui(e,"popover",i);break;case"xlinkActuate":Ds(e,"http://www.w3.org/1999/xlink","xlink:actuate",i);break;case"xlinkArcrole":Ds(e,"http://www.w3.org/1999/xlink","xlink:arcrole",i);break;case"xlinkRole":Ds(e,"http://www.w3.org/1999/xlink","xlink:role",i);break;case"xlinkShow":Ds(e,"http://www.w3.org/1999/xlink","xlink:show",i);break;case"xlinkTitle":Ds(e,"http://www.w3.org/1999/xlink","xlink:title",i);break;case"xlinkType":Ds(e,"http://www.w3.org/1999/xlink","xlink:type",i);break;case"xmlBase":Ds(e,"http://www.w3.org/XML/1998/namespace","xml:base",i);break;case"xmlLang":Ds(e,"http://www.w3.org/XML/1998/namespace","xml:lang",i);break;case"xmlSpace":Ds(e,"http://www.w3.org/XML/1998/namespace","xml:space",i);break;case"is":ui(e,"is",i);break;case"innerText":case"textContent":break;default:(!(2<s.length)||s[0]!=="o"&&s[0]!=="O"||s[1]!=="n"&&s[1]!=="N")&&(s=KS.get(s)||s,ui(e,s,i))}}function vf(e,n,s,i,u,f){switch(s){case"style":xh(e,i,f);break;case"dangerouslySetInnerHTML":if(i!=null){if(typeof i!="object"||!("__html"in i))throw Error(l(61));if(s=i.__html,s!=null){if(u.children!=null)throw Error(l(60));e.innerHTML=s}}break;case"children":typeof i=="string"?Ir(e,i):(typeof i=="number"||typeof i=="bigint")&&Ir(e,""+i);break;case"onScroll":i!=null&&ct("scroll",e);break;case"onScrollEnd":i!=null&&ct("scrollend",e);break;case"onClick":i!=null&&(e.onclick=zs);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!ih.hasOwnProperty(s))e:{if(s[0]==="o"&&s[1]==="n"&&(u=s.endsWith("Capture"),n=s.slice(2,u?s.length-7:void 0),f=e[On]||null,f=f!=null?f[s]:null,typeof f=="function"&&e.removeEventListener(n,f,u),typeof i=="function")){typeof f!="function"&&f!==null&&(s in e?e[s]=null:e.hasAttribute(s)&&e.removeAttribute(s)),e.addEventListener(n,i,u);break e}s in e?e[s]=i:i===!0?e.setAttribute(s,""):ui(e,s,i)}}}function vn(e,n,s){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ct("error",e),ct("load",e);var i=!1,u=!1,f;for(f in s)if(s.hasOwnProperty(f)){var v=s[f];if(v!=null)switch(f){case"src":i=!0;break;case"srcSet":u=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(l(137,n));default:_t(e,n,f,v,s,null)}}u&&_t(e,n,"srcSet",s.srcSet,s,null),i&&_t(e,n,"src",s.src,s,null);return;case"input":ct("invalid",e);var A=f=v=u=null,$=null,ie=null;for(i in s)if(s.hasOwnProperty(i)){var be=s[i];if(be!=null)switch(i){case"name":u=be;break;case"type":v=be;break;case"checked":$=be;break;case"defaultChecked":ie=be;break;case"value":f=be;break;case"defaultValue":A=be;break;case"children":case"dangerouslySetInnerHTML":if(be!=null)throw Error(l(137,n));break;default:_t(e,n,i,be,s,null)}}mh(e,f,A,$,ie,v,u,!1);return;case"select":ct("invalid",e),i=v=f=null;for(u in s)if(s.hasOwnProperty(u)&&(A=s[u],A!=null))switch(u){case"value":f=A;break;case"defaultValue":v=A;break;case"multiple":i=A;default:_t(e,n,u,A,s,null)}n=f,s=v,e.multiple=!!i,n!=null?Lr(e,!!i,n,!1):s!=null&&Lr(e,!!i,s,!0);return;case"textarea":ct("invalid",e),f=u=i=null;for(v in s)if(s.hasOwnProperty(v)&&(A=s[v],A!=null))switch(v){case"value":i=A;break;case"defaultValue":u=A;break;case"children":f=A;break;case"dangerouslySetInnerHTML":if(A!=null)throw Error(l(91));break;default:_t(e,n,v,A,s,null)}hh(e,i,u,f);return;case"option":for($ in s)s.hasOwnProperty($)&&(i=s[$],i!=null)&&($==="selected"?e.selected=i&&typeof i!="function"&&typeof i!="symbol":_t(e,n,$,i,s,null));return;case"dialog":ct("beforetoggle",e),ct("toggle",e),ct("cancel",e),ct("close",e);break;case"iframe":case"object":ct("load",e);break;case"video":case"audio":for(i=0;i<xl.length;i++)ct(xl[i],e);break;case"image":ct("error",e),ct("load",e);break;case"details":ct("toggle",e);break;case"embed":case"source":case"link":ct("error",e),ct("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(ie in s)if(s.hasOwnProperty(ie)&&(i=s[ie],i!=null))switch(ie){case"children":case"dangerouslySetInnerHTML":throw Error(l(137,n));default:_t(e,n,ie,i,s,null)}return;default:if(Mu(n)){for(be in s)s.hasOwnProperty(be)&&(i=s[be],i!==void 0&&vf(e,n,be,i,s,void 0));return}}for(A in s)s.hasOwnProperty(A)&&(i=s[A],i!=null&&_t(e,n,A,i,s,null))}function Nj(e,n,s,i){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var u=null,f=null,v=null,A=null,$=null,ie=null,be=null;for(he in s){var je=s[he];if(s.hasOwnProperty(he)&&je!=null)switch(he){case"checked":break;case"value":break;case"defaultValue":$=je;default:i.hasOwnProperty(he)||_t(e,n,he,null,i,je)}}for(var me in i){var he=i[me];if(je=s[me],i.hasOwnProperty(me)&&(he!=null||je!=null))switch(me){case"type":f=he;break;case"name":u=he;break;case"checked":ie=he;break;case"defaultChecked":be=he;break;case"value":v=he;break;case"defaultValue":A=he;break;case"children":case"dangerouslySetInnerHTML":if(he!=null)throw Error(l(137,n));break;default:he!==je&&_t(e,n,me,he,i,je)}}_u(e,v,A,$,ie,be,f,u);return;case"select":he=v=A=me=null;for(f in s)if($=s[f],s.hasOwnProperty(f)&&$!=null)switch(f){case"value":break;case"multiple":he=$;default:i.hasOwnProperty(f)||_t(e,n,f,null,i,$)}for(u in i)if(f=i[u],$=s[u],i.hasOwnProperty(u)&&(f!=null||$!=null))switch(u){case"value":me=f;break;case"defaultValue":A=f;break;case"multiple":v=f;default:f!==$&&_t(e,n,u,f,i,$)}n=A,s=v,i=he,me!=null?Lr(e,!!s,me,!1):!!i!=!!s&&(n!=null?Lr(e,!!s,n,!0):Lr(e,!!s,s?[]:"",!1));return;case"textarea":he=me=null;for(A in s)if(u=s[A],s.hasOwnProperty(A)&&u!=null&&!i.hasOwnProperty(A))switch(A){case"value":break;case"children":break;default:_t(e,n,A,null,i,u)}for(v in i)if(u=i[v],f=s[v],i.hasOwnProperty(v)&&(u!=null||f!=null))switch(v){case"value":me=u;break;case"defaultValue":he=u;break;case"children":break;case"dangerouslySetInnerHTML":if(u!=null)throw Error(l(91));break;default:u!==f&&_t(e,n,v,u,i,f)}ph(e,me,he);return;case"option":for(var Fe in s)me=s[Fe],s.hasOwnProperty(Fe)&&me!=null&&!i.hasOwnProperty(Fe)&&(Fe==="selected"?e.selected=!1:_t(e,n,Fe,null,i,me));for($ in i)me=i[$],he=s[$],i.hasOwnProperty($)&&me!==he&&(me!=null||he!=null)&&($==="selected"?e.selected=me&&typeof me!="function"&&typeof me!="symbol":_t(e,n,$,me,i,he));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Ze in s)me=s[Ze],s.hasOwnProperty(Ze)&&me!=null&&!i.hasOwnProperty(Ze)&&_t(e,n,Ze,null,i,me);for(ie in i)if(me=i[ie],he=s[ie],i.hasOwnProperty(ie)&&me!==he&&(me!=null||he!=null))switch(ie){case"children":case"dangerouslySetInnerHTML":if(me!=null)throw Error(l(137,n));break;default:_t(e,n,ie,me,i,he)}return;default:if(Mu(n)){for(var At in s)me=s[At],s.hasOwnProperty(At)&&me!==void 0&&!i.hasOwnProperty(At)&&vf(e,n,At,void 0,i,me);for(be in i)me=i[be],he=s[be],!i.hasOwnProperty(be)||me===he||me===void 0&&he===void 0||vf(e,n,be,me,i,he);return}}for(var se in s)me=s[se],s.hasOwnProperty(se)&&me!=null&&!i.hasOwnProperty(se)&&_t(e,n,se,null,i,me);for(je in i)me=i[je],he=s[je],!i.hasOwnProperty(je)||me===he||me==null&&he==null||_t(e,n,je,me,i,he)}function yy(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function jj(){if(typeof performance.getEntriesByType=="function"){for(var e=0,n=0,s=performance.getEntriesByType("resource"),i=0;i<s.length;i++){var u=s[i],f=u.transferSize,v=u.initiatorType,A=u.duration;if(f&&A&&yy(v)){for(v=0,A=u.responseEnd,i+=1;i<s.length;i++){var $=s[i],ie=$.startTime;if(ie>A)break;var be=$.transferSize,je=$.initiatorType;be&&yy(je)&&($=$.responseEnd,v+=be*($<A?1:(A-ie)/($-ie)))}if(--i,n+=8*(f+v)/(u.duration/1e3),e++,10<e)break}}if(0<e)return n/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Sf=null,Nf=null;function ic(e){return e.nodeType===9?e:e.ownerDocument}function by(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function vy(e,n){if(e===0)switch(n){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&n==="foreignObject"?0:e}function jf(e,n){return e==="textarea"||e==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.children=="bigint"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var Ef=null;function Ej(){var e=window.event;return e&&e.type==="popstate"?e===Ef?!1:(Ef=e,!0):(Ef=null,!1)}var Sy=typeof setTimeout=="function"?setTimeout:void 0,Tj=typeof clearTimeout=="function"?clearTimeout:void 0,Ny=typeof Promise=="function"?Promise:void 0,wj=typeof queueMicrotask=="function"?queueMicrotask:typeof Ny<"u"?function(e){return Ny.resolve(null).then(e).catch(Cj)}:Sy;function Cj(e){setTimeout(function(){throw e})}function Aa(e){return e==="head"}function jy(e,n){var s=n,i=0;do{var u=s.nextSibling;if(e.removeChild(s),u&&u.nodeType===8)if(s=u.data,s==="/$"||s==="/&"){if(i===0){e.removeChild(u),ho(n);return}i--}else if(s==="$"||s==="$?"||s==="$~"||s==="$!"||s==="&")i++;else if(s==="html")bl(e.ownerDocument.documentElement);else if(s==="head"){s=e.ownerDocument.head,bl(s);for(var f=s.firstChild;f;){var v=f.nextSibling,A=f.nodeName;f[Io]||A==="SCRIPT"||A==="STYLE"||A==="LINK"&&f.rel.toLowerCase()==="stylesheet"||s.removeChild(f),f=v}}else s==="body"&&bl(e.ownerDocument.body);s=u}while(s);ho(n)}function Ey(e,n){var s=e;e=0;do{var i=s.nextSibling;if(s.nodeType===1?n?(s._stashedDisplay=s.style.display,s.style.display="none"):(s.style.display=s._stashedDisplay||"",s.getAttribute("style")===""&&s.removeAttribute("style")):s.nodeType===3&&(n?(s._stashedText=s.nodeValue,s.nodeValue=""):s.nodeValue=s._stashedText||""),i&&i.nodeType===8)if(s=i.data,s==="/$"){if(e===0)break;e--}else s!=="$"&&s!=="$?"&&s!=="$~"&&s!=="$!"||e++;s=i}while(s)}function Tf(e){var n=e.firstChild;for(n&&n.nodeType===10&&(n=n.nextSibling);n;){var s=n;switch(n=n.nextSibling,s.nodeName){case"HTML":case"HEAD":case"BODY":Tf(s),Ru(s);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(s.rel.toLowerCase()==="stylesheet")continue}e.removeChild(s)}}function Oj(e,n,s,i){for(;e.nodeType===1;){var u=s;if(e.nodeName.toLowerCase()!==n.toLowerCase()){if(!i&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(i){if(!e[Io])switch(n){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(f=e.getAttribute("rel"),f==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(f!==u.rel||e.getAttribute("href")!==(u.href==null||u.href===""?null:u.href)||e.getAttribute("crossorigin")!==(u.crossOrigin==null?null:u.crossOrigin)||e.getAttribute("title")!==(u.title==null?null:u.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(f=e.getAttribute("src"),(f!==(u.src==null?null:u.src)||e.getAttribute("type")!==(u.type==null?null:u.type)||e.getAttribute("crossorigin")!==(u.crossOrigin==null?null:u.crossOrigin))&&f&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(n==="input"&&e.type==="hidden"){var f=u.name==null?null:""+u.name;if(u.type==="hidden"&&e.getAttribute("name")===f)return e}else return e;if(e=rs(e.nextSibling),e===null)break}return null}function Rj(e,n,s){if(n==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!s||(e=rs(e.nextSibling),e===null))return null;return e}function Ty(e,n){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=rs(e.nextSibling),e===null))return null;return e}function wf(e){return e.data==="$?"||e.data==="$~"}function Cf(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function kj(e,n){var s=e.ownerDocument;if(e.data==="$~")e._reactRetry=n;else if(e.data!=="$?"||s.readyState!=="loading")n();else{var i=function(){n(),s.removeEventListener("DOMContentLoaded",i)};s.addEventListener("DOMContentLoaded",i),e._reactRetry=i}}function rs(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==="$?"||n==="$~"||n==="&"||n==="F!"||n==="F")break;if(n==="/$"||n==="/&")return null}}return e}var Of=null;function wy(e){e=e.nextSibling;for(var n=0;e;){if(e.nodeType===8){var s=e.data;if(s==="/$"||s==="/&"){if(n===0)return rs(e.nextSibling);n--}else s!=="$"&&s!=="$!"&&s!=="$?"&&s!=="$~"&&s!=="&"||n++}e=e.nextSibling}return null}function Cy(e){e=e.previousSibling;for(var n=0;e;){if(e.nodeType===8){var s=e.data;if(s==="$"||s==="$!"||s==="$?"||s==="$~"||s==="&"){if(n===0)return e;n--}else s!=="/$"&&s!=="/&"||n++}e=e.previousSibling}return null}function Oy(e,n,s){switch(n=ic(s),e){case"html":if(e=n.documentElement,!e)throw Error(l(452));return e;case"head":if(e=n.head,!e)throw Error(l(453));return e;case"body":if(e=n.body,!e)throw Error(l(454));return e;default:throw Error(l(451))}}function bl(e){for(var n=e.attributes;n.length;)e.removeAttributeNode(n[0]);Ru(e)}var os=new Map,Ry=new Set;function cc(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Zs=D.d;D.d={f:_j,r:Aj,D:Mj,C:Dj,L:zj,m:Lj,X:Bj,S:Ij,M:Uj};function _j(){var e=Zs.f(),n=ec();return e||n}function Aj(e){var n=Mr(e);n!==null&&n.tag===5&&n.type==="form"?Gg(n):Zs.r(e)}var fo=typeof document>"u"?null:document;function ky(e,n,s){var i=fo;if(i&&typeof n=="string"&&n){var u=Jn(n);u='link[rel="'+e+'"][href="'+u+'"]',typeof s=="string"&&(u+='[crossorigin="'+s+'"]'),Ry.has(u)||(Ry.add(u),e={rel:e,crossOrigin:s,href:n},i.querySelector(u)===null&&(n=i.createElement("link"),vn(n,"link",e),dn(n),i.head.appendChild(n)))}}function Mj(e){Zs.D(e),ky("dns-prefetch",e,null)}function Dj(e,n){Zs.C(e,n),ky("preconnect",e,n)}function zj(e,n,s){Zs.L(e,n,s);var i=fo;if(i&&e&&n){var u='link[rel="preload"][as="'+Jn(n)+'"]';n==="image"&&s&&s.imageSrcSet?(u+='[imagesrcset="'+Jn(s.imageSrcSet)+'"]',typeof s.imageSizes=="string"&&(u+='[imagesizes="'+Jn(s.imageSizes)+'"]')):u+='[href="'+Jn(e)+'"]';var f=u;switch(n){case"style":f=mo(e);break;case"script":f=po(e)}os.has(f)||(e=g({rel:"preload",href:n==="image"&&s&&s.imageSrcSet?void 0:e,as:n},s),os.set(f,e),i.querySelector(u)!==null||n==="style"&&i.querySelector(vl(f))||n==="script"&&i.querySelector(Sl(f))||(n=i.createElement("link"),vn(n,"link",e),dn(n),i.head.appendChild(n)))}}function Lj(e,n){Zs.m(e,n);var s=fo;if(s&&e){var i=n&&typeof n.as=="string"?n.as:"script",u='link[rel="modulepreload"][as="'+Jn(i)+'"][href="'+Jn(e)+'"]',f=u;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":f=po(e)}if(!os.has(f)&&(e=g({rel:"modulepreload",href:e},n),os.set(f,e),s.querySelector(u)===null)){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(s.querySelector(Sl(f)))return}i=s.createElement("link"),vn(i,"link",e),dn(i),s.head.appendChild(i)}}}function Ij(e,n,s){Zs.S(e,n,s);var i=fo;if(i&&e){var u=Dr(i).hoistableStyles,f=mo(e);n=n||"default";var v=u.get(f);if(!v){var A={loading:0,preload:null};if(v=i.querySelector(vl(f)))A.loading=5;else{e=g({rel:"stylesheet",href:e,"data-precedence":n},s),(s=os.get(f))&&Rf(e,s);var $=v=i.createElement("link");dn($),vn($,"link",e),$._p=new Promise(function(ie,be){$.onload=ie,$.onerror=be}),$.addEventListener("load",function(){A.loading|=1}),$.addEventListener("error",function(){A.loading|=2}),A.loading|=4,uc(v,n,i)}v={type:"stylesheet",instance:v,count:1,state:A},u.set(f,v)}}}function Bj(e,n){Zs.X(e,n);var s=fo;if(s&&e){var i=Dr(s).hoistableScripts,u=po(e),f=i.get(u);f||(f=s.querySelector(Sl(u)),f||(e=g({src:e,async:!0},n),(n=os.get(u))&&kf(e,n),f=s.createElement("script"),dn(f),vn(f,"link",e),s.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},i.set(u,f))}}function Uj(e,n){Zs.M(e,n);var s=fo;if(s&&e){var i=Dr(s).hoistableScripts,u=po(e),f=i.get(u);f||(f=s.querySelector(Sl(u)),f||(e=g({src:e,async:!0,type:"module"},n),(n=os.get(u))&&kf(e,n),f=s.createElement("script"),dn(f),vn(f,"link",e),s.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},i.set(u,f))}}function _y(e,n,s,i){var u=(u=ee.current)?cc(u):null;if(!u)throw Error(l(446));switch(e){case"meta":case"title":return null;case"style":return typeof s.precedence=="string"&&typeof s.href=="string"?(n=mo(s.href),s=Dr(u).hoistableStyles,i=s.get(n),i||(i={type:"style",instance:null,count:0,state:null},s.set(n,i)),i):{type:"void",instance:null,count:0,state:null};case"link":if(s.rel==="stylesheet"&&typeof s.href=="string"&&typeof s.precedence=="string"){e=mo(s.href);var f=Dr(u).hoistableStyles,v=f.get(e);if(v||(u=u.ownerDocument||u,v={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},f.set(e,v),(f=u.querySelector(vl(e)))&&!f._p&&(v.instance=f,v.state.loading=5),os.has(e)||(s={rel:"preload",as:"style",href:s.href,crossOrigin:s.crossOrigin,integrity:s.integrity,media:s.media,hrefLang:s.hrefLang,referrerPolicy:s.referrerPolicy},os.set(e,s),f||Hj(u,e,s,v.state))),n&&i===null)throw Error(l(528,""));return v}if(n&&i!==null)throw Error(l(529,""));return null;case"script":return n=s.async,s=s.src,typeof s=="string"&&n&&typeof n!="function"&&typeof n!="symbol"?(n=po(s),s=Dr(u).hoistableScripts,i=s.get(n),i||(i={type:"script",instance:null,count:0,state:null},s.set(n,i)),i):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,e))}}function mo(e){return'href="'+Jn(e)+'"'}function vl(e){return'link[rel="stylesheet"]['+e+"]"}function Ay(e){return g({},e,{"data-precedence":e.precedence,precedence:null})}function Hj(e,n,s,i){e.querySelector('link[rel="preload"][as="style"]['+n+"]")?i.loading=1:(n=e.createElement("link"),i.preload=n,n.addEventListener("load",function(){return i.loading|=1}),n.addEventListener("error",function(){return i.loading|=2}),vn(n,"link",s),dn(n),e.head.appendChild(n))}function po(e){return'[src="'+Jn(e)+'"]'}function Sl(e){return"script[async]"+e}function My(e,n,s){if(n.count++,n.instance===null)switch(n.type){case"style":var i=e.querySelector('style[data-href~="'+Jn(s.href)+'"]');if(i)return n.instance=i,dn(i),i;var u=g({},s,{"data-href":s.href,"data-precedence":s.precedence,href:null,precedence:null});return i=(e.ownerDocument||e).createElement("style"),dn(i),vn(i,"style",u),uc(i,s.precedence,e),n.instance=i;case"stylesheet":u=mo(s.href);var f=e.querySelector(vl(u));if(f)return n.state.loading|=4,n.instance=f,dn(f),f;i=Ay(s),(u=os.get(u))&&Rf(i,u),f=(e.ownerDocument||e).createElement("link"),dn(f);var v=f;return v._p=new Promise(function(A,$){v.onload=A,v.onerror=$}),vn(f,"link",i),n.state.loading|=4,uc(f,s.precedence,e),n.instance=f;case"script":return f=po(s.src),(u=e.querySelector(Sl(f)))?(n.instance=u,dn(u),u):(i=s,(u=os.get(f))&&(i=g({},s),kf(i,u)),e=e.ownerDocument||e,u=e.createElement("script"),dn(u),vn(u,"link",i),e.head.appendChild(u),n.instance=u);case"void":return null;default:throw Error(l(443,n.type))}else n.type==="stylesheet"&&(n.state.loading&4)===0&&(i=n.instance,n.state.loading|=4,uc(i,s.precedence,e));return n.instance}function uc(e,n,s){for(var i=s.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=i.length?i[i.length-1]:null,f=u,v=0;v<i.length;v++){var A=i[v];if(A.dataset.precedence===n)f=A;else if(f!==u)break}f?f.parentNode.insertBefore(e,f.nextSibling):(n=s.nodeType===9?s.head:s,n.insertBefore(e,n.firstChild))}function Rf(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.title==null&&(e.title=n.title)}function kf(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.integrity==null&&(e.integrity=n.integrity)}var dc=null;function Dy(e,n,s){if(dc===null){var i=new Map,u=dc=new Map;u.set(s,i)}else u=dc,i=u.get(s),i||(i=new Map,u.set(s,i));if(i.has(e))return i;for(i.set(e,null),s=s.getElementsByTagName(e),u=0;u<s.length;u++){var f=s[u];if(!(f[Io]||f[an]||e==="link"&&f.getAttribute("rel")==="stylesheet")&&f.namespaceURI!=="http://www.w3.org/2000/svg"){var v=f.getAttribute(n)||"";v=e+v;var A=i.get(v);A?A.push(f):i.set(v,[f])}}return i}function zy(e,n,s){e=e.ownerDocument||e,e.head.insertBefore(s,n==="title"?e.querySelector("head > title"):null)}function Yj(e,n,s){if(s===1||n.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof n.precedence!="string"||typeof n.href!="string"||n.href==="")break;return!0;case"link":if(typeof n.rel!="string"||typeof n.href!="string"||n.href===""||n.onLoad||n.onError)break;return n.rel==="stylesheet"?(e=n.disabled,typeof n.precedence=="string"&&e==null):!0;case"script":if(n.async&&typeof n.async!="function"&&typeof n.async!="symbol"&&!n.onLoad&&!n.onError&&n.src&&typeof n.src=="string")return!0}return!1}function Ly(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Pj(e,n,s,i){if(s.type==="stylesheet"&&(typeof i.media!="string"||matchMedia(i.media).matches!==!1)&&(s.state.loading&4)===0){if(s.instance===null){var u=mo(i.href),f=n.querySelector(vl(u));if(f){n=f._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(e.count++,e=fc.bind(e),n.then(e,e)),s.state.loading|=4,s.instance=f,dn(f);return}f=n.ownerDocument||n,i=Ay(i),(u=os.get(u))&&Rf(i,u),f=f.createElement("link"),dn(f);var v=f;v._p=new Promise(function(A,$){v.onload=A,v.onerror=$}),vn(f,"link",i),s.instance=f}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(s,n),(n=s.state.preload)&&(s.state.loading&3)===0&&(e.count++,s=fc.bind(e),n.addEventListener("load",s),n.addEventListener("error",s))}}var _f=0;function Vj(e,n){return e.stylesheets&&e.count===0&&pc(e,e.stylesheets),0<e.count||0<e.imgCount?function(s){var i=setTimeout(function(){if(e.stylesheets&&pc(e,e.stylesheets),e.unsuspend){var f=e.unsuspend;e.unsuspend=null,f()}},6e4+n);0<e.imgBytes&&_f===0&&(_f=62500*jj());var u=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&pc(e,e.stylesheets),e.unsuspend)){var f=e.unsuspend;e.unsuspend=null,f()}},(e.imgBytes>_f?50:800)+n);return e.unsuspend=s,function(){e.unsuspend=null,clearTimeout(i),clearTimeout(u)}}:null}function fc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)pc(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var mc=null;function pc(e,n){e.stylesheets=null,e.unsuspend!==null&&(e.count++,mc=new Map,n.forEach(Fj,e),mc=null,fc.call(e))}function Fj(e,n){if(!(n.state.loading&4)){var s=mc.get(e);if(s)var i=s.get(null);else{s=new Map,mc.set(e,s);for(var u=e.querySelectorAll("link[data-precedence],style[data-precedence]"),f=0;f<u.length;f++){var v=u[f];(v.nodeName==="LINK"||v.getAttribute("media")!=="not all")&&(s.set(v.dataset.precedence,v),i=v)}i&&s.set(null,i)}u=n.instance,v=u.getAttribute("data-precedence"),f=s.get(v)||i,f===i&&s.set(null,u),s.set(v,u),this.count++,i=fc.bind(this),u.addEventListener("load",i),u.addEventListener("error",i),f?f.parentNode.insertBefore(u,f.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(u,e.firstChild)),n.state.loading|=4}}var Nl={$$typeof:O,Provider:null,Consumer:null,_currentValue:Y,_currentValue2:Y,_threadCount:0};function qj(e,n,s,i,u,f,v,A,$){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Qn(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Qn(0),this.hiddenUpdates=Qn(null),this.identifierPrefix=i,this.onUncaughtError=u,this.onCaughtError=f,this.onRecoverableError=v,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=$,this.incompleteTransitions=new Map}function Iy(e,n,s,i,u,f,v,A,$,ie,be,je){return e=new qj(e,n,s,v,$,ie,be,je,A),n=1,f===!0&&(n|=24),f=Hn(3,null,null,n),e.current=f,f.stateNode=e,n=cd(),n.refCount++,e.pooledCache=n,n.refCount++,f.memoizedState={element:i,isDehydrated:s,cache:n},md(f),e}function By(e){return e?(e=Fr,e):Fr}function Uy(e,n,s,i,u,f){u=By(u),i.context===null?i.context=u:i.pendingContext=u,i=Sa(n),i.payload={element:s},f=f===void 0?null:f,f!==null&&(i.callback=f),s=Na(e,i,n),s!==null&&(Dn(s,e,n),el(s,e,n))}function Hy(e,n){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var s=e.retryLane;e.retryLane=s!==0&&s<n?s:n}}function Af(e,n){Hy(e,n),(e=e.alternate)&&Hy(e,n)}function Yy(e){if(e.tag===13||e.tag===31){var n=Ja(e,67108864);n!==null&&Dn(n,e,67108864),Af(e,67108864)}}function Py(e){if(e.tag===13||e.tag===31){var n=qn();n=pa(n);var s=Ja(e,n);s!==null&&Dn(s,e,n),Af(e,n)}}var hc=!0;function Gj(e,n,s,i){var u=_.T;_.T=null;var f=D.p;try{D.p=2,Mf(e,n,s,i)}finally{D.p=f,_.T=u}}function $j(e,n,s,i){var u=_.T;_.T=null;var f=D.p;try{D.p=8,Mf(e,n,s,i)}finally{D.p=f,_.T=u}}function Mf(e,n,s,i){if(hc){var u=Df(i);if(u===null)bf(e,n,i,gc,s),Fy(e,i);else if(Kj(u,e,n,s,i))i.stopPropagation();else if(Fy(e,i),n&4&&-1<Xj.indexOf(e)){for(;u!==null;){var f=Mr(u);if(f!==null)switch(f.tag){case 3:if(f=f.stateNode,f.current.memoizedState.isDehydrated){var v=Rt(f.pendingLanes);if(v!==0){var A=f;for(A.pendingLanes|=2,A.entangledLanes|=2;v;){var $=1<<31-Tt(v);A.entanglements[1]|=$,v&=~$}js(f),(Nt&6)===0&&(Ji=P()+500,gl(0))}}break;case 31:case 13:A=Ja(f,2),A!==null&&Dn(A,f,2),ec(),Af(f,2)}if(f=Df(i),f===null&&bf(e,n,i,gc,s),f===u)break;u=f}u!==null&&i.stopPropagation()}else bf(e,n,i,null,s)}}function Df(e){return e=zu(e),zf(e)}var gc=null;function zf(e){if(gc=null,e=Ar(e),e!==null){var n=d(e);if(n===null)e=null;else{var s=n.tag;if(s===13){if(e=p(n),e!==null)return e;e=null}else if(s===31){if(e=x(n),e!==null)return e;e=null}else if(s===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;e=null}else n!==e&&(e=null)}}return gc=e,null}function Vy(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(G()){case Te:return 2;case ye:return 8;case re:case Oe:return 32;case Ue:return 268435456;default:return 32}default:return 32}}var Lf=!1,Ma=null,Da=null,za=null,jl=new Map,El=new Map,La=[],Xj="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Fy(e,n){switch(e){case"focusin":case"focusout":Ma=null;break;case"dragenter":case"dragleave":Da=null;break;case"mouseover":case"mouseout":za=null;break;case"pointerover":case"pointerout":jl.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":El.delete(n.pointerId)}}function Tl(e,n,s,i,u,f){return e===null||e.nativeEvent!==f?(e={blockedOn:n,domEventName:s,eventSystemFlags:i,nativeEvent:f,targetContainers:[u]},n!==null&&(n=Mr(n),n!==null&&Yy(n)),e):(e.eventSystemFlags|=i,n=e.targetContainers,u!==null&&n.indexOf(u)===-1&&n.push(u),e)}function Kj(e,n,s,i,u){switch(n){case"focusin":return Ma=Tl(Ma,e,n,s,i,u),!0;case"dragenter":return Da=Tl(Da,e,n,s,i,u),!0;case"mouseover":return za=Tl(za,e,n,s,i,u),!0;case"pointerover":var f=u.pointerId;return jl.set(f,Tl(jl.get(f)||null,e,n,s,i,u)),!0;case"gotpointercapture":return f=u.pointerId,El.set(f,Tl(El.get(f)||null,e,n,s,i,u)),!0}return!1}function qy(e){var n=Ar(e.target);if(n!==null){var s=d(n);if(s!==null){if(n=s.tag,n===13){if(n=p(s),n!==null){e.blockedOn=n,ci(e.priority,function(){Py(s)});return}}else if(n===31){if(n=x(s),n!==null){e.blockedOn=n,ci(e.priority,function(){Py(s)});return}}else if(n===3&&s.stateNode.current.memoizedState.isDehydrated){e.blockedOn=s.tag===3?s.stateNode.containerInfo:null;return}}}e.blockedOn=null}function xc(e){if(e.blockedOn!==null)return!1;for(var n=e.targetContainers;0<n.length;){var s=Df(e.nativeEvent);if(s===null){s=e.nativeEvent;var i=new s.constructor(s.type,s);Du=i,s.target.dispatchEvent(i),Du=null}else return n=Mr(s),n!==null&&Yy(n),e.blockedOn=s,!1;n.shift()}return!0}function Gy(e,n,s){xc(e)&&s.delete(n)}function Qj(){Lf=!1,Ma!==null&&xc(Ma)&&(Ma=null),Da!==null&&xc(Da)&&(Da=null),za!==null&&xc(za)&&(za=null),jl.forEach(Gy),El.forEach(Gy)}function yc(e,n){e.blockedOn===n&&(e.blockedOn=null,Lf||(Lf=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Qj)))}var bc=null;function $y(e){bc!==e&&(bc=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){bc===e&&(bc=null);for(var n=0;n<e.length;n+=3){var s=e[n],i=e[n+1],u=e[n+2];if(typeof i!="function"){if(zf(i||s)===null)continue;break}var f=Mr(s);f!==null&&(e.splice(n,3),n-=3,Md(f,{pending:!0,data:u,method:s.method,action:i},i,u))}}))}function ho(e){function n($){return yc($,e)}Ma!==null&&yc(Ma,e),Da!==null&&yc(Da,e),za!==null&&yc(za,e),jl.forEach(n),El.forEach(n);for(var s=0;s<La.length;s++){var i=La[s];i.blockedOn===e&&(i.blockedOn=null)}for(;0<La.length&&(s=La[0],s.blockedOn===null);)qy(s),s.blockedOn===null&&La.shift();if(s=(e.ownerDocument||e).$$reactFormReplay,s!=null)for(i=0;i<s.length;i+=3){var u=s[i],f=s[i+1],v=u[On]||null;if(typeof f=="function")v||$y(s);else if(v){var A=null;if(f&&f.hasAttribute("formAction")){if(u=f,v=f[On]||null)A=v.formAction;else if(zf(u)!==null)continue}else A=v.action;typeof A=="function"?s[i+1]=A:(s.splice(i,3),i-=3),$y(s)}}}function Xy(){function e(f){f.canIntercept&&f.info==="react-transition"&&f.intercept({handler:function(){return new Promise(function(v){return u=v})},focusReset:"manual",scroll:"manual"})}function n(){u!==null&&(u(),u=null),i||setTimeout(s,20)}function s(){if(!i&&!navigation.transition){var f=navigation.currentEntry;f&&f.url!=null&&navigation.navigate(f.url,{state:f.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var i=!1,u=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",n),navigation.addEventListener("navigateerror",n),setTimeout(s,100),function(){i=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",n),navigation.removeEventListener("navigateerror",n),u!==null&&(u(),u=null)}}}function If(e){this._internalRoot=e}vc.prototype.render=If.prototype.render=function(e){var n=this._internalRoot;if(n===null)throw Error(l(409));var s=n.current,i=qn();Uy(s,i,e,n,null,null)},vc.prototype.unmount=If.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var n=e.containerInfo;Uy(e.current,2,null,e,null,null),ec(),n[_r]=null}};function vc(e){this._internalRoot=e}vc.prototype.unstable_scheduleHydration=function(e){if(e){var n=Ms();e={blockedOn:null,target:e,priority:n};for(var s=0;s<La.length&&n!==0&&n<La[s].priority;s++);La.splice(s,0,e),s===0&&qy(e)}};var Ky=a.version;if(Ky!=="19.2.8")throw Error(l(527,Ky,"19.2.8"));D.findDOMNode=function(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=m(n),e=e!==null?b(e):null,e=e===null?null:e.stateNode,e};var Zj={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:_,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Sc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Sc.isDisabled&&Sc.supportsFiber)try{Dt=Sc.inject(Zj),dt=Sc}catch{}}return Cl.createRoot=function(e,n){if(!c(e))throw Error(l(299));var s=!1,i="",u=nx,f=sx,v=ax;return n!=null&&(n.unstable_strictMode===!0&&(s=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onUncaughtError!==void 0&&(u=n.onUncaughtError),n.onCaughtError!==void 0&&(f=n.onCaughtError),n.onRecoverableError!==void 0&&(v=n.onRecoverableError)),n=Iy(e,1,!1,null,null,s,i,null,u,f,v,Xy),e[_r]=n.current,yf(e),new If(n)},Cl.hydrateRoot=function(e,n,s){if(!c(e))throw Error(l(299));var i=!1,u="",f=nx,v=sx,A=ax,$=null;return s!=null&&(s.unstable_strictMode===!0&&(i=!0),s.identifierPrefix!==void 0&&(u=s.identifierPrefix),s.onUncaughtError!==void 0&&(f=s.onUncaughtError),s.onCaughtError!==void 0&&(v=s.onCaughtError),s.onRecoverableError!==void 0&&(A=s.onRecoverableError),s.formState!==void 0&&($=s.formState)),n=Iy(e,1,!0,n,s??null,i,u,$,f,v,A,Xy),n.context=By(null),s=n.current,i=qn(),i=pa(i),u=Sa(i),u.callback=null,Na(s,u,i),s=i,n.current.lanes=s,zt(n,s),js(n),e[_r]=n.current,yf(e),new vc(n)},Cl.version="19.2.8",Cl}var rb;function iE(){if(rb)return Hf.exports;rb=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(a){console.error(a)}}return t(),Hf.exports=lE(),Hf.exports}var cE=iE();const Co=["character","setting","location","hook","event","timepoint","reference"],ym=["material","inspiration","theory","reference"],Gm=["belongs_to","owns","masters","ally","rival","mentor","family","kills","appears_in","occurs_at","plot_edge","plants","advances","resolves","depends_on","involves","occurs_in"],ob=["mystery","relationship","item","character_growth","world_building"],a0=["inner","personal","extra_personal"],uE=[5,10,15,30,60],lb=30;function xs(t){const a=new Date(t);if(Number.isNaN(a.getTime()))return t;const r=l=>String(l).padStart(2,"0");return`${a.getFullYear()}-${r(a.getMonth()+1)}-${r(a.getDate())} ${r(a.getHours())}:${r(a.getMinutes())}`}function xr(t){const a=new Date(t);if(Number.isNaN(a.getTime()))return t;const r=Math.floor((Date.now()-a.getTime())/6e4);if(r<1)return"刚刚";if(r<60)return`${r} 分钟前`;const l=Math.floor(r/60);if(l<24)return`${l} 小时前`;const c=Math.floor(l/24);return c<30?`${c} 天前`:xs(t)}const dE=["outline","entities","hooks","timeline","references","trash","settings"];function ib(t){const a=t.replace(/^#/,"").replace(/^\/+/,""),r=a===""?[]:a.split("/").filter(c=>c!=="");return r.length>0&&!dE.includes(r[0])?{path:"/",segments:[],isFallback:!0}:{path:`/${r.join("/")}`,segments:r,isFallback:!1}}function fE(){const[t,a]=h.useState(()=>ib(window.location.hash));return h.useEffect(()=>{const r=()=>{const l=ib(window.location.hash);a(l),l.isFallback&&window.location.hash!=="#/"&&window.location.replace("#/")};return window.addEventListener("hashchange",r),r(),()=>window.removeEventListener("hashchange",r)},[]),t}function Kt(t){const a=t.startsWith("#")?t:`#${t.startsWith("/")?t:`/${t}`}`;window.location.hash!==a&&(window.location.hash=a)}const r0=(...t)=>t.filter((a,r,l)=>!!a&&a.trim()!==""&&l.indexOf(a)===r).join(" ").trim();const mE=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const pE=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,r,l)=>l?l.toUpperCase():r.toLowerCase());const cb=t=>{const a=pE(t);return a.charAt(0).toUpperCase()+a.slice(1)};var Ff={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const hE=t=>{for(const a in t)if(a.startsWith("aria-")||a==="role"||a==="title")return!0;return!1},gE=h.createContext({}),xE=()=>h.useContext(gE),yE=h.forwardRef(({color:t,size:a,strokeWidth:r,absoluteStrokeWidth:l,className:c="",children:d,iconNode:p,...x},y)=>{const{size:m=24,strokeWidth:b=2,absoluteStrokeWidth:g=!1,color:S="currentColor",className:j=""}=xE()??{},E=l??g?Number(r??b)*24/Number(a??m):r??b;return h.createElement("svg",{ref:y,...Ff,width:a??m??Ff.width,height:a??m??Ff.height,stroke:t??S,strokeWidth:E,className:r0("lucide",j,c),...!d&&!hE(x)&&{"aria-hidden":"true"},...x},[...p.map(([w,C])=>h.createElement(w,C)),...Array.isArray(d)?d:[d]])});const tt=(t,a)=>{const r=h.forwardRef(({className:l,...c},d)=>h.createElement(yE,{ref:d,iconNode:a,className:r0(`lucide-${mE(cb(t))}`,`lucide-${t}`,l),...c}));return r.displayName=cb(t),r};const bE=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],vE=tt("arrow-up",bE);const SE=[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M16 13h2",key:"weia3s"}],["path",{d:"M16 9h2",key:"1n7gjm"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}],["path",{d:"M6 13h2",key:"1cckiz"}],["path",{d:"M6 9h2",key:"1k7j9f"}]],$m=tt("book-open-text",SE);const NE=[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]],bm=tt("book-open",NE);const jE=[["path",{d:"M16 14v2.2l1.6 1",key:"fo4ql5"}],["path",{d:"M16 2v3",key:"otl347"}],["path",{d:"M21 7.338V5a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2h2.338",key:"7hb8p4"}],["path",{d:"M3 9h5.859",key:"numkqi"}],["path",{d:"M8 2v3",key:"1ioesn"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]],EE=tt("calendar-clock",jE);const TE=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],o0=tt("check",TE);const wE=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],CE=tt("chevron-down",wE);const OE=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Xm=tt("chevron-right",OE);const RE=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],Km=tt("circle-alert",RE);const kE=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Qm=tt("circle-check",kE);const _E=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],AE=tt("circle",_E);const ME=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],DE=tt("download",ME);const zE=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],LE=tt("external-link",zE);const IE=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Zm=tt("eye",IE);const BE=[["path",{d:"M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z",key:"b19h5q"}],["path",{d:"M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z",key:"h7h5ge"}]],UE=tt("fast-forward",BE);const HE=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],l0=tt("grip-vertical",HE);const YE=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],PE=tt("info",YE);const VE=[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]],FE=tt("layout-grid",VE);const qE=[["path",{d:"M11 5h10",key:"1cz7ny"}],["path",{d:"M11 12h10",key:"1438ji"}],["path",{d:"M11 19h10",key:"11t30w"}],["path",{d:"M4 4h1v5",key:"10yrso"}],["path",{d:"M4 9h2",key:"r1h2o0"}],["path",{d:"M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02",key:"xtkcd5"}]],GE=tt("list-ordered",qE);const $E=[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]],XE=tt("list-tree",$E);const KE=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],yr=tt("loader-circle",KE);const QE=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],Gl=tt("message-square",QE);const ZE=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],JE=tt("moon",ZE);const WE=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],e2=tt("network",WE);const t2=[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],n2=tt("octagon-x",t2);const s2=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]],a2=tt("panel-left-close",s2);const r2=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]],o2=tt("panel-left-open",r2);const l2=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]],i2=tt("panel-right-close",l2);const c2=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m10 15-3-3 3-3",key:"1pgupc"}]],u2=tt("panel-right-open",c2);const d2=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],jr=tt("pencil",d2);const f2=[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]],m2=tt("pin",f2);const p2=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],lu=tt("plus",p2);const h2=[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]],g2=tt("puzzle",h2);const x2=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],y2=tt("refresh-cw",x2);const b2=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],v2=tt("rotate-ccw",b2);const S2=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],N2=tt("search",S2);const j2=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],E2=tt("send",j2);const T2=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],w2=tt("settings",T2);const C2=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],iu=tt("sparkles",C2);const O2=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],R2=tt("sun",O2);const k2=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Er=tt("trash-2",k2);const _2=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Jm=tt("triangle-alert",_2);const A2=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],M2=tt("upload",A2);const D2=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],z2=tt("wrench",D2);const L2=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],da=tt("x",L2);function Wm(t){const[a,r]=h.useState(()=>window.matchMedia(t).matches);return h.useEffect(()=>{const l=window.matchMedia(t),c=d=>r(d.matches);return r(l.matches),l.addEventListener("change",c),()=>l.removeEventListener("change",c)},[t]),a}const $l=160,ep=480,Xl=240,tp=720,I2=320,i0="ai-editor:panels",ub=1024,vm=1440;function Kl(t,a,r){return Math.round(Math.min(Math.max(t,a),r))}function Nc(t){const a=Number.isFinite(t)&&t>0?t:vm;return{sidebarWidth:a<ub?$l:Kl(a*.1,$l,ep),chatWidth:a<ub?Xl:Kl(a*.4,Xl,tp),collapsedSidebar:!1,collapsedChat:!1}}function B2(t,a){if(!t)return Nc(a);let r;try{r=JSON.parse(t)}catch{return Nc(a)}if(typeof r!="object"||r===null||Array.isArray(r))return Nc(a);const l=r,c=l.sidebarWidth,d=l.chatWidth;return typeof c!="number"||!Number.isFinite(c)||typeof d!="number"||!Number.isFinite(d)?Nc(a):{sidebarWidth:Kl(c,$l,ep),chatWidth:Kl(d,Xl,tp),collapsedSidebar:l.collapsedSidebar===!0,collapsedChat:l.collapsedChat===!0}}function db(t){return JSON.stringify({sidebarWidth:t.sidebarWidth,chatWidth:t.chatWidth,collapsedSidebar:t.collapsedSidebar,collapsedChat:t.collapsedChat})}function U2(){if(typeof window>"u")return null;try{return window.localStorage.getItem(i0)}catch{return null}}function fb(t){try{window.localStorage.setItem(i0,t)}catch{}}function H2(){if(typeof window>"u")return vm;const t=window.innerWidth;return Number.isFinite(t)&&t>0?t:vm}function Y2(){const[t,a]=h.useState(()=>B2(U2(),H2())),[r,l]=h.useState(null),c=Wm("(min-width: 1024px)"),d=h.useRef(null);h.useEffect(()=>{!c&&d.current!==null&&(d.current=null,l(null))},[c]);function p(g){const S=g.lastX-g.startX,[j,E]=g.side==="sidebar"?[$l,ep]:[Xl,tp],w=g.side==="sidebar"?g.startWidth+S:g.startWidth-S;return Kl(w,j,E)}function x(g,S){const j=g==="sidebar"?t.sidebarWidth:t.chatWidth;d.current={side:g,startX:S,startWidth:j,lastX:S},l(g)}function y(g,S){const j=d.current;if(!j||j.side!==g)return;j.lastX=S;const E=p(j);a(w=>({...w,...g==="sidebar"?{sidebarWidth:E}:{chatWidth:E}}))}function m(){const g=d.current;if(!g)return;const S=p(g);d.current=null,l(null),a(j=>{const E={...j,...g.side==="sidebar"?{sidebarWidth:S}:{chatWidth:S}};return fb(db(E)),E})}function b(g){a(S=>{const j=g==="sidebar"?{...S,collapsedSidebar:!S.collapsedSidebar}:{...S,collapsedChat:!S.collapsedChat};return fb(db(j)),j})}return{layout:t,isDesktop:c,dragSide:r,toggleCollapse:b,startResize:x,moveResize:y,endResize:m}}function c0(t){var a,r,l="";if(typeof t=="string"||typeof t=="number")l+=t;else if(typeof t=="object")if(Array.isArray(t)){var c=t.length;for(a=0;a<c;a++)t[a]&&(r=c0(t[a]))&&(l&&(l+=" "),l+=r)}else for(r in t)t[r]&&(l&&(l+=" "),l+=r);return l}function u0(){for(var t,a,r=0,l="",c=arguments.length;r<c;r++)(t=arguments[r])&&(a=c0(t))&&(l&&(l+=" "),l+=a);return l}const P2=(t,a)=>{const r=new Array(t.length+a.length);for(let l=0;l<t.length;l++)r[l]=t[l];for(let l=0;l<a.length;l++)r[t.length+l]=a[l];return r},V2=(t,a)=>({classGroupId:t,validator:a}),d0=(t=new Map,a=null,r)=>({nextPart:t,validators:a,classGroupId:r}),Gc="-",mb=[],F2="arbitrary..",q2=t=>{const a=$2(t),{conflictingClassGroups:r,conflictingClassGroupModifiers:l}=t;return{getClassGroupId:p=>{if(p.startsWith("[")&&p.endsWith("]"))return G2(p);const x=p.split(Gc),y=x[0]===""&&x.length>1?1:0;return f0(x,y,a)},getConflictingClassGroupIds:(p,x)=>{if(x){const y=l[p],m=r[p];return y?m?P2(m,y):y:m||mb}return r[p]||mb}}},f0=(t,a,r)=>{if(t.length-a===0)return r.classGroupId;const c=t[a],d=r.nextPart.get(c);if(d){const m=f0(t,a+1,d);if(m)return m}const p=r.validators;if(p===null)return;const x=a===0?t.join(Gc):t.slice(a).join(Gc),y=p.length;for(let m=0;m<y;m++){const b=p[m];if(b.validator(x))return b.classGroupId}},G2=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const a=t.slice(1,-1),r=a.indexOf(":"),l=a.slice(0,r);return l?F2+l:void 0})(),$2=t=>{const{theme:a,classGroups:r}=t;return X2(r,a)},X2=(t,a)=>{const r=d0();for(const l in t){const c=t[l];np(c,r,l,a)}return r},np=(t,a,r,l)=>{const c=t.length;for(let d=0;d<c;d++){const p=t[d];K2(p,a,r,l)}},K2=(t,a,r,l)=>{if(typeof t=="string"){Q2(t,a,r);return}if(typeof t=="function"){Z2(t,a,r,l);return}J2(t,a,r,l)},Q2=(t,a,r)=>{const l=t===""?a:m0(a,t);l.classGroupId=r},Z2=(t,a,r,l)=>{if(W2(t)){np(t(l),a,r,l);return}a.validators===null&&(a.validators=[]),a.validators.push(V2(r,t))},J2=(t,a,r,l)=>{const c=Object.entries(t),d=c.length;for(let p=0;p<d;p++){const[x,y]=c[p];np(y,m0(a,x),r,l)}},m0=(t,a)=>{let r=t;const l=a.split(Gc),c=l.length;for(let d=0;d<c;d++){const p=l[d];let x=r.nextPart.get(p);x||(x=d0(),r.nextPart.set(p,x)),r=x}return r},W2=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,eT=t=>{if(t<1)return{get:()=>{},set:()=>{}};let a=0,r=Object.create(null),l=Object.create(null);const c=(d,p)=>{r[d]=p,a++,a>t&&(a=0,l=r,r=Object.create(null))};return{get(d){let p=r[d];if(p!==void 0)return p;if((p=l[d])!==void 0)return c(d,p),p},set(d,p){d in r?r[d]=p:c(d,p)}}},Sm="!",pb=":",tT=[],hb=(t,a,r,l,c)=>({modifiers:t,hasImportantModifier:a,baseClassName:r,maybePostfixModifierPosition:l,isExternal:c}),nT=t=>{const{prefix:a,experimentalParseClassName:r}=t;let l=c=>{const d=[];let p=0,x=0,y=0,m;const b=c.length;for(let w=0;w<b;w++){const C=c[w];if(p===0&&x===0){if(C===pb){d.push(c.slice(y,w)),y=w+1;continue}if(C==="/"){m=w;continue}}C==="["?p++:C==="]"?p--:C==="("?x++:C===")"&&x--}const g=d.length===0?c:c.slice(y);let S=g,j=!1;g.endsWith(Sm)?(S=g.slice(0,-1),j=!0):g.startsWith(Sm)&&(S=g.slice(1),j=!0);const E=m&&m>y?m-y:void 0;return hb(d,j,S,E)};if(a){const c=a+pb,d=l;l=p=>p.startsWith(c)?d(p.slice(c.length)):hb(tT,!1,p,void 0,!0)}if(r){const c=l;l=d=>r({className:d,parseClassName:c})}return l},sT=t=>{const a=new Map;return t.orderSensitiveModifiers.forEach((r,l)=>{a.set(r,1e6+l)}),r=>{const l=[];let c=[];for(let d=0;d<r.length;d++){const p=r[d],x=p[0]==="[",y=a.has(p);x||y?(c.length>0&&(c.sort(),l.push(...c),c=[]),l.push(p)):c.push(p)}return c.length>0&&(c.sort(),l.push(...c)),l}},aT=t=>({cache:eT(t.cacheSize),parseClassName:nT(t),sortModifiers:sT(t),postfixLookupClassGroupIds:rT(t),...q2(t)}),rT=t=>{const a=Object.create(null),r=t.postfixLookupClassGroups;if(r)for(let l=0;l<r.length;l++)a[r[l]]=!0;return a},oT=/\s+/,lT=(t,a)=>{const{parseClassName:r,getClassGroupId:l,getConflictingClassGroupIds:c,sortModifiers:d,postfixLookupClassGroupIds:p}=a,x=[],y=t.trim().split(oT);let m="";for(let b=y.length-1;b>=0;b-=1){const g=y[b],{isExternal:S,modifiers:j,hasImportantModifier:E,baseClassName:w,maybePostfixModifierPosition:C}=r(g);if(S){m=g+(m.length>0?" "+m:m);continue}let N=!!C,T;if(N){const B=w.substring(0,C);T=l(B);const R=T&&p[T]?l(w):void 0;R&&R!==T&&(T=R,N=!1)}else T=l(w);if(!T){if(!N){m=g+(m.length>0?" "+m:m);continue}if(T=l(w),!T){m=g+(m.length>0?" "+m:m);continue}N=!1}const O=j.length===0?"":j.length===1?j[0]:d(j).join(":"),k=E?O+Sm:O,V=k+T;if(x.indexOf(V)>-1)continue;x.push(V);const M=c(T,N);for(let B=0;B<M.length;++B){const R=M[B];x.push(k+R)}m=g+(m.length>0?" "+m:m)}return m},iT=(...t)=>{let a=0,r,l,c="";for(;a<t.length;)(r=t[a++])&&(l=p0(r))&&(c&&(c+=" "),c+=l);return c},p0=t=>{if(typeof t=="string")return t;let a,r="";for(let l=0;l<t.length;l++)t[l]&&(a=p0(t[l]))&&(r&&(r+=" "),r+=a);return r},cT=(t,...a)=>{let r,l,c,d;const p=y=>{const m=a.reduce((b,g)=>g(b),t());return r=aT(m),l=r.cache.get,c=r.cache.set,d=x,x(y)},x=y=>{const m=l(y);if(m)return m;const b=lT(y,r);return c(y,b),b};return d=p,(...y)=>d(iT(...y))},uT=[],on=t=>{const a=r=>r[t]||uT;return a.isThemeGetter=!0,a},h0=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,g0=/^\((?:(\w[\w-]*):)?(.+)\)$/i,dT=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,fT=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,mT=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,pT=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,hT=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,gT=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ba=t=>dT.test(t),lt=t=>!!t&&!Number.isNaN(Number(t)),Es=t=>!!t&&Number.isInteger(Number(t)),qf=t=>t.endsWith("%")&&lt(t.slice(0,-1)),Js=t=>fT.test(t),x0=()=>!0,xT=t=>mT.test(t)&&!pT.test(t),sp=()=>!1,yT=t=>hT.test(t),bT=t=>gT.test(t),vT=t=>!Ye(t)&&!Pe(t),ST=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),NT=t=>qa(t,v0,sp),Ye=t=>h0.test(t),dr=t=>qa(t,S0,xT),gb=t=>qa(t,kT,lt),jT=t=>qa(t,j0,x0),ET=t=>qa(t,N0,sp),xb=t=>qa(t,y0,sp),TT=t=>qa(t,b0,bT),jc=t=>qa(t,E0,yT),Pe=t=>g0.test(t),Ol=t=>Tr(t,S0),wT=t=>Tr(t,N0),yb=t=>Tr(t,y0),CT=t=>Tr(t,v0),OT=t=>Tr(t,b0),Ec=t=>Tr(t,E0,!0),RT=t=>Tr(t,j0,!0),qa=(t,a,r)=>{const l=h0.exec(t);return l?l[1]?a(l[1]):r(l[2]):!1},Tr=(t,a,r=!1)=>{const l=g0.exec(t);return l?l[1]?a(l[1]):r:!1},y0=t=>t==="position"||t==="percentage",b0=t=>t==="image"||t==="url",v0=t=>t==="length"||t==="size"||t==="bg-size",S0=t=>t==="length",kT=t=>t==="number",N0=t=>t==="family-name",j0=t=>t==="number"||t==="weight",E0=t=>t==="shadow",_T=()=>{const t=on("color"),a=on("font"),r=on("text"),l=on("font-weight"),c=on("tracking"),d=on("leading"),p=on("breakpoint"),x=on("container"),y=on("spacing"),m=on("radius"),b=on("shadow"),g=on("inset-shadow"),S=on("text-shadow"),j=on("drop-shadow"),E=on("blur"),w=on("perspective"),C=on("aspect"),N=on("ease"),T=on("animate"),O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],k=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],V=()=>[...k(),Pe,Ye],M=()=>["auto","hidden","clip","visible","scroll"],B=()=>["auto","contain","none"],R=()=>[Pe,Ye,y],K=()=>[Ba,"full","auto",...R()],Q=()=>[Es,"none","subgrid",Pe,Ye],oe=()=>["auto",{span:["full",Es,Pe,Ye]},Es,Pe,Ye],te=()=>[Es,"auto",Pe,Ye],Z=()=>["auto","min","max","fr",Pe,Ye],ne=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],U=()=>["start","end","center","stretch","center-safe","end-safe"],_=()=>["auto",...R()],D=()=>[Ba,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...R()],Y=()=>[Ba,"screen","full","dvw","lvw","svw","min","max","fit",...R()],H=()=>[Ba,"screen","full","lh","dvh","lvh","svh","min","max","fit",...R()],F=()=>[t,Pe,Ye],z=()=>[...k(),yb,xb,{position:[Pe,Ye]}],X=()=>["no-repeat",{repeat:["","x","y","space","round"]}],I=()=>["auto","cover","contain",CT,NT,{size:[Pe,Ye]}],L=()=>[qf,Ol,dr],q=()=>["","none","full",m,Pe,Ye],ee=()=>["",lt,Ol,dr],pe=()=>["solid","dashed","dotted","double"],ae=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],de=()=>[lt,qf,yb,xb],Ie=()=>["","none",E,Pe,Ye],Ae=()=>["none",lt,Pe,Ye],Ce=()=>["none",lt,Pe,Ye],Be=()=>[lt,Pe,Ye],xe=()=>[Ba,"full",...R()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Js],breakpoint:[Js],color:[x0],container:[Js],"drop-shadow":[Js],ease:["in","out","in-out"],font:[vT],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Js],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Js],shadow:[Js],spacing:["px",lt],text:[Js],"text-shadow":[Js],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ba,Ye,Pe,C]}],container:["container"],"container-type":[{"@container":["","normal","size",Pe,Ye]}],"container-named":[ST],columns:[{columns:[lt,Ye,Pe,x]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:V()}],overflow:[{overflow:M()}],"overflow-x":[{"overflow-x":M()}],"overflow-y":[{"overflow-y":M()}],overscroll:[{overscroll:B()}],"overscroll-x":[{"overscroll-x":B()}],"overscroll-y":[{"overscroll-y":B()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:K()}],"inset-x":[{"inset-x":K()}],"inset-y":[{"inset-y":K()}],start:[{"inset-s":K(),start:K()}],end:[{"inset-e":K(),end:K()}],"inset-bs":[{"inset-bs":K()}],"inset-be":[{"inset-be":K()}],top:[{top:K()}],right:[{right:K()}],bottom:[{bottom:K()}],left:[{left:K()}],visibility:["visible","invisible","collapse"],z:[{z:[Es,"auto",Pe,Ye]}],basis:[{basis:[Ba,"full","auto",x,...R()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[lt,Ba,"auto","initial","none",Ye]}],grow:[{grow:["",lt,Pe,Ye]}],shrink:[{shrink:["",lt,Pe,Ye]}],order:[{order:[Es,"first","last","none",Pe,Ye]}],"grid-cols":[{"grid-cols":Q()}],"col-start-end":[{col:oe()}],"col-start":[{"col-start":te()}],"col-end":[{"col-end":te()}],"grid-rows":[{"grid-rows":Q()}],"row-start-end":[{row:oe()}],"row-start":[{"row-start":te()}],"row-end":[{"row-end":te()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Z()}],"auto-rows":[{"auto-rows":Z()}],gap:[{gap:R()}],"gap-x":[{"gap-x":R()}],"gap-y":[{"gap-y":R()}],"justify-content":[{justify:[...ne(),"normal"]}],"justify-items":[{"justify-items":[...U(),"normal"]}],"justify-self":[{"justify-self":["auto",...U()]}],"align-content":[{content:["normal",...ne()]}],"align-items":[{items:[...U(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...U(),{baseline:["","last"]}]}],"place-content":[{"place-content":ne()}],"place-items":[{"place-items":[...U(),"baseline"]}],"place-self":[{"place-self":["auto",...U()]}],p:[{p:R()}],px:[{px:R()}],py:[{py:R()}],ps:[{ps:R()}],pe:[{pe:R()}],pbs:[{pbs:R()}],pbe:[{pbe:R()}],pt:[{pt:R()}],pr:[{pr:R()}],pb:[{pb:R()}],pl:[{pl:R()}],m:[{m:_()}],mx:[{mx:_()}],my:[{my:_()}],ms:[{ms:_()}],me:[{me:_()}],mbs:[{mbs:_()}],mbe:[{mbe:_()}],mt:[{mt:_()}],mr:[{mr:_()}],mb:[{mb:_()}],ml:[{ml:_()}],"space-x":[{"space-x":R()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":R()}],"space-y-reverse":["space-y-reverse"],size:[{size:D()}],"inline-size":[{inline:["auto",...Y()]}],"min-inline-size":[{"min-inline":["auto",...Y()]}],"max-inline-size":[{"max-inline":["none",...Y()]}],"block-size":[{block:["auto",...H()]}],"min-block-size":[{"min-block":["auto",...H()]}],"max-block-size":[{"max-block":["none",...H()]}],w:[{w:[x,"screen",...D()]}],"min-w":[{"min-w":[x,"screen","none",...D()]}],"max-w":[{"max-w":[x,"screen","none","prose",{screen:[p]},...D()]}],h:[{h:["screen","lh",...D()]}],"min-h":[{"min-h":["screen","lh","none",...D()]}],"max-h":[{"max-h":["screen","lh",...D()]}],"font-size":[{text:["base",r,Ol,dr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[l,RT,jT]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",qf,Ye]}],"font-family":[{font:[wT,ET,a]}],"font-features":[{"font-features":[Ye]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[c,Pe,Ye]}],"line-clamp":[{"line-clamp":[lt,"none",Pe,gb]}],leading:[{leading:[d,...R()]}],"list-image":[{"list-image":["none",Pe,Ye]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Pe,Ye]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:F()}],"text-color":[{text:F()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...pe(),"wavy"]}],"text-decoration-thickness":[{decoration:[lt,"from-font","auto",Pe,dr]}],"text-decoration-color":[{decoration:F()}],"underline-offset":[{"underline-offset":[lt,"auto",Pe,Ye]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:R()}],"tab-size":[{tab:[Es,Pe,Ye]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Pe,Ye]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Pe,Ye]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:z()}],"bg-repeat":[{bg:X()}],"bg-size":[{bg:I()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Es,Pe,Ye],radial:["",Pe,Ye],conic:[Es,Pe,Ye]},OT,TT]}],"bg-color":[{bg:F()}],"gradient-from-pos":[{from:L()}],"gradient-via-pos":[{via:L()}],"gradient-to-pos":[{to:L()}],"gradient-from":[{from:F()}],"gradient-via":[{via:F()}],"gradient-to":[{to:F()}],rounded:[{rounded:q()}],"rounded-s":[{"rounded-s":q()}],"rounded-e":[{"rounded-e":q()}],"rounded-t":[{"rounded-t":q()}],"rounded-r":[{"rounded-r":q()}],"rounded-b":[{"rounded-b":q()}],"rounded-l":[{"rounded-l":q()}],"rounded-ss":[{"rounded-ss":q()}],"rounded-se":[{"rounded-se":q()}],"rounded-ee":[{"rounded-ee":q()}],"rounded-es":[{"rounded-es":q()}],"rounded-tl":[{"rounded-tl":q()}],"rounded-tr":[{"rounded-tr":q()}],"rounded-br":[{"rounded-br":q()}],"rounded-bl":[{"rounded-bl":q()}],"border-w":[{border:ee()}],"border-w-x":[{"border-x":ee()}],"border-w-y":[{"border-y":ee()}],"border-w-s":[{"border-s":ee()}],"border-w-e":[{"border-e":ee()}],"border-w-bs":[{"border-bs":ee()}],"border-w-be":[{"border-be":ee()}],"border-w-t":[{"border-t":ee()}],"border-w-r":[{"border-r":ee()}],"border-w-b":[{"border-b":ee()}],"border-w-l":[{"border-l":ee()}],"divide-x":[{"divide-x":ee()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ee()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...pe(),"hidden","none"]}],"divide-style":[{divide:[...pe(),"hidden","none"]}],"border-color":[{border:F()}],"border-color-x":[{"border-x":F()}],"border-color-y":[{"border-y":F()}],"border-color-s":[{"border-s":F()}],"border-color-e":[{"border-e":F()}],"border-color-bs":[{"border-bs":F()}],"border-color-be":[{"border-be":F()}],"border-color-t":[{"border-t":F()}],"border-color-r":[{"border-r":F()}],"border-color-b":[{"border-b":F()}],"border-color-l":[{"border-l":F()}],"divide-color":[{divide:F()}],"outline-style":[{outline:[...pe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[lt,Pe,Ye]}],"outline-w":[{outline:["",lt,Ol,dr]}],"outline-color":[{outline:F()}],shadow:[{shadow:["","none",b,Ec,jc]}],"shadow-color":[{shadow:F()}],"inset-shadow":[{"inset-shadow":["none",g,Ec,jc]}],"inset-shadow-color":[{"inset-shadow":F()}],"ring-w":[{ring:ee()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:F()}],"ring-offset-w":[{"ring-offset":[lt,dr]}],"ring-offset-color":[{"ring-offset":F()}],"inset-ring-w":[{"inset-ring":ee()}],"inset-ring-color":[{"inset-ring":F()}],"text-shadow":[{"text-shadow":["none",S,Ec,jc]}],"text-shadow-color":[{"text-shadow":F()}],opacity:[{opacity:[lt,Pe,Ye]}],"mix-blend":[{"mix-blend":[...ae(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ae()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[lt]}],"mask-image-linear-from-pos":[{"mask-linear-from":de()}],"mask-image-linear-to-pos":[{"mask-linear-to":de()}],"mask-image-linear-from-color":[{"mask-linear-from":F()}],"mask-image-linear-to-color":[{"mask-linear-to":F()}],"mask-image-t-from-pos":[{"mask-t-from":de()}],"mask-image-t-to-pos":[{"mask-t-to":de()}],"mask-image-t-from-color":[{"mask-t-from":F()}],"mask-image-t-to-color":[{"mask-t-to":F()}],"mask-image-r-from-pos":[{"mask-r-from":de()}],"mask-image-r-to-pos":[{"mask-r-to":de()}],"mask-image-r-from-color":[{"mask-r-from":F()}],"mask-image-r-to-color":[{"mask-r-to":F()}],"mask-image-b-from-pos":[{"mask-b-from":de()}],"mask-image-b-to-pos":[{"mask-b-to":de()}],"mask-image-b-from-color":[{"mask-b-from":F()}],"mask-image-b-to-color":[{"mask-b-to":F()}],"mask-image-l-from-pos":[{"mask-l-from":de()}],"mask-image-l-to-pos":[{"mask-l-to":de()}],"mask-image-l-from-color":[{"mask-l-from":F()}],"mask-image-l-to-color":[{"mask-l-to":F()}],"mask-image-x-from-pos":[{"mask-x-from":de()}],"mask-image-x-to-pos":[{"mask-x-to":de()}],"mask-image-x-from-color":[{"mask-x-from":F()}],"mask-image-x-to-color":[{"mask-x-to":F()}],"mask-image-y-from-pos":[{"mask-y-from":de()}],"mask-image-y-to-pos":[{"mask-y-to":de()}],"mask-image-y-from-color":[{"mask-y-from":F()}],"mask-image-y-to-color":[{"mask-y-to":F()}],"mask-image-radial":[{"mask-radial":[Pe,Ye]}],"mask-image-radial-from-pos":[{"mask-radial-from":de()}],"mask-image-radial-to-pos":[{"mask-radial-to":de()}],"mask-image-radial-from-color":[{"mask-radial-from":F()}],"mask-image-radial-to-color":[{"mask-radial-to":F()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":k()}],"mask-image-conic-pos":[{"mask-conic":[lt]}],"mask-image-conic-from-pos":[{"mask-conic-from":de()}],"mask-image-conic-to-pos":[{"mask-conic-to":de()}],"mask-image-conic-from-color":[{"mask-conic-from":F()}],"mask-image-conic-to-color":[{"mask-conic-to":F()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:z()}],"mask-repeat":[{mask:X()}],"mask-size":[{mask:I()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Pe,Ye]}],filter:[{filter:["","none",Pe,Ye]}],blur:[{blur:Ie()}],brightness:[{brightness:[lt,Pe,Ye]}],contrast:[{contrast:[lt,Pe,Ye]}],"drop-shadow":[{"drop-shadow":["","none",j,Ec,jc]}],"drop-shadow-color":[{"drop-shadow":F()}],grayscale:[{grayscale:["",lt,Pe,Ye]}],"hue-rotate":[{"hue-rotate":[lt,Pe,Ye]}],invert:[{invert:["",lt,Pe,Ye]}],saturate:[{saturate:[lt,Pe,Ye]}],sepia:[{sepia:["",lt,Pe,Ye]}],"backdrop-filter":[{"backdrop-filter":["","none",Pe,Ye]}],"backdrop-blur":[{"backdrop-blur":Ie()}],"backdrop-brightness":[{"backdrop-brightness":[lt,Pe,Ye]}],"backdrop-contrast":[{"backdrop-contrast":[lt,Pe,Ye]}],"backdrop-grayscale":[{"backdrop-grayscale":["",lt,Pe,Ye]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[lt,Pe,Ye]}],"backdrop-invert":[{"backdrop-invert":["",lt,Pe,Ye]}],"backdrop-opacity":[{"backdrop-opacity":[lt,Pe,Ye]}],"backdrop-saturate":[{"backdrop-saturate":[lt,Pe,Ye]}],"backdrop-sepia":[{"backdrop-sepia":["",lt,Pe,Ye]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":R()}],"border-spacing-x":[{"border-spacing-x":R()}],"border-spacing-y":[{"border-spacing-y":R()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Pe,Ye]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[lt,"initial",Pe,Ye]}],ease:[{ease:["linear","initial",N,Pe,Ye]}],delay:[{delay:[lt,Pe,Ye]}],animate:[{animate:["none",T,Pe,Ye]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,Pe,Ye]}],"perspective-origin":[{"perspective-origin":V()}],rotate:[{rotate:Ae()}],"rotate-x":[{"rotate-x":Ae()}],"rotate-y":[{"rotate-y":Ae()}],"rotate-z":[{"rotate-z":Ae()}],scale:[{scale:Ce()}],"scale-x":[{"scale-x":Ce()}],"scale-y":[{"scale-y":Ce()}],"scale-z":[{"scale-z":Ce()}],"scale-3d":["scale-3d"],skew:[{skew:Be()}],"skew-x":[{"skew-x":Be()}],"skew-y":[{"skew-y":Be()}],transform:[{transform:[Pe,Ye,"","none","gpu","cpu"]}],"transform-origin":[{origin:V()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:xe()}],"translate-x":[{"translate-x":xe()}],"translate-y":[{"translate-y":xe()}],"translate-z":[{"translate-z":xe()}],"translate-none":["translate-none"],zoom:[{zoom:[Es,Pe,Ye]}],accent:[{accent:F()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:F()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Pe,Ye]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":F()}],"scrollbar-track-color":[{"scrollbar-track":F()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":R()}],"scroll-mx":[{"scroll-mx":R()}],"scroll-my":[{"scroll-my":R()}],"scroll-ms":[{"scroll-ms":R()}],"scroll-me":[{"scroll-me":R()}],"scroll-mbs":[{"scroll-mbs":R()}],"scroll-mbe":[{"scroll-mbe":R()}],"scroll-mt":[{"scroll-mt":R()}],"scroll-mr":[{"scroll-mr":R()}],"scroll-mb":[{"scroll-mb":R()}],"scroll-ml":[{"scroll-ml":R()}],"scroll-p":[{"scroll-p":R()}],"scroll-px":[{"scroll-px":R()}],"scroll-py":[{"scroll-py":R()}],"scroll-ps":[{"scroll-ps":R()}],"scroll-pe":[{"scroll-pe":R()}],"scroll-pbs":[{"scroll-pbs":R()}],"scroll-pbe":[{"scroll-pbe":R()}],"scroll-pt":[{"scroll-pt":R()}],"scroll-pr":[{"scroll-pr":R()}],"scroll-pb":[{"scroll-pb":R()}],"scroll-pl":[{"scroll-pl":R()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Pe,Ye]}],fill:[{fill:["none",...F()]}],"stroke-w":[{stroke:[lt,Ol,dr,gb]}],stroke:[{stroke:["none",...F()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},AT=cT(_T);function ge(...t){return AT(u0(t))}const Ll="flex shrink-0 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",Il={bar:"h-8 w-6",sm:"size-7",md:"size-8"},MT="disabled:pointer-events-none disabled:opacity-50",Bt="rounded-md border border-border bg-background px-3 py-1.5 text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/50",Mo="rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive",jt="animate-pulse rounded bg-muted",T0="rounded-xl border border-border bg-card p-4",bb=t=>{let a;const r=new Set,l=(m,b)=>{const g=typeof m=="function"?m(a):m;if(!Object.is(g,a)){const S=a;a=b??(typeof g!="object"||g===null)?g:Object.assign({},a,g),r.forEach(j=>j(a,S))}},c=()=>a,x={setState:l,getState:c,getInitialState:()=>y,subscribe:m=>(r.add(m),()=>r.delete(m))},y=a=t(l,c,x);return x},DT=(t=>t?bb(t):bb),zT=t=>t;function LT(t,a=zT){const r=De.useSyncExternalStore(t.subscribe,De.useCallback(()=>a(t.getState()),[t,a]),De.useCallback(()=>a(t.getInitialState()),[t,a]));return De.useDebugValue(r),r}const vb=t=>{const a=DT(t),r=l=>LT(a,l);return Object.assign(r,a),r},ap=(t=>t?vb(t):vb),IT="/api/v1",ot="CLIENT_NETWORK_ERROR";class ke extends Error{code;constructor(a,r){super(r),this.name="ApiError",this.code=a}}function BT(t){const a=new URLSearchParams;for(const[l,c]of Object.entries(t))c!=null&&a.set(l,String(c));const r=a.toString();return r?`?${r}`:""}function w0(t,a){const r=t.startsWith("/")?t:`/${t}`;return`${IT}${r}${BT(a??{})}`}function UT(t){return typeof t=="object"&&t!==null&&t.success===!0}function C0(t){if(typeof t!="object"||t===null)return!1;const a=t.error;return t.success===!1&&typeof a=="object"&&a!==null&&typeof a.code=="string"&&typeof a.message=="string"}async function at(t,a={}){const{method:r="GET",body:l,query:c,headers:d,signal:p}=a;let x;try{x=await fetch(w0(t,c),{method:r,headers:l===void 0||l instanceof FormData?d:{"Content-Type":"application/json",...d},body:l===void 0?void 0:l instanceof FormData?l:JSON.stringify(l),signal:p})}catch(m){throw new ke(ot,m instanceof Error?m.message:"网络请求失败")}const y=await x.json().catch(()=>null);if(UT(y))return y.data;throw C0(y)?new ke(y.error.code,y.error.message):new ke(ot,`非预期响应(HTTP ${x.status})`)}function HT(){return at("/project/config")}function YT(t){return at("/project/config",{method:"PUT",body:t})}function PT(){return at("/outline")}function VT(t){return at("/outline",{method:"POST",body:t})}function O0(t,a){return at(`/outline/${t}`,{method:"PUT",body:a})}function Sb(t,a){return at(`/outline/${t}/move`,{method:"PUT",body:a})}function FT(t){return at(`/outline/${t}`,{method:"DELETE"})}function qT(){return at("/trash")}function GT(t,a){return at(`/trash/entity/${t}/${a}/restore`,{method:"POST"})}function $T(t,a){return at(`/trash/entity/${t}/${a}`,{method:"DELETE"})}function Nb(t){return at(`/trash/outline/${t}/restore`,{method:"POST"})}function XT(t){return at(`/trash/outline/${t}`,{method:"DELETE"})}function Sn(t,a={}){return at(`/entity/${t}`,{query:a})}function ta(t,a){return at(`/entity/${t}/${a}`)}function Ql(t,a){return at(`/entity/${t}`,{method:"POST",body:a})}function la(t,a,r){return at(`/entity/${t}/${a}`,{method:"PUT",body:r})}function Do(t,a){return at(`/entity/${t}/${a}`,{method:"DELETE"})}function KT(t,a){return at(`/entity/event/${t}/move`,{method:"PUT",body:a})}function QT(t,a){return at(`/entity/timepoint/${t}/move`,{method:"PUT",body:a})}function R0(t,a){return at(`/entity/event/${t}/move_to`,{method:"POST",body:a})}function Oo(t){return at("/relation",{query:{source_type:t.source_type,source_id:t.source_id,target_type:t.target_type,target_id:t.target_id,relation_type:t.relation_type,depth:t.depth}})}function Pa(t){return at("/relation",{method:"POST",body:t})}function Yl(t){return at(`/relation/${t}`,{method:"DELETE"})}function ZT(t){return at(`/delta/node/${t}`)}function JT(t){return at("/delta/compute",{method:"POST",body:t})}function rp(t){return at("/delta",{method:"POST",body:t})}function WT(){return at("/project/list")}function ew(t,a){return at("/project/create",{method:"POST",body:{path:t,...a!==void 0?{config:a}:{}}})}function tw(t){return at("/project/open",{method:"POST",body:{path:t}})}function nw(){return at("/project/close",{method:"POST"})}function sw(t){if(t!==null){const a=/filename\*\s*=\s*UTF-8''([^;]+)/i.exec(t);if(a)try{return decodeURIComponent(a[1])}catch{}const r=/filename\s*=\s*"?([^";]+)"?/i.exec(t);if(r)return r[1]}return"project.zip"}async function aw(){let t;try{t=await fetch(w0("/project/export"))}catch(r){throw new ke(ot,r instanceof Error?r.message:"网络请求失败")}const a=t.headers.get("content-type")??"";if(t.ok&&(a.includes("zip")||a.includes("octet-stream")))return{blob:await t.blob(),filename:sw(t.headers.get("content-disposition"))};if(a.includes("application/json")){const r=await t.json().catch(()=>null);if(C0(r))throw new ke(r.error.code,r.error.message)}throw new ke(ot,`非预期响应(HTTP ${t.status})`)}async function rw(t,a){const r=new FormData;return r.append("file",t,"backup.zip"),r.append("name",a),at("/project/import",{method:"POST",body:r})}function ow(){return at("/project/backups")}function lw(t){return at("/project/backup",{method:"POST",...t!==void 0?{body:{name:t}}:{}})}function iw(t){return at("/project/backup/restore",{method:"POST",body:{fileName:t}})}function cw(t,a){const r=a?.trim()??"";return at("/project/backup/rename",{method:"POST",body:{fileName:t,name:r}})}function uw(t){return at("/project/rename",{method:"POST",body:{name:t}})}function k0(){return at("/settings/llm")}function Pl(t){return at("/settings/llm",{method:"PUT",body:t})}function dw(){return at("/chat/sessions").then(t=>t.sessions)}function fw(t){return at(`/chat/sessions/${t}/messages`)}function mw(t){return at(`/proposal/${t}/confirm`,{method:"POST"})}function pw(t){return at(`/proposal/${t}/reject`,{method:"POST"})}const Nm=3e3;let hw=0;const Ee=ap((t,a)=>({error:null,showError:(r,l)=>t({error:{code:r,message:l}}),clearError:()=>t({error:null}),toast:null,showToast:(r,l="success")=>{const c=++hw;t({toast:{id:c,kind:l,text:r}}),setTimeout(()=>{t(d=>d.toast?.id===c?{toast:null}:{})},Nm)},clearToast:()=>t({toast:null}),confirmState:null,confirm:r=>new Promise(l=>{t({confirmState:{...r,resolve:l}})}),resolveConfirm:r=>{const l=a().confirmState;l&&(l.resolve(r),t({confirmState:null}))},focusOutlineNodeId:null,setFocusOutlineNode:r=>t({focusOutlineNodeId:r}),clearFocusOutlineNode:()=>t({focusOutlineNodeId:null}),currentFocus:null,setCurrentFocus:r=>t({currentFocus:r}),clearCurrentFocus:()=>t({currentFocus:null}),dataVersion:0,notifyDataChanged:()=>t(r=>({dataVersion:r.dataVersion+1}))})),Le=ap((t,a)=>({config:null,configLoading:!1,loadError:null,outline:null,outlineLoading:!1,bookshelf:null,bookshelfLoading:!1,bookshelfError:null,loadConfig:async()=>{if(!a().configLoading){t({configLoading:!0});try{const r=await HT();t({config:r,loadError:null})}catch(r){const l=r instanceof ke?r.code:"CLIENT_NETWORK_ERROR";t({config:null,loadError:l})}finally{t({configLoading:!1})}}},updateConfig:async r=>{await YT(r),await a().loadConfig()},loadOutline:async()=>{if(!a().outlineLoading){t({outlineLoading:!0});try{const r=await PT();t({outline:r})}catch{t({outline:null})}finally{t({outlineLoading:!1})}}},loadBookshelf:async()=>{if(!a().bookshelfLoading){t({bookshelfLoading:!0});try{const r=await WT();t({bookshelf:r,bookshelfError:null})}catch(r){const l=r instanceof ke?r.code:"CLIENT_NETWORK_ERROR";t({bookshelf:null,bookshelfError:l})}finally{t({bookshelfLoading:!1})}}},openProjectAt:async r=>{const l=await tw(r);t({config:l.config,loadError:null}),Ee.getState().clearFocusOutlineNode(),l.rebuilt?Ee.getState().showToast(`项目已按新版本重建${l.fromVersion!==void 0?`(v${l.fromVersion})`:""},备份已保留`):l.migrated&&Ee.getState().showToast(`项目数据已自动升级${l.fromVersion!==void 0?`(v${l.fromVersion} → 当前版本)`:""},快照已保留`),await a().loadOutline()},createProjectAt:async(r,l)=>{await ew(r,l),await a().openProjectAt(r)},closeProject:async()=>{await nw(),t({config:null,loadError:null,outline:null}),Ee.getState().clearFocusOutlineNode()}}));function _0(t,a){if(t.id===a)return t;if("children"in t&&t.children)for(const r of t.children){const l=_0(r,a);if(l)return l}return null}function A0(t,a){if(!t||!a)return null;for(const r of t.children){const l=_0(r,a);if(l)return l.title}return null}function M0(t,a){return`${t.replace(/\/+$/,"")}/books/${a.trim()}`}const gw="[DONE]",xw=6e4;function yw(t){const a=[];let r=t,l;for(;(l=r.indexOf(`
10
-
11
- `))!==-1;)a.push(r.slice(0,l)),r=r.slice(l+2);return{frames:a,rest:r}}function jb(t){let a="message";const r=[];for(const l of t.split(`
12
- `))if(!(l===""||l.startsWith(":"))){if(l.startsWith("event:"))a=l.slice(6).trim();else if(l.startsWith("data:")){let c=l.slice(5);c.startsWith(" ")&&(c=c.slice(1)),r.push(c)}}return r.length===0?null:{event:a,data:r.join(`
13
- `)}}function Eb(t){if(typeof t!="object"||t===null)return!1;const a=t.error;return typeof a=="object"&&a!==null&&typeof a.code=="string"&&typeof a.message=="string"}function bw(t,a){const{onEvent:r,timeoutMs:l=xw,onTimeout:c,onEnd:d,signal:p,body:x}=a,y=new AbortController,m=()=>y.abort();p&&(p.aborted?y.abort():p.addEventListener("abort",m));let b="",g=!1,S=!1,j=!1,E=!1,w=null;const C=()=>{w!==null&&(clearTimeout(w),w=null)},N=()=>{C(),w=setTimeout(()=>{g||(S=!0,g=!0,c?.(),y.abort())},l)},T=O=>{if(O.data===gw)return!1;let k=O.data;try{k=JSON.parse(O.data)}catch{}return r(O.event,k),O.event!=="error"};return N(),(async()=>{try{const O=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:x===void 0?void 0:JSON.stringify(x),signal:y.signal});if(!O.ok||!O.body){const M=await O.json().catch(()=>null),B=Eb(M)?M.error.code:ot,R=Eb(M)?M.error.message:`SSE 请求失败(HTTP ${O.status})`;g=!0,E=!0,r("error",{code:B,message:R});return}const k=O.body.getReader(),V=new TextDecoder;for(;!g;){const{done:M,value:B}=await k.read();if(M)break;b=(b+V.decode(B,{stream:!0})).replace(/\r\n/g,`
14
- `);const{frames:R,rest:K}=yw(b);b=K;for(const Q of R){const oe=jb(Q);if(oe){if(!T(oe)){g=!0;break}N()}}}if(!g&&b.trim()!==""){const M=jb(b.trim());M&&!T(M)&&(g=!0)}}catch{!S&&!j&&(g=!0,E=!0,r("error",{code:ot,message:"网络请求失败"}))}finally{C(),p&&p.removeEventListener("abort",m),g=!0,!S&&!j&&!E&&d?.()}})(),()=>{g||(j=!0,g=!0,C(),y.abort())}}function vw(t,a){return a.includes("HTTP 404")?"聊天服务暂不可用":t==="CLIENT_NETWORK_ERROR"&&!a.includes("HTTP ")?"连接失败,请确认服务已启动":a}function Sw(t,a){switch(t){case"INTERNAL_ERROR":return"提案执行失败,请让 AI 重新生成提案";case"CLIENT_NETWORK_ERROR":return"网络请求失败,请重试";default:return a}}let go=0,xo=0,Tb=0,fr=null,Ts=null,yo=null;const st=ap((t,a)=>{const r=async(l,c,d)=>{const p=a().proposals.find(x=>x.proposalId===l);if(!(!p||p.status!=="pending"||p.processing===!0)){t(x=>({proposals:x.proposals.map(y=>y.proposalId===l?{...y,processing:!0}:y)}));try{await c(l),t(x=>({proposals:x.proposals.map(y=>y.proposalId===l?{...y,status:d,processing:!1}:y)})),d==="confirmed"&&Ee.getState().notifyDataChanged()}catch(x){const y=x instanceof ke?x.code:"CLIENT_NETWORK_ERROR",m=x instanceof Error?x.message:"网络请求失败";switch(y){case"PROPOSAL_STALE":t(b=>({proposals:b.proposals.map(g=>g.proposalId===l?{...g,status:"stale",processing:!1}:g)}));return;case"PROPOSAL_NOT_FOUND":case"PROPOSAL_PROJECT_MISMATCH":t(b=>({proposals:b.proposals.filter(g=>g.proposalId!==l)}));return;default:Ee.getState().showToast(Sw(y,m),"error"),t(b=>({proposals:b.proposals.map(g=>g.proposalId===l?{...g,processing:!1}:g)}));return}}}};return{sessions:null,sessionsLoading:!1,sessionsError:null,currentSessionId:null,messages:[],messagesLoading:!1,loadSessions:async()=>{if(a().sessionsLoading)return;const l=++go;t({sessionsLoading:!0});try{const c=await dw();if(l!==go)return;t({sessions:c,sessionsError:null}),a().currentSessionId===null&&c.length>0&&a().setCurrentSession(c[0].id)}catch(c){if(l!==go)return;const d=c instanceof ke?c.code:"CLIENT_NETWORK_ERROR";t({sessions:null,sessionsError:d})}finally{l===go&&t({sessionsLoading:!1})}},setCurrentSession:l=>{l!==a().currentSessionId&&(xo++,fr?.(),fr=null,Ts=null,yo=null,t({currentSessionId:l,messages:[],messagesLoading:!1,streaming:!1,streamError:null,disconnected:!1,focusContext:null,proposals:[],streamTools:[]}),l!==null&&a().loadMessages(l))},newSession:()=>{go++,a().setCurrentSession(null)},clearSessions:()=>{go++,xo++,fr?.(),fr=null,Ts=null,yo=null,t({sessions:null,sessionsLoading:!1,sessionsError:null,currentSessionId:null,messages:[],messagesLoading:!1,streaming:!1,streamError:null,disconnected:!1,focusContext:null,proposals:[],streamTools:[]})},loadMessages:async l=>{const c=++xo;t({messagesLoading:!0});try{const d=await fw(l);if(c!==xo)return;const p=d.messages.map(x=>({...x,sessionId:d.sessionId}));t({messages:p})}catch{if(c!==xo)return;t({messages:[]})}finally{c===xo&&t({messagesLoading:!1})}},streaming:!1,streamError:null,setStreamError:l=>t({streamError:l}),focusContext:null,setFocusContext:l=>t({focusContext:l}),clearFocusContext:()=>t({focusContext:null}),lastUsage:null,setLastUsage:l=>t({lastUsage:l}),focusInputSeq:0,requestFocusInput:()=>t(l=>({focusInputSeq:l.focusInputSeq+1})),disconnected:!1,setDisconnected:l=>t({disconnected:l}),proposals:[],streamTools:[],sendMessage:l=>{const{streaming:c,messagesLoading:d,currentSessionId:p,focusContext:x}=a(),y=l.trim();if(!y||c||d)return;fr?.(),fr=null;const m=new Date().toISOString(),b=p??"",g=`local-${++Tb}`;Ts=g,yo=y,t(j=>({messages:[...j.messages,{id:`local-${++Tb}`,sessionId:b,role:"user",content:y,createdAt:m},{id:g,sessionId:b,role:"assistant",content:"",createdAt:m}],streaming:!0,streamError:null,disconnected:!1,proposals:[],streamTools:[]}));const S={message:y};p&&(S.session_id=p),x&&(S.context=x),fr=bw("/api/v1/chat",{body:S,onEvent:(j,E)=>{switch(j){case"ping":break;case"text":{const w=E?.delta??"";Ts&&t(C=>({messages:C.messages.map(N=>N.id===Ts?{...N,content:(N.content??"")+w}:N)}));break}case"tool_call":{const{tool:w,args:C,id:N}=E;if(!N||!w)break;t(T=>({streamTools:[...T.streamTools,{id:N,tool:w,args:C,status:"running"}]}));break}case"tool_result":{const{id:w}=E;if(!w)break;t(C=>({streamTools:C.streamTools.map(N=>N.id===w?{...N,result:E.result,status:"ok"}:N)}));break}case"proposal":{const{proposal_id:w,type:C,preview:N}=E;if(!w||!C)break;t(T=>({proposals:[...T.proposals,{proposalId:w,type:C,preview:N,status:"pending"}]}));break}case"done":{if(Ts===null)break;const w=E?.session_id,C=E?.usage;t({streaming:!1,currentSessionId:w??a().currentSessionId}),C!==void 0&&a().setLastUsage({prompt_tokens:C.prompt_tokens??0,completion_tokens:C.completion_tokens??0,total_tokens:C.total_tokens??0}),w&&a().loadSessions();break}case"error":{const{code:w,message:C}=E;t({streaming:!1,streamError:vw(w??"",C??"")});break}}},onTimeout:()=>{Ts===g&&(Ts=null,t({streaming:!1,disconnected:!0,proposals:[],streamTools:[]}))},onEnd:()=>{Ts===g&&(Ts=null,t(j=>j.streaming?{streaming:!1}:{}))}})},resendLast:()=>{const{messages:l,streaming:c}=a();if(c||!yo)return;let d=l;d[d.length-1]?.role==="assistant"&&(d=d.slice(0,-1));const x=d[d.length-1];x?.role==="user"&&x.content===yo&&(d=d.slice(0,-1)),t({messages:d}),a().sendMessage(yo)},confirmProposal:l=>r(l,mw,"confirmed"),rejectProposal:l=>r(l,pw,"rejected")}});let wb=Le.getState().config?.id??null;Le.subscribe(t=>{const a=t.config?.id??null;a!==wb&&(wb=a,st.getState().clearSessions(),a!==null&&st.getState().loadSessions())});function cu(){return typeof window<"u"}function Nn(t){return op(t)?(t.nodeName||"").toLowerCase():"#document"}function Qt(t){var a;return(t==null||(a=t.ownerDocument)==null?void 0:a.defaultView)||window}function fa(t){var a;return(a=(op(t)?t.ownerDocument:t.document)||window.document)==null?void 0:a.documentElement}function op(t){return cu()?t instanceof Node||t instanceof Qt(t).Node:!1}function pt(t){return cu()?t instanceof Element||t instanceof Qt(t).Element:!1}function Ut(t){return cu()?t instanceof HTMLElement||t instanceof Qt(t).HTMLElement:!1}function Ro(t){return!cu()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Qt(t).ShadowRoot}function wr(t){const{overflow:a,overflowX:r,overflowY:l,display:c}=$n(t);return/auto|scroll|overlay|hidden|clip/.test(a+l+r)&&c!=="inline"&&c!=="contents"}function Nw(t){return/^(table|td|th)$/.test(Nn(t))}function uu(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const jw=/transform|translate|scale|rotate|perspective|filter/,Ew=/paint|layout|strict|content/,mr=t=>!!t&&t!=="none";let Gf;function lp(t){const a=pt(t)?$n(t):t;return mr(a.transform)||mr(a.translate)||mr(a.scale)||mr(a.rotate)||mr(a.perspective)||!ip()&&(mr(a.backdropFilter)||mr(a.filter))||jw.test(a.willChange||"")||Ew.test(a.contain||"")}function Tw(t){let a=ia(t);for(;Ut(a)&&!na(a);){if(lp(a))return a;if(uu(a))return null;a=ia(a)}return null}function ip(){return Gf==null&&(Gf=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Gf}function na(t){return/^(html|body|#document)$/.test(Nn(t))}function $n(t){return Qt(t).getComputedStyle(t)}function du(t){return pt(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function ia(t){if(Nn(t)==="html")return t;const a=t.assignedSlot||t.parentNode||Ro(t)&&t.host||fa(t);return Ro(a)?a.host:a}function D0(t){const a=ia(t);return na(a)?(t.ownerDocument||t).body:Ut(a)&&wr(a)?a:D0(a)}function Zl(t,a,r){var l;a===void 0&&(a=[]),r===void 0&&(r=!0);const c=D0(t),d=c===((l=t.ownerDocument)==null?void 0:l.body),p=Qt(c);if(d){const x=jm(p);return a.concat(p,p.visualViewport||[],wr(c)?c:[],x&&r?Zl(x):[])}else return a.concat(c,Zl(c,[],r))}function jm(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}const cp={...sE},Cb={};function In(t,a){const r=h.useRef(Cb);return r.current===Cb&&(r.current=t(a)),r}const $f=cp.useInsertionEffect,ww=$f&&$f!==cp.useLayoutEffect?$f:t=>t();function We(t){const a=In(Cw).current;return a.next=t,ww(a.effect),a.trampoline}function Cw(){const t={next:void 0,callback:Ow,trampoline:(...a)=>t.callback?.(...a),effect:()=>{t.callback=t.next}};return t}function Ow(){}const Rw=()=>{},Xe=typeof document<"u"?h.useLayoutEffect:Rw;function Em(t,a){if(t&&!a)return t;if(!t&&a)return a;if(t||a)return{...t,...a}}const up={};function sa(t,a,r,l,c){if(!r&&!l&&!c&&!t)return $c(a);let d=$c(t);return a&&(d=Bl(d,a)),r&&(d=Bl(d,r)),l&&(d=Bl(d,l)),c&&(d=Bl(d,c)),d}function kw(t){if(t.length===0)return up;if(t.length===1)return $c(t[0]);let a=$c(t[0]);for(let r=1;r<t.length;r+=1)a=Bl(a,t[r]);return a}function $c(t){return dp(t)?{...L0(t,up)}:_w(t)}function Bl(t,a){return dp(a)?L0(a,t):Aw(t,a)}function _w(t){const a={...t};for(const r in a){const l=a[r];z0(r,l)&&(a[r]=I0(l))}return a}function Aw(t,a){if(!a)return t;for(const r in a){const l=a[r];switch(r){case"style":{t[r]=Em(t.style,l);break}case"className":{t[r]=B0(t.className,l);break}default:z0(r,l)?t[r]=Mw(t[r],l):t[r]=l}}return t}function z0(t,a){const r=t.charCodeAt(0),l=t.charCodeAt(1),c=t.charCodeAt(2);return r===111&&l===110&&c>=65&&c<=90&&(typeof a=="function"||typeof a>"u")}function dp(t){return typeof t=="function"}function L0(t,a){return dp(t)?t(a):t??up}function Mw(t,a){return a?t?(...r)=>{const l=r[0];if(U0(l)){const d=l;Xc(d);const p=a(...r);return d.baseUIHandlerPrevented||t?.(...r),p}const c=a(...r);return t?.(...r),c}:I0(a):t}function I0(t){return t&&((...a)=>{const r=a[0];return U0(r)&&Xc(r),t(...a)})}function Xc(t){return t.preventBaseUIHandler=()=>{t.baseUIHandlerPrevented=!0},t}function B0(t,a){return a?t?a+" "+t:a:t}function U0(t){return t!=null&&typeof t=="object"&&"nativeEvent"in t}function Dw(t,a){return function(l,...c){const d=new URL(t);return d.searchParams.set("code",l.toString()),c.forEach(p=>d.searchParams.append("args[]",p)),`${a} error #${l}; visit ${d} for the full message.`}}const Tn=Dw("https://base-ui.com/production-error","Base UI"),zw=h.createContext(void 0);function fp(t=!1){const a=h.useContext(zw);if(a===void 0&&!t)throw new Error(Tn(16));return a}function Lw(t){const{focusableWhenDisabled:a,disabled:r,composite:l=!1,tabIndex:c=0,isNativeButton:d}=t,p=l&&a!==!1,x=l&&a===!1;return{props:h.useMemo(()=>{const m={onKeyDown(b){r&&a&&b.key!=="Tab"&&b.preventDefault()}};return l||(m.tabIndex=c,!d&&r&&(m.tabIndex=a?c:-1)),(d&&(a||p)||!d&&r)&&(m["aria-disabled"]=r),d&&(!a||x)&&(m.disabled=r),m},[l,r,a,p,x,d,c])}}function ai(t={}){const{disabled:a=!1,focusableWhenDisabled:r,tabIndex:l=0,native:c=!0,composite:d}=t,p=h.useRef(null),x=fp(!0),y=d??x!==void 0,{props:m}=Lw({focusableWhenDisabled:r,disabled:a,composite:y,tabIndex:l,isNativeButton:c}),b=h.useCallback(()=>{const j=p.current;Xf(j)&&y&&a&&m.disabled===void 0&&j.disabled&&(j.disabled=!1)},[a,m.disabled,y]);Xe(b,[b]);const g=h.useCallback((j={})=>{const{onClick:E,onMouseDown:w,onKeyUp:C,onKeyDown:N,onPointerDown:T,...O}=j;return sa({onClick(k){if(a){k.preventDefault();return}E?.(k)},onMouseDown(k){a||w?.(k)},onKeyDown(k){if(a||(Xc(k),N?.(k),k.baseUIHandlerPrevented))return;const V=k.target===k.currentTarget,M=k.currentTarget,B=Xf(M),R=!c&&Iw(M),K=V&&(c?B:!R),Q=k.key==="Enter",oe=k.key===" ",te=M.getAttribute("role"),Z=te?.startsWith("menuitem")||te==="option"||te==="gridcell";if(V&&y&&oe){if(k.defaultPrevented&&Z)return;k.preventDefault(),R||c&&B?(M.click(),k.preventBaseUIHandler()):K&&(E?.(k),k.preventBaseUIHandler());return}K&&(!c&&(oe||Q)&&k.preventDefault(),!c&&Q&&E?.(k))},onKeyUp(k){if(!a){if(Xc(k),C?.(k),k.target===k.currentTarget&&c&&y&&Xf(k.currentTarget)&&k.key===" "){k.preventDefault();return}k.baseUIHandlerPrevented||k.target===k.currentTarget&&!c&&!y&&k.key===" "&&E?.(k)}},onPointerDown(k){if(a){k.preventDefault();return}T?.(k)}},c?{type:"button"}:{role:"button"},m,O)},[a,m,y,c]),S=We(j=>{p.current=j,b()});return{getButtonProps:g,buttonRef:S}}function Xf(t){return Ut(t)&&t.tagName==="BUTTON"}function Iw(t){return!!(t?.tagName==="A"&&t?.href)}function ko(t,a,r,l){const c=In(H0).current;return Uw(c,t,a,r,l)&&Y0(c,[t,a,r,l]),c.callback}function Bw(t){const a=In(H0).current;return Hw(a,t)&&Y0(a,t),a.callback}function H0(){return{callback:null,cleanup:null,refs:[]}}function Uw(t,a,r,l,c){return t.refs[0]!==a||t.refs[1]!==r||t.refs[2]!==l||t.refs[3]!==c}function Hw(t,a){return t.refs.length!==a.length||t.refs.some((r,l)=>r!==a[l])}function Y0(t,a){if(t.refs=a,a.every(r=>r==null)){t.callback=null;return}t.callback=r=>{if(t.cleanup&&(t.cleanup(),t.cleanup=null),r!=null){const l=Array(a.length).fill(null);for(let c=0;c<a.length;c+=1){const d=a[c];if(d!=null)switch(typeof d){case"function":{const p=d(r);typeof p=="function"&&(l[c]=p);break}case"object":{d.current=r;break}}}t.cleanup=()=>{for(let c=0;c<a.length;c+=1){const d=a[c];if(d!=null)switch(typeof d){case"function":{const p=l[c];typeof p=="function"?p():d(null);break}case"object":{d.current=null;break}}}}}}}const Yw=parseInt(h.version,10);function mp(t){return Yw>=t}function Ob(t){if(!h.isValidElement(t))return null;const a=t,r=a.props;return(mp(19)?r?.ref:a.ref)??null}function mn(){}const Kc=Object.freeze([]),Ht=Object.freeze({});function Pw(t,a){const r={};for(const l in t){const c=t[l];if(a?.hasOwnProperty(l)){const d=a[l](c);d!=null&&Object.assign(r,d);continue}c===!0?r[`data-${l.toLowerCase()}`]="":c&&(r[`data-${l.toLowerCase()}`]=c.toString())}return r}function Vw(t,a){return typeof t=="function"?t(a):t}function Fw(t,a){return typeof t=="function"?t(a):t}function hn(t,a,r={}){const l=a.render,c=qw(a,r);if(r.enabled===!1)return null;const d=r.state??Ht;return Xw(t,l,c,d)}function qw(t,a={}){const{className:r,style:l,render:c}=t,{state:d=Ht,ref:p,props:x,stateAttributesMapping:y,enabled:m=!0}=a,b=m?Vw(r,d):void 0,g=m?Fw(l,d):void 0,S=m?Pw(d,y):Ht,j=m&&x?Gw(x):void 0,E=m?Em(S,j)??{}:Ht;return typeof document<"u"&&(m?Array.isArray(p)?E.ref=Bw([E.ref,Ob(c),...p]):E.ref=ko(E.ref,Ob(c),p):ko(null,null)),m?(b!==void 0&&(E.className=B0(E.className,b)),g!==void 0&&(E.style=Em(E.style,g)),E):Ht}function Gw(t){return Array.isArray(t)?kw(t):sa(void 0,t)}const $w=Symbol.for("react.lazy");function Xw(t,a,r,l){if(a){if(typeof a=="function")return a(r,l);const c=sa(r,a.props);c.ref=r.ref;let d=a;return d?.$$typeof===$w&&(d=h.Children.toArray(a)[0]),h.cloneElement(d,c)}if(t&&typeof t=="string")return Kw(t,r);throw new Error(Tn(8))}function Kw(t,a){return t==="button"?h.createElement("button",{type:"button",...a,key:a.key}):t==="img"?h.createElement("img",{alt:"",...a,key:a.key}):h.createElement(t,a)}const Qw=h.forwardRef(function(a,r){const{render:l,className:c,disabled:d=!1,focusableWhenDisabled:p=!1,nativeButton:x=!0,style:y,...m}=a,{getButtonProps:b,buttonRef:g}=ai({disabled:d,focusableWhenDisabled:p,native:x});return hn("button",a,{state:{disabled:d},ref:[r,g],props:[m,b]})}),Rb=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,kb=u0,Zw=(t,a)=>r=>{var l;if(a?.variants==null)return kb(t,r?.class,r?.className);const{variants:c,defaultVariants:d}=a,p=Object.keys(c).map(m=>{const b=r?.[m],g=d?.[m];if(b===null)return null;const S=Rb(b)||Rb(g);return c[m][S]}),x=r&&Object.entries(r).reduce((m,b)=>{let[g,S]=b;return S===void 0||(m[g]=S),m},{}),y=a==null||(l=a.compoundVariants)===null||l===void 0?void 0:l.reduce((m,b)=>{let{class:g,className:S,...j}=b;return Object.entries(j).every(E=>{let[w,C]=E;return Array.isArray(C)?C.includes({...d,...x}[w]):{...d,...x}[w]===C})?[...m,g,S]:m},[]);return kb(t,p,y,r?.class,r?.className)},Tm=Zw("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function ce({className:t,variant:a="default",size:r="default",...l}){return o.jsx(Qw,{"data-slot":"button",className:ge(Tm({variant:a,size:r,className:t})),...l})}const P0=h.createContext(void 0);function V0(t){const a=h.useContext(P0);if(a===void 0&&!t)throw new Error(Tn(33));return a}const F0=h.createContext(void 0);function Cr(t){const a=h.useContext(F0);if(a===void 0&&!t)throw new Error(Tn(36));return a}let Jl=(function(t){return t.startingStyle="data-starting-style",t.endingStyle="data-ending-style",t})({});const Jw={[Jl.startingStyle]:""},Ww={[Jl.endingStyle]:""},fu={transitionStatus(t){return t==="starting"?Jw:t==="ending"?Ww:null}};let hr=(function(t){return t.open="data-open",t.closed="data-closed",t[t.startingStyle=Jl.startingStyle]="startingStyle",t[t.endingStyle=Jl.endingStyle]="endingStyle",t.anchorHidden="data-anchor-hidden",t.side="data-side",t.align="data-align",t})({}),wm=(function(t){return t.popupOpen="data-popup-open",t.pressed="data-pressed",t})({});const eC={[wm.popupOpen]:""},tC={[wm.popupOpen]:"",[wm.pressed]:""},nC={[hr.open]:""},sC={[hr.closed]:""},aC={[hr.anchorHidden]:""},rC={open(t){return t?eC:null}},Cm={open(t){return t?tC:null}},ri={open(t){return t?nC:sC},anchorHidden(t){return t?aC:null}},oC=h.createContext(void 0);function mu(t=!0){const a=h.useContext(oC);if(a===void 0&&!t)throw new Error(Tn(25));return a}const q0="none",br="trigger-press",pn="trigger-hover",Vl="trigger-focus",pp="outside-press",G0="item-press",$0="close-press",vr="focus-out",pu="escape-key",Om="list-navigation",lC="cancel-open",Ul="sibling-open",hp="imperative-action";function iC({controlled:t,default:a,name:r,state:l="value"}){const{current:c}=h.useRef(t!==void 0),[d,p]=h.useState(a),x=c?t:d,y=h.useCallback(m=>{c||p(m)},[]);return[x,y]}function cC(){return typeof navigator>"u"?{userAgent:"",platform:"",maxTouchPoints:0}:{userAgent:navigator.userAgent,platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??0}}const{userAgent:uC,platform:dC,maxTouchPoints:fC}=cC(),hu=uC.toLowerCase(),Wl=dC.toLowerCase(),gu=/^i(os$|p)/.test(Wl)||Wl==="macintel"&&fC>1,_b="android",Rm=Wl===_b||hu.includes(_b),gp=!gu&&Wl.startsWith("mac");Wl.startsWith("win");const mC=gp||gu,Or=typeof CSS<"u"&&!!CSS.supports?.("-webkit-backdrop-filter:none");!Or&&hu.includes("firefox");!Or&&hu.includes("chrom");const pC=mC,xp=/jsdom|happydom/.test(hu);function hC(t){const{closeOnClick:a,highlighted:r,id:l,nodeId:c,store:d,typingRef:p,itemRef:x,itemMetadata:y}=t,{events:m}=d.useState("floatingTreeRoot"),b=d.useState("open"),g=mu(!0),S=g!==void 0;return h.useMemo(()=>({id:l,role:"menuitem",tabIndex:b&&r?0:-1,onKeyDown(j){j.key===" "&&p?.current&&j.preventDefault()},onMouseMove(j){c&&m.emit("itemhover",{nodeId:c,target:j.currentTarget})},onClick(j){a&&m.emit("close",{domEvent:j,reason:G0})},onMouseUp(j){if(g){const E=g.initialCursorPointRef.current;if(g.initialCursorPointRef.current=null,S&&E&&Math.abs(j.clientX-E.x)<=1&&Math.abs(j.clientY-E.y)<=1||S&&!gp&&j.button===2)return}x.current&&d.context.allowMouseUpTriggerRef.current&&(!S||j.button===2)&&(!y||y.type==="regular-item")&&x.current.click()}}),[a,r,l,m,c,b,d,p,x,g,S,y])}const gC={type:"regular-item"};function xC(t){const{closeOnClick:a,disabled:r=!1,highlighted:l,id:c,store:d,typingRef:p=d.context.typingRef,nativeButton:x,itemMetadata:y,nodeId:m}=t,b=d.useState("disabled"),g=r||b,S=h.useRef(null),{getButtonProps:j,buttonRef:E}=ai({disabled:g,focusableWhenDisabled:!0,native:x,composite:!0}),w=hC({closeOnClick:a,highlighted:l,id:c,nodeId:m,store:d,typingRef:p,itemRef:S,itemMetadata:y}),C=h.useCallback(T=>sa(w,{onMouseEnter(){y.type==="submenu-trigger"&&y.setActive()}},T,j),[w,j,y]),N=ko(S,E);return h.useMemo(()=>({getItemProps:C,itemRef:N}),[C,N])}const X0=h.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});function yC(){return h.useContext(X0)}let bC=(function(t){return t[t.None=0]="None",t[t.GuessFromOrder=1]="GuessFromOrder",t})({});function K0(t={}){const{label:a,metadata:r,textRef:l,indexGuessBehavior:c,index:d}=t,{register:p,unregister:x,subscribeMapChange:y,elementsRef:m,labelsRef:b,nextIndexRef:g}=yC(),S=h.useRef(-1),[j,E]=h.useState(d??(c===bC.GuessFromOrder?()=>{if(S.current===-1){const N=g.current;g.current+=1,S.current=N}return S.current}:-1)),w=h.useRef(null),C=h.useCallback(N=>{if(w.current=N,j!==-1&&N!==null&&(m.current[j]=N,b)){const T=a!==void 0;b.current[j]=T?a:l?.current?.textContent??N.textContent}},[j,m,b,a,l]);return Xe(()=>{if(d!=null)return;const N=w.current;if(N)return p(N,r),()=>{x(N)}},[d,p,x,r]),Xe(()=>{if(d==null)return y(N=>{const T=w.current?N.get(w.current)?.index:null;T!=null&&E(T)})},[d,y,E]),{ref:C,index:j}}let Ab=0;function vC(t,a="mui"){const[r,l]=h.useState(t),c=t||r;return h.useEffect(()=>{r==null&&(Ab+=1,l(`${a}-${Ab}`))},[r,a]),c}const Mb=cp.useId;function Sr(t,a){if(Mb!==void 0){const r=Mb();return t??(a?`${a}-${r}`:r)}return vC(t,a)}function Rr(t){return Sr(t,"base-ui")}function yt(t,a,r,l){let c=!1,d=!1;const p=Ht;return{reason:t,event:a??new Event("base-ui"),cancel(){c=!0},allowPropagation(){d=!0},get isCanceled(){return c},get isPropagationAllowed(){return d},trigger:r,...p}}const SC=[];function yp(t){h.useEffect(t,SC)}const Tc=null;class NC{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=a=>{this.isScheduled=!1;const r=this.callbacks,l=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,l>0)for(let c=0;c<r.length;c+=1)r[c]?.(a)};request(a){const r=this.nextId;return this.nextId+=1,this.callbacks.push(a),this.callbacksCount+=1,!this.isScheduled&&(requestAnimationFrame(this.tick),this.isScheduled=!0),r}cancel(a){const r=a-this.startId;r<0||r>=this.callbacks.length||(this.callbacks[r]=null,this.callbacksCount-=1)}}const wc=new NC;class Os{static create(){return new Os}static request(a){return wc.request(a)}static cancel(a){return wc.cancel(a)}currentId=Tc;request(a){this.cancel(),this.currentId=wc.request(()=>{this.currentId=Tc,a()})}cancel=()=>{this.currentId!==Tc&&(wc.cancel(this.currentId),this.currentId=Tc)};disposeEffect=()=>this.cancel}function ei(){const t=In(Os.create).current;return yp(t.disposeEffect),t}function jC(t,a=!1,r=!1){const[l,c]=h.useState(t&&a?"idle":void 0),[d,p]=h.useState(t);return t&&!d&&(p(!0),c("starting")),!t&&d&&l!=="ending"&&!r&&c("ending"),!t&&!d&&l==="ending"&&c(void 0),Xe(()=>{if(!t&&d&&l!=="ending"&&r){const x=Os.request(()=>{c("ending")});return()=>{Os.cancel(x)}}},[t,d,l,r]),Xe(()=>{if(!t||a)return;const x=Os.request(()=>{c(void 0)});return()=>{Os.cancel(x)}},[a,t]),Xe(()=>{if(!t||!a)return;t&&d&&l!=="idle"&&c("starting");const x=Os.request(()=>{c("idle")});return()=>{Os.cancel(x)}},[a,t,d,l]),{mounted:d,setMounted:p,transitionStatus:l}}var ca=s0();const EC=n0(ca);function Ws(t){return t==null?t:"current"in t?t.current:t}function bp(t,a=!1,r=!0){const l=ei();return We((c,d=null)=>{l.cancel();const p=Ws(t);if(p==null)return;const x=p,y=()=>{ca.flushSync(c)};if(typeof x.getAnimations!="function"||globalThis.BASE_UI_ANIMATIONS_DISABLED){c();return}function m(){Promise.all(x.getAnimations().map(b=>b.finished)).then(()=>{d?.aborted||y()}).catch(()=>{if(r){d?.aborted||y();return}const b=x.getAnimations();!d?.aborted&&b.length>0&&b.some(g=>g.pending||g.playState!=="finished")&&m()})}if(a){const b=Jl.startingStyle;if(!x.hasAttribute(b)){l.request(m);return}const g=new MutationObserver(()=>{x.hasAttribute(b)||(g.disconnect(),m())});g.observe(x,{attributes:!0,attributeFilter:[b]}),d?.addEventListener("abort",()=>g.disconnect(),{once:!0});return}l.request(m)})}function xu(t){const{enabled:a=!0,open:r,ref:l,onComplete:c}=t,d=We(c),p=bp(l,r,!1);h.useEffect(()=>{if(!a)return;const x=new AbortController;return p(d,x.signal),()=>{x.abort()}},[a,r,d,p])}const Q0=h.createContext(void 0);function TC(){const t=h.useContext(Q0);if(t===void 0)throw new Error(Tn(31));return t}const wC=h.forwardRef(function(a,r){const{render:l,className:c,style:d,...p}=a,[x,y]=h.useState(void 0),m=hn("div",a,{ref:r,props:{role:"group","aria-labelledby":x,...p}});return o.jsx(Q0.Provider,{value:y,children:m})}),CC=h.forwardRef(function(a,r){const{render:l,className:c,style:d,id:p,...x}=a,y=Rr(p),m=TC();return Xe(()=>(m(y),()=>{m(void 0)}),[m,y]),hn("div",a,{ref:r,props:{id:y,role:"presentation",...x}})}),OC=h.forwardRef(function(a,r){const{render:l,className:c,id:d,label:p,nativeButton:x=!1,disabled:y=!1,closeOnClick:m=!0,style:b,...g}=a,S=K0({label:p}),j=V0(!0),E=Rr(d),{store:w}=Cr(),C=w.useState("isActive",S.index),N=w.useState("itemProps"),{getItemProps:T,itemRef:O}=xC({closeOnClick:m,disabled:y,highlighted:C,id:E,store:w,nativeButton:x,nodeId:j?.context.nodeId,itemMetadata:gC});return hn("div",a,{state:{disabled:y,highlighted:C},props:[N,g,T],ref:[O,r,S.ref]})}),Rl=0;class ys{static create(){return new ys}currentId=Rl;start(a,r){this.clear(),this.currentId=setTimeout(()=>{this.currentId=Rl,r()},a)}isStarted(){return this.currentId!==Rl}clear=()=>{this.currentId!==Rl&&(clearTimeout(this.currentId),this.currentId=Rl)};disposeEffect=()=>this.clear}function Xn(){const t=In(ys.create).current;return yp(t.disposeEffect),t}function Cs(t){t.preventDefault(),t.stopPropagation()}function RC(t){return"nativeEvent"in t}function Z0(t){return t.pointerType===""&&t.isTrusted?!0:Rm&&t.pointerType?t.type==="click"&&t.buttons===1:t.detail===0&&!t.pointerType}function J0(t){return xp?!1:!Rm&&t.width===0&&t.height===0||Rm&&t.width===1&&t.height===1&&t.pressure===0&&t.detail===0&&t.pointerType==="mouse"||t.width<1&&t.height<1&&t.pressure===0&&t.detail===0&&t.pointerType==="touch"}function ti(t,a){const r=["mouse","pen"];return a||r.push("",void 0),r.includes(t)}function kC(t){const a=t.type;return a==="click"||a==="mousedown"||a==="keydown"||a==="keyup"}const km="data-base-ui-focusable",W0="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])",yu="ArrowLeft",bu="ArrowRight",e1="ArrowUp",vp="ArrowDown";function Cn(t){let a=t.activeElement;for(;a?.shadowRoot?.activeElement!=null;)a=a.shadowRoot.activeElement;return a}function Je(t,a){if(!t||!a)return!1;const r=a.getRootNode?.();if(t.contains(a))return!0;if(r&&Ro(r)){let l=a;for(;l;){if(t===l)return!0;l=l.parentNode||l.host}}return!1}function Ln(t){return"composedPath"in t?t.composedPath()[0]:t.target}function Qc(t,a){if(!pt(t))return!1;const r=t;if(a.hasElement(r))return!r.hasAttribute("data-trigger-disabled");for(const[,l]of a.entries())if(Je(l,r))return!l.hasAttribute("data-trigger-disabled");return!1}function Kf(t,a){if(a==null)return!1;if("composedPath"in t)return t.composedPath().includes(a);const r=t;return r.target!=null&&a.contains(r.target)}function _C(t){return t.matches("html,body")}function vu(t){return Ut(t)&&t.matches(W0)}function AC(t){return t?.closest(`button,a[href],[role="button"],select,[tabindex]:not([tabindex="-1"]),${W0}`)!=null}function _m(t){return t?t.getAttribute("role")==="combobox"&&vu(t):!1}function MC(t){if(!t||xp)return!0;try{return t.matches(":focus-visible")}catch{return!0}}function Am(t){return t?t.hasAttribute(km)?t:t.querySelector(`[${km}]`)||t:null}function DC(t,a){return a!=null&&!ti(a)?0:typeof t=="function"?t():t}function Mm(t,a,r){const l=DC(t,r);return typeof l=="number"?l:l?.[a]}function Db(t){return typeof t=="function"?t():t}function t1(t,a){return a||t==="click"||t==="mousedown"}function zC(t){return t?.includes("mouse")&&t!=="mousedown"}function ut(t,a,r,l){return t.addEventListener(a,r,l),()=>{t.removeEventListener(a,r,l)}}function ks(...t){return()=>{for(let a=0;a<t.length;a+=1){const r=t[a];r&&r()}}}function ln(t){const a=In(LC,t).current;return a.next=t,Xe(a.effect),a}function LC(t){const a={current:t,next:t,effect:()=>{a.current=a.next}};return a}function xt(t){return t?.ownerDocument||document}const IC={clipPath:"inset(50%)",overflow:"hidden",whiteSpace:"nowrap",border:0,padding:0,width:1,height:1,margin:-1},BC={...IC,position:"fixed",top:0,left:0},Va=h.forwardRef(function(a,r){const[l,c]=h.useState();Xe(()=>{pC&&Or&&c("button")},[]);const d={tabIndex:0,role:l};return o.jsx("span",{...a,ref:r,style:BC,"aria-hidden":l?void 0:!0,...d,"data-base-ui-focus-guard":""})}),UC=["top","right","bottom","left"],_o=Math.min,aa=Math.max,Zc=Math.round,Cc=Math.floor,ra=t=>({x:t,y:t}),HC={left:"right",right:"left",bottom:"top",top:"bottom"};function n1(t,a,r){return aa(t,_o(a,r))}function ua(t,a){return typeof t=="function"?t(a):t}function Gn(t){return t.split("-")[0]}function Ga(t){return t.split("-")[1]}function Sp(t){return t==="x"?"y":"x"}function Np(t){return t==="y"?"height":"width"}function is(t){const a=t[0];return a==="t"||a==="b"?"y":"x"}function jp(t){return Sp(is(t))}function YC(t,a,r){r===void 0&&(r=!1);const l=Ga(t),c=jp(t),d=Np(c);let p=c==="x"?l===(r?"end":"start")?"right":"left":l==="start"?"bottom":"top";return a.reference[d]>a.floating[d]&&(p=Jc(p)),[p,Jc(p)]}function PC(t){const a=Jc(t);return[Dm(t),a,Dm(a)]}function Dm(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const zb=["left","right"],Lb=["right","left"],VC=["top","bottom"],FC=["bottom","top"];function qC(t,a,r){switch(t){case"top":case"bottom":return r?a?Lb:zb:a?zb:Lb;case"left":case"right":return a?VC:FC;default:return[]}}function GC(t,a,r,l){const c=Ga(t);let d=qC(Gn(t),r==="start",l);return c&&(d=d.map(p=>p+"-"+c),a&&(d=d.concat(d.map(Dm)))),d}function Jc(t){const a=Gn(t);return HC[a]+t.slice(a.length)}function $C(t){var a,r,l,c;return{top:(a=t.top)!=null?a:0,right:(r=t.right)!=null?r:0,bottom:(l=t.bottom)!=null?l:0,left:(c=t.left)!=null?c:0}}function s1(t){return typeof t!="number"?$C(t):{top:t,right:t,bottom:t,left:t}}function Wc(t){const{x:a,y:r,width:l,height:c}=t;return{width:l,height:c,top:r,left:a,right:a+l,bottom:r+c,x:a,y:r}}function Ib(t,a){return a<0||a>=t.length}function Qf(t,a){return Eo(t.current,{disabledIndices:a})}function Bb(t,a){return Eo(t.current,{decrement:!0,startingIndex:t.current.length,disabledIndices:a})}function Eo(t,{startingIndex:a=-1,decrement:r=!1,disabledIndices:l,amount:c=1}={}){let d=a;do d+=r?-c:c;while(d>=0&&d<=t.length-1&&a1(t,d,l));return d}function a1(t,a,r){if(typeof r=="function"?r(a):r?.includes(a)??!1)return!0;const c=t[a];return c?Su(c)?!r&&(c.hasAttribute("disabled")||c.getAttribute("aria-disabled")==="true"):!0:!1}function XC(t){return t.visibility==="hidden"||t.visibility==="collapse"}function Su(t,a=t?$n(t):null){return!t||!t.isConnected||!a||XC(a)?!1:typeof t.checkVisibility=="function"?t.checkVisibility():a.display!=="none"&&a.display!=="contents"}const KC='a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]';function QC(t){const a=t.assignedSlot;if(a)return a;if(t.parentElement)return t.parentElement;const r=t.getRootNode();return Ro(r)?r.host:null}function zm(t){for(const a of Array.from(t.children))if(Nn(a)==="summary")return a;return null}function ZC(t,a){const r=zm(a);return!!r&&(t===r||Je(r,t))}function r1(t){const a=t?Nn(t):"";return t!=null&&t.matches(KC)&&(a!=="summary"||t.parentElement!=null&&Nn(t.parentElement)==="details"&&zm(t.parentElement)===t)&&(a!=="details"||zm(t)==null)&&(a!=="input"||t.type!=="hidden")}function o1(t){if(!r1(t)||!t.isConnected||t.matches(":disabled"))return!1;for(let a=t;a;a=QC(a)){const r=a!==t,l=Nn(a)==="slot";if(a.hasAttribute("inert")||r&&Nn(a)==="details"&&!a.open&&!ZC(t,a)||a.hasAttribute("hidden")||!l&&!JC(a,r))return!1}return!0}function JC(t,a){const r=$n(t);return a?r.display!=="none":Su(t,r)}function l1(t){const a=t.tabIndex;if(a<0){const r=Nn(t);if(r==="details"||r==="audio"||r==="video"||Ut(t)&&t.isContentEditable)return 0}return a}function Zf(t){if(Nn(t)!=="input")return null;const a=t;return a.type==="radio"&&a.name!==""?a:null}function WC(t,a){const r=Zf(t);if(!r)return!0;const l=a.find(c=>{const d=Zf(c);return d?.name===r.name&&d.form===r.form&&d.checked});return l?l===r:a.find(c=>{const d=Zf(c);return d?.name===r.name&&d.form===r.form})===r}function i1(t){if(Ut(t)&&Nn(t)==="slot"){const a=t.assignedElements({flatten:!0});if(a.length>0)return a}return Ut(t)&&t.shadowRoot?Array.from(t.shadowRoot.children):Array.from(t.children)}function c1(t,a){i1(t).forEach(r=>{r1(r)&&a.push(r),c1(r,a)})}function u1(t,a,r){i1(t).forEach(l=>{Ut(l)&&l.matches(a)&&r.push(l),u1(l,a,r)})}function Ep(t){return o1(t)&&l1(t)>=0}function d1(t){const a=[];return c1(t,a),a.filter(o1)}function oi(t){const a=d1(t);return a.filter(r=>l1(r)>=0&&WC(r,a))}function f1(t,a){const r=oi(t),l=r.length;if(l===0)return;const c=Cn(xt(t)),d=r.indexOf(c),p=d===-1?a===1?0:l-1:d+a;return r[p]}function Tp(t){return f1(xt(t).body,1)||t}function m1(t){return f1(xt(t).body,-1)||t}function p1(t,a){if(!t)return null;const r=oi(xt(t).body),l=r.length;if(l===0)return null;const c=r.indexOf(t);if(c===-1)return null;const d=(c+a+l)%l;return r[d]}function eO(t){return p1(t,1)}function tO(t){return p1(t,-1)}function To(t,a){const r=a||t.currentTarget,l=t.relatedTarget;return!l||!Je(r,l)}function nO(t){oi(t).forEach(r=>{r.dataset.tabindex=r.getAttribute("tabindex")||"",r.setAttribute("tabindex","-1")})}function Ub(t){const a=[];u1(t,"[data-tabindex]",a),a.forEach(r=>{const l=r.dataset.tabindex;delete r.dataset.tabindex,l?r.setAttribute("tabindex",l):r.removeAttribute("tabindex")})}function Fa(t,a,r=!0){return t.filter(c=>c.parentId===a).flatMap(c=>[...!r||c.context?.open?[c]:[],...Fa(t,c.id,r)])}function Hb(t,a){let r=[],l=t.find(c=>c.id===a)?.parentId;for(;l;){const c=t.find(d=>d.id===l);l=c?.parentId,c&&(r=r.concat(c))}return r}function ni(t){return`data-base-ui-${t}`}let Oc=0;function Hc(t,a={}){const{preventScroll:r=!1,sync:l=!1,shouldFocus:c}=a;cancelAnimationFrame(Oc);function d(){c&&!c()||t?.focus({preventScroll:r})}if(l)return d(),mn;const p=requestAnimationFrame(d);return Oc=p,()=>{Oc===p&&(cancelAnimationFrame(p),Oc=0)}}const Jf={inert:new WeakMap,"aria-hidden":new WeakMap},Yb="data-base-ui-inert",Lm={inert:new WeakSet,"aria-hidden":new WeakSet};let kl=new WeakMap,Wf=0;function sO(t){return Lm[t]}function h1(t){return t?Ro(t)?t.host:h1(t.parentNode):null}const Pb=(t,a)=>a.map(r=>{if(t.contains(r))return r;const l=h1(r);return t.contains(l)?l:null}).filter(r=>r!=null),Vb=t=>{const a=new Set;return t.forEach(r=>{let l=r;for(;l&&!a.has(l);)a.add(l),l=l.parentNode}),a},Fb=(t,a,r)=>{const l=[],c=d=>{!d||r.has(d)||Array.from(d.children).forEach(p=>{Nn(p)!=="script"&&(a.has(p)?c(p):l.push(p))})};return c(t),l};function aO(t,a,r,l,{mark:c=!0}){let d=null;l?d="inert":r&&(d="aria-hidden");let p=null,x=null;const y=Pb(a,t),m=c?Fb(a,Vb(y),new Set(y)):[],b=[],g=[];if(d){const S=Jf[d],j=sO(d);x=j,p=S;const E=Pb(a,Array.from(a.querySelectorAll("[aria-live]"))),w=y.concat(E);Fb(a,Vb(w),new Set(w)).forEach(N=>{const T=N.getAttribute(d),O=T!==null&&T!=="false",k=(S.get(N)||0)+1;S.set(N,k),b.push(N),k===1&&O&&j.add(N),O||N.setAttribute(d,d==="inert"?"":"true")})}return c&&m.forEach(S=>{const j=(kl.get(S)||0)+1;kl.set(S,j),g.push(S),j===1&&S.setAttribute(Yb,"")}),Wf+=1,()=>{p&&b.forEach(S=>{const E=(p.get(S)||0)-1;p.set(S,E),E||(!x?.has(S)&&d&&S.removeAttribute(d),x?.delete(S))}),c&&g.forEach(S=>{const j=(kl.get(S)||0)-1;kl.set(S,j),j||S.removeAttribute(Yb)}),Wf-=1,Wf||(Jf.inert=new WeakMap,Jf["aria-hidden"]=new WeakMap,Lm.inert=new WeakSet,Lm["aria-hidden"]=new WeakSet,kl=new WeakMap)}}function qb(t,a={}){const{ariaHidden:r=!1,inert:l=!1,mark:c=!0}=a,d=xt(t[0]).body;return aO(t,d,r,l,{mark:c})}const rO=500,g1=500,oO={style:{transition:"none"}},x1="data-base-ui-click-trigger",lO={fallbackAxisSide:"none"},y1={fallbackAxisSide:"end"},iO={clipPath:"inset(50%)",position:"fixed",top:0,left:0},b1=h.createContext(null),v1=()=>h.useContext(b1),cO=ni("portal");function uO(t={}){const{ref:a,container:r,componentProps:l=Ht,elementProps:c}=t,d=Sr(),x=v1()?.portalNode,[y,m]=h.useState(null),[b,g]=h.useState(null),S=We(C=>{C!==null&&g(C)}),j=h.useRef(null);Xe(()=>{if(r===null){j.current&&(j.current=null,g(null),m(null));return}if(d==null)return;const C=(r&&(op(r)?r:r.current))??x??document.body;if(C==null){j.current&&(j.current=null,g(null),m(null));return}j.current!==C&&(j.current=C,g(null),m(C))},[r,x,d]);const E=hn("div",l,{ref:[a,S],props:[{id:d,[cO]:""},c]});return{portalNode:b,portalSubtree:y&&E?ca.createPortal(E,y):null}}const wp=h.forwardRef(function(a,r){const{render:l,className:c,style:d,children:p,container:x,renderGuards:y,...m}=a,{portalNode:b,portalSubtree:g}=uO({container:x,ref:r,componentProps:a,elementProps:m}),S=h.useRef(null),j=h.useRef(null),E=h.useRef(null),w=h.useRef(null),[C,N]=h.useState(null),T=h.useRef(!1),O=C?.modal,k=C?.open,V=typeof y=="boolean"?y:!!C&&!C.modal&&C.open&&!!b;h.useEffect(()=>{if(!b||O)return;function B(R){b&&R.relatedTarget&&To(R)&&(R.type==="focusin"?T.current&&(Ub(b),T.current=!1):(nO(b),T.current=!0))}return ks(ut(b,"focusin",B,!0),ut(b,"focusout",B,!0))},[b,O]),Xe(()=>{!b||k!==!0||!T.current||(Ub(b),T.current=!1)},[k,b]);const M=h.useMemo(()=>({beforeOutsideRef:S,afterOutsideRef:j,beforeInsideRef:E,afterInsideRef:w,portalNode:b,setFocusManagerState:N}),[b]);return o.jsxs(h.Fragment,{children:[g,o.jsxs(b1.Provider,{value:M,children:[V&&b&&o.jsx(Va,{"data-type":"outside",ref:S,onFocus:B=>{if(To(B,b))E.current?.focus();else{const R=C?C.domReference:null;m1(R)?.focus()}}}),V&&b&&o.jsx("span",{"aria-owns":b.id,style:iO}),b&&ca.createPortal(p,b),V&&b&&o.jsx(Va,{"data-type":"outside",ref:j,onFocus:B=>{if(To(B,b))w.current?.focus();else{const R=C?C.domReference:null;Tp(R)?.focus(),C?.closeOnFocusOut&&C?.onOpenChange(!1,yt(vr,B.nativeEvent))}}})]})]})});function S1(){const t=new Map;return{emit(a,r){t.get(a)?.forEach(l=>l(r))},on(a,r){t.has(a)||t.set(a,new Set),t.get(a).add(r)},off(a,r){t.get(a)?.delete(r)}}}class Cp{nodesRef={current:[]};events=S1();addNode(a){this.nodesRef.current.push(a)}removeNode(a){const r=this.nodesRef.current.findIndex(l=>l===a);r!==-1&&this.nodesRef.current.splice(r,1)}}const N1=h.createContext(null),j1=h.createContext(null),ma=()=>h.useContext(N1)?.id||null,$a=t=>{const a=h.useContext(j1);return t??a};function Op(t){const a=Sr(),r=$a(t),l=ma();return Xe(()=>{if(!a)return;const c={id:a,parentId:l};return r?.addNode(c),()=>{r?.removeNode(c)}},[r,a,l]),a}function E1(t){const{children:a,id:r}=t,l=ma();return o.jsx(N1.Provider,{value:h.useMemo(()=>({id:r,parentId:l}),[r,l]),children:a})}function T1(t){const{children:a,externalTree:r}=t,l=In(()=>r??new Cp).current;return o.jsx(j1.Provider,{value:l,children:a})}function dO(t,a){const r=Qt(Ln(t));return t instanceof r.KeyboardEvent?"keyboard":t instanceof r.FocusEvent?a||"keyboard":"pointerType"in t?t.pointerType||"keyboard":"touches"in t?"touch":t instanceof r.MouseEvent?a||(t.detail===0?"keyboard":"mouse"):""}const Gb=20;let Ua=[];function Rp(){Ua=Ua.filter(t=>t.deref()?.isConnected)}function $b(t){Rp(),t&&Nn(t)!=="body"&&(Ua.push(new WeakRef(t)),Ua.length>Gb&&(Ua=Ua.slice(-Gb)))}function Xb(){return Rp(),Ua[Ua.length-1]?.deref()}function fO(t){return t?Ep(t)?t:oi(t)[0]||t:null}function Kb(t){if(t.hasAttribute("tabindex")&&!t.hasAttribute("data-tabindex")||!t.getAttribute("role")?.includes("dialog"))return;const r=d1(t).filter(c=>{const d=c.getAttribute("data-tabindex")||"";return Ep(c)||c.hasAttribute("data-tabindex")&&!d.startsWith("-")}),l=t.getAttribute("tabindex");r.length===0?l!=="0"&&(t.setAttribute("tabindex","0"),t.setAttribute("data-tabindex","0")):(l!=="-1"||t.hasAttribute("data-tabindex")&&t.getAttribute("data-tabindex")!=="-1")&&(t.setAttribute("tabindex","-1"),t.setAttribute("data-tabindex","-1"))}function kp(t){const{context:a,children:r,disabled:l=!1,initialFocus:c=!0,returnFocus:d=!0,restoreFocus:p=!1,modal:x=!0,closeOnFocusOut:y=!0,openInteractionType:m="",nextFocusableElement:b,previousFocusableElement:g,beforeContentFocusGuardRef:S,externalTree:j,getInsideElements:E}=t,w="rootStore"in a?a.rootStore:a,C=w.useState("open"),N=w.useState("domReferenceElement"),T=w.useState("floatingElement"),{events:O,dataRef:k}=w.context,V=We(()=>k.current.floatingContext?.nodeId),M=c===!1,B=_m(N)&&M,R=ln(c),K=ln(d),Q=ln(m),oe=ln(C),te=$a(j),Z=v1(),ne=h.useRef(!1),U=h.useRef(!1),_=h.useRef(!1),D=h.useRef(null),Y=h.useRef(""),H=h.useRef(""),F=h.useRef(null),z=h.useRef(null),X=ko(F,S,Z?.beforeInsideRef),I=ko(z,Z?.afterInsideRef),L=Xn(),q=Xn(),ee=ei(),pe=Z!=null,ae=Am(T),de=We((Ce=ae)=>Ce?oi(Ce):[]),Ie=We(()=>E?.().filter(Ce=>Ce!=null)??[]);h.useEffect(()=>{if(l||!x)return;function Ce(xe){xe.key==="Tab"&&Je(ae,Cn(xt(ae)))&&de().length===0&&!B&&Cs(xe)}const Be=xt(ae);return ut(Be,"keydown",Ce)},[l,ae,x,B,de]),h.useEffect(()=>{if(l||!C)return;const Ce=xt(ae);function Be(){_.current=!1}function xe(He){const _e=Ln(He),ze=Ie(),Se=Je(T,_e)||Je(N,_e)||Je(Z?.portalNode,_e)||ze.some(fe=>fe===_e||Je(fe,_e));_.current=!Se,H.current=He.pointerType||"keyboard",_e?.closest(`[${x1}]`)&&(U.current=!0,q.start(0,()=>{U.current=!1}))}function ue(){H.current="keyboard"}return ks(ut(Ce,"pointerdown",xe,!0),ut(Ce,"pointerup",Be,!0),ut(Ce,"pointercancel",Be,!0),ut(Ce,"keydown",ue,!0),Be)},[l,T,N,ae,C,Z,q,Ie]),h.useEffect(()=>{if(l||!y)return;const Ce=xt(ae);function Be(){U.current=!0,q.start(0,()=>{U.current=!1})}function xe(ze){const Se=Ln(ze);Ep(Se)&&(D.current=Se)}function ue(ze){const Se=ze.relatedTarget,fe=ze.currentTarget,Re=Ln(ze);x&&Se==null&&Re!=null&&Je(T,Re)&&$b(Re),queueMicrotask(()=>{const Me=V(),J=w.context.triggerElements,P=Ie(),G=Se?.hasAttribute(ni("focus-guard"))&&[F.current,z.current,Z?.beforeInsideRef.current,Z?.afterInsideRef.current,Z?.beforeOutsideRef.current,Z?.afterOutsideRef.current,Ws(g),Ws(b)].includes(Se),Te=!(Je(N,Se)||Je(T,Se)||Je(Se,T)||Je(Z?.portalNode,Se)||P.some(ye=>ye===Se||Je(ye,Se))||Se!=null&&J.hasElement(Se)||J.hasMatchingElement(ye=>Je(ye,Se))||G||te&&(Fa(te.nodesRef.current,Me).find(ye=>Je(ye.context?.elements.floating,Se)||Je(ye.context?.elements.domReference,Se))||Hb(te.nodesRef.current,Me).find(ye=>[ye.context?.elements.floating,Am(ye.context?.elements.floating)].includes(Se)||ye.context?.elements.domReference===Se)));if(fe===N&&ae&&Kb(ae),p&&fe!==N&&!Su(Re)&&Cn(Ce)===Ce.body){if(Ut(ae)&&(ae.focus(),p==="popup")){ee.request(()=>{ae.focus()});return}const ye=de(),re=D.current,Oe=(re&&ye.includes(re)?re:null)||ye[ye.length-1]||ae;Ut(Oe)&&Oe.focus()}if(k.current.insideReactTree){k.current.insideReactTree=!1;return}(B||!x)&&Se&&Te&&!U.current&&(B||Se!==Xb())&&(ne.current=!0,w.setOpen(!1,yt(vr,ze)))})}function He(){_.current||(k.current.insideReactTree=!0,L.start(0,()=>{k.current.insideReactTree=!1}))}const _e=Ut(N)?N:null;if(!(!T&&!_e))return ks(_e&&ut(_e,"focusout",ue),_e&&ut(_e,"pointerdown",Be),T&&ut(T,"focusin",xe),T&&ut(T,"focusout",ue),T&&Z&&ut(T,"focusout",He,!0))},[l,N,T,ae,x,te,Z,w,y,p,de,B,V,k,L,q,ee,b,g,Ie]),h.useEffect(()=>{if(l||!T||!C)return;const Ce=Array.from(Z?.portalNode?.querySelectorAll(`[${ni("portal")}]`)||[]),xe=(te?Hb(te.nodesRef.current,V()):[]).find(fe=>_m(fe.context?.elements.domReference||null))?.context?.elements.domReference,He=[...[T,...Ce,F.current,z.current,Z?.beforeOutsideRef.current,Z?.afterOutsideRef.current,...Ie()],xe,Ws(g),Ws(b),B?N:null].filter(fe=>fe!=null),_e=qb(He,{ariaHidden:x||B,mark:!1}),ze=[T,...Ce].filter(fe=>fe!=null),Se=qb(ze);return()=>{Se(),_e()}},[C,l,N,T,x,Z,B,te,V,b,g,Ie]),Xe(()=>{if(!C||l||!Ut(ae))return;const Ce=xt(ae),Be=Cn(Ce);queueMicrotask(()=>{const xe=R.current,ue=typeof xe=="function"?xe(Q.current||""):xe;if(ue===void 0||ue===!1||Je(ae,Be))return;let _e=null;const ze=()=>(_e==null&&(_e=de(ae)),_e[0]||ae);let Se;ue===!0||ue===null?Se=ze():Se=Ws(ue),Se=Se||ze();const fe=Je(ae,Cn(Ce));Hc(Se,{preventScroll:Se===ae,shouldFocus(){if(!oe.current)return!1;if(fe)return!0;const Re=Cn(Ce);return!(Re!==Se&&Je(ae,Re))}})})},[l,C,ae,de,R,Q,oe]),Xe(()=>{if(l||!ae)return;const Ce=xt(ae),Be=Cn(Ce),xe=Q.current==null;$b(Be);function ue(_e){if(_e.open||(Y.current=dO(_e.nativeEvent,H.current)),_e.reason===pn&&_e.nativeEvent.type==="mouseleave"&&(ne.current=!0),_e.reason===pp)if(_e.nested)ne.current=!1;else if(Z0(_e.nativeEvent)||J0(_e.nativeEvent))ne.current=!1;else{let ze=!1;xt(ae).createElement("div").focus({get preventScroll(){return ze=!0,!1}}),ze?ne.current=!1:ne.current=!0}}O.on("openchange",ue);function He(){const _e=K.current;let ze=typeof _e=="function"?_e(Y.current):_e;if(ze===void 0||ze===!1)return null;ze===null&&(ze=!0);const Se=N?.isConnected?N:null,fe=Be?.isConnected&&Nn(Be)!=="body"?Be:null;let Re=xe?fe||Se:Se||fe;return Re||(Re=Xb()||null),typeof ze=="boolean"?Re:Ws(ze)||Re||null}return()=>{O.off("openchange",ue);const _e=Cn(Ce),ze=Ie(),Se=Je(T,_e)||ze.some(Me=>Me===_e||Je(Me,_e))||te&&Fa(te.nodesRef.current,V(),!1).some(Me=>Je(Me.context?.elements.floating,_e)),fe=K.current,Re=He();queueMicrotask(()=>{const Me=fO(Re),J=typeof fe!="boolean";fe&&!ne.current&&Ut(Me)&&(!(!J&&Me!==_e&&_e!==Ce.body)||Se)&&Me.focus({preventScroll:!0}),ne.current=!1})}},[l,T,ae,K,Q,O,te,N,V,Ie]),Xe(()=>{if(!Or||C||!T)return;const Ce=Cn(xt(T));!Ut(Ce)||!vu(Ce)||Je(T,Ce)&&Ce.blur()},[C,T]),Xe(()=>{if(!(l||!Z))return Z.setFocusManagerState({modal:x,closeOnFocusOut:y,open:C,onOpenChange:w.setOpen,domReference:N}),()=>{Z.setFocusManagerState(null)}},[l,Z,x,C,w,y,N]),Xe(()=>{if(!(l||!ae))return Kb(ae),()=>{queueMicrotask(Rp)}},[l,ae]);const Ae=!l&&(x?!B:!0)&&(pe||x);return o.jsxs(h.Fragment,{children:[Ae&&o.jsx(Va,{"data-type":"inside",ref:X,onFocus:Ce=>{if(x){const Be=de();Hc(Be[Be.length-1])}else Z?.portalNode&&(ne.current=!1,To(Ce,Z.portalNode)?Tp(N)?.focus():Ws(g??Z.beforeOutsideRef)?.focus())}}),r,Ae&&o.jsx(Va,{"data-type":"inside",ref:I,onFocus:Ce=>{x?Hc(de()[0]):Z?.portalNode&&(y&&(ne.current=!0),To(Ce,Z.portalNode)?m1(N)?.focus():Ws(b??Z.afterOutsideRef)?.focus())}})]})}function w1(t,a={}){const{enabled:r=!0,event:l="click",toggle:c=!0,ignoreMouse:d=!1,stickIfOpen:p=!0,touchOpenDelay:x=0,reason:y=br}=a,m="rootStore"in t?t.rootStore:t,b=m.context.dataRef,g=h.useRef(void 0),S=ei(),j=Xn(),E=h.useMemo(()=>{function w(N,T,O,k){const V=yt(y,T,O);N&&k==="touch"&&x>0?j.start(x,()=>{m.setOpen(!0,V)}):m.setOpen(N,V)}function C(N,T,O){const k=b.current.openEvent,V=m.select("domReferenceElement")!==T;return N&&V||!N||!c?!0:k&&p?!O(k.type):!1}return{onPointerDown(N){g.current=N.pointerType},onMouseDown(N){const T=g.current,O=N.nativeEvent,k=m.select("open");if(N.button!==0||l==="click"||ti(T,!0)&&d)return;const V=C(k,N.currentTarget,R=>R==="click"||R==="mousedown"),M=Ln(O);if(vu(M)){w(V,O,M,T);return}const B=N.currentTarget;S.request(()=>{w(V,O,B,T)})},onClick(N){if(l==="mousedown-only")return;const T=g.current;if(l==="mousedown"&&T){g.current=void 0;return}if(ti(T,!0)&&d)return;const O=m.select("open"),k=C(O,N.currentTarget,V=>V==="click"||V==="mousedown"||V==="keydown"||V==="keyup");w(k,N.nativeEvent,N.currentTarget,T)},onKeyDown(){g.current=void 0}}},[b,l,d,y,m,p,c,S,j,x]);return h.useMemo(()=>r?{reference:E}:Ht,[r,E])}function mO(){return!1}function pO(t){return{escapeKey:typeof t=="boolean"?t:t?.escapeKey??!1,outsidePress:typeof t=="boolean"?t:t?.outsidePress??!0}}function _p(t,a={}){const{enabled:r=!0,escapeKey:l=!0,outsidePress:c=!0,outsidePressEvent:d="sloppy",referencePress:p=mO,bubbles:x,externalTree:y}=a,m="rootStore"in t?t.rootStore:t,b=m.useState("open"),g=m.useState("floatingElement"),{dataRef:S}=m.context,j=$a(y),E=We(typeof c=="function"?c:()=>!1),w=typeof c=="function"?E:c,C=w!==!1,N=We(()=>d),{escapeKey:T,outsidePress:O}=pO(x),k=h.useRef(!1),V=h.useRef(!1),M=h.useRef(!1),B=h.useRef(!1),R=h.useRef(""),K=h.useRef(null),Q=Xn(),oe=Xn(),te=We(()=>{oe.clear(),S.current.insideReactTree=!1}),Z=We(X=>{const I=S.current.floatingContext?.nodeId;return(j?Fa(j.nodesRef.current,I):[]).some(q=>q.context?.open&&!q.context.dataRef.current[X])}),ne=We(X=>Kf(X,m.select("floatingElement"))||Kf(X,m.select("domReferenceElement"))),U=We(X=>{p()&&m.setOpen(!1,yt(br,X.nativeEvent))}),_=We(X=>{if(!b||!r||!l||X.key!=="Escape"||B.current||!T&&Z("__escapeKeyBubbles"))return;const I=RC(X)?X.nativeEvent:X,L=yt(pu,I);m.setOpen(!1,L),L.isCanceled||X.preventDefault(),!T&&!L.isPropagationAllowed&&X.stopPropagation()}),D=We(()=>{S.current.insideReactTree=!0,oe.start(0,te)}),Y=We(X=>{if(!b||!r||X.button!==0)return;const I=Ln(X.nativeEvent);Je(m.select("floatingElement"),I)&&(k.current||(k.current=!0,V.current=!1))}),H=We(X=>{!b||!r||(X.defaultPrevented||X.nativeEvent.defaultPrevented)&&k.current&&(V.current=!0)});h.useEffect(()=>{if(!b||!r)return;S.current.__escapeKeyBubbles=T,S.current.__outsidePressBubbles=O;const X=new ys,I=new ys;function L(){X.clear(),B.current=!0}function q(){X.start(Or?5:0,()=>{B.current=!1})}function ee(){M.current=!0,I.start(0,()=>{M.current=!1})}function pe(){k.current=!1,V.current=!1}function ae(){const P=R.current,G=P==="pen"||!P?"mouse":P,Te=N(),ye=typeof Te=="function"?Te():Te;return typeof ye=="string"?ye:ye[G]}function de(P){const G=ae();return G==="intentional"&&P.type!=="click"||G==="sloppy"&&P.type==="click"}function Ie(P){const G=S.current.floatingContext?.nodeId,Te=j&&Fa(j.nodesRef.current,G).some(ye=>Kf(P,ye.context?.elements.floating));return ne(P)||Te}function Ae(P){if(de(P)){P.type!=="click"&&!ne(P)&&(I.clear(),M.current=!1),te();return}if(S.current.insideReactTree){te();return}const G=Ln(P),Te=`[${ni("inert")}]`,ye=pt(G)?G.getRootNode():null,re=Array.from((Ro(ye)?ye:xt(m.select("floatingElement"))).querySelectorAll(Te)),Oe=m.context.triggerElements;if(G&&(Oe.hasElement(G)||Oe.hasMatchingElement(Qe=>Je(Qe,G))))return;let Ue=pt(G)?G:null;for(;Ue&&!na(Ue);){const Qe=ia(Ue);if(na(Qe)||!pt(Qe))break;Ue=Qe}if(!(re.length&&pt(G)&&!_C(G)&&!Je(G,m.select("floatingElement"))&&re.every(Qe=>!Je(Ue,Qe)))){if(Ut(G)&&!("touches"in P)){const Qe=na(G),ht=$n(G),Dt=/auto|scroll/,dt=Qe||Dt.test(ht.overflowX),It=Qe||Dt.test(ht.overflowY),Tt=dt&&G.clientWidth>0&&G.scrollWidth>G.clientWidth,Yt=It&&G.clientHeight>0&&G.scrollHeight>G.clientHeight,we=ht.direction==="rtl",ve=Yt&&(we?P.offsetX<=G.offsetWidth-G.clientWidth:P.offsetX>G.clientWidth),qe=Tt&&P.offsetY>G.clientHeight;if(ve||qe)return}if(!Ie(P)){if(ae()==="intentional"&&M.current){I.clear(),M.current=!1;return}typeof w=="function"&&!w(P)||Z("__outsidePressBubbles")||(m.setOpen(!1,yt(pp,P)),te())}}}function Ce(P){ae()!=="sloppy"||P.pointerType==="touch"||!m.select("open")||!r||ne(P)||Ae(P)}function Be(P){if(ae()!=="sloppy"||!m.select("open")||!r||ne(P))return;const G=P.touches[0];G&&(K.current={startTime:Date.now(),startX:G.clientX,startY:G.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},Q.start(1e3,()=>{K.current&&(K.current.dismissOnTouchEnd=!1,K.current.dismissOnMouseDown=!1)}))}function xe(P,G){const Te=Ln(P);if(!Te)return;const ye=ut(Te,P.type,()=>{G(P),ye()})}function ue(P){R.current="touch",xe(P,Be)}function He(P){Q.clear(),P.type==="pointerdown"&&(R.current=P.pointerType),!(P.type==="mousedown"&&K.current&&!K.current.dismissOnMouseDown)&&xe(P,G=>{G.type==="pointerdown"?Ce(G):Ae(G)})}function _e(P){if(!k.current)return;const G=V.current;if(pe(),ae()==="intentional"){if(P.type==="pointercancel"){G&&ee();return}if(!Ie(P)){if(G){ee();return}typeof w=="function"&&!w(P)||(I.clear(),M.current=!0,te())}}}function ze(P){if(ae()!=="sloppy"||!K.current||ne(P))return;const G=P.touches[0];if(!G)return;const Te=Math.abs(G.clientX-K.current.startX),ye=Math.abs(G.clientY-K.current.startY),re=Math.sqrt(Te*Te+ye*ye);re>5&&(K.current.dismissOnTouchEnd=!0),re>10&&(Ae(P),Q.clear(),K.current=null)}function Se(P){xe(P,ze)}function fe(P){ae()!=="sloppy"||!K.current||ne(P)||(K.current.dismissOnTouchEnd&&Ae(P),Q.clear(),K.current=null)}function Re(P){xe(P,fe)}const Me=xt(g),J=ks(l&&ks(ut(Me,"keydown",_),ut(Me,"compositionstart",L),ut(Me,"compositionend",q)),C&&ks(ut(Me,"click",He,!0),ut(Me,"pointerdown",He,!0),ut(Me,"pointerup",_e,!0),ut(Me,"pointercancel",_e,!0),ut(Me,"mousedown",He,!0),ut(Me,"mouseup",_e,!0),ut(Me,"touchstart",ue,!0),ut(Me,"touchmove",Se,!0),ut(Me,"touchend",Re,!0)));return()=>{J(),X.clear(),I.clear(),pe(),M.current=!1}},[S,g,l,C,w,b,r,T,O,_,te,N,Z,ne,j,m,Q]),h.useEffect(te,[w,te]);const F=h.useMemo(()=>({onKeyDown:_,onPointerDown:U,onClick:U}),[_,U]),z=h.useMemo(()=>({onKeyDown:_,onPointerDown:H,onMouseDown:H,onClickCapture:D,onMouseDownCapture(X){D(),Y(X)},onPointerDownCapture(X){D(),Y(X)},onMouseUpCapture:D,onTouchEndCapture:D,onTouchMoveCapture:D}),[_,D,Y,H]);return h.useMemo(()=>r?{reference:F,floating:z,trigger:F}:{},[r,F,z])}function Qb(t,a,r){let{reference:l,floating:c}=t;const d=is(a),p=jp(a),x=Np(p),y=Gn(a),m=d==="y",b=l.x+l.width/2-c.width/2,g=l.y+l.height/2-c.height/2,S=l[x]/2-c[x]/2;let j;switch(y){case"top":j={x:b,y:l.y-c.height};break;case"bottom":j={x:b,y:l.y+l.height};break;case"right":j={x:l.x+l.width,y:g};break;case"left":j={x:l.x-c.width,y:g};break;default:j={x:l.x,y:l.y}}const E=Ga(a);return E&&(j[p]+=S*(E==="end"?1:-1)*(r&&m?-1:1)),j}async function hO(t,a){var r;a===void 0&&(a={});const{x:l,y:c,platform:d,rects:p,elements:x,strategy:y}=t,{boundary:m="clippingAncestors",rootBoundary:b="viewport",elementContext:g="floating",altBoundary:S=!1,padding:j=0}=ua(a,t),E=s1(j),C=x[S?g==="floating"?"reference":"floating":g],N=Wc(await d.getClippingRect({element:(r=await(d.isElement==null?void 0:d.isElement(C)))==null||r?C:C.contextElement||await(d.getDocumentElement==null?void 0:d.getDocumentElement(x.floating)),boundary:m,rootBoundary:b,strategy:y})),T=g==="floating"?{x:l,y:c,width:p.floating.width,height:p.floating.height}:p.reference,O=await(d.getOffsetParent==null?void 0:d.getOffsetParent(x.floating)),k=await(d.isElement==null?void 0:d.isElement(O))&&await(d.getScale==null?void 0:d.getScale(O))||{x:1,y:1},V=Wc(d.convertOffsetParentRelativeRectToViewportRelativeRect?await d.convertOffsetParentRelativeRectToViewportRelativeRect({elements:x,rect:T,offsetParent:O,strategy:y}):T);return{top:(N.top-V.top+E.top)/k.y,bottom:(V.bottom-N.bottom+E.bottom)/k.y,left:(N.left-V.left+E.left)/k.x,right:(V.right-N.right+E.right)/k.x}}const gO=50,xO=async(t,a,r)=>{const{placement:l="bottom",strategy:c="absolute",middleware:d=[],platform:p}=r,x=p.detectOverflow?p:{...p,detectOverflow:hO},y=await(p.isRTL==null?void 0:p.isRTL(a));let m=await p.getElementRects({reference:t,floating:a,strategy:c}),{x:b,y:g}=Qb(m,l,y),S=l,j=0;const E={};for(let w=0;w<d.length;w++){const C=d[w];if(!C)continue;const{name:N,fn:T}=C,{x:O,y:k,data:V,reset:M}=await T({x:b,y:g,initialPlacement:l,placement:S,strategy:c,middlewareData:E,rects:m,platform:x,elements:{reference:t,floating:a}});b=O??b,g=k??g,E[N]={...E[N],...V},M&&j<gO&&(j++,typeof M=="object"&&(M.placement&&(S=M.placement),M.rects&&(m=M.rects===!0?await p.getElementRects({reference:t,floating:a,strategy:c}):M.rects),{x:b,y:g}=Qb(m,S,y)),w=-1)}return{x:b,y:g,placement:S,strategy:c,middlewareData:E}},yO=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(a){var r,l;const{placement:c,middlewareData:d,rects:p,initialPlacement:x,platform:y,elements:m}=a,{mainAxis:b=!0,crossAxis:g=!0,fallbackPlacements:S,fallbackStrategy:j="bestFit",fallbackAxisSideDirection:E="none",flipAlignment:w=!0,...C}=ua(t,a);if((r=d.arrow)!=null&&r.alignmentOffset)return{};const N=Gn(c),T=is(x),O=Gn(x)===x,k=await(y.isRTL==null?void 0:y.isRTL(m.floating)),V=S||(O||!w?[Jc(x)]:PC(x)),M=E!=="none";!S&&M&&V.push(...GC(x,w,E,k));const B=[x,...V],R=await y.detectOverflow(a,C),K=[];let Q=((l=d.flip)==null?void 0:l.overflows)||[];if(b&&K.push(R[N]),g){const ne=YC(c,p,k);K.push(R[ne[0]],R[ne[1]])}if(Q=[...Q,{placement:c,overflows:K}],!K.every(ne=>ne<=0)){var oe,te;const ne=(((oe=d.flip)==null?void 0:oe.index)||0)+1,U=B[ne];if(U&&(!(g==="alignment"?T!==is(U):!1)||Q.every(Y=>is(Y.placement)===T?Y.overflows[0]>0:!0)))return{data:{index:ne,overflows:Q},reset:{placement:U}};let _=(te=Q.filter(D=>D.overflows[0]<=0).sort((D,Y)=>D.overflows[1]-Y.overflows[1])[0])==null?void 0:te.placement;if(!_)switch(j){case"bestFit":{var Z;const D=(Z=Q.filter(Y=>{if(M){const H=is(Y.placement);return H===T||H==="y"}return!0}).map(Y=>[Y.placement,Y.overflows.filter(H=>H>0).reduce((H,F)=>H+F,0)]).sort((Y,H)=>Y[1]-H[1])[0])==null?void 0:Z[0];D&&(_=D);break}case"initialPlacement":_=x;break}if(c!==_)return{reset:{placement:_}}}return{}}}};function Zb(t,a){return{top:t.top-a.height,right:t.right-a.width,bottom:t.bottom-a.height,left:t.left-a.width}}function Jb(t){return UC.some(a=>t[a]>=0)}const bO=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(a){const{rects:r,platform:l}=a,{strategy:c="referenceHidden",...d}=ua(t,a);switch(c){case"referenceHidden":{const p=await l.detectOverflow(a,{...d,elementContext:"reference"}),x=Zb(p,r.reference);return{data:{referenceHiddenOffsets:x,referenceHidden:Jb(x)}}}case"escaped":{const p=await l.detectOverflow(a,{...d,altBoundary:!0}),x=Zb(p,r.floating);return{data:{escapedOffsets:x,escaped:Jb(x)}}}default:return{}}}}},C1=new Set(["left","top"]);async function vO(t,a){const{placement:r,platform:l,elements:c}=t,d=await(l.isRTL==null?void 0:l.isRTL(c.floating)),p=Gn(r),x=Ga(r),y=is(r)==="y",m=C1.has(p)?-1:1,b=d&&y?-1:1,g=ua(a,t);let{mainAxis:S,crossAxis:j,alignmentAxis:E}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return x&&typeof E=="number"&&(j=x==="end"?E*-1:E),y?{x:j*b,y:S*m}:{x:S*m,y:j*b}}const SO=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(a){var r,l;const{x:c,y:d,placement:p,middlewareData:x}=a,y=await vO(a,t);return p===((r=x.offset)==null?void 0:r.placement)&&(l=x.arrow)!=null&&l.alignmentOffset?{}:{x:c+y.x,y:d+y.y,data:{...y,placement:p}}}}},NO=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(a){const{x:r,y:l,placement:c,platform:d}=a,{mainAxis:p=!0,crossAxis:x=!1,limiter:y={fn:T=>{let{x:O,y:k}=T;return{x:O,y:k}}},...m}=ua(t,a),b={x:r,y:l},g=await d.detectOverflow(a,m),S=is(c),j=Sp(S);let E=b[j],w=b[S];const C=(T,O)=>n1(O+g[T==="y"?"top":"left"],O,O-g[T==="y"?"bottom":"right"]);p&&(E=C(j,E)),x&&(w=C(S,w));const N=y.fn({...a,[j]:E,[S]:w});return{...N,data:{x:N.x-r,y:N.y-l,enabled:{[j]:p,[S]:x}}}}}},jO=function(t){return t===void 0&&(t={}),{options:t,fn(a){var r,l;const{x:c,y:d,placement:p,rects:x,middlewareData:y}=a,{offset:m=0,mainAxis:b=!0,crossAxis:g=!0}=ua(t,a),S={x:c,y:d},j=is(p),E=Sp(j);let w=S[E],C=S[j];const N=ua(m,a),T=typeof N=="number"?{mainAxis:N,crossAxis:0}:{mainAxis:(r=N.mainAxis)!=null?r:0,crossAxis:(l=N.crossAxis)!=null?l:0};if(b){const V=E==="y"?"height":"width",M=x.reference[E]-x.floating[V]+T.mainAxis,B=x.reference[E]+x.reference[V]-T.mainAxis;w<M?w=M:w>B&&(w=B)}if(g){var O,k;const V=E==="y"?"width":"height",M=C1.has(Gn(p)),B=x.reference[j]-x.floating[V]+(M&&((O=y.offset)==null?void 0:O[j])||0)+(M?0:T.crossAxis),R=x.reference[j]+x.reference[V]+(M?0:((k=y.offset)==null?void 0:k[j])||0)-(M?T.crossAxis:0);C<B?C=B:C>R&&(C=R)}return{[E]:w,[j]:C}}}},EO=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(a){const{placement:r,rects:l,platform:c,elements:d}=a,{apply:p=()=>{},...x}=ua(t,a),y=await c.detectOverflow(a,x),m=Gn(r),b=Ga(r),g=is(r)==="y",{width:S,height:j}=l.floating;let E,w;m==="top"||m==="bottom"?(E=m,w=b===(await(c.isRTL==null?void 0:c.isRTL(d.floating))?"start":"end")?"left":"right"):(w=m,E=b==="end"?"top":"bottom");const C=j-y.top-y.bottom,N=S-y.left-y.right,T=_o(j-y[E],C),O=_o(S-y[w],N),k=a.middlewareData.shift,V=!k;let M=T,B=O;k!=null&&k.enabled.x&&(B=N),k!=null&&k.enabled.y&&(M=C),V&&!b&&(g?B=S-2*aa(y.left,y.right):M=j-2*aa(y.top,y.bottom)),await p({...a,availableWidth:B,availableHeight:M});const R=await c.getDimensions(d.floating);return S!==R.width||j!==R.height?{reset:{rects:!0}}:{}}}};function O1(t){const a=$n(t);let r=parseFloat(a.width)||0,l=parseFloat(a.height)||0;const c=Ut(t),d=c?t.offsetWidth:r,p=c?t.offsetHeight:l,x=Zc(r)!==d||Zc(l)!==p;return x&&(r=d,l=p),{width:r,height:l,$:x}}function Ap(t){return pt(t)?t:t.contextElement}function wo(t){const a=Ap(t);if(!Ut(a))return ra(1);const r=a.getBoundingClientRect(),{width:l,height:c,$:d}=O1(a);let p=(d?Zc(r.width):r.width)/l,x=(d?Zc(r.height):r.height)/c;return(!p||!Number.isFinite(p))&&(p=1),(!x||!Number.isFinite(x))&&(x=1),{x:p,y:x}}const TO=ra(0);function R1(t){const a=Qt(t);return!ip()||!a.visualViewport?TO:{x:a.visualViewport.offsetLeft,y:a.visualViewport.offsetTop}}function wO(t,a,r){return a===void 0&&(a=!1),!!r&&a&&r===Qt(t)}function Nr(t,a,r,l){a===void 0&&(a=!1),r===void 0&&(r=!1);const c=t.getBoundingClientRect(),d=Ap(t);let p=ra(1);a&&(l?pt(l)&&(p=wo(l)):p=wo(t));const x=wO(d,r,l)?R1(d):ra(0);let y=(c.left+x.x)/p.x,m=(c.top+x.y)/p.y,b=c.width/p.x,g=c.height/p.y;if(d&&l){const S=Qt(d),j=pt(l)?Qt(l):l;let E=S,w=jm(E);for(;w&&j!==E;){const C=wo(w),N=w.getBoundingClientRect(),T=$n(w),O=N.left+(w.clientLeft+parseFloat(T.paddingLeft))*C.x,k=N.top+(w.clientTop+parseFloat(T.paddingTop))*C.y;y*=C.x,m*=C.y,b*=C.x,g*=C.y,y+=O,m+=k,E=Qt(w),w=jm(E)}}return Wc({width:b,height:g,x:y,y:m})}function Nu(t,a){const r=du(t).scrollLeft;return a?a.left+r:Nr(fa(t)).left+r}function k1(t,a){const r=t.getBoundingClientRect(),l=r.left+a.scrollLeft-Nu(t,r),c=r.top+a.scrollTop;return{x:l,y:c}}function CO(t){let{elements:a,rect:r,offsetParent:l,strategy:c}=t;const d=c==="fixed",p=fa(l),x=a?uu(a.floating):!1;if(l===p||x&&d)return r;let y={scrollLeft:0,scrollTop:0},m=ra(1);const b=ra(0),g=Ut(l);if((g||!d)&&((Nn(l)!=="body"||wr(p))&&(y=du(l)),g)){const j=Nr(l);m=wo(l),b.x=j.x+l.clientLeft,b.y=j.y+l.clientTop}const S=p&&!g&&!d?k1(p,y):ra(0);return{width:r.width*m.x,height:r.height*m.y,x:r.x*m.x-y.scrollLeft*m.x+b.x+S.x,y:r.y*m.y-y.scrollTop*m.y+b.y+S.y}}function OO(t){return t.getClientRects?Array.from(t.getClientRects()):[]}function RO(t){const a=du(t),r=t.ownerDocument.body,l=aa(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),c=aa(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let d=-a.scrollLeft+Nu(t);const p=-a.scrollTop;return $n(r).direction==="rtl"&&(d+=aa(t.clientWidth,r.clientWidth)-l),{width:l,height:c,x:d,y:p}}const kO=25;function _O(t,a,r){r===void 0&&(r="viewport");const l=r==="layoutViewport",c=Qt(t),d=fa(t),p=c.visualViewport;let x=d.clientWidth,y=d.clientHeight,m=0,b=0;if(p){const S=!ip()||a==="fixed";l?S||(m=-p.offsetLeft,b=-p.offsetTop):(x=p.width,y=p.height,S&&(m=p.offsetLeft,b=p.offsetTop))}if(Nu(d)<=0){const S=d.ownerDocument,j=S.body,E=getComputedStyle(j),w=S.compatMode==="CSS1Compat"&&parseFloat(E.marginLeft)+parseFloat(E.marginRight)||0,C=Math.abs(d.clientWidth-j.clientWidth-w),N=getComputedStyle(d).scrollbarGutter==="stable both-edges"?C/2:C;N<=kO&&(x-=N)}return{width:x,height:y,x:m,y:b}}function AO(t,a){const r=Nr(t,!0,a==="fixed"),l=r.top+t.clientTop,c=r.left+t.clientLeft,d=wo(t),p=t.clientWidth*d.x,x=t.clientHeight*d.y,y=c*d.x,m=l*d.y;return{width:p,height:x,x:y,y:m}}function Wb(t,a,r){let l;if(a==="viewport"||a==="layoutViewport")l=_O(t,r,a);else if(a==="document")l=RO(fa(t));else if(pt(a))l=AO(a,r);else{const c=R1(t);l={x:a.x-c.x,y:a.y-c.y,width:a.width,height:a.height}}return Wc(l)}function MO(t,a){const r=a.get(t);if(r)return r;let l=Zl(t,[],!1).filter(x=>pt(x)&&Nn(x)!=="body"),c=null;const d=$n(t).position==="fixed";let p=d?ia(t):t;for(;pt(p)&&!na(p);){const x=$n(p),y=lp(p),m=c?c.position:d?"fixed":"";!y&&(m==="fixed"||m==="absolute"&&x.position==="static")?l=l.filter(g=>g!==p):c=x,p=ia(p)}return a.set(t,l),l}function DO(t){let{element:a,boundary:r,rootBoundary:l,strategy:c}=t;const p=[...r==="clippingAncestors"?uu(a)?[]:MO(a,this._c):[].concat(r),l],x=Wb(a,p[0],c);let y=x.top,m=x.right,b=x.bottom,g=x.left;for(let S=1;S<p.length;S++){const j=Wb(a,p[S],c);y=aa(j.top,y),m=_o(j.right,m),b=_o(j.bottom,b),g=aa(j.left,g)}return{width:m-g,height:b-y,x:g,y}}function zO(t){const{width:a,height:r}=O1(t);return{width:a,height:r}}function LO(t,a,r){const l=Ut(a),c=fa(a),d=r==="fixed",p=Nr(t,!0,d,a);let x={scrollLeft:0,scrollTop:0};const y=ra(0);if((l||!d)&&((Nn(a)!=="body"||wr(c))&&(x=du(a)),l)){const S=Nr(a,!0,d,a);y.x=S.x+a.clientLeft,y.y=S.y+a.clientTop}!l&&c&&(y.x=Nu(c));const m=c&&!l&&!d?k1(c,x):ra(0),b=p.left+x.scrollLeft-y.x-m.x,g=p.top+x.scrollTop-y.y-m.y;return{x:b,y:g,width:p.width,height:p.height}}function em(t){return $n(t).position==="static"}function ev(t,a){if(!Ut(t)||$n(t).position==="fixed")return null;if(a)return a(t);let r=t.offsetParent;return fa(t)===r&&(r=r.ownerDocument.body),r}function _1(t,a){const r=Qt(t);if(uu(t))return r;if(!Ut(t)){let c=ia(t);for(;c&&!na(c);){if(pt(c)&&!em(c))return c;c=ia(c)}return r}let l=ev(t,a);for(;l&&Nw(l)&&em(l);)l=ev(l,a);return l&&na(l)&&em(l)&&!lp(l)?r:l||Tw(t)||r}const IO=async function(t){const a=this.getOffsetParent||_1,r=this.getDimensions,l=await r(t.floating);return{reference:LO(t.reference,await a(t.floating),t.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function BO(t){return $n(t).direction==="rtl"}const UO={convertOffsetParentRelativeRectToViewportRelativeRect:CO,getDocumentElement:fa,getClippingRect:DO,getOffsetParent:_1,getElementRects:IO,getClientRects:OO,getDimensions:zO,getScale:wo,isElement:pt,isRTL:BO};function A1(t,a){return t.x===a.x&&t.y===a.y&&t.width===a.width&&t.height===a.height}function HO(t,a,r){let l=null,c;const d=fa(t);function p(){var b;clearTimeout(c),(b=l)==null||b.disconnect(),l=null}function x(b,g){b===void 0&&(b=!1),g===void 0&&(g=1),p();const S=t.getBoundingClientRect(),{left:j,top:E,width:w,height:C}=S;if(b||a(),!w||!C)return;const N=Cc(E),T=Cc(d.clientWidth-(j+w)),O=Cc(d.clientHeight-(E+C)),k=Cc(j),M={rootMargin:-N+"px "+-T+"px "+-O+"px "+-k+"px",threshold:aa(0,_o(1,g))||1};let B=!0;function R(K){const Q=K[0].intersectionRatio;if(!A1(S,t.getBoundingClientRect()))return x();if(Q!==g){if(!B)return x();Q?x(!1,Q):c=setTimeout(()=>{x(!1,1e-7)},1e3)}B=!1}try{l=new IntersectionObserver(R,{...M,root:d.ownerDocument})}catch{l=new IntersectionObserver(R,M)}l.observe(t)}const y=Qt(t),m=()=>x(r);return y.addEventListener("resize",m),x(!0),()=>{y.removeEventListener("resize",m),p()}}function tv(t,a,r,l){l===void 0&&(l={});const{ancestorScroll:c=!0,ancestorResize:d=!0,elementResize:p=typeof ResizeObserver=="function",layoutShift:x=typeof IntersectionObserver=="function",animationFrame:y=!1}=l,m=Ap(t),b=c||d?[...m?Zl(m):[],...a?Zl(a):[]]:[];b.forEach(N=>{c&&N.addEventListener("scroll",r),d&&N.addEventListener("resize",r)});const g=m&&x?HO(m,r,d):null;let S=-1,j=null;p&&(j=new ResizeObserver(N=>{let[T]=N;T&&T.target===m&&j&&a&&(j.unobserve(a),cancelAnimationFrame(S),S=requestAnimationFrame(()=>{var O;(O=j)==null||O.observe(a)})),r()}),m&&!y&&j.observe(m),a&&j.observe(a));let E,w=y?Nr(t):null;y&&C();function C(){const N=Nr(t);w&&!A1(w,N)&&r(),w=N,E=requestAnimationFrame(C)}return r(),()=>{var N;b.forEach(T=>{c&&T.removeEventListener("scroll",r),d&&T.removeEventListener("resize",r)}),g?.(),(N=j)==null||N.disconnect(),j=null,y&&cancelAnimationFrame(E)}}const YO=SO,PO=NO,VO=yO,FO=EO,qO=bO,GO=jO,$O=(t,a,r)=>{const l=new Map,c=r??{},d={...UO,...c.platform,_c:l};return xO(t,a,{...c,platform:d})};var XO=typeof document<"u",KO=function(){},Yc=XO?h.useLayoutEffect:KO;function eu(t,a){if(t===a)return!0;if(typeof t!=typeof a)return!1;if(typeof t=="function"&&t.toString()===a.toString())return!0;let r,l,c;if(t&&a&&typeof t=="object"){if(Array.isArray(t)){if(r=t.length,r!==a.length)return!1;for(l=r;l--!==0;)if(!eu(t[l],a[l]))return!1;return!0}if(c=Object.keys(t),r=c.length,r!==Object.keys(a).length)return!1;for(l=r;l--!==0;)if(!{}.hasOwnProperty.call(a,c[l]))return!1;for(l=r;l--!==0;){const d=c[l];if(!(d==="_owner"&&t.$$typeof)&&!eu(t[d],a[d]))return!1}return!0}return t!==t&&a!==a}function M1(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function nv(t,a){const r=M1(t);return Math.round(a*r)/r}function tm(t){const a=h.useRef(t);return Yc(()=>{a.current=t}),a}function QO(t){t===void 0&&(t={});const{placement:a="bottom",strategy:r="absolute",middleware:l=[],platform:c,elements:{reference:d,floating:p}={},transform:x=!0,whileElementsMounted:y,open:m}=t,[b,g]=h.useState({x:0,y:0,strategy:r,placement:a,middlewareData:{},isPositioned:!1}),[S,j]=h.useState(l);eu(S,l)||j(l);const[E,w]=h.useState(null),[C,N]=h.useState(null),T=h.useCallback(Y=>{Y!==M.current&&(M.current=Y,w(Y))},[]),O=h.useCallback(Y=>{Y!==B.current&&(B.current=Y,N(Y))},[]),k=d||E,V=p||C,M=h.useRef(null),B=h.useRef(null),R=h.useRef(b),K=y!=null,Q=tm(y),oe=tm(c),te=tm(m),Z=h.useCallback(()=>{if(!M.current||!B.current)return;const Y={placement:a,strategy:r,middleware:S};oe.current&&(Y.platform=oe.current),$O(M.current,B.current,Y).then(H=>{const F={...H,isPositioned:te.current!==!1};ne.current&&!eu(R.current,F)&&(R.current=F,ca.flushSync(()=>{g(F)}))})},[S,a,r,oe,te]);Yc(()=>{m===!1&&R.current.isPositioned&&(R.current.isPositioned=!1,g(Y=>({...Y,isPositioned:!1})))},[m]);const ne=h.useRef(!1);Yc(()=>(ne.current=!0,()=>{ne.current=!1}),[]),Yc(()=>{if(k&&(M.current=k),V&&(B.current=V),k&&V){if(Q.current)return Q.current(k,V,Z);Z()}},[k,V,Z,Q,K]);const U=h.useMemo(()=>({reference:M,floating:B,setReference:T,setFloating:O}),[T,O]),_=h.useMemo(()=>({reference:k,floating:V}),[k,V]),D=h.useMemo(()=>{const Y={position:r,left:0,top:0};if(!_.floating)return Y;const H=nv(_.floating,b.x),F=nv(_.floating,b.y);return x?{...Y,transform:"translate("+H+"px, "+F+"px)",...M1(_.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:H,top:F}},[r,x,_.floating,b.x,b.y]);return h.useMemo(()=>({...b,update:Z,refs:U,elements:_,floatingStyles:D}),[b,Z,U,_,D])}const ZO=(t,a)=>{const r=YO(t);return{name:r.name,fn:r.fn,options:[t,a]}},JO=(t,a)=>{const r=PO(t);return{name:r.name,fn:r.fn,options:[t,a]}},WO=(t,a)=>({fn:GO(t).fn,options:[t,a]}),eR=(t,a)=>{const r=VO(t);return{name:r.name,fn:r.fn,options:[t,a]}},tR=(t,a)=>{const r=FO(t);return{name:r.name,fn:r.fn,options:[t,a]}},nR=(t,a)=>{const r=qO(t);return{name:r.name,fn:r.fn,options:[t,a]}};function D1(t){const a=h.useRef(!0);a.current&&(a.current=!1,t())}const Ve=(t,a,r,l,c,d,...p)=>{if(p.length>0)throw new Error(Tn(1));let x;if(t)x=t;else throw new Error("Missing arguments");return x};var nm={exports:{}},sm={};var sv;function sR(){if(sv)return sm;sv=1;var t=si();function a(g,S){return g===S&&(g!==0||1/g===1/S)||g!==g&&S!==S}var r=typeof Object.is=="function"?Object.is:a,l=t.useState,c=t.useEffect,d=t.useLayoutEffect,p=t.useDebugValue;function x(g,S){var j=S(),E=l({inst:{value:j,getSnapshot:S}}),w=E[0].inst,C=E[1];return d(function(){w.value=j,w.getSnapshot=S,y(w)&&C({inst:w})},[g,j,S]),c(function(){return y(w)&&C({inst:w}),g(function(){y(w)&&C({inst:w})})},[g]),p(j),j}function y(g){var S=g.getSnapshot;g=g.value;try{var j=S();return!r(g,j)}catch{return!0}}function m(g,S){return S()}var b=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?m:x;return sm.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:b,sm}var av;function z1(){return av||(av=1,nm.exports=sR()),nm.exports}var L1=z1(),am={exports:{}},rm={};var rv;function aR(){if(rv)return rm;rv=1;var t=si(),a=z1();function r(m,b){return m===b&&(m!==0||1/m===1/b)||m!==m&&b!==b}var l=typeof Object.is=="function"?Object.is:r,c=a.useSyncExternalStore,d=t.useRef,p=t.useEffect,x=t.useMemo,y=t.useDebugValue;return rm.useSyncExternalStoreWithSelector=function(m,b,g,S,j){var E=d(null);if(E.current===null){var w={hasValue:!1,value:null};E.current=w}else w=E.current;E=x(function(){function N(M){if(!T){if(T=!0,O=M,M=S(M),j!==void 0&&w.hasValue){var B=w.value;if(j(B,M))return k=B}return k=M}if(B=k,l(O,M))return B;var R=S(M);return j!==void 0&&j(B,R)?(O=M,B):(O=M,k=R)}var T=!1,O,k,V=g===void 0?null:g;return[function(){return N(b())},V===null?void 0:function(){return N(V())}]},[b,g,S,j]);var C=c(m,E[0],E[1]);return p(function(){w.hasValue=!0,w.value=C},[C]),y(C),C},rm}var ov;function rR(){return ov||(ov=1,am.exports=aR()),am.exports}var oR=rR();const Im=[];let Bm;function lR(){return Bm}function iR(t){Im.push(t)}function I1(t){const a=(r,l)=>{const c=In(uR).current;let d;try{Bm=c;for(const p of Im)p.before(c);d=t(r,l);for(const p of Im)p.after(c);c.didInitialize=!0}finally{Bm=void 0}return d};return a.displayName=t.displayName||t.name,a}function cR(t){return h.forwardRef(I1(t))}function uR(){return{didInitialize:!1}}const dR=mp(19),fR=dR?pR:hR;function B1(t,a,r,l,c){return fR(t,a,r,l,c)}function mR(t,a,r,l,c){const d=h.useCallback(()=>a(t.getSnapshot(),r,l,c),[t,a,r,l,c]);return L1.useSyncExternalStore(t.subscribe,d,d)}iR({before(t){t.syncIndex=0,t.didInitialize||(t.syncTick=1,t.syncHooks=[],t.didChangeStore=!0,t.getSnapshot=()=>{let a=!1;for(let r=0;r<t.syncHooks.length;r+=1){const l=t.syncHooks[r],c=l.selector(l.store.state,l.a1,l.a2,l.a3);Object.is(l.value,c)||(a=!0,l.value=c)}return a&&(t.syncTick+=1),t.syncTick})},after(t){t.syncHooks.length>0&&(t.didChangeStore&&(t.didChangeStore=!1,t.subscribe=a=>{const r=new Set;for(const c of t.syncHooks)r.add(c.store);const l=[];for(const c of r)l.push(c.subscribe(a));return()=>{for(const c of l)c()}}),L1.useSyncExternalStore(t.subscribe,t.getSnapshot,t.getSnapshot))}});function pR(t,a,r,l,c){const d=lR();if(!d)return mR(t,a,r,l,c);const p=d.syncIndex;d.syncIndex+=1;let x;return d.didInitialize?(x=d.syncHooks[p],(x.store!==t||x.selector!==a||!Object.is(x.a1,r)||!Object.is(x.a2,l)||!Object.is(x.a3,c))&&(x.store!==t&&(d.didChangeStore=!0),x.store=t,x.selector=a,x.a1=r,x.a2=l,x.a3=c,x.value=a(t.getSnapshot(),r,l,c))):(x={store:t,selector:a,a1:r,a2:l,a3:c,value:a(t.getSnapshot(),r,l,c)},d.syncHooks.push(x)),x.value}function hR(t,a,r,l,c){return oR.useSyncExternalStoreWithSelector(t.subscribe,t.getSnapshot,t.getSnapshot,d=>a(d,r,l,c))}class gR{constructor(a){this.state=a,this.listeners=new Set,this.updateTick=0}subscribe=a=>(this.listeners.add(a),()=>{this.listeners.delete(a)});getSnapshot=()=>this.state;setState(a){if(this.state===a)return;this.state=a,this.updateTick+=1;const r=this.updateTick;for(const l of this.listeners){if(r!==this.updateTick)return;l(a)}}update(a){for(const r in a)if(!Object.is(this.state[r],a[r])){this.setState({...this.state,...a});return}}set(a,r){Object.is(this.state[a],r)||this.setState({...this.state,[a]:r})}notifyAll(){const a={...this.state};this.setState(a)}use(a,r,l,c){return B1(this,a,r,l,c)}}class ju extends gR{constructor(a,r={},l){super(a),this.context=r,this.selectors=l}useSyncedValue(a,r){h.useDebugValue(a);const l=this;Xe(()=>{l.state[a]!==r&&l.set(a,r)},[l,a,r])}useSyncedValueWithCleanup(a,r){const l=this;Xe(()=>(l.state[a]!==r&&l.set(a,r),()=>{l.set(a,void 0)}),[l,a,r])}useSyncedValues(a){const r=this,l=Object.values(a);Xe(()=>{r.update(a)},[r,...l])}useControlledProp(a,r){h.useDebugValue(a);const l=this,c=r!==void 0;Xe(()=>{c&&!Object.is(l.state[a],r)&&l.setState({...l.state,[a]:r})},[l,a,r,c])}select(a,r,l,c){const d=this.selectors[a];return d(this.state,r,l,c)}useState(a,r,l,c){return h.useDebugValue(a),B1(this,this.selectors[a],r,l,c)}useContextCallback(a,r){h.useDebugValue(a);const l=We(r??mn);this.context[a]=l}useStateSetter(a){const r=h.useRef(void 0);return r.current===void 0&&(r.current=l=>{this.set(a,l)}),r.current}observe(a,r){let l;typeof a=="function"?l=a:l=this.selectors[a];let c=l(this.state);return r(c,c,this),this.subscribe(d=>{const p=l(d);if(!Object.is(c,p)){const x=c;c=p,r(p,x,this)}})}}const xR={open:Ve(t=>t.open),transitionStatus:Ve(t=>t.transitionStatus),domReferenceElement:Ve(t=>t.domReferenceElement),referenceElement:Ve(t=>t.positionReference??t.referenceElement),floatingElement:Ve(t=>t.floatingElement),floatingId:Ve(t=>t.floatingId)};class Eu extends ju{constructor(a){const{syncOnly:r,nested:l,onOpenChange:c,triggerElements:d,...p}=a;super({...p,positionReference:p.referenceElement,domReferenceElement:p.referenceElement},{onOpenChange:c,dataRef:{current:{}},events:S1(),nested:l,triggerElements:d},xR),this.syncOnly=r}syncOpenEvent=(a,r)=>{(!a||!this.state.open||r!=null&&kC(r))&&(this.context.dataRef.current.openEvent=a?r:void 0)};dispatchOpenChange=(a,r)=>{this.syncOpenEvent(a,r.event);const l={open:a,reason:r.reason,nativeEvent:r.event,nested:this.context.nested,triggerElement:r.trigger};this.context.events.emit("openchange",l)};setOpen=(a,r)=>{if(this.syncOnly){this.context.onOpenChange?.(a,r);return}this.dispatchOpenChange(a,r),this.context.onOpenChange?.(a,r)}}function U1(t){const{popupStore:a,treatPopupAsFloatingElement:r=!1,floatingRootContext:l,floatingId:c,nested:d,onOpenChange:p}=t,x=a.useState("open"),y=a.useState("activeTriggerElement"),m=a.useState(r?"popupElement":"positionerElement"),b=a.context.triggerElements,g=p,S=h.useRef(null);l===void 0&&S.current===null&&(S.current=new Eu({open:x,transitionStatus:void 0,referenceElement:y,floatingElement:m,triggerElements:b,onOpenChange:g,floatingId:c,syncOnly:!0,nested:d}));const j=l??S.current;return a.useSyncedValue("floatingId",c),Xe(()=>{const E={open:x,floatingId:c,referenceElement:y,floatingElement:m};pt(y)&&(E.domReferenceElement=y),j.state.positionReference===j.state.referenceElement&&(E.positionReference=y),j.update(E)},[x,c,y,m,j]),j.context.onOpenChange=g,j.context.nested=d,j}const Tu={tabIndex:-1,[km]:""};function H1(t){return a=>a==="touch"?t.current:!0}function Y1(t,a,r=!1){const l=Sr(),c=ma()!=null,d=h.useRef(null);t===void 0&&d.current===null&&(d.current=a(l,c));const p=t??d.current;return U1({popupStore:p,treatPopupAsFloatingElement:r,floatingRootContext:p.state.floatingRootContext,floatingId:l,nested:c,onOpenChange:p.setOpen}),{store:p,internalStore:d.current}}function yR(t,a){const r=h.useRef(null),l=h.useRef(null);return h.useCallback(c=>{if(t===void 0)return;let d=!1;if(r.current!==null){const p=r.current,x=l.current,y=a.context.triggerElements.getById(p);x&&y===x&&(a.context.triggerElements.delete(p),d=!0),r.current=null,l.current=null}if(c!==null&&(r.current=t,l.current=c,a.context.triggerElements.add(t,c),d=!0),d){const p=a.context.triggerElements.size;a.select("open")&&a.state.triggerCount!==p&&a.set("triggerCount",p)}},[a,t])}function Mp(t,a,r,l=!1){a?t.preventUnmountingOnClose=!1:l&&(t.preventUnmountingOnClose=!0);const c=r?.id??null;(c||a)&&(t.activeTriggerId=c,t.activeTriggerElement=r??null)}function P1(t){let a=!1;return t.preventUnmountOnClose=()=>{a=!0},()=>a}function V1(t,a,r,l){D1(()=>{a===void 0&&t.state.open===!1&&r&&(t.state={...t.state,open:!0,activeTriggerId:l,preventUnmountingOnClose:!1})})}function F1(t,a,r,l){const c=r.useState("isMountedByTrigger",t),d=yR(t,r),p=We(x=>{if(d(x),!x)return;const y=r.select("open"),m=r.select("activeTriggerId");if(m===t){r.update({activeTriggerElement:x,...y?l:null});return}m==null&&y&&r.update({activeTriggerId:t,activeTriggerElement:x,...l})});return Xe(()=>{c&&r.update({activeTriggerElement:a.current,...l})},[c,r,a,...Object.values(l)]),{registerTrigger:p,isMountedByThisTrigger:c}}function Dp(t,a={}){const{closeOnActiveTriggerUnmount:r=!1}=a,l=t.useState("open"),c=t.useState("triggerCount");Xe(()=>{if(!l){t.state.triggerCount!==0&&t.set("triggerCount",0);return}const d=t.context.triggerElements.size,p={};t.state.triggerCount!==d&&(p.triggerCount=d);const x=t.select("activeTriggerId");let y=null;if(x){const m=t.context.triggerElements.getById(x);m?m!==t.state.activeTriggerElement&&(p.activeTriggerElement=m):y=x}if(!y&&!x&&d===1){const m=t.context.triggerElements.entries().next();if(!m.done){const[b,g]=m.value;p.activeTriggerId=b,p.activeTriggerElement=g}}(p.triggerCount!==void 0||p.activeTriggerId!==void 0||p.activeTriggerElement!==void 0)&&t.update(p),y&&r&&queueMicrotask(()=>{if(t.select("open")&&t.select("activeTriggerId")===y&&!t.context.triggerElements.getById(y)){const m=yt(q0);t.setOpen(!1,m),m.isCanceled||t.update({activeTriggerId:null,activeTriggerElement:null})}})},[l,t,c,r])}function zp(t,a,r){const{mounted:l,setMounted:c,transitionStatus:d}=jC(t),p=a.useState("preventUnmountingOnClose"),x=t?!1:p;a.useSyncedValues({mounted:l,transitionStatus:d,preventUnmountingOnClose:x});const y=We(()=>{c(!1),a.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1,preventUnmountingOnClose:!1}),r?.(),a.context.onOpenChangeComplete?.(!1)});return xu({enabled:l&&!t&&!x,open:t,ref:a.context.popupRef,onComplete(){t||y()}}),{forceUnmount:y,transitionStatus:d}}function Lp(t,a){t.useSyncedValues(a),Xe(()=>()=>{t.update({activeTriggerProps:Ht,inactiveTriggerProps:Ht,popupProps:Ht})},[t])}function q1(t,a){Xe(()=>{!a&&t.state.openMethod!==null&&t.set("openMethod",null)},[a,t]),Xe(()=>()=>{t.state.openMethod!==null&&t.set("openMethod",null)},[t])}class li{constructor(){this.elementsSet=new Set,this.idMap=new Map}add(a,r){const l=this.idMap.get(a);l!==r&&(l!==void 0&&this.elementsSet.delete(l),this.elementsSet.add(r),this.idMap.set(a,r))}delete(a){const r=this.idMap.get(a);r&&(this.elementsSet.delete(r),this.idMap.delete(a))}hasElement(a){return this.elementsSet.has(a)}hasMatchingElement(a){for(const r of this.elementsSet)if(a(r))return!0;return!1}getById(a){return this.idMap.get(a)}entries(){return this.idMap.entries()}elements(){return this.elementsSet.values()}get size(){return this.idMap.size}}function bR(){return new Eu({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:new li,floatingId:void 0,syncOnly:!1,nested:!1,onOpenChange:void 0})}function Ip(){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:bR(),floatingId:void 0,triggerCount:0,preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:Ht,inactiveTriggerProps:Ht,popupProps:Ht}}function G1(t,a,r=!1){return new Eu({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:t,floatingId:a,syncOnly:!0,nested:r,onOpenChange:void 0})}const Fl=Ve(t=>t.triggerIdProp??t.activeTriggerId),Bp=Ve(t=>t.openProp??t.open),lv=Ve(t=>(t.popupElement?.id??t.floatingId)||void 0);function $1(t,a){return a!==void 0&&Bp(t)&&Fl(t)===a}function vR(t,a){return $1(t,a)?!0:a!==void 0&&Bp(t)&&Fl(t)==null&&t.triggerCount===1}const Up={open:Bp,mounted:Ve(t=>t.mounted),transitionStatus:Ve(t=>t.transitionStatus),floatingRootContext:Ve(t=>t.floatingRootContext),triggerCount:Ve(t=>t.triggerCount),preventUnmountingOnClose:Ve(t=>t.preventUnmountingOnClose),payload:Ve(t=>t.payload),activeTriggerId:Fl,activeTriggerElement:Ve(t=>t.mounted?t.activeTriggerElement:null),popupId:lv,isTriggerActive:Ve((t,a)=>a!==void 0&&Fl(t)===a),isOpenedByTrigger:Ve((t,a)=>$1(t,a)),isMountedByTrigger:Ve((t,a)=>a!==void 0&&Fl(t)===a&&t.mounted),triggerProps:Ve((t,a)=>a?t.activeTriggerProps:t.inactiveTriggerProps),triggerPopupId:Ve((t,a)=>vR(t,a)?lv(t):void 0),popupProps:Ve(t=>t.popupProps),popupElement:Ve(t=>t.popupElement),positionerElement:Ve(t=>t.positionerElement)};function SR(t){const{open:a=!1,onOpenChange:r,elements:l={}}=t,c=Sr(),d=ma()!=null,p=In(()=>new Eu({open:a,transitionStatus:void 0,onOpenChange:r,referenceElement:l.reference??null,floatingElement:l.floating??null,triggerElements:new li,floatingId:c,syncOnly:!1,nested:d})).current;return Xe(()=>{const x={open:a,floatingId:c};l.reference!==void 0&&(x.referenceElement=l.reference,x.domReferenceElement=pt(l.reference)?l.reference:null),l.floating!==void 0&&(x.floatingElement=l.floating),p.update(x)},[a,c,l.reference,l.floating,p]),p.context.onOpenChange=r,p.context.nested=d,p}function NR(t={}){const{nodeId:a,externalTree:r}=t,l=SR(t),c=t.rootContext||l,d=c.useState("referenceElement"),p=c.useState("floatingElement"),x=c.useState("domReferenceElement"),y=c.useState("open"),m=c.useState("floatingId"),[b,g]=h.useState(null),[S,j]=h.useState(void 0),[E,w]=h.useState(void 0),C=h.useRef(null),N=$a(r),T=h.useMemo(()=>({reference:d,floating:p,domReference:x}),[d,p,x]),O=QO({...t,elements:{...T,...b&&{reference:b}}}),k=pt(S)?S:null,V=E===void 0?c.state.floatingElement:E;c.useSyncedValue("referenceElement",S??null),c.useSyncedValue("domReferenceElement",S===void 0?x:k),c.useSyncedValue("floatingElement",V);const M=h.useCallback(te=>{const Z=pt(te)?{getBoundingClientRect:()=>te.getBoundingClientRect(),getClientRects:()=>te.getClientRects(),contextElement:te}:te;g(Z),O.refs.setReference(Z)},[O.refs]),B=h.useCallback(te=>{(pt(te)||te===null)&&(C.current=te,j(te)),(pt(O.refs.reference.current)||O.refs.reference.current===null||te!==null&&!pt(te))&&O.refs.setReference(te)},[O.refs,j]),R=h.useCallback(te=>{w(te),O.refs.setFloating(te)},[O.refs]),K=h.useMemo(()=>({...O.refs,setReference:B,setFloating:R,setPositionReference:M,domReference:C}),[O.refs,B,R,M]),Q=h.useMemo(()=>({...O.elements,domReference:x}),[O.elements,x]),oe=h.useMemo(()=>({...O,dataRef:c.context.dataRef,open:y,onOpenChange:c.setOpen,events:c.context.events,floatingId:m,refs:K,elements:Q,nodeId:a,rootStore:c}),[O,K,Q,a,c,y,m]);return Xe(()=>{x&&(C.current=x)},[x]),Xe(()=>{c.context.dataRef.current.floatingContext=oe;const te=N?.nodesRef.current.find(Z=>Z.id===a);te&&(te.context=oe)}),h.useMemo(()=>({...O,context:oe,refs:K,elements:Q,rootStore:c}),[O,K,Q,oe,c])}const om=gp&&Or;function jR(t,a={}){const{enabled:r=!0,delay:l}=a,c="rootStore"in t?t.rootStore:t,{events:d,dataRef:p}=c.context,x=h.useRef(!1),y=h.useRef(null),m=h.useRef(!0),b=Xn();h.useEffect(()=>{const S=c.select("domReferenceElement");if(!r)return;const j=Qt(S);function E(){const N=c.select("domReferenceElement");!c.select("open")&&Ut(N)&&N===Cn(xt(N))&&(x.current=!0)}function w(){m.current=!0}function C(){m.current=!1}return ks(ut(j,"blur",E),om&&ut(j,"keydown",w,!0),om&&ut(j,"pointerdown",C,!0))},[c,r]),h.useEffect(()=>{if(!r)return;function S(j){if(j.reason===br||j.reason===pu){const E=c.select("domReferenceElement");pt(E)&&(y.current=E,x.current=!0)}}return d.on("openchange",S),()=>{d.off("openchange",S)}},[d,r,c]);const g=h.useMemo(()=>{function S(){x.current=!1,y.current=null}return{onMouseLeave(){S()},onFocus(j){const E=j.currentTarget;if(x.current){if(y.current===E)return;S()}const w=Ln(j.nativeEvent);if(pt(w)){if(om&&!j.relatedTarget){if(!m.current&&!vu(w))return}else if(!MC(w))return}const C=Qc(j.relatedTarget,c.context.triggerElements),{nativeEvent:N,currentTarget:T}=j,O=typeof l=="function"?l():l;if(c.select("open")&&C||O===0||O===void 0){c.setOpen(!0,yt(Vl,N,T));return}b.start(O,()=>{x.current||c.setOpen(!0,yt(Vl,N,T))})},onBlur(j){S();const E=j.relatedTarget,w=j.nativeEvent,C=pt(E)&&E.hasAttribute(ni("focus-guard"))&&E.getAttribute("data-type")==="outside";b.start(0,()=>{const N=c.select("domReferenceElement"),T=Cn(xt(N));!E&&T===N||Je(p.current.floatingContext?.refs.floating.current,T)||Je(N,T)||C||Qc(E??T,c.context.triggerElements)||c.setOpen(!1,yt(Vl,w))})}}},[p,l,c,b]);return h.useMemo(()=>r?{reference:g,trigger:g}:{},[r,g])}class Hp{constructor(){this.pointerType=void 0,this.interactedInside=!1,this.handler=void 0,this.blockMouseMove=!0,this.performedPointerEventsMutation=!1,this.pointerEventsScopeElement=null,this.pointerEventsReferenceElement=null,this.pointerEventsFloatingElement=null,this.restTimeoutPending=!1,this.openChangeTimeout=new ys,this.restTimeout=new ys,this.handleCloseOptions=void 0}static create(){return new Hp}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose}const tu=new WeakMap;function nu(t){if(!t.performedPointerEventsMutation)return;const a=t.pointerEventsScopeElement;a&&tu.get(a)===t&&(t.pointerEventsScopeElement?.style.removeProperty("pointer-events"),t.pointerEventsReferenceElement?.style.removeProperty("pointer-events"),t.pointerEventsFloatingElement?.style.removeProperty("pointer-events"),tu.delete(a)),t.performedPointerEventsMutation=!1,t.pointerEventsScopeElement=null,t.pointerEventsReferenceElement=null,t.pointerEventsFloatingElement=null}function X1(t,a){const{scopeElement:r,referenceElement:l,floatingElement:c}=a,d=tu.get(r);d&&d!==t&&nu(d),nu(t),t.performedPointerEventsMutation=!0,t.pointerEventsScopeElement=r,t.pointerEventsReferenceElement=l,t.pointerEventsFloatingElement=c,tu.set(r,t),r.style.pointerEvents="none",l.style.pointerEvents="auto",c.style.pointerEvents="auto"}function K1(t){const a=t.context.dataRef.current,r=In(()=>a.hoverInteractionState??Hp.create()).current;return a.hoverInteractionState||(a.hoverInteractionState=r),yp(a.hoverInteractionState.disposeEffect),a.hoverInteractionState}function Q1(t,a={}){const{enabled:r=!0,closeDelay:l=0,nodeId:c}=a,d="rootStore"in t?t.rootStore:t,p=d.useState("open"),x=d.useState("floatingElement"),y=d.useState("domReferenceElement"),{dataRef:m}=d.context,b=$a(),g=ma(),S=K1(d),j=Xn(),E=We(()=>t1(m.current.openEvent?.type,S.interactedInside)),w=We(()=>zC(m.current.openEvent?.type)),C=We(()=>{nu(S)});Xe(()=>{p||(S.pointerType=void 0,S.restTimeoutPending=!1,S.interactedInside=!1,C())},[p,S,C]),h.useEffect(()=>C,[C]),Xe(()=>{if(r&&p&&S.handleCloseOptions?.blockPointerEvents&&w()&&pt(y)&&x){const N=y,T=x,O=xt(x),k=b?.nodesRef.current.find(R=>R.id===g)?.context?.elements.floating;k&&(k.style.pointerEvents="");const V=S.pointerEventsScopeElement!==T?S.pointerEventsScopeElement:null,M=k!==T?k:null,B=S.handleCloseOptions?.getScope?.()??V??M??N.closest("[data-rootownerid]")??O.body;return X1(S,{scopeElement:B,referenceElement:N,floatingElement:T}),()=>{C()}}},[r,p,y,x,S,w,b,g,C]),h.useEffect(()=>{if(!r)return;function N(){return!!(b&&g&&Fa(b.nodesRef.current,g).length>0)}function T(R){const K=Mm(l,"close",S.pointerType),Q=()=>{d.setOpen(!1,yt(pn,R)),b?.events.emit("floating.closed",R)};K?S.openChangeTimeout.start(K,Q):(S.openChangeTimeout.clear(),Q())}function O(R){const K=Ln(R);if(!AC(K)){S.interactedInside=!1;return}S.interactedInside=K?.closest("[aria-haspopup]")!=null}function k(){S.openChangeTimeout.clear(),j.clear(),b?.events.off("floating.closed",M),C()}function V(R){if(N()&&b){b.events.on("floating.closed",M);return}if(Qc(R.relatedTarget,d.context.triggerElements))return;const K=m.current.floatingContext?.nodeId??c,Q=R.relatedTarget;if(!(b&&K&&pt(Q)&&Fa(b.nodesRef.current,K,!1).some(te=>Je(te.context?.elements.floating,Q)))){if(S.handler){S.handler(R);return}C(),w()&&!E()&&T(R)}}function M(R){!b||!g||N()||j.start(0,()=>{b.events.off("floating.closed",M),d.setOpen(!1,yt(pn,R)),b.events.emit("floating.closed",R)})}const B=x;return ks(B&&ut(B,"mouseenter",k),B&&ut(B,"mouseleave",V),B&&ut(B,"pointerdown",O,!0),()=>{b?.events.off("floating.closed",M)})},[r,x,d,m,l,c,w,E,C,S,b,g,j])}const ER={current:null};function Z1(t,a={}){const{enabled:r=!0,delay:l=0,handleClose:c=null,mouseOnly:d=!1,restMs:p=0,move:x=!0,triggerElementRef:y=ER,externalTree:m,isActiveTrigger:b=!0,getHandleCloseContext:g,isClosing:S,shouldOpen:j}=a,E="rootStore"in t?t.rootStore:t,{dataRef:w,events:C}=E.context,N=$a(m),T=K1(E),O=h.useRef(!1),k=ln(c),V=ln(l),M=ln(p),B=ln(r),R=ln(j),K=ln(S),Q=We(()=>t1(w.current.openEvent?.type,T.interactedInside)),oe=We(()=>R.current?.()!==!1),te=We((U,_,D)=>{const Y=E.context.triggerElements;if(Y.hasElement(_))return!U||!Je(U,_);if(!pt(D))return!1;const H=D;return Y.hasMatchingElement(F=>Je(F,H))&&(!U||!Je(U,H))}),Z=We(()=>{if(!T.handler)return;xt(E.select("domReferenceElement")).removeEventListener("mousemove",T.handler),T.handler=void 0}),ne=We(()=>{nu(T)});return b&&(T.handleCloseOptions=k.current?.__options),h.useEffect(()=>Z,[Z]),h.useEffect(()=>{if(!r)return;function U(_){_.open?O.current=!1:(O.current=_.reason===pn,Z(),T.openChangeTimeout.clear(),T.restTimeout.clear(),T.blockMouseMove=!0,T.restTimeoutPending=!1)}return C.on("openchange",U),()=>{C.off("openchange",U)}},[r,C,T,Z]),h.useEffect(()=>{if(!r)return;function U(H,F=!0){const z=Mm(V.current,"close",T.pointerType);z?T.openChangeTimeout.start(z,()=>{E.setOpen(!1,yt(pn,H)),N?.events.emit("floating.closed",H)}):F&&(T.openChangeTimeout.clear(),E.setOpen(!1,yt(pn,H)),N?.events.emit("floating.closed",H))}const _=y.current??(b?E.select("domReferenceElement"):null);if(!pt(_))return;function D(H){if(T.openChangeTimeout.clear(),T.blockMouseMove=!1,d&&!ti(T.pointerType))return;const F=Db(M.current),z=Mm(V.current,"open",T.pointerType),X=Ln(H),I=H.currentTarget??null,L=E.select("domReferenceElement");let q=I;if(pt(X)&&!E.context.triggerElements.hasElement(X)){for(const xe of E.context.triggerElements.elements())if(Je(xe,X)){q=xe;break}}pt(I)&&pt(L)&&!E.context.triggerElements.hasElement(I)&&Je(I,L)&&(q=L);const ee=q==null?!1:te(L,q,X),pe=E.select("open"),ae=K.current?.()??E.select("transitionStatus")==="ending",de=!pe&&ae&&O.current,Ie=!ee&&pt(q)&&pt(L)&&Je(L,q)&&de,Ae=F>0&&!z,Ce=ee&&(pe||de)||Ie,Be=!pe||ee;if(Ce){oe()&&E.setOpen(!0,yt(pn,H,q));return}Ae||(z?T.openChangeTimeout.start(z,()=>{Be&&oe()&&E.setOpen(!0,yt(pn,H,q))}):Be&&oe()&&E.setOpen(!0,yt(pn,H,q)))}function Y(H){if(Q()){ne();return}Z();const F=E.select("domReferenceElement"),z=xt(F);T.restTimeout.clear(),T.restTimeoutPending=!1;const X=w.current.floatingContext??g?.();if(Qc(H.relatedTarget,E.context.triggerElements))return;if(k.current&&X){E.select("open")||T.openChangeTimeout.clear();const L=y.current;T.handler=k.current({...X,tree:N,x:H.clientX,y:H.clientY,onClose(){ne(),Z(),B.current&&!Q()&&L===E.select("domReferenceElement")&&U(H,!0)}}),z.addEventListener("mousemove",T.handler),T.handler(H);return}(T.pointerType!=="touch"||!Je(E.select("floatingElement"),H.relatedTarget))&&U(H)}return x?ks(ut(_,"mousemove",D,{once:!0}),ut(_,"mouseenter",D),ut(_,"mouseleave",Y)):ks(ut(_,"mouseenter",D),ut(_,"mouseleave",Y))},[Z,ne,w,V,E,r,k,T,b,te,Q,d,x,M,y,N,B,g,K,oe]),h.useMemo(()=>{if(!r)return;function U(_){T.pointerType=_.pointerType}return{onPointerDown:U,onPointerEnter:U,onMouseMove(_){const{nativeEvent:D}=_,Y=_.currentTarget,H=E.select("domReferenceElement"),F=E.select("open"),z=te(H,Y,_.target);if(d&&!ti(T.pointerType))return;if(F&&z&&T.handleCloseOptions?.blockPointerEvents){const L=E.select("floatingElement");if(L){const q=T.handleCloseOptions?.getScope?.()??Y.ownerDocument.body;X1(T,{scopeElement:q,referenceElement:Y,floatingElement:L})}}const X=Db(M.current);if(F&&!z||X===0||!z&&T.restTimeoutPending&&_.movementX**2+_.movementY**2<2)return;T.restTimeout.clear();function I(){if(T.restTimeoutPending=!1,Q())return;const L=E.select("open");!T.blockMouseMove&&(!L||z)&&oe()&&E.setOpen(!0,yt(pn,D,Y))}T.pointerType==="touch"?ca.flushSync(()=>{I()}):z&&F?I():(T.restTimeoutPending=!0,T.restTimeout.start(X,I))}}},[r,T,Q,te,d,E,M,oe])}const TR="Escape";function wu(t,a,r){switch(t){case"vertical":return a;case"horizontal":return r;default:return a||r}}function Rc(t,a){return wu(a,t===e1||t===vp,t===yu||t===bu)}function lm(t,a,r){return wu(a,t===vp,r?t===yu:t===bu)||t==="Enter"||t===" "||t===""}function wR(t,a,r){return wu(a,r?t===yu:t===bu,t===vp)}function CR(t,a,r,l){const c=r?t===bu:t===yu,d=t===e1;return a==="both"||a==="horizontal"&&l?t===TR:wu(a,c,d)}function OR(t,a){const{listRef:r,activeIndex:l,onNavigate:c=()=>{},enabled:d=!0,selectedIndex:p=null,allowEscape:x=!1,loopFocus:y=!1,nested:m=!1,rtl:b=!1,virtual:g=!1,focusItemOnOpen:S="auto",focusItemOnHover:j=!0,openOnArrowKeyDown:E=!0,disabledIndices:w=void 0,orientation:C="vertical",parentOrientation:N,id:T,resetOnPointerLeave:O=!0,externalTree:k,grid:V}=a,M=V!=null,B="rootStore"in t?t.rootStore:t,R=B.useState("open"),K=B.useState("floatingElement"),Q=B.useState("domReferenceElement"),oe=B.context.dataRef,te=Am(K),Z=_m(Q),ne=ln(te),U=ma(),_=$a(k),D=h.useRef(S),Y=h.useRef(p??-1),H=h.useRef(null),F=h.useRef(!0),z=We(P=>{c(Y.current===-1?null:Y.current,P)}),X=h.useRef(!!K),I=h.useRef(R),L=h.useRef(!1),q=h.useRef(!1),ee=h.useRef(null),pe=ln(w),ae=ln(R),de=ln(p),Ie=ln(O),Ae=ei(),Ce=ei(),Be=We(()=>{function P(re){g?_?.events.emit("virtualfocus",re):ee.current=Hc(re,{sync:L.current,preventScroll:!0})}const G=r.current[Y.current],Te=q.current;G&&P(G),(L.current?re=>re():re=>Ae.request(re))(()=>{const re=r.current[Y.current]||G;if(!re)return;G||P(re),Se&&(Te||!F.current)&&re.scrollIntoView?.({block:"nearest",inline:"nearest"})})});Xe(()=>{oe.current.orientation=C},[oe,C]),Xe(()=>{d&&(R&&K?(Y.current=p??-1,D.current&&p!=null&&(q.current=!0,z())):X.current&&(Y.current=-1,z()))},[d,R,K,p,z]),Xe(()=>{if(d){if(!R){L.current=!1;return}if(K)if(l==null){if(L.current=!1,de.current!=null)return;if(X.current&&(Y.current=-1,Be()),(!I.current||!X.current)&&D.current&&(H.current!=null||D.current===!0&&H.current==null)){let P=0;const G=()=>{r.current[0]==null?(P<2&&(P?ye=>Ce.request(ye):queueMicrotask)(G),P+=1):(Y.current=H.current==null||lm(H.current,C,b)||m?Qf(r):Bb(r),H.current=null,z())};G()}}else Ib(r.current,l)||(Y.current=l,Be(),q.current=!1)}},[d,R,K,l,de,m,r,C,b,z,Be,Ce]),Xe(()=>{if(!d||K||!_||g||!X.current)return;const P=_.nodesRef.current,G=P.find(re=>re.id===U)?.context?.elements.floating,Te=Cn(xt(Q??G??null)),ye=P.some(re=>re.context&&Je(re.context.elements.floating,Te));G&&!ye&&F.current&&G.focus({preventScroll:!0})},[d,K,Q,_,U,g]),Xe(()=>{I.current=R,X.current=!!K}),Xe(()=>{R||(H.current=null,D.current=S)},[R,S]);const xe=l!=null,ue=We(P=>{if(!ae.current)return;const G=r.current.indexOf(P.currentTarget);G!==-1&&(Y.current!==G||l!==G)&&(Y.current=G,z(P))}),He=We(()=>N??_?.nodesRef.current.find(P=>P.id===U)?.context?.dataRef?.current.orientation),_e=We(()=>Qf(r,pe.current)),ze=We(P=>{if(F.current=!1,L.current=!0,P.which===229||!ae.current&&P.currentTarget===ne.current)return;if(m&&CR(P.key,C,b,M)){Rc(P.key,He())||Cs(P),B.setOpen(!1,yt(Om,P.nativeEvent)),Ut(Q)&&(g?_?.events.emit("virtualfocus",Q):Q.focus());return}const G=Y.current,Te=Qf(r,w),ye=Bb(r,w);if(Z||(P.key==="Home"&&(Cs(P),Y.current=Te,z(P)),P.key==="End"&&(Cs(P),Y.current=ye,z(P))),V!=null){const re=V(P,Y.current,r,C,y,b,w,Te,ye);if(re!=null&&(Y.current=re,z(P)),C==="both")return}if(Rc(P.key,C)){if(Cs(P),R&&!g&&Cn(P.currentTarget.ownerDocument)===P.currentTarget){Y.current=lm(P.key,C,b)?Te:ye,z(P);return}lm(P.key,C,b)?y?G>=ye?x&&G!==r.current.length?Y.current=-1:(L.current=!1,Y.current=Te):Y.current=Eo(r.current,{startingIndex:G,disabledIndices:w}):Y.current=Math.min(ye,Eo(r.current,{startingIndex:G,disabledIndices:w})):y?G<=Te?x&&G!==-1?Y.current=r.current.length:(L.current=!1,Y.current=ye):Y.current=Eo(r.current,{startingIndex:G,decrement:!0,disabledIndices:w}):Y.current=Math.max(Te,Eo(r.current,{startingIndex:G,decrement:!0,disabledIndices:w})),Ib(r.current,Y.current)&&(Y.current=-1),z(P)}}),Se=h.useMemo(()=>({onFocus(G){L.current=!0,ue(G)},onClick:({currentTarget:G})=>G.focus({preventScroll:!0}),onMouseMove(G){L.current=!0,q.current=!1,j&&ue(G)},onPointerLeave(G){if(!ae.current||!F.current||G.pointerType==="touch")return;L.current=!0;const Te=G.relatedTarget;if(!(!j||r.current.includes(Te))&&Ie.current&&(ee.current?.(),ee.current=null,Y.current=-1,z(G),!g)){const ye=ne.current,re=Cn(xt(ye));ye&&Je(ye,re)&&ye.focus({preventScroll:!0})}}}),[ue,ae,ne,j,r,z,Ie,g]),fe=h.useMemo(()=>g&&R&&xe&&{"aria-activedescendant":`${T}-${l}`},[g,R,xe,T,l]),Re=h.useMemo(()=>({"aria-orientation":C==="both"?void 0:C,...Z?{}:fe,onKeyDown(P){if(P.key==="Tab"&&P.shiftKey&&R&&!g){const G=Ln(P.nativeEvent);if(G&&!Je(ne.current,G))return;Cs(P),B.setOpen(!1,yt(vr,P.nativeEvent)),Ut(Q)&&Q.focus();return}ze(P)},onPointerMove(){F.current=!0}}),[fe,ze,ne,C,Z,B,R,g,Q]),Me=h.useMemo(()=>{function P(ye){B.setOpen(!0,yt(Om,ye.nativeEvent,ye.currentTarget))}function G(ye){S==="auto"&&Z0(ye.nativeEvent)&&(D.current=!g)}function Te(ye){D.current=S,S==="auto"&&J0(ye.nativeEvent)&&(D.current=!0)}return{onKeyDown(ye){const re=B.select("open");F.current=!1;const Oe=ye.key.startsWith("Arrow"),Ue=wR(ye.key,He(),b),Qe=Rc(ye.key,C),ht=(m?Ue:Qe)||ye.key==="Enter"||ye.key.trim()==="";if(g&&re)return ze(ye);if(!(!re&&!E&&Oe)){if(ht){const Dt=Rc(ye.key,He());H.current=m&&Dt?null:ye.key}if(m){Ue&&(Cs(ye),re?(Y.current=_e(),z(ye)):P(ye));return}Qe&&(de.current!=null&&(Y.current=de.current),Cs(ye),!re&&E?P(ye):ze(ye),re&&z(ye))}},onFocus(ye){B.select("open")&&!g&&(Y.current=-1,z(ye))},onPointerDown:Te,onPointerEnter:Te,onMouseDown:G,onClick:G}},[ze,S,_e,m,z,B,E,C,He,b,de,g]),J=h.useMemo(()=>({...fe,...Me}),[fe,Me]);return h.useMemo(()=>d?{reference:J,floating:Re,item:Se,trigger:Me}:{},[d,J,Re,Me,Se])}function RR(t,a){const{listRef:r,elementsRef:l,activeIndex:c,onMatch:d,disabledIndices:p,onTyping:x,enabled:y=!0,resetMs:m=750,selectedIndex:b=null}=a,g="rootStore"in t?t.rootStore:t,S=g.useState("open"),j=Xn(),E=h.useRef(""),w=h.useRef(b??c??-1),C=h.useRef(null),N=We(k=>{function V(ne){const U=l?.current[ne];return!U||Su(U)}function M(ne){return V(ne)?p==null||!a1(Kc,ne,p):!1}function B(ne,U,_=0){if(ne.length===0)return-1;const D=(_%ne.length+ne.length)%ne.length,Y=U.toLowerCase();for(let H=0;H<ne.length;H+=1){const F=(D+H)%ne.length;if(!(!ne[F]?.toLowerCase().startsWith(Y)||!M(F)))return F}return-1}const R=r.current;if(E.current.length>0&&k.key===" "&&(Cs(k),x?.(!0)),E.current.length>0&&E.current[0]!==" "&&B(R,E.current)===-1&&k.key!==" "&&x?.(!1),R==null||k.key.length!==1||k.ctrlKey||k.metaKey||k.altKey)return;S&&k.key!==" "&&(Cs(k),x?.(!0));const K=E.current==="";K&&(w.current=b??c??-1),R.every((ne,U)=>ne&&M(U)?ne[0]?.toLowerCase()!==ne[1]?.toLowerCase():!0)&&E.current===k.key&&(E.current="",w.current=C.current),E.current+=k.key,j.start(m,()=>{E.current="",w.current=C.current,x?.(!1)});const te=((K?b??c??-1:w.current)??0)+1,Z=B(R,E.current,te);Z!==-1?(d?.(Z),C.current=Z):k.key!==" "&&(E.current="",x?.(!1))}),T=We(k=>{const V=k.relatedTarget,M=g.select("domReferenceElement"),B=g.select("floatingElement");Je(M,V)||Je(B,V)||(j.clear(),E.current="",w.current=C.current,x?.(!1))});Xe(()=>{!S&&b!==null||(j.clear(),C.current=null,E.current!==""&&(E.current=""))},[S,b,j]),Xe(()=>{S&&E.current===""&&(w.current=b??c??-1)},[S,b,c]);const O=h.useMemo(()=>({onKeyDown:N,onBlur:T}),[N,T]);return h.useMemo(()=>y?{reference:O,floating:O}:{},[y,O])}const iv=.1,kR=iv*iv,Mt=.5;function kc(t,a,r,l,c,d){return l>=a!=d>=a&&t<=(c-r)*(a-l)/(d-l)+r}function _c(t,a,r,l,c,d,p,x,y,m){let b=!1;return kc(t,a,r,l,c,d)&&(b=!b),kc(t,a,c,d,p,x)&&(b=!b),kc(t,a,p,x,y,m)&&(b=!b),kc(t,a,y,m,r,l)&&(b=!b),b}function _R(t,a,r){return t>=r.x&&t<=r.x+r.width&&a>=r.y&&a<=r.y+r.height}function Ac(t,a,r,l,c,d){const p=Math.min(r,c),x=Math.max(r,c),y=Math.min(l,d),m=Math.max(l,d);return t>=p&&t<=x&&a>=y&&a<=m}function J1(t={}){const{blockPointerEvents:a=!1}=t,r=new ys,l=({x:c,y:d,placement:p,elements:x,onClose:y,nodeId:m,tree:b})=>{const g=p?.split("-")[0];let S=!1,j=null,E=null,w=typeof performance<"u"?performance.now():0;function C(T,O){const k=performance.now(),V=k-w;if(j===null||E===null||V===0)return j=T,E=O,w=k,!1;const M=T-j,B=O-E,R=M*M+B*B,K=V*V*kR;return j=T,E=O,w=k,R<K}function N(){r.clear(),y()}return function(O){r.clear();const k=x.domReference,V=x.floating;if(!k||!V||g==null||c==null||d==null)return;const{clientX:M,clientY:B}=O,R=Ln(O),K=O.type==="mouseleave",Q=Je(V,R),oe=Je(k,R);if(Q&&(S=!0,!K))return;if(oe&&(S=!1,!K)){S=!0;return}if(K&&pt(O.relatedTarget)&&Je(V,O.relatedTarget))return;function te(){return!!(b&&Fa(b.nodesRef.current,m).length>0)}function Z(){te()||N()}if(te())return;const ne=k.getBoundingClientRect(),U=V.getBoundingClientRect(),_=c>U.right-U.width/2,D=d>U.bottom-U.height/2,Y=U.width>ne.width,H=U.height>ne.height,F=(Y?ne:U).left,z=(Y?ne:U).right,X=(H?ne:U).top,I=(H?ne:U).bottom;if(g==="top"&&d>=ne.bottom-1||g==="bottom"&&d<=ne.top+1||g==="left"&&c>=ne.right-1||g==="right"&&c<=ne.left+1){Z();return}let L=!1;switch(g){case"top":L=Ac(M,B,F,ne.top+1,z,U.bottom-1);break;case"bottom":L=Ac(M,B,F,U.top+1,z,ne.bottom-1);break;case"left":L=Ac(M,B,U.right-1,I,ne.left+1,X);break;case"right":L=Ac(M,B,ne.right-1,I,U.left+1,X);break}if(L)return;if(S&&!_R(M,B,ne)){Z();return}if(!K&&C(M,B)){Z();return}let q=!1;switch(g){case"top":{const ee=Y?Mt/2:Mt*4,pe=Y||_?c+ee:c-ee,ae=Y?c-ee:_?c+ee:c-ee,de=d+Mt+1,Ie=_||Y?U.bottom-Mt:U.top,Ae=_?Y?U.bottom-Mt:U.top:U.bottom-Mt;q=_c(M,B,pe,de,ae,de,U.left,Ie,U.right,Ae);break}case"bottom":{const ee=Y?Mt/2:Mt*4,pe=Y||_?c+ee:c-ee,ae=Y?c-ee:_?c+ee:c-ee,de=d-Mt,Ie=_||Y?U.top+Mt:U.bottom,Ae=_?Y?U.top+Mt:U.bottom:U.top+Mt;q=_c(M,B,pe,de,ae,de,U.left,Ie,U.right,Ae);break}case"left":{const ee=H?Mt/2:Mt*4,pe=H||D?d+ee:d-ee,ae=H?d-ee:D?d+ee:d-ee,de=c+Mt+1,Ie=D||H?U.right-Mt:U.left,Ae=D?H?U.right-Mt:U.left:U.right-Mt;q=_c(M,B,Ie,U.top,Ae,U.bottom,de,pe,de,ae);break}case"right":{const ee=H?Mt/2:Mt*4,pe=H||D?d+ee:d-ee,ae=H?d-ee:D?d+ee:d-ee,de=c-Mt,Ie=D||H?U.left+Mt:U.right,Ae=D?H?U.left+Mt:U.right:U.left+Mt;q=_c(M,B,de,pe,de,ae,Ie,U.top,Ae,U.bottom);break}}q?S||r.start(40,Z):Z()}};return l.__options={...t,blockPointerEvents:a},l}const AR=h.createContext(void 0);function W1(t){return h.useContext(AR)}const MR="ArrowUp",DR="ArrowDown",zR="ArrowLeft",LR="ArrowRight",IR="Home",BR="End",UR=new Set([zR,LR]),HR=new Set([MR,DR]),YR=new Set([...UR,...HR]),Yp=new Set([...YR,IR,BR]);function Pp(t){return t==="starting"?oO:Ht}const PR={...ri,...fu},VR=h.forwardRef(function(a,r){const{render:l,className:c,style:d,finalFocus:p,...x}=a,{store:y}=Cr(),{side:m,align:b}=V0(),g=W1()!=null,S=y.useState("open"),j=y.useState("transitionStatus"),E=y.useState("popupProps"),w=y.useState("mounted"),C=y.useState("instantType"),N=y.useState("activeTriggerElement"),T=y.useState("parent"),O=y.useState("lastOpenChangeReason"),k=y.useState("rootId"),V=y.useState("floatingRootContext"),M=y.useState("floatingTreeRoot"),B=y.useState("closeDelay"),R=y.useState("activeTriggerElement"),K=y.useState("hoverEnabled"),Q=y.useState("disabled"),oe=y.useState("openMethod"),te=T.type==="context-menu";xu({open:S,ref:y.context.popupRef,onComplete(){S&&y.context.onOpenChangeComplete?.(!0)}}),h.useEffect(()=>{function D(Y){y.setOpen(!1,yt(Y.reason,Y.domEvent))}return M.events.on("close",D),()=>{M.events.off("close",D)}},[M.events,y]),Q1(V,{enabled:K&&!Q&&!te&&T.type!=="menubar",closeDelay:B});const Z=h.useCallback(D=>{y.set("popupElement",D)},[y]),ne={transitionStatus:j,side:m,align:b,open:S,nested:T.type==="menu",instant:C},U=hn("div",a,{state:ne,ref:[r,y.context.popupRef,Z],stateAttributesMapping:PR,props:[E,{onKeyDown(D){g&&Yp.has(D.key)&&D.stopPropagation()}},Pp(j),x,{"data-rootownerid":k}]});let _=T.type===void 0||te;return(N||T.type==="menubar"&&O!==pp)&&(_=!0),o.jsx(kp,{context:V,openInteractionType:oe,modal:te,disabled:!w,returnFocus:p===void 0?_:p,initialFocus:T.type!=="menu",restoreFocus:!0,externalTree:T.type!=="menubar"?M:void 0,previousFocusableElement:R,nextFocusableElement:T.type===void 0?y.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:T.type===void 0?y.context.beforeContentFocusGuardRef:void 0,children:U})}),eS=h.createContext(void 0);function FR(){const t=h.useContext(eS);if(t===void 0)throw new Error(Tn(32));return t}const qR=h.forwardRef(function(a,r){const{keepMounted:l=!1,...c}=a,{store:d}=Cr();return d.useState("mounted")||l?o.jsx(eS.Provider,{value:l,children:o.jsx(wp,{ref:r,...c})}):null});function Vp(t){return mp(19)?t:t?"true":void 0}const GR=h.createContext(void 0);function tS(){return h.useContext(GR)?.direction??"ltr"}const $R=t=>({name:"arrow",options:t,async fn(a){const{x:r,y:l,placement:c,rects:d,platform:p,elements:x,middlewareData:y}=a,{element:m,padding:b=0,offsetParent:g="real"}=ua(t,a)||{};if(m==null)return{};const S=s1(b),j={x:r,y:l},E=jp(c),w=Np(E),C=await p.getDimensions(m),N=E==="y",T=N?"top":"left",O=N?"bottom":"right",k=N?"clientHeight":"clientWidth",V=d.reference[w]+d.reference[E]-j[E]-d.floating[w],M=j[E]-d.reference[E],B=g==="real"?await p.getOffsetParent?.(m):x.floating;let R=x.floating[k]||d.floating[w];(!R||!await p.isElement?.(B))&&(R=x.floating[k]||d.floating[w]);const K=V/2-M/2,Q=R/2-C[w]/2-1,oe=Math.min(S[T],Q),te=Math.min(S[O],Q),Z=oe,ne=R-C[w]-te,U=R/2-C[w]/2+K,_=n1(Z,U,ne),D=!y.arrow&&Ga(c)!=null&&U!==_&&d.reference[w]/2-(U<Z?oe:te)-C[w]/2<0,Y=D?U<Z?U-Z:U-ne:0;return{[E]:j[E]+Y,data:{[E]:_,centerOffset:U-_-Y,...D&&{alignmentOffset:Y}},reset:D}}}),XR=(t,a)=>({...$R(t),options:[t,a]}),KR=nR().fn,QR={name:"hide",async fn(t){const{width:a,height:r,x:l,y:c}=t.rects.reference,d=a===0&&r===0&&l===0&&c===0;return{data:{referenceHidden:(await KR(t)).data?.referenceHidden||d}}}},Pc={sideX:"left",sideY:"top"},nS={name:"adaptiveOrigin",async fn(t){const{x:a,y:r,rects:{floating:l},elements:{floating:c},platform:d,strategy:p,placement:x}=t,y=Qt(c),m=y.getComputedStyle(c);if(!(m.transitionDuration!=="0s"&&m.transitionDuration!==""))return{x:a,y:r,data:Pc};const g=await d.getOffsetParent?.(c);let S={width:0,height:0};if(p==="fixed"&&y?.visualViewport)S={width:y.visualViewport.width,height:y.visualViewport.height};else if(g===y){const T=xt(c);S={width:T.documentElement.clientWidth,height:T.documentElement.clientHeight}}else await d.isElement?.(g)&&(S=await d.getDimensions(g));const j=Gn(x);let E=a,w=r;j==="left"&&(E=S.width-(a+l.width)),j==="top"&&(w=S.height-(r+l.height));const C=j==="left"?"right":Pc.sideX,N=j==="top"?"bottom":Pc.sideY;return{x:E,y:w,data:{sideX:C,sideY:N}}}};function sS(t,a,r){const l=t==="inline-start"||t==="inline-end";return{top:"top",right:l?r?"inline-start":"inline-end":"right",bottom:"bottom",left:l?r?"inline-end":"inline-start":"left"}[a]}function cv(t,a,r){const{rects:l,placement:c}=t;return{side:sS(a,Gn(c),r),align:Ga(c)||"center",anchor:{width:l.reference.width,height:l.reference.height},positioner:{width:l.floating.width,height:l.floating.height}}}function aS(t){const{anchor:a,positionMethod:r="absolute",side:l="bottom",sideOffset:c=0,align:d="center",alignOffset:p=0,collisionBoundary:x,collisionPadding:y=5,sticky:m=!1,arrowPadding:b=5,disableAnchorTracking:g=!1,inline:S,keepMounted:j=!1,floatingRootContext:E,mounted:w,collisionAvoidance:C,shiftCrossAxis:N=!1,nodeId:T,adaptiveOrigin:O,lazyFlip:k=!1,externalTree:V}=t,[M,B]=h.useState(null);!w&&M!==null&&B(null);const R=C.side||"flip",K=C.align||"flip",Q=C.fallbackAxisSide||"end",oe=typeof a=="function"?a:void 0,te=We(oe),Z=oe?te:a,ne=ln(a),U=ln(w),D=tS()==="rtl",Y=M||{top:"top",right:"right",bottom:"bottom",left:"left","inline-end":D?"left":"right","inline-start":D?"right":"left"}[l],H=d==="center"?Y:`${Y}-${d}`;let F=y;const z=1,X=l==="bottom"?z:0,I=l==="top"?z:0,L=l==="right"?z:0,q=l==="left"?z:0;typeof F=="number"?F={top:F+X,right:F+q,bottom:F+I,left:F+L}:F&&(F={top:(F.top||0)+X,right:(F.right||0)+q,bottom:(F.bottom||0)+I,left:(F.left||0)+L});const ee={boundary:x==="clipping-ancestors"?"clippingAncestors":x,padding:F},pe=h.useRef(null),ae=ln(c),de=ln(p),Ie=typeof c!="function"?c:0,Ae=typeof p!="function"?p:0,Ce=[];S&&Ce.push(S),Ce.push(ZO(ve=>{const qe=cv(ve,l,D),wt=typeof ae.current=="function"?ae.current(qe):ae.current,Gt=typeof de.current=="function"?de.current(qe):de.current;return{mainAxis:wt,crossAxis:Gt,alignmentAxis:Gt}},[Ie,Ae,D,l]));const Be=K==="none"&&R!=="shift",xe=!Be&&(m||N||R==="shift"),ue=R==="none"?null:eR({...ee,padding:{top:F.top+z,right:F.right+z,bottom:F.bottom+z,left:F.left+z},mainAxis:!N&&R==="flip",crossAxis:K==="flip"?"alignment":!1,fallbackAxisSideDirection:Q}),He=Be?null:JO(ve=>{const qe=xt(ve.elements.floating).documentElement;return{...ee,rootBoundary:N?{x:0,y:0,width:qe.clientWidth,height:qe.clientHeight}:void 0,mainAxis:K!=="none",crossAxis:xe,limiter:m||N?void 0:WO(wt=>{if(!pe.current)return{};const{width:Gt,height:Rt}=pe.current.getBoundingClientRect(),Ge=is(Gn(wt.placement)),bt=Ge==="y"?Gt:Rt,Pt=Ge==="y"?F.left+F.right:F.top+F.bottom;return{offset:bt/2+Pt/2}})}},[ee,m,N,F,K]);R==="shift"||K==="shift"||d==="center"?Ce.push(He,ue):Ce.push(ue,He),Ce.push(tR({...ee,apply({elements:{floating:ve},availableWidth:qe,availableHeight:wt,rects:Gt}){if(!U.current)return;const Rt=ve.style;Rt.setProperty("--available-width",`${qe}px`),Rt.setProperty("--available-height",`${wt}px`);const Ge=Qt(ve).devicePixelRatio||1,{x:bt,y:Pt,width:Zt,height:Qn}=Gt.reference,zt=(Math.round((bt+Zt)*Ge)-Math.round(bt*Ge))/Ge,cn=(Math.round((Pt+Qn)*Ge)-Math.round(Pt*Ge))/Ge;Rt.setProperty("--anchor-width",`${zt}px`),Rt.setProperty("--anchor-height",`${cn}px`)}}),XR(ve=>({element:pe.current||xt(ve.elements.floating).createElement("div"),padding:b,offsetParent:"floating"}),[b]),{name:"transformOrigin",fn(ve){const{elements:qe,middlewareData:wt,placement:Gt,rects:Rt,y:Ge}=ve,bt=Gn(Gt),Pt=is(bt),Zt=pe.current,Qn=wt.arrow?.x||0,zt=wt.arrow?.y||0,cn=Zt?.clientWidth||0,As=Zt?.clientHeight||0,un=Qn+cn/2,gn=zt+As/2,pa=Math.abs(wt.shift?.y||0),Bn=Rt.reference.height/2,Ms=typeof c=="function"?c(cv(ve,l,D)):c,ci=pa>Ms,bs={top:`${un}px calc(100% + ${Ms}px)`,bottom:`${un}px ${-Ms}px`,left:`calc(100% + ${Ms}px) ${gn}px`,right:`${-Ms}px ${gn}px`}[bt],an=`${un}px ${Rt.reference.y+Bn-Ge}px`;return qe.floating.style.setProperty("--transform-origin",xe&&Pt==="y"&&ci?an:bs),{}}},QR,O),Xe(()=>{!w&&E&&E.update({referenceElement:null,floatingElement:null,domReferenceElement:null,positionReference:null})},[w,E]);const _e=h.useMemo(()=>({elementResize:!g&&typeof ResizeObserver<"u",layoutShift:!g&&typeof IntersectionObserver<"u"}),[g]),{refs:ze,elements:Se,x:fe,y:Re,middlewareData:Me,update:J,placement:P,context:G,isPositioned:Te,floatingStyles:ye}=NR({rootContext:E,open:j?w:void 0,placement:H,middleware:Ce,strategy:r,whileElementsMounted:j?void 0:(...ve)=>tv(...ve,_e),nodeId:T,externalTree:V}),{sideX:re,sideY:Oe}=Me.adaptiveOrigin||Pc,Ue=Te?r:"fixed",Qe=h.useMemo(()=>{const ve=O?{position:Ue,[re]:fe,[Oe]:Re}:{position:Ue,...ye};return Te||(ve.opacity=0),ve},[O,Ue,re,fe,Oe,Re,ye,Te]),ht=h.useRef(null);Xe(()=>{if(!w)return;const ve=ne.current,qe=typeof ve=="function"?ve():ve,Gt=(uv(qe)?qe.current:qe)||null||null;Gt!==ht.current&&(ze.setPositionReference(Gt),ht.current=Gt)},[w,ze,Z,ne]),h.useEffect(()=>{if(!w)return;const ve=ne.current;typeof ve!="function"&&uv(ve)&&ve.current!==ht.current&&(ze.setPositionReference(ve.current),ht.current=ve.current)},[w,ze,Z,ne]),h.useEffect(()=>{if(j&&w&&Se.reference&&Se.floating)return tv(Se.reference,Se.floating,J,_e)},[j,w,Se,J,_e]);const Dt=Gn(P),dt=sS(l,Dt,D),It=Ga(P)||"center",Tt=!!Me.hide?.referenceHidden;Xe(()=>{k&&w&&Te&&B(Dt)},[k,w,Te,Dt]);const Yt=h.useMemo(()=>({position:"absolute",top:Me.arrow?.y,left:Me.arrow?.x}),[Me.arrow]),we=Me.arrow?.centerOffset!==0;return h.useMemo(()=>({positionerStyles:Qe,arrowStyles:Yt,arrowRef:pe,arrowUncentered:we,side:dt,align:It,physicalSide:Dt,anchorHidden:Tt,refs:ze,context:G,isPositioned:Te,update:J}),[Qe,Yt,pe,we,dt,It,Dt,Tt,ze,G,Te,J])}function uv(t){return t!=null&&"current"in t}function ZR(t){const{children:a,elementsRef:r,labelsRef:l,onMapChange:c}=t,d=We(c),p=h.useRef(0),x=In(WR).current,y=In(JR).current,[m,b]=h.useState(0),g=h.useRef(m),S=We((N,T)=>{y.set(N,T??null),g.current+=1,b(g.current)}),j=We(N=>{y.delete(N),g.current+=1,b(g.current)}),E=h.useMemo(()=>{const N=new Map;return Array.from(y.keys()).filter(O=>O.isConnected).sort(ek).forEach((O,k)=>{const V=y.get(O)??{};N.set(O,{...V,index:k})}),N},[y,m]);Xe(()=>{if(typeof MutationObserver!="function"||E.size===0)return;const N=new MutationObserver(T=>{const O=new Set,k=V=>O.has(V)?O.delete(V):O.add(V);T.forEach(V=>{V.removedNodes.forEach(k),V.addedNodes.forEach(k)}),O.size===0&&(g.current+=1,b(g.current))});return E.forEach((T,O)=>{O.parentElement&&N.observe(O.parentElement,{childList:!0})}),()=>{N.disconnect()}},[E]),Xe(()=>{g.current===m&&(r.current.length!==E.size&&(r.current.length=E.size),l&&l.current.length!==E.size&&(l.current.length=E.size),p.current=E.size),d(E)},[d,E,r,l,m]),Xe(()=>()=>{r.current=[]},[r]),Xe(()=>()=>{l&&(l.current=[])},[l]);const w=We(N=>(x.add(N),()=>{x.delete(N)}));Xe(()=>{x.forEach(N=>N(E))},[x,E]);const C=h.useMemo(()=>({register:S,unregister:j,subscribeMapChange:w,elementsRef:r,labelsRef:l,nextIndexRef:p}),[S,j,w,r,l,p]);return o.jsx(X0.Provider,{value:C,children:a})}function JR(){return new Map}function WR(){return new Set}function ek(t,a){const r=t.compareDocumentPosition(a);return r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS?1:0}const Fp=h.forwardRef(function(a,r){const{cutout:l,...c}=a;let d;if(l){const p=l.getBoundingClientRect();d=`polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${p.left}px ${p.top}px,${p.left}px ${p.bottom}px,${p.right}px ${p.bottom}px,${p.right}px ${p.top}px,${p.left}px ${p.top}px)`}return o.jsx("div",{ref:r,role:"presentation","data-base-ui-inert":"",...c,style:{position:"fixed",inset:0,userSelect:"none",WebkitUserSelect:"none",clipPath:d}})});function rS(t,a,{styles:r,transitionStatus:l,props:c,refs:d,hidden:p,inert:x=!1}){const y={...r};return x&&(y.pointerEvents="none"),hn("div",t,{state:a,ref:d,props:[{role:"presentation",hidden:p,style:y},Pp(l),c],stateAttributesMapping:ri})}let dv={},fv={},mv="";function tk(t){if(typeof document>"u")return!1;const a=xt(t);return Qt(a).innerWidth-a.documentElement.clientWidth>0}function nk(t){if(!(typeof CSS<"u"&&CSS.supports&&CSS.supports("scrollbar-gutter","stable"))||typeof document>"u")return!1;const r=xt(t),l=r.documentElement,c=r.body,d=wr(l)?l:c,p=d.style.overflowY,x=l.style.scrollbarGutter;l.style.scrollbarGutter="stable",d.style.overflowY="scroll";const y=d.offsetWidth;d.style.overflowY="hidden";const m=d.offsetWidth;return d.style.overflowY=p,l.style.scrollbarGutter=x,y===m}function sk(t){const a=xt(t),r=a.documentElement,l=a.body,c=wr(r)?r:l,d={overflowY:c.style.overflowY,overflowX:c.style.overflowX};return Object.assign(c.style,{overflowY:"hidden",overflowX:"hidden"}),()=>{Object.assign(c.style,d)}}function ak(t){const a=xt(t),r=a.documentElement,l=a.body,c=Qt(r);let d=0,p=0,x=!1;const y=Os.create();if(Or&&(c.visualViewport?.scale??1)!==1)return()=>{};function m(){const j=c.getComputedStyle(r),E=c.getComputedStyle(l),N=(j.scrollbarGutter||"").includes("both-edges")?"stable both-edges":"stable";d=r.scrollTop,p=r.scrollLeft,dv={scrollbarGutter:r.style.scrollbarGutter,overflowY:r.style.overflowY,overflowX:r.style.overflowX},mv=r.style.scrollBehavior,fv={position:l.style.position,height:l.style.height,width:l.style.width,boxSizing:l.style.boxSizing,overflowY:l.style.overflowY,overflowX:l.style.overflowX,scrollBehavior:l.style.scrollBehavior};const T=r.scrollHeight>r.clientHeight,O=r.scrollWidth>r.clientWidth,k=j.overflowY==="scroll"||E.overflowY==="scroll",V=j.overflowX==="scroll"||E.overflowX==="scroll",M=Math.max(0,c.innerWidth-l.clientWidth),B=Math.max(0,c.innerHeight-l.clientHeight),R=parseFloat(E.marginTop)+parseFloat(E.marginBottom),K=parseFloat(E.marginLeft)+parseFloat(E.marginRight),Q=wr(r)?r:l;if(x=nk(t),x){r.style.scrollbarGutter=N,Q.style.overflowY="hidden",Q.style.overflowX="hidden";return}Object.assign(r.style,{scrollbarGutter:N,overflowY:"hidden",overflowX:"hidden"}),(T||k)&&(r.style.overflowY="scroll"),(O||V)&&(r.style.overflowX="scroll"),Object.assign(l.style,{position:"relative",height:R||B?`calc(100dvh - ${R+B}px)`:"100dvh",width:K||M?`calc(100vw - ${K+M}px)`:"100vw",boxSizing:"border-box",overflow:"hidden",scrollBehavior:"unset"}),l.scrollTop=d,l.scrollLeft=p,r.setAttribute("data-base-ui-scroll-locked",""),r.style.scrollBehavior="unset"}function b(){Object.assign(r.style,dv),Object.assign(l.style,fv),x||(r.scrollTop=d,r.scrollLeft=p,r.removeAttribute("data-base-ui-scroll-locked"),r.style.scrollBehavior=mv)}function g(){b(),y.request(m)}m();const S=ut(c,"resize",g);return()=>{y.cancel(),b(),typeof c.removeEventListener=="function"&&S()}}class rk{lockCount=0;restore=null;timeoutLock=ys.create();timeoutUnlock=ys.create();acquire(a){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(a)),this.release}release=()=>{this.lockCount-=1,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)};lock(a){if(this.lockCount===0||this.restore!==null)return;const l=xt(a).documentElement,c=Qt(l).getComputedStyle(l).overflowY;if(c==="hidden"||c==="clip"){this.restore=mn;return}const d=gu||!tk(a);this.restore=d?sk(a):ak(a)}}const ok=new rk;function oS(t=!0,a=null){Xe(()=>{if(t)return ok.acquire(a)},[t,a])}const lk=20;function lS(t,a,r,l){const[c,d]=h.useState(!1);Xe(()=>{if(!t||!a||r==null){d(!1);return}const p=xt(r).documentElement.clientWidth,x=r.offsetWidth;d(p>0&&x>0&&x>=p-lk)},[t,a,r]),oS(t&&(!a||c),l)}const ik=h.forwardRef(function(a,r){const{anchor:l,positionMethod:c="absolute",className:d,render:p,side:x,align:y,sideOffset:m=0,alignOffset:b=0,collisionBoundary:g="clipping-ancestors",collisionPadding:S=5,arrowPadding:j=5,sticky:E=!1,disableAnchorTracking:w=!1,collisionAvoidance:C=lO,style:N,...T}=a,{store:O}=Cr(),k=FR(),V=mu(!0),M=O.useState("parent"),B=O.useState("floatingRootContext"),R=O.useState("floatingTreeRoot"),K=O.useState("mounted"),Q=O.useState("open"),oe=O.useState("modal"),te=O.useState("openMethod"),Z=O.useState("activeTriggerElement"),ne=O.useState("transitionStatus"),U=O.useState("positionerElement"),_=O.useState("instantType"),D=O.useState("hasViewport"),Y=O.useState("lastOpenChangeReason"),H=O.useState("floatingNodeId"),F=O.useState("floatingParentNodeId"),z=B.useState("domReferenceElement"),X=h.useRef(null),I=bp(U,!1,!1);let L=l,q=m,ee=b,pe=y,ae=C;M.type==="context-menu"&&(L=l??M.context?.anchor,pe=pe??"start",!x&&pe!=="center"&&(ee=a.alignOffset??2,q=a.sideOffset??-5));let de=x,Ie=pe;M.type==="menu"?(de=de??"inline-end",Ie=Ie??"start",ae=a.collisionAvoidance??y1):M.type==="menubar"&&(de=de??(M.context.orientation==="vertical"?"inline-end":"bottom"),Ie=Ie??"start");const Ae=M.type==="context-menu",Ce=aS({anchor:L,floatingRootContext:B,positionMethod:V?"fixed":c,mounted:K,side:de,sideOffset:q,align:Ie,alignOffset:ee,arrowPadding:Ae?0:j,collisionBoundary:g,collisionPadding:S,sticky:E,nodeId:H,keepMounted:k,disableAnchorTracking:w,collisionAvoidance:ae,shiftCrossAxis:Ae&&!("side"in ae&&ae.side==="flip"),externalTree:R,adaptiveOrigin:D?nS:void 0});h.useEffect(()=>{function fe(Re){Re.open&&(Re.parentNodeId===H&&O.set("hoverEnabled",!1),Re.nodeId!==H&&Re.parentNodeId===O.select("floatingParentNodeId")&&O.setOpen(!1,yt(Ul)))}return R.events.on("menuopenchange",fe),()=>{R.events.off("menuopenchange",fe)}},[O,R.events,H]),h.useEffect(()=>{if(O.select("floatingParentNodeId")==null)return;function fe(Re){if(Re.open||Re.nodeId!==O.select("floatingParentNodeId"))return;const Me=Re.reason??Ul;O.setOpen(!1,yt(Me))}return R.events.on("menuopenchange",fe),()=>{R.events.off("menuopenchange",fe)}},[R.events,O]);const Be=Xn();h.useEffect(()=>{Q||Be.clear()},[Q,Be]),h.useEffect(()=>{function fe(Re){if(!(!Q||Re.nodeId!==O.select("floatingParentNodeId")))if(Re.target&&Z&&Z!==Re.target){const Me=O.select("closeDelay");Me>0?Be.isStarted()||Be.start(Me,()=>{O.setOpen(!1,yt(Ul))}):O.setOpen(!1,yt(Ul))}else Be.clear()}return R.events.on("itemhover",fe),()=>{R.events.off("itemhover",fe)}},[R.events,Q,Z,O,Be]),h.useEffect(()=>{const fe={open:Q,nodeId:H,parentNodeId:F,reason:O.select("lastOpenChangeReason")};R.events.emit("menuopenchange",fe)},[R.events,Q,O,H,F]),Xe(()=>{const fe=z,Re=X.current;if(fe&&(X.current=fe),Re&&fe&&fe!==Re){O.set("instantType",void 0);const Me=new AbortController;return I(()=>{O.set("instantType","trigger-change")},Me.signal),()=>{Me.abort()}}},[z,I,O]);const xe={open:Q,side:Ce.side,align:Ce.align,anchorHidden:Ce.anchorHidden,nested:M.type==="menu",instant:_},ue=M.type==="menubar"&&M.context.modal;lS(Q&&(ue||oe&&Y!==pn),te==="touch",U,Z);const _e=rS(a,xe,{styles:Ce.positionerStyles,transitionStatus:ne,props:T,refs:[r,O.useStateSetter("positionerElement")],hidden:!K,inert:!Q}),ze=K&&M.type!=="menu"&&(M.type!=="menubar"&&oe&&Y!==pn||M.type==="menubar"&&M.context.modal);let Se=null;return M.type==="menubar"?Se=M.context.contentElement:M.type===void 0&&(Se=Z),o.jsxs(P0.Provider,{value:Ce,children:[ze&&o.jsx(Fp,{ref:M.type==="context-menu"||M.type==="nested-context-menu"?M.context.internalBackdropRef:null,inert:Vp(!Q),cutout:Se}),o.jsx(E1,{id:H,children:o.jsx(ZR,{elementsRef:O.context.itemDomElements,labelsRef:O.context.itemLabels,children:_e})})]})}),ck=h.createContext(null);function iS(t){return h.useContext(ck)}function uk(t){const a=h.useRef(""),r=h.useCallback(c=>{c.defaultPrevented||(a.current=c.pointerType,t(c,c.pointerType))},[t]);return{onClick:h.useCallback(c=>{if(c.detail===0){t(c,"keyboard");return}"pointerType"in c?t(c,c.pointerType):t(c,a.current),a.current=""},[t]),onPointerDown:r}}function dk(t,a){const r=h.useRef(t),l=We(a);Xe(()=>{r.current!==t&&l(r.current)},[t,l]),Xe(()=>{r.current=t},[t])}function cS(t,a){const r=We((d,p)=>{(typeof t=="function"?t():t)||a(p||(gu?"touch":""))}),{onClick:l,onPointerDown:c}=uk(r);return h.useMemo(()=>({onClick:l,onPointerDown:c}),[l,c])}function fk(t){const[a,r]=h.useState(null),l=cS(t,r);return dk(t,c=>{c&&!t&&r(null)}),h.useMemo(()=>({openMethod:a,triggerProps:l}),[a,l])}const mk={...Up,disabled:Ve(t=>t.parent.type==="menubar"&&t.parent.context.disabled||t.disabled),modal:Ve(t=>(t.parent.type===void 0||t.parent.type==="context-menu")&&(t.modal??!0)),openMethod:Ve(t=>t.openMethod),allowMouseEnter:Ve(t=>t.allowMouseEnter),highlightItemOnHover:Ve(t=>t.highlightItemOnHover),stickIfOpen:Ve(t=>t.stickIfOpen),parent:Ve(t=>t.parent),rootId:Ve(t=>t.parent.type==="menu"?t.parent.store.select("rootId"):t.parent.type!==void 0?t.parent.context.rootId:t.rootId),activeIndex:Ve(t=>t.activeIndex),isActive:Ve((t,a)=>t.activeIndex===a),hoverEnabled:Ve(t=>t.hoverEnabled),instantType:Ve(t=>t.instantType),lastOpenChangeReason:Ve(t=>t.openChangeReason),floatingTreeRoot:Ve(t=>t.parent.type==="menu"?t.parent.store.select("floatingTreeRoot"):t.floatingTreeRoot),floatingNodeId:Ve(t=>t.floatingNodeId),floatingParentNodeId:Ve(t=>t.floatingParentNodeId),itemProps:Ve(t=>t.itemProps),closeDelay:Ve(t=>t.closeDelay),hasViewport:Ve(t=>t.hasViewport),keyboardEventRelay:Ve(t=>{if(t.keyboardEventRelay)return t.keyboardEventRelay;if(t.parent.type==="menu")return t.parent.store.select("keyboardEventRelay")})};class qp extends ju{constructor(a){super({...pk(),...a},{positionerRef:h.createRef(),popupRef:h.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:h.createRef(),beforeContentFocusGuardRef:h.createRef(),onOpenChangeComplete:void 0,triggerElements:new li},mk),this.unsubscribeParentListener=this.observe("parent",r=>{if(this.unsubscribeParentListener?.(),r.type==="menu"){let l=r.store.select("rootId"),c=r.store.select("floatingTreeRoot"),d=r.store.select("keyboardEventRelay");this.unsubscribeParentListener=r.store.subscribe(()=>{const p=r.store.select("rootId"),x=r.store.select("floatingTreeRoot"),y=r.store.select("keyboardEventRelay");l===p&&c===x&&d===y||(l=p,c=x,d=y,this.notifyAll())}),this.context.allowMouseUpTriggerRef=r.store.context.allowMouseUpTriggerRef;return}r.type!==void 0&&(this.context.allowMouseUpTriggerRef=r.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(a,r){this.state.floatingRootContext.context.events.emit("setOpen",{open:a,eventDetails:r})}static useStore(a,r){const l=In(()=>new qp(r)).current;return a??l}unsubscribeParentListener=null}function pk(){return{...Ip(),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,highlightItemOnHover:!0,stickIfOpen:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new Cp,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:Ht,keyboardEventRelay:void 0,closeDelay:0,hasViewport:!1}}const hk=h.createContext(void 0);function gk(){return h.useContext(hk)}const xk=I1(function(a){const{children:r,open:l,onOpenChange:c,onOpenChangeComplete:d,defaultOpen:p=!1,disabled:x=!1,modal:y,loopFocus:m=!0,orientation:b="vertical",actionsRef:g,closeParentOnEsc:S=!1,handle:j,triggerId:E,defaultTriggerId:w=null,highlightItemOnHover:C=!0}=a,N=mu(!0),T=Cr(!0),O=iS(!0),k=gk(),V=h.useMemo(()=>k&&T?{type:"menu",store:T.store}:O?{type:"menubar",context:O}:N&&!T?{type:"context-menu",context:N}:{type:void 0},[N,T,O,k]),M=qp.useStore(j?.store,{open:p,openProp:l,activeTriggerId:w,triggerIdProp:E,parent:V});V1(M,l,p,w),M.useControlledProp("openProp",l),M.useControlledProp("triggerIdProp",E),M.useContextCallback("onOpenChangeComplete",d);const B=Sr(),R=Sr(),K=M.useState("floatingTreeRoot"),Q=Op(K),oe=ma(),te=M.useState("open"),Z=M.useState("activeTriggerElement"),ne=M.useState("positionerElement"),U=M.useState("hoverEnabled"),_=M.useState("disabled"),D=M.useState("lastOpenChangeReason"),Y=M.useState("parent"),H=M.useState("activeIndex"),F=M.useState("payload"),z=M.useState("floatingParentNodeId"),X=h.useRef(null),I=h.useRef(Y.type!=="context-menu"),L=Xn(),q=h.useRef(!0),ee=Xn(),pe=z!=null,{openMethod:ae,triggerProps:de}=fk(te);M.useSyncedValues({disabled:x,highlightItemOnHover:C,modal:Y.type===void 0?y:void 0,openMethod:ae,rootId:B}),Dp(M);const{forceUnmount:Ie}=zp(te,M,()=>{M.update({allowMouseEnter:!1,stickIfOpen:!0})});Xe(()=>{N&&!T?M.update({parent:{type:"context-menu",context:N},floatingNodeId:Q,floatingParentNodeId:oe}):T&&M.update({floatingNodeId:Q,floatingParentNodeId:oe})},[N,T,Q,oe,M]),h.useEffect(()=>{if(te||(X.current=null),Y.type==="context-menu"){if(!te){L.clear(),I.current=!1;return}L.start(500,()=>{I.current=!0})}},[L,te,Y.type]),Xe(()=>{!te&&!U&&M.set("hoverEnabled",!0)},[te,U,M]);const Ae=We((re,Oe)=>{const Ue=Oe.reason;if(te===re&&Oe.trigger===Z&&D===Ue)return;const Qe=P1(Oe);if(!re&&Oe.trigger==null&&(Oe.trigger=Z??void 0),c?.(re,Oe),Oe.isCanceled)return;M.state.floatingRootContext.dispatchOpenChange(re,Oe);const ht=Oe.event;if(re===!1&&ht?.type==="click"&&ht.pointerType==="touch"&&!q.current)return;re&&Ue===Vl?(q.current=!1,ee.start(300,()=>{q.current=!0})):(q.current=!0,ee.clear());const Dt=(Ue===br||Ue===G0)&&ht.detail===0&&ht?.isTrusted,dt=!re&&(Ue===pu||Ue==null),It={open:re,openChangeReason:Ue};X.current=Oe.event??null,Mp(It,re,Oe.trigger,Qe()),M.update(It),Y.type==="menubar"&&(Ue===Vl||Ue===vr||Ue===pn||Ue===Om||Ue===Ul)?M.set("instantType","group"):Dt||dt?M.set("instantType",Dt?"click":"dismiss"):M.set("instantType",void 0)}),Ce=U1({popupStore:M,floatingId:R,nested:oe!=null,onOpenChange:Ae}),Be=Ce.context.events;h.useEffect(()=>{const re=({open:Oe,eventDetails:Ue})=>Ae(Oe,Ue);return Be.on("setOpen",re),()=>{Be?.off("setOpen",re)}},[Be,Ae]);const xe=h.useCallback(()=>{M.setOpen(!1,yt(hp))},[M]);h.useImperativeHandle(g,()=>({unmount:Ie,close:xe}),[Ie,xe]);let ue;Y.type==="context-menu"&&(ue=Y.context),h.useImperativeHandle(ue?.positionerRef,()=>ne,[ne]),h.useImperativeHandle(ue?.actionsRef,()=>({setOpen:Ae}),[Ae]);const He=_p(Ce,{enabled:!_,bubbles:{escapeKey:S&&Y.type==="menu"},outsidePress(){return Y.type!=="context-menu"||X.current?.type==="contextmenu"?!0:I.current},externalTree:pe?K:void 0}),_e=tS(),ze=h.useCallback(re=>{M.select("activeIndex")!==re&&M.set("activeIndex",re)},[M]),Se=OR(Ce,{enabled:!_,listRef:M.context.itemDomElements,activeIndex:H,nested:Y.type!==void 0,loopFocus:m,orientation:b,parentOrientation:Y.type==="menubar"?Y.context.orientation:void 0,rtl:_e==="rtl",disabledIndices:Kc,onNavigate:ze,openOnArrowKeyDown:Y.type!=="context-menu",externalTree:pe?K:void 0,focusItemOnHover:C}),fe=h.useCallback(re=>{M.context.typingRef.current=re},[M]),Re=RR(Ce,{enabled:!_,listRef:M.context.itemLabels,elementsRef:M.context.itemDomElements,activeIndex:H,resetMs:rO,onMatch:re=>{te&&re!==H&&M.set("activeIndex",re)},onTyping:fe}),Me=h.useMemo(()=>{const re=sa(Re.reference,Se.reference,He.reference,{onMouseMove(){M.set("allowMouseEnter",!0)}},de);return re["aria-haspopup"]="menu",re["aria-expanded"]=te,re},[M,Re.reference,Se.reference,He.reference,de,te]),J=h.useMemo(()=>{const re=sa(Se.trigger,He.trigger,de);return re["aria-haspopup"]="menu",re["aria-expanded"]=!1,re},[Se.trigger,He.trigger,de]),P=h.useMemo(()=>sa(Tu,{id:R,role:"menu","aria-labelledby":Z?.id,onMouseMove(){M.set("allowMouseEnter",!0),Y.type==="menu"&&M.set("hoverEnabled",!1)},onClick(){M.select("hoverEnabled")&&M.set("hoverEnabled",!1)},onKeyDown(re){const Oe=M.select("keyboardEventRelay");Oe&&!re.isPropagationStopped()&&Oe(re)}},Re.floating,Se.floating,He.floating),[Z,R,Y.type,M,Re.floating,Se.floating,He.floating]),G=Se.item??Ht;Lp(M,{floatingRootContext:Ce,activeTriggerProps:Me,inactiveTriggerProps:J,popupProps:P,itemProps:G});const Te=h.useMemo(()=>({store:M,parent:V}),[M,V]),ye=o.jsx(F0.Provider,{value:Te,children:typeof r=="function"?r({payload:F}):r});return Y.type===void 0||Y.type==="context-menu"?o.jsx(T1,{externalTree:K,children:ye}):ye});function yk(t){const a=t.getBoundingClientRect(),r=Qt(t);if(xp)return a;const l=r.getComputedStyle(t,"::before"),c=r.getComputedStyle(t,"::after");if(!(l.content!=="none"||c.content!=="none"))return a;const p=parseFloat(l.width)||0,x=parseFloat(l.height)||0,y=parseFloat(c.width)||0,m=parseFloat(c.height)||0,b=Math.max(a.width,p,y),g=Math.max(a.height,x,m),S=b-a.width,j=g-a.height;return{left:a.left-S/2,right:a.right+S/2,top:a.top-j/2,bottom:a.bottom+j/2}}function bk(t={}){const{highlightItemOnHover:a,highlightedIndex:r,onHighlightedIndexChange:l}=fp(),{ref:c,index:d}=K0(t),p=r===d,x=h.useRef(null),y=ko(c,x);return{compositeProps:{tabIndex:p?0:-1,onFocus(){l(d)},onMouseMove(){const b=x.current;if(!a||!b)return;const g=b.hasAttribute("disabled")||b.ariaDisabled==="true";!p&&!g&&b.focus()}},compositeRef:y,index:d}}function vk(t){const{render:a,className:r,style:l,state:c=Ht,props:d=Kc,refs:p=Kc,metadata:x,stateAttributesMapping:y,tag:m="div",...b}=t,{compositeProps:g,compositeRef:S}=bk({metadata:x});return hn(m,t,{state:c,ref:[...p,S],props:[g,...d,b],stateAttributesMapping:y})}function uS(t){if(Ut(t)&&t.hasAttribute("data-rootownerid"))return t.getAttribute("data-rootownerid")??void 0;if(!na(t))return uS(ia(t))}function dS(t,a){const r=h.useRef(null);function l(d){ca.flushSync(()=>{t.setOpen(!1,yt(vr,d.nativeEvent,d.currentTarget))}),tO(r.current)?.focus()}function c(d){const p=t.select("positionerElement");if(p&&To(d,p))t.context.beforeContentFocusGuardRef.current?.focus();else{ca.flushSync(()=>{t.setOpen(!1,yt(vr,d.nativeEvent,d.currentTarget))});let x=eO(t.context.triggerFocusTargetRef.current||a.current);for(;x!==null&&Je(p,x);){const y=x;if(x=Tp(x),x===y)break}x?.focus()}}return{preFocusGuardRef:r,handlePreFocusGuardFocus:l,handleFocusTargetFocus:c}}function Sk(t){const{enabled:a=!0,mouseDownAction:r,open:l}=t,c=h.useRef(!1);return h.useMemo(()=>a?{onMouseDown:d=>{(r==="open"&&!l||r==="close"&&l)&&(c.current=!0,xt(d.currentTarget).addEventListener("click",()=>{c.current=!1},{once:!0}))},onClick:d=>{c.current&&(c.current=!1,d.preventBaseUIHandler())}}:Ht,[a,r,l])}const Mc=2,Nk=cR(function(a,r){const{render:l,className:c,style:d,disabled:p=!1,nativeButton:x=!0,id:y,openOnHover:m,delay:b=100,closeDelay:g=0,handle:S,payload:j,...E}=a,w=Cr(!0),C=S?.store??w?.store;if(!C)throw new Error(Tn(85));const N=Rr(y),T=C.useState("isTriggerActive",N),O=C.useState("floatingRootContext"),k=C.useState("isOpenedByTrigger",N),V=C.useState("triggerPopupId",N),M=h.useRef(null),B=Ek(),R=fp(!0),K=$a(),Q=h.useMemo(()=>K??new Cp,[K]),oe=Op(Q),te=ma(),{registerTrigger:Z,isMountedByThisTrigger:ne}=F1(N,M,C,{payload:j,closeDelay:g,parent:B,floatingTreeRoot:Q,floatingNodeId:oe,floatingParentNodeId:te,keyboardEventRelay:R?.relayKeyboardEvent}),U=B.type==="menubar",_=C.useState("disabled"),D=p||_||U&&B.context.disabled,{getButtonProps:Y,buttonRef:H}=ai({disabled:D,native:x});h.useEffect(()=>{!k&&B.type===void 0&&(C.context.allowMouseUpTriggerRef.current=!1)},[C,k,B.type]);const F=h.useRef(null),z=Xn(),X=We(Se=>{if(!F.current)return;z.clear(),C.context.allowMouseUpTriggerRef.current=!1;const fe=Se.target;if(Je(F.current,fe)||Je(C.select("positionerElement"),fe)||fe===F.current||fe!=null&&uS(fe)===C.select("rootId"))return;const Re=yk(F.current);Se.clientX>=Re.left-Mc&&Se.clientX<=Re.right+Mc&&Se.clientY>=Re.top-Mc&&Se.clientY<=Re.bottom+Mc||Q.events.emit("close",{domEvent:Se,reason:lC})});h.useEffect(()=>{k&&C.select("lastOpenChangeReason")===pn&&xt(F.current).addEventListener("mouseup",X,{once:!0})},[k,X,C]);const I=U&&B.context.hasSubmenuOpen,q=Z1(O,{enabled:(m??I)&&!D&&B.type!=="context-menu"&&(!U||I&&!ne),handleClose:J1({blockPointerEvents:!U}),mouseOnly:!0,move:!1,restMs:B.type===void 0?b:void 0,delay:{close:g},triggerElementRef:M,externalTree:Q,isActiveTrigger:T,isClosing:()=>C.select("transitionStatus")==="ending"}),ee=jk(k,C.select("lastOpenChangeReason")),pe=w1(O,{enabled:!D&&B.type!=="context-menu",event:k&&U?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:B.type===void 0?ee:!1}),ae=jR(O,{enabled:!D&&I}),de=Sk({open:k,enabled:U,mouseDownAction:"open"}),Ie=h.useMemo(()=>sa(ae.reference,pe.reference),[ae.reference,pe.reference]),Ae=C.useState("triggerProps",ne),{preFocusGuardRef:Ce,handlePreFocusGuardFocus:Be,handleFocusTargetFocus:xe}=dS(C,M),ue={disabled:D,open:k},He=[F,r,H,Z,M],_e=[Ie,q??Ht,Ae,{"aria-haspopup":"menu","aria-controls":V,id:N,onMouseDown:Se=>{if(C.select("open"))return;z.start(200,()=>{C.context.allowMouseUpTriggerRef.current=!0}),xt(Se.currentTarget).addEventListener("mouseup",X,{once:!0})}},U?{role:"menuitem"}:{},de,E,Y],ze=hn("button",a,{enabled:!U,stateAttributesMapping:Cm,state:ue,ref:He,props:_e});return U?o.jsx(vk,{tag:"button",render:l,className:c,style:d,state:ue,refs:He,props:_e,stateAttributesMapping:Cm}):k?o.jsxs(h.Fragment,{children:[o.jsx(Va,{ref:Ce,onFocus:Be},`${N}-pre-focus-guard`),o.jsx(h.Fragment,{children:ze},N),o.jsx(Va,{ref:C.context.triggerFocusTargetRef,onFocus:xe},`${N}-post-focus-guard`)]}):o.jsx(h.Fragment,{children:ze},N)});function jk(t,a){const r=Xn(),[l,c]=h.useState(!1);return Xe(()=>{t&&a==="trigger-hover"?(c(!0),r.start(g1,()=>{c(!1)})):t||(r.clear(),c(!1))},[t,a,r]),l}function Ek(){const t=mu(!0),a=Cr(!0),r=iS();return h.useMemo(()=>r?{type:"menubar",context:r}:t&&!a?{type:"context-menu",context:t}:{type:void 0},[t,a,r])}const Tk=h.forwardRef(function(a,r){const{className:l,render:c,orientation:d="horizontal",style:p,...x}=a;return hn("div",a,{state:{orientation:d},ref:r,props:[{role:"separator","aria-orientation":d},x]})});function wk({...t}){return o.jsx(xk,{"data-slot":"dropdown-menu",...t})}function Ck({...t}){return o.jsx(Nk,{"data-slot":"dropdown-menu-trigger",...t})}function Ok({align:t="start",alignOffset:a=0,side:r="bottom",sideOffset:l=4,className:c,...d}){return o.jsx(qR,{children:o.jsx(ik,{className:"isolate z-50 outline-none",align:t,alignOffset:a,side:r,sideOffset:l,children:o.jsx(VR,{"data-slot":"dropdown-menu-content",className:ge("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95",c),...d})})})}function Rk({...t}){return o.jsx(wC,{"data-slot":"dropdown-menu-group",...t})}function kk({className:t,inset:a,...r}){return o.jsx(CC,{"data-slot":"dropdown-menu-label","data-inset":a,className:ge("px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7",t),...r})}function _k({className:t,inset:a,variant:r="default",...l}){return o.jsx(OC,{"data-slot":"dropdown-menu-item","data-inset":a,"data-variant":r,className:ge("group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",t),...l})}function Ak({className:t,...a}){return o.jsx(Tk,{"data-slot":"dropdown-menu-separator",className:ge("-mx-1 my-1 h-px bg-border",t),...a})}const Mk={propose_create_entity:"新建实体",propose_update_entity:"更新实体",propose_add_relation:"新增关系",propose_outline_node:"新建大纲节点",propose_reorder_timepoints:"重排时间轴时间点"},Dk={character:"角色",setting:"设定",location:"地点",hook:"伏笔"};function zk(t){const a=t.focus_entity_id??t.focus_node_id??"",r=t.focus_entity_type?Dk[t.focus_entity_type]??t.focus_entity_type:t.focus_node_id?"大纲节点":"";return r?`${r} ${a}`:a||"当前内容"}const Lk=t=>typeof t=="object"&&t!==null?t:{},Ik=["off","minimal","low","medium","high","xhigh","max"];function Bk({disabled:t}){const[a,r]=h.useState(null),l=st(m=>m.lastUsage);h.useEffect(()=>{if(t)return;let m=!1;return k0().then(b=>{m||r(b)}).catch(()=>{}),()=>{m=!0}},[t]);const c=a?.models.find(m=>m.id===a.model)??null,d=c?.contextWindow??0,p=l!==null&&d>0?Math.min(100,Math.round(l.total_tokens/d*100)):null;function x(m){r(b=>b&&{...b,model:m}),Pl({model:m}).catch(()=>{})}function y(m){r(b=>b&&{...b,thinkingLevel:m}),Pl({thinking_level:m}).catch(()=>{})}return a===null?null:o.jsxs("div",{className:"flex h-9 shrink-0 items-center gap-1.5 border-b border-border px-2.5",children:[o.jsx("select",{className:"h-6 w-max max-w-28 shrink-0 rounded-md border border-input bg-transparent px-1.5 text-xs text-foreground outline-none focus-visible:border-ring",value:a.model,disabled:t,onChange:m=>x(m.target.value),title:"选择模型","aria-label":"选择模型",children:a.models.map(m=>o.jsx("option",{value:m.id,children:m.displayName??m.id},m.id))}),o.jsx("select",{className:"h-6 w-max shrink-0 rounded-md border border-input bg-transparent px-1.5 text-xs text-foreground outline-none focus-visible:border-ring",value:a.thinkingLevel,disabled:t||!c?.reasoning,onChange:m=>y(m.target.value),title:"Thinking level","aria-label":"思考强度",children:Ik.map(m=>o.jsx("option",{value:m,children:m},m))}),p!==null&&o.jsxs("div",{className:"ml-auto flex shrink-0 items-center gap-1",title:`上下文占用:${l?.total_tokens??0} / ${d} tokens`,children:[o.jsx("div",{className:"h-1.5 w-16 overflow-hidden rounded-full bg-secondary",children:o.jsx("div",{className:ge("h-full rounded-full",p>=90?"bg-destructive":p>=70?"bg-amber-500":"bg-primary"),style:{width:`${p}%`}})}),o.jsxs("span",{className:"text-[10px] text-muted-foreground",children:[p,"%"]})]})]})}function Uk({disabled:t,onClose:a,onToggleCollapse:r}){const l=st(m=>m.sessions),c=st(m=>m.currentSessionId),d=st(m=>m.setCurrentSession),p=st(m=>m.newSession),x=l?.find(m=>m.id===c)??null,y=x?x.lastMessage||"(空会话)":"新会话";return o.jsxs("div",{className:"flex h-12 shrink-0 items-center gap-1 border-b border-border px-2.5",children:[o.jsx(Gl,{className:"size-4 shrink-0 text-muted-foreground"}),o.jsxs(wk,{children:[o.jsx(Ck,{render:o.jsxs(ce,{variant:"outline",size:"sm",disabled:t,className:"max-w-44 justify-start gap-1 px-1.5",children:[o.jsx("span",{className:"truncate text-sm font-medium",title:y,children:y}),o.jsx(CE,{className:"size-3.5 shrink-0 text-muted-foreground"})]})}),o.jsxs(Ok,{align:"start",className:"w-64",children:[o.jsx(Rk,{children:o.jsx(kk,{children:"会话(本项目)"})}),o.jsx(Ak,{}),l&&l.length===0&&o.jsx("div",{className:"px-2 py-2 text-xs text-muted-foreground",children:"暂无历史会话"}),l?.map(m=>o.jsx(_k,{onClick:()=>d(m.id),className:ge(m.id===c&&"bg-accent text-accent-foreground"),children:o.jsxs("span",{className:"flex min-w-0 flex-1 flex-col",children:[o.jsx("span",{className:"truncate text-sm",children:m.lastMessage||"(空会话)"}),o.jsxs("span",{className:"text-xs text-muted-foreground",children:[m.messageCount," 条 · ",xr(m.updatedAt)]})]})},m.id))]})]}),o.jsx(ce,{variant:"ghost",size:"icon-sm",className:"shrink-0 text-muted-foreground",disabled:t,onClick:p,"aria-label":"新会话",title:"新会话",children:o.jsx(lu,{className:"size-4"})}),r&&o.jsx(ce,{variant:"ghost",size:"icon-sm",className:"ml-auto shrink-0 text-muted-foreground",onClick:r,"aria-label":"收起聊天面板",title:"收起聊天面板",children:o.jsx(i2,{className:"size-4"})}),a&&o.jsx(ce,{variant:"ghost",size:"icon-sm",className:"ml-auto shrink-0 text-muted-foreground",onClick:a,"aria-label":"关闭聊天面板",children:o.jsx(da,{className:"size-4"})})]})}function Hk(){const t=st(l=>l.disconnected),a=st(l=>l.setDisconnected),r=st(l=>l.resendLast);return t?o.jsxs("div",{className:"flex shrink-0 items-center gap-2 border-b border-destructive/30 bg-destructive/10 px-3 py-1.5 text-xs text-destructive",children:[o.jsx(Jm,{className:"size-3.5 shrink-0"}),o.jsx("span",{className:"min-w-0 flex-1 truncate",children:"上次会话已取消"}),o.jsx(ce,{size:"xs",variant:"outline",className:"shrink-0",onClick:r,children:"重新发送"}),o.jsx("button",{className:"shrink-0 rounded p-0.5 hover:bg-destructive/15",onClick:()=>a(!1),"aria-label":"关闭断连提示",children:o.jsx(da,{className:"size-3.5"})})]}):null}function Yk(){const t=st(r=>r.streamError),a=st(r=>r.setStreamError);return t?o.jsxs("div",{className:"flex shrink-0 items-center gap-2 border-b border-destructive/30 bg-destructive/10 px-3 py-1.5 text-xs text-destructive",children:[o.jsx(Km,{className:"size-3.5 shrink-0"}),o.jsx("span",{className:"min-w-0 flex-1 truncate",children:t}),o.jsx("button",{className:"shrink-0 rounded p-0.5 hover:bg-destructive/15",onClick:()=>a(null),"aria-label":"关闭错误提示",children:o.jsx(da,{className:"size-3.5"})})]}):null}function fS({toolName:t,args:a,result:r,status:l}){const[c,d]=h.useState(!1),p=l==="ok"||r!==void 0;return o.jsxs("div",{className:"rounded-md border border-border/70 bg-muted/40 px-2 py-1",children:[o.jsxs("button",{className:"flex w-full items-center gap-1.5 rounded-md border border-border px-2 py-1 text-left text-xs text-muted-foreground",onClick:()=>d(x=>!x),"aria-expanded":c,children:[o.jsx(Xm,{className:ge("size-3 shrink-0 transition-transform",c&&"rotate-90")}),o.jsx(z2,{className:"size-3 shrink-0"}),o.jsxs("span",{className:"min-w-0 flex-1 truncate",children:["调用了 ",t]}),l==="error"&&o.jsx("span",{className:"shrink-0 text-destructive",children:"✗"}),p&&o.jsx("span",{className:"shrink-0 text-primary",children:"✓"})]}),c&&o.jsx("pre",{className:"mt-1 max-h-40 overflow-auto text-xs whitespace-pre-wrap text-muted-foreground",children:typeof a=="string"?a:JSON.stringify(a??{},null,2)})]})}function Pk({message:t,toolResults:a}){if(t.role==="user")return o.jsx("div",{className:"flex justify-end",children:o.jsx("div",{className:"max-w-[85%] rounded-lg bg-secondary px-3 py-2 text-sm text-secondary-foreground",children:t.content})});if(t.role==="tool")return null;const r=Array.isArray(t.toolCalls)?t.toolCalls:[];return o.jsxs("div",{className:"space-y-1.5",children:[r.map((l,c)=>{const d=Lk(l),p=d.id??`hist-${c}`,x=p?a.get(p):void 0;return o.jsx(fS,{toolName:d.tool??d.name??"工具",args:d.args,result:x?.content,status:x?"ok":void 0},p)}),t.content?o.jsx("p",{className:"font-serif text-[17px] leading-[1.72] whitespace-pre-wrap text-foreground",children:t.content}):null]})}function Vk({proposal:t}){const a=st(d=>d.confirmProposal),r=st(d=>d.rejectProposal),l=Mk[t.type]??t.type,c=t.status!=="pending"||t.processing===!0;return o.jsxs("div",{className:"rounded-lg border border-primary/25 bg-primary/5 p-2.5",children:[o.jsxs("div",{className:"flex items-center gap-1.5 text-sm font-medium text-foreground",children:[o.jsx(iu,{className:"size-3.5 shrink-0 text-primary"}),o.jsxs("span",{className:"min-w-0 flex-1 truncate",children:["提案:",l]}),t.status==="confirmed"&&o.jsx("span",{className:"shrink-0 text-xs text-primary",children:"✓ 已确认"}),t.status==="rejected"&&o.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:"已拒绝"}),t.status==="stale"&&o.jsx("span",{className:"shrink-0 text-xs text-destructive",children:"⚠ 数据已变化,此提案已失效"})]}),t.preview!==void 0&&o.jsx("pre",{className:"mt-1 max-h-32 overflow-auto text-xs whitespace-pre-wrap text-muted-foreground",children:typeof t.preview=="string"?t.preview:JSON.stringify(t.preview,null,2)}),o.jsxs("div",{className:"mt-2 flex gap-1.5",children:[o.jsx(ce,{size:"xs",disabled:c,onClick:()=>{a(t.proposalId)},children:"确认"}),o.jsx(ce,{size:"xs",variant:"outline",disabled:c,onClick:()=>{r(t.proposalId)},children:"拒绝"})]})]})}function Fk(){const t=st(r=>r.focusContext),a=st(r=>r.clearFocusContext);return t?o.jsxs("div",{className:"flex shrink-0 items-center gap-1.5 border-t border-border bg-accent/40 px-3 py-1.5 text-xs",children:[o.jsx(iu,{className:"size-3.5 shrink-0 text-primary"}),o.jsxs("span",{className:"min-w-0 flex-1 truncate text-muted-foreground",children:["正在讨论:",zk(t)]}),o.jsx("button",{className:"shrink-0 rounded p-0.5 text-muted-foreground hover:bg-muted",onClick:a,"aria-label":"清除讨论上下文",children:o.jsx(da,{className:"size-3.5"})})]}):null}function qk({disabled:t}){const[a,r]=h.useState(""),l=st(m=>m.streaming),c=st(m=>m.sendMessage),d=st(m=>m.focusInputSeq),p=h.useRef(null);h.useEffect(()=>{d>0&&p.current?.focus()},[d]);const x=!t&&!l&&a.trim().length>0,y=()=>{x&&(c(a),r(""))};return o.jsx("div",{className:"shrink-0 border-t border-border p-3",children:o.jsxs("div",{className:"flex items-end gap-2",children:[o.jsx("textarea",{ref:p,value:a,onChange:m=>r(m.target.value),onKeyDown:m=>{m.key==="Enter"&&!m.shiftKey&&!m.nativeEvent.isComposing&&(m.preventDefault(),y())},placeholder:l?"AI 思考中…":"输入消息…",rows:1,disabled:t||l,className:"max-h-32 min-h-9 flex-1 resize-none rounded-lg border border-input bg-transparent px-2.5 py-1.5 text-sm outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50"}),o.jsxs(ce,{onClick:y,disabled:!x,className:"shrink-0",children:[l?o.jsx(yr,{className:"size-4 animate-spin"}):o.jsx(E2,{className:"size-4"}),l?"思考中":"发送"]})]})})}function Gk({disabled:t}){const a=st(m=>m.messages),r=st(m=>m.messagesLoading),l=st(m=>m.streamTools),c=st(m=>m.proposals),d=h.useRef(null),p=h.useMemo(()=>{const m=new Map;for(const b of a)b.role==="tool"&&b.toolCallId&&m.set(b.toolCallId,b);return m},[a]),x=a.length;if(h.useEffect(()=>{const m=d.current;m&&(m.scrollTop=m.scrollHeight)},[x,r,l.length,c.length]),t)return o.jsxs("div",{className:"flex min-h-0 flex-1 flex-col items-center justify-center gap-2 p-4",children:[o.jsx(Gl,{className:"size-8 text-muted-foreground/40"}),o.jsx("p",{className:"text-sm text-muted-foreground/70",children:"打开项目后可用"})]});if(r)return o.jsx("div",{className:"flex min-h-0 flex-1 flex-col gap-3 p-4",children:[0,1].map(m=>o.jsx("div",{className:ge(jt,"rounded-lg bg-muted/60"),style:{height:40,width:m%2?"70%":"90%"}},m))});const y=a.length===0&&l.length===0&&c.length===0;return o.jsx("div",{ref:d,className:"min-h-0 flex-1 overflow-y-auto px-3 py-3",children:y?o.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-1.5 p-4 text-center",children:[o.jsx(Gl,{className:"size-7 text-muted-foreground/40"}),o.jsx("p",{className:"text-sm text-muted-foreground",children:"试试问:这个设定有没有漏洞?"}),o.jsx("p",{className:"text-sm text-muted-foreground",children:"第 4 章剧情往哪走合理?"})]}):o.jsxs("div",{className:"flex flex-col gap-3",children:[a.map(m=>o.jsx(Pk,{message:m,toolResults:p},m.id)),l.map(m=>o.jsx(fS,{toolName:m.tool,args:m.args,result:m.result,status:m.status},m.id)),c.map(m=>o.jsx(Vk,{proposal:m},m.proposalId))]})})}function pv({onClose:t,onToggleCollapse:a}){const l=!Le(c=>c.config);return o.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[o.jsx(Uk,{disabled:l,onClose:t,onToggleCollapse:a}),o.jsx(Bk,{disabled:l}),!l&&o.jsxs(o.Fragment,{children:[o.jsx(Hk,{}),o.jsx(Yk,{})]}),o.jsx(Gk,{disabled:l}),!l&&o.jsxs(o.Fragment,{children:[o.jsx(Fk,{}),o.jsx(qk,{disabled:l})]})]})}function $k({open:t,onClose:a,width:r,onToggleCollapse:l}){return Wm("(min-width: 1024px)")?o.jsx("aside",{className:"flex min-w-0 flex-[4_1_40%] flex-col border-l border-border bg-background",style:r!==void 0?{flex:`0 1 ${r}px`,minWidth:Xl}:void 0,children:o.jsx(pv,{onToggleCollapse:l})}):t?o.jsxs("div",{className:"fixed inset-0 z-50",children:[o.jsx("div",{className:"absolute inset-0 animate-in bg-foreground/40 fade-in",onClick:a}),o.jsx("div",{className:"absolute inset-y-0 right-0 w-[85vw] max-w-md animate-in border-l border-border bg-background shadow-xl duration-300 slide-in-from-right",children:o.jsx(pv,{onClose:a})})]}):null}function Xk(t){if(typeof document>"u")return;let a=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",a.appendChild(r),r.styleSheet?r.styleSheet.cssText=t:r.appendChild(document.createTextNode(t))}const Kk=t=>{switch(t){case"success":return Jk;case"info":return e_;case"warning":return Wk;case"error":return t_;default:return null}},Qk=Array(12).fill(0),Zk=({visible:t,className:a})=>De.createElement("div",{className:["sonner-loading-wrapper",a].filter(Boolean).join(" "),"data-visible":t},De.createElement("div",{className:"sonner-spinner"},Qk.map((r,l)=>De.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${l}`})))),Jk=De.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},De.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),Wk=De.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},De.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),e_=De.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},De.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),t_=De.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},De.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),n_=De.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},De.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),De.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),s_=()=>{const[t,a]=De.useState(document.hidden);return De.useEffect(()=>{const r=()=>{a(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),t};let Um=1;class a_{constructor(){this.subscribe=a=>(this.subscribers.push(a),()=>{const r=this.subscribers.indexOf(a);this.subscribers.splice(r,1)}),this.publish=a=>{this.subscribers.forEach(r=>r(a))},this.addToast=a=>{this.publish(a),this.toasts=[...this.toasts,a]},this.create=a=>{var r;const{message:l,...c}=a,d=typeof a?.id=="number"||((r=a.id)==null?void 0:r.length)>0?a.id:Um++,p=this.toasts.find(y=>y.id===d),x=a.dismissible===void 0?!0:a.dismissible;return this.dismissedToasts.has(d)&&this.dismissedToasts.delete(d),p?this.toasts=this.toasts.map(y=>y.id===d?(this.publish({...y,...a,id:d,title:l}),{...y,...a,id:d,dismissible:x,title:l}):y):this.addToast({title:l,...c,dismissible:x,id:d}),d},this.dismiss=a=>(a?(this.dismissedToasts.add(a),requestAnimationFrame(()=>this.subscribers.forEach(r=>r({id:a,dismiss:!0})))):this.toasts.forEach(r=>{this.subscribers.forEach(l=>l({id:r.id,dismiss:!0}))}),a),this.message=(a,r)=>this.create({...r,message:a}),this.error=(a,r)=>this.create({...r,message:a,type:"error"}),this.success=(a,r)=>this.create({...r,type:"success",message:a}),this.info=(a,r)=>this.create({...r,type:"info",message:a}),this.warning=(a,r)=>this.create({...r,type:"warning",message:a}),this.loading=(a,r)=>this.create({...r,type:"loading",message:a}),this.promise=(a,r)=>{if(!r)return;let l;r.loading!==void 0&&(l=this.create({...r,promise:a,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));const c=Promise.resolve(a instanceof Function?a():a);let d=l!==void 0,p;const x=c.then(async m=>{if(p=["resolve",m],De.isValidElement(m))d=!1,this.create({id:l,type:"default",message:m});else if(o_(m)&&!m.ok){d=!1;const g=typeof r.error=="function"?await r.error(`HTTP error! status: ${m.status}`):r.error,S=typeof r.description=="function"?await r.description(`HTTP error! status: ${m.status}`):r.description,E=typeof g=="object"&&!De.isValidElement(g)?g:{message:g};this.create({id:l,type:"error",description:S,...E})}else if(m instanceof Error){d=!1;const g=typeof r.error=="function"?await r.error(m):r.error,S=typeof r.description=="function"?await r.description(m):r.description,E=typeof g=="object"&&!De.isValidElement(g)?g:{message:g};this.create({id:l,type:"error",description:S,...E})}else if(r.success!==void 0){d=!1;const g=typeof r.success=="function"?await r.success(m):r.success,S=typeof r.description=="function"?await r.description(m):r.description,E=typeof g=="object"&&!De.isValidElement(g)?g:{message:g};this.create({id:l,type:"success",description:S,...E})}}).catch(async m=>{if(p=["reject",m],r.error!==void 0){d=!1;const b=typeof r.error=="function"?await r.error(m):r.error,g=typeof r.description=="function"?await r.description(m):r.description,j=typeof b=="object"&&!De.isValidElement(b)?b:{message:b};this.create({id:l,type:"error",description:g,...j})}}).finally(()=>{d&&(this.dismiss(l),l=void 0),r.finally==null||r.finally.call(r)}),y=()=>new Promise((m,b)=>x.then(()=>p[0]==="reject"?b(p[1]):m(p[1])).catch(b));return typeof l!="string"&&typeof l!="number"?{unwrap:y}:Object.assign(l,{unwrap:y})},this.custom=(a,r)=>{const l=r?.id||Um++;return this.create({jsx:a(l),id:l,...r}),l},this.getActiveToasts=()=>this.toasts.filter(a=>!this.dismissedToasts.has(a.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const zn=new a_,r_=(t,a)=>{const r=a?.id||Um++;return zn.addToast({title:t,...a,id:r}),r},o_=t=>t&&typeof t=="object"&&"ok"in t&&typeof t.ok=="boolean"&&"status"in t&&typeof t.status=="number",l_=r_,i_=()=>zn.toasts,c_=()=>zn.getActiveToasts(),hv=Object.assign(l_,{success:zn.success,info:zn.info,warning:zn.warning,error:zn.error,custom:zn.custom,message:zn.message,promise:zn.promise,dismiss:zn.dismiss,loading:zn.loading},{getHistory:i_,getToasts:c_});Xk("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function Dc(t){return t.label!==void 0}const u_=3,d_="24px",f_="16px",gv=4e3,m_=356,p_=14,h_=45,g_=200;function ws(...t){return t.filter(Boolean).join(" ")}function x_(t){const[a,r]=t.split("-"),l=[];return a&&l.push(a),r&&l.push(r),l}const y_=t=>{var a,r,l,c,d,p,x,y,m;const{invert:b,toast:g,unstyled:S,interacting:j,setHeights:E,visibleToasts:w,heights:C,index:N,toasts:T,expanded:O,removeToast:k,defaultRichColors:V,closeButton:M,style:B,cancelButtonStyle:R,actionButtonStyle:K,className:Q="",descriptionClassName:oe="",duration:te,position:Z,gap:ne,expandByDefault:U,classNames:_,icons:D,closeButtonAriaLabel:Y="Close toast"}=t,[H,F]=De.useState(null),[z,X]=De.useState(null),[I,L]=De.useState(!1),[q,ee]=De.useState(!1),[pe,ae]=De.useState(!1),[de,Ie]=De.useState(!1),[Ae,Ce]=De.useState(!1),[Be,xe]=De.useState(0),[ue,He]=De.useState(0),_e=De.useRef(g.duration||te||gv),ze=De.useRef(null),Se=De.useRef(null),fe=N===0,Re=N+1<=w,Me=g.type,J=g.dismissible!==!1,P=g.className||"",G=g.descriptionClassName||"",Te=De.useMemo(()=>C.findIndex(Ge=>Ge.toastId===g.id)||0,[C,g.id]),ye=De.useMemo(()=>{var Ge;return(Ge=g.closeButton)!=null?Ge:M},[g.closeButton,M]),re=De.useMemo(()=>g.duration||te||gv,[g.duration,te]),Oe=De.useRef(0),Ue=De.useRef(0),Qe=De.useRef(0),ht=De.useRef(null),[Dt,dt]=Z.split("-"),It=De.useMemo(()=>C.reduce((Ge,bt,Pt)=>Pt>=Te?Ge:Ge+bt.height,0),[C,Te]),Tt=s_(),Yt=g.invert||b,we=Me==="loading";Ue.current=De.useMemo(()=>Te*ne+It,[Te,It]),De.useEffect(()=>{_e.current=re},[re]),De.useEffect(()=>{L(!0)},[]),De.useEffect(()=>{const Ge=Se.current;if(Ge){const bt=Ge.getBoundingClientRect().height;return He(bt),E(Pt=>[{toastId:g.id,height:bt,position:g.position},...Pt]),()=>E(Pt=>Pt.filter(Zt=>Zt.toastId!==g.id))}},[E,g.id]),De.useLayoutEffect(()=>{if(!I)return;const Ge=Se.current,bt=Ge.style.height;Ge.style.height="auto";const Pt=Ge.getBoundingClientRect().height;Ge.style.height=bt,He(Pt),E(Zt=>Zt.find(zt=>zt.toastId===g.id)?Zt.map(zt=>zt.toastId===g.id?{...zt,height:Pt}:zt):[{toastId:g.id,height:Pt,position:g.position},...Zt])},[I,g.title,g.description,E,g.id,g.jsx,g.action,g.cancel]);const ve=De.useCallback(()=>{ee(!0),xe(Ue.current),E(Ge=>Ge.filter(bt=>bt.toastId!==g.id)),setTimeout(()=>{k(g)},g_)},[g,k,E,Ue]);De.useEffect(()=>{if(g.promise&&Me==="loading"||g.duration===1/0||g.type==="loading")return;let Ge;return O||j||Tt?(()=>{if(Qe.current<Oe.current){const Zt=new Date().getTime()-Oe.current;_e.current=_e.current-Zt}Qe.current=new Date().getTime()})():_e.current!==1/0&&(Oe.current=new Date().getTime(),Ge=setTimeout(()=>{g.onAutoClose==null||g.onAutoClose.call(g,g),ve()},_e.current)),()=>clearTimeout(Ge)},[O,j,g,Me,Tt,ve]),De.useEffect(()=>{g.delete&&(ve(),g.onDismiss==null||g.onDismiss.call(g,g))},[ve,g.delete]);function qe(){var Ge;if(D?.loading){var bt;return De.createElement("div",{className:ws(_?.loader,g==null||(bt=g.classNames)==null?void 0:bt.loader,"sonner-loader"),"data-visible":Me==="loading"},D.loading)}return De.createElement(Zk,{className:ws(_?.loader,g==null||(Ge=g.classNames)==null?void 0:Ge.loader),visible:Me==="loading"})}const wt=g.icon||D?.[Me]||Kk(Me);var Gt,Rt;return De.createElement("li",{tabIndex:0,ref:Se,className:ws(Q,P,_?.toast,g==null||(a=g.classNames)==null?void 0:a.toast,_?.default,_?.[Me],g==null||(r=g.classNames)==null?void 0:r[Me]),"data-sonner-toast":"","data-rich-colors":(Gt=g.richColors)!=null?Gt:V,"data-styled":!(g.jsx||g.unstyled||S),"data-mounted":I,"data-promise":!!g.promise,"data-swiped":Ae,"data-removed":q,"data-visible":Re,"data-y-position":Dt,"data-x-position":dt,"data-index":N,"data-front":fe,"data-swiping":pe,"data-dismissible":J,"data-type":Me,"data-invert":Yt,"data-swipe-out":de,"data-swipe-direction":z,"data-expanded":!!(O||U&&I),"data-testid":g.testId,style:{"--index":N,"--toasts-before":N,"--z-index":T.length-N,"--offset":`${q?Be:Ue.current}px`,"--initial-height":U?"auto":`${ue}px`,...B,...g.style},onDragEnd:()=>{ae(!1),F(null),ht.current=null},onPointerDown:Ge=>{Ge.button!==2&&(we||!J||(ze.current=new Date,xe(Ue.current),Ge.target.setPointerCapture(Ge.pointerId),Ge.target.tagName!=="BUTTON"&&(ae(!0),ht.current={x:Ge.clientX,y:Ge.clientY})))},onPointerUp:()=>{var Ge,bt,Pt;if(de||!J)return;ht.current=null;const Zt=Number(((Ge=Se.current)==null?void 0:Ge.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),Qn=Number(((bt=Se.current)==null?void 0:bt.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),zt=new Date().getTime()-((Pt=ze.current)==null?void 0:Pt.getTime()),cn=H==="x"?Zt:Qn,As=Math.abs(cn)/zt;if(Math.abs(cn)>=h_||As>.11){xe(Ue.current),g.onDismiss==null||g.onDismiss.call(g,g),X(H==="x"?Zt>0?"right":"left":Qn>0?"down":"up"),ve(),Ie(!0);return}else{var un,gn;(un=Se.current)==null||un.style.setProperty("--swipe-amount-x","0px"),(gn=Se.current)==null||gn.style.setProperty("--swipe-amount-y","0px")}Ce(!1),ae(!1),F(null)},onPointerMove:Ge=>{var bt,Pt,Zt;if(!ht.current||!J||((bt=window.getSelection())==null?void 0:bt.toString().length)>0)return;const zt=Ge.clientY-ht.current.y,cn=Ge.clientX-ht.current.x;var As;const un=(As=t.swipeDirections)!=null?As:x_(Z);!H&&(Math.abs(cn)>1||Math.abs(zt)>1)&&F(Math.abs(cn)>Math.abs(zt)?"x":"y");let gn={x:0,y:0};const pa=Bn=>1/(1.5+Math.abs(Bn)/20);if(H==="y"){if(un.includes("top")||un.includes("bottom"))if(un.includes("top")&&zt<0||un.includes("bottom")&&zt>0)gn.y=zt;else{const Bn=zt*pa(zt);gn.y=Math.abs(Bn)<Math.abs(zt)?Bn:zt}}else if(H==="x"&&(un.includes("left")||un.includes("right")))if(un.includes("left")&&cn<0||un.includes("right")&&cn>0)gn.x=cn;else{const Bn=cn*pa(cn);gn.x=Math.abs(Bn)<Math.abs(cn)?Bn:cn}(Math.abs(gn.x)>0||Math.abs(gn.y)>0)&&Ce(!0),(Pt=Se.current)==null||Pt.style.setProperty("--swipe-amount-x",`${gn.x}px`),(Zt=Se.current)==null||Zt.style.setProperty("--swipe-amount-y",`${gn.y}px`)}},ye&&!g.jsx&&Me!=="loading"?De.createElement("button",{"aria-label":Y,"data-disabled":we,"data-close-button":!0,onClick:we||!J?()=>{}:()=>{ve(),g.onDismiss==null||g.onDismiss.call(g,g)},className:ws(_?.closeButton,g==null||(l=g.classNames)==null?void 0:l.closeButton)},(Rt=D?.close)!=null?Rt:n_):null,(Me||g.icon||g.promise)&&g.icon!==null&&(D?.[Me]!==null||g.icon)?De.createElement("div",{"data-icon":"",className:ws(_?.icon,g==null||(c=g.classNames)==null?void 0:c.icon)},g.promise||g.type==="loading"&&!g.icon?g.icon||qe():null,g.type!=="loading"?wt:null):null,De.createElement("div",{"data-content":"",className:ws(_?.content,g==null||(d=g.classNames)==null?void 0:d.content)},De.createElement("div",{"data-title":"",className:ws(_?.title,g==null||(p=g.classNames)==null?void 0:p.title)},g.jsx?g.jsx:typeof g.title=="function"?g.title():g.title),g.description?De.createElement("div",{"data-description":"",className:ws(oe,G,_?.description,g==null||(x=g.classNames)==null?void 0:x.description)},typeof g.description=="function"?g.description():g.description):null),De.isValidElement(g.cancel)?g.cancel:g.cancel&&Dc(g.cancel)?De.createElement("button",{"data-button":!0,"data-cancel":!0,style:g.cancelButtonStyle||R,onClick:Ge=>{Dc(g.cancel)&&J&&(g.cancel.onClick==null||g.cancel.onClick.call(g.cancel,Ge),ve())},className:ws(_?.cancelButton,g==null||(y=g.classNames)==null?void 0:y.cancelButton)},g.cancel.label):null,De.isValidElement(g.action)?g.action:g.action&&Dc(g.action)?De.createElement("button",{"data-button":!0,"data-action":!0,style:g.actionButtonStyle||K,onClick:Ge=>{Dc(g.action)&&(g.action.onClick==null||g.action.onClick.call(g.action,Ge),!Ge.defaultPrevented&&ve())},className:ws(_?.actionButton,g==null||(m=g.classNames)==null?void 0:m.actionButton)},g.action.label):null)};function xv(){if(typeof window>"u"||typeof document>"u")return"ltr";const t=document.documentElement.getAttribute("dir");return t==="auto"||!t?window.getComputedStyle(document.documentElement).direction:t}function b_(t,a){const r={};return[t,a].forEach((l,c)=>{const d=c===1,p=d?"--mobile-offset":"--offset",x=d?f_:d_;function y(m){["top","right","bottom","left"].forEach(b=>{r[`${p}-${b}`]=typeof m=="number"?`${m}px`:m})}typeof l=="number"||typeof l=="string"?y(l):typeof l=="object"?["top","right","bottom","left"].forEach(m=>{l[m]===void 0?r[`${p}-${m}`]=x:r[`${p}-${m}`]=typeof l[m]=="number"?`${l[m]}px`:l[m]}):y(x)}),r}const v_=De.forwardRef(function(a,r){const{id:l,invert:c,position:d="bottom-right",hotkey:p=["altKey","KeyT"],expand:x,closeButton:y,className:m,offset:b,mobileOffset:g,theme:S="light",richColors:j,duration:E,style:w,visibleToasts:C=u_,toastOptions:N,dir:T=xv(),gap:O=p_,icons:k,containerAriaLabel:V="Notifications"}=a,[M,B]=De.useState([]),R=De.useMemo(()=>l?M.filter(I=>I.toasterId===l):M.filter(I=>!I.toasterId),[M,l]),K=De.useMemo(()=>Array.from(new Set([d].concat(R.filter(I=>I.position).map(I=>I.position)))),[R,d]),[Q,oe]=De.useState([]),[te,Z]=De.useState(!1),[ne,U]=De.useState(!1),[_,D]=De.useState(S!=="system"?S:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),Y=De.useRef(null),H=p.join("+").replace(/Key/g,"").replace(/Digit/g,""),F=De.useRef(null),z=De.useRef(!1),X=De.useCallback(I=>{B(L=>{var q;return(q=L.find(ee=>ee.id===I.id))!=null&&q.delete||zn.dismiss(I.id),L.filter(({id:ee})=>ee!==I.id)})},[]);return De.useEffect(()=>zn.subscribe(I=>{if(I.dismiss){requestAnimationFrame(()=>{B(L=>L.map(q=>q.id===I.id?{...q,delete:!0}:q))});return}setTimeout(()=>{EC.flushSync(()=>{B(L=>{const q=L.findIndex(ee=>ee.id===I.id);return q!==-1?[...L.slice(0,q),{...L[q],...I},...L.slice(q+1)]:[I,...L]})})})}),[M]),De.useEffect(()=>{if(S!=="system"){D(S);return}if(S==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?D("dark"):D("light")),typeof window>"u")return;const I=window.matchMedia("(prefers-color-scheme: dark)");try{I.addEventListener("change",({matches:L})=>{D(L?"dark":"light")})}catch{I.addListener(({matches:q})=>{try{D(q?"dark":"light")}catch(ee){console.error(ee)}})}},[S]),De.useEffect(()=>{M.length<=1&&Z(!1)},[M]),De.useEffect(()=>{const I=L=>{var q;if(p.every(ae=>L[ae]||L.code===ae)){var pe;Z(!0),(pe=Y.current)==null||pe.focus()}L.code==="Escape"&&(document.activeElement===Y.current||(q=Y.current)!=null&&q.contains(document.activeElement))&&Z(!1)};return document.addEventListener("keydown",I),()=>document.removeEventListener("keydown",I)},[p]),De.useEffect(()=>{if(Y.current)return()=>{F.current&&(F.current.focus({preventScroll:!0}),F.current=null,z.current=!1)}},[Y.current]),De.createElement("section",{ref:r,"aria-label":`${V} ${H}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},K.map((I,L)=>{var q;const[ee,pe]=I.split("-");return R.length?De.createElement("ol",{key:I,dir:T==="auto"?xv():T,tabIndex:-1,ref:Y,className:m,"data-sonner-toaster":!0,"data-sonner-theme":_,"data-y-position":ee,"data-x-position":pe,style:{"--front-toast-height":`${((q=Q[0])==null?void 0:q.height)||0}px`,"--width":`${m_}px`,"--gap":`${O}px`,...w,...b_(b,g)},onBlur:ae=>{z.current&&!ae.currentTarget.contains(ae.relatedTarget)&&(z.current=!1,F.current&&(F.current.focus({preventScroll:!0}),F.current=null))},onFocus:ae=>{ae.target instanceof HTMLElement&&ae.target.dataset.dismissible==="false"||z.current||(z.current=!0,F.current=ae.relatedTarget)},onMouseEnter:()=>Z(!0),onMouseMove:()=>Z(!0),onMouseLeave:()=>{ne||Z(!1)},onDragEnd:()=>Z(!1),onPointerDown:ae=>{ae.target instanceof HTMLElement&&ae.target.dataset.dismissible==="false"||U(!0)},onPointerUp:()=>U(!1)},R.filter(ae=>!ae.position&&L===0||ae.position===I).map((ae,de)=>{var Ie,Ae;return De.createElement(y_,{key:ae.id,icons:k,index:de,toast:ae,defaultRichColors:j,duration:(Ie=N?.duration)!=null?Ie:E,className:N?.className,descriptionClassName:N?.descriptionClassName,invert:c,visibleToasts:C,closeButton:(Ae=N?.closeButton)!=null?Ae:y,interacting:ne,position:I,style:N?.style,unstyled:N?.unstyled,classNames:N?.classNames,cancelButtonStyle:N?.cancelButtonStyle,actionButtonStyle:N?.actionButtonStyle,closeButtonAriaLabel:N?.closeButtonAriaLabel,removeToast:X,toasts:R.filter(Ce=>Ce.position==ae.position),heights:Q.filter(Ce=>Ce.position==ae.position),setHeights:oe,expandByDefault:x,gap:O,expanded:te,swipeDirections:a.swipeDirections})})):null}))}),mS=h.createContext(!1),pS=h.createContext(void 0);function kr(t){const a=h.useContext(pS);if(t===!1&&a===void 0)throw new Error(Tn(27));return a}const S_={...ri,...fu},N_=h.forwardRef(function(a,r){const{render:l,className:c,style:d,forceRender:p=!1,...x}=a,{store:y}=kr(),m=y.useState("open"),b=y.useState("nested"),g=y.useState("mounted"),S=y.useState("transitionStatus");return hn("div",a,{state:{open:m,transitionStatus:S},ref:[y.context.backdropRef,r],stateAttributesMapping:S_,props:[{role:"presentation",hidden:!g,style:{userSelect:"none",WebkitUserSelect:"none"}},x],enabled:p||!b})}),hS=h.forwardRef(function(a,r){const{render:l,className:c,style:d,disabled:p=!1,nativeButton:x=!0,...y}=a,{store:m}=kr(),b=m.useState("open"),{getButtonProps:g,buttonRef:S}=ai({disabled:p,native:x}),j={disabled:p};function E(w){b&&m.setOpen(!1,yt($0,w.nativeEvent))}return hn("button",a,{state:j,ref:[r,S],props:[{onClick:E},y,g]})}),j_=h.forwardRef(function(a,r){const{render:l,className:c,style:d,id:p,...x}=a,{store:y}=kr(),m=Rr(p);return y.useSyncedValueWithCleanup("descriptionElementId",m),hn("p",a,{ref:r,props:[{id:m},x]})});let E_=(function(t){return t.nestedDialogs="--nested-dialogs",t})({}),T_=(function(t){return t[t.open=hr.open]="open",t[t.closed=hr.closed]="closed",t[t.startingStyle=hr.startingStyle]="startingStyle",t[t.endingStyle=hr.endingStyle]="endingStyle",t.nested="data-nested",t.nestedDialogOpen="data-nested-dialog-open",t})({});const gS=h.createContext(void 0);function w_(){const t=h.useContext(gS);if(t===void 0)throw new Error(Tn(26));return t}const C_={...ri,...fu,nestedDialogOpen(t){return t?{[T_.nestedDialogOpen]:""}:null}},O_=h.forwardRef(function(a,r){const{render:l,className:c,style:d,finalFocus:p,initialFocus:x,...y}=a,{store:m}=kr(),b=m.useState("descriptionElementId"),g=m.useState("disablePointerDismissal"),S=m.useState("floatingRootContext"),j=m.useState("popupProps"),E=m.useState("modal"),w=m.useState("mounted"),C=m.useState("nested"),N=m.useState("nestedOpenDialogCount"),T=m.useState("open"),O=m.useState("openMethod"),k=m.useState("titleElementId"),V=m.useState("transitionStatus"),M=m.useState("role"),B=S.useState("floatingId"),R=y.id??B;w_(),xu({open:T,ref:m.context.popupRef,onComplete(){T&&m.context.onOpenChangeComplete?.(!0)}});const K=x===void 0?H1(m.context.popupRef):x,Q=N>0,oe=m.useStateSetter("popupElement"),Z=hn("div",a,{state:{open:T,nested:C,transitionStatus:V,nestedDialogOpen:Q},props:[j,{id:R,"aria-labelledby":k??void 0,"aria-describedby":b??void 0,role:M,...Tu,hidden:!w,onKeyDown(ne){Yp.has(ne.key)&&ne.stopPropagation()},style:{[E_.nestedDialogs]:N}},y],ref:[r,m.context.popupRef,oe],stateAttributesMapping:C_});return o.jsx(kp,{context:S,openInteractionType:O,disabled:!w,closeOnFocusOut:!g,initialFocus:K,returnFocus:p,modal:E!==!1,restoreFocus:"popup",children:Z})}),R_=h.forwardRef(function(a,r){const{keepMounted:l=!1,...c}=a,{store:d}=kr(),p=d.useState("mounted"),x=d.useState("modal"),y=d.useState("open");return p||l?o.jsx(gS.Provider,{value:l,children:o.jsxs(wp,{ref:r,...c,children:[p&&x===!0&&o.jsx(Fp,{ref:d.context.internalBackdropRef,inert:Vp(!y)}),a.children]})}):null});function k_(t){const{store:a,actionsRef:r}=t,l=a.useState("open");q1(a,l),Dp(a);const{forceUnmount:c}=zp(l,a),d=h.useCallback(()=>{a.setOpen(!1,yt(hp))},[a]);h.useImperativeHandle(r,()=>({unmount:c,close:d}),[c,d])}function __({store:t,parentContext:a,isDrawer:r}){const l=t.useState("open"),c=t.useState("disablePointerDismissal"),d=t.useState("modal"),p=t.useState("popupElement"),x=t.useState("floatingRootContext"),[y,m]=h.useState(0),[b,g]=h.useState(0),S=y===0,j=_p(x,{outsidePressEvent(){return t.context.internalBackdropRef.current||t.context.backdropRef.current?"intentional":{mouse:d==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}},outsidePress(N){if(!t.context.outsidePressEnabledRef.current||"button"in N&&N.button!==0||"touches"in N&&N.touches.length!==1)return!1;const T=Ln(N);return S&&!c?d&&(t.context.internalBackdropRef.current||t.context.backdropRef.current)?t.context.internalBackdropRef.current===T||t.context.backdropRef.current===T||Je(T,p)&&!T?.hasAttribute("data-base-ui-portal"):!0:!1},escapeKey:S});oS(l&&d===!0,p),t.useContextCallback("onNestedDialogOpen",(N,T)=>{m(N),g(T)}),t.useContextCallback("onNestedDialogClose",()=>{m(0),g(0)}),h.useEffect(()=>(a?.onNestedDialogOpen&&l&&a.onNestedDialogOpen(y+1,b+(r?1:0)),a?.onNestedDialogClose&&!l&&a.onNestedDialogClose(),()=>{a?.onNestedDialogClose&&l&&a.onNestedDialogClose()}),[r,l,y,b,a]);const E=j.reference??Ht,w=j.trigger??Ht,C=j.floating??Ht;return Lp(t,{activeTriggerProps:E,inactiveTriggerProps:w,popupProps:C,nestedOpenDialogCount:y,nestedOpenDrawerCount:b}),null}const A_={...Up,modal:Ve(t=>t.modal),nested:Ve(t=>t.nested),nestedOpenDialogCount:Ve(t=>t.nestedOpenDialogCount),nestedOpenDrawerCount:Ve(t=>t.nestedOpenDrawerCount),disablePointerDismissal:Ve(t=>t.disablePointerDismissal),openMethod:Ve(t=>t.openMethod),descriptionElementId:Ve(t=>t.descriptionElementId),titleElementId:Ve(t=>t.titleElementId),viewportElement:Ve(t=>t.viewportElement),role:Ve(t=>t.role)};class Gp extends ju{constructor(a,r,l=!1){const c=new li,d=M_(a);d.floatingRootContext=G1(c,r,l),super(d,{popupRef:h.createRef(),backdropRef:h.createRef(),internalBackdropRef:h.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:c,onOpenChange:void 0,onOpenChangeComplete:void 0},A_)}setOpen=(a,r)=>{if(r.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},!a&&r.trigger==null&&this.state.activeTriggerId!=null&&(r.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(a,r),r.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(a,r);const l={open:a};Mp(l,a,r.trigger),this.update(l)};static useStore(a,r){return Y1(a,(c,d)=>new Gp(r,c,d),!0).store}}function M_(t={}){return{...Ip(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:"dialog",...t}}function D_(t,a="dialog"){const{children:r,open:l,defaultOpen:c=!1,onOpenChange:d,onOpenChangeComplete:p,disablePointerDismissal:x=!1,modal:y=!0,actionsRef:m,handle:b,triggerId:g,defaultTriggerId:S=null}=t,j=a==="drawer",E=a==="alert-dialog",w=E?!0:y,C=E||x,N=E?"alertdialog":"dialog",T=kr(!0),k={modal:w,disablePointerDismissal:C,nested:!!T,role:N},V=Gp.useStore(b?.store,{open:c,openProp:l,activeTriggerId:S,triggerIdProp:g,...k});D1(()=>{const oe=l===void 0&&V.state.open===!1&&c===!0?{open:!0,activeTriggerId:S}:null;E?V.update(oe?{...k,...oe}:k):oe&&V.update(oe)}),V.useControlledProp("openProp",l),V.useControlledProp("triggerIdProp",g),V.useSyncedValues(k),V.useContextCallback("onOpenChange",d),V.useContextCallback("onOpenChangeComplete",p);const M=V.useState("open"),B=V.useState("mounted"),R=V.useState("payload");k_({store:V,actionsRef:m});const K=M||B,Q=h.useMemo(()=>({store:V}),[V]);return o.jsx(mS.Provider,{value:!1,children:o.jsxs(pS.Provider,{value:Q,children:[K&&o.jsx(__,{store:V,parentContext:T?.store.context,isDrawer:j}),typeof r=="function"?r({payload:R}):r]})})}function z_(t){const a=h.useContext(mS)?"drawer":"dialog";return D_(t,a)}const L_=h.forwardRef(function(a,r){const{render:l,className:c,style:d,id:p,...x}=a,{store:y}=kr(),m=Rr(p);return y.useSyncedValueWithCleanup("titleElementId",m),hn("h2",a,{ref:r,props:[{id:m},x]})});function cs({...t}){return o.jsx(z_,{"data-slot":"dialog",...t})}function I_({...t}){return o.jsx(R_,{"data-slot":"dialog-portal",...t})}function B_({className:t,...a}){return o.jsx(N_,{"data-slot":"dialog-overlay",className:ge("fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",t),...a})}function us({className:t,children:a,showCloseButton:r=!0,...l}){return o.jsxs(I_,{children:[o.jsx(B_,{}),o.jsxs(O_,{"data-slot":"dialog-content",className:ge("fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",t),...l,children:[a,r&&o.jsxs(hS,{"data-slot":"dialog-close",render:o.jsx(ce,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[o.jsx(da,{}),o.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function ds({className:t,...a}){return o.jsx("div",{"data-slot":"dialog-header",className:ge("flex flex-col gap-2",t),...a})}function Rs({className:t,showCloseButton:a=!1,children:r,...l}){return o.jsxs("div",{"data-slot":"dialog-footer",className:ge("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end",t),...l,children:[r,a&&o.jsx(hS,{render:o.jsx(ce,{variant:"outline"}),children:"Close"})]})}function fs({className:t,...a}){return o.jsx(L_,{"data-slot":"dialog-title",className:ge("font-heading text-base leading-none font-medium",t),...a})}function U_({className:t,...a}){return o.jsx(j_,{"data-slot":"dialog-description",className:ge("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",t),...a})}const gs={volume:"卷",chapter:"章",scene:"场"},H_={volume:"chapter",chapter:"scene",scene:null};function zo({title:t,description:a,confirmLabel:r,danger:l=!1,onConfirm:c,onClose:d}){const[p,x]=h.useState(null),[y,m]=h.useState(!1);async function b(){m(!0),x(null);try{await c(),d()}catch(g){x(g instanceof ke?g.message:"操作失败,请稍后重试")}finally{m(!1)}}return o.jsx(cs,{open:!0,onOpenChange:g=>!g&&d(),children:o.jsxs(us,{className:"sm:max-w-md",children:[o.jsx(ds,{children:o.jsx(fs,{children:t})}),o.jsx("p",{className:"text-sm text-muted-foreground",children:a}),p&&o.jsx("p",{className:"mt-2 text-sm text-destructive",children:p}),o.jsxs(Rs,{children:[o.jsx(ce,{variant:"outline",type:"button",onClick:d,disabled:y,children:"取消"}),o.jsx(ce,{variant:l?"destructive":"default",type:"button",onClick:()=>{b()},disabled:y,children:r})]})]})})}const yv="ai-editor:theme";function xS(){const[t,a]=h.useState("light");h.useEffect(()=>{const c=localStorage.getItem(yv)==="dark"?"dark":"light";a(c),document.documentElement.classList.toggle("dark",c==="dark")},[]);function r(){const l=t==="dark"?"light":"dark";localStorage.setItem(yv,l),document.documentElement.classList.toggle("dark",l==="dark"),a(l)}return{theme:t,toggleTheme:r}}const Y_=({...t})=>{const{theme:a="light"}=xS();return o.jsx(v_,{theme:a,position:"top-right",className:"toaster group",icons:{success:o.jsx(Qm,{className:"size-4"}),info:o.jsx(PE,{className:"size-4"}),warning:o.jsx(Jm,{className:"size-4"}),error:o.jsx(n2,{className:"size-4"}),loading:o.jsx(yr,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"},toastOptions:{classNames:{toast:"cn-toast"}},...t})};function P_(t,a){return t!==null&&t.id!==a}function V_(){const t=Ee(r=>r.confirmState),a=Ee(r=>r.resolveConfirm);return t===null?null:o.jsx(zo,{title:t.title,description:t.description??"",confirmLabel:"确认",danger:t.danger,onConfirm:async()=>a(!0),onClose:()=>a(!1)})}function F_(){const t=Ee(c=>c.toast),a=Ee(c=>c.error),r=Ee(c=>c.clearError),l=h.useRef(null);return h.useEffect(()=>{!t||!P_(t,l.current)||(l.current=t.id,t.kind==="error"?hv.error(t.text,{duration:Nm}):hv.success(t.text,{duration:Nm}))},[t]),o.jsxs(o.Fragment,{children:[o.jsx(Y_,{}),o.jsx(V_,{}),a&&o.jsxs("div",{role:"alert",className:"fixed top-4 left-1/2 z-50 flex w-[min(92vw,32rem)] -translate-x-1/2 items-center gap-2 rounded-lg border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive shadow-lg",children:[o.jsx(Km,{className:"size-4 shrink-0"}),o.jsx("p",{className:"min-w-0 flex-1",children:a.message}),o.jsx("button",{type:"button","aria-label":"关闭错误提示",onClick:r,className:"shrink-0 rounded p-0.5 hover:bg-destructive/15",children:o.jsx(da,{className:"size-4"})})]})]})}function q_({chatOpen:t,onToggleChat:a}){const r=Le(j=>j.config),l=Le(j=>j.configLoading),c=Le(j=>j.outline),d=Ee(j=>j.setFocusOutlineNode),p=Ee(j=>j.notifyDataChanged),x=Ee(j=>j.currentFocus),y=st(j=>j.setFocusContext),m=st(j=>j.requestFocusInput),b=Wm("(min-width: 1024px)"),g=r?.currentPosition!=null?A0(c,r.currentPosition)??r.currentPosition:null,S=l?"加载中…":r?.name??"书架";return o.jsxs("div",{className:"flex h-12 shrink-0 items-center gap-3 border-b border-border px-4",children:[o.jsxs("a",{href:"#/",className:"flex min-w-0 items-center gap-1.5 font-serif text-base font-medium text-foreground hover:text-primary",children:[o.jsx("span",{className:"text-primary",children:"◈"}),o.jsx("span",{className:"truncate",children:S})]}),o.jsxs("a",{href:"#/outline",onClick:()=>{r?.currentPosition!=null&&d(r.currentPosition)},title:r?.currentPosition!=null?"跳转大纲并定位该节点":void 0,className:"flex min-w-0 items-center gap-1 text-sm text-muted-foreground transition-colors hover:text-foreground",children:[o.jsx("span",{className:"shrink-0",children:"当前位置:"}),o.jsx("span",{className:"truncate text-foreground",children:g??"未设置"})]}),o.jsx(ce,{variant:"ghost",size:"icon-sm",className:"ml-auto shrink-0 text-muted-foreground",disabled:!r,onClick:()=>{y(x),m()},"aria-label":"问 AI",title:x?"带着当前页面上下文去问 AI":"去问 AI",children:o.jsx(iu,{className:"size-4"})}),o.jsx(ce,{variant:"ghost",size:"icon-sm",className:"shrink-0 text-muted-foreground",onClick:p,"aria-label":"刷新数据",title:"刷新数据",children:o.jsx(y2,{className:"size-4"})}),o.jsxs("span",{className:"shrink-0 text-sm text-muted-foreground",children:["语言: ",r?.language??"—"]}),!b&&o.jsx(ce,{variant:"ghost",size:"icon-sm",className:t?"bg-secondary text-foreground":"text-muted-foreground",onClick:a,"aria-label":t?"关闭聊天面板":"打开聊天面板",children:o.jsx(Gl,{className:"size-4"})})]})}const G_=[{label:"概览",href:"#/",segment:null,icon:FE},{label:"大纲",href:"#/outline",segment:"outline",icon:XE},{label:"实体关系",href:"#/entities/character",segment:"entities",icon:e2},{label:"伏笔",href:"#/hooks",segment:"hooks",icon:g2},{label:"时间轴",href:"#/timeline",segment:"timeline",icon:EE},{label:"参考资料",href:"#/references",segment:"references",icon:$m},{label:"回收站",href:"#/trash",segment:"trash",icon:Er}];function $_({route:t}){const a=t.segments[0]??null,r=Le(d=>d.loadError==="NO_PROJECT_OPEN"),l=Ee(d=>d.showToast),c=(d,p)=>{!r||p.segment===null||(d.preventDefault(),window.location.hash="#/",l("请先创建或打开项目"))};return o.jsx("nav",{"aria-label":"页面导航",className:"flex items-center gap-1 rounded-lg bg-secondary/30 p-1",children:G_.map(d=>{const p=d.icon,x=a===d.segment;return o.jsxs("a",{href:d.href,"aria-current":x?"page":void 0,onClick:y=>c(y,d),className:ge("flex min-w-0 flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1.5 text-sm text-muted-foreground transition-colors hover:text-foreground",x&&"bg-card text-foreground shadow-sm"),children:[o.jsx(p,{className:"size-4 shrink-0"}),o.jsx("span",{className:"truncate",children:d.label})]},d.label)})})}function X_({route:t,chatOpen:a,onToggleChat:r,isDesktop:l,children:c}){const d=Le(x=>x.loadConfig),p=Ee(x=>x.clearCurrentFocus);return h.useEffect(()=>{d()},[d]),h.useLayoutEffect(()=>{p()},[t.path,p]),o.jsxs("main",{className:"flex min-w-0 flex-[5_1_50%] flex-col",style:l?{flex:"1 1 0%",minWidth:I2}:void 0,children:[o.jsx(q_,{chatOpen:a,onToggleChat:r}),o.jsx("div",{className:"shrink-0 px-3 py-2",children:o.jsx($_,{route:t})}),o.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto p-6",children:c})]})}function ql(t){switch(t){case"INVALID_PROJECT_PATH":return"路径无效:请使用绝对路径,且目标目录须已含 project.json(不是项目目录)";case"PROJECT_ALREADY_EXISTS":return"该目录已是项目,请直接打开(书架列表或「打开其他路径」)";case"PROJECT_VERSION_NEWER":return"该项目由更高版本的 ai-editor 创建,请升级程序后再打开(避免降级导致数据丢失)";case"NO_PROJECT_OPEN":return"";case"CLIENT_NETWORK_ERROR":return"无法连接服务,请确认 ai-editor 服务已启动";default:return"操作失败,请稍后重试"}}function K_(t,a){switch(t){case"PROJECT_ALREADY_EXISTS":return"同名书籍已存在,请换一个书名";case"SCHEMA_VERSION_MISMATCH":return a;case"VALIDATION_ERROR":return a;case"NO_PROJECT_OPEN":return"";case"CLIENT_NETWORK_ERROR":return"无法连接服务,请确认 ai-editor 服务已启动";default:return"导入失败,请稍后重试"}}function Q_(t,a){return t==="CLIENT_NETWORK_ERROR"?"无法连接服务,请确认 ai-editor 服务已启动":a}function Vc(t){const a=t.trim();return a===""?"请输入书名":/[\\/]|^\.+$|[\u0000-\u001f]/.test(a)?"书名不能包含 /、\\ 或为 . / ..":null}let bv=(function(t){return t.disabled="data-disabled",t.valid="data-valid",t.invalid="data-invalid",t.touched="data-touched",t.dirty="data-dirty",t.filled="data-filled",t.focused="data-focused",t})({});const Z_={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},Hl={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},J_={disabled:!1,...Hl},W_={valid(t){return t===null?null:t?{[bv.valid]:""}:{[bv.invalid]:""}}},e3={invalid:void 0,name:void 0,validityData:{state:Z_,errors:[],error:"",value:"",initialValue:null},setValidityData:mn,disabled:void 0,touched:Hl.touched,setTouched:mn,dirty:Hl.dirty,setDirty:mn,filled:Hl.filled,setFilled:mn,focused:Hl.focused,setFocused:mn,validate:()=>null,validationMode:"onSubmit",validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:J_,markedDirtyRef:{current:!1},registerFieldControl:mn,validation:{getValidationProps:(t,a=Ht)=>a,inputRef:{current:null},registerInput:mn,commit:async()=>{},change:mn}},t3=h.createContext(e3);function yS(t=!0){const a=h.useContext(t3);if(a.setValidityData===mn&&!t)throw new Error(Tn(28));return a}const n3=h.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:mn,validationMode:"onSubmit",submitAttemptedRef:{current:!1}});function s3(){return h.useContext(n3)}const a3=h.createContext({controlId:void 0,registerControlId:mn,labelId:void 0,setLabelId:mn,messageIds:[],setMessageIds:mn,getDescriptionProps:t=>t});function bS(){return h.useContext(a3)}function r3(t={}){const{id:a,implicit:r=!1,controlRef:l}=t,{controlId:c,registerControlId:d}=bS(),p=Rr(a),x=r?c:void 0,y=In(()=>Symbol("labelable-control")),m=h.useRef(!1),b=h.useRef(a!=null),g=We(()=>{!m.current||d===mn||(m.current=!1,d(y.current,void 0))});return Xe(()=>{if(d===mn)return;let S;if(r){const j=l?.current;pt(j)&&j.closest("label")!=null?S=a??null:S=x??p}else if(a!=null)b.current=!0,S=a;else if(b.current)S=p;else{g();return}if(S===void 0){g();return}m.current=!0,d(y.current,S)},[a,l,x,d,r,p,y,g]),h.useEffect(()=>g,[g]),c??p}function o3(t,a,r,l,c=!0,d){const{registerFieldControl:p}=yS(),x=h.useRef(null);x.current||(x.current=Symbol()),Xe(()=>{const y=x.current;return!y||!c?void 0:(p(y,{controlRef:t,getValue:l,id:a,name:d,value:r}),()=>{p(y,void 0)})},[t,c,l,a,d,p,r])}const l3=h.forwardRef(function(a,r){const{render:l,className:c,id:d,name:p,value:x,disabled:y=!1,onValueChange:m,defaultValue:b,autoFocus:g=!1,style:S,...j}=a,{state:E,name:w,disabled:C,setTouched:N,setDirty:T,validityData:O,setFocused:k,setFilled:V,validationMode:M,validation:B}=yS(),{clearErrors:R}=s3(),K=C||y,Q=w??p,oe={...E,disabled:K},{labelId:te}=bS(),Z=r3({id:d});Xe(()=>{const F=x!=null;B.inputRef.current?.value||F&&x!==""?V(!0):F&&x===""&&V(!1)},[B.inputRef,V,x]);const ne=h.useRef(null);Xe(()=>{g&&ne.current===Cn(xt(ne.current))&&k(!0)},[g,k]);const[U]=iC({controlled:x,default:b,name:"FieldControl",state:"value"}),_=x!==void 0,D=_?U:void 0,Y=We(()=>B.inputRef.current?.value);return o3(B.inputRef,Z,D,Y,!K,p),hn("input",a,{ref:[r,ne],state:oe,props:[{id:Z,disabled:K,name:Q,ref:B.inputRef,"aria-labelledby":te,autoFocus:g,..._?{value:D}:{defaultValue:b},onChange(F){const z=F.currentTarget.value;m?.(z,yt(q0,F.nativeEvent)),T(z!==O.initialValue),V(z!==""),F.nativeEvent.defaultPrevented||(R(Q),B.change(z))},onFocus(){k(!0)},onBlur(F){N(!0),k(!1),M==="onBlur"&&B.commit(F.currentTarget.value)},onKeyDown(F){F.currentTarget.tagName==="INPUT"&&F.key==="Enter"&&(N(!0),B.commit(F.currentTarget.value))}},j,F=>B.getValidationProps(K,F)],stateAttributesMapping:W_})}),i3=h.forwardRef(function(a,r){return o.jsx(l3,{ref:r,...a})});function Et({className:t,type:a,autoComplete:r="off",...l}){return o.jsx(i3,{type:a,autoComplete:r,"data-slot":"input",className:ge("h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",t),...l})}function c3(t){const a=new Date(t);if(Number.isNaN(a.getTime()))return t;const r=c=>String(c).padStart(2,"0");return a.getFullYear()===new Date().getFullYear()?`${r(a.getMonth()+1)}-${r(a.getDate())}`:`${String(a.getFullYear()).slice(-2)}-${r(a.getMonth()+1)}-${r(a.getDate())}`}function u3(){const t=st(p=>p.sessions),a=st(p=>p.sessionsLoading),r=st(p=>p.sessionsError),l=st(p=>p.loadSessions),c=st(p=>p.currentSessionId),d=st(p=>p.setCurrentSession);return h.useEffect(()=>{t===null&&!a&&r===null&&l()},[t,a,r,l]),t===null?r!==null?r==="NO_PROJECT_OPEN"?o.jsx("p",{className:"ml-3 border-l border-border py-1 pl-2 text-xs text-muted-foreground/60",children:"打开项目后查看会话"}):o.jsxs("div",{className:"ml-3 border-l border-border py-1 pl-2",children:[o.jsx("p",{className:"text-xs text-muted-foreground",children:"会话加载失败"}),o.jsx(ce,{variant:"outline",size:"xs",className:"mt-0.5",onClick:()=>{l()},children:"重试"})]}):o.jsx("p",{className:"ml-3 border-l border-border py-1 pl-2 text-xs text-muted-foreground/60",children:"会话加载中…"}):t.length===0?o.jsx("p",{className:"ml-3 border-l border-border py-1 pl-2 text-xs text-muted-foreground/60",children:"暂无会话"}):o.jsx("ul",{className:"ml-3 border-l border-border py-0.5 pl-1.5",children:t.map(p=>o.jsx("li",{children:o.jsxs("button",{type:"button",title:p.lastMessage||"空会话",onClick:()=>d(p.id),className:ge("flex h-7 w-full min-w-0 items-center gap-1.5 rounded-md px-2 text-left text-xs transition-colors",c===p.id?"bg-accent font-medium text-accent-foreground":"text-muted-foreground hover:bg-muted hover:text-foreground"),children:[o.jsx(Gl,{className:"size-3 shrink-0 opacity-70"}),o.jsx("span",{className:"min-w-0 flex-1 truncate",children:p.lastMessage||"(空会话)"}),o.jsx("span",{className:"shrink-0 text-[10px] text-muted-foreground/60",children:xr(p.updatedAt)})]})},p.id))})}function d3({width:t,onToggleCollapse:a}){const{theme:r,toggleTheme:l}=xS(),c=Le(J=>J.config),d=Le(J=>J.bookshelf),p=Le(J=>J.bookshelfLoading),x=Le(J=>J.bookshelfError),y=Le(J=>J.loadBookshelf),m=Le(J=>J.openProjectAt),b=Le(J=>J.createProjectAt),[g,S]=h.useState(null),[j,E]=h.useState(!1),[w,C]=h.useState(""),[N,T]=h.useState(null),[O,k]=h.useState(!1),[V,M]=h.useState(!1),[B,R]=h.useState(null),[K,Q]=h.useState(""),[oe,te]=h.useState(null),[Z,ne]=h.useState(!1),[U,_]=h.useState(!1),[D,Y]=h.useState(""),[H,F]=h.useState(!1),[z,X]=h.useState(null),[I,L]=h.useState(""),[q,ee]=h.useState(null),[pe,ae]=h.useState(!1),de=h.useRef(null);h.useEffect(()=>{!p&&d===null&&x===null&&y()},[p,d,x,y]);async function Ie(J){try{await m(J),S(J)}catch(P){Ee.getState().showToast(ql(P instanceof ke?P.code:null),"error")}}const Ae=c?.id??null,Ce=h.useRef(Ae);h.useEffect(()=>{Ce.current!==Ae&&(Ce.current=Ae,S(null),X(null))},[Ae]);function Be(){C(""),T(null),E(!1)}async function xe(J){J.preventDefault();const P=w.trim(),G=Vc(P);if(G!==null){T(G);return}if(!d){T("书架未加载,请稍后重试");return}k(!0),T(null);try{await b(M0(d.rootPath,P),{name:P,language:"zh"}),Ee.getState().showToast(`已创建并打开《${P}》`),await y();const Te=Le.getState().bookshelf?.books.find(ye=>ye.name===P);Te&&S(Te.path),C(""),E(!1)}catch(Te){T(ql(Te instanceof ke?Te.code:null))}finally{k(!1)}}async function ue(J){if(!H){F(!0);try{const{blob:P,filename:G}=await aw(),Te=URL.createObjectURL(P),ye=document.createElement("a");ye.href=Te,ye.download=G,document.body.appendChild(ye),ye.click(),ye.remove(),setTimeout(()=>URL.revokeObjectURL(Te),0),Ee.getState().showToast(`已导出《${J}》备份`)}catch(P){Ee.getState().showToast(Q_(P instanceof ke?P.code:null,P instanceof ke?P.message:"导出失败,请重试"),"error")}finally{F(!1)}}}function He(J){const P=J.target.files?.[0]??null;if(R(P),te(null),P){const G=P.name.replace(/\.zip$/i,""),Te=K.trim()===""?G:K;Q(Te),_e(Te)}}function _e(J){const P=J.trim(),G=Te=>d?.books.some(ye=>ye.name===Te)??!1;if(U){if(P===`${D} (2)`||P===D&&G(P))return;if(G(P)){Y(P),Q(`${P} (2)`);return}_(!1),Y("");return}P!==""&&G(P)&&(Y(P),_(!0),Q(`${P} (2)`))}function ze(J){const P=J.target.value;Q(P),_e(P)}async function Se(J,P){const G=J.trim();if(!B){te("请选择备份文件");return}const Te=Vc(G);if(Te!==null){te(Te);return}ne(!0),te(null);try{const ye=await rw(B,G);Ee.getState().showToast(ye.mode==="restored"?`已恢复备份《${ye.name}》`:`已导入为新书《${ye.name}》`),await y(),M(!1),R(null),Q(""),_(!1),Y("")}catch(ye){const re=K_(ye instanceof ke?ye.code:null,ye instanceof ke?ye.message:"导入失败,请重试");te(re),re!==""&&Ee.getState().showToast(re,"error")}finally{ne(!1)}}function fe(J){X(J.path),L(J.name),ee(null),window.setTimeout(()=>de.current?.focus(),150)}function Re(){X(null),L(""),ee(null)}async function Me(){if(z===null||pe)return;const J=I.trim();if(J===Le.getState().config?.name){Re();return}const P=Vc(J);if(P!==null){ee(P);return}ae(!0),ee(null);try{await uw(J),Ee.getState().showToast(`已重命名为《${J}》`),await Promise.all([y(),Le.getState().loadConfig()]),Re()}catch(G){(G instanceof ke?G.code:null)==="PROJECT_ALREADY_EXISTS"?ee("书架已有同名书籍,请换一个名字"):G instanceof ke&&G.code!==ot?ee(G.message):ee("无法连接服务,请确认 ai-editor 服务已启动")}finally{ae(!1)}}return o.jsxs("aside",{className:"flex min-w-0 flex-[1_1_10%] flex-col border-r border-border bg-sidebar",style:t!==void 0?{flex:`0 1 ${t}px`,minWidth:$l}:void 0,children:[o.jsxs("div",{className:"flex h-12 shrink-0 items-center border-b border-border",children:[o.jsxs("a",{href:"#/",className:"flex h-full min-w-0 flex-1 items-center gap-1.5 px-3 font-serif text-base text-foreground italic hover:text-primary",children:[o.jsx("span",{className:"text-primary",children:"◈"}),o.jsx("span",{className:"truncate",children:"我的小说"})]}),a&&o.jsx("button",{type:"button",onClick:a,"aria-label":"收起左栏",title:"收起左栏",className:ge(Ll,Il.sm,"mr-1.5"),children:o.jsx(a2,{className:"size-4"})})]}),o.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto px-2 py-2",children:[o.jsxs("div",{className:"mb-1 flex items-center justify-between px-1",children:[o.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"书架"}),o.jsxs("div",{className:"flex items-center gap-0.5",children:[o.jsx(ce,{variant:"ghost",size:"icon-xs",onClick:()=>M(!0),"aria-label":"导入备份",title:"导入备份(zip)",children:o.jsx(M2,{})}),j?o.jsx(ce,{variant:"ghost",size:"icon-xs",onClick:Be,"aria-label":"取消新建项目",title:"取消新建",children:o.jsx(da,{})}):o.jsx(ce,{variant:"ghost",size:"icon-xs",onClick:()=>E(!0),"aria-label":"新建项目",title:"新建项目",children:o.jsx(lu,{})})]})]}),j&&o.jsxs("form",{onSubmit:xe,className:"mb-1 flex flex-col gap-1 px-1","aria-label":"新建项目",children:[o.jsx(Et,{value:w,onChange:J=>C(J.target.value),onKeyDown:J=>{J.key==="Escape"&&Be()},onBlur:Be,placeholder:"书名,回车创建",maxLength:60,disabled:O,autoFocus:!0,"aria-label":"书名"}),N&&o.jsx("p",{className:"text-xs text-destructive",children:N})]}),x!==null&&o.jsxs("div",{className:"flex flex-col items-start gap-1 px-1 py-2",children:[o.jsx("p",{className:"text-xs text-muted-foreground",children:x===ot?"无法连接服务":"书架加载失败"}),o.jsx(ce,{variant:"outline",size:"xs",onClick:()=>{y()},children:"重试"})]}),p&&d===null&&o.jsx("div",{className:"space-y-1 px-1 py-2",children:[0,1,2].map(J=>o.jsx("div",{className:ge(jt,"h-8 rounded-lg")},J))}),x===null&&!p&&d&&d.books.length===0&&o.jsx("p",{className:"px-1 py-2 text-xs text-muted-foreground/70",children:"还没有书,先创建一本"}),x===null&&d&&d.books.length>0&&o.jsx("ul",{className:"space-y-0.5",children:d.books.map(J=>{const P=g===J.path,G=c!==null&&J.name===c.name,Te=z===J.path;return o.jsxs("li",{children:[o.jsxs("div",{className:"flex items-center",children:[Te?o.jsxs("div",{className:"flex h-8 min-w-0 flex-1 items-center gap-1.5 rounded-lg bg-muted px-2",children:[o.jsx(bm,{className:"size-3.5 shrink-0 text-primary"}),o.jsx(Et,{ref:de,value:I,onChange:ye=>L(ye.target.value),onKeyDown:ye=>{ye.key==="Enter"?(ye.preventDefault(),Me()):ye.key==="Escape"&&Re()},onBlur:()=>{Me()},maxLength:60,disabled:pe,"aria-label":"重命名书名",className:"h-6 min-w-0 flex-1 rounded-md bg-transparent px-1.5 text-sm focus-visible:ring-2"})]}):o.jsxs("button",{type:"button",title:`打开《${J.name}》`,onClick:()=>{Ie(J.path)},className:ge("flex h-8 min-w-0 flex-1 items-center gap-1.5 rounded-lg px-2 text-left text-sm transition-colors",G?"bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted hover:text-foreground"),children:[o.jsx(bm,{className:ge("size-3.5 shrink-0",G?"text-primary":"text-muted-foreground/60")}),o.jsx("span",{className:"min-w-0 flex-1 truncate",children:J.name}),o.jsx("span",{className:"shrink-0 text-[10px] text-muted-foreground/60",title:xs(J.updatedAt),children:c3(J.updatedAt)})]}),G&&o.jsx("button",{type:"button",onClick:()=>{ue(J.name)},disabled:H,"aria-label":`导出《${J.name}》备份`,title:"导出备份(zip)",className:ge(Ll,Il.bar,MT),children:H?o.jsx(yr,{className:"size-3.5 animate-spin"}):o.jsx(DE,{className:"size-3.5"})}),o.jsx("button",{type:"button",onClick:()=>S(ye=>ye===J.path?null:J.path),"aria-expanded":P,"aria-label":P?`收起《${J.name}》会话`:`展开《${J.name}》会话`,className:ge(Ll,Il.bar),children:o.jsx(Xm,{className:ge("size-4 transition-transform duration-200",P&&"rotate-90")})}),G&&o.jsx("button",{type:"button","aria-label":`重命名《${J.name}》`,title:"重命名",onClick:()=>fe(J),className:ge(Ll,Il.bar),children:o.jsx(jr,{className:"size-3.5"})})]}),Te&&q&&o.jsx("p",{className:"px-2 pb-1 text-xs text-destructive",children:q}),P&&o.jsx(u3,{})]},J.path)})})]}),o.jsxs("div",{className:"flex shrink-0 flex-col gap-1 border-t border-border p-2",children:[o.jsxs("a",{href:"#/settings",className:"flex h-8 items-center gap-2 rounded-lg px-2 text-sm text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",children:[o.jsx(w2,{className:"size-4 shrink-0"}),o.jsx("span",{className:"truncate",children:"设置"})]}),o.jsxs(ce,{variant:"outline",size:"sm",className:"justify-start text-muted-foreground",onClick:l,"aria-label":"切换主题",children:[r==="dark"?o.jsx(R2,{className:"size-4 shrink-0"}):o.jsx(JE,{className:"size-4 shrink-0"}),o.jsx("span",{className:"truncate",children:r==="dark"?"浅色模式":"深色模式"})]})]}),o.jsx(cs,{open:V,onOpenChange:J=>{M(J),J||(te(null),R(null),Q(""),_(!1),Y(""))},children:o.jsxs(us,{className:"sm:max-w-sm",children:[o.jsxs(ds,{children:[o.jsx(fs,{children:"导入书籍"}),o.jsx(U_,{children:"从备份 zip 导入;与书架已有书 id 匹配时覆盖恢复,否则导入为新书(同名可重命名或保持原样并存)"})]}),o.jsxs("form",{id:"import-book-form",onSubmit:J=>{J.preventDefault(),Se(K)},className:"flex flex-col gap-3",children:[o.jsx("input",{type:"file",accept:".zip,application/zip",onChange:He,disabled:Z,"aria-label":"选择备份文件",className:"block w-full cursor-pointer rounded-md border border-border bg-card px-3 py-1.5 text-sm text-foreground file:mr-2 file:cursor-pointer file:rounded file:border-0 file:bg-muted file:px-2 file:py-1 file:text-xs file:text-muted-foreground disabled:opacity-50"}),o.jsx(Et,{value:K,onChange:ze,placeholder:"书名(默认取文件名)",maxLength:60,disabled:Z}),U&&o.jsxs("p",{className:"text-sm text-primary",children:["书架已有同名书籍《",D,"》——可重命名导入,或保持原样(服务端自动去重)"]}),oe&&o.jsx("p",{className:"text-sm text-destructive",children:oe})]}),o.jsxs(Rs,{children:[o.jsx(ce,{variant:"outline",type:"button",onClick:()=>M(!1),disabled:Z,children:"取消"}),U?o.jsxs(o.Fragment,{children:[o.jsx(ce,{variant:"outline",type:"button",onClick:()=>{Se(D)},disabled:Z||B===null,children:Z?"导入中…":"保持原样导入"}),o.jsx(ce,{type:"button",onClick:()=>{Se(K)},disabled:Z||B===null,children:Z?"导入中…":"重命名导入"})]}):o.jsx(ce,{type:"submit",form:"import-book-form",disabled:Z||B===null,children:Z?"导入中…":"导入"})]})]})})]})}function vv({side:t,active:a,onStart:r,onMove:l,onEnd:c}){return o.jsxs("div",{role:"separator","aria-orientation":"vertical","aria-label":t==="sidebar"?"调整左栏宽度":"调整右栏宽度",title:t==="sidebar"?"拖动调整左栏宽度":"拖动调整右栏宽度",onPointerDown:d=>{d.preventDefault(),d.currentTarget.setPointerCapture(d.pointerId),r(t,d.clientX)},onPointerMove:d=>l(t,d.clientX),onPointerUp:c,onPointerCancel:c,className:ge("group relative z-10 h-full w-1.5 shrink-0 cursor-col-resize touch-none bg-transparent transition-colors hover:bg-border",a&&"bg-border"),children:[o.jsx("div",{className:"absolute inset-y-0 left-1/2 w-px -translate-x-1/2 bg-border/60 transition-colors group-hover:bg-primary/70"}),o.jsx(l0,{className:"absolute inset-y-0 left-1/2 size-4 -translate-x-1/2 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100"})]})}function Sv({side:t,onExpand:a}){const r=t==="sidebar",l=r?o2:u2;return o.jsx("div",{className:ge("flex h-full w-8 shrink-0 flex-col items-center bg-sidebar",r?"border-r border-border":"border-l border-border"),children:o.jsx("button",{type:"button",onClick:a,"aria-label":r?"展开左栏":"展开右栏",title:r?"展开左栏":"展开右栏",className:ge(Ll,Il.md,"mt-3"),children:o.jsx(l,{className:"size-4"})})})}function f3({route:t,children:a}){const[r,l]=h.useState(!1),{layout:c,isDesktop:d,dragSide:p,toggleCollapse:x,startResize:y,moveResize:m,endResize:b}=Y2(),g=p!==null;return o.jsxs("div",{className:ge("flex h-screen overflow-hidden",g&&"select-none"),children:[d&&c.collapsedSidebar?o.jsx(Sv,{side:"sidebar",onExpand:()=>x("sidebar")}):o.jsx(d3,{width:d?c.sidebarWidth:void 0,onToggleCollapse:d?()=>x("sidebar"):void 0}),d&&!c.collapsedSidebar&&o.jsx(vv,{side:"sidebar",active:p==="sidebar",onStart:y,onMove:m,onEnd:b}),o.jsx(X_,{isDesktop:d,route:t,chatOpen:r,onToggleChat:()=>l(S=>!S),children:a}),d&&!c.collapsedChat&&o.jsx(vv,{side:"chat",active:p==="chat",onStart:y,onMove:m,onEnd:b}),d&&c.collapsedChat?o.jsx(Sv,{side:"chat",onExpand:()=>x("chat")}):o.jsx($k,{open:r,onClose:()=>l(!1),width:d?c.chatWidth:void 0,onToggleCollapse:d?()=>x("chat"):void 0}),o.jsx(F_,{})]})}class m3 extends h.Component{state={error:null};static getDerivedStateFromError(a){return{error:a}}componentDidCatch(a,r){console.error("[ErrorBoundary] 渲染异常:",a,r.componentStack)}render(){const{error:a}=this.state;return a===null?this.props.children:o.jsx("div",{className:"flex h-full min-h-64 flex-col items-center justify-center gap-3 p-8",children:o.jsxs("div",{className:"flex flex-col items-center gap-2 rounded-xl border border-destructive/30 bg-destructive/10 px-8 py-6 text-center",children:[o.jsx(Km,{className:"size-8 text-destructive"}),o.jsx("p",{className:"font-serif text-base font-medium text-foreground",children:"界面出现异常"}),o.jsx("p",{className:"max-w-md text-sm text-muted-foreground",children:"数据不会丢失,请重新加载页面继续写作。"}),o.jsx("p",{className:"max-w-md font-mono text-xs break-all text-destructive/80",children:a.message||String(a)}),o.jsxs("div",{className:"mt-2 flex gap-2",children:[o.jsxs(ce,{type:"button",onClick:()=>window.location.reload(),children:[o.jsx(v2,{className:"size-4"}),"重新加载"]}),o.jsx(ce,{variant:"outline",type:"button",onClick:()=>{window.location.hash="#/",window.location.reload()},children:"回到首页"})]})]})})}}function ea({title:t,action:a,className:r,children:l}){return o.jsxs("div",{className:ge(T0,r),children:[t!==void 0&&o.jsxs("div",{className:"mb-3 flex items-center justify-between gap-2",children:[o.jsx("h2",{className:"font-serif text-base",children:t}),a]}),l]})}function _s(t){const a=Ee(l=>l.dataVersion),r=h.useRef(a);h.useEffect(()=>{a!==r.current&&(r.current=a,t())},[a])}const Nv={character:"人物",setting:"设定",location:"地点",hook:"伏笔",event:"事件",timepoint:"时间点",reference:"参考资料"},jv=["character","setting","location","hook"];function p3(t){const a={volumes:0,chapters:0,scenes:0,updatedAt:null},r=l=>{for(const c of l)c.type==="volume"?a.volumes+=1:c.type==="chapter"?a.chapters+=1:a.scenes+=1,(a.updatedAt===null||c.updatedAt>a.updatedAt)&&(a.updatedAt=c.updatedAt),c.type!=="scene"&&c.children&&r(c.children)};return r(t),a}function im(t){return t instanceof ke?t.code:null}function Ev(){const t=Le(ue=>ue.config),a=Le(ue=>ue.configLoading),r=Le(ue=>ue.outline),l=Le(ue=>ue.outlineLoading),c=Le(ue=>ue.loadOutline),d=Le(ue=>ue.bookshelf),p=Le(ue=>ue.bookshelfLoading),x=Le(ue=>ue.bookshelfError),y=Le(ue=>ue.loadBookshelf),m=Le(ue=>ue.openProjectAt),b=Le(ue=>ue.createProjectAt),g=st(ue=>ue.sessions),S=st(ue=>ue.sessionsLoading),j=st(ue=>ue.sessionsError),E=st(ue=>ue.loadSessions),w=st(ue=>ue.setCurrentSession),C=st(ue=>ue.currentSessionId),N=Ee(ue=>ue.setFocusOutlineNode),[T,O]=h.useState(""),[k,V]=h.useState(null),[M,B]=h.useState(null),[R,K]=h.useState(!1),[Q,oe]=h.useState(!1),[te,Z]=h.useState(""),[ne,U]=h.useState(null),[_,D]=h.useState(!1),[Y,H]=h.useState(null),[F,z]=h.useState(!1),[X,I]=h.useState(null),[L,q]=h.useState(0),[ee,pe]=h.useState(!1),ae=t===null&&!a,de=r?p3(r.children):null,Ie=t?.currentPosition!=null?A0(r,t.currentPosition)??t.currentPosition:null;h.useEffect(()=>{ae&&!p&&d===null&&x===null&&y()},[ae,p,d,x,y]),h.useEffect(()=>{pe(!1)},[t?.id]),_s(()=>{q(ue=>ue+1),c(),E()}),h.useEffect(()=>{B(null)},[t?.id]),h.useEffect(()=>{t!==null&&r===null&&!l&&!ee&&(pe(!0),c())},[t,r,l,ee,c]),h.useEffect(()=>{if(t===null)return;let ue=!1;return H(null),z(!0),I(null),Promise.allSettled(jv.map(async He=>({type:He,total:(await Sn(He,{limit:1})).total}))).then(He=>{if(ue)return;const _e={};let ze=!1;for(const Se of He)Se.status==="fulfilled"?_e[Se.value.type]=Se.value.total:ze=!0;H(_e),I(ze?"要素统计加载失败":null),z(!1)}),()=>{ue=!0}},[t,L]),h.useEffect(()=>{t!==null&&g===null&&!S&&j===null&&E()},[t,g,S,j,E]);async function Ae(ue){ue.preventDefault();const He=T.trim(),_e=Vc(He);if(_e!==null){V(_e);return}if(!d){V("书架未加载,请稍后重试");return}D(!0),V(null);try{await b(M0(d.rootPath,He),{name:He,language:"zh"}),await y(),Ee.getState().showToast(`已创建并打开《${He}》`),O("")}catch(ze){V(ql(im(ze)))}finally{D(!1)}}async function Ce(ue){if(ue.preventDefault(),!te.trim()){U("请输入项目目录路径(绝对路径)");return}D(!0),U(null);try{await m(te.trim())}catch(He){U(ql(im(He)))}finally{D(!1)}}async function Be(ue){B(null);try{await m(ue)}catch(He){B(ql(im(He)))}}function xe(){t?.currentPosition!=null&&N(t.currentPosition)}if(a)return o.jsx("section",{children:o.jsx("p",{className:"mt-4 text-sm text-muted-foreground",children:"加载中…"})});if(ae){let ue=function(Se){return o.jsxs("form",{onSubmit:Ae,className:Se,children:[o.jsxs("div",{className:"flex gap-2",children:[o.jsx(Et,{value:T,onChange:fe=>O(fe.target.value),placeholder:"书名",maxLength:60,disabled:_}),o.jsx(ce,{type:"submit",disabled:_||d===null,children:"新建"})]}),k&&o.jsx("p",{className:"text-left text-sm text-destructive",children:k})]})};const He=d===null&&p,_e=x!==null,ze=d!==null&&d.books.length>0;return o.jsxs("section",{children:[x!==null&&o.jsxs("div",{className:"mx-auto mt-2 max-w-md rounded-md border border-border bg-card p-3",children:[o.jsx("p",{className:"text-sm text-muted-foreground",children:x===ot?"无法连接服务,请确认 ai-editor 服务已启动后重试。":"书架加载失败,请重试。"}),o.jsx(ce,{variant:"outline",size:"sm",className:"mt-2",onClick:()=>{y()},type:"button",children:"重试"})]}),o.jsx("div",{className:"mx-auto mt-10 max-w-md rounded-2xl border border-dashed border-border bg-card px-6 py-8 text-center",children:He?o.jsxs("div",{className:"py-2",children:[o.jsx("div",{className:ge(jt,"mx-auto h-6 w-2/3")}),o.jsx("div",{className:ge(jt,"mx-auto mt-2 h-4 w-1/2")}),o.jsxs("div",{className:"mt-5 space-y-2",children:[o.jsx("div",{className:ge(jt,"h-10 rounded-lg")}),o.jsx("div",{className:ge(jt,"h-10 rounded-lg")})]})]}):o.jsxs(o.Fragment,{children:[ze?o.jsxs(o.Fragment,{children:[o.jsx("h1",{className:"font-serif text-lg text-foreground",children:"书架里有书,打开即可写作"}),o.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"选择一本书打开,或新建一本"}),o.jsx("ul",{className:"mt-5 divide-y divide-border overflow-hidden rounded-lg border border-border text-left",children:d.books.map(Se=>o.jsx("li",{children:o.jsxs("button",{type:"button",title:`打开《${Se.name}》`,onClick:()=>{Be(Se.path)},className:"flex w-full items-center gap-3 px-3 py-2.5 text-left transition-colors hover:bg-muted",children:[o.jsx(bm,{className:"size-4 shrink-0 text-muted-foreground/60"}),o.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-foreground",children:Se.name}),o.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:xr(Se.updatedAt)})]})},Se.path))}),M!==null&&o.jsx("p",{className:"mt-3 text-left text-sm text-destructive",children:M}),o.jsxs("div",{className:"mt-4 border-t border-border pt-3",children:[o.jsx("button",{type:"button",className:"rounded-md border border-border px-2.5 py-1 text-sm text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",onClick:()=>K(Se=>!Se),children:R?"收起":"新建一本…"}),R&&ue("mt-2 flex flex-col gap-2 text-left")]})]}):_e?o.jsx("p",{className:"py-6 text-sm text-muted-foreground",children:"书架加载失败,重试后可查看书籍或新建"}):o.jsxs(o.Fragment,{children:[o.jsx("h1",{className:"font-serif text-lg text-foreground",children:"还没有书,先创建一本"}),o.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"每本书一个独立目录(books/书名/),写作数据互不干扰"}),ue("mx-auto mt-5 flex flex-col gap-2"),o.jsx("p",{className:"mt-2 text-xs text-muted-foreground",children:"创建于 创作根/books/书名/ 目录"})]}),o.jsxs("div",{className:"mt-4 border-t border-border pt-3",children:[o.jsx("button",{type:"button",className:"rounded-md border border-border px-2.5 py-1 text-sm text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",onClick:()=>oe(Se=>!Se),children:Q?"收起":"打开其他路径…"}),Q&&o.jsxs("form",{onSubmit:Ce,className:"mt-2 flex flex-col gap-2 text-left",children:[o.jsx(Et,{value:te,onChange:Se=>Z(Se.target.value),placeholder:"/absolute/path/to/project(须含 project.json)",disabled:_}),o.jsx("div",{children:o.jsx(ce,{type:"submit",variant:"outline",disabled:_,children:"打开"})}),ne&&o.jsx("p",{className:"text-sm text-destructive",children:ne})]})]})]})})]})}return o.jsxs("section",{children:[o.jsx("div",{className:"mb-4",children:o.jsx("h1",{className:"font-serif text-xl font-medium text-foreground",children:"项目概览"})}),o.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[o.jsxs(ea,{title:"项目信息",children:[o.jsxs("dl",{className:"mt-3 space-y-2 text-sm",children:[o.jsxs("div",{className:"flex items-baseline gap-2",children:[o.jsx("dt",{className:"w-16 shrink-0 text-muted-foreground",children:"名称"}),o.jsx("dd",{className:"min-w-0 truncate font-medium text-foreground",children:t?.name})]}),o.jsxs("div",{className:"flex items-baseline gap-2",children:[o.jsx("dt",{className:"w-16 shrink-0 text-muted-foreground",children:"语言"}),o.jsx("dd",{className:"text-foreground",children:t?.language==="zh"?"中文":"English"})]}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("dt",{className:"w-16 shrink-0 text-muted-foreground",children:"当前位置"}),o.jsx("dd",{className:"min-w-0 flex-1 truncate",children:t?.currentPosition!=null?o.jsx("a",{href:"#/outline",onClick:xe,className:"text-primary hover:underline",children:Ie??t.currentPosition}):o.jsx("span",{className:"text-muted-foreground",children:"未设置"})}),o.jsx("a",{href:"#/outline",onClick:xe,className:Tm({variant:"outline",size:"xs"}),children:"去大纲"})]})]}),o.jsxs("div",{className:"mt-3 border-t border-border pt-3",children:[o.jsx("p",{className:"text-xs text-muted-foreground",children:"项目提示词"}),o.jsx("p",{className:"mt-1 line-clamp-2 text-sm text-foreground/90",children:t?.prompt||"(未设置)"})]})]}),o.jsx(ea,{title:"创作要素",children:F&&Y===null?o.jsx("div",{className:"mt-3 grid grid-cols-2 gap-2",children:[0,1,2,3].map(ue=>o.jsx("div",{className:ge(jt,"h-20 rounded-lg")},ue))}):o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"mt-3 grid grid-cols-2 gap-2",children:jv.map(ue=>o.jsxs("a",{href:`#/entities/${ue}`,className:"group rounded-lg border border-border bg-background p-3 transition-colors hover:border-primary/40 hover:bg-muted",title:`查看${Nv[ue]}列表`,children:[o.jsx("p",{className:"font-serif text-2xl font-semibold text-foreground",children:Y?.[ue]??"–"}),o.jsx("p",{className:"mt-0.5 text-xs text-muted-foreground transition-colors group-hover:text-foreground",children:Nv[ue]})]},ue))}),X!==null&&o.jsxs("div",{className:"mt-2 flex items-center gap-2 text-xs text-destructive",children:[X,o.jsx(ce,{variant:"outline",size:"xs",type:"button",onClick:()=>q(ue=>ue+1),children:"重试"})]})]})}),o.jsx(ea,{title:"大纲概览",className:"lg:col-span-2",children:r===null&&(l||!ee)?o.jsxs("div",{className:"mt-3 space-y-2",children:[o.jsx("div",{className:ge(jt,"h-5 w-2/5")}),o.jsx("div",{className:ge(jt,"h-4 w-1/3")})]}):r===null?o.jsxs("div",{className:"mt-3 flex items-center gap-2 text-sm text-muted-foreground",children:["大纲加载失败",o.jsx(ce,{variant:"outline",size:"xs",type:"button",onClick:()=>pe(!1),children:"重试"})]}):o.jsxs(o.Fragment,{children:[o.jsxs("p",{className:"mt-3 text-sm text-foreground",children:["卷 ",de?.volumes??0," · 章 ",de?.chapters??0," · 场景"," ",de?.scenes??0]}),o.jsxs("p",{className:"mt-1 text-xs text-muted-foreground",children:["最近更新:"," ",de?.updatedAt?xr(de.updatedAt):"—"]}),r.children.length===0&&o.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[o.jsx("p",{className:"text-xs text-muted-foreground",children:"大纲还是空的"}),o.jsx(ce,{variant:"outline",size:"xs",type:"button",onClick:()=>w(null),children:"和 AI 聊聊设定"})]}),o.jsx("div",{className:"mt-3",children:o.jsx("a",{href:"#/outline",onClick:xe,className:ge(Tm({variant:"outline",size:"sm"})),children:"去大纲编辑"})})]})}),o.jsx(ea,{title:"最近会话",className:"lg:col-span-2",children:g===null?j!==null?o.jsxs("div",{className:"mt-3 flex items-center gap-2 text-sm text-muted-foreground",children:["会话加载失败",o.jsx(ce,{variant:"outline",size:"xs",type:"button",onClick:()=>{E()},children:"重试"})]}):o.jsx("div",{className:"mt-3 space-y-2",children:[0,1,2].map(ue=>o.jsx("div",{className:ge(jt,"h-8 rounded-md")},ue))}):g.length===0?o.jsxs("div",{className:"mt-3",children:[o.jsx("p",{className:"text-sm text-muted-foreground",children:"还没有会话,和 AI 聊聊设定吧"}),o.jsx(ce,{variant:"outline",size:"sm",className:"mt-3",type:"button",onClick:()=>w(null),children:"开始新对话"})]}):o.jsxs(o.Fragment,{children:[o.jsx("ul",{className:"mt-3 divide-y divide-border rounded-lg border border-border",children:g.slice(0,5).map(ue=>o.jsx("li",{children:o.jsxs("button",{type:"button",title:ue.lastMessage||"空会话",onClick:()=>w(ue.id),className:ge("flex w-full items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-muted",C===ue.id&&"bg-accent/40 hover:bg-accent/40"),children:[o.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-foreground",children:ue.lastMessage||"(空会话)"}),o.jsxs("span",{className:"shrink-0 text-xs text-muted-foreground",children:[ue.messageCount," 条消息"]}),o.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:xr(ue.updatedAt)})]})},ue.id))}),o.jsx("div",{className:"mt-3",children:o.jsx(ce,{variant:"outline",size:"sm",type:"button",onClick:()=>w(null),children:"开始新对话"})})]})})]})]})}const Tv={plants:"埋设",advances:"推进",resolves:"回收"},h3={plants:m2,advances:UE,resolves:Qm};function g3({mark:t}){const a=h3[t.relationType];return o.jsx("span",{className:"shrink-0 rounded px-0.5 text-muted-foreground hover:text-foreground",title:`${Tv[t.relationType]}伏笔:${t.hookName}`,"aria-label":`${Tv[t.relationType]}伏笔:${t.hookName}`,children:o.jsx(a,{className:"size-3"})})}function Lo({focus:t,title:a}){const r=st(c=>c.setFocusContext),l=st(c=>c.requestFocusInput);return o.jsx(ce,{type:"button",variant:"ghost",size:"icon-sm",className:"shrink-0 text-muted-foreground hover:text-primary",onClick:()=>{r(t),l()},"aria-label":a??"带上下文问 AI",title:a??"带上下文问 AI",children:o.jsx(iu,{className:"size-3.5"})})}const x3={sm:"py-10",md:"py-12",lg:"py-14"};function Kn({children:t,icon:a,action:r,padding:l="md",className:c}){return o.jsxs("div",{className:ge("rounded-lg border border-dashed border-border px-6 text-center",x3[l],c),children:[a,o.jsx("p",{className:"text-sm text-muted-foreground",children:t}),r&&o.jsx("div",{className:"mt-4",children:r})]})}const vS=["plants","advances","resolves"],wv=["plants","advances","resolves"];function Cv(t){const a=wv.indexOf(t);return a===-1?wv.length:a}function y3(t){const a=new Map;for(const r of t){if(!vS.includes(r.relationType)||r.sourceType!=="outline_node"||r.targetType!=="hook")continue;const l={relationType:r.relationType,hookId:r.targetId,hookName:r.targetName??r.targetId},c=a.get(r.sourceId);c===void 0?a.set(r.sourceId,[l]):c.push(l)}for(const r of a.values())r.sort((l,c)=>Cv(l.relationType)-Cv(c.relationType)||(l.hookName<c.hookName?-1:l.hookName>c.hookName?1:0)||(l.hookId<c.hookId?-1:l.hookId>c.hookId?1:0));return a}const En="root",Ov={id:En,label:"(根)",depth:0};function b3(t,a){if(a==="volume")return[Ov];const r=a==="chapter"?[Ov]:[],l=(c,d)=>{for(const p of c)a==="chapter"&&p.type==="volume"?r.push({id:p.id,label:p.title,depth:d}):a==="scene"&&p.type==="chapter"&&r.push({id:p.id,label:p.title,depth:d}),p.children&&l(p.children,d+1)};return l(t,1),r}function Ha(t,a){for(const r of t){if(r.id===a)return r;if(r.type!=="scene"&&r.children){const l=Ha(r.children,a);if(l)return l}}return null}function $p(t,a,r=[]){for(const l of t){const c=[...r,l.id];if(l.id===a)return c;if(l.type!=="scene"&&l.children){const d=$p(l.children,a,c);if(d)return d}}return null}function oa(t,a=0,r=[]){for(const l of t)r.push({id:l.id,label:l.title,depth:a}),l.type!=="scene"&&l.children&&oa(l.children,a+1,r);return r}function v3(t,a,r){const l=Ha(t,a);if(!l)return!1;const c=d=>d.id===r?!0:d.type!=="scene"&&d.children?d.children.some(p=>c(p)):!1;return c(l)}function zc(t,a,r){return a===t.id||v3(r,t.id,a)?!1:b3(r,t.type).some(l=>l.id===a)}function SS(t,a){const r=a.trim();return r!==""&&r!==t.trim()}function NS(t,a){return a.trim()!==(t??"").trim()}function S3(t){return t==="OUTLINE_NODE_NOT_FOUND"?"abandon":"restore"}function jS(t,a){if(a===En)return t;const r=l=>{for(const c of l){if(c.id===a)return c.children??[];if(c.children){const d=r(c.children);if(d)return d}}return null};return r(t)}function Rv(t,a,r){const l=r===void 0?t:t.filter(d=>d.id!==r);if(a.kind==="end")return l.length;const c=l.findIndex(d=>d.id===a.nodeId);return c===-1?l.length:a.kind==="before"?c:c+1}function kv(t,a){return t===null||a===null?t===a:t.kind==="root-end"||a.kind==="root-end"?t.kind===a.kind:t.kind===a.kind&&t.nodeId===a.nodeId}function Hm(t,a){const r=(l,c)=>{for(const d of l){if(d.id===a)return c;if(d.children){const p=r(d.children,d.id);if(p!==null)return p}}return null};return r(t,En)}function N3(t,a){const r=Hm(t,a);if(r===null)return null;const c=(jS(t,r)??[]).findIndex(d=>d.id===a);return c===-1?null:{parentId:r,index:c}}function _v(t,a,r,l){const c=N3(t,a);return c===null||c.parentId!==r?!1:l===c.index}function Lc(t){return t instanceof ke?t.code:null}function bo(t){switch(t){case"OUTLINE_NODE_NOT_FOUND":return"节点不存在(可能已被彻底删除),大纲已刷新";case"CLIENT_NETWORK_ERROR":return"无法连接服务,请确认 ai-editor 服务已启动";default:return"操作失败,请稍后重试"}}function Fc(t,a,r,l,c){return o.jsx("input",{autoComplete:"off",autoFocus:!0,value:t,onChange:d=>a(d.target.value),onKeyDown:r,onBlur:l,maxLength:200,placeholder:c,className:"min-w-0 flex-1 rounded border border-border bg-card px-1.5 py-0.5 text-sm text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring"})}function Av({type:t,onTypeChange:a,value:r,onChange:l,onKeyDown:c,onCancel:d,className:p}){return o.jsxs("div",{className:ge("flex items-center gap-2 rounded-md px-2 py-1",p),children:[o.jsx("div",{className:"flex shrink-0 gap-1",children:["volume","chapter"].map(x=>o.jsx("button",{type:"button",onClick:()=>a(x),className:ge("rounded border px-2 py-0.5 text-xs transition-colors",t===x?"border-primary bg-primary text-primary-foreground":"border-border text-muted-foreground hover:bg-muted hover:text-foreground"),children:gs[x]},x))}),Fc(r,l,c,d,`新${gs[t]}标题,Enter 创建`)]})}function j3(){const t=Le(J=>J.outline),a=Le(J=>J.outlineLoading),r=Le(J=>J.config),l=Le(J=>J.configLoading),c=Le(J=>J.loadOutline),d=Ee(J=>J.focusOutlineNodeId),p=Ee(J=>J.clearFocusOutlineNode);_s(()=>{c()});const[x,y]=h.useState(!1),[m,b]=h.useState(null),[g,S]=h.useState(new Set),[j,E]=h.useState(!1),[w,C]=h.useState(null),[N,T]=h.useState(null),[O,k]=h.useState(null),[V,M]=h.useState(""),[B,R]=h.useState(null),[K,Q]=h.useState(""),[oe,te]=h.useState(null),[Z,ne]=h.useState(null),[U,_]=h.useState(null),D=r===null&&!l;h.useEffect(()=>{t===null&&!a&&!x&&(y(!0),c())},[t,a,x,c]),h.useEffect(()=>{if(t===null){_(null);return}let J=!1;return Promise.all(vS.map(P=>Oo({source_type:"outline_node",relation_type:P,depth:1}).then(G=>G.relations).catch(()=>[]))).then(P=>{J||_(y3(P.flat()))}),()=>{J=!0}},[t]),h.useEffect(()=>{if(w===null)return;const J=setTimeout(()=>C(null),3e3);return()=>clearTimeout(J)},[w]),h.useEffect(()=>{if(d===null||t===null)return;const J=d,P=$p(t.children,J);if(P===null){p();return}S(Te=>{if(P.every(re=>!Te.has(re)))return Te;const ye=new Set(Te);for(const re of P)ye.delete(re);return ye});const G=setTimeout(()=>{const Te=document.querySelector(`[data-node-id="${J}"]`);Te&&(Te.scrollIntoView({block:"center"}),T(J)),p()},0);return()=>clearTimeout(G)},[d,t,p]),h.useEffect(()=>{if(N===null)return;const J=setTimeout(()=>T(null),3e3);return()=>clearTimeout(J)},[N]);async function Y(J,P){J&&F(J),await c(),P&&C(P)}function H(J){S(P=>{const G=new Set(P);return G.has(J)?G.delete(J):G.add(J),G})}function F(J){S(P=>{if(!P.has(J))return P;const G=new Set(P);return G.delete(J),G})}function z(J,P=[]){for(const G of J)G.type!=="scene"&&G.children&&G.children.length>0&&(P.push(G.id),z(G.children,P));return P}function X(J,P){pe(),k({nodeId:J.id,field:P}),M(P==="title"?J.title:J.summary??"")}function I(){k(null),M("")}async function L(J,P){if(!O||O.nodeId!==J.id||O.field!==P||j)return;const G=V;if(!(P==="title"?SS(J.title,G):NS(J.summary,G))){I();return}E(!0);try{await O0(J.id,P==="title"?{title:G.trim()}:{summary:G.trim()}),I(),Ee.getState().showToast("已保存"),await Y()}catch(ye){const re=Lc(ye);if(S3(re)==="abandon"){I(),b(bo(re)),await Y();return}b(bo(re))}finally{E(!1)}}function q(J,P){return G=>{G.key==="Enter"?(G.preventDefault(),L(J,P)):G.key==="Escape"&&I()}}function ee(J,P){I(),R({parentId:J,type:P}),Q(""),J!==En&&F(J)}function pe(){R(null),Q("")}async function ae(){if(!B)return;const J=K.trim(),{parentId:P,type:G}=B;if(!J){pe();return}pe();try{const Te=await VT({type:G,title:J,parent_id:P});Ee.getState().showToast(`已创建${gs[G]}《${J}》`),await Y(P,Te.id)}catch(Te){b(bo(Lc(Te)))}}function de(J){J.key==="Enter"?(J.preventDefault(),ae()):J.key==="Escape"&&pe()}function Ie(J,P){J.dataTransfer.setData("text/plain",P.id),J.dataTransfer.effectAllowed="move",te(P.id),ne(null)}function Ae(){te(null),ne(null)}function Ce(J){const P=J.currentTarget.getBoundingClientRect();return J.clientY<P.top+P.height/2?"before":"after"}function Be(J,P){J.stopPropagation();const G=oe?Ha(t?.children??[],oe):null;if(!G)return;const Te=Hm(t?.children??[],P)??En;if(!zc(G,Te,t?.children??[]))return;J.preventDefault(),J.dataTransfer.dropEffect="move";const ye={kind:Ce(J),nodeId:P};ne(re=>kv(re,ye)?re:ye)}function xe(J,P){J.currentTarget.contains(J.relatedTarget)||ne(G=>G!==null&&G.kind!=="root-end"&&G.nodeId===P?null:G)}async function ue(J,P){if(J.stopPropagation(),J.preventDefault(),!oe)return;const G=Ha(t?.children??[],oe);if(!G)return;const Te=Hm(t?.children??[],P)??En;if(!zc(G,Te,t?.children??[]))return;if(P===G.id){te(null),ne(null);return}const ye=jS(t?.children??[],Te)??[],re=Rv(ye,{kind:Ce(J),nodeId:P},G.id);if(_v(t?.children??[],G.id,Te,re)){te(null),ne(null);return}E(!0);try{await Sb(G.id,{parent_id:Te,order:re}),Ee.getState().showToast(`已移动《${G.title}》`),await Y(Te)}catch(Oe){b(bo(Lc(Oe)))}finally{E(!1),te(null),ne(null)}}function He(J){const P=oe?Ha(t?.children??[],oe):null;!P||!zc(P,En,t?.children??[])||(J.preventDefault(),J.dataTransfer.dropEffect="move",ne(G=>kv(G,{kind:"root-end"})?G:{kind:"root-end"}))}function _e(J){J.currentTarget.contains(J.relatedTarget)||ne(P=>P?.kind==="root-end"?null:P)}async function ze(J){if(J.preventDefault(),!oe)return;const P=Ha(t?.children??[],oe);if(!P||!zc(P,En,t?.children??[]))return;const G=Rv(t?.children??[],{kind:"end"},P.id);if(_v(t?.children??[],P.id,En,G)){te(null),ne(null);return}E(!0);try{await Sb(P.id,{parent_id:En,order:G}),Ee.getState().showToast(`已移动《${P.title}》`),await Y()}catch(Te){b(bo(Lc(Te)))}finally{E(!1),te(null),ne(null)}}async function Se(J){try{const P=await FT(J.id),{children:G,relations:Te,deltas:ye}=P.cascaded,re=[];G>0&&re.push(`${G} 个子节点`),Te>0&&re.push(`${Te} 条关联`),ye>0&&re.push(`${ye} 条变化记录`),Ee.getState().showToast(`已移入回收站${re.length>0?`(含 ${re.join("、")})`:""}`),await Y()}catch(P){if(P instanceof ke&&P.code==="OUTLINE_NODE_NOT_FOUND"){b(bo("OUTLINE_NODE_NOT_FOUND")),await Y();return}Ee.getState().showToast(P instanceof ke?P.message:"删除失败,请重试","error")}}function fe(){return B?.parentId!==En?null:o.jsx(Av,{className:"mb-1",type:B.type,onTypeChange:J=>R({parentId:En,type:J}),value:K,onChange:Q,onKeyDown:de,onCancel:pe})}function Re(J,P){return J.map(G=>{const Te=G.type!=="scene"&&(G.children?.length??0)>0,ye=g.has(G.id),re=r?.currentPosition===G.id,Oe=H_[G.type],Ue=O?.nodeId===G.id&&O.field==="title",Qe=O?.nodeId===G.id&&O.field==="summary",ht=Z?.kind==="before"&&Z.nodeId===G.id,Dt=Z?.kind==="after"&&Z.nodeId===G.id,dt=oe===G.id,It=B?.parentId===G.id,Tt=G.id===N;return o.jsxs("div",{children:[o.jsxs("div",{"data-node-id":G.id,draggable:!Ue&&!Qe&&!dt&&!j,onDragStart:Yt=>Ie(Yt,G),onDragEnd:Ae,onDragOver:Yt=>Be(Yt,G.id),onDragLeave:Yt=>xe(Yt,G.id),onDrop:Yt=>{ue(Yt,G.id)},className:ge("relative cursor-grab rounded-md px-2 py-1 transition-colors hover:bg-muted/60 active:cursor-grabbing",G.id===w&&"bg-accent/40",Tt&&"bg-accent ring-1 ring-ring ring-inset",dt&&"opacity-50"),style:{paddingLeft:P*20+8},title:"拖动到目标行即可移动(上半=插前、下半=插后)",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[Te?o.jsx("button",{type:"button",className:"w-4 shrink-0 text-muted-foreground hover:text-foreground",onClick:()=>H(G.id),"aria-label":ye?"展开":"折叠",children:ye?"▸":"▾"}):o.jsx("span",{className:"w-4 shrink-0"}),o.jsx("span",{className:"flex h-5 w-7 shrink-0 items-center justify-center rounded bg-muted text-xs text-muted-foreground",children:gs[G.type]}),Ue?Fc(V,M,q(G,"title"),()=>{L(G,"title")},"标题"):o.jsx("span",{className:ge("min-w-0 cursor-text truncate text-sm hover:underline",Tt?"text-accent-foreground":"text-foreground"),title:"点击编辑标题",onClick:()=>X(G,"title"),children:G.title}),U!==null&&(U.get(G.id)?.length??0)>0&&o.jsx("span",{className:"flex shrink-0 items-center gap-0.5",children:(U.get(G.id)??[]).map(Yt=>o.jsx(g3,{mark:Yt},`${Yt.relationType}-${Yt.hookId}`))}),o.jsxs("span",{className:"ml-auto flex shrink-0 items-center gap-1",children:[o.jsx(Lo,{focus:{focus_node_id:G.id},title:`带节点「${G.title}」问 AI`}),o.jsx("button",{type:"button",className:"shrink-0 rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground",title:"详情","aria-label":"详情",onClick:()=>Kt(`/outline/${G.id}`),children:o.jsx(Zm,{className:"size-3.5"})}),Oe!==null&&o.jsx("button",{type:"button",className:"shrink-0 rounded px-1 text-muted-foreground hover:bg-muted hover:text-foreground",title:`就地新建${gs[Oe]}`,"aria-label":`新建${gs[Oe]}`,onClick:()=>ee(G.id,Oe),children:"+"}),o.jsx("button",{type:"button",className:"shrink-0 rounded p-1 text-muted-foreground hover:bg-muted hover:text-destructive",title:"移入回收站","aria-label":"移入回收站",onClick:()=>{Se(G)},children:o.jsx(Er,{className:"size-3.5"})}),re&&o.jsx("span",{className:"shrink-0 rounded bg-accent px-1.5 py-0.5 text-xs text-accent-foreground",children:"当前位置"})]})]}),Qe||G.summary?o.jsxs("div",{className:"mt-0.5 flex items-center gap-2",children:[o.jsx("span",{className:"w-4 shrink-0"}),o.jsx("span",{className:"w-7 shrink-0"}),Qe?Fc(V,M,q(G,"summary"),()=>{L(G,"summary")},"摘要"):o.jsx("span",{className:"min-w-0 cursor-text truncate text-xs text-muted-foreground hover:underline",title:"点击编辑摘要",onClick:()=>X(G,"summary"),children:G.summary})]}):null,ht&&o.jsx("span",{className:"pointer-events-none absolute inset-x-0 -top-px h-0.5 rounded bg-accent"}),Dt&&o.jsx("span",{className:"pointer-events-none absolute inset-x-0 -bottom-px h-0.5 rounded bg-accent"})]}),Te&&!ye&&o.jsx("div",{children:Re(G.children??[],P+1)}),It&&o.jsxs("div",{className:"flex items-center gap-2 rounded-md px-2 py-1",style:{paddingLeft:(P+1)*20+8},children:[o.jsx("span",{className:"w-4 shrink-0"}),o.jsx("span",{className:"flex h-5 w-7 shrink-0 items-center justify-center rounded bg-muted text-xs text-muted-foreground",children:gs[B.type]}),Fc(K,Q,de,pe,`新${gs[B.type]}标题,Enter 创建`)]})]},G.id)})}function Me(){t&&(g.size>0?S(new Set):S(new Set(z(t.children))))}return o.jsxs("section",{children:[o.jsxs("div",{className:"mb-4 flex items-center justify-between gap-4",children:[o.jsx("h1",{className:"text-xl font-semibold",children:"大纲"}),o.jsxs("div",{className:"flex gap-2",children:[o.jsx(ce,{variant:"outline",type:"button",onClick:Me,disabled:!t||t.children.length===0,children:g.size>0?"全部展开":"全部折叠"}),o.jsx(ce,{type:"button",onClick:()=>ee(En,"volume"),children:"+ 新建"})]})]}),m&&o.jsx("div",{className:ge(Mo,"mb-3"),children:m}),D?o.jsxs("div",{className:"rounded-md border border-dashed border-border px-6 py-10 text-center",children:[o.jsx("p",{className:"text-sm text-muted-foreground",children:"未打开项目,无法编辑大纲"}),o.jsx("a",{href:"#/",className:"mt-2 inline-block text-sm text-muted-foreground underline hover:text-foreground",children:"回到首页打开或创建书籍"})]}):a&&t===null?o.jsx("div",{className:"space-y-2 rounded-md border border-border p-3",children:Array.from({length:6},(J,P)=>o.jsx("div",{className:ge(jt,"h-5"),style:{width:`${92-P%3*24}%`,marginLeft:P%3*20}},P))}):t===null?o.jsxs("div",{className:"rounded-md border border-border p-4 text-sm text-muted-foreground",children:["大纲加载失败",o.jsx(ce,{variant:"outline",className:"ml-3",type:"button",onClick:()=>y(!1),children:"重试"})]}):t.children.length===0?B?.parentId===En?o.jsxs("div",{className:"rounded-lg border border-dashed border-border px-6 py-12 text-center",children:[o.jsx("p",{className:"text-sm text-muted-foreground",children:"输入第一卷标题,Enter 创建"}),o.jsx("div",{className:"mx-auto mt-4 max-w-sm",children:o.jsx(Av,{type:B.type,onTypeChange:J=>R({parentId:En,type:J}),value:K,onChange:Q,onKeyDown:de,onCancel:pe})})]}):o.jsxs(Kn,{action:o.jsx(ce,{type:"button",onClick:()=>ee(En,"volume"),children:"新建第一卷"}),children:["大纲还是空的,先建第一卷",o.jsx("span",{className:"mt-1 block text-xs text-muted-foreground/70",children:"大纲是三层结构:卷 → 章 → 场景"})]}):o.jsxs("div",{className:ge("rounded-md border border-border p-2",Z?.kind==="root-end"&&"ring-1 ring-accent ring-inset"),onDragOver:He,onDragLeave:_e,onDrop:J=>{ze(J)},children:[fe(),Re(t.children,0)]})]})}const _l=20;function E3(t,a){return Math.max(1,Math.ceil(t/a))}const T3={character:{key1:"role",label1:"角色",key2:"status",label2:"状态"},setting:{key1:"tags",label1:"标签",key2:"parent",label2:"上级设定",key3:"description",label3:"描述"},location:{key1:"type",label1:"类型"},hook:{key1:"status",label1:"状态",key2:"payoff_timing",label2:"回收时机"},event:{key1:"description",label1:"描述"},timepoint:{key1:"",label1:""},reference:{key1:"type",label1:"分类",key2:"content",label2:"摘要",key3:"tags",label3:"标签"}},Xp={planted:"已埋设",progressing:"推进中",resolved:"已回收",abandoned:"已弃用"},Kp={immediate:"立即",near_term:"近期",mid_arc:"中段",slow_burn:"慢热",endgame:"终局"};function Ic(t,a,r){if(r==null||r==="")return"—";if(t==="hook"&&a==="status")return Xp[String(r)]??String(r);if(t==="hook"&&a==="payoff_timing")return Kp[String(r)]??String(r);if(a==="tags"&&Array.isArray(r)){const l=r.filter(c=>typeof c=="string"&&c!=="");return l.length>0?l.join("、"):"—"}return String(r)}function Mv(t){return t.parentName!==void 0&&t.parentName!==""?t.parentName:"—"}const Dv={character:{key:"role",label:"角色定位",input:"text"},setting:{key:"tags",label:"标签",input:"tags"},location:{key:"type",label:"地点类型",input:"text"},hook:{key:"status",label:"状态",input:"select",options:["planted","progressing","resolved","abandoned"]},event:{key:"description",label:"描述",input:"text"},timepoint:{key:"",label:"",input:"text"},reference:{key:"type",label:"分类",input:"select",options:["material","inspiration","theory","reference"]}};function Qp(t){switch(t){case"character":return[{key:"role",label:"角色定位",control:"text"},{key:"gender",label:"性别",control:"text"},{key:"age",label:"年龄",control:"number"},{key:"personality",label:"性格",control:"tags"},{key:"motivation",label:"动机",control:"textarea"},{key:"abilities",label:"能力",control:"tags"},{key:"status",label:"状态",control:"text"}];case"setting":return[{key:"description",label:"描述",control:"textarea"},{key:"tags",label:"标签",control:"tags"},{key:"rules",label:"规则",control:"tags"}];case"location":return[{key:"type",label:"地点类型",control:"text"},{key:"parent_id",label:"上级地点",control:"text"},{key:"description",label:"描述",control:"textarea"}];case"hook":return[{key:"status",label:"状态",control:"select",options:["planted","progressing","resolved","abandoned"],optionsLabels:Xp},{key:"category",label:"类别",control:"text"},{key:"expected_payoff",label:"预期回收",control:"textarea"},{key:"payoff_timing",label:"回收时机",control:"select",options:["immediate","near_term","mid_arc","slow_burn","endgame"],optionsLabels:Kp},{key:"half_life",label:"半衰期(章数)",control:"number"},{key:"is_core",label:"主线伏笔",control:"toggle"},{key:"notes",label:"备注",control:"textarea"},{key:"expected_resolve_node_id",label:"预计回收节点",control:"outline-node"}];case"event":return[{key:"description",label:"描述",control:"textarea"},{key:"tags",label:"标签",control:"tags"}];case"timepoint":return[];case"reference":return[{key:"type",label:"分类",control:"select",options:["material","inspiration","theory","reference"]},{key:"content",label:"内容",control:"textarea"},{key:"source",label:"来源",control:"text"},{key:"tags",label:"标签",control:"tags"}]}}const w3={belongs_to:"所属",owns:"拥有",masters:"掌握",ally:"盟友",rival:"对手",mentor:"师徒",family:"家族",kills:"击杀",appears_in:"出现于",occurs_in:"锚定于",occurs_at:"发生于",plot_edge:"剧情连线",plants:"埋设",advances:"推进",resolves:"回收",depends_on:"依赖",involves:"涉及"};function gr(t){return w3[t]??t}function cm(t,a){const r=t.filter(d=>d.relationType==="belongs_to"&&d.sourceType==="setting"&&d.targetType==="setting"),l=[];let c=null;for(const d of r){const p={relationId:d.id,parentId:d.targetId,parentName:d.targetName,childId:d.sourceId,childName:d.sourceName};d.sourceId===a?c===null&&(c=p):d.targetId===a&&l.push(p)}return{parent:c,children:l}}function Zp(t,a){const r={};for(const l of new Set([...Object.keys(t),...Object.keys(a)])){const c=a[l];if(c===void 0)continue;const d=zv(t[l]),p=zv(c);JSON.stringify(d)!==JSON.stringify(p)&&(r[l]=c)}return Object.keys(r).length>0?r:null}function zv(t){return t==null||t===""||Array.isArray(t)&&t.length===0?null:t}const um={character:"人物",setting:"设定",location:"地点",hook:"伏笔",event:"事件",timepoint:"时间点",reference:"参考资料"},C3=Gm.filter(t=>t!=="occurs_at"),vo="w-full rounded-md border border-border bg-card px-3 py-1.5 text-sm text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring";function Jp({source:t,onCreated:a,onClose:r}){const l=Le(R=>R.outline),[c,d]=h.useState("character"),[p,x]=h.useState(null),[y,m]=h.useState(""),[b,g]=h.useState("character"),[S,j]=h.useState(null),[E,w]=h.useState(""),[C,N]=h.useState(Gm[0]),[T,O]=h.useState(null),[k,V]=h.useState(!1);h.useEffect(()=>{t||(m(""),x(null),Sn(c,{limit:100}).then(R=>x(R.items)).catch(()=>x([])))},[t,c]),h.useEffect(()=>{if(w(""),b==="outline_node"){j(null);return}j(null),Sn(b,{limit:100}).then(R=>j(R.items)).catch(()=>j([]))},[b]);const M=oa(l?.children??[]);async function B(R){if(R.preventDefault(),!t&&!y){O("请选择源实体");return}if(!E){O("请选择关联对象");return}V(!0),O(null);try{const K={source_type:t?t.type:c,source_id:t?t.id:y,target_type:b,target_id:E,relation_type:C};await Pa(K),Ee.getState().showToast("已建立关系"),await a(),r()}catch(K){K instanceof ke&&K.code==="RELATION_EXISTS"?O("这条关系已经存在"):O(K instanceof ke?K.message:"创建失败,请重试")}finally{V(!1)}}return o.jsx(cs,{open:!0,onOpenChange:R=>!R&&r(),children:o.jsxs(us,{className:"sm:max-w-2xl",children:[o.jsx(ds,{children:o.jsx(fs,{children:"新增关联"})}),o.jsxs("form",{id:"create-relation-form",onSubmit:B,className:"flex flex-col gap-3",children:[o.jsxs("div",{className:"grid grid-cols-1 items-start gap-3 sm:grid-cols-[1fr_auto_1fr]",children:[o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsx("p",{className:"text-sm font-medium text-foreground",children:"源实体"}),t?o.jsxs("div",{title:t.name,className:"min-w-0 truncate rounded-md border border-border bg-muted/40 px-3 py-1.5 text-sm text-foreground",children:[t.type==="outline_node"?"本节点":"本实体",":",t.name]}):o.jsxs(o.Fragment,{children:[o.jsx("select",{value:c,onChange:R=>d(R.target.value),className:vo,children:Co.map(R=>o.jsx("option",{value:R,children:um[R]},R))}),o.jsxs("select",{value:y,onChange:R=>m(R.target.value),className:vo,children:[o.jsxs("option",{value:"",children:["选择",um[c],"…"]}),(p??[]).map(R=>o.jsx("option",{value:R.id,children:R.name},R.id))]})]})]}),o.jsxs("div",{className:"flex flex-col gap-2 sm:w-44",children:[o.jsx("p",{className:"text-sm font-medium text-foreground",children:"关系类型"}),o.jsx("select",{value:C,onChange:R=>N(R.target.value),className:vo,children:C3.map(R=>o.jsx("option",{value:R,children:gr(R)},R))}),o.jsx("span",{"aria-hidden":"true",className:"mt-auto pb-1 text-center text-xl leading-none text-muted-foreground select-none",children:"→"})]}),o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsx("p",{className:"text-sm font-medium text-foreground",children:"目标实体"}),o.jsxs("select",{value:b,onChange:R=>g(R.target.value),className:vo,children:[o.jsx("option",{value:"character",children:"人物"}),o.jsx("option",{value:"setting",children:"设定"}),o.jsx("option",{value:"location",children:"地点"}),o.jsx("option",{value:"hook",children:"伏笔"}),o.jsx("option",{value:"outline_node",children:"大纲节点"})]}),b==="outline_node"?o.jsxs("select",{value:E,onChange:R=>w(R.target.value),className:vo,children:[o.jsx("option",{value:"",children:"选择大纲节点…"}),M.map(R=>o.jsxs("option",{value:R.id,children:[" ".repeat(R.depth),R.label]},R.id))]}):o.jsxs("select",{value:E,onChange:R=>w(R.target.value),className:vo,children:[o.jsxs("option",{value:"",children:["选择",um[b],"…"]}),(S??[]).map(R=>o.jsx("option",{value:R.id,children:R.name},R.id))]})]})]}),T&&o.jsx("p",{className:"text-sm text-destructive",children:T})]}),o.jsxs(Rs,{children:[o.jsx(ce,{variant:"outline",type:"button",onClick:r,disabled:k,children:"取消"}),o.jsx(ce,{type:"submit",form:"create-relation-form",disabled:k,children:"建立"})]})]})})}const ES={character:"人物",setting:"设定",location:"地点",hook:"伏笔",outline_node:"大纲节点"},Lv={endpointType:"",relationType:"",nameQuery:""};function O3(t,a){const r=a.nameQuery.trim().toLowerCase();return t.filter(l=>{if(a.endpointType!==""&&l.sourceType!==a.endpointType&&l.targetType!==a.endpointType||a.relationType!==""&&l.relationType!==a.relationType)return!1;if(r){const c=(l.sourceName??l.sourceId).toLowerCase(),d=(l.targetName??l.targetId).toLowerCase();if(!c.includes(r)&&!d.includes(r))return!1}return!0})}function Iv({type:t}){return o.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:ES[t]??t})}function dm({type:t,id:a,name:r}){const l=r??a;if(!(Co.includes(t)||t==="outline_node"))return o.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[o.jsx("span",{className:"min-w-0 truncate text-muted-foreground",title:l,children:l}),o.jsx(Iv,{type:t})]});const d=t==="outline_node"?`/outline/${a}`:`/entities/${t}/${a}`;return o.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[o.jsx("button",{type:"button",onClick:()=>Kt(d),title:`打开《${l}》`,className:"min-w-0 truncate font-medium text-foreground underline-offset-2 hover:text-primary hover:underline",children:l}),o.jsx(Iv,{type:t})]})}function Bv(t,a){const r=a==="source"?t.sourceName:t.targetName,l=a==="source"?t.sourceId:t.targetId;return r??l}function TS({reloadKey:t,onOpenCreate:a,scope:r}){const[l,c]=h.useState(null),[d,p]=h.useState(!1),[x,y]=h.useState(null),[m,b]=h.useState(0),[g,S]=h.useState(Lv),[j,E]=h.useState(null);h.useEffect(()=>{let N=!1;p(!0),y(null);const T=r!==void 0?{source_type:r.type,source_id:r.id,depth:1}:{depth:1};return Oo(T).then(O=>{N||c(O.relations)}).catch(O=>{N||(c(null),y(O instanceof ke?O.code:ot))}).finally(()=>{N||p(!1)}),()=>{N=!0}},[t,m,r?.type,r?.id]);async function w(){if(j)try{await Yl(j.id),Ee.getState().showToast("已删除关系"),E(null),b(N=>N+1)}catch(N){throw N}}const C=l===null?[]:O3(l,g);return o.jsxs("div",{children:[r===void 0&&o.jsxs("div",{className:"mt-3 mb-2 flex flex-wrap items-center gap-3",children:[o.jsxs("select",{value:g.endpointType,onChange:N=>S(T=>({...T,endpointType:N.target.value})),"aria-label":"端点类型过滤",className:"rounded-md border border-border bg-card px-2 py-1 text-sm text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[o.jsx("option",{value:"",children:"全部端点类型"}),Object.entries(ES).map(([N,T])=>o.jsx("option",{value:N,children:T},N))]}),o.jsxs("select",{value:g.relationType,onChange:N=>S(T=>({...T,relationType:N.target.value})),"aria-label":"关系类型过滤",className:"rounded-md border border-border bg-card px-2 py-1 text-sm text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[o.jsx("option",{value:"",children:"全部关系类型"}),Gm.map(N=>o.jsx("option",{value:N,children:gr(N)},N))]}),o.jsx(Et,{value:g.nameQuery,onChange:N=>S(T=>({...T,nameQuery:N.target.value})),placeholder:"搜索源/目标名称…",className:"w-52"})]}),x!==null&&o.jsxs("div",{className:"mb-3 rounded-md border border-border bg-muted px-3 py-2 text-sm text-muted-foreground",children:[x===ot?"无法连接服务,请确认 ai-editor 服务已启动。":"关系加载失败,请重试。",o.jsx(ce,{variant:"outline",className:"ml-3",type:"button",onClick:()=>b(N=>N+1),children:"重试"})]}),d&&l===null&&x===null&&o.jsx("div",{className:"overflow-hidden rounded-md border border-border",children:Array.from({length:5},(N,T)=>o.jsxs("div",{className:"flex items-center gap-3 border-b border-border px-3 py-3 last:border-0",children:[o.jsx("div",{className:ge(jt,"h-4 w-1/4")}),o.jsx("div",{className:ge(jt,"h-4 w-1/6")}),o.jsx("div",{className:ge(jt,"h-4 w-1/4")}),o.jsx("div",{className:ge(jt,"ml-auto h-4 w-12")})]},T))}),!d&&l!==null&&l.length===0&&o.jsx(Kn,{action:o.jsx(ce,{type:"button",onClick:a,children:"+ 建立关联"}),children:"还没有关联,建立一条"}),!d&&l!==null&&l.length>0&&C.length===0&&o.jsx(Kn,{action:o.jsx(ce,{variant:"outline",type:"button",onClick:()=>S(Lv),children:"清空过滤"}),children:"没有匹配的关联"}),!d&&l!==null&&C.length>0&&o.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[r===void 0&&o.jsxs("div",{className:"flex items-center gap-2 border-b border-border bg-muted/40 px-3 py-2 text-xs text-muted-foreground",children:[o.jsx("span",{className:"w-1/4 shrink-0",children:"源"}),o.jsx("span",{className:"w-1/4 shrink-0",children:"关系"}),o.jsx("span",{className:"flex-1",children:"目标"}),o.jsx("span",{className:"w-14 shrink-0"})]}),o.jsx("ul",{className:"divide-y divide-border",children:C.map(N=>o.jsxs("li",{className:"flex items-center gap-2 px-3 py-2 text-sm",children:[r!==void 0?o.jsxs(o.Fragment,{children:[o.jsxs("span",{className:"shrink-0 truncate rounded bg-muted px-1.5 py-0.5 text-center text-xs text-muted-foreground",children:[gr(N.relationType)," →"]}),o.jsx("span",{className:"min-w-0 flex-1",children:o.jsx(dm,{type:N.targetType,id:N.targetId,name:N.targetName})})]}):o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"w-1/4 min-w-0 shrink-0",children:o.jsx(dm,{type:N.sourceType,id:N.sourceId,name:N.sourceName})}),o.jsxs("span",{className:"w-1/4 shrink-0 truncate rounded bg-muted px-1.5 py-0.5 text-center text-xs text-muted-foreground",children:[gr(N.relationType)," →"]}),o.jsx("span",{className:"min-w-0 flex-1",children:o.jsx(dm,{type:N.targetType,id:N.targetId,name:N.targetName})})]}),o.jsx(ce,{variant:"outline",type:"button",className:"h-7 w-14 shrink-0 px-2 text-xs text-destructive hover:bg-destructive/10",onClick:()=>E(N),children:"删除"})]},N.id))})]}),j&&o.jsx(zo,{title:"删除关系",description:`删除关系「${Bv(j,"source")} ${gr(j.relationType)} ${Bv(j,"target")}」?物理删除不可恢复,可重新建立。`,confirmLabel:"删除",danger:!0,onConfirm:w,onClose:()=>E(null)})]})}const R3={set:"设为",update:"更新",add:"追加",remove:"移除"},k3={character:"人物",setting:"设定",location:"地点",hook:"伏笔",outline_node:"大纲节点"};function Wp(t){return k3[t]??t}function ls(t){return t==null?"空":typeof t=="object"?JSON.stringify(t):String(t)}function _3(t){switch(t.op){case"set":return`${t.field} = ${ls(t.to)}`;case"update":return`${t.field} ${ls(t.from)} → ${ls(t.to)}`;case"add":return`${t.field} +${ls(t.value??t.to)}`;case"remove":return`${t.field} -${ls(t.value??t.to)}`}}function A3(t,a){const r=[];for(const l of new Set([...Object.keys(t),...Object.keys(a)])){const c=t[l]??null,d=a[l]??null;JSON.stringify(c)!==JSON.stringify(d)&&r.push({field:l,from:t[l],to:a[l]})}return r}function wS({changes:t,skipped:a}){const r=a?new Set(a):null;return o.jsx("div",{className:"flex flex-wrap items-center gap-1",children:t.map((l,c)=>{const d=r?.has(c)??!1;return o.jsxs("span",{title:d?"该变更未应用(数据与变更记录不一致,见冲突标注)":void 0,className:ge("inline-flex items-center gap-1 rounded bg-muted px-1.5 py-0.5 text-xs",d?"text-destructive":"text-muted-foreground"),children:[o.jsx("span",{className:ge("shrink-0 font-medium",d?"text-destructive":"text-foreground/70"),children:R3[l.op]}),_3(l)]},c)})})}function M3({nodeId:t,reloadKey:a}){const[r,l]=h.useState(null),[c,d]=h.useState(!1),[p,x]=h.useState(null),[y,m]=h.useState(0);return h.useEffect(()=>{let b=!1;return d(!0),x(null),ZT(t).then(g=>{b||l([...g.deltas].sort((S,j)=>S.order-j.order))}).catch(g=>{b||x(g instanceof ke?g.code:ot)}).finally(()=>{b||d(!1)}),()=>{b=!0}},[t,y,a]),o.jsxs("div",{children:[c&&r===null&&p===null&&o.jsxs("div",{className:"space-y-2 py-1",children:[o.jsx("div",{className:ge(jt,"h-4 w-2/3")}),o.jsx("div",{className:ge(jt,"h-4 w-1/2")})]}),p!==null&&o.jsxs("div",{className:"flex items-center gap-2 text-xs text-destructive",children:[o.jsx("span",{children:p==="OUTLINE_NODE_NOT_FOUND"?"节点不存在(可能已被删除),变更记录不可用":p===ot?"无法连接服务,请确认 ai-editor 服务已启动":"变更记录加载失败"}),p!=="OUTLINE_NODE_NOT_FOUND"&&o.jsx(ce,{variant:"outline",size:"xs",type:"button",onClick:()=>m(b=>b+1),children:"重试"})]}),!c&&p===null&&r!==null&&r.length===0&&o.jsx("p",{className:"py-1 text-xs text-muted-foreground",children:"该节点没有变更记录"}),!c&&p===null&&r!==null&&r.length>0&&o.jsx("ul",{className:"divide-y divide-border/70",children:r.map(b=>o.jsxs("li",{className:"py-2 first:pt-0 last:pb-0",children:[o.jsxs("div",{className:"flex items-baseline gap-2",children:[o.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-foreground",title:b.description,children:b.description}),o.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:xs(b.createdAt)})]}),o.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-1.5",children:[o.jsxs("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:[Wp(b.targetType),"《",b.targetName??b.targetId,"》"]}),o.jsx(wS,{changes:b.changes})]})]},b.id))})]})}const D3=Co.filter(t=>t!=="event"&&t!=="timepoint"&&t!=="reference").map(t=>({value:t,label:Wp(t)})),z3={character:["role","gender","age","personality","motivation","abilities","status","custom_fields"],setting:["description","tags","rules","custom_fields"],location:["type","parent_id","description","custom_fields"],hook:["status","category","expected_payoff","payoff_timing","half_life","is_core","notes","expected_resolve_node_id"]},L3={character:Bc("character"),setting:Bc("setting"),location:Bc("location"),hook:Bc("hook")};function Bc(t){return Object.fromEntries(Qp(t).map(a=>[a.key,a.label]))}const I3={character:["personality","abilities"],setting:["tags","rules"]},B3={character:["age"],hook:["half_life"]};function Ym(t,a){return(I3[t]??[]).includes(a)}function U3(t,a){return(B3[t]??[]).includes(a)}function H3(t){return(z3[t]??[]).filter(r=>r!=="custom_fields").map(r=>({key:r,label:L3[t]?.[r]??r,array:Ym(t,r)}))}function CS(t){if(t!==void 0){if(t===null)return null;if(typeof t=="string"||typeof t=="number")return t}}function Uv(t){return t.array?{options:["add","remove"],default:"add"}:CS(t.currentValue)!==void 0?{options:["update","set"],default:"update"}:{options:["set"],default:"set"}}function Y3(t){const a=t.rawValue.trim();if(a==="")return{error:"请填写值"};const r=Number(a),l=t.numeric&&!Number.isNaN(r)?r:a;switch(t.op){case"add":return{change:{field:t.field,op:"add",value:l}};case"remove":return{change:{field:t.field,op:"remove",value:l}};case"set":return{change:{field:t.field,op:"set",to:l}};case"update":{const c=CS(t.currentValue);return c===void 0?{error:"无法确定旧值(当前数据无此字段或类型不可表达),请改用「设为」"}:{change:{field:t.field,op:"update",from:c,to:l}}}}}const So="w-full rounded-md border border-border bg-card px-2 py-1 text-sm text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",P3={set:"设为",update:"更新",add:"追加",remove:"移除"};function V3({nodeId:t,onCreated:a,onClose:r}){const[l,c]=h.useState(""),[d,p]=h.useState(""),[x,y]=h.useState(""),[m,b]=h.useState("add"),[g,S]=h.useState(""),[j,E]=h.useState(""),[w,C]=h.useState(!1),[N,T]=h.useState(null),[O,k]=h.useState(null),[V,M]=h.useState(null),[B,R]=h.useState(0),[K,Q]=h.useState(null),[oe,te]=h.useState(null);h.useEffect(()=>{if(p(""),Q(null),te(null),l===""){k(null),M(null);return}let H=!1;return k(null),M(null),Sn(l).then(F=>{H||k(F.items)}).catch(F=>{H||(k(null),M(F instanceof ke?F.code:ot))}),()=>{H=!0}},[l,B]),h.useEffect(()=>{if(l===""||d==="")return;let H=!1;return Q(null),te(null),ta(l,d).then(F=>{H||Q(F.data)}).catch(F=>{H||(Q(null),te(F instanceof ke?F.code:ot))}),()=>{H=!0}},[l,d]),h.useEffect(()=>{y(""),S(""),T(null)},[l,d]);const Z=H3(l),ne=K?.[x],U=Uv({array:Ym(l,x),currentValue:ne});function _(H){y(H),b(Uv({array:Ym(l,H),currentValue:K?.[H]}).default)}async function D(){if(w)return;if(l===""||d===""){T("请选择变更目标");return}if(x===""){T("请选择变更字段");return}const H=j.trim();if(H===""){T("请填写描述(本节点触发了什么变化)");return}const F=Y3({field:x,op:m,rawValue:g,numeric:U3(l,x),currentValue:ne});if("error"in F){T(F.error);return}C(!0),T(null);try{await rp({node_id:t,target_type:l,target_id:d,changes:[F.change],description:H}),Ee.getState().showToast("已记录变更"),a()}catch(z){if(z instanceof ke&&z.code==="OUTLINE_NODE_NOT_FOUND"){Ee.getState().showToast("节点不存在(可能已被删除),无法记录变更","error"),r();return}T(z instanceof ke?z.message:"提交失败,请重试")}finally{C(!1)}}const Y=l;return o.jsxs("div",{className:"mb-3 space-y-3 rounded-md border border-border bg-muted/40 p-3",children:[o.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-xs font-medium text-foreground",children:"目标类型"}),o.jsxs("select",{value:l,onChange:H=>c(H.target.value),className:ge(So,l===""&&"text-muted-foreground"),"aria-label":"目标类型",children:[o.jsx("option",{value:"",children:"请选择目标类型"}),D3.map(H=>o.jsx("option",{value:H.value,children:H.label},H.value))]})]}),o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-xs font-medium text-foreground",children:"目标"}),l===""?o.jsx("p",{className:"py-1 text-xs text-muted-foreground",children:"请先选择目标类型"}):V!==null?o.jsxs("div",{className:"flex items-center gap-2 text-xs text-destructive",children:[o.jsx("span",{children:V===ot?"无法连接服务,请确认 ai-editor 服务已启动":"实体列表加载失败"}),o.jsx(ce,{variant:"outline",size:"xs",type:"button",onClick:()=>R(H=>H+1),children:"重试"})]}):O===null?o.jsx("p",{className:"py-1 text-xs text-muted-foreground",children:"加载中…"}):O.length===0?o.jsxs("p",{className:"py-1 text-xs text-muted-foreground",children:["暂无",Hv(Y)]}):o.jsxs("select",{value:d,onChange:H=>p(H.target.value),className:ge(So,d===""&&"text-muted-foreground"),"aria-label":"目标实体",children:[o.jsxs("option",{value:"",children:["请选择",Hv(Y)]}),O.map(H=>o.jsx("option",{value:H.id,children:H.name},H.id))]})]})]}),o.jsxs("div",{className:"grid gap-3 sm:grid-cols-[1fr_auto_1fr]",children:[o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-xs font-medium text-foreground",children:"字段"}),o.jsxs("select",{value:x,onChange:H=>_(H.target.value),className:ge(So,x===""&&"text-muted-foreground"),"aria-label":"变更字段",children:[o.jsx("option",{value:"",children:"请选择字段"}),Z.map(H=>o.jsx("option",{value:H.key,children:H.label},H.key))]})]}),o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-xs font-medium text-foreground",children:"操作"}),o.jsx("select",{value:m,onChange:H=>b(H.target.value),className:ge(So,"min-w-20"),"aria-label":"操作",children:U.options.map(H=>o.jsx("option",{value:H,children:P3[H]},H))})]}),o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-xs font-medium text-foreground",children:m==="set"||m==="update"?"新值":m==="add"?"追加值":"移除值"}),o.jsx("input",{autoComplete:"off",value:g,onChange:H=>S(H.target.value),placeholder:m==="remove"?"按值匹配删除":"",className:So})]})]}),m==="update"&&o.jsx("p",{className:"text-xs text-muted-foreground",children:oe!==null?o.jsxs(o.Fragment,{children:["目标数据获取失败,无法自动取旧值(",oe==="ENTITY_NOT_FOUND"?"目标已不存在":"请稍后重试",")——可将操作改为「设为」"]}):o.jsxs(o.Fragment,{children:["旧值:",ls(ne),"(自动取自目标当前数据,无需手填)"]})}),o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-xs font-medium text-foreground",children:"描述"}),o.jsx("textarea",{value:j,onChange:H=>E(H.target.value),rows:2,maxLength:500,placeholder:"本节点触发了什么变化,如:张三获得断剑认可",className:ge(So,"resize-none")})]}),N!==null&&o.jsx("p",{className:"text-sm text-destructive",children:N}),o.jsxs("div",{className:"flex items-center justify-end gap-2",children:[o.jsx(ce,{variant:"outline",size:"sm",type:"button",onClick:r,disabled:w,children:"取消"}),o.jsx(ce,{size:"sm",type:"button",onClick:()=>{D()},disabled:w,children:w?"提交中…":"创建变更"})]})]})}function Hv(t){return Wp(t)}function eh({items:t,className:a}){return o.jsx("nav",{"aria-label":"面包屑",className:ge("inline-flex items-center gap-1",a),children:t.map((r,l)=>{const c=l===t.length-1;return o.jsxs("span",{className:"inline-flex items-center gap-1",children:[r.href?o.jsx("button",{type:"button",onClick:()=>Kt(r.href),className:"rounded-md border border-border px-2.5 py-1 text-sm text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",children:r.label}):o.jsx("span",{"aria-current":"page",className:"max-w-40 truncate rounded-md bg-foreground px-2.5 py-1 text-sm font-medium text-background",children:r.label}),!c&&o.jsx("span",{className:"text-sm text-muted-foreground/40 select-none",children:"›"})]},l)})})}const F3={inner:"内心冲突",personal:"人际冲突",extra_personal:"社会冲突"};function q3(t){switch(t){case"scene":return[{key:"goal",label:"场景目标",control:"textarea",maxLength:1e3},{key:"conflict_levels",label:"冲突层次",control:"checkbox-group",options:a0,optionsLabels:F3},{key:"value_from",label:"开场价值",control:"text",maxLength:200},{key:"value_to",label:"收场价值",control:"text",maxLength:200}];case"chapter":return[{key:"reversal",label:"章末反转",control:"textarea",maxLength:1e3},{key:"climax_scene",label:"章高潮场景",control:"scene-select"}];case"volume":return[{key:"climax_scene",label:"幕高潮场景",control:"scene-select"},{key:"inciting_scene",label:"激励事件",control:"scene-select"}]}}function G3(t,a){return a0.includes(a)?t.includes(a)?t.filter(r=>r!==a):[...t,a]:t}function $3(t){const a=[],r=(l,c)=>{for(const d of l)d.type==="scene"?a.push({id:d.id,label:d.title,depth:c}):d.children&&r(d.children,c+1)};return r(t,0),a}function X3(t){return typeof t=="string"&&t!==""?t:""}const Pm="w-full rounded-md border border-border bg-card px-3 py-1.5 text-sm text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring";function K3({nodeId:t}){const a=Le(I=>I.outline),r=Le(I=>I.outlineLoading),l=Le(I=>I.config),c=Le(I=>I.configLoading),d=Le(I=>I.loadOutline),p=Le(I=>I.updateConfig),[x,y]=h.useState(!1),[m,b]=h.useState(""),[g,S]=h.useState(""),[j,E]=h.useState(null),[w,C]=h.useState(!1),[N,T]=h.useState(null),[O,k]=h.useState(!1),[V,M]=h.useState(!1),[B,R]=h.useState(0),[K,Q]=h.useState(!1),[oe,te]=h.useState(0);h.useEffect(()=>{a===null&&!r&&!x&&(y(!0),d())},[a,r,x,d]),_s(()=>{d(),R(I=>I+1),te(I=>I+1)});const Z=a===null?null:Ha(a.children,t),ne=a!==null&&Z===null,U=Z?q3(Z.type):[],_=$3(a?.children??[]),D=l?.currentPosition===t;h.useEffect(()=>{Z!==null&&(b(Z.title),S(Z.summary??""),E(JSON.parse(JSON.stringify(Z.data??{}))))},[Z]);async function Y(){if(Z===null||w)return;const I=m.trim();if(I===""){T("标题不能为空");return}const L={};SS(Z.title,m)&&(L.title=I),NS(Z.summary,g)&&(L.summary=g.trim());const q=Zp(Z.data??{},j??{});if(q!==null&&(L.data=q),Object.keys(L).length===0){Ee.getState().showToast("没有变更");return}C(!0),T(null);try{await O0(Z.id,L),Ee.getState().showToast("已保存"),await d()}catch(ee){if(ee instanceof ke&&ee.code==="OUTLINE_NODE_NOT_FOUND"){await d();return}T(ee instanceof ke?ee.message:"保存失败,请重试")}finally{C(!1)}}function H(I,L){E(q=>q&&{...q,[I]:L})}async function F(){if(!(Z===null||O||D)){k(!0);try{await p({current_position:Z.id}),Ee.getState().showToast("已设为当前位置")}catch{Ee.getState().showToast("设置失败:该节点可能已删除,无法设为当前位置","error")}finally{k(!1)}}}if(ne)return o.jsx("section",{children:o.jsx(Kn,{padding:"lg",action:o.jsxs("div",{className:"flex justify-center gap-2",children:[o.jsx("a",{href:"#/trash",className:"rounded-md border border-border px-4 py-1.5 text-sm text-muted-foreground hover:bg-muted",children:"去回收站"}),o.jsx(ce,{variant:"outline",type:"button",onClick:()=>Kt("/outline"),children:"返回大纲"})]}),children:"该节点不存在或已被删除"})});const z=l===null&&!c,X=[{label:"大纲",href:"/outline"}];if(Z!==null){const I=$p(a?.children??[],t)??[];for(const L of I.slice(0,-1)){const q=Ha(a?.children??[],L);q&&X.push({label:q.title,href:`/outline/${L}`})}X.push({label:Z.title})}return o.jsxs("section",{children:[o.jsxs("div",{className:"mb-1 flex items-center gap-3",children:[o.jsx(eh,{items:X}),o.jsx("h1",{className:"min-w-0 truncate text-xl font-semibold",children:Z?.title??"…"}),o.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[o.jsx(ce,{variant:"outline",type:"button",disabled:Z===null||D||O,title:D?"当前节点已是创作进度位置":"标记为创作进度位置(InfoBar 展示 + 定位跳转基准)",onClick:()=>{F()},children:D?"当前位置":"设为当前位置"}),o.jsx(ce,{type:"button",onClick:()=>{Y()},disabled:Z===null||w,children:w?"保存中…":"保存"})]})]}),Z&&o.jsxs("div",{className:"mb-4 flex items-center gap-2 text-xs text-muted-foreground",children:[o.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs",children:gs[Z.type]}),o.jsxs("span",{children:["更新于 ",xs(Z.updatedAt)]}),D&&o.jsx("span",{className:"shrink-0 rounded bg-accent px-1.5 py-0.5 text-xs text-accent-foreground",children:"当前位置"})]}),z?o.jsxs("div",{className:"rounded-md border border-dashed border-border px-6 py-10 text-center",children:[o.jsx("p",{className:"text-sm text-muted-foreground",children:"未打开项目,无法编辑大纲"}),o.jsx("a",{href:"#/",className:"mt-2 inline-block text-sm text-muted-foreground underline hover:text-foreground",children:"回到首页打开或创建书籍"})]}):r&&a===null?o.jsx("div",{className:"space-y-2 rounded-md border border-border p-3",children:Array.from({length:6},(I,L)=>o.jsx("div",{className:"h-5 animate-pulse rounded bg-muted",style:{width:`${92-L%3*24}%`,marginLeft:L%3*20}},L))}):a===null?o.jsxs("div",{className:"rounded-md border border-border p-4 text-sm text-muted-foreground",children:["大纲加载失败",o.jsx(ce,{variant:"outline",className:"ml-3",type:"button",onClick:()=>y(!1),children:"重试"})]}):Z===null||j===null?null:o.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[o.jsxs("div",{className:"flex min-w-0 flex-col gap-4",children:[o.jsx(ea,{title:"基础信息",children:o.jsxs("div",{className:"flex flex-col gap-3",children:[o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"标题"}),o.jsx(Et,{value:m,onChange:I=>b(I.target.value),maxLength:200,placeholder:`${gs[Z.type]}标题`,className:"h-8 text-sm"})]}),o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"摘要"}),o.jsx("textarea",{value:g,onChange:I=>S(I.target.value),maxLength:200,rows:3,placeholder:"一句话概括本节点内容(可选)",className:Pm})]})]})}),o.jsxs(ea,{title:`结构化信息(${gs[Z.type]})`,children:[o.jsx("div",{className:"flex flex-col gap-3",children:U.map(I=>o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:I.label}),o.jsx(Q3,{field:I,value:j?.[I.key],sceneOptions:_,onChange:L=>H(I.key,L)})]},I.key))}),N&&o.jsx("p",{className:"mt-3 text-sm text-destructive",children:N})]}),o.jsxs(ea,{title:"变更记录",action:o.jsx(ce,{variant:"outline",size:"sm",type:"button",onClick:()=>Q(I=>!I),children:K?"收起":"+ 新建变更"}),children:[K&&o.jsx(V3,{nodeId:t,onCreated:()=>{Q(!1),te(I=>I+1)},onClose:()=>Q(!1)}),o.jsx(M3,{nodeId:t,reloadKey:oe})]}),o.jsx(ea,{title:"伏笔标记",className:"border-dashed",children:o.jsx("p",{className:"text-sm text-muted-foreground",children:"伏笔标记将在伏笔面板(S9)落地"})})]}),o.jsx("div",{className:"flex min-w-0 flex-col gap-4",children:o.jsxs(ea,{title:"相关实体",children:[o.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[o.jsx("p",{className:"text-xs text-muted-foreground",children:"本节点作为源的关系(1 跳)"}),o.jsx(ce,{variant:"outline",type:"button",className:"h-8 px-2 text-xs",onClick:()=>M(!0),children:"+ 新增关联"})]}),o.jsx(TS,{scope:{type:"outline_node",id:t},reloadKey:B,onOpenCreate:()=>M(!0)})]})})]}),V&&Z!==null&&o.jsx(Jp,{source:{type:"outline_node",id:Z.id,name:Z.title},onCreated:()=>R(I=>I+1),onClose:()=>M(!1)})]})}function Q3({field:t,value:a,sceneOptions:r,onChange:l}){switch(t.control){case"textarea":return o.jsx("textarea",{value:typeof a=="string"?a:"",onChange:c=>l(c.target.value),maxLength:t.maxLength,rows:3,className:Pm});case"checkbox-group":{const c=Array.isArray(a)?a:[];return o.jsx("div",{className:"flex flex-wrap gap-x-4 gap-y-1.5",children:(t.options??[]).map(d=>o.jsxs("label",{className:"flex cursor-pointer items-center gap-1.5 text-sm text-foreground",children:[o.jsx("input",{type:"checkbox",checked:c.includes(d),onChange:()=>l(G3(c,d)),className:"size-4 accent-primary"}),t.optionsLabels?.[d]??d]},d))})}case"scene-select":{const c=X3(a),d=c!==""&&!r.some(p=>p.id===c);return o.jsxs("select",{value:c,onChange:p=>l(p.target.value),className:ge(Pm,c===""&&"text-muted-foreground"),children:[o.jsx("option",{value:"",children:"(未设置)"}),d&&o.jsxs("option",{value:c,children:[c,"(已删除)"]}),r.map(p=>o.jsxs("option",{value:p.id,children:[" ".repeat(p.depth),p.label]},p.id))]})}default:return o.jsx(Et,{value:typeof a=="string"?a:"",onChange:c=>l(c.target.value),maxLength:t.maxLength,className:"h-8 text-sm"})}}const OS=h.createContext(void 0);function ii(t){const a=h.useContext(OS);if(a===void 0&&!t)throw new Error(Tn(47));return a}function Z3(){return{...Ip(),disabled:!1,modal:!1,focusManagerModal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,nested:!1,openOnHover:!1,closeDelay:0,hasViewport:!1}}const J3={...Up,disabled:Ve(t=>t.disabled),instantType:Ve(t=>t.instantType),openMethod:Ve(t=>t.openMethod),openChangeReason:Ve(t=>t.openChangeReason),modal:Ve(t=>t.modal),focusManagerModal:Ve(t=>t.focusManagerModal),stickIfOpen:Ve(t=>t.stickIfOpen),titleElementId:Ve(t=>t.titleElementId),descriptionElementId:Ve(t=>t.descriptionElementId),openOnHover:Ve(t=>t.openOnHover),closeDelay:Ve(t=>t.closeDelay),hasViewport:Ve(t=>t.hasViewport)};class th extends ju{constructor(a,r,l=!1){const c={...Z3(),...a},d=new li;c.open&&a?.mounted===void 0&&(c.mounted=!0),c.floatingRootContext=G1(d,r,l),super(c,{popupRef:h.createRef(),backdropRef:h.createRef(),internalBackdropRef:h.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:h.createRef(),beforeContentFocusGuardRef:h.createRef(),stickIfOpenTimeout:new ys,triggerElements:d},J3)}setOpen=(a,r)=>{const l=r.reason===pn,c=r.reason===br&&r.event.detail===0,d=!a&&(r.reason===pu||r.reason==null),p=P1(r),x=this.select("activeTriggerId");if(!a&&r.reason===$0&&r.trigger==null&&x!=null&&(r.trigger=this.context.triggerElements.getById(x)??this.select("activeTriggerElement")??void 0),this.context.onOpenChange?.(a,r),r.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(a,r);const y=()=>{const m={open:a,openChangeReason:r.reason};Mp(m,a,r.trigger,p()),this.update(m)};l?(this.set("stickIfOpen",!0),this.context.stickIfOpenTimeout.start(g1,()=>{this.set("stickIfOpen",!1)}),ca.flushSync(y)):y(),c||d?this.set("instantType",c?"click":"dismiss"):r.reason===vr?this.set("instantType","focus"):this.set("instantType",void 0)};static useStore(a,r){const{store:l,internalStore:c}=Y1(a,(d,p)=>new th(r,d,p));return h.useEffect(()=>c?.disposeEffect(),[c]),l}disposeEffect=()=>this.context.stickIfOpenTimeout.disposeEffect()}function Yv({props:t}){const{children:a,open:r,defaultOpen:l=!1,onOpenChange:c,onOpenChangeComplete:d,modal:p=!1,handle:x,triggerId:y,defaultTriggerId:m=null}=t,b=th.useStore(x?.store,{modal:p,open:l,openProp:r,activeTriggerId:m,triggerIdProp:y});V1(b,r,l,m),b.useControlledProp("openProp",r),b.useControlledProp("triggerIdProp",y);const g=b.useState("open"),S=b.useState("mounted"),j=b.useState("payload"),E=ma()!=null;b.useContextCallback("onOpenChange",c),b.useContextCallback("onOpenChangeComplete",d),q1(b,g),Dp(b);const{forceUnmount:w}=zp(g,b,()=>{b.update({stickIfOpen:!0,openChangeReason:null})});b.useSyncedValues({modal:p,nested:E}),h.useEffect(()=>{g||b.context.stickIfOpenTimeout.clear()},[b,g]);const C=h.useCallback(()=>{b.setOpen(!1,yt(hp))},[b]);h.useImperativeHandle(t.actionsRef,()=>({unmount:w,close:C}),[w,C]);const N=g||S,T=h.useMemo(()=>({store:b}),[b]);return o.jsxs(OS.Provider,{value:T,children:[N&&o.jsx(eA,{store:b,modal:p}),typeof a=="function"?a({payload:j}):a]})}function W3(t){return ii(!0)?o.jsx(Yv,{props:t}):o.jsx(T1,{children:o.jsx(Yv,{props:t})})}function eA({store:t,modal:a}){const r=t.useState("floatingRootContext"),l=_p(r,{outsidePressEvent:{mouse:a==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}}),c=l.reference??Ht,d=l.trigger??Ht,p=h.useMemo(()=>sa(Tu,l.floating),[l.floating]);return Lp(t,{activeTriggerProps:c,inactiveTriggerProps:d,popupProps:p}),null}const tA=300,nA=h.forwardRef(function(a,r){const{render:l,className:c,style:d,disabled:p=!1,nativeButton:x=!0,handle:y,payload:m,openOnHover:b=!1,delay:g=tA,closeDelay:S=0,id:j,...E}=a,w=ii(!0),C=y?.store??w?.store;if(!C)throw new Error(Tn(74));const N=Rr(j),T=C.useState("isTriggerActive",N),O=C.useState("floatingRootContext"),k=C.useState("isOpenedByTrigger",N),V=C.useState("triggerPopupId",N),M=h.useRef(null),{registerTrigger:B,isMountedByThisTrigger:R}=F1(N,M,C,{payload:m,disabled:p,openOnHover:b,closeDelay:S}),K=C.useState("openChangeReason"),Q=C.useState("stickIfOpen"),oe=C.useState("openMethod"),te=C.useState("focusManagerModal"),Z=Z1(O,{enabled:!p&&O!=null&&b&&(oe!=="touch"||K!==br),mouseOnly:!0,move:!1,handleClose:J1(),restMs:g,delay:{close:S},triggerElementRef:M,isActiveTrigger:T,isClosing:()=>C.select("transitionStatus")==="ending"}),ne=w1(O,{enabled:O!=null,stickIfOpen:Q}),U=cS(()=>C.select("open"),q=>{C.set("openMethod",q)}),_=C.useState("triggerProps",R),{getButtonProps:D,buttonRef:Y}=ai({disabled:p,native:x}),H={open(q){return q&&K===br?Cm.open(q):rC.open(q)}},{preFocusGuardRef:F,handlePreFocusGuardFocus:z,handleFocusTargetFocus:X}=dS(C,M),L=hn("button",a,{state:{disabled:p,open:k},ref:[Y,r,B,M],props:[ne.reference,Z,_,U,{[x1]:"",id:N,"aria-haspopup":"dialog","aria-expanded":k,"aria-controls":V},E,D],stateAttributesMapping:H});return R&&!te?o.jsxs(h.Fragment,{children:[o.jsx(Va,{ref:F,onFocus:z}),o.jsx(h.Fragment,{children:L},N),o.jsx(Va,{ref:C.context.triggerFocusTargetRef,onFocus:X})]}):o.jsx(h.Fragment,{children:L},N)}),RS=h.createContext(void 0);function sA(){const t=h.useContext(RS);if(t===void 0)throw new Error(Tn(45));return t}const aA=h.forwardRef(function(a,r){const{keepMounted:l=!1,...c}=a,{store:d}=ii();return d.useState("mounted")||l?o.jsx(RS.Provider,{value:l,children:o.jsx(wp,{ref:r,...c})}):null}),kS=h.createContext(void 0);function rA(){const t=h.useContext(kS);if(!t)throw new Error(Tn(46));return t}const oA=h.forwardRef(function(a,r){const{render:l,className:c,style:d,anchor:p,positionMethod:x="absolute",side:y="bottom",align:m="center",sideOffset:b=0,alignOffset:g=0,collisionBoundary:S="clipping-ancestors",collisionPadding:j=5,arrowPadding:E=5,sticky:w=!1,disableAnchorTracking:C=!1,collisionAvoidance:N=y1,...T}=a,{store:O}=ii(),k=sA(),V=Op(),M=O.useState("floatingRootContext"),B=O.useState("mounted"),R=O.useState("open"),K=O.useState("openChangeReason"),Q=O.useState("activeTriggerElement"),oe=O.useState("modal"),te=O.useState("openMethod"),Z=O.useState("positionerElement"),ne=O.useState("instantType"),U=O.useState("transitionStatus"),_=O.useState("hasViewport"),D=h.useRef(null),Y=bp(Z,!1,!1),H=aS({anchor:p,floatingRootContext:M,positionMethod:x,mounted:B,side:y,sideOffset:b,align:m,alignOffset:g,arrowPadding:E,collisionBoundary:S,collisionPadding:j,sticky:w,disableAnchorTracking:C,keepMounted:k,nodeId:V,collisionAvoidance:N,adaptiveOrigin:_?nS:void 0}),F=M.useState("domReferenceElement");Xe(()=>{const L=F,q=D.current;if(L&&(D.current=L),q&&L&&L!==q){O.set("instantType",void 0);const ee=new AbortController;return Y(()=>{O.set("instantType","trigger-change")},ee.signal),()=>{ee.abort()}}},[F,Y,O]),lS(R&&oe===!0&&K!==pn,te==="touch",Z,Q);const z=h.useCallback(L=>{O.set("positionerElement",L)},[O]),X={open:R,side:H.side,align:H.align,anchorHidden:H.anchorHidden,instant:ne},I=rS(a,X,{styles:H.positionerStyles,transitionStatus:U,props:T,refs:[r,z],hidden:!B,inert:!R});return o.jsxs(kS.Provider,{value:H,children:[B&&oe===!0&&K!==pn&&o.jsx(Fp,{ref:O.context.internalBackdropRef,inert:Vp(!R),cutout:Q}),o.jsx(E1,{id:V,children:I})]})}),lA=h.createContext(void 0);function iA(){const[t,a]=h.useState(0),r=We(()=>(a(c=>c+1),()=>{a(c=>Math.max(0,c-1))}));return{context:h.useMemo(()=>({register:r}),[r]),hasClosePart:t>0}}function cA(t){const{value:a,children:r}=t;return o.jsx(lA.Provider,{value:a,children:r})}const uA={...ri,...fu},dA=h.forwardRef(function(a,r){const{render:l,className:c,style:d,initialFocus:p,finalFocus:x,...y}=a,{store:m}=ii(),b=rA(),g=W1()!=null,{context:S,hasClosePart:j}=iA(),E=m.useState("open"),w=m.useState("openMethod"),C=m.useState("instantType"),N=m.useState("transitionStatus"),T=m.useState("popupProps"),O=m.useState("titleElementId"),k=m.useState("descriptionElementId"),V=m.useState("modal"),M=m.useState("mounted"),B=m.useState("openChangeReason"),R=m.useState("activeTriggerElement"),K=m.useState("floatingRootContext"),Q=K.useState("floatingId"),oe=m.useState("disabled"),te=m.useState("openOnHover"),Z=m.useState("closeDelay"),ne=y.id??Q;xu({open:E,ref:m.context.popupRef,onComplete(){E&&m.context.onOpenChangeComplete?.(!0)}}),Q1(K,{enabled:te&&!oe,closeDelay:Z});const U=p===void 0?H1(m.context.popupRef):p,_=V!==!1&&j;m.useSyncedValue("focusManagerModal",_);const D=h.useCallback(F=>{m.set("popupElement",F)},[m]),Y={open:E,side:b.side,align:b.align,instant:C,transitionStatus:N},H=hn("div",a,{state:Y,ref:[r,m.context.popupRef,D],props:[T,{id:ne,role:"dialog",...Tu,"aria-labelledby":O,"aria-describedby":k,onKeyDown(F){g&&Yp.has(F.key)&&F.stopPropagation()}},Pp(N),y],stateAttributesMapping:uA});return o.jsx(kp,{context:K,openInteractionType:w,modal:_,disabled:!M||B===pn,initialFocus:U,returnFocus:x,restoreFocus:"popup",previousFocusableElement:Ut(R)?R:void 0,nextFocusableElement:m.context.triggerFocusTargetRef,beforeContentFocusGuardRef:m.context.beforeContentFocusGuardRef,children:o.jsx(cA,{value:S,children:H})})});function nh({...t}){return o.jsx(W3,{"data-slot":"popover",...t})}function sh({...t}){return o.jsx(nA,{"data-slot":"popover-trigger",...t})}function ah({align:t="start",alignOffset:a=0,side:r="bottom",sideOffset:l=8,className:c,...d}){return o.jsx(aA,{children:o.jsx(oA,{className:"isolate z-50 outline-none",align:t,alignOffset:a,side:r,sideOffset:l,children:o.jsx(dA,{"data-slot":"popover-content",className:ge("z-50 min-w-64 origin-(--transform-origin) rounded-lg bg-popover p-3 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",c),...d})})})}const fA=100;function _S({value:t,valueName:a,excludeIds:r,onChange:l,placeholder:c="上级设定(选填)"}){const[d,p]=h.useState(!1),[x,y]=h.useState(null),[m,b]=h.useState(""),[g,S]=h.useState(!1),[j,E]=h.useState(!1);async function w(){S(!0),E(!1);try{const N=await Sn("setting",{q:m.trim()||void 0,limit:fA,sort:"name"});y(r&&r.length>0?N.items.filter(T=>!r.includes(T.id)):N.items)}catch{y(null),E(!0)}finally{S(!1)}}h.useEffect(()=>{d&&w()},[d]),h.useEffect(()=>{if(!d)return;const N=setTimeout(()=>{w()},300);return()=>clearTimeout(N)},[m,d]);const C=t?a??x?.find(N=>N.id===t)?.name??t:"";return o.jsxs(nh,{open:d,onOpenChange:p,children:[o.jsx(sh,{render:o.jsxs(ce,{variant:"outline",type:"button",className:ge("h-8 px-2 text-xs font-normal",!t&&"text-muted-foreground"),title:t?`上级设定:${C}`:c,children:[t?`上级:${C}`:c,o.jsx("span",{"aria-hidden":"true",className:"ml-1 text-muted-foreground",children:"▾"})]})}),o.jsxs(ah,{className:"flex w-72 flex-col gap-2 p-2",children:[o.jsx(Et,{value:m,onChange:N=>b(N.target.value),placeholder:"搜索设定名称…",className:"h-8 text-sm",autoFocus:!0}),o.jsx("div",{className:"flex max-h-56 flex-col gap-0.5 overflow-y-auto",children:g&&x===null?o.jsx("p",{className:"px-2 py-3 text-center text-xs text-muted-foreground",children:"加载中…"}):j?o.jsxs("div",{className:"flex items-center justify-between gap-2 px-2 py-3",children:[o.jsx("span",{className:"text-xs text-destructive",children:"列表加载失败"}),o.jsx(ce,{variant:"outline",type:"button",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>{w()},children:"重试"})]}):x!==null&&x.length===0?o.jsx("p",{className:"px-2 py-3 text-center text-xs text-muted-foreground",children:m?"没有匹配的设定":"还没有其他设定"}):x?.map(N=>{const T=typeof N.summary?.category=="string"?N.summary.category:"";return o.jsxs("button",{type:"button",onClick:()=>{l(N.id),p(!1)},className:ge("flex min-w-0 items-baseline gap-2 rounded-md px-2 py-1.5 text-left text-sm text-foreground hover:bg-muted hover:text-foreground",N.id===t&&"bg-muted/70"),children:[o.jsx("span",{className:"min-w-0 truncate",children:N.name}),T&&o.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:T})]},N.id)})})]})]})}function mA(t,a){const r=new Map;for(const y of t)r.set(y.id,y);const l=new Map,c=new Map;for(const y of a){l.set(y.childId,y.parentId);const m=c.get(y.parentId)??[];m.push(y.childId),c.set(y.parentId,m)}function d(y){const m=r.get(y);if(m===void 0)return null;const b={id:m.id,name:m.name,...typeof m.category=="string"&&m.category!==""?{category:m.category}:{},children:[]},g=c.get(y)??[];for(const S of g){const j=d(S);j!==null&&b.children.push(j)}return b}const p=[];let x=!1;for(const y of t){const m=l.get(y.id);m===void 0?p.push(d(y.id)):r.has(m)||(x=!0,p.push(d(y.id)))}return{roots:p,hasOrphanEdges:x}}function pA(t){const a=[];function r(l){if(l.children.length>0){a.push(l.id);for(const c of l.children)r(c)}}for(const l of t)r(l);return a}const Uc=200;function AS({node:t,depth:a,collapsedIds:r,onToggle:l}){const c=t.children.length>0,d=!r.has(t.id);return o.jsxs("li",{children:[o.jsxs("div",{className:"flex items-center gap-1.5 py-1",style:{paddingLeft:`${a*16}px`},children:[o.jsx("button",{type:"button","aria-label":c?d?"折叠":"展开":void 0,className:ge("shrink-0 rounded p-0.5 text-muted-foreground hover:bg-muted hover:text-foreground",!c&&"invisible"),onClick:()=>l(t.id),disabled:!c,children:o.jsx("svg",{viewBox:"0 0 16 16",className:ge("size-3.5 transition-transform",!d&&"-rotate-90"),fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:o.jsx("path",{d:"m6 4 4 4-4 4",strokeLinecap:"round",strokeLinejoin:"round"})})}),o.jsx("button",{type:"button",onClick:()=>Kt(`/entities/setting/${t.id}`),title:`打开《${t.name}》`,className:"min-w-0 truncate rounded-md px-1 py-0.5 text-sm text-foreground hover:bg-muted hover:text-foreground",children:t.name}),t.category&&o.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:t.category}),c&&o.jsxs("span",{className:"shrink-0 text-xs text-muted-foreground/70",children:[t.children.length," 个子设定"]})]}),c&&d&&o.jsx("ul",{children:t.children.map(p=>o.jsx(AS,{node:p,depth:a+1,collapsedIds:r,onToggle:l},p.id))})]})}function hA({reloadKey:t}){const[a,r]=h.useState(null),[l,c]=h.useState(!1),[d,p]=h.useState(!1),[x,y]=h.useState(!1),[m,b]=h.useState(!1),[g,S]=h.useState(0),[j,E]=h.useState(new Set);function w(O){E(k=>{const V=new Set(k);return V.has(O)?V.delete(O):V.add(O),V})}function C(){a!==null&&E(new Set(pA(a)))}function N(){E(new Set)}const T=a!==null&&a.length>0;return h.useEffect(()=>{let O=!1;return y(!0),b(!1),r(null),(async()=>{try{const[k,V]=await Promise.all([Sn("setting",{limit:Uc,sort:"name"}),Oo({source_type:"setting",target_type:"setting",relation_type:"belongs_to",depth:1})]);if(O)return;const M=V.relations.map(R=>({childId:R.sourceId,parentId:R.targetId})),B=mA(k.items,M);r(B.roots),p(B.hasOrphanEdges),c(k.total>Uc)}catch{O||b(!0),r(null)}finally{O||y(!1)}})(),()=>{O=!0}},[t,g]),m?o.jsxs("div",{className:"mt-3 flex items-center justify-center gap-3 rounded-md border border-border px-3 py-6 text-sm text-muted-foreground",children:["设定树加载失败",o.jsx(ce,{variant:"outline",type:"button",size:"sm",onClick:()=>S(O=>O+1),children:"重试"})]}):x&&a===null?o.jsx("div",{className:"mt-3 flex flex-col gap-1",children:Array.from({length:6},(O,k)=>o.jsx("div",{className:ge(jt,"h-7"),style:{marginLeft:`${k%3*16}px`}},k))}):a!==null&&a.length===0?o.jsx(Kn,{className:"mt-3",action:o.jsx(ce,{type:"button",onClick:()=>Kt("/entities/setting"),children:"去「设定」tab 新建"}),children:"还没有设定,先新建一个吧"}):o.jsxs("div",{className:"mt-3",children:[o.jsxs("div",{className:"mb-2 flex items-center gap-2",children:[o.jsx(ce,{variant:"outline",type:"button",size:"sm",disabled:!T,onClick:N,children:"全部展开"}),o.jsx(ce,{variant:"outline",type:"button",size:"sm",disabled:!T,onClick:C,children:"全部折叠"})]}),o.jsx("ul",{children:a?.map(O=>o.jsx(AS,{node:O,depth:0,collapsedIds:j,onToggle:w},O.id))}),(l||d)&&o.jsxs("p",{className:"mt-3 text-xs text-muted-foreground",children:[l?`设定数量超过 ${Uc},仅展示前 ${Uc} 个(可按名称搜索定位);`:"",d?"部分设定的上级未在展示范围内,已作为独立节点展示。":""]})]})}function su({id:t,options:a}){return a.length===0?null:o.jsx("datalist",{id:t,children:a.map(r=>o.jsx("option",{value:r},r))})}function fm(t){const a=new Set,r=[];for(const l of t)typeof l=="string"&&l!==""&&!a.has(l)&&(a.add(l),r.push(l));return r}function gA(t,a){const r=a.trim().toLowerCase();return r===""?[...t]:t.filter(l=>l.label.toLowerCase().includes(r))}function Pv({value:t,options:a,onChange:r,placeholder:l,ariaLabel:c,fallbackLabel:d}){const[p,x]=h.useState(!1),[y,m]=h.useState(""),g=a.find(w=>w.value===t)?.label??(t!==""?d??t:"");function S(w){x(w),w&&m("")}const j=gA(a,y);function E(w){if(w.key==="Enter"){if(j.length===0)return;r(j[0].value),x(!1)}else w.key==="Escape"&&x(!1)}return o.jsxs(nh,{open:p,onOpenChange:S,children:[o.jsx(sh,{render:o.jsxs("button",{type:"button","aria-label":c,className:ge("flex items-center rounded-md border border-border bg-background px-2 py-1 text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/50",g===""&&"text-muted-foreground"),children:[o.jsx("span",{className:"min-w-0 truncate",children:g===""?l:g}),o.jsx("span",{"aria-hidden":"true",className:"ml-1 shrink-0 text-muted-foreground",children:"▾"})]})}),o.jsxs(ah,{className:"flex w-64 flex-col gap-2 p-2",children:[o.jsx(Et,{value:y,onChange:w=>m(w.target.value),onKeyDown:E,placeholder:"搜索…","aria-label":`${c}搜索`,className:"h-8 text-sm",autoFocus:!0}),o.jsxs("div",{className:"flex max-h-56 flex-col gap-0.5 overflow-y-auto",children:[o.jsx("button",{type:"button",onClick:()=>{r(""),x(!1)},className:ge("flex min-w-0 items-center rounded-md px-2 py-1.5 text-left text-sm text-foreground hover:bg-muted hover:text-foreground",t===""&&"bg-muted/70"),children:l}),j.length===0?o.jsx("p",{className:"px-2 py-3 text-center text-xs text-muted-foreground",children:"无匹配选项"}):j.map(w=>o.jsx("button",{type:"button",onClick:()=>{r(w.value),x(!1)},className:ge("flex min-w-0 items-center rounded-md px-2 py-1.5 text-left text-sm text-foreground hover:bg-muted hover:text-foreground",w.value===t&&"bg-muted/70"),children:o.jsx("span",{className:"min-w-0 truncate",children:w.label})},w.value))]})]})]})}const No={character:"人物",setting:"设定",location:"地点",hook:"伏笔",event:"事件",timepoint:"时间点",reference:"参考资料"},Vv=[{value:"updated_at:desc",label:"更新时间(新→旧)",sort:"updated_at",order:"desc"},{value:"updated_at:asc",label:"更新时间(旧→新)",sort:"updated_at",order:"asc"},{value:"name:asc",label:"名称(A→Z)",sort:"name",order:"asc"},{value:"name:desc",label:"名称(Z→A)",sort:"name",order:"desc"},{value:"created_at:desc",label:"创建时间(新→旧)",sort:"created_at",order:"desc"},{value:"created_at:asc",label:"创建时间(旧→新)",sort:"created_at",order:"asc"}];function mm({type:t}){const a=t==="relations",r=t==="setting-tree",l=Co.includes(t)?t:"character",[c,d]=h.useState(null),[p,x]=h.useState(0),[y,m]=h.useState(!1),[b,g]=h.useState(null),[S,j]=h.useState(""),[E,w]=h.useState(""),[C,N]=h.useState(0),[T,O]=h.useState("updated_at"),[k,V]=h.useState("desc"),[M,B]=h.useState(""),[R,K]=h.useState([]),[Q,oe]=h.useState(""),[te,Z]=h.useState([]),[ne,U]=h.useState(0);_s(()=>U(fe=>fe+1));const[_,D]=h.useState(!1),[Y,H]=h.useState(""),[F,z]=h.useState(""),[X,I]=h.useState(null),[L,q]=h.useState(!1),[ee,pe]=h.useState(null),ae=T3[l],de=Dv[l],Ie=E3(p,_l),Ae=Math.floor(C/_l)+1,Ce=te.find(fe=>fe.id===Q)?.name,Be=fm(c?.map(fe=>fe.name)??[]),xe=de.key===""?[]:de.input==="tags"?fm((c??[]).flatMap(fe=>Array.isArray(fe.summary[de.key])?fe.summary[de.key]:[])):fm(c?.map(fe=>String(fe.summary[de.key]??""))??[]);h.useEffect(()=>{j(""),w(""),N(0),O("updated_at"),V("desc"),B(""),oe(""),Z([]),d(null),g(null),D(!1),pe(null)},[t]),h.useEffect(()=>{const fe=setTimeout(()=>{w(S.trim()),N(0)},300);return()=>clearTimeout(fe)},[S]),h.useEffect(()=>{if(a||r)return;let fe=!1;return m(!0),g(null),Sn(l,{q:E||void 0,offset:C,limit:_l,sort:T,order:k,tag:M||void 0,parent_id:Q||void 0}).then(Re=>{fe||(d(Re.items),x(Re.total))}).catch(Re=>{fe||(d(null),g(Re instanceof ke?Re.code:ot))}).finally(()=>{fe||m(!1)}),()=>{fe=!0}},[l,E,C,T,k,ne,a,r,M,Q]),h.useEffect(()=>{if(l!=="setting"||a||r){K([]),B(""),Z([]),oe("");return}let fe=!1;return Sn("setting",{limit:200,sort:"name"}).then(Re=>{if(fe)return;const Me=new Set;for(const J of Re.items)if(Array.isArray(J.summary.tags))for(const P of J.summary.tags)typeof P=="string"&&P!==""&&Me.add(P);K(Array.from(Me).sort()),Z(Re.items.map(J=>({id:J.id,name:J.name})))}).catch(()=>{}),()=>{fe=!0}},[l,a,r,ne]);function ue(fe){const Re=Vv.find(Me=>Me.value===fe);Re&&(O(Re.sort),V(Re.order),N(0))}function He(){H(""),z(""),pe(null),I(null),D(!0)}function _e(){D(!1),I(null)}async function ze(fe){fe.preventDefault();const Re=Y.trim();if(!Re){I("请输入名称");return}q(!0),I(null);try{const Me=Dv[l],J={};Me.key!==""&&F.trim()&&(Me.input==="tags"?J[Me.key]=F.split(/[,,]/).map(G=>G.trim()).filter(G=>G!==""):J[Me.key]=F.trim());const P=await Ql(l,{name:Re,data:J});if(Ee.getState().showToast(`已创建${No[l]}《${Re}》`),l==="setting"&&ee)try{await Pa({source_type:"setting",source_id:P.id,target_type:"setting",target_id:ee,relation_type:"belongs_to"})}catch{Ee.getState().showToast("已创建,但上级设定关联失败,可进详情页重新设置","error")}D(!1),U(G=>G+1)}catch(Me){I(Me instanceof ke?Me.message:"创建失败,请重试")}finally{q(!1)}}function Se(){j(""),w(""),N(0)}return o.jsxs("section",{children:[o.jsx("h1",{className:"mb-4 text-xl font-semibold",children:"实体"}),o.jsxs("div",{className:"flex flex-wrap items-center gap-3 border-b border-border pb-3",children:[o.jsxs("div",{className:"flex gap-1",children:[Co.map(fe=>o.jsx("button",{type:"button",onClick:()=>Kt(`/entities/${fe}`),className:ge("rounded-md border border-border px-3 py-1.5 text-sm",!a&&!r&&l===fe?"bg-foreground font-medium text-background":"text-muted-foreground hover:bg-muted hover:text-foreground"),children:No[fe]},fe)),o.jsx("button",{type:"button",onClick:()=>Kt("/entities/relations"),className:ge("rounded-md border border-border px-3 py-1.5 text-sm",a?"bg-foreground font-medium text-background":"text-muted-foreground hover:bg-muted hover:text-foreground"),children:"关联"}),o.jsx("button",{type:"button",onClick:()=>Kt("/entities/setting-tree"),className:ge("rounded-md border border-border px-3 py-1.5 text-sm",r?"bg-foreground font-medium text-background":"text-muted-foreground hover:bg-muted hover:text-foreground"),children:"设定树"})]}),o.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[!a&&!r&&o.jsx(Et,{value:S,onChange:fe=>j(fe.target.value),placeholder:`搜索${No[l]}名称…`,className:"w-52"}),!r&&o.jsx(ce,{type:"button",onClick:a?()=>D(!0):He,children:a?"+ 建立关联":"+ 新建"})]})]}),a?o.jsx(TS,{reloadKey:ne,onOpenCreate:()=>D(!0)}):r?o.jsx(hA,{reloadKey:ne}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"mt-3 mb-2 flex items-center gap-3",children:[o.jsxs("label",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:["排序:",o.jsx("select",{value:`${T}:${k}`,onChange:fe=>ue(fe.target.value),className:"rounded-md border border-border bg-background px-2 py-1 text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/50",children:Vv.map(fe=>o.jsx("option",{value:fe.value,children:fe.label},fe.value))})]}),l==="setting"&&o.jsxs("span",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:["上级设定:",o.jsx(Pv,{value:Q,options:te.map(fe=>({value:fe.id,label:fe.name})),fallbackLabel:"(已删除或不可见)",onChange:fe=>{oe(fe),N(0)},placeholder:"全部",ariaLabel:"上级设定筛选"})]}),l==="setting"&&o.jsxs("span",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:["标签:",o.jsx(Pv,{value:M,options:R.map(fe=>({value:fe,label:fe})),onChange:fe=>{B(fe),N(0)},placeholder:"全部",ariaLabel:"标签筛选"})]}),o.jsxs("span",{className:"ml-auto text-sm text-muted-foreground/70",children:["共 ",p," 个"]})]}),_&&o.jsxs("form",{id:"create-entity-row",onSubmit:ze,className:"mb-3 flex flex-wrap items-center gap-2 rounded-md border border-border bg-card px-3 py-2",children:[o.jsx(Et,{value:Y,onChange:fe=>H(fe.target.value),onKeyDown:fe=>{fe.key==="Escape"&&_e()},placeholder:l==="character"?"名称(如:张三)":"名称",maxLength:100,disabled:L,autoFocus:!0,"aria-label":"名称",list:`entity-create-name-${l}`,className:"w-48"}),o.jsx(su,{id:`entity-create-name-${l}`,options:Be}),de.key!==""&&(de.input==="select"?o.jsxs("select",{value:F,onChange:fe=>z(fe.target.value),disabled:L,"aria-label":de.label,className:"rounded-md border border-input bg-background px-2 py-1.5 text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/50",children:[o.jsxs("option",{value:"",children:[de.label,"(选填)"]}),de.options?.map(fe=>o.jsx("option",{value:fe,children:Ic(l,de.key,fe)},fe))]}):o.jsx(Et,{value:F,onChange:fe=>z(fe.target.value),placeholder:de.input==="tags"?`${de.label}(逗号分隔,如:势力,宗门)`:`${de.label}(选填)`,disabled:L,"aria-label":de.label,list:`entity-create-first-${l}`,className:de.input==="tags"?"w-56":"w-40"})),o.jsx(su,{id:`entity-create-first-${l}`,options:xe}),l==="setting"&&o.jsx(_S,{value:ee,onChange:pe}),o.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[o.jsx(ce,{variant:"outline",type:"button",size:"sm",onClick:_e,disabled:L,children:"取消"}),o.jsx(ce,{type:"submit",size:"sm",disabled:L,children:L?"创建中…":"创建"})]}),X&&o.jsx("p",{className:"w-full text-sm text-destructive",children:X})]}),b!==null&&o.jsxs("div",{className:"mb-3 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:[b===ot?"无法连接服务,请确认 ai-editor 服务已启动。":"列表加载失败,请重试。",o.jsx(ce,{variant:"outline",className:"ml-3",type:"button",onClick:()=>U(fe=>fe+1),children:"重试"})]}),y&&c===null&&b===null&&o.jsx("div",{className:"overflow-hidden rounded-md border border-border",children:Array.from({length:6},(fe,Re)=>o.jsxs("div",{className:"flex items-center gap-3 border-b border-border/50 px-3 py-3 last:border-0",children:[o.jsx("div",{className:ge(jt,"h-4 w-1/4")}),o.jsx("div",{className:ge(jt,"h-4 w-1/6")}),ae.key2&&o.jsx("div",{className:ge(jt,"h-4 w-1/6")}),ae.key3&&o.jsx("div",{className:ge(jt,"h-4 w-1/6")}),o.jsx("div",{className:ge(jt,"ml-auto h-4 w-16")})]},Re))}),!y&&c!==null&&c.length===0&&o.jsx(Kn,{className:"mt-3",action:E?o.jsx(ce,{variant:"outline",type:"button",onClick:Se,children:"清空搜索"}):Q?o.jsx(ce,{variant:"outline",type:"button",onClick:()=>{oe(""),N(0)},children:"清除上级筛选"}):o.jsxs(ce,{type:"button",onClick:He,children:["+ 新建",No[l]]}),children:E?`没有匹配「${E}」的${No[l]}`:Q?`《${Ce??"该上级"}》下暂无设定(含其所有层级的设定)`:`还没有${No[l]},新建一个`}),!y&&c!==null&&c.length>0&&o.jsx("div",{className:"overflow-hidden rounded-md border border-border",children:o.jsxs("table",{className:"w-full text-left text-sm",children:[o.jsx("thead",{children:o.jsxs("tr",{className:"border-b border-border bg-muted/50 text-xs text-muted-foreground/70",children:[o.jsx("th",{className:"px-3 py-2 font-normal",children:"名称"}),o.jsx("th",{className:"px-3 py-2 font-normal",children:ae.label1}),ae.key2&&o.jsx("th",{className:"px-3 py-2 font-normal",children:ae.label2}),ae.key3&&o.jsx("th",{className:"px-3 py-2 font-normal",children:ae.label3}),o.jsx("th",{className:"px-3 py-2 text-right font-normal",children:"更新时间"})]})}),o.jsx("tbody",{children:c.map(fe=>o.jsxs("tr",{className:"cursor-pointer border-b border-border/50 transition-colors last:border-0 hover:bg-muted",onClick:()=>Kt(`/entities/${l}/${fe.id}`),title:`打开《${fe.name}》`,children:[o.jsx("td",{className:"max-w-64 truncate px-3 py-2 font-medium text-foreground",children:fe.name}),o.jsx("td",{className:"max-w-40 truncate px-3 py-2 text-muted-foreground",children:Ic(l,ae.key1,fe.summary[ae.key1])}),ae.key2&&(ae.key2==="parent"?o.jsx("td",{className:"max-w-32 truncate px-3 py-2",children:fe.parentId?o.jsx("button",{type:"button",title:`打开上级设定《${Mv(fe)}》`,onClick:Re=>{Re.stopPropagation(),Kt(`/entities/setting/${fe.parentId}`)},className:"rounded-md border border-border px-1.5 py-0.5 text-xs text-foreground hover:bg-muted hover:text-foreground",children:Mv(fe)}):o.jsx("span",{className:"text-muted-foreground/70",children:"—"})}):o.jsx("td",{className:"max-w-40 truncate px-3 py-2 text-muted-foreground",children:Ic(l,ae.key2,fe.summary[ae.key2])})),ae.key3&&o.jsx("td",{className:"max-w-40 truncate px-3 py-2 text-muted-foreground",title:typeof fe.summary[ae.key3]=="string"?fe.summary[ae.key3]:void 0,children:Ic(l,ae.key3,fe.summary[ae.key3])}),o.jsx("td",{className:"px-3 py-2 text-right",children:o.jsx("span",{onClick:Re=>Re.stopPropagation(),className:"inline-flex",children:o.jsx(Lo,{focus:{focus_entity_type:l,focus_entity_id:fe.id},title:`带《${fe.name}》问 AI`})})}),o.jsx("td",{className:"px-3 py-2 text-right text-xs whitespace-nowrap text-muted-foreground/70",children:xs(fe.updatedAt)})]},fe.id))})]})}),!y&&c!==null&&c.length>0&&o.jsxs("div",{className:"mt-4 flex items-center justify-center gap-3 text-sm",children:[o.jsx("button",{type:"button",disabled:Ae<=1||y,className:"rounded-md border border-border px-3 py-1 text-muted-foreground hover:bg-muted hover:text-foreground disabled:opacity-40",onClick:()=>N((Ae-2)*_l),children:"‹ 上一页"}),o.jsxs("span",{className:"text-muted-foreground",children:["第 ",Ae," / ",Ie," 页"]}),o.jsx("button",{type:"button",disabled:Ae>=Ie||y,className:"rounded-md border border-border px-3 py-1 text-muted-foreground hover:bg-muted hover:text-foreground disabled:opacity-40",onClick:()=>N(Ae*_l),children:"下一页 ›"})]})]}),a&&_&&o.jsx(Jp,{source:null,onCreated:()=>U(fe=>fe+1),onClose:()=>D(!1)})]})}function xA({type:t,id:a,currentData:r,deltaCount:l}){const c=Le(T=>T.outline),d=Le(T=>T.config),p=Le(T=>T.loadOutline),[x,y]=h.useState(()=>{const T=Le.getState().config?.currentPosition??"",O=Le.getState().outline?.children??[];return T!==""&&oa(O).some(k=>k.id===T)?T:""}),[m,b]=h.useState(!1),[g,S]=h.useState(null),[j,E]=h.useState(null);h.useEffect(()=>{y(T=>{if(T!=="")return T;const O=d?.currentPosition??"";return O!==""&&oa(c?.children??[]).some(k=>k.id===O)?O:""})},[d?.currentPosition,c]);const w=oa(c?.children??[]),C=new Map(w.map(T=>[T.id,T.label]));async function N(){if(!(!x||m)){b(!0),E(null);try{const T=await JT({target_type:t,target_id:a,at_node_id:x});S(T)}catch(T){S(null),T instanceof ke&&T.code==="OUTLINE_NODE_NOT_FOUND"?E("该节点已不存在,请重新选择计算节点"):E(T instanceof ke?T.message:"无法连接服务,请确认 ai-editor 服务已启动")}finally{b(!1)}}}return o.jsxs("div",{className:"mb-4 rounded-md border border-border p-4",children:[o.jsxs("h2",{className:"mb-2 text-sm font-semibold text-foreground",children:["变更记录 · 状态预览",o.jsxs("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:[l," 条"]})]}),l===0?o.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无变更记录——实体当前状态即初始状态"}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"flex flex-wrap items-end gap-2",children:[o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx("span",{className:"text-xs text-muted-foreground",children:"计算节点(到达该节点时的累积状态)"}),c===null?o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"text-xs text-muted-foreground",children:"大纲未加载"}),o.jsx(ce,{variant:"outline",size:"xs",type:"button",onClick:()=>{p()},children:"加载大纲"})]}):o.jsxs("select",{value:x,onChange:T=>y(T.target.value),"aria-label":"计算节点",className:ge("min-w-56 rounded-md border border-border bg-card px-2 py-1 text-sm text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",x===""&&"text-muted-foreground"),children:[o.jsx("option",{value:"",children:"请选择大纲节点"}),w.map(T=>o.jsxs("option",{value:T.id,children:[" ".repeat(T.depth),T.label]},T.id))]})]}),o.jsx(ce,{variant:"outline",size:"sm",type:"button",disabled:!x||m,onClick:()=>{N()},children:m?"计算中…":"计算"})]}),d?.currentPosition==null&&o.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"未设置当前位置,请手动选择计算节点"}),j!==null&&o.jsx("div",{className:"mt-3 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:j}),m&&o.jsxs("div",{className:"mt-3 space-y-2",children:[o.jsx("div",{className:"h-4 w-2/3 animate-pulse rounded bg-muted"}),o.jsx("div",{className:"h-4 w-1/2 animate-pulse rounded bg-muted"}),o.jsx("div",{className:"h-16 animate-pulse rounded bg-muted/60"})]}),!m&&g!==null&&o.jsx(yA,{result:g,currentData:r,nodeTitles:C})]})]})}function yA({result:t,currentData:a,nodeTitles:r}){const l=A3(a,t.state),c=r.get(t.atNodeId)??t.atNodeId;return o.jsxs("div",{className:"mt-3 space-y-3",children:[t.conflicts.length>0&&o.jsxs("div",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2",children:[o.jsxs("div",{className:"flex items-center gap-1.5 text-sm font-medium text-destructive",children:[o.jsx(Jm,{className:"size-3.5 shrink-0"}),"发现 ",t.conflicts.length," 处状态冲突"]}),o.jsx("p",{className:"mt-0.5 text-xs text-destructive/90",children:"手动编辑的数据与变更记录不一致,以下变更未应用(可直接修改当前数据,或调整变更记录):"}),o.jsx("ul",{className:"mt-1 space-y-0.5",children:t.conflicts.map((d,p)=>o.jsxs("li",{className:"text-xs text-destructive",children:[d.field,":记录应为 ",ls(d.expected),",实际为"," ",ls(d.actual)]},p))})]}),o.jsxs("div",{children:[o.jsxs("h3",{className:"mb-1.5 text-xs font-medium text-muted-foreground",children:["状态差异(相对当前数据 · 到达《",c,"》",l.length>0?`,${l.length} 处`:"",")"]}),l.length===0?o.jsx("p",{className:"text-xs text-muted-foreground",children:"计算状态与当前数据一致"}):o.jsx("ul",{className:"space-y-1",children:l.map(d=>o.jsxs("li",{className:"flex items-baseline gap-2 text-xs",children:[o.jsx("span",{className:"shrink-0 font-medium text-foreground",children:d.field}),o.jsxs("span",{className:"text-muted-foreground",children:[d.from===void 0?"(无)":ls(d.from)," →"," ",d.to===void 0?"(已移除)":ls(d.to)]})]},d.field))})]}),o.jsxs("div",{children:[o.jsxs("h3",{className:"mb-1.5 text-xs font-medium text-muted-foreground",children:["应用的变更记录(",t.appliedDeltas.length,")"]}),t.appliedDeltas.length===0?o.jsx("p",{className:"text-xs text-muted-foreground",children:"到达该节点前没有变更被应用"}):o.jsx("ul",{className:"divide-y divide-border/70 rounded-md border border-border",children:t.appliedDeltas.map((d,p)=>o.jsxs("li",{className:"px-3 py-2",children:[o.jsxs("div",{className:"flex flex-wrap items-baseline gap-2",children:[o.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-foreground",title:d.description,children:d.description}),o.jsxs("span",{className:"shrink-0 text-xs text-muted-foreground",children:["《",r.get(d.nodeId)??d.nodeId,"》"]})]}),d.skipped!==void 0&&d.skipped.length>0&&o.jsx("ul",{className:"mt-1 space-y-0.5",children:d.skipped.map(x=>o.jsxs("li",{className:"text-xs text-destructive",children:[x.field,":记录应为 ",ls(x.expected),",实际"," ",ls(x.actual),"(已跳过)"]},x.index))}),o.jsx("div",{className:"mt-1.5",children:o.jsx(wS,{changes:d.changes,skipped:d.skipped?.map(x=>x.index)})})]},p))})]})]})}function bA(t,a){return a<0||a>=t.length?null:a<t.length-1?{append:!1,focusIndex:a+1}:t[a].trim()!==""?{append:!0,focusIndex:t.length}:null}function vA(t,a,r){if(a===r)return[...t];if(a<0||a>=t.length||r<0||r>=t.length)return[...t];const l=[...t],[c]=l.splice(a,1);return l.splice(r,0,c),l}const SA={character:"人物",setting:"设定",location:"地点",hook:"伏笔",event:"事件",timepoint:"时间点",reference:"参考资料"};function Al(t,a){const r=t[a];return r==null?"":String(r)}function NA({values:t,onChange:a,placeholder:r,suggestions:l,quickTags:c}){const d=h.useRef([]),[p,x]=h.useState(null),[y,m]=h.useState(null);return o.jsxs("div",{className:"flex flex-col gap-1.5",children:[t.map((b,g)=>o.jsxs("div",{className:ge("flex items-center gap-1.5 rounded-md px-0.5 py-0.5 transition-colors",p===g&&"opacity-40",y===g&&p!==null&&p!==g&&"bg-muted/60 ring-1 ring-ring"),onDragOver:S=>{p!==null&&(S.preventDefault(),S.dataTransfer.dropEffect="move",y!==g&&m(g))},onDrop:S=>{p!==null&&(S.preventDefault(),p!==g&&a(vA(t,p,g)),x(null),m(null))},children:[o.jsx("button",{type:"button",draggable:!0,title:"拖拽排序","aria-label":"拖拽排序",className:"shrink-0 cursor-grab rounded p-0.5 text-muted-foreground hover:bg-muted hover:text-foreground active:cursor-grabbing",onDragStart:S=>{x(g),S.dataTransfer.effectAllowed="move",S.dataTransfer.setData("text/plain",String(g))},onDragEnd:()=>{x(null),m(null)},children:o.jsx(l0,{className:"size-4"})}),o.jsx(Et,{value:b,onChange:S=>{const j=[...t];j[g]=S.target.value,a(j)},ref:S=>{d.current[g]=S},onKeyDown:S=>{if(S.key!=="Enter")return;S.preventDefault();const j=bA(t,g);j&&(j.append&&a([...t,""]),requestAnimationFrame(()=>d.current[j.focusIndex]?.focus()))},placeholder:r,list:l&&l.length>0?"entity-tags-suggestions":void 0,className:"h-8 flex-1 text-sm"}),o.jsx(ce,{variant:"outline",type:"button",className:"h-8 px-2 text-xs",onClick:()=>a(t.filter((S,j)=>j!==g)),children:"删除"})]},g)),o.jsx(ce,{variant:"outline",type:"button",className:"h-8 self-start px-2 text-xs",onClick:()=>a([...t,""]),children:"+ 添加"}),c&&c.length>0&&o.jsxs("div",{className:"flex flex-wrap items-center gap-1",children:[o.jsx("span",{className:"text-xs text-muted-foreground",children:"已有标签:"}),c.filter(b=>!t.includes(b)).map(b=>o.jsx("button",{type:"button",onClick:()=>a([...t,b]),className:"rounded-md border border-border px-1.5 py-0.5 text-xs text-foreground hover:bg-muted hover:text-foreground",children:b},b))]}),l&&l.length>0&&o.jsx(su,{id:"entity-tags-suggestions",options:l})]})}function jA({value:t,onChange:a}){const[r,l]=h.useState(()=>Object.entries(t??{}).map(([d,p])=>({key:d,value:String(p??"")})));h.useEffect(()=>{l(Object.entries(t??{}).map(([d,p])=>({key:d,value:String(p??"")})))},[t]);function c(d){l(d);const p={};for(const x of d)x.key.trim()&&(p[x.key.trim()]=x.value);a(p)}return o.jsxs("div",{className:"flex flex-col gap-1.5",children:[r.map((d,p)=>o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx(Et,{value:d.key,onChange:x=>c(r.map((y,m)=>m===p?{...y,key:x.target.value}:y)),placeholder:"键",className:"h-8 w-28 text-sm"}),o.jsx(Et,{value:d.value,onChange:x=>c(r.map((y,m)=>m===p?{...y,value:x.target.value}:y)),placeholder:"值",className:"h-8 flex-1 text-sm"}),o.jsx(ce,{variant:"outline",type:"button",className:"h-8 px-2 text-xs",onClick:()=>c(r.filter((x,y)=>y!==p)),children:"删除"})]},p)),o.jsx(ce,{variant:"outline",type:"button",className:"h-8 self-start px-2 text-xs",onClick:()=>c([...r,{key:"",value:""}]),children:"+ 添加字段"})]})}function EA({type:t,id:a}){const r=t,l=Ee(I=>I.setCurrentFocus);h.useEffect(()=>{l({focus_entity_type:r,focus_entity_id:a})},[r,a,l]);const[c,d]=h.useState(null),[p,x]=h.useState(!1),[y,m]=h.useState(!1),[b,g]=h.useState(null),[S,j]=h.useState(null),[E,w]=h.useState(!1),[C,N]=h.useState(null),[T,O]=h.useState(!1),[k,V]=h.useState(null),[M,B]=h.useState(!1),[R,K]=h.useState(!1),[Q,oe]=h.useState(null),[te,Z]=h.useState([]);h.useEffect(()=>{if(r!=="setting"){Z([]);return}let I=!1;return Sn("setting",{limit:200}).then(L=>{if(I)return;const q=new Set;for(const ee of L.items)if(Array.isArray(ee.summary.tags))for(const pe of ee.summary.tags)typeof pe=="string"&&pe!==""&&q.add(pe);Z(Array.from(q).sort())}).catch(()=>{}),()=>{I=!0}},[r]);const ne=Qp(r);async function U(){x(!0),g(null),m(!1);try{const I=await ta(r,a);d(I),j(JSON.parse(JSON.stringify(I.data)))}catch(I){d(null),j(null),I instanceof ke&&I.code==="ENTITY_NOT_FOUND"?m(!0):g(I instanceof ke?I.code:ot)}finally{x(!1)}}h.useEffect(()=>{U()},[r,a]),_s(()=>{U()});async function _(){if(!c||!S||E)return;const I=Zp(c.data,S);if(!I){Ee.getState().showToast("没有变更");return}w(!0),N(null);try{await la(r,a,{data:I}),Ee.getState().showToast("已保存"),await U()}catch(L){if(L instanceof ke&&L.code==="ENTITY_NOT_FOUND"){m(!0);return}N(L instanceof ke?L.message:"保存失败,请重试")}finally{w(!1)}}function D(I,L){j(q=>q&&{...q,[I]:L})}async function Y(){if(c)try{const I=await Do(r,a),L=[];I.cascaded.relations>0&&L.push(`${I.cascaded.relations} 条关联`),I.cascaded.deltas>0&&L.push(`${I.cascaded.deltas} 条变更记录`),Ee.getState().showToast(`已移入回收站,可随时还原${L.length>0?`(含 ${L.join("、")})`:""}`),Kt(`/entities/${r}`)}catch(I){Ee.getState().showToast(I instanceof ke?I.message:"删除失败,请重试","error")}}async function H(){if(k)try{await Yl(k.id),Ee.getState().showToast("已删除关系"),V(null),await U()}catch(I){throw I}}async function F(I){if(!c||R)return;const L=cm(c.relations,a).parent;if(I!==L?.parentId){K(!0),oe(null);try{await Pa({source_type:"setting",source_id:a,target_type:"setting",target_id:I,relation_type:"belongs_to"}),L&&await Yl(L.relationId),Ee.getState().showToast(L?"已修改上级设定":"已设置上级设定"),await U()}catch(q){oe(q instanceof ke?q.message:"修改上级失败,请重试")}finally{K(!1)}}}async function z(){if(!c||R)return;const I=cm(c.relations,a).parent;if(I){K(!0),oe(null);try{await Yl(I.relationId),Ee.getState().showToast("已清除上级设定"),await U()}catch(L){oe(L instanceof ke?L.message:"清除上级失败,请重试")}finally{K(!1)}}}function X(I,L){return(L==="source"?I.sourceId:I.targetId)===a?c?.name??"本实体":(L==="source"?I.sourceName:I.targetName)??(L==="source"?I.sourceId:I.targetId)}return y?o.jsx("section",{children:o.jsx(Kn,{padding:"lg",action:o.jsxs("div",{className:"flex justify-center gap-2",children:[o.jsx("a",{href:"#/trash",className:"rounded-md border border-border px-4 py-1.5 text-sm text-muted-foreground hover:bg-muted",children:"去回收站"}),o.jsx(ce,{variant:"outline",type:"button",onClick:()=>Kt(`/entities/${r}`),children:"返回列表"})]}),children:"该实体不存在或已被删除"})}):o.jsxs("section",{children:[o.jsxs("div",{className:"mb-1 flex items-center gap-3",children:[o.jsx(eh,{items:[{label:"实体",href:"/entities/character"},{label:SA[r],href:`/entities/${r}`},{label:c?.name??"…"}]}),o.jsx("h1",{className:"min-w-0 truncate text-xl font-semibold",children:c?.name??"…"}),o.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[o.jsx(ce,{variant:"outline",type:"button",onClick:()=>{_()},disabled:!c||E,children:E?"保存中…":"保存"}),o.jsx(ce,{variant:"outline",type:"button",disabled:!c,className:"text-destructive hover:bg-destructive/10",onClick:()=>{Y()},children:"移入回收站"})]})]}),c&&o.jsxs("p",{className:"mb-4 text-xs text-muted-foreground",children:["创建于 ",xs(c.createdAt)," · 更新于 ",xs(c.updatedAt)," ·"," ",o.jsxs("button",{type:"button",onClick:()=>B(I=>!I),title:"展开状态预览:计算该实体在任意大纲节点处的累积状态",className:"rounded-md border border-border px-1.5 py-0.5 text-muted-foreground hover:bg-muted hover:text-foreground",children:["变更记录 ",c.deltaCount," 条"]})]}),c&&M&&o.jsx(xA,{type:r,id:a,currentData:c.data,deltaCount:c.deltaCount}),p&&!c&&o.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[o.jsx("div",{className:"space-y-3 rounded-md border border-border p-4",children:Array.from({length:5},(I,L)=>o.jsx("div",{className:ge(jt,"h-9")},L))}),o.jsx("div",{className:"space-y-3 rounded-md border border-border p-4",children:Array.from({length:3},(I,L)=>o.jsx("div",{className:ge(jt,"h-9")},L))})]}),!p&&!c&&b!==null&&o.jsxs("div",{className:"rounded-md border border-border p-4 text-sm text-muted-foreground",children:[b===ot?"无法连接服务,请确认 ai-editor 服务已启动。":"详情加载失败,请重试。",o.jsx(ce,{variant:"outline",className:"ml-3",type:"button",onClick:()=>{U()},children:"重试"})]}),c&&S&&o.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[o.jsxs("div",{className:"rounded-md border border-border p-4",children:[o.jsx("h2",{className:"mb-3 text-sm font-semibold text-foreground",children:"基础信息"}),o.jsxs("div",{className:"flex flex-col gap-3",children:[ne.map(I=>o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:I.label}),o.jsx(TA,{field:I,value:S[I.key],onChange:L=>D(I.key,L),tagPool:r==="setting"?te:void 0})]},I.key)),"custom_fields"in c.data&&o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"自定义字段"}),o.jsx(jA,{value:S.custom_fields,onChange:I=>D("custom_fields",I)})]})]}),C&&o.jsx("p",{className:"mt-3 text-sm text-destructive",children:C})]}),o.jsxs("div",{className:"rounded-md border border-border p-4",children:[o.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[o.jsx("h2",{className:"text-sm font-semibold text-foreground",children:"关联"}),o.jsx(ce,{variant:"outline",type:"button",className:"h-8 px-2 text-xs",onClick:()=>O(!0),children:"+ 新增关联"})]}),r==="setting"&&(()=>{const I=cm(c.relations,a);return o.jsxs("div",{className:"mb-4 border-b border-border/50 pb-4",children:[o.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[o.jsx("h3",{className:"text-sm font-semibold text-foreground",children:"层级(设定父子)"}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(_S,{value:I.parent?.parentId??null,valueName:I.parent?.parentName,excludeIds:[a],onChange:L=>{L&&F(L)},placeholder:"设置上级"}),I.parent&&o.jsx(ce,{variant:"outline",type:"button",className:"h-8 px-2 text-xs text-destructive hover:bg-destructive/10",disabled:R,onClick:()=>{z()},children:"清除"})]})]}),Q&&o.jsx("p",{className:"mb-2 text-sm text-destructive",children:Q}),o.jsxs("div",{className:"flex flex-col gap-1.5 text-sm",children:[o.jsxs("span",{className:"text-muted-foreground",children:["上级:",I.parent?o.jsx("button",{type:"button",title:"打开上级设定",className:"ml-1 rounded-md border border-border px-1.5 py-0.5 text-foreground hover:bg-muted hover:text-foreground",onClick:()=>Kt(`/entities/setting/${I.parent.parentId}`),children:I.parent.parentName??I.parent.parentId}):o.jsx("span",{className:"ml-1 text-muted-foreground/70",children:"(独立设定——暂无上级)"})]}),o.jsxs("span",{className:"text-muted-foreground",children:["子设定:",I.children.length===0?o.jsx("span",{className:"ml-1 text-muted-foreground/70",children:"(无)"}):I.children.map(L=>o.jsx("button",{type:"button",title:"打开子设定",className:"ml-1 rounded-md border border-border px-1.5 py-0.5 text-foreground hover:bg-muted hover:text-foreground",onClick:()=>Kt(`/entities/setting/${L.childId}`),children:L.childName??L.childId},L.relationId))]})]})]})})(),(()=>{const I=r==="setting"?c.relations.filter(L=>!(L.relationType==="belongs_to"&&L.sourceType==="setting"&&L.targetType==="setting")):c.relations;return I.length===0?o.jsx("p",{className:"py-6 text-center text-sm text-muted-foreground/70",children:r==="setting"?"暂无其他关联,新增一个":"暂无关联,新增一个"}):o.jsx("ul",{className:"divide-y divide-border/50",children:I.map(L=>{const q=L.sourceId===a,ee=X(L,"source"),pe=X(L,"target");return o.jsxs("li",{className:"flex items-center gap-2 py-2 text-sm",children:[o.jsx("span",{className:"max-w-28 min-w-0 truncate text-foreground",children:ee}),o.jsxs("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:[gr(L.relationType)," ",q?"→":"←"]}),o.jsx("span",{className:"min-w-0 flex-1 truncate text-foreground",children:pe}),o.jsx(ce,{variant:"outline",type:"button",className:"h-7 shrink-0 px-2 text-xs text-destructive hover:bg-destructive/10",onClick:()=>V(L),children:"删除"})]},L.id)})})})()]})]}),T&&o.jsx(Jp,{source:{type:r,id:a,name:c?.name??""},onCreated:U,onClose:()=>O(!1)}),k&&o.jsx(zo,{title:"删除关系",description:`删除关系「${X(k,"source")} ${gr(k.relationType)} ${X(k,"target")}」?物理删除不可恢复,可重新建立。`,confirmLabel:"删除",danger:!0,onConfirm:H,onClose:()=>V(null)})]})}function TA({field:t,value:a,onChange:r,tagPool:l}){switch(t.control){case"textarea":return o.jsx("textarea",{value:Al({[t.key]:a},t.key),onChange:c=>r(c.target.value),rows:3,className:ge(Bt,"w-full")});case"number":return o.jsx(Et,{type:"number",value:Al({[t.key]:a},t.key),onChange:c=>r(c.target.value===""?void 0:Number(c.target.value)),className:"h-8 text-sm"});case"tags":return o.jsx(NA,{values:Array.isArray(a)?a:[],onChange:r,placeholder:"输入后回车添加下一项",suggestions:t.key==="tags"?l:void 0,quickTags:t.key==="tags"?l:void 0});case"select":return o.jsx("select",{value:Al({[t.key]:a},t.key),onChange:c=>r(c.target.value),className:ge(Bt,"w-full"),children:t.options?.map(c=>o.jsx("option",{value:c,children:t.optionsLabels?.[c]??c},c))});case"toggle":return o.jsx("input",{type:"checkbox",checked:a===!0,onChange:c=>r(c.target.checked),className:"h-4 w-4 accent-accent-foreground"});case"outline-node":return o.jsx(wA,{value:Al({[t.key]:a},t.key),onChange:r});default:return o.jsx(Et,{value:Al({[t.key]:a},t.key),onChange:c=>r(c.target.value),className:"h-8 text-sm"})}}function wA({value:t,onChange:a}){const r=Le(c=>c.outline),l=oa(r?.children??[]);return o.jsxs("select",{value:t,onChange:c=>a(c.target.value===""?null:c.target.value),className:ge(ge(Bt,"w-full"),t===""&&"text-muted-foreground/70"),children:[o.jsx("option",{value:"",children:"未设置"}),l.map(c=>o.jsxs("option",{value:c.id,children:[" ".repeat(c.depth),c.label]},c.id))]})}function CA(t){return t==="resolved"?"resolved":t==="abandoned"?"abandoned":"active"}function OA(t){const a={active:[],resolved:[],abandoned:[]};for(const r of t)a[CA(r.summary.status)].push(r);return a}function Ya(t,a){return t.filter(r=>r.relationType===a)}function MS(t,a){return Ya(t,"depends_on").filter(r=>r.sourceId===a).map(r=>r.targetName??r.targetId)}function RA(t,a){return Ya(t,"depends_on").filter(r=>r.targetId===a).map(r=>r.sourceName??r.sourceId)}function Fv(t,a){return RA(t,a).length}function kA(t,a){return Ya(t,"involves").map(r=>r.sourceId===a?r.targetName??r.targetId:r.sourceName??r.sourceId)}const _A=3;function AA(t){const a=t.maxDepth??_A,r=[],l=new Set([t.startHookId]),c=[{hookId:t.startHookId,depth:0}];for(;c.length>0;){const{hookId:d,depth:p}=c.shift();if(r.push({hookId:d,name:t.names.get(d)??d,depth:p}),!(p>=a))for(const x of t.depsOf.get(d)??[])x.relationType!=="depends_on"||x.sourceId!==d||l.has(x.targetId)||(l.add(x.targetId),c.push({hookId:x.targetId,depth:p+1}))}return r}function DS(t,a){if(!t)return!1;const r=[...t.children];for(;r.length>0;){const l=r.pop();if(l.id===a)return l.deleted!==!0;l.type!=="scene"&&l.children&&r.push(...l.children)}return!1}function MA(t){if(!t)return null;let a=null;const r=l=>{if(l.deleted!==!0&&(a=l.id,l.type!=="scene"&&l.children))for(const c of l.children)r(c)};for(const l of t.children)r(l);return a}function DA(t,a){const r=t?.currentPosition;return r!=null&&r!==""&&DS(a,r)?r:MA(a)}const zS={advance:"progressing",resolve:"resolved",abandon:"abandoned"},zA={advance:"advances",resolve:"resolves"};function qv(t){const a=t.status;return typeof a=="string"&&a!==""?a:"planted"}function LS(t,a){return{field:"status",op:"update",from:t,to:a}}function LA(t,a,r){return{source_type:"outline_node",source_id:r,target_type:"hook",target_id:a,relation_type:zA[t]}}function IA(t,a){return{source_type:"outline_node",source_id:a,target_type:"hook",target_id:t,relation_type:"plants"}}function IS(t){return{status:t}}async function BA(t){const a=zS[t.kind];await rp({node_id:t.nodeId,target_type:"hook",target_id:t.hookId,changes:[LS(t.fromStatus,a)],description:t.description});try{await Pa(LA(t.kind,t.hookId,t.nodeId))}catch(r){if(!(r instanceof ke&&r.code==="RELATION_EXISTS"))throw r}await la("hook",t.hookId,{data:IS(a)})}async function UA(t){await rp({node_id:t.nodeId,target_type:"hook",target_id:t.hookId,changes:[LS(t.fromStatus,"abandoned")],description:t.description}),await la("hook",t.hookId,{data:IS("abandoned")})}const pm={advance:"推进",resolve:"回收",abandon:"废弃"};function HA(t){return t==="resolved"||t==="abandoned"}function Ml(t,a){const r=t[a];return r==null?"":String(r)}function YA(){const[t,a]=h.useState(null),[r,l]=h.useState(!1),[c,d]=h.useState(null),[p,x]=h.useState(0);_s(()=>x(re=>re+1));const[y,m]=h.useState([]),[b,g]=h.useState(!1),[S,j]=h.useState(null),[E,w]=h.useState(!1),[C,N]=h.useState(null),[T,O]=h.useState(null),[k,V]=h.useState("advance"),[M,B]=h.useState(""),[R,K]=h.useState(""),[Q,oe]=h.useState(null),[te,Z]=h.useState(!1),[ne,U]=h.useState(null),[_,D]=h.useState(null),[Y,H]=h.useState(null),[F,z]=h.useState(!1),[X,I]=h.useState(!1),[L,q]=h.useState(""),[ee,pe]=h.useState({}),[ae,de]=h.useState(""),[Ie,Ae]=h.useState(null),[Ce,Be]=h.useState(!1),[xe,ue]=h.useState({}),He=Le(re=>re.config),_e=Le(re=>re.outline),ze=oa(_e?.children??[]),Se=t===null?null:OA(t);h.useEffect(()=>{let re=!1;return l(!0),d(null),g(!1),ue({}),Sn("hook",{}).then(Oe=>{re||a(Oe.items)}).catch(Oe=>{re||(a(null),d(Oe instanceof ke?Oe.code:ot))}),Oo({source_type:"hook",relation_type:"depends_on",depth:1}).then(Oe=>{re||m(Oe.relations)}).catch(()=>{re||g(!0)}).finally(()=>{re||l(!1)}),()=>{re=!0}},[p]),h.useEffect(()=>{Le.getState().outline===null&&Le.getState().config!==null&&Le.getState().loadOutline()},[]);async function fe(re){j(null),w(!0),N(null);try{j(await ta("hook",re.id))}catch(Oe){N(Oe instanceof ke?Oe.message:"详情加载失败,请重试")}finally{w(!1)}}async function Re(re,Oe){O(null),oe(null),K("");try{const Ue=await ta("hook",Oe.id),Qe=Le.getState().config?.currentPosition,ht=Qe!=null&&Qe!==""&&DS(_e,Qe)?Qe:"";B(ht),V(re),O(Ue)}catch{Ee.getState().showToast("无法读取伏笔状态,请重试","error")}}async function Me(){const re=T;if(!re||te)return;const Oe=k;Z(!0),oe(null);try{if(Oe==="abandon"){const Ue=DA(He,_e);if(Ue===null){oe("大纲为空,无法记录废弃变更");return}await UA({hookId:re.id,fromStatus:qv(re.data),nodeId:Ue,description:R.trim()})}else{if(M===""){oe("请选择大纲节点");return}await BA({kind:Oe,hookId:re.id,fromStatus:qv(re.data),nodeId:M,description:R.trim()})}Ee.getState().showToast(`已${pm[Oe]}`),O(null),x(Ue=>Ue+1)}catch(Ue){oe(Ue instanceof ke?Ue.message:"操作失败,请重试")}finally{Z(!1)}}async function J(re){U(null),H(null);try{const Oe=await ta("hook",re.id);U(Oe),D(JSON.parse(JSON.stringify(Oe.data)))}catch{Ee.getState().showToast("无法读取伏笔数据,请重试","error")}}async function P(){if(!ne||!_||F)return;const re=Zp(ne.data,_);if(!re){Ee.getState().showToast("没有变更"),U(null);return}z(!0),H(null);try{await la("hook",ne.id,{data:re}),Ee.getState().showToast("已保存"),U(null),x(Oe=>Oe+1)}catch(Oe){H(Oe instanceof ke?Oe.message:"保存失败,请重试")}finally{z(!1)}}async function G(re){re.preventDefault();const Oe=L.trim();if(!Oe){Ae("请输入名称");return}Be(!0),Ae(null);try{const Ue=await Ql("hook",{name:Oe,data:ee});if(ae!=="")try{await Pa(IA(Ue.id,ae))}catch(Qe){Ee.getState().showToast(`已创建伏笔《${Oe}》,但埋点关联失败:${Qe instanceof ke?Qe.message:"未知错误"}`,"error"),I(!1),x(ht=>ht+1);return}Ee.getState().showToast(`已创建伏笔《${Oe}》`),I(!1),q(""),pe({}),de(""),x(Qe=>Qe+1)}catch(Ue){Ae(Ue instanceof ke?Ue.message:"创建失败,请重试")}finally{Be(!1)}}async function Te(re){try{const Oe=await Do("hook",re.id),Ue=[];Oe.cascaded.relations>0&&Ue.push(`${Oe.cascaded.relations} 条关联`),Oe.cascaded.deltas>0&&Ue.push(`${Oe.cascaded.deltas} 条变更记录`),Ee.getState().showToast(`已移入回收站,可随时还原${Ue.length>0?`(含 ${Ue.join("、")})`:""}`),x(Qe=>Qe+1)}catch(Oe){Ee.getState().showToast(Oe instanceof ke?Oe.message:"删除失败,请重试","error")}}async function ye(re){if(xe[re.id]){ue(Oe=>{const Ue={...Oe};return delete Ue[re.id],Ue});return}ue(Oe=>({...Oe,[re.id]:{status:"loading",nodes:[]}}));try{const Oe=new Map,Ue=new Map,Qe=[{id:re.id,depth:0}],ht=new Set;for(;Qe.length>0;){const{id:dt,depth:It}=Qe.shift();if(ht.has(dt))continue;ht.add(dt);const Tt=await ta("hook",dt);Ue.set(dt,Tt.name);const Yt=Ya(Tt.relations,"depends_on").filter(we=>we.sourceId===dt);if(Oe.set(dt,Yt),!(It>=2))for(const we of Yt)Ue.has(we.targetId)||Ue.set(we.targetId,we.targetName??we.targetId),Qe.push({id:we.targetId,depth:It+1})}const Dt=AA({startHookId:re.id,depsOf:Oe,names:Ue});ue(dt=>({...dt,[re.id]:{status:"ready",nodes:Dt}}))}catch{ue(Oe=>({...Oe,[re.id]:{status:"error",nodes:[]}}))}}return o.jsxs("section",{children:[o.jsxs("div",{className:"mb-4 flex items-center gap-3",children:[o.jsx("h1",{className:"text-xl font-semibold",children:"伏笔池"}),o.jsx(ce,{type:"button",className:"ml-auto",onClick:()=>I(!0),children:"+ 新建伏笔"})]}),c!==null&&o.jsxs("div",{className:ge(Mo,"mb-3 flex items-center gap-2"),children:[c===ot?"无法连接服务,请确认 ai-editor 服务已启动。":"伏笔池加载失败,请重试。",o.jsx(ce,{variant:"outline",className:"ml-auto h-7 px-2 text-xs",type:"button",onClick:()=>x(re=>re+1),children:"重试"})]}),r&&Se===null&&c===null&&o.jsx("div",{className:"space-y-4",children:Array.from({length:3},(re,Oe)=>o.jsxs("div",{className:"rounded-md border border-border",children:[o.jsx("div",{className:"h-4 w-20 animate-pulse rounded bg-muted px-3 py-1.5"}),Array.from({length:Oe===0?3:1},(Ue,Qe)=>o.jsxs("div",{className:"flex items-center gap-3 border-t border-border/70 px-3 py-2.5",children:[o.jsx("div",{className:"h-4 w-1/3 animate-pulse rounded bg-muted"}),o.jsx("div",{className:"h-3 w-16 animate-pulse rounded bg-muted"}),o.jsx("div",{className:"ml-auto h-6 w-6 animate-pulse rounded bg-muted"})]},Qe))]},Oe))}),!r&&Se!==null&&t?.length===0&&o.jsx(Kn,{action:o.jsx(ce,{type:"button",onClick:()=>I(!0),children:"+ 新建伏笔"}),children:"还没有伏笔。好伏笔要趁早埋下——先新建一个,或在聊天里让 AI 帮你规划。"}),Se!==null&&t&&t.length>0&&o.jsxs("div",{className:"space-y-4",children:[o.jsx(hm,{title:"活跃",icon:o.jsx("span",{className:"size-2 shrink-0 rounded-full bg-primary"}),hooks:Se.active,depEdges:y,depEdgesFailed:b,chains:xe,onToggleChain:ye,onDetail:fe,onLifecycle:Re,onEdit:J,onDelete:re=>{Te(re)}}),o.jsx(hm,{title:"已回收",icon:o.jsx(Qm,{className:"size-3.5 shrink-0 text-primary"}),hooks:Se.resolved,depEdges:y,depEdgesFailed:b,chains:xe,onToggleChain:ye,onDetail:fe,onLifecycle:Re,onEdit:J,onDelete:re=>{Te(re)}}),o.jsx(hm,{title:"已废弃",icon:o.jsx(AE,{className:"size-3.5 shrink-0 text-muted-foreground"}),hooks:Se.abandoned,depEdges:y,depEdgesFailed:b,chains:xe,onToggleChain:ye,onDetail:fe,onLifecycle:Re,onEdit:J,onDelete:re=>{Te(re)}})]}),o.jsx(cs,{open:X,onOpenChange:re=>!re&&I(!1),children:o.jsxs(us,{className:"sm:max-w-md",children:[o.jsx(ds,{children:o.jsx(fs,{children:"新建伏笔"})}),o.jsxs("form",{id:"create-hook-form",onSubmit:G,className:"flex flex-col gap-3",children:[o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"名称(必填)"}),o.jsx(Et,{value:L,onChange:re=>q(re.target.value),placeholder:"如:身世之谜",maxLength:100})]}),o.jsx(Gv,{fields:VA,data:ee,onChange:pe,nodeOptions:ze}),o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"埋点节点(选填,可空)"}),o.jsx(Vm,{value:ae,onChange:de,nodeOptions:ze})]}),Ie&&o.jsx("p",{className:"text-sm text-destructive",children:Ie})]}),o.jsxs(Rs,{children:[o.jsx(ce,{variant:"outline",type:"button",onClick:()=>I(!1),disabled:Ce,children:"取消"}),o.jsx(ce,{type:"submit",form:"create-hook-form",disabled:Ce,children:"创建"})]})]})}),o.jsx(cs,{open:S!==null||E,onOpenChange:re=>!re&&j(null),children:o.jsxs(us,{className:"sm:max-w-lg",children:[o.jsx(ds,{children:o.jsx(fs,{children:"伏笔详情"})}),E&&o.jsx("p",{className:"py-4 text-sm text-muted-foreground",children:"加载中…"}),C&&o.jsx("p",{className:"py-4 text-sm text-destructive",children:C}),S&&o.jsx(PA,{detail:S}),o.jsx(Rs,{children:o.jsx(ce,{variant:"outline",type:"button",onClick:()=>j(null),children:"关闭"})})]})}),T&&o.jsx(cs,{open:!0,onOpenChange:re=>!re&&!te&&O(null),children:o.jsxs(us,{className:"sm:max-w-md",children:[o.jsx(ds,{children:o.jsxs(fs,{children:[pm[k],"伏笔《",T.name,"》"]})}),o.jsxs("div",{className:"flex flex-col gap-3",children:[k!=="abandon"&&o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"大纲节点(默认当前位置)"}),o.jsx(Vm,{value:M,onChange:B,nodeOptions:ze,placeholder:"请选择节点"})]}),o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"描述"}),o.jsx("textarea",{value:R,onChange:re=>K(re.target.value),rows:2,placeholder:k==="abandon"?"说明废弃原因":"说明伏笔如何被推进/回收",className:ge(Bt,"w-full")})]}),o.jsxs("div",{className:"rounded-md border border-primary/25 bg-primary/5 px-3 py-2 text-sm",children:[o.jsx("p",{className:"font-medium text-foreground",children:"将写入:"}),o.jsxs("p",{className:"mt-1 text-muted-foreground",children:["status → ",zS[k],k==="advance"&&" + advances 关系",k==="resolve"&&" + resolves 关系"," + 同步 status"]}),k==="resolve"&&b&&o.jsx("p",{className:"mt-2 text-sm text-destructive",children:"依赖关系加载失败,无法确认依赖者"}),k==="resolve"&&!b&&Fv(y,T.id)>0&&o.jsxs("p",{className:"mt-2 text-sm text-destructive",children:["有 ",Fv(y,T.id)," 个伏笔依赖此伏笔"]})]}),Q&&o.jsx("p",{className:"text-sm text-destructive",children:Q})]}),o.jsxs(Rs,{children:[o.jsx(ce,{variant:"outline",type:"button",onClick:()=>O(null),disabled:te,children:"取消"}),o.jsx(ce,{type:"button",onClick:()=>{Me()},disabled:te,children:te?"提交中…":`确认${pm[k]}`})]})]})}),ne&&_&&o.jsx(cs,{open:!0,onOpenChange:re=>!re&&!F&&U(null),children:o.jsxs(us,{className:"sm:max-w-md",children:[o.jsx(ds,{children:o.jsxs(fs,{children:["编辑伏笔《",ne.name,"》"]})}),o.jsxs("div",{className:"flex flex-col gap-3",children:[o.jsx(Gv,{fields:Qp("hook"),data:_,onChange:re=>D(Oe=>Oe&&{...Oe,...re}),nodeOptions:ze}),Y&&o.jsx("p",{className:"text-sm text-destructive",children:Y})]}),o.jsxs(Rs,{children:[o.jsx(ce,{variant:"outline",type:"button",onClick:()=>U(null),disabled:F,children:"取消"}),o.jsx(ce,{type:"button",onClick:()=>{P()},disabled:F,children:F?"保存中…":"保存"})]})]})})]})}function hm({title:t,icon:a,hooks:r,depEdges:l,depEdgesFailed:c,chains:d,onToggleChain:p,onDetail:x,onLifecycle:y,onEdit:m,onDelete:b}){return o.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[o.jsxs("div",{className:"flex items-center gap-1.5 border-b border-border bg-muted/30 px-3 py-1.5 text-sm font-medium text-foreground",children:[a,o.jsx("span",{children:t}),o.jsxs("span",{className:"text-muted-foreground",children:["(",r.length,")"]})]}),r.length===0?o.jsx("p",{className:"px-3 py-2 text-xs text-muted-foreground/70",children:"(空)"}):o.jsx("ul",{className:"divide-y divide-border/70",children:r.map(g=>{const S=HA(g.summary.status),j=c?[]:MS(l,g.id),E=d[g.id],w=typeof g.summary.category=="string"?g.summary.category:"";return o.jsxs("li",{className:"px-3 py-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"min-w-0 truncate font-medium text-foreground",title:g.name,children:g.name}),w&&o.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:w}),o.jsxs("span",{className:"ml-auto flex shrink-0 items-center gap-0.5",children:[o.jsx(Lo,{focus:{focus_entity_type:"hook",focus_entity_id:g.id},title:`带伏笔《${g.name}》问 AI`}),o.jsx(ce,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground",title:"详情","aria-label":`${g.name} 详情`,onClick:()=>x(g),children:o.jsx(Zm,{className:"size-3.5"})}),o.jsx(ce,{variant:"ghost",size:"icon-sm",disabled:S,className:"text-muted-foreground",title:"推进","aria-label":`${g.name} 推进`,onClick:()=>y("advance",g),children:o.jsx(vE,{className:"size-3.5"})}),o.jsx(ce,{variant:"ghost",size:"icon-sm",disabled:S,className:"text-muted-foreground",title:"回收","aria-label":`${g.name} 回收`,onClick:()=>y("resolve",g),children:o.jsx(o0,{className:"size-3.5"})}),o.jsx(ce,{variant:"ghost",size:"icon-sm",disabled:S,className:"text-muted-foreground",title:"废弃","aria-label":`${g.name} 废弃`,onClick:()=>y("abandon",g),children:o.jsx(da,{className:"size-3.5"})}),o.jsx(ce,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground",title:"编辑","aria-label":`${g.name} 编辑`,onClick:()=>m(g),children:o.jsx(jr,{className:"size-3.5"})}),o.jsx(ce,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground hover:text-destructive",title:"移入回收站","aria-label":`${g.name} 移入回收站`,onClick:()=>b(g),children:o.jsx(Er,{className:"size-3.5"})})]})]}),j.length>0&&o.jsxs("button",{type:"button",onClick:()=>p(g),className:"mt-0.5 flex items-center gap-1 rounded-md border border-border px-1.5 py-0.5 text-xs text-muted-foreground hover:bg-muted hover:text-foreground",children:["依赖: ",j.join("、")]}),E?.status==="loading"&&o.jsx("p",{className:"mt-0.5 text-xs text-muted-foreground",children:"依赖链展开中…"}),E?.status==="error"&&o.jsx("p",{className:"mt-0.5 text-xs text-destructive",children:"依赖链加载失败"}),E?.status==="ready"&&E.nodes.length>1&&o.jsx("ul",{className:"mt-1 space-y-0.5 border-l border-border pl-2",children:E.nodes.slice(1).map(C=>o.jsxs("li",{className:"text-xs text-muted-foreground",children:[" ".repeat(C.depth-1),C.name]},`${C.depth}-${C.hookId}`))})]},g.id)})})]})}function PA({detail:t}){const a=t.id,r=typeof t.data.status=="string"?t.data.status:"",l=typeof t.data.category=="string"?t.data.category:"",c=Ya(t.relations,"plants"),d=Ya(t.relations,"advances"),p=Ya(t.relations,"resolves"),x=MS(t.relations,a),y=Ya(t.relations,"depends_on").filter(g=>g.targetId===a).map(g=>g.sourceName??g.sourceId),m=kA(t.relations,a),b=typeof t.data.expected_resolve_node_id=="string"?t.data.expected_resolve_node_id:"";return o.jsxs("div",{className:"flex flex-col gap-3 text-sm",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"font-medium text-foreground",children:t.name}),l&&o.jsx("span",{className:"rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:l}),r&&o.jsx("span",{className:"rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:Xp[r]??r})]}),o.jsxs("p",{className:"text-xs text-muted-foreground",children:["创建于 ",xs(t.createdAt)," · 更新于 ",xs(t.updatedAt)]}),o.jsx(pr,{title:"埋点节点(plants)",items:c.map(g=>g.sourceName??g.sourceId)}),o.jsx(pr,{title:"推进节点(advances)",items:d.map(g=>g.sourceName??g.sourceId)}),o.jsx(pr,{title:"回收节点(resolves)",items:p.map(g=>g.sourceName??g.sourceId)}),o.jsx(pr,{title:"预计回收节点",items:b?[b]:[]}),o.jsx(pr,{title:"依赖(depends_on)",items:x}),o.jsx(pr,{title:"被依赖(其他伏笔依赖本伏笔)",items:y}),o.jsx(pr,{title:"涉及(involves)",items:m})]})}function pr({title:t,items:a}){return o.jsxs("div",{children:[o.jsx("p",{className:"mb-0.5 text-xs font-medium text-muted-foreground",children:t}),a.length===0?o.jsx("p",{className:"text-xs text-muted-foreground/70",children:"无"}):o.jsx("ul",{className:"flex flex-wrap gap-1",children:a.map((r,l)=>o.jsx("li",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-xs text-foreground",children:r},`${r}-${l}`))})]})}const VA=[{key:"category",label:"类别",control:"text"},{key:"expected_payoff",label:"预期回收",control:"textarea"},{key:"payoff_timing",label:"回收时机",control:"select",options:["immediate","near_term","mid_arc","slow_burn","endgame"],optionsLabels:Kp},{key:"half_life",label:"半衰期(章数)",control:"number"},{key:"is_core",label:"主线伏笔",control:"toggle"},{key:"notes",label:"备注",control:"textarea"},{key:"expected_resolve_node_id",label:"预计回收节点",control:"outline-node"}];function Gv({fields:t,data:a,onChange:r,nodeOptions:l}){return o.jsx(o.Fragment,{children:t.map(c=>o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:c.label}),o.jsx(FA,{field:c,value:a[c.key],nodeOptions:l,onValue:d=>r({...a,[c.key]:d})})]},c.key))})}function FA({field:t,value:a,nodeOptions:r,onValue:l}){switch(t.control){case"textarea":return o.jsx("textarea",{value:Ml({[t.key]:a},t.key),onChange:c=>l(c.target.value),rows:2,className:ge(Bt,"w-full")});case"number":return o.jsx(Et,{type:"number",value:Ml({[t.key]:a},t.key),onChange:c=>l(c.target.value===""?void 0:Number(c.target.value)),className:"h-8 text-sm"});case"select":return o.jsxs("select",{value:Ml({[t.key]:a},t.key),onChange:c=>l(c.target.value),className:ge(Bt,"w-full"),children:[o.jsx("option",{value:"",children:"未设置"}),t.options?.map(c=>o.jsx("option",{value:c,children:t.optionsLabels?.[c]??c},c))]});case"toggle":return o.jsx("input",{type:"checkbox",checked:a===!0,onChange:c=>l(c.target.checked),className:"h-4 w-4 accent-primary"});case"outline-node":return o.jsx(Vm,{value:Ml({[t.key]:a},t.key),onChange:l,nodeOptions:r});default:return o.jsxs(o.Fragment,{children:[o.jsx(Et,{value:Ml({[t.key]:a},t.key),onChange:c=>l(c.target.value),placeholder:t.key==="category"?`如:${ob.join(" / ")}`:void 0,list:t.key==="category"?"hook-category-suggestions":void 0,className:"h-8 text-sm"}),t.key==="category"&&o.jsx(su,{id:"hook-category-suggestions",options:ob})]})}}function Vm({value:t,onChange:a,nodeOptions:r,placeholder:l="未设置"}){return o.jsxs("select",{value:t,onChange:c=>a(c.target.value),className:ge(ge(Bt,"w-full"),t===""&&"text-muted-foreground"),children:[o.jsx("option",{value:"",children:l}),r.map(c=>o.jsxs("option",{value:c.id,children:[" ".repeat(c.depth),c.label]},c.id))]})}function Fm(t,a,r){const l=r===void 0?t:t.filter(d=>d!==r);if(a.kind==="end")return l.length;const c=l.indexOf(a.id);return c===-1?l.length:a.kind==="before"?c:c+1}function $v(t,a,r){const l=t.map(x=>({timepoint:x,events:[]})),c=new Map(l.map(x=>[x.timepoint.id,x])),d=new Map;for(const x of r)x.relationType!=="occurs_at"||x.sourceType!=="timepoint"||d.has(x.targetId)||d.set(x.targetId,x.sourceId);const p=[];for(const x of a){const y=d.get(x.id),m=y===void 0?void 0:c.get(y);m===void 0?p.push(x):m.events.push(x)}return{groups:l,ungrouped:p}}function qA(t,a,r,l,c){const d=[...t.flatMap(y=>y.events.map(m=>m.id)),...a.map(y=>y.id)];let p;if(r===-1)p=l==="before"?a[0]:a[a.length-1];else{const y=t[r];if(y!==void 0){if(l==="before"){if(p=y.events[0],p===void 0)for(let m=r+1;m<t.length;m++){const b=t[m].events[0];if(b!==void 0){p=b;break}}}else if(p=y.events[y.events.length-1],p===void 0)for(let m=r-1;m>=0;m--){const b=t[m].events[t[m].events.length-1];if(b!==void 0){p=b;break}}}}if(p!==void 0)return Fm(d,{kind:l,id:p.id},c);const x=d.find(y=>y!==c);return x===void 0?0:Fm(d,{kind:"before",id:x},c)}function rh(t){const a=t.summary.tags;return Array.isArray(a)?a.filter(r=>typeof r=="string"):[]}function GA(t){const a=t.summary.description;return typeof a=="string"?a:""}function au(t,a,r=5){const l=t.split(/[,,、\n]/),c=l[l.length-1].trim();if(c==="")return[];const d=new Set(l.slice(0,-1).map(m=>m.trim()).filter(m=>m!=="")),p=c.toLowerCase(),x=[],y=new Set;for(const m of a){if(x.length>=r)break;d.has(m)||y.has(m)||m.toLowerCase().includes(p)&&(y.add(m),x.push(m))}return x}function ru(t,a){const r=t.split(/[,,、\n]/);return r[r.length-1]=a,r.join(",")+","}function qc(t){const a=new Set,r=[];for(const l of t)for(const c of rh(l))c!==""&&!a.has(c)&&(a.add(c),r.push(c));return r}function $A(t,a){return a===null||a===""?t:t.filter(r=>rh(r).includes(a))}function Ao(t){const a=[],r=new Set;for(const l of t.split(/[,,、\n]/)){const c=l.trim();c!==""&&!r.has(c)&&(r.add(c),a.push(c))}return a}function Cu(t){return Array.isArray(t)?t.filter(a=>typeof a=="string").join(","):""}function XA(t){const a=t.data;return{name:t.name,description:typeof a.description=="string"?a.description:"",tagsInput:Cu(a.tags)}}function BS(t,a){const r={};a.name.trim()!==t.name&&(r.name=a.name.trim());const l={};(a.description.trim()!==""||t.data.description!==void 0)&&(l.description=a.description.trim());const c=Ao(a.tagsInput);(c.length>0||t.data.tags!==void 0)&&(l.tags=c);const d={};for(const p of["description","tags"])JSON.stringify(l[p])!==JSON.stringify(t.data[p])&&(d[p]=l[p]);return Object.keys(d).length>0&&(r.data=d),r.name===void 0&&r.data===void 0?null:r}const US="occurs_in",HS="occurs_at";function KA(t,a){return t.filter(r=>r.relationType===US&&r.sourceId===a)}function QA(t,a){return{source_type:"event",source_id:t,target_type:"outline_node",target_id:a,relation_type:US}}function gm(t,a){const r=t.find(l=>l.relationType===HS&&l.sourceType==="timepoint"&&l.targetId===a);return r===void 0?null:r.sourceId}function ZA(t,a){return{source_type:"timepoint",source_id:t,target_type:"event",target_id:a,relation_type:HS}}function JA({ev:t,occursCount:a,hasOccursData:r,dragging:l,busy:c,showInsertBefore:d,showInsertAfter:p,eventDrag:x,onDetail:y,onEdit:m,onDelete:b}){const g=rh(t),S=GA(t),j=a(t.id),[E,w]=h.useState(!1),C=h.useRef(null),[N,T]=h.useState(!1);return h.useLayoutEffect(()=>{const O=C.current;if(O===null)return;const k=()=>{E||T(O.scrollHeight>O.clientHeight+1)};return k(),window.addEventListener("resize",k),()=>window.removeEventListener("resize",k)},[S,E]),o.jsxs("div",{draggable:!c,onDragStart:O=>x.onDragStart(O,t),onDragEnd:x.onDragEnd,onDragOver:O=>x.onDragOver(O,t),onDrop:O=>x.onDrop(O,t),title:"拖拽调整事件顺序/挂载",className:ge("relative flex items-start",l&&"opacity-50"),children:[d&&o.jsx("div",{className:"absolute inset-x-0 -top-px h-0.5 bg-primary"}),p&&o.jsx("div",{className:"absolute inset-x-0 -bottom-px h-0.5 bg-primary"}),o.jsx("div",{className:"w-[22px] shrink-0",children:o.jsx("span",{"aria-hidden":"true",className:"mx-auto mt-[16px] block size-2 rounded-full bg-primary/60"})}),o.jsxs("div",{className:"min-w-0 flex-1 rounded-md border border-border bg-card px-3 py-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"min-w-0 truncate font-medium text-foreground",title:t.name,children:t.name}),g.map(O=>o.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:O},O)),o.jsxs("span",{className:"ml-auto flex shrink-0 items-center gap-1",children:[r&&o.jsxs("span",{className:"shrink-0 text-xs text-muted-foreground",children:[j," 节点"]}),o.jsx("span",{className:"inline-flex shrink-0",draggable:!1,children:o.jsx(Lo,{focus:{focus_entity_type:"event",focus_entity_id:t.id},title:`带事件《${t.name}》问 AI`})}),o.jsx(ce,{variant:"ghost",size:"icon-sm",draggable:!1,className:"text-muted-foreground",title:"详情","aria-label":`${t.name} 详情`,onClick:()=>y(t),children:o.jsx(Zm,{className:"size-3.5"})}),o.jsx(ce,{variant:"ghost",size:"icon-sm",draggable:!1,className:"text-muted-foreground",title:"编辑","aria-label":`${t.name} 编辑`,onClick:()=>m(t),children:o.jsx(jr,{className:"size-3.5"})}),o.jsx(ce,{variant:"ghost",size:"icon-sm",draggable:!1,className:"text-muted-foreground hover:text-destructive",title:"移入回收站","aria-label":`${t.name} 移入回收站`,onClick:()=>b(t),children:o.jsx(Er,{className:"size-3.5"})})]})]}),S.trim()!==""&&o.jsxs("div",{className:"mt-1.5",children:[o.jsx("p",{ref:C,className:ge("text-sm leading-relaxed text-muted-foreground",!E&&"line-clamp-2"),children:S}),(E||N)&&o.jsx("button",{type:"button",draggable:!1,onClick:()=>w(O=>!O),className:"mt-1 rounded-md border border-border px-1.5 py-0.5 text-xs text-primary hover:bg-muted","aria-expanded":E,children:E?"收起":"展开"})]})]})]})}function WA({timepoint:t,groupId:a,events:r,collapsed:l,dragSource:c,busy:d,occursCount:p,hasOccursData:x,showInsertBefore:y,showInsertAfter:m,onToggleCollapse:b,onRename:g,onDeleteTimepoint:S,onAddEventAt:j,onDragStart:E,onDragEnd:w,onDragOver:C,onDrop:N,eventDrag:T,eventInsertLines:O,onDetail:k,onEdit:V,onDelete:M}){const[B,R]=h.useState(!1),[K,Q]=h.useState(""),oe=t===null,te=oe?"未挂载":t.name,Z=c!==null&&c.kind==="timepoint"&&c.id===a;function ne(){t!==null&&(Q(t.name),R(!0))}async function U(){if(t===null)return;const _=K.trim();R(!1),!(_===""||_===t.name)&&await g(t.id,_)}return o.jsxs("div",{className:"relative flex flex-col gap-2",children:[y&&o.jsx("div",{className:"absolute inset-x-0 -top-px h-0.5 bg-primary"}),m&&o.jsx("div",{className:"absolute inset-x-0 -bottom-px h-0.5 bg-primary"}),o.jsxs("div",{draggable:!oe&&!d&&!B,onDragStart:E,onDragEnd:w,onDragOver:C,onDrop:N,title:oe?void 0:"拖拽调整时间点顺序(组内事件不动)",className:ge("flex items-start",!oe&&Z&&"opacity-50"),children:[o.jsx("div",{className:"w-[22px] shrink-0",children:o.jsx("span",{"aria-hidden":"true",className:ge("relative z-10 mx-auto mt-[6px] block size-4 rounded-full border-2 bg-background",oe?"border-dashed border-border":"border-primary")})}),o.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2 py-1",children:[o.jsx(ce,{type:"button",variant:"ghost",size:"icon-sm",draggable:!1,className:"text-muted-foreground","aria-expanded":!l,"aria-label":`${l?"展开":"折叠"}「${te}」组`,onClick:b,children:o.jsx(Xm,{className:ge("size-4 transition-transform duration-200",!l&&"rotate-90")})}),B?o.jsx("input",{autoComplete:"off",autoFocus:!0,value:K,onChange:_=>Q(_.target.value),onKeyDown:_=>{_.key==="Enter"?U():_.key==="Escape"&&R(!1)},onBlur:()=>R(!1),maxLength:100,"aria-label":"时间点名称",className:"w-40 rounded-md border border-border bg-background px-2 py-0.5 text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/50"}):o.jsx("span",{className:ge("min-w-0 truncate text-sm font-medium",oe?"text-muted-foreground italic":"text-foreground"),title:te,children:te}),o.jsxs("span",{className:"ml-auto flex shrink-0 items-center gap-1",children:[o.jsxs("span",{className:"shrink-0 text-xs text-muted-foreground",children:[r.length," 个事件"]}),t!==null&&!B&&o.jsx("span",{className:"inline-flex shrink-0",draggable:!1,children:o.jsx(Lo,{focus:{focus_entity_type:"timepoint",focus_entity_id:a},title:`带时间点「${t.name}」问 AI`})}),t!==null&&!B&&o.jsx(ce,{type:"button",variant:"ghost",size:"icon-sm",draggable:!1,className:"text-muted-foreground",title:"重命名","aria-label":`重命名「${t.name}」`,onClick:ne,children:o.jsx(jr,{className:"size-3.5"})}),t!==null&&!B&&o.jsx(ce,{type:"button",variant:"ghost",size:"icon-sm",draggable:!1,className:"text-muted-foreground",title:"在此时间点新建事件","aria-label":"在此时间点新建事件",onClick:()=>j(a),children:o.jsx(lu,{className:"size-3.5"})}),t!==null&&!B&&o.jsx(ce,{type:"button",variant:"ghost",size:"icon-sm",draggable:!1,className:"text-muted-foreground hover:text-destructive",title:"移入回收站","aria-label":`移入回收站「${t.name}」`,onClick:()=>S(t),children:o.jsx(Er,{className:"size-3.5"})})]})]})]}),!l&&o.jsx("div",{className:"flex flex-col gap-2",children:r.map(_=>{const D=O(_.id);return o.jsx(JA,{ev:_,occursCount:p,hasOccursData:x,dragging:c!==null&&c.kind==="event"&&c.id===_.id,busy:d,showInsertBefore:D.before,showInsertAfter:D.after,eventDrag:T,onDetail:k,onEdit:V,onDelete:M},_.id)})})]})}function e5({timepoints:t,events:a,allEvents:r,occursAtEdges:l,occursCount:c,hasOccursData:d,onMoveTimepoint:p,onMoveEvent:x,onMoveEventTo:y,onRenameTimepoint:m,onDeleteTimepoint:b,onAddEventAt:g,onDetail:S,onEdit:j,onDelete:E}){const w=h.useMemo(()=>$v(t,a,l),[t,a,l]),C=h.useMemo(()=>$v(t,r,l),[t,r,l]),N=h.useMemo(()=>[...w.groups.map(L=>({timepoint:L.timepoint,groupId:L.timepoint.id,events:L.events})),...w.ungrouped.length>0?[{timepoint:null,groupId:"",events:w.ungrouped}]:[]],[w]),T=h.useMemo(()=>{const L=new Map;for(const q of w.groups)for(const ee of q.events)L.set(ee.id,q.timepoint.id);for(const q of w.ungrouped)L.set(q.id,"");return L},[w]),O=h.useMemo(()=>t.map(L=>L.id),[t]),[k,V]=h.useState(new Set),[M,B]=h.useState(null),[R,K]=h.useState(null),[Q,oe]=h.useState(!1);function te(L){const q=L.currentTarget.getBoundingClientRect();return L.clientY<q.top+q.height/2?"before":"after"}function Z(L){return L===""?-1:C.groups.findIndex(q=>q.timepoint.id===L)}function ne(L,q,ee){L.preventDefault(),L.dataTransfer.dropEffect="move";const pe=te(L);K(ae=>ae!==null&&ae.kind==="event"&&ae.at===ee.at&&ae.side===pe&&ae.groupId===q&&ae.anchorId===ee.anchorId?ae:{kind:"event",at:ee.at,side:pe,groupId:q,anchorId:ee.anchorId})}function U(L,q){q.timepoint!==null&&(L.dataTransfer.setData("text/plain",q.timepoint.id),L.dataTransfer.effectAllowed="move",B({kind:"timepoint",id:q.timepoint.id}),K(null))}function _(L,q){L.dataTransfer.setData("text/plain",q.id),L.dataTransfer.effectAllowed="move",B({kind:"event",id:q.id}),K(null)}function D(){B(null),K(null)}function Y(L,q){const ee=M;if(ee===null||ee.kind==="timepoint"&&q.timepoint===null)return;L.preventDefault(),L.dataTransfer.dropEffect="move";const pe=te(L);if(ee.kind==="timepoint"){K(de=>de!==null&&de.kind==="timepoint"&&de.side===pe&&de.groupId===q.groupId?de:{kind:"timepoint",side:pe,groupId:q.groupId});return}const ae=q.events.length===0?null:pe==="before"?q.events[0].id:q.events[q.events.length-1].id;ne(L,q.groupId,{at:"group",anchorId:ae})}function H(L,q,ee){const pe=M;if(pe!==null&&!(pe.kind==="timepoint"&&ee.timepoint===null)){if(L.preventDefault(),L.dataTransfer.dropEffect="move",pe.kind==="timepoint"){const ae=te(L);K(de=>de!==null&&de.kind==="timepoint"&&de.side===ae&&de.groupId===ee.groupId?de:{kind:"timepoint",side:ae,groupId:ee.groupId});return}ne(L,ee.groupId,{at:"row",anchorId:q.id})}}async function F(L,q,ee){const pe=M;if(pe===null||pe.kind!=="event"||Q)return;if(L.preventDefault(),ee===pe.id){D();return}const ae=te(L),de=qA(C.groups,C.ungrouped,Z(q.groupId),ae,pe.id),Ie=T.get(pe.id)??"";oe(!0);try{q.groupId===Ie?await x(pe.id,de):await y(pe.id,q.groupId===""?null:q.groupId,de)}finally{oe(!1),D()}}function z(L,q){const ee=M;if(ee===null||Q)return;if(L.preventDefault(),ee.kind==="timepoint"){if(q.timepoint===null)return;if(q.groupId===ee.id){D();return}const de=te(L),Ie=Fm(O,{kind:de,id:q.groupId},ee.id);oe(!0),p(ee.id,Ie).finally(()=>{oe(!1),D()});return}const pe=te(L),ae=q.events.length===0?null:pe==="before"?q.events[0].id:q.events[q.events.length-1].id;F(L,q,ae)}function X(L,q,ee){const pe=M;if(pe!==null&&pe.kind==="timepoint"){z(L,ee);return}F(L,ee,q.id)}function I(L){V(q=>{const ee=new Set(q);return ee.has(L)?ee.delete(L):ee.add(L),ee})}return o.jsxs("div",{className:"relative flex flex-col gap-2",children:[o.jsx("div",{"aria-hidden":"true",className:"pointer-events-none absolute top-0 bottom-0 left-[11px] w-0.5 bg-border"}),N.map(L=>{const q=R!==null&&(R.kind==="timepoint"&&R.groupId===L.groupId||R.kind==="event"&&R.at==="group"&&R.groupId===L.groupId),ee=q&&R!==null&&R.side==="before",pe=q&&R!==null&&R.side==="after",ae=R!==null&&R.kind==="event"&&R.at==="row"&&R.side==="before",de=R!==null&&R.kind==="event"&&R.at==="row"&&R.side==="after",Ie={onDragStart:_,onDragEnd:D,onDragOver:(Ae,Ce)=>H(Ae,Ce,L),onDrop:(Ae,Ce)=>X(Ae,Ce,L)};return o.jsx(WA,{timepoint:L.timepoint,groupId:L.groupId,events:L.events,collapsed:k.has(L.groupId),dragSource:M,busy:Q,occursCount:c,hasOccursData:d,showInsertBefore:ee,showInsertAfter:pe,onToggleCollapse:()=>I(L.groupId),onRename:m,onDeleteTimepoint:b,onAddEventAt:g,onDragStart:Ae=>U(Ae,L),onDragEnd:D,onDragOver:Ae=>Y(Ae,L),onDrop:Ae=>z(Ae,L),eventDrag:Ie,eventInsertLines:Ae=>({before:ae&&R!==null&&R.kind==="event"&&R.anchorId===Ae,after:de&&R!==null&&R.kind==="event"&&R.anchorId===Ae}),onDetail:S,onEdit:j,onDelete:E},L.groupId===""?"__ungrouped__":L.groupId)})]})}function ou({suggestions:t,visible:a,onPick:r}){return!a||t.length===0?null:o.jsx("div",{className:"mt-1 overflow-hidden rounded-md border border-border bg-card",children:t.map(l=>o.jsx("button",{type:"button",onMouseDown:c=>c.preventDefault(),onClick:()=>r(l),className:"block w-full cursor-pointer px-2.5 py-1 text-left text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",children:l},l))})}const jo={name:"",description:"",tagsInput:""};function t5(){const[t,a]=h.useState(null),[r,l]=h.useState(null),[c,d]=h.useState(!1),[p,x]=h.useState(null),[y,m]=h.useState(0);_s(()=>m(we=>we+1));const[b,g]=h.useState([]),[S,j]=h.useState(!1),[E,w]=h.useState([]),[C,N]=h.useState(!1),[T,O]=h.useState(null),[k,V]=h.useState([]),[M,B]=h.useState(!1),[R,K]=h.useState(jo),[Q,oe]=h.useState(null),[te,Z]=h.useState(""),[ne,U]=h.useState(null),[_,D]=h.useState(!1),[Y,H]=h.useState(!1),[F,z]=h.useState(""),[X,I]=h.useState(null),[L,q]=h.useState(!1),[ee,pe]=h.useState(null),[ae,de]=h.useState(null),[Ie,Ae]=h.useState(null),[Ce,Be]=h.useState(!1),xe=Le(we=>we.config),ue=Le(we=>we.outline),He=oa(ue?.children??[]),_e=st(we=>we.sendMessage);h.useEffect(()=>{let we=!1;return d(!0),x(null),j(!1),N(!1),Promise.allSettled([Sn("timepoint",{}).then(ve=>{we||a(ve.items)}).catch(ve=>{we||(a(null),x(ve instanceof ke?ve.code:ot))}),Sn("event",{}).then(ve=>{we||(l(ve.items),V(qc(ve.items)),ve.items.length>=ve.limit&&Sn("event",{limit:200}).then(qe=>{we||V(qc(qe.items))}).catch(()=>{}))}).catch(ve=>{we||(l(null),x(ve instanceof ke?ve.code:ot))}),Oo({source_type:"timepoint",relation_type:"occurs_at",depth:1}).then(ve=>{we||g(ve.relations)}).catch(()=>{we||j(!0)}),Oo({source_type:"event",relation_type:"occurs_in",depth:1}).then(ve=>{we||w(ve.relations)}).catch(()=>{we||N(!0)})]).finally(()=>{we||d(!1)}),()=>{we=!0}},[y]),h.useEffect(()=>{Le.getState().outline===null&&Le.getState().config!==null&&Le.getState().loadOutline()},[]);async function ze(we){we.preventDefault();const ve=F.trim();if(!ve){I("请输入名称");return}q(!0),I(null);try{await Ql("timepoint",{name:ve}),Ee.getState().showToast(`已创建时间点《${ve}》`),H(!1),z(""),m(qe=>qe+1)}catch(qe){I(qe instanceof ke?qe.message:"创建失败,请重试")}finally{q(!1)}}async function Se(we){we.preventDefault();const ve=R.name.trim();if(!ve){U("请输入名称");return}D(!0),U(null);try{const qe={};R.description.trim()!==""&&(qe.description=R.description.trim());const wt=Ao(R.tagsInput);wt.length>0&&(qe.tags=wt);const Gt=await Ql("event",{name:ve,data:qe});if(Q!==null)try{await Pa(ZA(Q,Gt.id))}catch(Rt){Ee.getState().showToast(`已创建事件《${ve}》,但挂载到时间点失败:${Rt instanceof ke?Rt.message:"未知错误"}`,"error"),B(!1),K(jo),oe(null),Z(""),m(Ge=>Ge+1);return}if(te!=="")try{await Pa({source_type:"event",source_id:Gt.id,target_type:"outline_node",target_id:te,relation_type:"occurs_in"})}catch(Rt){Ee.getState().showToast(`已创建事件《${ve}》,但节点关联失败:${Rt instanceof ke?Rt.message:"未知错误"}`,"error"),B(!1),K(jo),oe(null),Z(""),m(Ge=>Ge+1);return}Ee.getState().showToast(`已创建事件《${ve}》`),B(!1),K(jo),oe(null),Z(""),m(Rt=>Rt+1)}catch(qe){U(qe instanceof ke?qe.message:"创建失败,请重试")}finally{D(!1)}}function fe(we){const ve=we.summary;pe(we),Ae(null),de({name:we.name,description:typeof ve.description=="string"?ve.description:"",tagsInput:Cu(ve.tags)})}async function Re(){const we=ee,ve=ae;if(!(!we||!ve||Ce)){Be(!0),Ae(null);try{const qe=BS({name:we.name,data:we.summary},ve);if(qe===null){Ee.getState().showToast("没有变更"),pe(null);return}await la("event",we.id,qe),Ee.getState().showToast("已保存"),pe(null),m(wt=>wt+1)}catch(qe){Ae(qe instanceof ke?qe.message:"保存失败,请重试")}finally{Be(!1)}}}async function Me(we){try{const ve=await Do(we.kind,we.entity.id),qe=[];ve.cascaded.relations>0&&qe.push(`${ve.cascaded.relations} 条关联`),ve.cascaded.deltas>0&&qe.push(`${ve.cascaded.deltas} 条变更记录`),Ee.getState().showToast(`已移入回收站,可随时还原${qe.length>0?`(含 ${qe.join("、")})`:""}`),m(wt=>wt+1)}catch(ve){Ee.getState().showToast(ve instanceof ke?ve.message:"删除失败,请重试","error")}}async function J(we,ve){try{await QT(we,{order:ve}),Ee.getState().showToast("已调整时间点顺序")}catch(qe){Ee.getState().showToast(qe instanceof ke?`排序失败:${qe.message}`:"排序失败,请重试","error")}finally{m(qe=>qe+1)}}async function P(we,ve){try{await KT(we,{order:ve}),Ee.getState().showToast("已调整事件顺序")}catch(qe){Ee.getState().showToast(qe instanceof ke?`排序失败:${qe.message}`:"排序失败,请重试","error")}finally{m(qe=>qe+1)}}async function G(we,ve,qe){try{await R0(we,{timepoint_id:ve,order:qe}),Ee.getState().showToast(ve===null?"已移至未挂载区":"已调整事件挂载与顺序")}catch(wt){Ee.getState().showToast(wt instanceof ke?`操作失败:${wt.message}`:"操作失败,请重试","error")}finally{m(wt=>wt+1)}}async function Te(we,ve){try{await la("timepoint",we,{name:ve}),Ee.getState().showToast("已重命名"),m(qe=>qe+1)}catch(qe){Ee.getState().showToast(qe instanceof ke?`重命名失败:${qe.message}`:"重命名失败,请重试","error")}}function ye(we){K(jo),Z(""),U(null),oe(we),B(!0)}function re(){K(jo),Z(""),U(null),oe(null),B(!0)}function Oe(){xe!==null&&_e("请按时间标签的语义先后顺序对时间轴时间点排序,并使用 propose_reorder_timepoints 工具生成排序提案。")}const Ue=r===null?[]:qc(r),Qe=r===null?null:$A(r,T),ht=we=>C?0:E.filter(ve=>ve.sourceId===we).length,Dt=!C,dt=au(R.tagsInput,k),It=ae===null?[]:au(ae.tagsInput,k);function Tt(we){K(ve=>({...ve,tagsInput:ru(ve.tagsInput,we)}))}function Yt(we){de(ve=>ve&&{...ve,tagsInput:ru(ve.tagsInput,we)})}return o.jsxs("section",{className:"flex h-full min-h-0 flex-col",children:[o.jsxs("div",{className:"mb-4 flex items-center gap-3",children:[o.jsx("h1",{className:"text-xl font-semibold",children:"时间轴"}),o.jsx("span",{className:ge("ml-auto",!xe&&"cursor-not-allowed"),title:xe?void 0:"请先打开项目",children:o.jsxs(ce,{type:"button",variant:"outline",size:"sm",disabled:!xe,onClick:Oe,"aria-label":"AI 排序",children:[o.jsx(GE,{className:"size-3.5"}),"AI 排序"]})}),o.jsx(ce,{type:"button",variant:"outline",onClick:re,children:"+ 新建事件"}),o.jsx(ce,{type:"button",onClick:()=>H(!0),children:"+ 新建时间点"})]}),r!==null&&r.length>0&&o.jsxs("div",{className:"mb-3 flex flex-wrap items-center gap-1.5",children:[o.jsx("button",{type:"button",onClick:()=>O(null),className:ge("rounded-full border px-2.5 py-0.5 text-xs transition-colors",T===null?"border-primary bg-primary text-primary-foreground":"border-border bg-muted text-muted-foreground hover:text-foreground"),children:"全部"}),Ue.map(we=>o.jsx("button",{type:"button",onClick:()=>O(ve=>ve===we?null:we),className:ge("rounded-full border px-2.5 py-0.5 text-xs transition-colors",T===we?"border-primary bg-primary text-primary-foreground":"border-border bg-muted text-muted-foreground hover:text-foreground"),children:we},we))]}),o.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto",children:[p!==null&&o.jsxs("div",{className:ge(Mo,"mb-3 flex items-center gap-2"),children:[p===ot?"无法连接服务,请确认 ai-editor 服务已启动。":"时间轴加载失败,请重试。",o.jsx(ce,{variant:"outline",className:"ml-auto h-7 px-2 text-xs",type:"button",onClick:()=>m(we=>we+1),children:"重试"})]}),c&&(t===null||r===null)&&p===null&&o.jsx("div",{className:"space-y-2",children:Array.from({length:4},(we,ve)=>o.jsxs("div",{className:"flex items-center gap-3 rounded-md border border-border px-3 py-2.5",children:[o.jsx("div",{className:"h-4 w-4 animate-pulse rounded bg-muted"}),o.jsx("div",{className:"h-4 w-1/3 animate-pulse rounded bg-muted"}),o.jsx("div",{className:"h-3 w-20 animate-pulse rounded bg-muted"}),o.jsx("div",{className:"ml-auto h-6 w-6 animate-pulse rounded bg-muted"})]},ve))}),!c&&t!==null&&r!==null&&t.length===0&&r.length===0&&o.jsx(Kn,{action:o.jsx(ce,{type:"button",onClick:()=>H(!0),children:"+ 新建时间点"}),children:"还没有时间点。先定义一个时间标签点(如「第二天黄昏」),再在其中挂载事件。"}),t!==null&&r!==null&&Qe!==null&&!(T!==null&&Qe.length===0)&&o.jsx(e5,{timepoints:t,events:Qe,allEvents:r,occursAtEdges:S?[]:b,occursCount:ht,hasOccursData:Dt,onMoveTimepoint:J,onMoveEvent:P,onMoveEventTo:G,onRenameTimepoint:Te,onAddEventAt:ye,onDetail:we=>Kt(`/timeline/${we.id}`),onEdit:fe,onDelete:we=>{Me({kind:"event",entity:we})},onDeleteTimepoint:we=>{Me({kind:"timepoint",entity:we})}}),!c&&r!==null&&r.length>0&&Qe!==null&&Qe.length===0&&o.jsxs(Kn,{padding:"sm",children:["没有匹配「",T,"」的事件"]})]}),o.jsx(cs,{open:Y,onOpenChange:we=>!we&&H(!1),children:o.jsxs(us,{className:"sm:max-w-md",children:[o.jsx(ds,{children:o.jsx(fs,{children:"新建时间点"})}),o.jsxs("form",{id:"create-timepoint-form",onSubmit:ze,className:"flex flex-col gap-3",children:[o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"名称(必填,时间标签文本)"}),o.jsx(Et,{value:F,onChange:we=>z(we.target.value),placeholder:"如:第二天黄昏",maxLength:100,autoFocus:!0})]}),X&&o.jsx("p",{className:"text-sm text-destructive",children:X})]}),o.jsxs(Rs,{children:[o.jsx(ce,{variant:"outline",type:"button",onClick:()=>H(!1),disabled:L,children:"取消"}),o.jsx(ce,{type:"submit",form:"create-timepoint-form",disabled:L,children:"创建"})]})]})}),o.jsx(cs,{open:M,onOpenChange:we=>!we&&B(!1),children:o.jsxs(us,{className:"sm:max-w-md",children:[o.jsx(ds,{children:o.jsx(fs,{children:Q!==null?"在此时间点新建事件(自动挂载)":"新建事件(不挂载,入未挂载区)"})}),o.jsxs("form",{id:"create-event-form",onSubmit:Se,className:"flex flex-col gap-3",children:[o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"名称(必填)"}),o.jsx(Et,{value:R.name,onChange:we=>K(ve=>({...ve,name:we.target.value})),placeholder:"如:主角踏入宗门",maxLength:100})]}),o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"描述"}),o.jsx("textarea",{value:R.description,onChange:we=>K(ve=>({...ve,description:we.target.value})),rows:2,placeholder:"事件发生了什么",className:ge(Bt,"w-full")})]}),o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"标签"}),o.jsx(Et,{value:R.tagsInput,onChange:we=>K(ve=>({...ve,tagsInput:we.target.value})),placeholder:"如:主线,战争(逗号/回车分隔)"}),o.jsx(ou,{suggestions:dt,visible:R.tagsInput.trim()!=="",onPick:Tt})]}),o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"关联大纲节点(选填,可空)"}),o.jsx(n5,{value:te,onChange:Z,nodeOptions:He})]}),ne&&o.jsx("p",{className:"text-sm text-destructive",children:ne})]}),o.jsxs(Rs,{children:[o.jsx(ce,{variant:"outline",type:"button",onClick:()=>B(!1),disabled:_,children:"取消"}),o.jsx(ce,{type:"submit",form:"create-event-form",disabled:_,children:"创建"})]})]})}),ee&&ae&&o.jsx(cs,{open:!0,onOpenChange:we=>!we&&!Ce&&pe(null),children:o.jsxs(us,{className:"sm:max-w-md",children:[o.jsx(ds,{children:o.jsxs(fs,{children:["编辑事件《",ee.name,"》"]})}),o.jsxs("div",{className:"flex flex-col gap-3",children:[o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"名称(必填)"}),o.jsx(Et,{value:ae.name,onChange:we=>de(ve=>ve&&{...ve,name:we.target.value}),maxLength:100})]}),o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"描述"}),o.jsx("textarea",{value:ae.description,onChange:we=>de(ve=>ve&&{...ve,description:we.target.value}),rows:2,className:ge(Bt,"w-full")})]}),o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"标签"}),o.jsx(Et,{value:ae.tagsInput,onChange:we=>de(ve=>ve&&{...ve,tagsInput:we.target.value}),placeholder:"如:主线,战争(逗号/回车分隔)"}),o.jsx(ou,{suggestions:It,visible:ae.tagsInput.trim()!=="",onPick:Yt})]}),Ie&&o.jsx("p",{className:"text-sm text-destructive",children:Ie})]}),o.jsxs(Rs,{children:[o.jsx(ce,{variant:"outline",type:"button",onClick:()=>pe(null),disabled:Ce,children:"取消"}),o.jsx(ce,{type:"button",onClick:()=>{Re()},disabled:Ce,children:Ce?"保存中…":"保存"})]})]})})]})}function n5({value:t,onChange:a,nodeOptions:r,placeholder:l="未设置"}){return o.jsxs("select",{value:t,onChange:c=>a(c.target.value),className:ge(ge(Bt,"w-full"),t===""&&"text-muted-foreground"),children:[o.jsx("option",{value:"",children:l}),r.map(c=>o.jsxs("option",{value:c.id,children:[" ".repeat(c.depth),c.label]},c.id))]})}function s5({id:t}){const[a,r]=h.useState(null),[l,c]=h.useState(!1),[d,p]=h.useState(!1),[x,y]=h.useState(null),[m,b]=h.useState(null),[g,S]=h.useState(!1),[j,E]=h.useState(null),[w,C]=h.useState(!1),[N,T]=h.useState(""),[O,k]=h.useState(null),[V,M]=h.useState(!1),[B,R]=h.useState(null),[K,Q]=h.useState([]),[oe,te]=h.useState(null),[Z,ne]=h.useState(null),[U,_]=h.useState(!1),[D,Y]=h.useState(!1),[H,F]=h.useState(null);async function z(){try{const xe=await Sn("event",{limit:200});Q(qc(xe.items))}catch{}}async function X(){_(!1);try{const[xe,ue]=await Promise.all([Sn("timepoint",{}),Sn("event",{limit:200})]);te(xe.items),ne(ue.items)}catch{te(null),ne(null),_(!0)}}h.useEffect(()=>{z(),X()},[]);const I=Le(xe=>xe.outline),L=oa(I?.children??[]);async function q(){c(!0),y(null),p(!1);try{const xe=await ta("event",t);r(xe),b(XA(xe))}catch(xe){r(null),b(null),xe instanceof ke&&xe.code==="ENTITY_NOT_FOUND"?p(!0):y(xe instanceof ke?xe.code:ot)}finally{c(!1)}}h.useEffect(()=>{q()},[t]),_s(()=>{q(),z(),X()}),h.useEffect(()=>{Le.getState().outline===null&&Le.getState().config!==null&&Le.getState().loadOutline()},[]);async function ee(){if(!a||!m||g)return;const xe=BS({name:a.name,data:a.data},m);if(xe===null){Ee.getState().showToast("没有变更");return}S(!0),E(null);try{await la("event",t,xe),Ee.getState().showToast("已保存"),await q()}catch(ue){if(ue instanceof ke&&ue.code==="ENTITY_NOT_FOUND"){p(!0);return}E(ue instanceof ke?ue.message:"保存失败,请重试")}finally{S(!1)}}async function pe(xe){if(!a||D||!oe||!Z)return;const ue=gm(a.relations,t);if(xe===(ue??""))return;const He=Z.findIndex(ze=>ze.id===t),_e=He===-1?Z.length:He;Y(!0),F(null);try{await R0(t,{timepoint_id:xe===""?null:xe,order:_e}),Ee.getState().showToast(xe===""?"已移出挂载":"已更新挂载时间点"),await q()}catch(ze){if(ze instanceof ke&&ze.code==="ENTITY_NOT_FOUND"){p(!0);return}F(ze instanceof ke?ze.message:"挂载保存失败,请重试")}finally{Y(!1)}}async function ae(){if(!(N===""||V)){M(!0),k(null);try{await Pa(QA(t,N)),Ee.getState().showToast("已关联大纲节点"),C(!1),await q()}catch(xe){if(xe instanceof ke&&xe.code==="RELATION_EXISTS"){k("这条关系已经存在");return}k(xe instanceof ke?xe.message:"关联失败,请重试")}finally{M(!1)}}}async function de(){if(B)try{await Yl(B.id),Ee.getState().showToast("已取消关联"),R(null),await q()}catch(xe){throw xe}}async function Ie(){if(a)try{const xe=await Do("event",t),ue=[];xe.cascaded.relations>0&&ue.push(`${xe.cascaded.relations} 条关联`),xe.cascaded.deltas>0&&ue.push(`${xe.cascaded.deltas} 条变更记录`),Ee.getState().showToast(`已移入回收站,可随时还原${ue.length>0?`(含 ${ue.join("、")})`:""}`),Kt("/timeline")}catch(xe){Ee.getState().showToast(xe instanceof ke?xe.message:"删除失败,请重试","error")}}if(d)return o.jsx("section",{children:o.jsx(Kn,{padding:"lg",action:o.jsxs("div",{className:"flex justify-center gap-2",children:[o.jsx("a",{href:"#/trash",className:"rounded-md border border-border px-4 py-1.5 text-sm text-muted-foreground hover:bg-muted",children:"去回收站"}),o.jsx(ce,{variant:"outline",type:"button",onClick:()=>Kt("/timeline"),children:"返回列表"})]}),children:"该事件不存在或已被删除"})});const Ae=a===null?[]:KA(a.relations,t),Ce=m===null?[]:au(m.tagsInput,K);function Be(xe){b(ue=>ue&&{...ue,tagsInput:ru(ue.tagsInput,xe)})}return o.jsxs("section",{children:[o.jsxs("div",{className:"mb-1 flex items-center gap-3",children:[o.jsx(eh,{items:[{label:"时间轴",href:"/timeline"},{label:a?.name??"…"}]}),o.jsx("h1",{className:"min-w-0 truncate text-xl font-semibold",children:a?.name??"…"}),o.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[o.jsx(ce,{variant:"outline",type:"button",onClick:()=>{ee()},disabled:!a||g,children:g?"保存中…":"保存"}),o.jsx(ce,{variant:"outline",type:"button",disabled:!a,className:"text-destructive hover:bg-destructive/10",onClick:()=>{Ie()},children:"移入回收站"})]})]}),a&&o.jsxs("p",{className:"mb-4 text-xs text-muted-foreground",children:["创建于 ",xs(a.createdAt)," · 更新于 ",xs(a.updatedAt)]}),l&&!a&&o.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[o.jsx("div",{className:"space-y-3 rounded-md border border-border p-4",children:Array.from({length:5},(xe,ue)=>o.jsx("div",{className:"h-9 animate-pulse rounded bg-muted"},ue))}),o.jsx("div",{className:"space-y-3 rounded-md border border-border p-4",children:Array.from({length:3},(xe,ue)=>o.jsx("div",{className:"h-9 animate-pulse rounded bg-muted"},ue))})]}),!l&&!a&&x!==null&&o.jsxs("div",{className:"rounded-md border border-border p-4 text-sm text-muted-foreground",children:[x===ot?"无法连接服务,请确认 ai-editor 服务已启动。":"详情加载失败,请重试。",o.jsx(ce,{variant:"outline",className:"ml-3",type:"button",onClick:()=>{q()},children:"重试"})]}),a&&m&&o.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[o.jsxs("div",{className:"rounded-md border border-border p-4",children:[o.jsx("h2",{className:"mb-3 text-sm font-semibold text-foreground",children:"基础信息"}),o.jsxs("div",{className:"flex flex-col gap-3",children:[o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"名称(必填)"}),o.jsx(Et,{value:m.name,onChange:xe=>b(ue=>ue&&{...ue,name:xe.target.value}),maxLength:100})]}),o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"描述"}),o.jsx("textarea",{value:m.description,onChange:xe=>b(ue=>ue&&{...ue,description:xe.target.value}),rows:3,placeholder:"事件发生了什么",className:ge(Bt,"w-full")})]}),o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"挂载时间点"}),oe===null?U?o.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:["挂载数据加载失败",o.jsx(ce,{variant:"outline",size:"sm",type:"button",className:"h-6 px-2 text-xs",onClick:()=>{X()},children:"重试"})]}):o.jsx("div",{className:"h-9 animate-pulse rounded bg-muted"}):o.jsxs("select",{value:gm(a.relations,t)??"",onChange:xe=>{pe(xe.target.value)},disabled:D,className:ge(ge(Bt,"w-full"),gm(a.relations,t)===null&&"text-muted-foreground"),children:[o.jsx("option",{value:"",children:"未挂载"}),oe.map(xe=>o.jsx("option",{value:xe.id,children:xe.name},xe.id))]}),D&&o.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"保存中…"}),H&&o.jsx("p",{className:"mt-1 text-sm text-destructive",children:H})]}),o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"标签"}),o.jsx(Et,{value:m.tagsInput,onChange:xe=>b(ue=>ue&&{...ue,tagsInput:xe.target.value}),placeholder:"如:主线,战争(逗号/回车分隔)"}),o.jsx(ou,{suggestions:Ce,visible:m.tagsInput.trim()!=="",onPick:Be})]}),j&&o.jsx("p",{className:"text-sm text-destructive",children:j})]})]}),o.jsxs("div",{className:"rounded-md border border-border p-4",children:[o.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[o.jsx("h2",{className:"text-sm font-semibold text-foreground",children:"关联节点(occurs_in)"}),o.jsxs(nh,{open:w,onOpenChange:xe=>{xe?(T(""),k(null),C(!0)):V||C(!1)},children:[o.jsx(sh,{render:o.jsx(ce,{variant:"outline",type:"button",className:"h-8 px-2 text-xs",children:"+ 关联场景/章节"})}),o.jsxs(ah,{className:"flex flex-col gap-3",children:[o.jsxs("div",{children:[o.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"大纲节点"}),o.jsx(a5,{value:N,onChange:T,nodeOptions:L,placeholder:"请选择节点"})]}),O&&o.jsx("p",{className:"text-sm text-destructive",children:O}),o.jsxs("div",{className:"flex justify-end gap-2",children:[o.jsx(ce,{variant:"outline",type:"button",size:"sm",onClick:()=>C(!1),disabled:V,children:"取消"}),o.jsx(ce,{type:"button",size:"sm",onClick:()=>{ae()},disabled:V||N==="",children:V?"关联中…":"关联"})]})]})]})]}),Ae.length===0?o.jsx("p",{className:"py-6 text-center text-sm text-muted-foreground",children:"暂无关联节点,新增一个"}):o.jsx("ul",{className:"divide-y divide-border/70",children:Ae.map(xe=>o.jsxs("li",{className:"flex items-center gap-2 py-2 text-sm",children:[o.jsx("button",{type:"button",onClick:()=>Kt(`/outline/${xe.targetId}`),title:"跳转大纲定位",className:"min-w-0 flex-1 truncate rounded-md border border-border px-1.5 py-0.5 text-left text-foreground hover:bg-muted hover:text-foreground",children:xe.targetName??xe.targetId}),o.jsx(ce,{variant:"outline",type:"button",className:"h-7 shrink-0 px-2 text-xs text-destructive hover:bg-destructive/10",onClick:()=>R(xe),children:"取消关联"})]},xe.id))})]})]}),B&&o.jsx(zo,{title:"取消关联",description:`取消《${B.targetName??B.targetId}》与事件的关联?物理删除不可恢复,可重新建立。`,confirmLabel:"取消关联",danger:!0,onConfirm:de,onClose:()=>R(null)})]})}function a5({value:t,onChange:a,nodeOptions:r,placeholder:l="未设置"}){return o.jsxs("select",{value:t,onChange:c=>a(c.target.value),className:ge(ge(Bt,"w-full"),t===""&&"text-muted-foreground"),children:[o.jsx("option",{value:"",children:l}),r.map(c=>o.jsxs("option",{value:c.id,children:[" ".repeat(c.depth),c.label]},c.id))]})}const qm={material:"素材摘抄",inspiration:"灵感记录",theory:"写作理论",reference:"设定参考"},Xv={name:"",type:"material",content:"",source:"",tagsInput:""};function r5(){const t=Le(U=>U.config),[a,r]=h.useState(null),[l,c]=h.useState(null),[d,p]=h.useState(0);_s(()=>p(U=>U+1));const[x,y]=h.useState(""),[m,b]=h.useState("all"),[g,S]=h.useState(null),[j,E]=h.useState(!1),[w,C]=h.useState(null),[N,T]=h.useState(Xv),[O,k]=h.useState(!1),[V,M]=h.useState(null);h.useEffect(()=>{let U=!1;return r(null),c(null),Sn("reference",{limit:200}).then(_=>{U||r(_.items)}).catch(_=>{U||c(_ instanceof ke?_.message:"加载失败,请重试")}),()=>{U=!0}},[d]);const B=h.useMemo(()=>{const U=new Set;for(const _ of a??[]){const D=_.summary?.tags;if(Array.isArray(D))for(const Y of D)typeof Y=="string"&&Y!==""&&U.add(Y)}return[...U].sort((_,D)=>_.localeCompare(D))},[a]),R=au(N.tagsInput,B),K=h.useMemo(()=>{if(a===null)return null;const U=x.trim().toLowerCase();return a.filter(_=>{if(m!=="all"&&_.summary?.type!==m||g!==null&&!Array.isArray(_.summary?.tags)||g!==null&&!(_.summary?.tags).includes(g))return!1;if(U!==""){const D=_.name.toLowerCase(),Y=typeof _.summary?.content=="string"?_.summary.content.toLowerCase():"";if(!D.includes(U)&&!Y.includes(U))return!1}return!0}).sort((_,D)=>_.updatedAt.localeCompare(D.updatedAt))},[a,x,m,g]);function Q(){C(null),T(Xv),M(null),E(!0)}function oe(U){C(U);const _=U.summary;T({name:U.name,type:_?.type??"material",content:typeof _?.content=="string"?_.content.slice(0,0):"",source:"",tagsInput:""}),ta("reference",U.id).then(D=>{T({name:D.name,type:D.data?.type??"material",content:typeof D.data?.content=="string"?D.data.content:"",source:typeof D.data?.source=="string"?D.data.source:"",tagsInput:Cu(D.data?.tags)})}),M(null),E(!0)}async function te(){const U=N.name.trim();if(U===""){M("标题必填");return}k(!0),M(null);try{const _={type:N.type,...N.content.trim()!==""?{content:N.content}:{},...N.source.trim()!==""?{source:N.source}:{},...Ao(N.tagsInput).length>0?{tags:Ao(N.tagsInput)}:{}};w===null?(await Ql("reference",{name:U,data:_}),Ee.getState().showToast(`已创建参考资料《${U}》`)):(await la("reference",w.id,{data:_}),Ee.getState().showToast("已保存")),E(!1),Ee.getState().notifyDataChanged(),p(D=>D+1)}catch(_){M(_ instanceof ke?_.message:"保存失败,请重试")}finally{k(!1)}}async function Z(U){try{await Do("reference",U.id),Ee.getState().showToast(`已移入回收站:《${U.name}》,可随时还原`),p(_=>_+1)}catch(_){Ee.getState().showToast(_ instanceof ke?_.message:"删除失败,请重试","error")}}const ne=t===null;return o.jsxs("section",{className:"flex h-full min-h-0 flex-col",children:[o.jsxs("div",{className:"mb-4 flex items-center gap-3",children:[o.jsx("h1",{className:"text-xl font-semibold",children:"参考资料"}),o.jsx("span",{className:ge("ml-auto",ne&&"cursor-not-allowed"),title:ne?"请先打开项目":void 0,children:o.jsxs(ce,{type:"button",disabled:ne,onClick:Q,children:[o.jsx(lu,{className:"size-3.5"}),"新建参考资料"]})})]}),o.jsxs("div",{className:"mb-3 flex shrink-0 flex-wrap items-center gap-2",children:[o.jsxs("div",{className:"relative",children:[o.jsx(N2,{className:"pointer-events-none absolute left-2.5 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground"}),o.jsx("input",{className:ge(Bt,"w-48 pl-8"),placeholder:"搜索标题 / 内容摘要…",value:x,onChange:U=>y(U.target.value)})]}),o.jsxs("select",{className:ge(Bt,"w-32"),value:m,onChange:U=>b(U.target.value),children:[o.jsx("option",{value:"all",children:"全部分类"}),ym.map(U=>o.jsx("option",{value:U,children:qm[U]},U))]}),o.jsxs("select",{className:ge(Bt,"w-32"),value:g??"",onChange:U=>S(U.target.value===""?null:U.target.value),children:[o.jsx("option",{value:"",children:"全部标签"}),B.map(U=>o.jsx("option",{value:U,children:U},U))]})]}),l!==null&&o.jsxs("div",{className:ge(Mo,"mb-2 flex items-center gap-2"),children:[o.jsx("span",{className:"flex-1",children:l}),o.jsx(ce,{variant:"outline",size:"xs",onClick:()=>p(U=>U+1),children:"重试"})]}),o.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto",children:a===null?o.jsx("div",{className:"space-y-2",children:[0,1,2].map(U=>o.jsx("div",{className:ge(jt,"h-16 w-full")},U))}):K===null||K.length===0?o.jsx(Kn,{icon:o.jsx($m,{className:"size-7 text-muted-foreground/40"}),action:x!==""||m!=="all"||g!==null?o.jsx(ce,{variant:"outline",size:"sm",onClick:()=>{y(""),b("all"),S(null)},children:"清空筛选"}):o.jsx(ce,{size:"sm",disabled:ne,onClick:Q,children:"新建参考资料"}),children:x!==""||m!=="all"||g!==null?"未找到匹配的参考资料——换个关键词或清空筛选条件试试":"还没有参考资料,先新建一条——把书籍摘抄、灵感记录、写作理论保存到这里,AI 创作顾问会参考它们给出建议"}):o.jsx("div",{className:T0+" divide-y divide-border",children:K.map(U=>o.jsx(o5,{item:U,onOpen:oe,onDelete:Z,onGoto:()=>Kt(`#/references/${U.id}`)},U.id))})}),o.jsx(cs,{open:j,onOpenChange:E,children:o.jsxs(us,{className:"sm:max-w-lg",children:[o.jsx(ds,{children:o.jsx(fs,{children:w===null?"新建参考资料":"编辑参考资料"})}),o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx("label",{className:"mt-2 w-12 shrink-0 text-sm text-muted-foreground",children:"标题"}),o.jsx("input",{className:ge(Bt,"flex-1"),value:N.name,onChange:U=>T(_=>({..._,name:U.target.value})),placeholder:"如:五行相生与相克 摘抄"})]}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx("label",{className:"mt-2 w-12 shrink-0 text-sm text-muted-foreground",children:"分类"}),o.jsx("select",{className:ge(Bt,"flex-1"),value:N.type,onChange:U=>T(_=>({..._,type:U.target.value})),children:ym.map(U=>o.jsx("option",{value:U,children:qm[U]},U))})]}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx("label",{className:"mt-2 w-12 shrink-0 text-sm text-muted-foreground",children:"内容"}),o.jsx("textarea",{className:ge(Bt,"min-h-32 flex-1 resize-y leading-6"),value:N.content,onChange:U=>T(_=>({..._,content:U.target.value})),placeholder:"粘贴或记录参考内容全文…"})]}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx("label",{className:"mt-2 w-12 shrink-0 text-sm text-muted-foreground",children:"来源"}),o.jsx("input",{className:ge(Bt,"flex-1"),value:N.source,onChange:U=>T(_=>({..._,source:U.target.value})),placeholder:"可选:URL / 书名 / 作者"})]}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx("label",{className:"mt-2 w-12 shrink-0 text-sm text-muted-foreground",children:"标签"}),o.jsx("input",{className:ge(Bt,"flex-1"),value:N.tagsInput,onChange:U=>T(_=>({..._,tagsInput:U.target.value})),onKeyDown:U=>{U.key==="Enter"&&!U.nativeEvent.isComposing&&N.tagsInput.trim()!==""&&(U.preventDefault(),T(_=>({..._,tagsInput:`${_.tagsInput},`})))},list:"reference-tags",placeholder:"逗号分隔,如:五行, 设定"}),o.jsx("datalist",{id:"reference-tags",children:B.map(U=>o.jsx("option",{value:U},U))}),o.jsx(ou,{suggestions:R,visible:N.tagsInput.trim()!=="",onPick:U=>T(_=>({..._,tagsInput:ru(_.tagsInput,U)}))})]}),V!==null&&o.jsx("p",{className:"text-xs text-destructive",children:V}),o.jsxs("div",{className:"flex justify-end gap-1.5 pt-1",children:[o.jsx(ce,{variant:"outline",onClick:()=>E(!1),disabled:O,children:"取消"}),o.jsxs(ce,{onClick:te,disabled:O,children:[O&&o.jsx(yr,{className:"size-3.5 animate-spin"}),"保存"]})]})]})]})})]})}function o5({item:t,onOpen:a,onDelete:r,onGoto:l}){const c=t.summary?.type??"material",d=typeof t.summary?.content=="string"?t.summary.content:"",p=Array.isArray(t.summary?.tags)?(t.summary?.tags).filter(x=>typeof x=="string"&&x!==""):[];return o.jsxs("div",{className:"group px-3 py-2.5",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"rounded-md border border-border bg-muted px-1.5 py-0.5 text-[11px] text-muted-foreground",children:qm[c]??c}),o.jsx("button",{type:"button",onClick:l,className:"min-w-0 flex-1 truncate text-left text-sm font-medium text-foreground hover:text-primary",children:t.name}),o.jsx(Lo,{focus:{focus_entity_type:"reference",focus_entity_id:t.id},title:`带《${t.name}》问 AI`}),o.jsx(ce,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground",onClick:()=>a(t),"aria-label":"编辑",title:"编辑",children:o.jsx(jr,{className:"size-3.5"})}),o.jsx(ce,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground hover:text-destructive",onClick:()=>r(t),"aria-label":"删除",title:"移入回收站",children:o.jsx(Er,{className:"size-3.5"})})]}),d!==""&&o.jsx("p",{className:"mt-0.5 line-clamp-2 text-xs text-muted-foreground",children:d}),p.length>0&&o.jsx("div",{className:"mt-1 flex flex-wrap gap-1",children:p.map(x=>o.jsx("span",{className:"rounded bg-secondary px-1.5 py-0.5 text-[10px] text-muted-foreground",children:x},x))})]})}const Kv={material:"素材摘抄",inspiration:"灵感记录",theory:"写作理论",reference:"设定参考"};function l5({id:t}){const a=Ee(Q=>Q.setCurrentFocus);h.useEffect(()=>{a({focus_entity_type:"reference",focus_entity_id:t})},[t,a]);const[r,l]=h.useState(null),[c,d]=h.useState(null),[p,x]=h.useState(0),[y,m]=h.useState(!1),[b,g]=h.useState(null),[S,j]=h.useState(!1),[E,w]=h.useState(null);if(h.useEffect(()=>{let Q=!1;return l(null),d(null),ta("reference",t).then(oe=>{Q||l(oe)}).catch(oe=>{Q||d(oe instanceof ke?oe.message:"加载失败,请重试")}),()=>{Q=!0}},[t,p]),c!==null)return o.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3",children:[o.jsx("p",{className:ge(Mo),children:c}),o.jsx(ce,{variant:"outline",size:"sm",onClick:()=>x(Q=>Q+1),children:"重试"}),o.jsx(ce,{variant:"ghost",size:"sm",onClick:()=>Kt("#/references"),children:"返回列表"})]});if(r===null)return o.jsxs("div",{className:"space-y-3 p-4",children:[o.jsx("div",{className:ge(jt,"h-8 w-1/3")}),o.jsx("div",{className:ge(jt,"h-64 w-full")})]});const C=r,N=C.data?.type??"material",T=typeof C.data?.content=="string"?r.data.content:"",O=typeof C.data?.source=="string"?r.data.source:"",k=Array.isArray(C.data?.tags)?r.data.tags.filter(Q=>typeof Q=="string"&&Q!==""):[],V=C.createdAt,M=C.updatedAt;function B(){g({name:C.name,type:N,content:T,source:O,tagsInput:Cu(C.data?.tags)}),w(null),m(!0)}async function R(){if(b===null)return;if(b.name.trim()===""){w("标题必填");return}j(!0),w(null);try{const oe={type:b.type,...b.content.trim()!==""?{content:b.content}:{},...b.source.trim()!==""?{source:b.source}:{},...Ao(b.tagsInput).length>0?{tags:Ao(b.tagsInput)}:{}};await la("reference",C.id,{data:oe}),Ee.getState().showToast("已保存"),m(!1),x(te=>te+1)}catch(oe){w(oe instanceof ke?oe.message:"保存失败,请重试")}finally{j(!1)}}async function K(){try{await Do("reference",C.id),Ee.getState().showToast("已移入回收站,可随时还原"),Kt("#/references")}catch(Q){Ee.getState().showToast(Q instanceof ke?Q.message:"删除失败,请重试","error")}}return o.jsxs("section",{className:"flex h-full min-h-0 flex-col",children:[o.jsxs("div",{className:"mb-3 flex shrink-0 items-center gap-2",children:[o.jsx("a",{href:"#/references",className:"text-sm text-muted-foreground transition-colors hover:text-foreground",children:"← 参考资料"}),o.jsx("span",{className:"text-sm text-muted-foreground",children:"/"}),o.jsx("span",{className:"min-w-0 truncate text-sm text-foreground",children:r.name}),o.jsxs("div",{className:"ml-auto flex items-center gap-1.5",children:[o.jsxs(ce,{variant:"outline",size:"sm",onClick:B,children:[o.jsx(jr,{className:"size-3.5"}),"编辑"]}),o.jsxs(ce,{variant:"outline",size:"sm",className:"text-destructive hover:text-destructive",onClick:K,children:[o.jsx(Er,{className:"size-3.5"}),"删除"]})]})]}),o.jsxs("div",{className:"mb-4 shrink-0",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("h1",{className:"font-serif text-xl font-medium",children:r.name}),o.jsx("span",{className:"rounded-md border border-border bg-muted px-1.5 py-0.5 text-[11px] text-muted-foreground",children:Kv[N]??N})]}),o.jsxs("div",{className:"mt-1.5 flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[k.map(Q=>o.jsx("span",{className:"rounded bg-secondary px-1.5 py-0.5 text-[10px]",children:Q},Q)),O!==""&&o.jsxs("a",{href:/^https?:\/\//.test(O)?O:void 0,target:/^https?:\/\//.test(O)?"_blank":void 0,rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-primary hover:underline",children:[O,/^https?:\/\//.test(O)&&o.jsx(LE,{className:"size-3"})]}),o.jsxs("span",{children:["创建 ",Qv(V)]}),o.jsxs("span",{children:["更新 ",Qv(M)]})]})]}),o.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto rounded-xl border border-border bg-card p-5",children:T!==""?o.jsx("div",{className:"whitespace-pre-wrap break-words font-serif text-base leading-7 text-foreground",children:T}):o.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-2 text-sm text-muted-foreground",children:[o.jsx($m,{className:"size-8 text-muted-foreground/40"}),"本条参考资料暂无内容",o.jsx(ce,{variant:"outline",size:"sm",onClick:B,children:"去补充"})]})}),o.jsx(cs,{open:y,onOpenChange:m,children:o.jsxs(us,{className:"sm:max-w-lg",children:[o.jsx(ds,{children:o.jsx(fs,{children:"编辑参考资料"})}),b!==null&&o.jsxs("div",{className:"space-y-3",children:[o.jsxs("label",{className:"block",children:[o.jsx("span",{className:"mb-1 block text-sm text-muted-foreground",children:"标题"}),o.jsx("input",{className:ge(Bt,"w-full"),value:b.name,onChange:Q=>g({...b,name:Q.target.value})})]}),o.jsxs("label",{className:"block",children:[o.jsx("span",{className:"mb-1 block text-sm text-muted-foreground",children:"分类"}),o.jsx("select",{className:ge(Bt,"w-full"),value:b.type,onChange:Q=>g({...b,type:Q.target.value}),children:ym.map(Q=>o.jsx("option",{value:Q,children:Kv[Q]},Q))})]}),o.jsxs("label",{className:"block",children:[o.jsx("span",{className:"mb-1 block text-sm text-muted-foreground",children:"内容"}),o.jsx("textarea",{className:ge(Bt,"min-h-40 w-full resize-y leading-6"),value:b.content,onChange:Q=>g({...b,content:Q.target.value})})]}),o.jsxs("label",{className:"block",children:[o.jsx("span",{className:"mb-1 block text-sm text-muted-foreground",children:"来源(可选)"}),o.jsx("input",{className:ge(Bt,"w-full"),value:b.source,onChange:Q=>g({...b,source:Q.target.value})})]}),o.jsxs("label",{className:"block",children:[o.jsx("span",{className:"mb-1 block text-sm text-muted-foreground",children:"标签"}),o.jsx("input",{className:ge(Bt,"w-full"),value:b.tagsInput,onChange:Q=>g({...b,tagsInput:Q.target.value}),placeholder:"逗号分隔"})]}),E!==null&&o.jsx("p",{className:"text-xs text-destructive",children:E}),o.jsxs("div",{className:"flex justify-end gap-1.5 pt-1",children:[o.jsx(ce,{variant:"outline",onClick:()=>m(!1),disabled:S,children:"取消"}),o.jsxs(ce,{onClick:R,disabled:S,children:[S&&o.jsx(yr,{className:"size-3.5 animate-spin"}),"保存"]})]})]})]})})]})}function Qv(t){const a=new Date(t);if(Number.isNaN(a.getTime()))return t;const r=c=>String(c).padStart(2,"0");return a.getFullYear()===new Date().getFullYear()?`${r(a.getMonth()+1)}-${r(a.getDate())}`:`${r(a.getFullYear()%100)}-${r(a.getMonth()+1)}-${r(a.getDate())}`}function i5(t,a){const r=[];return t>0&&r.push(`${t} 条关系`),a>0&&r.push(`${a} 条变更记录`),r.length>0?`已还原,连带恢复 ${r.join("、")}`:"已还原"}function c5(t){return t>0?`已还原(含 ${t} 个子节点)`:"已还原"}function u5(t){return/软删祖先\s+([^\s,,]+)/.exec(t)?.[1]??null}const Zv={character:"人物",setting:"设定",location:"地点",hook:"伏笔",event:"事件",timepoint:"时间点",reference:"参考资料"},d5={volume:"卷",chapter:"章",scene:"场"};function Jv({label:t}){return o.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:t})}function f5(){const[t,a]=h.useState(null),[r,l]=h.useState(!1),[c,d]=h.useState(null),[p,x]=h.useState(0);_s(()=>x(k=>k+1));const[y,m]=h.useState(null),[b,g]=h.useState(null);h.useEffect(()=>{let k=!1;return l(!0),d(null),qT().then(V=>{k||a(V)}).catch(V=>{k||d(V instanceof ke?V.code:ot)}).finally(()=>{k||l(!1)}),()=>{k=!0}},[p]);async function S(){x(k=>k+1)}function j(k){return k instanceof ke&&(k.code==="ENTITY_NOT_FOUND"||k.code==="OUTLINE_NODE_NOT_FOUND")}function E(k){Ee.getState().showError(k instanceof ke?k.code:ot,k instanceof ke?k.message:"操作失败,请重试")}async function w(k){try{const V=await GT(k.type,k.id);Ee.getState().showToast(i5(V.restoredRelations,V.restoredDeltas)),await S()}catch(V){if(j(V)){Ee.getState().showToast("该对象已不存在","error"),await S();return}E(V)}}async function C(k){g(null);try{const V=await Nb(k.id);Ee.getState().showToast(c5(V.restoredChildren)),await S(),Le.getState().loadOutline()}catch(V){if(V instanceof ke&&V.code==="OUTLINE_ANCESTOR_DELETED"){const M=u5(V.message);if(M===null){Ee.getState().showError("OUTLINE_ANCESTOR_DELETED","上级节点也在回收站,请先还原上级");return}g({node:k,ancestorId:M,ancestorName:t?.nodes.find(B=>B.id===M)?.title??M});return}if(j(V)){Ee.getState().showToast("该对象已不存在","error"),await S();return}E(V)}}async function N(){const k=b;if(k)try{await Nb(k.ancestorId),Le.getState().loadOutline(),await C(k.node)}catch(V){if(j(V)){Ee.getState().showToast("该对象已不存在","error"),g(null),await S();return}E(V)}}async function T(){if(y)try{y.kind==="entity"?await $T(y.item.type,y.item.id):(await XT(y.item.id),Le.getState().loadOutline()),Ee.getState().showToast("已彻底删除"),await S()}catch(k){if(j(k)){Ee.getState().showToast("该对象已不存在","error"),await S();return}throw k}}const O=t!==null&&t.entities.length===0&&t.nodes.length===0;return o.jsxs("section",{children:[o.jsxs("div",{className:"mb-1 flex items-center gap-3",children:[o.jsx("h1",{className:"text-xl font-semibold",children:"回收站"}),o.jsx(ce,{variant:"outline",type:"button",className:"ml-auto",onClick:()=>{S()},disabled:r,children:"刷新"})]}),o.jsx("p",{className:"mb-4 text-xs text-muted-foreground",children:"软删对象会保留一段时间,可在此还原,或彻底删除(不可恢复)。"}),c!==null&&o.jsxs("div",{className:ge(Mo,"mb-3"),children:[c===ot?"无法连接服务,请确认 ai-editor 服务已启动。":"回收站加载失败,请重试。",o.jsx(ce,{variant:"outline",className:"ml-3",type:"button",onClick:()=>{S()},children:"重试"})]}),r&&t===null&&c===null&&o.jsx("div",{className:"grid gap-4 md:grid-cols-2",children:[0,1].map(k=>o.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[o.jsx("div",{className:"h-9 animate-pulse bg-muted/60"}),Array.from({length:3},(V,M)=>o.jsxs("div",{className:"flex items-center gap-2 border-b border-border/70 px-3 py-2.5 last:border-0",children:[o.jsx("div",{className:"h-4 w-10 animate-pulse rounded bg-muted"}),o.jsx("div",{className:"h-4 flex-1 animate-pulse rounded bg-muted"}),o.jsx("div",{className:"h-4 w-16 animate-pulse rounded bg-muted"})]},M))]},k))}),!r&&O&&o.jsx(Kn,{children:"回收站是空的"}),t!==null&&!O&&o.jsxs("div",{className:"grid items-start gap-4 md:grid-cols-2",children:[o.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[o.jsxs("div",{className:"border-b border-border bg-muted/40 px-3 py-2 text-sm font-medium text-foreground",children:["实体 (",t.entities.length,")"]}),t.entities.length===0?o.jsx("p",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"暂无实体"}):o.jsx("ul",{className:"divide-y divide-border/70",children:t.entities.map(k=>o.jsxs("li",{className:"flex items-center gap-2 px-3 py-2",children:[o.jsx(Jv,{label:Zv[k.type]}),o.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-foreground",title:k.name,children:k.name}),o.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:xr(k.deletedAt)}),o.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[o.jsx(ce,{variant:"outline",size:"xs",type:"button",onClick:()=>{w(k)},children:"还原"}),o.jsx(ce,{variant:"outline",size:"xs",type:"button",className:"text-destructive hover:bg-destructive/10",onClick:()=>m({kind:"entity",item:k}),children:"彻底删除"})]})]},k.id))})]}),o.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[o.jsxs("div",{className:"border-b border-border bg-muted/40 px-3 py-2 text-sm font-medium text-foreground",children:["大纲节点 (",t.nodes.length,")"]}),t.nodes.length===0?o.jsx("p",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"暂无节点"}):o.jsx("ul",{className:"divide-y divide-border/70",children:t.nodes.map(k=>o.jsxs("li",{className:"px-3 py-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Jv,{label:d5[k.type]}),o.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-foreground",title:k.title,children:k.title}),o.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:xr(k.deletedAt)}),o.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[o.jsx(ce,{variant:"outline",size:"xs",type:"button",onClick:()=>{C(k)},children:"还原"}),o.jsx(ce,{variant:"outline",size:"xs",type:"button",className:"text-destructive hover:bg-destructive/10",onClick:()=>m({kind:"node",item:k}),children:"彻底删除"})]})]}),b?.node.id===k.id&&o.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm",children:[o.jsxs("span",{className:"text-destructive",children:["上级节点《",b.ancestorName,"》也在回收站,请先还原上级"]}),o.jsxs(ce,{variant:"outline",size:"xs",type:"button",className:"border-destructive/40 text-destructive hover:bg-destructive/10",onClick:()=>{N()},children:["还原上级《",b.ancestorName,"》"]})]})]},k.id))})]})]}),y&&o.jsx(zo,{title:"彻底删除",description:y.kind==="entity"?`将彻底删除《${y.item.name}》(${Zv[y.item.type]})及其关联关系、变更记录,不可恢复。`:`将彻底删除《${y.item.title}》及整棵子树、关联关系、变更记录,不可恢复。`,confirmLabel:"确认彻底删除",danger:!0,onConfirm:T,onClose:()=>m(null)})]})}function xm(t,a=new Date){const r=new Date(t);if(Number.isNaN(r.getTime()))return t;const l=p=>String(p).padStart(2,"0"),c=`${l(r.getHours())}:${l(r.getMinutes())}:${l(r.getSeconds())}`;return r.getFullYear()===a.getFullYear()?`${l(r.getMonth()+1)}-${l(r.getDate())} ${c}`:`${String(r.getFullYear()).slice(-2)}-${l(r.getMonth()+1)}-${l(r.getDate())} ${c}`}function Wv(t){return!Number.isFinite(t)||t<0?"0 B":t<1024?`${t} B`:t<1024*1024?`${Math.round(t/1024)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}const e0=[{value:null,label:"关闭"},...uE.map(t=>({value:t,label:`每 ${t} 分钟`}))],t0={auto:"自动",manual:"手动"};let Dl=0;function m5(){const t=Ee(D=>D.showToast),a=Ee(D=>D.showError),r=Ee(D=>D.notifyDataChanged),l=Le(D=>D.config),c=Le(D=>D.configLoading),d=Le(D=>D.updateConfig),p=Le(D=>D.loadConfig),x=Le(D=>D.loadOutline),[y,m]=h.useState(!1),[b,g]=h.useState(null),[S,j]=h.useState(!1),[E,w]=h.useState(null),[C,N]=h.useState(!1),[T,O]=h.useState(null),[k,V]=h.useState(""),[M,B]=h.useState(null),R=h.useRef(M);R.current=M;async function K(){if(Le.getState().config===null)return;const D=++Dl;j(!0),w(null);try{const Y=await ow();if(D!==Dl)return;g(Y.backups)}catch(Y){if(D!==Dl)return;const H=Y instanceof ke?Y.code:ot;w(H)}finally{D===Dl&&j(!1)}}const Q=l?.id??null,oe=h.useRef(null);h.useEffect(()=>{if(Q===null){Dl++,g(null),w(null),O(null),B(null),oe.current=null;return}oe.current!==Q&&(oe.current=Q,K())},[Q]);async function te(D){if(l===null)return;const Y=D==="null"?null:Number(D);if(Y!==l.backupFrequencyMinutes){m(!0);try{await d({backup_frequency_minutes:Y}),t(Y===null?"已关闭自动备份":`自动备份频率已设为每 ${Y} 分钟`)}catch(H){H instanceof ke&&H.code===ot?a("CLIENT_NETWORK_ERROR","无法连接服务,频率未保存"):t("频率保存失败,请重试","error")}finally{m(!1)}}}async function Z(){if(!(l===null||C)){N(!0);try{const D=k.trim();await lw(D.length>0?D:void 0),V(""),t(D.length>0?`已备份「${D}」`:"已备份"),await K()}catch(D){t(D instanceof ke&&D.code!==ot?D.message:"无法连接服务,备份失败","error")}finally{N(!1)}}}async function ne(){if(T===null)return;const D=await iw(T.fileName);t(`已恢复备份,覆盖前状态已自动快照(${D.snapshot.fileName})`),await Promise.all([p(),x()]),r(),st.getState().clearSessions(),st.getState().loadSessions(),K()}async function U(){if(M===null||M.saving)return;const D=b?.find(H=>H.fileName===M.fileName)?.name??"",Y=M.value.trim();if(Y===D){B(null);return}B({...M,saving:!0,error:null});try{await cw(M.fileName,M.value),B(null),t(Y.length>0?`已重命名「${Y}」`:"已清除备份名称"),await K()}catch(H){const F=H instanceof ke&&H.code!==ot?H.message:"无法连接服务,重命名失败";if(R.current===null){t(F,"error");return}B(z=>z===null?z:{...z,saving:!1,error:F})}}const _=l===null?"":e0.some(D=>String(D.value)===String(l.backupFrequencyMinutes))?String(l.backupFrequencyMinutes):"null";return o.jsxs("div",{children:[o.jsx("h2",{className:"mb-1 text-sm font-semibold text-foreground",children:"自动备份"}),o.jsx("p",{className:"mb-2 text-xs text-muted-foreground",children:"跟随书籍:备份与频率均为本项目独立;服务运行期间按频率自动备份,有变更才生成新备份;每项目保留最近 20 份"}),o.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[o.jsx("select",{value:_,onChange:D=>{te(D.target.value)},disabled:l===null||y,"aria-label":"自动备份频率",className:"rounded-lg border border-input bg-transparent px-2.5 py-1.5 text-sm outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50",children:e0.map(D=>o.jsx("option",{value:String(D.value),children:D.label},String(D.value)))}),o.jsx("input",{autoComplete:"off",value:k,onChange:D=>V(D.target.value),maxLength:lb,placeholder:"备份名称(可选)","aria-label":"备份名称(可选)",disabled:l===null,className:"w-36 rounded-lg border border-input bg-transparent px-2.5 py-1.5 text-sm outline-none placeholder:text-muted-foreground/60 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50"}),o.jsxs(ce,{onClick:()=>{Z()},disabled:l===null||C,type:"button",children:[C?o.jsx(yr,{className:"size-4 animate-spin"}):null,"立即备份"]})]}),l===null&&!c&&o.jsx("p",{className:"mt-1 text-xs text-muted-foreground/70",children:"打开项目后可用"}),l!==null&&o.jsxs("div",{className:"mt-3",children:[o.jsx("p",{className:"mb-1 text-xs font-medium text-muted-foreground",children:"历史备份"}),o.jsx("div",{className:"overflow-hidden rounded-lg border border-border",children:S&&b===null?o.jsxs("div",{className:"space-y-1 p-2",children:[o.jsx("div",{className:ge(jt,"h-7 rounded-md")}),o.jsx("div",{className:ge(jt,"h-7 rounded-md")})]}):E!==null?o.jsxs("div",{className:"flex items-center justify-between px-2 py-2",children:[o.jsx("p",{className:"text-xs text-muted-foreground",children:E===ot?"无法连接服务":"备份列表加载失败"}),o.jsx(ce,{variant:"outline",size:"xs",onClick:()=>{K()},children:"重试"})]}):b!==null&&b.length===0?o.jsx("p",{className:"px-2 py-3 text-xs text-muted-foreground/70",children:"暂无备份,自动备份将在数据变更后按频率生成"}):b!==null?o.jsx("ul",{className:"divide-y divide-border",children:b.map(D=>{const Y=M!==null&&M.fileName===D.fileName;return o.jsxs("li",{className:"px-2 py-1.5",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsxs("span",{className:"min-w-0 flex-1 text-sm",title:D.fileName,children:[o.jsx("span",{className:"text-muted-foreground",children:xm(D.createdAt)}),o.jsx("span",{className:D.kind==="manual"?"ml-1.5 rounded border border-primary/40 px-1 text-[10px] leading-4 text-primary":"ml-1.5 rounded border border-border px-1 text-[10px] leading-4 text-muted-foreground",children:t0[D.kind]}),!Y&&D.name!==void 0?o.jsx("span",{className:"ml-1.5 font-medium text-foreground",children:D.name}):null]}),Y?null:o.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:Wv(D.size)}),Y?o.jsxs(o.Fragment,{children:[o.jsx("input",{autoComplete:"off",value:M.value,onChange:H=>B(F=>F===null?F:{...F,value:H.target.value,error:null}),onKeyDown:H=>{H.key==="Enter"?U():H.key==="Escape"&&B(null)},onBlur:()=>{R.current?.saving||B(null)},maxLength:lb,disabled:M.saving,autoFocus:!0,"aria-label":"备份新名称",className:"w-36 shrink-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-sm outline-none placeholder:text-muted-foreground/60 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50"}),o.jsx(ce,{size:"icon-xs",variant:"ghost",onClick:()=>{U()},disabled:M.saving,onMouseDown:H=>H.preventDefault(),"aria-label":"确认重命名",title:"确认(Enter)",children:M.saving?o.jsx(yr,{className:"size-3 animate-spin"}):o.jsx(o0,{className:"size-3"})}),o.jsx(ce,{size:"icon-xs",variant:"ghost",onClick:()=>B(null),disabled:M.saving,onMouseDown:H=>H.preventDefault(),"aria-label":"取消重命名",title:"取消(Esc)",children:o.jsx(da,{className:"size-3"})})]}):o.jsxs(o.Fragment,{children:[o.jsx(ce,{size:"icon-xs",variant:"ghost",onClick:()=>B({fileName:D.fileName,value:D.name??"",saving:!1,error:null}),"aria-label":`重命名备份 ${xm(D.createdAt)}`,title:"重命名",children:o.jsx(jr,{className:"size-3"})}),o.jsx(ce,{variant:"outline",size:"xs",onClick:()=>O(D),children:"加载"})]})]}),Y&&M.error!==null?o.jsx("p",{className:"mt-1 text-xs text-destructive",children:M.error}):null]},D.fileName)})}):null})]}),T!==null&&o.jsx(zo,{title:"加载备份",description:`${xm(T.createdAt)} · ${t0[T.kind]}${T.name!==void 0?` · ${T.name}`:""} · ${Wv(T.size)}。将覆盖当前项目数据;覆盖前会自动备份当前状态(可回退)`,confirmLabel:"确认加载",danger:!0,onConfirm:ne,onClose:()=>O(null)})]})}function zl(t){return t instanceof ke?t.code:ot}function p5(){const t=Ee(H=>H.showToast),a=Ee(H=>H.showError),r=Ee(H=>H.notifyDataChanged),l=Le(H=>H.config),c=Le(H=>H.configLoading),d=Le(H=>H.updateConfig),[p,x]=h.useState(!0),[y,m]=h.useState(""),[b,g]=h.useState(!1),[S,j]=h.useState(void 0),[E,w]=h.useState(""),[C,N]=h.useState(!1),[T,O]=h.useState(null),[k,V]=h.useState(null),[M,B]=h.useState(""),[R,K]=h.useState(null),[Q,oe]=h.useState(!1),[te,Z]=h.useState(null);async function ne(){try{const H=await k0();m(H.model),g(H.apiKeySet),j(H.apiKeyMasked)}catch(H){a(zl(H),"读取 LLM 配置失败")}finally{x(!1)}}h.useEffect(()=>{ne()},[]),h.useEffect(()=>{const H=Le.getState();H.config===null&&!H.configLoading&&H.loadConfig()},[]),h.useEffect(()=>{if(l===null){K(null);return}l.id!==R&&(B(l.prompt),K(l.id))},[l,R]);async function U(){Z(null),oe(!0);try{const H=M.trim();await d({prompt:H}),B(H),t("提示词已保存,仅影响新请求"),r()}catch(H){zl(H)===ot?a("CLIENT_NETWORK_ERROR","无法连接服务,提示词未保存"):Z("保存失败,请重试")}finally{oe(!1)}}async function _(){if(!y.trim()){O("模型名不能为空");return}O(null),N(!0);try{await Pl({model:y.trim()}),t("已保存,仅影响新请求"),m(y.trim())}catch(H){zl(H)===ot?a("CLIENT_NETWORK_ERROR","无法连接服务,模型配置未保存"):O("保存失败,请重试")}finally{N(!1)}}async function D(){if(!E.trim()){V("请输入新 key");return}V(null),N(!0);try{await Pl({api_key:E.trim()}),w(""),t("Key 已保存,仅影响新请求"),await ne()}catch(H){zl(H)===ot?a("CLIENT_NETWORK_ERROR","无法连接服务,Key 未保存"):V("保存失败,请重试")}finally{N(!1)}}async function Y(){V(null),N(!0);try{await Pl({api_key:""}),w(""),t("Key 已清除"),await ne()}catch(H){zl(H)===ot?a("CLIENT_NETWORK_ERROR","无法连接服务,Key 未清除"):V("清除失败,请重试")}finally{N(!1)}}return o.jsxs("section",{className:"max-w-lg",children:[o.jsx("h1",{className:"mb-4 text-xl font-semibold",children:"设置"}),p?o.jsx("p",{className:"text-sm text-muted-foreground",children:"加载中…"}):o.jsxs("div",{className:"flex flex-col gap-6",children:[o.jsxs("div",{children:[o.jsx("h2",{className:"mb-1 text-sm font-semibold text-foreground",children:"AI 模型"}),o.jsx("p",{className:"mb-2 text-xs text-muted-foreground",children:"默认 deepseek-v4-flash(可在服务端设置页或环境变量覆盖)"}),o.jsxs("div",{className:"flex max-w-sm gap-2",children:[o.jsx(Et,{value:y,onChange:H=>m(H.target.value),placeholder:"deepseek-v4-flash"}),o.jsx(ce,{onClick:()=>{_()},disabled:C,type:"button",children:"保存设置"})]}),T&&o.jsx("p",{className:"mt-1 text-sm text-destructive",children:T})]}),o.jsxs("div",{children:[o.jsx("h2",{className:"mb-1 text-sm font-semibold text-foreground",children:"API Key"}),o.jsxs("p",{className:"mb-2 text-xs text-muted-foreground",children:["状态:",b?`已配置(${S??""})`:"未配置"]}),o.jsxs("div",{className:"flex max-w-sm gap-2",children:[o.jsx(Et,{value:E,onChange:H=>w(H.target.value),placeholder:"输入新 key(覆盖旧 key)"}),o.jsx(ce,{onClick:()=>{D()},disabled:C,type:"button",children:"保存 Key"}),o.jsx(ce,{variant:"outline",onClick:()=>{Y()},disabled:C,type:"button",children:"清除 Key"})]}),k&&o.jsx("p",{className:"mt-1 text-sm text-destructive",children:k})]}),o.jsxs("div",{className:"rounded-md border border-border bg-muted/50 p-3 text-xs leading-relaxed text-muted-foreground",children:[o.jsx("p",{children:"· key 保存在用户目录配置文件(~/.ai-editor/config.json),不写入项目文件(决策 17)"}),o.jsx("p",{children:"· 环境变量 DEEPSEEK_API_KEY 优先于此处配置;保存的 key 仅影响新请求"})]}),o.jsxs("div",{children:[o.jsx("h2",{className:"mb-1 text-sm font-semibold text-foreground",children:"项目提示词"}),o.jsx("p",{className:"mb-2 text-xs text-muted-foreground",children:"注入 AI 上下文「## 项目设定」段(每轮有效);承载项目级规则/行业要求;空 = 整段跳过"}),o.jsx("p",{className:"mb-2 text-xs text-muted-foreground/70",children:"建议用 ### 及以下层级的小标题组织内容(如「### 写作规则」);避免使用 ## 顶层标题(与系统分段标题冲突)"}),o.jsx("textarea",{value:M,onChange:H=>B(H.target.value),rows:6,disabled:l===null||l.id!==R,placeholder:"输入项目级规则/行业要求…",className:"w-full resize-y rounded-lg border border-input bg-transparent px-2.5 py-1.5 text-sm outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50"}),o.jsxs("div",{className:"mt-2 flex items-center gap-3",children:[o.jsx(ce,{onClick:()=>{U()},disabled:Q||l===null||l.id!==R,type:"button",children:"保存提示词"}),l===null&&!c&&o.jsx("p",{className:"text-xs text-muted-foreground/70",children:"打开项目后可用"})]}),te&&o.jsx("p",{className:"mt-1 text-sm text-destructive",children:te})]}),o.jsx(m5,{})]})]})}function h5(t){const[a,r,l]=t.segments;switch(a){case void 0:return o.jsx(Ev,{});case"outline":return r!==void 0?o.jsx(K3,{nodeId:r},r):o.jsx(j3,{});case"entities":{if(r==="relations")return o.jsx(mm,{type:"relations"});if(r==="setting-tree")return o.jsx(mm,{type:"setting-tree"});const c=r!==void 0&&Co.includes(r)?r:"character";return l!==void 0?o.jsx(EA,{type:c,id:l},`${c}:${l}`):o.jsx(mm,{type:c})}case"hooks":return o.jsx(YA,{});case"timeline":return r!==void 0?o.jsx(s5,{id:r},r):o.jsx(t5,{});case"references":return r!==void 0?o.jsx(l5,{id:r},r):o.jsx(r5,{});case"trash":return o.jsx(f5,{});case"settings":return o.jsx(p5,{});default:return o.jsx(Ev,{})}}function g5(){const t=fE();return o.jsx(f3,{route:t,children:h5(t)})}const YS=document.getElementById("root");if(!YS)throw new Error("#root 元素缺失(index.html)");cE.createRoot(YS).render(o.jsx(h.StrictMode,{children:o.jsx(m3,{children:o.jsx(g5,{})})}));