x&&(x=C),p&=~w}if(p=x,p=bt()-p,p=(120>p?120:480>p?480:1080>p?1080:1920>p?1920:3e3>p?3e3:4320>p?4320:1960*H4(p/1960))-p,10a?16:a,Hi===null)var p=!1;else{if(a=Hi,Hi=null,ad=0,(qe&6)!==0)throw Error(r(331));var x=qe;for(qe|=4,ke=a.current;ke!==null;){var w=ke,C=w.child;if((ke.flags&16)!==0){var D=w.deletions;if(D!==null){for(var R=0;Rbt()-Tp?Ia(a,0):Ip|=d),br(a,s)}function V1(a,s){s===0&&((a.mode&1)===0?s=1:(s=pc,pc<<=1,(pc&130023424)===0&&(pc=4194304)));var d=cr();a=Zn(a,s),a!==null&&(ml(a,s,d),br(a,d))}function Q4(a){var s=a.memoizedState,d=0;s!==null&&(d=s.retryLane),V1(a,d)}function Y4(a,s){var d=0;switch(a.tag){case 13:var p=a.stateNode,x=a.memoizedState;x!==null&&(d=x.retryLane);break;case 19:p=a.stateNode;break;default:throw Error(r(314))}p!==null&&p.delete(s),V1(a,d)}var q1;q1=function(a,s,d){if(a!==null)if(a.memoizedProps!==s.pendingProps||gr.current)yr=!0;else{if((a.lanes&d)===0&&(s.flags&128)===0)return yr=!1,L4(a,s,d);yr=(a.flags&131072)!==0}else yr=!1,ut&&(s.flags&1048576)!==0&&Ab(s,Lc,s.index);switch(s.lanes=0,s.tag){case 2:var p=s.type;Zc(a,s),a=s.pendingProps;var x=$o(s,er.current);Wo(s,d),x=dp(null,s,p,a,x,d);var w=fp();return s.flags|=1,typeof x=="object"&&x!==null&&typeof x.render=="function"&&x.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,vr(p)?(w=!0,Tc(s)):w=!1,s.memoizedState=x.state!==null&&x.state!==void 0?x.state:null,ip(s),x.updater=Yc,s.stateNode=x,x._reactInternals=s,yp(s,p,a,d),s=kp(null,s,p,!0,w,d)):(s.tag=0,ut&&w&&qm(s),ur(null,s,x,d),s=s.child),s;case 16:p=s.elementType;e:{switch(Zc(a,s),a=s.pendingProps,x=p._init,p=x(p._payload),s.type=p,x=s.tag=Z4(p),a=cn(p,a),x){case 0:s=wp(null,s,p,a,d);break e;case 1:s=b1(null,s,p,a,d);break e;case 11:s=p1(null,s,p,a,d);break e;case 14:s=g1(null,s,p,cn(p.type,a),d);break e}throw Error(r(306,p,""))}return s;case 0:return p=s.type,x=s.pendingProps,x=s.elementType===p?x:cn(p,x),wp(a,s,p,x,d);case 1:return p=s.type,x=s.pendingProps,x=s.elementType===p?x:cn(p,x),b1(a,s,p,x,d);case 3:e:{if(w1(s),a===null)throw Error(r(387));p=s.pendingProps,w=s.memoizedState,x=w.element,Rb(a,s),Hc(s,p,null,d);var C=s.memoizedState;if(p=C.element,w.isDehydrated)if(w={element:p,isDehydrated:!1,cache:C.cache,pendingSuspenseBoundaries:C.pendingSuspenseBoundaries,transitions:C.transitions},s.updateQueue.baseState=w,s.memoizedState=w,s.flags&256){x=Go(Error(r(423)),s),s=k1(a,s,p,d,x);break e}else if(p!==x){x=Go(Error(r(424)),s),s=k1(a,s,p,d,x);break e}else for(_r=Di(s.stateNode.containerInfo.firstChild),Or=s,ut=!0,un=null,d=Tb(s,null,p,d),s.child=d;d;)d.flags=d.flags&-3|4096,d=d.sibling;else{if(Bo(),p===x){s=ei(a,s,d);break e}ur(a,s,p,d)}s=s.child}return s;case 5:return zb(s),a===null&&Xm(s),p=s.type,x=s.pendingProps,w=a!==null?a.memoizedProps:null,C=x.children,Um(p,x)?C=null:w!==null&&Um(p,w)&&(s.flags|=32),x1(a,s),ur(a,s,C,d),s.child;case 6:return a===null&&Xm(s),null;case 13:return j1(a,s,d);case 4:return ap(s,s.stateNode.containerInfo),p=s.pendingProps,a===null?s.child=Uo(s,null,p,d):ur(a,s,p,d),s.child;case 11:return p=s.type,x=s.pendingProps,x=s.elementType===p?x:cn(p,x),p1(a,s,p,x,d);case 7:return ur(a,s,s.pendingProps,d),s.child;case 8:return ur(a,s,s.pendingProps.children,d),s.child;case 12:return ur(a,s,s.pendingProps.children,d),s.child;case 10:e:{if(p=s.type._context,x=s.pendingProps,w=s.memoizedProps,C=x.value,tt(Fc,p._currentValue),p._currentValue=C,w!==null)if(ln(w.value,C)){if(w.children===x.children&&!gr.current){s=ei(a,s,d);break e}}else for(w=s.child,w!==null&&(w.return=s);w!==null;){var D=w.dependencies;if(D!==null){C=w.child;for(var R=D.firstContext;R!==null;){if(R.context===p){if(w.tag===1){R=Jn(-1,d&-d),R.tag=2;var Y=w.updateQueue;if(Y!==null){Y=Y.shared;var ce=Y.pending;ce===null?R.next=R:(R.next=ce.next,ce.next=R),Y.pending=R}}w.lanes|=d,R=w.alternate,R!==null&&(R.lanes|=d),rp(w.return,d,s),D.lanes|=d;break}R=R.next}}else if(w.tag===10)C=w.type===s.type?null:w.child;else if(w.tag===18){if(C=w.return,C===null)throw Error(r(341));C.lanes|=d,D=C.alternate,D!==null&&(D.lanes|=d),rp(C,d,s),C=w.sibling}else C=w.child;if(C!==null)C.return=w;else for(C=w;C!==null;){if(C===s){C=null;break}if(w=C.sibling,w!==null){w.return=C.return,C=w;break}C=C.return}w=C}ur(a,s,x.children,d),s=s.child}return s;case 9:return x=s.type,p=s.pendingProps.children,Wo(s,d),x=Hr(x),p=p(x),s.flags|=1,ur(a,s,p,d),s.child;case 14:return p=s.type,x=cn(p,s.pendingProps),x=cn(p.type,x),g1(a,s,p,x,d);case 15:return v1(a,s,s.type,s.pendingProps,d);case 17:return p=s.type,x=s.pendingProps,x=s.elementType===p?x:cn(p,x),Zc(a,s),s.tag=1,vr(p)?(a=!0,Tc(s)):a=!1,Wo(s,d),l1(s,p,x),yp(s,p,x,d),kp(null,s,p,!0,a,d);case 19:return N1(a,s,d);case 22:return y1(a,s,d)}throw Error(r(156,s.tag))};function Q1(a,s){return Cx(a,s)}function X4(a,s,d,p){this.tag=a,this.key=d,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=p,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gr(a,s,d,p){return new X4(a,s,d,p)}function Up(a){return a=a.prototype,!(!a||!a.isReactComponent)}function Z4(a){if(typeof a=="function")return Up(a)?1:0;if(a!=null){if(a=a.$$typeof,a===U)return 11;if(a===pe)return 14}return 2}function Gi(a,s){var d=a.alternate;return d===null?(d=Gr(a.tag,s,a.key,a.mode),d.elementType=a.elementType,d.type=a.type,d.stateNode=a.stateNode,d.alternate=a,a.alternate=d):(d.pendingProps=s,d.type=a.type,d.flags=0,d.subtreeFlags=0,d.deletions=null),d.flags=a.flags&14680064,d.childLanes=a.childLanes,d.lanes=a.lanes,d.child=a.child,d.memoizedProps=a.memoizedProps,d.memoizedState=a.memoizedState,d.updateQueue=a.updateQueue,s=a.dependencies,d.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},d.sibling=a.sibling,d.index=a.index,d.ref=a.ref,d}function ud(a,s,d,p,x,w){var C=2;if(p=a,typeof a=="function")Up(a)&&(C=1);else if(typeof a=="string")C=5;else e:switch(a){case T:return Da(d.children,x,w,s);case B:C=8,x|=8;break;case $:return a=Gr(12,d,s,x|2),a.elementType=$,a.lanes=w,a;case ve:return a=Gr(13,d,s,x),a.elementType=ve,a.lanes=w,a;case ue:return a=Gr(19,d,s,x),a.elementType=ue,a.lanes=w,a;case se:return cd(d,x,w,s);default:if(typeof a=="object"&&a!==null)switch(a.$$typeof){case z:C=10;break e;case Q:C=9;break e;case U:C=11;break e;case pe:C=14;break e;case oe:C=16,p=null;break e}throw Error(r(130,a==null?a:typeof a,""))}return s=Gr(C,d,s,x),s.elementType=a,s.type=p,s.lanes=w,s}function Da(a,s,d,p){return a=Gr(7,a,p,s),a.lanes=d,a}function cd(a,s,d,p){return a=Gr(22,a,p,s),a.elementType=se,a.lanes=d,a.stateNode={isHidden:!1},a}function Hp(a,s,d){return a=Gr(6,a,null,s),a.lanes=d,a}function Wp(a,s,d){return s=Gr(4,a.children!==null?a.children:[],a.key,s),s.lanes=d,s.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},s}function J4(a,s,d,p,x){this.tag=s,this.containerInfo=a,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=vm(0),this.expirationTimes=vm(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=vm(0),this.identifierPrefix=p,this.onRecoverableError=x,this.mutableSourceEagerHydrationData=null}function Kp(a,s,d,p,x,w,C,D,R){return a=new J4(a,s,d,D,R),s===1?(s=1,w===!0&&(s|=8)):s=0,w=Gr(3,null,null,s),a.current=w,w.stateNode=a,w.memoizedState={element:p,isDehydrated:d,cache:null,transitions:null,pendingSuspenseBoundaries:null},ip(w),a}function e3(a,s,d){var p=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Zp.exports=m3(),Zp.exports}var cw;function p3(){if(cw)return yd;cw=1;var e=kN();return yd.createRoot=e.createRoot,yd.hydrateRoot=e.hydrateRoot,yd}var g3=p3();const v3=b0(g3);var Hu=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Za,ra,ws,fN,y3=(fN=class extends Hu{constructor(){super();De(this,Za);De(this,ra);De(this,ws);be(this,ws,t=>{if(typeof window<"u"&&window.addEventListener){const r=()=>t();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){L(this,ra)||this.setEventListener(L(this,ws))}onUnsubscribe(){var t;this.hasListeners()||((t=L(this,ra))==null||t.call(this),be(this,ra,void 0))}setEventListener(t){var r;be(this,ws,t),(r=L(this,ra))==null||r.call(this),be(this,ra,t(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()}))}setFocused(t){L(this,Za)!==t&&(be(this,Za,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(r=>{r(t)})}isFocused(){var t;return typeof L(this,Za)=="boolean"?L(this,Za):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Za=new WeakMap,ra=new WeakMap,ws=new WeakMap,fN),k0=new y3,x3={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},na,x0,hN,b3=(hN=class{constructor(){De(this,na,x3);De(this,x0,!1)}setTimeoutProvider(e){be(this,na,e)}setTimeout(e,t){return L(this,na).setTimeout(e,t)}clearTimeout(e){L(this,na).clearTimeout(e)}setInterval(e,t){return L(this,na).setInterval(e,t)}clearInterval(e){L(this,na).clearInterval(e)}},na=new WeakMap,x0=new WeakMap,hN),Ga=new b3;function w3(e){setTimeout(e,0)}var k3=typeof window>"u"||"Deno"in globalThis;function jr(){}function j3(e,t){return typeof e=="function"?e(t):e}function Vg(e){return typeof e=="number"&&e>=0&&e!==1/0}function jN(e,t){return Math.max(e+(t||0)-Date.now(),0)}function da(e,t){return typeof e=="function"?e(t):e}function Dr(e,t){return typeof e=="function"?e(t):e}function dw(e,t){const{type:r="all",exact:n,fetchStatus:i,predicate:o,queryKey:u,stale:c}=e;if(u){if(n){if(t.queryHash!==j0(u,t.options))return!1}else if(!gu(t.queryKey,u))return!1}if(r!=="all"){const f=t.isActive();if(r==="active"&&!f||r==="inactive"&&f)return!1}return!(typeof c=="boolean"&&t.isStale()!==c||i&&i!==t.state.fetchStatus||o&&!o(t))}function fw(e,t){const{exact:r,status:n,predicate:i,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(r){if(pu(t.options.mutationKey)!==pu(o))return!1}else if(!gu(t.options.mutationKey,o))return!1}return!(n&&t.state.status!==n||i&&!i(t))}function j0(e,t){return((t==null?void 0:t.queryKeyHashFn)||pu)(e)}function pu(e){return JSON.stringify(e,(t,r)=>Qg(r)?Object.keys(r).sort().reduce((n,i)=>(n[i]=r[i],n),{}):r)}function gu(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(r=>gu(e[r],t[r])):!1}var S3=Object.prototype.hasOwnProperty;function SN(e,t,r=0){if(e===t)return e;if(r>500)return t;const n=hw(e)&&hw(t);if(!n&&!(Qg(e)&&Qg(t)))return t;const o=(n?e:Object.keys(e)).length,u=n?t:Object.keys(t),c=u.length,f=n?new Array(c):{};let h=0;for(let m=0;m{Ga.setTimeout(t,e)})}function Yg(e,t,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,t):r.structuralSharing!==!1?SN(e,t):t}function E3(e,t,r=0){const n=[...e,t];return r&&n.length>r?n.slice(1):n}function A3(e,t,r=0){const n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var S0=Symbol();function NN(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===S0?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function EN(e,t){return typeof e=="function"?e(...t):!!e}function C3(e,t,r){let n=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??(i=t()),n||(n=!0,i.aborted?r():i.addEventListener("abort",r,{once:!0})),i)}),e}var vu=(()=>{let e=()=>k3;return{isServer(){return e()},setIsServer(t){e=t}}})();function Xg(){let e,t;const r=new Promise((i,o)=>{e=i,t=o});r.status="pending",r.catch(()=>{});function n(i){Object.assign(r,i),delete r.resolve,delete r.reject}return r.resolve=i=>{n({status:"fulfilled",value:i}),e(i)},r.reject=i=>{n({status:"rejected",reason:i}),t(i)},r}var P3=w3;function O3(){let e=[],t=0,r=c=>{c()},n=c=>{c()},i=P3;const o=c=>{t?e.push(c):i(()=>{r(c)})},u=()=>{const c=e;e=[],c.length&&i(()=>{n(()=>{c.forEach(f=>{r(f)})})})};return{batch:c=>{let f;t++;try{f=c()}finally{t--,t||u()}return f},batchCalls:c=>(...f)=>{o(()=>{c(...f)})},schedule:o,setNotifyFunction:c=>{r=c},setBatchNotifyFunction:c=>{n=c},setScheduler:c=>{i=c}}}var Gt=O3(),ks,ia,js,mN,_3=(mN=class extends Hu{constructor(){super();De(this,ks,!0);De(this,ia);De(this,js);be(this,js,t=>{if(typeof window<"u"&&window.addEventListener){const r=()=>t(!0),n=()=>t(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",n)}}})}onSubscribe(){L(this,ia)||this.setEventListener(L(this,js))}onUnsubscribe(){var t;this.hasListeners()||((t=L(this,ia))==null||t.call(this),be(this,ia,void 0))}setEventListener(t){var r;be(this,js,t),(r=L(this,ia))==null||r.call(this),be(this,ia,t(this.setOnline.bind(this)))}setOnline(t){L(this,ks)!==t&&(be(this,ks,t),this.listeners.forEach(n=>{n(t)}))}isOnline(){return L(this,ks)}},ks=new WeakMap,ia=new WeakMap,js=new WeakMap,mN),tf=new _3;function M3(e){return Math.min(1e3*2**e,3e4)}function AN(e){return(e??"online")==="online"?tf.isOnline():!0}var Zg=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function CN(e){let t=!1,r=0,n;const i=Xg(),o=()=>i.status!=="pending",u=k=>{var S;if(!o()){const N=new Zg(k);v(N),(S=e.onCancel)==null||S.call(e,N)}},c=()=>{t=!0},f=()=>{t=!1},h=()=>k0.isFocused()&&(e.networkMode==="always"||tf.isOnline())&&e.canRun(),m=()=>AN(e.networkMode)&&e.canRun(),g=k=>{o()||(n==null||n(),i.resolve(k))},v=k=>{o()||(n==null||n(),i.reject(k))},b=()=>new Promise(k=>{var S;n=N=>{(o()||h())&&k(N)},(S=e.onPause)==null||S.call(e)}).then(()=>{var k;n=void 0,o()||(k=e.onContinue)==null||k.call(e)}),j=()=>{if(o())return;let k;const S=r===0?e.initialPromise:void 0;try{k=S??e.fn()}catch(N){k=Promise.reject(N)}Promise.resolve(k).then(g).catch(N=>{var O;if(o())return;const E=e.retry??(vu.isServer()?0:3),A=e.retryDelay??M3,P=typeof A=="function"?A(r,N):A,_=E===!0||typeof E=="number"&&rh()?void 0:b()).then(()=>{t?v(N):j()})})};return{promise:i,status:()=>i.status,cancel:u,continue:()=>(n==null||n(),i),cancelRetry:c,continueRetry:f,canStart:m,start:()=>(m()?j():b().then(j),i)}}var Ja,pN,PN=(pN=class{constructor(){De(this,Ja)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Vg(this.gcTime)&&be(this,Ja,Ga.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(vu.isServer()?1/0:300*1e3))}clearGcTimeout(){L(this,Ja)!==void 0&&(Ga.clearTimeout(L(this,Ja)),be(this,Ja,void 0))}},Ja=new WeakMap,pN);function I3(e){return{onFetch:(t,r)=>{var m,g,v,b,j;const n=t.options,i=(v=(g=(m=t.fetchOptions)==null?void 0:m.meta)==null?void 0:g.fetchMore)==null?void 0:v.direction,o=((b=t.state.data)==null?void 0:b.pages)||[],u=((j=t.state.data)==null?void 0:j.pageParams)||[];let c={pages:[],pageParams:[]},f=0;const h=async()=>{let k=!1;const S=A=>{C3(A,()=>t.signal,()=>k=!0)},N=NN(t.options,t.fetchOptions),E=async(A,P,_)=>{if(k)return Promise.reject(t.signal.reason);if(P==null&&A.pages.length)return Promise.resolve(A);const T=(()=>{const Q={client:t.client,queryKey:t.queryKey,pageParam:P,direction:_?"backward":"forward",meta:t.options.meta};return S(Q),Q})(),B=await N(T),{maxPages:$}=t.options,z=_?A3:E3;return{pages:z(A.pages,B,$),pageParams:z(A.pageParams,P,$)}};if(i&&o.length){const A=i==="backward",P=A?T3:pw,_={pages:o,pageParams:u},O=P(n,_);c=await E(_,O,A)}else{const A=e??o.length;do{const P=f===0?u[0]??n.initialPageParam:pw(n,c);if(f>0&&P==null)break;c=await E(c,P),f++}while(f{var k,S;return(S=(k=t.options).persister)==null?void 0:S.call(k,h,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r)}:t.fetchFn=h}}}function pw(e,{pages:t,pageParams:r}){const n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}function T3(e,{pages:t,pageParams:r}){var n;return t.length>0?(n=e.getPreviousPageParam)==null?void 0:n.call(e,t[0],t,r[0],r):void 0}var Ss,eo,Ns,qr,to,Dt,$u,ro,Tr,ON,ii,gN,D3=(gN=class extends PN{constructor(t){super();De(this,Tr);De(this,Ss);De(this,eo);De(this,Ns);De(this,qr);De(this,to);De(this,Dt);De(this,$u);De(this,ro);be(this,ro,!1),be(this,$u,t.defaultOptions),this.setOptions(t.options),this.observers=[],be(this,to,t.client),be(this,qr,L(this,to).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,be(this,eo,vw(this.options)),this.state=t.state??L(this,eo),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return L(this,Ss)}get promise(){var t;return(t=L(this,Dt))==null?void 0:t.promise}setOptions(t){if(this.options={...L(this,$u),...t},t!=null&&t._type&&be(this,Ss,t._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const r=vw(this.options);r.data!==void 0&&(this.setState(gw(r.data,r.dataUpdatedAt)),be(this,eo,r))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&L(this,qr).remove(this)}setData(t,r){const n=Yg(this.state.data,t,this.options);return He(this,Tr,ii).call(this,{data:n,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),n}setState(t){He(this,Tr,ii).call(this,{type:"setState",state:t})}cancel(t){var n,i;const r=(n=L(this,Dt))==null?void 0:n.promise;return(i=L(this,Dt))==null||i.cancel(t),r?r.then(jr).catch(jr):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return L(this,eo)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>Dr(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===S0||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>da(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!jN(this.state.dataUpdatedAt,t)}onFocus(){var r;const t=this.observers.find(n=>n.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(r=L(this,Dt))==null||r.continue()}onOnline(){var r;const t=this.observers.find(n=>n.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(r=L(this,Dt))==null||r.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),L(this,qr).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(r=>r!==t),this.observers.length||(L(this,Dt)&&(L(this,ro)||He(this,Tr,ON).call(this)?L(this,Dt).cancel({revert:!0}):L(this,Dt).cancelRetry()),this.scheduleGc()),L(this,qr).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||He(this,Tr,ii).call(this,{type:"invalidate"})}async fetch(t,r){var h,m,g,v,b,j,k,S,N,E,A;if(this.state.fetchStatus!=="idle"&&((h=L(this,Dt))==null?void 0:h.status())!=="rejected"){if(this.state.data!==void 0&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if(L(this,Dt))return L(this,Dt).continueRetry(),L(this,Dt).promise}if(t&&this.setOptions(t),!this.options.queryFn){const P=this.observers.find(_=>_.options.queryFn);P&&this.setOptions(P.options)}const n=new AbortController,i=P=>{Object.defineProperty(P,"signal",{enumerable:!0,get:()=>(be(this,ro,!0),n.signal)})},o=()=>{const P=NN(this.options,r),O=(()=>{const T={client:L(this,to),queryKey:this.queryKey,meta:this.meta};return i(T),T})();return be(this,ro,!1),this.options.persister?this.options.persister(P,O,this):P(O)},c=(()=>{const P={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:L(this,to),state:this.state,fetchFn:o};return i(P),P})(),f=L(this,Ss)==="infinite"?I3(this.options.pages):this.options.behavior;f==null||f.onFetch(c,this),be(this,Ns,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((m=c.fetchOptions)==null?void 0:m.meta))&&He(this,Tr,ii).call(this,{type:"fetch",meta:(g=c.fetchOptions)==null?void 0:g.meta}),be(this,Dt,CN({initialPromise:r==null?void 0:r.initialPromise,fn:c.fetchFn,onCancel:P=>{P instanceof Zg&&P.revert&&this.setState({...L(this,Ns),fetchStatus:"idle"}),n.abort()},onFail:(P,_)=>{He(this,Tr,ii).call(this,{type:"failed",failureCount:P,error:_})},onPause:()=>{He(this,Tr,ii).call(this,{type:"pause"})},onContinue:()=>{He(this,Tr,ii).call(this,{type:"continue"})},retry:c.options.retry,retryDelay:c.options.retryDelay,networkMode:c.options.networkMode,canRun:()=>!0}));try{const P=await L(this,Dt).start();if(P===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(P),(b=(v=L(this,qr).config).onSuccess)==null||b.call(v,P,this),(k=(j=L(this,qr).config).onSettled)==null||k.call(j,P,this.state.error,this),P}catch(P){if(P instanceof Zg){if(P.silent)return L(this,Dt).promise;if(P.revert){if(this.state.data===void 0)throw P;return this.state.data}}throw He(this,Tr,ii).call(this,{type:"error",error:P}),(N=(S=L(this,qr).config).onError)==null||N.call(S,P,this),(A=(E=L(this,qr).config).onSettled)==null||A.call(E,this.state.data,P,this),P}finally{this.scheduleGc()}}},Ss=new WeakMap,eo=new WeakMap,Ns=new WeakMap,qr=new WeakMap,to=new WeakMap,Dt=new WeakMap,$u=new WeakMap,ro=new WeakMap,Tr=new WeakSet,ON=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},ii=function(t){const r=n=>{switch(t.type){case"failed":return{...n,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,..._N(n.data,this.options),fetchMeta:t.meta??null};case"success":const i={...n,...gw(t.data,t.dataUpdatedAt),dataUpdateCount:n.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return be(this,Ns,t.manual?i:void 0),i;case"error":const o=t.error;return{...n,error:o,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...t.state}}};this.state=r(this.state),Gt.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),L(this,qr).notify({query:this,type:"updated",action:t})})},gN);function _N(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:AN(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function gw(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function vw(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,r=t!==void 0,n=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var kr,Ke,zu,dr,no,Es,oi,aa,Fu,As,Cs,io,ao,oa,Ps,Xe,su,Jg,ev,tv,rv,nv,iv,av,MN,vN,R3=(vN=class extends Hu{constructor(t,r){super();De(this,Xe);De(this,kr);De(this,Ke);De(this,zu);De(this,dr);De(this,no);De(this,Es);De(this,oi);De(this,aa);De(this,Fu);De(this,As);De(this,Cs);De(this,io);De(this,ao);De(this,oa);De(this,Ps,new Set);this.options=r,be(this,kr,t),be(this,aa,null),be(this,oi,Xg()),this.bindMethods(),this.setOptions(r)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(L(this,Ke).addObserver(this),yw(L(this,Ke),this.options)?He(this,Xe,su).call(this):this.updateResult(),He(this,Xe,rv).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return ov(L(this,Ke),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return ov(L(this,Ke),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,He(this,Xe,nv).call(this),He(this,Xe,iv).call(this),L(this,Ke).removeObserver(this)}setOptions(t){const r=this.options,n=L(this,Ke);if(this.options=L(this,kr).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Dr(this.options.enabled,L(this,Ke))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");He(this,Xe,av).call(this),L(this,Ke).setOptions(this.options),r._defaulted&&!qg(this.options,r)&&L(this,kr).getQueryCache().notify({type:"observerOptionsUpdated",query:L(this,Ke),observer:this});const i=this.hasListeners();i&&xw(L(this,Ke),n,this.options,r)&&He(this,Xe,su).call(this),this.updateResult(),i&&(L(this,Ke)!==n||Dr(this.options.enabled,L(this,Ke))!==Dr(r.enabled,L(this,Ke))||da(this.options.staleTime,L(this,Ke))!==da(r.staleTime,L(this,Ke)))&&He(this,Xe,Jg).call(this);const o=He(this,Xe,ev).call(this);i&&(L(this,Ke)!==n||Dr(this.options.enabled,L(this,Ke))!==Dr(r.enabled,L(this,Ke))||o!==L(this,oa))&&He(this,Xe,tv).call(this,o)}getOptimisticResult(t){const r=L(this,kr).getQueryCache().build(L(this,kr),t),n=this.createResult(r,t);return $3(this,n)&&(be(this,dr,n),be(this,Es,this.options),be(this,no,L(this,Ke).state)),n}getCurrentResult(){return L(this,dr)}trackResult(t,r){return new Proxy(t,{get:(n,i)=>(this.trackProp(i),r==null||r(i),i==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&L(this,oi).status==="pending"&&L(this,oi).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(n,i))})}trackProp(t){L(this,Ps).add(t)}getCurrentQuery(){return L(this,Ke)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const r=L(this,kr).defaultQueryOptions(t),n=L(this,kr).getQueryCache().build(L(this,kr),r);return n.fetch().then(()=>this.createResult(n,r))}fetch(t){return He(this,Xe,su).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),L(this,dr)))}createResult(t,r){var $;const n=L(this,Ke),i=this.options,o=L(this,dr),u=L(this,no),c=L(this,Es),h=t!==n?t.state:L(this,zu),{state:m}=t;let g={...m},v=!1,b;if(r._optimisticResults){const z=this.hasListeners(),Q=!z&&yw(t,r),U=z&&xw(t,n,r,i);(Q||U)&&(g={...g,..._N(m.data,t.options)}),r._optimisticResults==="isRestoring"&&(g.fetchStatus="idle")}let{error:j,errorUpdatedAt:k,status:S}=g;b=g.data;let N=!1;if(r.placeholderData!==void 0&&b===void 0&&S==="pending"){let z;o!=null&&o.isPlaceholderData&&r.placeholderData===(c==null?void 0:c.placeholderData)?(z=o.data,N=!0):z=typeof r.placeholderData=="function"?r.placeholderData(($=L(this,Cs))==null?void 0:$.state.data,L(this,Cs)):r.placeholderData,z!==void 0&&(S="success",b=Yg(o==null?void 0:o.data,z,r),v=!0)}if(r.select&&b!==void 0&&!N)if(o&&b===(u==null?void 0:u.data)&&r.select===L(this,Fu))b=L(this,As);else try{be(this,Fu,r.select),b=r.select(b),b=Yg(o==null?void 0:o.data,b,r),be(this,As,b),be(this,aa,null)}catch(z){be(this,aa,z)}L(this,aa)&&(j=L(this,aa),b=L(this,As),k=Date.now(),S="error");const E=g.fetchStatus==="fetching",A=S==="pending",P=S==="error",_=A&&E,O=b!==void 0,B={status:S,fetchStatus:g.fetchStatus,isPending:A,isSuccess:S==="success",isError:P,isInitialLoading:_,isLoading:_,data:b,dataUpdatedAt:g.dataUpdatedAt,error:j,errorUpdatedAt:k,failureCount:g.fetchFailureCount,failureReason:g.fetchFailureReason,errorUpdateCount:g.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:g.dataUpdateCount>h.dataUpdateCount||g.errorUpdateCount>h.errorUpdateCount,isFetching:E,isRefetching:E&&!A,isLoadingError:P&&!O,isPaused:g.fetchStatus==="paused",isPlaceholderData:v,isRefetchError:P&&O,isStale:N0(t,r),refetch:this.refetch,promise:L(this,oi),isEnabled:Dr(r.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const z=B.data!==void 0,Q=B.status==="error"&&!z,U=pe=>{Q?pe.reject(B.error):z&&pe.resolve(B.data)},ve=()=>{const pe=be(this,oi,B.promise=Xg());U(pe)},ue=L(this,oi);switch(ue.status){case"pending":t.queryHash===n.queryHash&&U(ue);break;case"fulfilled":(Q||B.data!==ue.value)&&ve();break;case"rejected":(!Q||B.error!==ue.reason)&&ve();break}}return B}updateResult(){const t=L(this,dr),r=this.createResult(L(this,Ke),this.options);if(be(this,no,L(this,Ke).state),be(this,Es,this.options),L(this,no).data!==void 0&&be(this,Cs,L(this,Ke)),qg(r,t))return;be(this,dr,r);const n=()=>{if(!t)return!0;const{notifyOnChangeProps:i}=this.options,o=typeof i=="function"?i():i;if(o==="all"||!o&&!L(this,Ps).size)return!0;const u=new Set(o??L(this,Ps));return this.options.throwOnError&&u.add("error"),Object.keys(L(this,dr)).some(c=>{const f=c;return L(this,dr)[f]!==t[f]&&u.has(f)})};He(this,Xe,MN).call(this,{listeners:n()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&He(this,Xe,rv).call(this)}},kr=new WeakMap,Ke=new WeakMap,zu=new WeakMap,dr=new WeakMap,no=new WeakMap,Es=new WeakMap,oi=new WeakMap,aa=new WeakMap,Fu=new WeakMap,As=new WeakMap,Cs=new WeakMap,io=new WeakMap,ao=new WeakMap,oa=new WeakMap,Ps=new WeakMap,Xe=new WeakSet,su=function(t){He(this,Xe,av).call(this);let r=L(this,Ke).fetch(this.options,t);return t!=null&&t.throwOnError||(r=r.catch(jr)),r},Jg=function(){He(this,Xe,nv).call(this);const t=da(this.options.staleTime,L(this,Ke));if(vu.isServer()||L(this,dr).isStale||!Vg(t))return;const n=jN(L(this,dr).dataUpdatedAt,t)+1;be(this,io,Ga.setTimeout(()=>{L(this,dr).isStale||this.updateResult()},n))},ev=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(L(this,Ke)):this.options.refetchInterval)??!1},tv=function(t){He(this,Xe,iv).call(this),be(this,oa,t),!(vu.isServer()||Dr(this.options.enabled,L(this,Ke))===!1||!Vg(L(this,oa))||L(this,oa)===0)&&be(this,ao,Ga.setInterval(()=>{(this.options.refetchIntervalInBackground||k0.isFocused())&&He(this,Xe,su).call(this)},L(this,oa)))},rv=function(){He(this,Xe,Jg).call(this),He(this,Xe,tv).call(this,He(this,Xe,ev).call(this))},nv=function(){L(this,io)!==void 0&&(Ga.clearTimeout(L(this,io)),be(this,io,void 0))},iv=function(){L(this,ao)!==void 0&&(Ga.clearInterval(L(this,ao)),be(this,ao,void 0))},av=function(){const t=L(this,kr).getQueryCache().build(L(this,kr),this.options);if(t===L(this,Ke))return;const r=L(this,Ke);be(this,Ke,t),be(this,zu,t.state),this.hasListeners()&&(r==null||r.removeObserver(this),t.addObserver(this))},MN=function(t){Gt.batch(()=>{t.listeners&&this.listeners.forEach(r=>{r(L(this,dr))}),L(this,kr).getQueryCache().notify({query:L(this,Ke),type:"observerResultsUpdated"})})},vN);function L3(e,t){return Dr(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&Dr(t.retryOnMount,e)===!1)}function yw(e,t){return L3(e,t)||e.state.data!==void 0&&ov(e,t,t.refetchOnMount)}function ov(e,t,r){if(Dr(t.enabled,e)!==!1&&da(t.staleTime,e)!=="static"){const n=typeof r=="function"?r(e):r;return n==="always"||n!==!1&&N0(e,t)}return!1}function xw(e,t,r,n){return(e!==t||Dr(n.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&N0(e,r)}function N0(e,t){return Dr(t.enabled,e)!==!1&&e.isStaleByTime(da(t.staleTime,e))}function $3(e,t){return!qg(e.getCurrentResult(),t)}var Bu,Mn,ir,oo,In,Xi,yN,z3=(yN=class extends PN{constructor(t){super();De(this,In);De(this,Bu);De(this,Mn);De(this,ir);De(this,oo);be(this,Bu,t.client),this.mutationId=t.mutationId,be(this,ir,t.mutationCache),be(this,Mn,[]),this.state=t.state||F3(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){L(this,Mn).includes(t)||(L(this,Mn).push(t),this.clearGcTimeout(),L(this,ir).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){be(this,Mn,L(this,Mn).filter(r=>r!==t)),this.scheduleGc(),L(this,ir).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){L(this,Mn).length||(this.state.status==="pending"?this.scheduleGc():L(this,ir).remove(this))}continue(){var t;return((t=L(this,oo))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var u,c,f,h,m,g,v,b,j,k,S,N,E,A,P,_,O,T;const r=()=>{He(this,In,Xi).call(this,{type:"continue"})},n={client:L(this,Bu),meta:this.options.meta,mutationKey:this.options.mutationKey};be(this,oo,CN({fn:()=>this.options.mutationFn?this.options.mutationFn(t,n):Promise.reject(new Error("No mutationFn found")),onFail:(B,$)=>{He(this,In,Xi).call(this,{type:"failed",failureCount:B,error:$})},onPause:()=>{He(this,In,Xi).call(this,{type:"pause"})},onContinue:r,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>L(this,ir).canRun(this)}));const i=this.state.status==="pending",o=!L(this,oo).canStart();try{if(i)r();else{He(this,In,Xi).call(this,{type:"pending",variables:t,isPaused:o}),L(this,ir).config.onMutate&&await L(this,ir).config.onMutate(t,this,n);const $=await((c=(u=this.options).onMutate)==null?void 0:c.call(u,t,n));$!==this.state.context&&He(this,In,Xi).call(this,{type:"pending",context:$,variables:t,isPaused:o})}const B=await L(this,oo).start();return await((h=(f=L(this,ir).config).onSuccess)==null?void 0:h.call(f,B,t,this.state.context,this,n)),await((g=(m=this.options).onSuccess)==null?void 0:g.call(m,B,t,this.state.context,n)),await((b=(v=L(this,ir).config).onSettled)==null?void 0:b.call(v,B,null,this.state.variables,this.state.context,this,n)),await((k=(j=this.options).onSettled)==null?void 0:k.call(j,B,null,t,this.state.context,n)),He(this,In,Xi).call(this,{type:"success",data:B}),B}catch(B){try{await((N=(S=L(this,ir).config).onError)==null?void 0:N.call(S,B,t,this.state.context,this,n))}catch($){Promise.reject($)}try{await((A=(E=this.options).onError)==null?void 0:A.call(E,B,t,this.state.context,n))}catch($){Promise.reject($)}try{await((_=(P=L(this,ir).config).onSettled)==null?void 0:_.call(P,void 0,B,this.state.variables,this.state.context,this,n))}catch($){Promise.reject($)}try{await((T=(O=this.options).onSettled)==null?void 0:T.call(O,void 0,B,t,this.state.context,n))}catch($){Promise.reject($)}throw He(this,In,Xi).call(this,{type:"error",error:B}),B}finally{L(this,ir).runNext(this)}}},Bu=new WeakMap,Mn=new WeakMap,ir=new WeakMap,oo=new WeakMap,In=new WeakSet,Xi=function(t){const r=n=>{switch(t.type){case"failed":return{...n,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...n,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:t.error,failureCount:n.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=r(this.state),Gt.batch(()=>{L(this,Mn).forEach(n=>{n.onMutationUpdate(t)}),L(this,ir).notify({mutation:this,type:"updated",action:t})})},yN);function F3(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var si,pn,Uu,xN,B3=(xN=class extends Hu{constructor(t={}){super();De(this,si);De(this,pn);De(this,Uu);this.config=t,be(this,si,new Set),be(this,pn,new Map),be(this,Uu,0)}build(t,r,n){const i=new z3({client:t,mutationCache:this,mutationId:++vd(this,Uu)._,options:t.defaultMutationOptions(r),state:n});return this.add(i),i}add(t){L(this,si).add(t);const r=xd(t);if(typeof r=="string"){const n=L(this,pn).get(r);n?n.push(t):L(this,pn).set(r,[t])}this.notify({type:"added",mutation:t})}remove(t){if(L(this,si).delete(t)){const r=xd(t);if(typeof r=="string"){const n=L(this,pn).get(r);if(n)if(n.length>1){const i=n.indexOf(t);i!==-1&&n.splice(i,1)}else n[0]===t&&L(this,pn).delete(r)}}this.notify({type:"removed",mutation:t})}canRun(t){const r=xd(t);if(typeof r=="string"){const n=L(this,pn).get(r),i=n==null?void 0:n.find(o=>o.state.status==="pending");return!i||i===t}else return!0}runNext(t){var n;const r=xd(t);if(typeof r=="string"){const i=(n=L(this,pn).get(r))==null?void 0:n.find(o=>o!==t&&o.state.isPaused);return(i==null?void 0:i.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Gt.batch(()=>{L(this,si).forEach(t=>{this.notify({type:"removed",mutation:t})}),L(this,si).clear(),L(this,pn).clear()})}getAll(){return Array.from(L(this,si))}find(t){const r={exact:!0,...t};return this.getAll().find(n=>fw(r,n))}findAll(t={}){return this.getAll().filter(r=>fw(t,r))}notify(t){Gt.batch(()=>{this.listeners.forEach(r=>{r(t)})})}resumePausedMutations(){const t=this.getAll().filter(r=>r.state.isPaused);return Gt.batch(()=>Promise.all(t.map(r=>r.continue().catch(jr))))}},si=new WeakMap,pn=new WeakMap,Uu=new WeakMap,xN);function xd(e){var t;return(t=e.options.scope)==null?void 0:t.id}var Tn,bN,U3=(bN=class extends Hu{constructor(t={}){super();De(this,Tn);this.config=t,be(this,Tn,new Map)}build(t,r,n){const i=r.queryKey,o=r.queryHash??j0(i,r);let u=this.get(o);return u||(u=new D3({client:t,queryKey:i,queryHash:o,options:t.defaultQueryOptions(r),state:n,defaultOptions:t.getQueryDefaults(i)}),this.add(u)),u}add(t){L(this,Tn).has(t.queryHash)||(L(this,Tn).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const r=L(this,Tn).get(t.queryHash);r&&(t.destroy(),r===t&&L(this,Tn).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Gt.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return L(this,Tn).get(t)}getAll(){return[...L(this,Tn).values()]}find(t){const r={exact:!0,...t};return this.getAll().find(n=>dw(r,n))}findAll(t={}){const r=this.getAll();return Object.keys(t).length>0?r.filter(n=>dw(t,n)):r}notify(t){Gt.batch(()=>{this.listeners.forEach(r=>{r(t)})})}onFocus(){Gt.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Gt.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Tn=new WeakMap,bN),gt,sa,la,Os,_s,ua,Ms,Is,wN,H3=(wN=class{constructor(e={}){De(this,gt);De(this,sa);De(this,la);De(this,Os);De(this,_s);De(this,ua);De(this,Ms);De(this,Is);be(this,gt,e.queryCache||new U3),be(this,sa,e.mutationCache||new B3),be(this,la,e.defaultOptions||{}),be(this,Os,new Map),be(this,_s,new Map),be(this,ua,0)}mount(){vd(this,ua)._++,L(this,ua)===1&&(be(this,Ms,k0.subscribe(async e=>{e&&(await this.resumePausedMutations(),L(this,gt).onFocus())})),be(this,Is,tf.subscribe(async e=>{e&&(await this.resumePausedMutations(),L(this,gt).onOnline())})))}unmount(){var e,t;vd(this,ua)._--,L(this,ua)===0&&((e=L(this,Ms))==null||e.call(this),be(this,Ms,void 0),(t=L(this,Is))==null||t.call(this),be(this,Is,void 0))}isFetching(e){return L(this,gt).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return L(this,sa).findAll({...e,status:"pending"}).length}getQueryData(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=L(this,gt).get(t.queryHash))==null?void 0:r.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),r=L(this,gt).build(this,t),n=r.state.data;return n===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(da(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return L(this,gt).findAll(e).map(({queryKey:t,state:r})=>{const n=r.data;return[t,n]})}setQueryData(e,t,r){const n=this.defaultQueryOptions({queryKey:e}),i=L(this,gt).get(n.queryHash),o=i==null?void 0:i.state.data,u=j3(t,o);if(u!==void 0)return L(this,gt).build(this,n).setData(u,{...r,manual:!0})}setQueriesData(e,t,r){return Gt.batch(()=>L(this,gt).findAll(e).map(({queryKey:n})=>[n,this.setQueryData(n,t,r)]))}getQueryState(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=L(this,gt).get(t.queryHash))==null?void 0:r.state}removeQueries(e){const t=L(this,gt);Gt.batch(()=>{t.findAll(e).forEach(r=>{t.remove(r)})})}resetQueries(e,t){const r=L(this,gt);return Gt.batch(()=>(r.findAll(e).forEach(n=>{n.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const r={revert:!0,...t},n=Gt.batch(()=>L(this,gt).findAll(e).map(i=>i.cancel(r)));return Promise.all(n).then(jr).catch(jr)}invalidateQueries(e,t={}){return Gt.batch(()=>(L(this,gt).findAll(e).forEach(r=>{r.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const r={...t,cancelRefetch:t.cancelRefetch??!0},n=Gt.batch(()=>L(this,gt).findAll(e).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let o=i.fetch(void 0,r);return r.throwOnError||(o=o.catch(jr)),i.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(n).then(jr)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const r=L(this,gt).build(this,t);return r.isStaleByTime(da(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(jr).catch(jr)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(jr).catch(jr)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return tf.isOnline()?L(this,sa).resumePausedMutations():Promise.resolve()}getQueryCache(){return L(this,gt)}getMutationCache(){return L(this,sa)}getDefaultOptions(){return L(this,la)}setDefaultOptions(e){be(this,la,e)}setQueryDefaults(e,t){L(this,Os).set(pu(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...L(this,Os).values()],r={};return t.forEach(n=>{gu(e,n.queryKey)&&Object.assign(r,n.defaultOptions)}),r}setMutationDefaults(e,t){L(this,_s).set(pu(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...L(this,_s).values()],r={};return t.forEach(n=>{gu(e,n.mutationKey)&&Object.assign(r,n.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const t={...L(this,la).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=j0(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===S0&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...L(this,la).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){L(this,gt).clear(),L(this,sa).clear()}},gt=new WeakMap,sa=new WeakMap,la=new WeakMap,Os=new WeakMap,_s=new WeakMap,ua=new WeakMap,Ms=new WeakMap,Is=new WeakMap,wN),IN=y.createContext(void 0),Kn=e=>{const t=y.useContext(IN);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},W3=({client:e,children:t})=>(y.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),l.jsx(IN.Provider,{value:e,children:t})),TN=y.createContext(!1),K3=()=>y.useContext(TN);TN.Provider;function G3(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var V3=y.createContext(G3()),q3=()=>y.useContext(V3),Q3=(e,t,r)=>{const n=r!=null&&r.state.error&&typeof e.throwOnError=="function"?EN(e.throwOnError,[r.state.error,r]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||n)&&(t.isReset()||(e.retryOnMount=!1))},Y3=e=>{y.useEffect(()=>{e.clearReset()},[e])},X3=({result:e,errorResetBoundary:t,throwOnError:r,query:n,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&n&&(i&&e.data===void 0||EN(r,[e.error,n])),Z3=e=>{if(e.suspense){const r=i=>i==="static"?i:Math.max(i??1e3,1e3),n=e.staleTime;e.staleTime=typeof n=="function"?(...i)=>r(n(...i)):r(n),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},J3=(e,t)=>e.isLoading&&e.isFetching&&!t,eM=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,bw=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function tM(e,t,r){var b,j,k,S;const n=K3(),i=q3(),o=Kn(),u=o.defaultQueryOptions(e);(j=(b=o.getDefaultOptions().queries)==null?void 0:b._experimental_beforeQuery)==null||j.call(b,u);const c=o.getQueryCache().get(u.queryHash),f=e.subscribed!==!1;u._optimisticResults=n?"isRestoring":f?"optimistic":void 0,Z3(u),Q3(u,i,c),Y3(i);const h=!o.getQueryCache().get(u.queryHash),[m]=y.useState(()=>new t(o,u)),g=m.getOptimisticResult(u),v=!n&&f;if(y.useSyncExternalStore(y.useCallback(N=>{const E=v?m.subscribe(Gt.batchCalls(N)):jr;return m.updateResult(),E},[m,v]),()=>m.getCurrentResult(),()=>m.getCurrentResult()),y.useEffect(()=>{m.setOptions(u)},[u,m]),eM(u,g))throw bw(u,m,i);if(X3({result:g,errorResetBoundary:i,throwOnError:u.throwOnError,query:c,suspense:u.suspense}))throw g.error;if((S=(k=o.getDefaultOptions().queries)==null?void 0:k._experimental_afterQuery)==null||S.call(k,u,g),u.experimental_prefetchInRender&&!vu.isServer()&&J3(g,n)){const N=h?bw(u,m,i):c==null?void 0:c.promise;N==null||N.catch(jr).finally(()=>{m.updateResult()})}return u.notifyOnChangeProps?g:m.trackResult(g)}function Yt(e,t){return tM(e,R3)}/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -67,17 +67,22 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
+ */const aM=he("AppWindow",[["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}],["path",{d:"M10 4v4",key:"pp8u80"}],["path",{d:"M2 8h20",key:"d11cs7"}],["path",{d:"M6 4v4",key:"1svtjw"}]]);/**
+ * @license lucide-react v0.460.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
*/const RN=he("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const nf=he("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/**
+ */const rf=he("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const aM=he("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);/**
+ */const oM=he("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -92,32 +97,32 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const oM=he("Bookmark",[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z",key:"1fy3hk"}]]);/**
+ */const sM=he("Bookmark",[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z",key:"1fy3hk"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const yn=he("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/**
+ */const Jr=he("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const sM=he("Box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);/**
+ */const lM=he("Box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const af=he("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/**
+ */const nf=he("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const lM=he("BrainCircuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);/**
+ */const uM=he("BrainCircuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const uM=he("BrainCog",[["path",{d:"M12 5a3 3 0 1 0-5.997.142 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588 4 4 0 0 0 7.636 2.106 3.2 3.2 0 0 0 .164-.546c.028-.13.306-.13.335 0a3.2 3.2 0 0 0 .163.546 4 4 0 0 0 7.636-2.106 4 4 0 0 0 .556-6.588 4 4 0 0 0-2.526-5.77A3 3 0 1 0 12 5",key:"1kgmhc"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"m15.7 10.4-.9.4",key:"ayzo6p"}],["path",{d:"m9.2 13.2-.9.4",key:"1uzb3g"}],["path",{d:"m13.6 15.7-.4-.9",key:"11ifqf"}],["path",{d:"m10.8 9.2-.4-.9",key:"1pmk2v"}],["path",{d:"m15.7 13.5-.9-.4",key:"7ng02m"}],["path",{d:"m9.2 10.9-.9-.4",key:"1x66zd"}],["path",{d:"m10.5 15.7.4-.9",key:"3js94g"}],["path",{d:"m13.1 9.2.4-.9",key:"18n7mc"}]]);/**
+ */const cM=he("BrainCog",[["path",{d:"M12 5a3 3 0 1 0-5.997.142 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588 4 4 0 0 0 7.636 2.106 3.2 3.2 0 0 0 .164-.546c.028-.13.306-.13.335 0a3.2 3.2 0 0 0 .163.546 4 4 0 0 0 7.636-2.106 4 4 0 0 0 .556-6.588 4 4 0 0 0-2.526-5.77A3 3 0 1 0 12 5",key:"1kgmhc"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"m15.7 10.4-.9.4",key:"ayzo6p"}],["path",{d:"m9.2 13.2-.9.4",key:"1uzb3g"}],["path",{d:"m13.6 15.7-.4-.9",key:"11ifqf"}],["path",{d:"m10.8 9.2-.4-.9",key:"1pmk2v"}],["path",{d:"m15.7 13.5-.9-.4",key:"7ng02m"}],["path",{d:"m9.2 10.9-.9-.4",key:"1x66zd"}],["path",{d:"m10.5 15.7.4-.9",key:"3js94g"}],["path",{d:"m13.1 9.2.4-.9",key:"18n7mc"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -127,7 +132,7 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const cM=he("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);/**
+ */const dM=he("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -142,12 +147,12 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const dM=he("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/**
+ */const fM=he("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const Ku=he("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/**
+ */const Wu=he("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -157,7 +162,7 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const fM=he("CircleArrowUp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]]);/**
+ */const hM=he("CircleArrowUp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -167,12 +172,12 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const hM=he("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
+ */const mM=he("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const mM=he("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/**
+ */const pM=he("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -182,7 +187,7 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const pM=he("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);/**
+ */const gM=he("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -192,7 +197,7 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const gM=he("Command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]);/**
+ */const vM=he("Command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -202,7 +207,7 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const vM=he("Construction",[["rect",{x:"2",y:"6",width:"20",height:"8",rx:"1",key:"1estib"}],["path",{d:"M17 14v7",key:"7m2elx"}],["path",{d:"M7 14v7",key:"1cm7wv"}],["path",{d:"M17 3v3",key:"1v4jwn"}],["path",{d:"M7 3v3",key:"7o6guu"}],["path",{d:"M10 14 2.3 6.3",key:"1023jk"}],["path",{d:"m14 6 7.7 7.7",key:"1s8pl2"}],["path",{d:"m8 6 8 8",key:"hl96qh"}]]);/**
+ */const yM=he("Construction",[["rect",{x:"2",y:"6",width:"20",height:"8",rx:"1",key:"1estib"}],["path",{d:"M17 14v7",key:"7m2elx"}],["path",{d:"M7 14v7",key:"1cm7wv"}],["path",{d:"M17 3v3",key:"1v4jwn"}],["path",{d:"M7 3v3",key:"7o6guu"}],["path",{d:"M10 14 2.3 6.3",key:"1023jk"}],["path",{d:"m14 6 7.7 7.7",key:"1s8pl2"}],["path",{d:"m8 6 8 8",key:"hl96qh"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -217,7 +222,7 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const yM=he("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);/**
+ */const xM=he("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -237,37 +242,37 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const xu=he("Eye",[["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"}]]);/**
+ */const yu=he("Eye",[["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"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const xM=he("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/**
+ */const bM=he("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const bM=he("Flame",[["path",{d:"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z",key:"96xj49"}]]);/**
+ */const wM=he("Flame",[["path",{d:"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z",key:"96xj49"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const wM=he("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);/**
+ */const kM=he("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const kM=he("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);/**
+ */const jM=he("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const jM=he("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/**
+ */const SM=he("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const SM=he("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/**
+ */const NM=he("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -282,7 +287,7 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const NM=he("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]);/**
+ */const EM=he("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -292,12 +297,12 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const EM=he("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);/**
+ */const AM=he("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const AM=he("Laptop",[["path",{d:"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16",key:"tarvll"}]]);/**
+ */const CM=he("Laptop",[["path",{d:"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16",key:"tarvll"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -307,27 +312,27 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const CM=he("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/**
+ */const PM=he("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const PM=he("LifeBuoy",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.93 4.93 4.24 4.24",key:"1ymg45"}],["path",{d:"m14.83 9.17 4.24-4.24",key:"1cb5xl"}],["path",{d:"m14.83 14.83 4.24 4.24",key:"q42g0n"}],["path",{d:"m9.17 14.83-4.24 4.24",key:"bqpfvv"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}]]);/**
+ */const OM=he("LifeBuoy",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.93 4.93 4.24 4.24",key:"1ymg45"}],["path",{d:"m14.83 9.17 4.24-4.24",key:"1cb5xl"}],["path",{d:"m14.83 14.83 4.24 4.24",key:"q42g0n"}],["path",{d:"m9.17 14.83-4.24 4.24",key:"bqpfvv"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const OM=he("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/**
+ */const _M=he("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const _M=he("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);/**
+ */const MM=he("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const qs=he("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/**
+ */const Vs=he("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -337,17 +342,17 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const MM=he("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/**
+ */const IM=he("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const IM=he("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);/**
+ */const TM=he("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const TM=he("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/**
+ */const DM=he("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -357,7 +362,7 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const DM=he("Network",[["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"}]]);/**
+ */const RM=he("Network",[["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"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -372,7 +377,7 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const bu=he("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);/**
+ */const xu=he("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -382,7 +387,7 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const RM=he("PowerOff",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/**
+ */const LM=he("PowerOff",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -392,7 +397,7 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const LM=he("Puzzle",[["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"}]]);/**
+ */const $M=he("Puzzle",[["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"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -402,17 +407,17 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const $M=he("RotateCcw",[["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"}]]);/**
+ */const zM=he("RotateCcw",[["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"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const zM=he("ScrollText",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);/**
+ */const FM=he("ScrollText",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const FM=he("Scroll",[["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);/**
+ */const BM=he("Scroll",[["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -422,7 +427,7 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const BM=he("Send",[["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"}]]);/**
+ */const UM=he("Send",[["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"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -432,7 +437,7 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const UM=he("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);/**
+ */const HM=he("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -447,12 +452,12 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const HM=he("ShieldQuestion",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
+ */const WM=he("ShieldQuestion",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const Qs=he("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/**
+ */const qs=he("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -462,12 +467,12 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const WM=he("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]);/**
+ */const KM=he("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const KM=he("SlidersVertical",[["line",{x1:"4",x2:"4",y1:"21",y2:"14",key:"1p332r"}],["line",{x1:"4",x2:"4",y1:"10",y2:"3",key:"gb41h5"}],["line",{x1:"12",x2:"12",y1:"21",y2:"12",key:"hf2csr"}],["line",{x1:"12",x2:"12",y1:"8",y2:"3",key:"1kfi7u"}],["line",{x1:"20",x2:"20",y1:"21",y2:"16",key:"1lhrwl"}],["line",{x1:"20",x2:"20",y1:"12",y2:"3",key:"16vvfq"}],["line",{x1:"2",x2:"6",y1:"14",y2:"14",key:"1uebub"}],["line",{x1:"10",x2:"14",y1:"8",y2:"8",key:"1yglbp"}],["line",{x1:"18",x2:"22",y1:"16",y2:"16",key:"1jxqpz"}]]);/**
+ */const GM=he("SlidersVertical",[["line",{x1:"4",x2:"4",y1:"21",y2:"14",key:"1p332r"}],["line",{x1:"4",x2:"4",y1:"10",y2:"3",key:"gb41h5"}],["line",{x1:"12",x2:"12",y1:"21",y2:"12",key:"hf2csr"}],["line",{x1:"12",x2:"12",y1:"8",y2:"3",key:"1kfi7u"}],["line",{x1:"20",x2:"20",y1:"21",y2:"16",key:"1lhrwl"}],["line",{x1:"20",x2:"20",y1:"12",y2:"3",key:"16vvfq"}],["line",{x1:"2",x2:"6",y1:"14",y2:"14",key:"1uebub"}],["line",{x1:"10",x2:"14",y1:"8",y2:"8",key:"1yglbp"}],["line",{x1:"18",x2:"22",y1:"16",y2:"16",key:"1jxqpz"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -477,17 +482,17 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const Rs=he("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/**
+ */const af=he("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const GM=he("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);/**
+ */const VM=he("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const VM=he("Telescope",[["path",{d:"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44",key:"k4qptu"}],["path",{d:"m13.56 11.747 4.332-.924",key:"19l80z"}],["path",{d:"m16 21-3.105-6.21",key:"7oh9d"}],["path",{d:"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z",key:"m7xp4m"}],["path",{d:"m6.158 8.633 1.114 4.456",key:"74o979"}],["path",{d:"m8 21 3.105-6.21",key:"1fvxut"}],["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}]]);/**
+ */const qM=he("Telescope",[["path",{d:"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44",key:"k4qptu"}],["path",{d:"m13.56 11.747 4.332-.924",key:"19l80z"}],["path",{d:"m16 21-3.105-6.21",key:"7oh9d"}],["path",{d:"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z",key:"m7xp4m"}],["path",{d:"m6.158 8.633 1.114 4.456",key:"74o979"}],["path",{d:"m8 21 3.105-6.21",key:"1fvxut"}],["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -507,12 +512,12 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const qM=he("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/**
+ */const QM=he("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const Gu=he("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/**
+ */const Ku=he("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/**
* @license lucide-react v0.460.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -522,8 +527,8 @@ Error generating stack: `+w.message+`
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
- */const ga=he("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),uu=[{id:"dashboard",label:"Cockpit",hint:"Deine Box auf einen Blick",icon:CM},{id:"models",label:"Modelle",hint:"Speicher, laden & Rollen",icon:af},{id:"memory",label:"Gedächtnis",hint:"Geteiltes Memory verwalten",icon:xa},{id:"connect",label:"Verbinden",hint:"IDE-/Agent-Configs erzeugen",icon:bu},{id:"agent",label:"Hermes",hint:"Agent-Status & Verdrahtung",icon:yn},{id:"terminal",label:"Hermes-Terminal",hint:"Interaktives Hermes-Agent-Terminal",icon:Rs},{id:"konsole",label:"Konsole",hint:"Direkte Box-Shell (SSH-artig)",icon:Rs},{id:"guide",label:"Anleitung",hint:"Einrichten & Vibe-Coding",icon:hM}];var Nw=1,QM=.9,YM=.8,XM=.17,tg=.1,rg=.999,ZM=.9999,JM=.99,eI=/[\\\/_+.#"@\[\(\{&]/,tI=/[\\\/_+.#"@\[\(\{&]/g,rI=/[\s-]/,XN=/[\s-]/g;function dv(e,t,r,n,i,o,u){if(o===t.length)return i===e.length?Nw:JM;var c=`${i},${o}`;if(u[c]!==void 0)return u[c];for(var f=n.charAt(o),h=r.indexOf(f,i),m=0,g,v,b,j;h>=0;)g=dv(e,t,r,n,h+1,o+1,u),g>m&&(h===i?g*=Nw:eI.test(e.charAt(h-1))?(g*=YM,b=e.slice(i,h-1).match(tI),b&&i>0&&(g*=Math.pow(rg,b.length))):rI.test(e.charAt(h-1))?(g*=QM,j=e.slice(i,h-1).match(XN),j&&i>0&&(g*=Math.pow(rg,j.length))):(g*=XM,i>0&&(g*=Math.pow(rg,h-i))),e.charAt(h)!==t.charAt(o)&&(g*=ZM)),(gg&&(g=v*tg)),g>m&&(m=g),h=r.indexOf(f,h+1);return u[c]=m,m}function Ew(e){return e.toLowerCase().replace(XN," ")}function nI(e,t,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,dv(e,t,Ew(e),Ew(t),0,0,{})}function ha(e,t,{checkForDefaultPrevented:r=!0}={}){return function(i){if(e==null||e(i),r===!1||!i.defaultPrevented)return t==null?void 0:t(i)}}function Aw(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ls(...e){return t=>{let r=!1;const n=e.map(i=>{const o=Aw(i,t);return!r&&typeof o=="function"&&(r=!0),o});if(r)return()=>{for(let i=0;i{var N;const{scope:v,children:b,...j}=g,k=((N=v==null?void 0:v[e])==null?void 0:N[f])||c,S=y.useMemo(()=>j,Object.values(j));return l.jsx(k.Provider,{value:S,children:b})};h.displayName=o+"Provider";function m(g,v){var k;const b=((k=v==null?void 0:v[e])==null?void 0:k[f])||c,j=y.useContext(b);if(j)return j;if(u!==void 0)return u;throw new Error(`\`${g}\` must be used within \`${o}\``)}return[h,m]}const i=()=>{const o=r.map(u=>y.createContext(u));return function(c){const f=(c==null?void 0:c[e])||o;return y.useMemo(()=>({[`__scope${e}`]:{...c,[e]:f}}),[c,f])}};return i.scopeName=e,[n,aI(i,...t)]}function aI(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(o){const u=n.reduce((c,{useScope:f,scopeName:h})=>{const g=f(o)[`__scope${h}`];return{...c,...g}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:u}),[u])}};return r.scopeName=t.scopeName,r}var wu=globalThis!=null&&globalThis.document?y.useLayoutEffect:()=>{},oI=ah[" useId ".trim().toString()]||(()=>{}),sI=0;function fi(e){const[t,r]=y.useState(oI());return wu(()=>{r(n=>n??String(sI++))},[e]),t?`radix-${t}`:""}var lI=ah[" useInsertionEffect ".trim().toString()]||wu;function uI({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[i,o,u]=cI({defaultProp:t,onChange:r}),c=e!==void 0,f=c?e:i;{const m=y.useRef(e!==void 0);y.useEffect(()=>{const g=m.current;g!==c&&console.warn(`${n} is changing from ${g?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),m.current=c},[c,n])}const h=y.useCallback(m=>{var g;if(c){const v=dI(m)?m(e):m;v!==e&&((g=u.current)==null||g.call(u,v))}else o(m)},[c,e,o,u]);return[f,h]}function cI({defaultProp:e,onChange:t}){const[r,n]=y.useState(e),i=y.useRef(r),o=y.useRef(t);return lI(()=>{o.current=t},[t]),y.useEffect(()=>{var u;i.current!==r&&((u=o.current)==null||u.call(o,r),i.current=r)},[r,i]),[r,n,o]}function dI(e){return typeof e=="function"}var ch=kN();function ZN(e){const t=y.forwardRef((r,n)=>{let{children:i,...o}=r,u=null,c=!1;const f=[];Cw(i)&&typeof wd=="function"&&(i=wd(i._payload)),y.Children.forEach(i,v=>{var b;if(gI(v)){c=!0;const j=v;let k="child"in j.props?j.props.child:j.props.children;Cw(k)&&typeof wd=="function"&&(k=wd(k._payload)),u=hI(j,k),f.push((b=u==null?void 0:u.props)==null?void 0:b.children)}else f.push(v)}),u?u=y.cloneElement(u,void 0,f):!c&&y.Children.count(i)===1&&y.isValidElement(i)&&(u=i);const h=u?pI(u):void 0,m=wo(n,h);if(!u){if(i||i===0)throw new Error(c?bI(e):xI(e));return i}const g=mI(o,u.props??{});return u.type!==y.Fragment&&(g.ref=n?m:h),y.cloneElement(u,g)});return t.displayName=`${e}.Slot`,t}var fI=Symbol.for("radix.slottable"),hI=(e,t)=>{if("child"in e.props){const r=e.props.child;return y.isValidElement(r)?y.cloneElement(r,void 0,e.props.children(r.props.children)):null}return y.isValidElement(t)?t:null};function mI(e,t){const r={...t};for(const n in t){const i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...c)=>{const f=o(...c);return i(...c),f}:i&&(r[n]=i):n==="style"?r[n]={...i,...o}:n==="className"&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}function pI(e){var n,i;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function gI(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===fI}var vI=Symbol.for("react.lazy");function Cw(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===vI&&"_payload"in e&&yI(e._payload)}function yI(e){return typeof e=="object"&&e!==null&&"then"in e}var xI=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,bI=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,wd=ah[" use ".trim().toString()],wI=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Xt=wI.reduce((e,t)=>{const r=ZN(`Primitive.${t}`),n=y.forwardRef((i,o)=>{const{asChild:u,...c}=i,f=u?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(f,{...c,ref:o})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function kI(e,t){e&&ch.flushSync(()=>e.dispatchEvent(t))}function ku(e){const t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>((...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)}),[])}function jI(e,t=globalThis==null?void 0:globalThis.document){const r=ku(e);y.useEffect(()=>{const n=i=>{i.key==="Escape"&&r(i)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var SI="DismissableLayer",fv="dismissableLayer.update",NI="dismissableLayer.pointerDownOutside",EI="dismissableLayer.focusOutside",Pw,E0=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),JN=y.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:n=!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:u,onInteractOutside:c,onDismiss:f,...h}=e,m=y.useContext(E0),[g,v]=y.useState(null),b=(g==null?void 0:g.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,j]=y.useState({}),k=wo(t,$=>v($)),S=Array.from(m.layers),[N]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),E=S.indexOf(N),A=g?S.indexOf(g):-1,P=m.layersWithOutsidePointerEventsDisabled.size>0,_=A>=E,O=y.useRef(!1),T=OI($=>{const z=$.target;if(!(z instanceof Node))return;const Q=[...m.branches].some(U=>U.contains(z));!_||Q||(o==null||o($),c==null||c($),$.defaultPrevented||f==null||f())},{ownerDocument:b,deferPointerDownOutside:n,isDeferredPointerDownOutsideRef:O,dismissableSurfaces:m.dismissableSurfaces}),B=_I($=>{if(n&&O.current)return;const z=$.target;[...m.branches].some(U=>U.contains(z))||(u==null||u($),c==null||c($),$.defaultPrevented||f==null||f())},b);return jI($=>{A===m.layers.size-1&&(i==null||i($),!$.defaultPrevented&&f&&($.preventDefault(),f()))},b),y.useEffect(()=>{if(g)return r&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(Pw=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),m.layersWithOutsidePointerEventsDisabled.add(g)),m.layers.add(g),Ow(),()=>{r&&(m.layersWithOutsidePointerEventsDisabled.delete(g),m.layersWithOutsidePointerEventsDisabled.size===0&&(b.body.style.pointerEvents=Pw))}},[g,b,r,m]),y.useEffect(()=>()=>{g&&(m.layers.delete(g),m.layersWithOutsidePointerEventsDisabled.delete(g),Ow())},[g,m]),y.useEffect(()=>{const $=()=>j({});return document.addEventListener(fv,$),()=>document.removeEventListener(fv,$)},[]),l.jsx(Xt.div,{...h,ref:k,style:{pointerEvents:P?_?"auto":"none":void 0,...e.style},onFocusCapture:ha(e.onFocusCapture,B.onFocusCapture),onBlurCapture:ha(e.onBlurCapture,B.onBlurCapture),onPointerDownCapture:ha(e.onPointerDownCapture,T.onPointerDownCapture)})});JN.displayName=SI;var AI="DismissableLayerBranch",CI=y.forwardRef((e,t)=>{const r=y.useContext(E0),n=y.useRef(null),i=wo(t,n);return y.useEffect(()=>{const o=n.current;if(o)return r.branches.add(o),()=>{r.branches.delete(o)}},[r.branches]),l.jsx(Xt.div,{...e,ref:i})});CI.displayName=AI;function PI(){const e=y.useContext(E0),[t,r]=y.useState(null);return y.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),r}function OI(e,t){const{ownerDocument:r=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:n=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:o}=t,u=ku(e),c=y.useRef(!1),f=y.useRef(!1),h=y.useRef(new Map),m=y.useRef(()=>{});return y.useEffect(()=>{function g(){f.current=!1,i.current=!1,h.current.clear()}function v(){return Array.from(h.current.values()).some(Boolean)}function b(E){if(!f.current)return;const A=E.target;A instanceof Node&&[...o].some(_=>_.contains(A))||h.current.set(E.type,!0),E.type==="click"&&window.setTimeout(()=>{f.current&&m.current()},0)}function j(E){f.current&&h.current.set(E.type,!1)}const k=E=>{if(E.target&&!c.current){let A=function(){r.removeEventListener("click",m.current);const _=v();g(),_||e5(NI,u,P,{discrete:!0})};const P={originalEvent:E};f.current=!0,i.current=n&&E.button===0,h.current.clear(),!n||E.button!==0?A():(r.removeEventListener("click",m.current),m.current=A,r.addEventListener("click",m.current,{once:!0}))}else r.removeEventListener("click",m.current),g();c.current=!1},S=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const E of S)r.addEventListener(E,b,!0),r.addEventListener(E,j);const N=window.setTimeout(()=>{r.addEventListener("pointerdown",k)},0);return()=>{window.clearTimeout(N),r.removeEventListener("pointerdown",k),r.removeEventListener("click",m.current);for(const E of S)r.removeEventListener(E,b,!0),r.removeEventListener(E,j)}},[r,u,n,i,o]),{onPointerDownCapture:()=>c.current=!0}}function _I(e,t=globalThis==null?void 0:globalThis.document){const r=ku(e),n=y.useRef(!1);return y.useEffect(()=>{const i=o=>{o.target&&!n.current&&e5(EI,r,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function Ow(){const e=new CustomEvent(fv);document.dispatchEvent(e)}function e5(e,t,r,{discrete:n}){const i=r.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&i.addEventListener(e,t,{once:!0}),n?kI(i,o):i.dispatchEvent(o)}var ng="focusScope.autoFocusOnMount",ig="focusScope.autoFocusOnUnmount",_w={bubbles:!1,cancelable:!0},MI="FocusScope",t5=y.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...u}=e,[c,f]=y.useState(null),h=ku(i),m=ku(o),g=y.useRef(null),v=wo(t,k=>f(k)),b=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(n){let k=function(A){if(b.paused||!c)return;const P=A.target;c.contains(P)?g.current=P:Zi(g.current,{select:!0})},S=function(A){if(b.paused||!c)return;const P=A.relatedTarget;P!==null&&(c.contains(P)||Zi(g.current,{select:!0}))},N=function(A){if(document.activeElement===document.body)for(const _ of A)_.removedNodes.length>0&&Zi(c)};document.addEventListener("focusin",k),document.addEventListener("focusout",S);const E=new MutationObserver(N);return c&&E.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",k),document.removeEventListener("focusout",S),E.disconnect()}}},[n,c,b.paused]),y.useEffect(()=>{if(c){Iw.add(b);const k=document.activeElement;if(!c.contains(k)){const N=new CustomEvent(ng,_w);c.addEventListener(ng,h),c.dispatchEvent(N),N.defaultPrevented||(II($I(r5(c)),{select:!0}),document.activeElement===k&&Zi(c))}return()=>{c.removeEventListener(ng,h),setTimeout(()=>{const N=new CustomEvent(ig,_w);c.addEventListener(ig,m),c.dispatchEvent(N),N.defaultPrevented||Zi(k??document.body,{select:!0}),c.removeEventListener(ig,m),Iw.remove(b)},0)}}},[c,h,m,b]);const j=y.useCallback(k=>{if(!r&&!n||b.paused)return;const S=k.key==="Tab"&&!k.altKey&&!k.ctrlKey&&!k.metaKey,N=document.activeElement;if(S&&N){const E=k.currentTarget,[A,P]=TI(E);A&&P?!k.shiftKey&&N===P?(k.preventDefault(),r&&Zi(A,{select:!0})):k.shiftKey&&N===A&&(k.preventDefault(),r&&Zi(P,{select:!0})):N===E&&k.preventDefault()}},[r,n,b.paused]);return l.jsx(Xt.div,{tabIndex:-1,...u,ref:v,onKeyDown:j})});t5.displayName=MI;function II(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(Zi(n,{select:t}),document.activeElement!==r)return}function TI(e){const t=r5(e),r=Mw(t,e),n=Mw(t.reverse(),e);return[r,n]}function r5(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const i=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||i?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function Mw(e,t){for(const r of e)if(!DI(r,{upTo:t}))return r}function DI(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function RI(e){return e instanceof HTMLInputElement&&"select"in e}function Zi(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&RI(e)&&t&&e.select()}}var Iw=LI();function LI(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=Tw(e,t),e.unshift(t)},remove(t){var r;e=Tw(e,t),(r=e[0])==null||r.resume()}}}function Tw(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function $I(e){return e.filter(t=>t.tagName!=="A")}var zI="Portal",n5=y.forwardRef((e,t)=>{var c;const{container:r,...n}=e,[i,o]=y.useState(!1);wu(()=>o(!0),[]);const u=r||i&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return u?ch.createPortal(l.jsx(Xt.div,{...n,ref:t}),u):null});n5.displayName=zI;function FI(e,t){return y.useReducer((r,n)=>t[r][n]??r,e)}var dh=e=>{const{present:t,children:r}=e,n=BI(t),i=typeof r=="function"?r({present:n.isPresent}):y.Children.only(r),o=UI(n.ref,HI(i));return typeof r=="function"||n.isPresent?y.cloneElement(i,{ref:o}):null};dh.displayName="Presence";function BI(e){const[t,r]=y.useState(),n=y.useRef(null),i=y.useRef(e),o=y.useRef("none"),u=e?"mounted":"unmounted",[c,f]=FI(u,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return y.useEffect(()=>{const h=kd(n.current);o.current=c==="mounted"?h:"none"},[c]),wu(()=>{const h=n.current,m=i.current;if(m!==e){const v=o.current,b=kd(h);e?f("MOUNT"):b==="none"||(h==null?void 0:h.display)==="none"?f("UNMOUNT"):f(m&&v!==b?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,f]),wu(()=>{if(t){let h;const m=t.ownerDocument.defaultView??window,g=b=>{const k=kd(n.current).includes(CSS.escape(b.animationName));if(b.target===t&&k&&(f("ANIMATION_END"),!i.current)){const S=t.style.animationFillMode;t.style.animationFillMode="forwards",h=m.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=S)})}},v=b=>{b.target===t&&(o.current=kd(n.current))};return t.addEventListener("animationstart",v),t.addEventListener("animationcancel",g),t.addEventListener("animationend",g),()=>{m.clearTimeout(h),t.removeEventListener("animationstart",v),t.removeEventListener("animationcancel",g),t.removeEventListener("animationend",g)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:y.useCallback(h=>{n.current=h?getComputedStyle(h):null,r(h)},[])}}function Dw(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function UI(...e){const t=y.useRef(e);return t.current=e,y.useCallback(r=>{const n=t.current;let i=!1;const o=n.map(u=>{const c=Dw(u,r);return!i&&typeof c=="function"&&(i=!0),c});if(i)return()=>{for(let u=0;u{Cn||(Cn={start:Rw(),end:Rw()});const{start:e,end:t}=Cn;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),jd++,()=>{jd===1&&(Cn==null||Cn.start.remove(),Cn==null||Cn.end.remove(),Cn=null),jd=Math.max(0,jd-1)}},[])}function Rw(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Dn=function(){return Dn=Object.assign||function(t){for(var r,n=1,i=arguments.length;n"u")return sT;var t=lT(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},cT=s5(),gs="data-scroll-locked",dT=function(e,t,r,n){var i=e.left,o=e.top,u=e.right,c=e.gap;return r===void 0&&(r="margin"),`
- .`.concat(GI,` {
+ */const ga=he("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),lu=[{id:"dashboard",label:"Cockpit",hint:"Deine Box auf einen Blick",icon:PM},{id:"models",label:"Modelle",hint:"Speicher, laden & Rollen",icon:nf},{id:"memory",label:"Gedächtnis",hint:"Geteiltes Memory verwalten",icon:xa},{id:"connect",label:"Verbinden",hint:"IDE-/Agent-Configs erzeugen",icon:xu},{id:"agent",label:"Hermes",hint:"Agent-Status & Verdrahtung",icon:Jr},{id:"terminal",label:"Hermes GUI",hint:"Eingebaute Hermes-Weboberfläche (Threads & Tool-Calls)",icon:aM},{id:"konsole",label:"Konsole",hint:"Direkte Box-Shell (SSH-artig)",icon:af},{id:"guide",label:"Anleitung",hint:"Einrichten & Vibe-Coding",icon:mM}];var Nw=1,YM=.9,XM=.8,ZM=.17,tg=.1,rg=.999,JM=.9999,eI=.99,tI=/[\\\/_+.#"@\[\(\{&]/,rI=/[\\\/_+.#"@\[\(\{&]/g,nI=/[\s-]/,XN=/[\s-]/g;function dv(e,t,r,n,i,o,u){if(o===t.length)return i===e.length?Nw:eI;var c=`${i},${o}`;if(u[c]!==void 0)return u[c];for(var f=n.charAt(o),h=r.indexOf(f,i),m=0,g,v,b,j;h>=0;)g=dv(e,t,r,n,h+1,o+1,u),g>m&&(h===i?g*=Nw:tI.test(e.charAt(h-1))?(g*=XM,b=e.slice(i,h-1).match(rI),b&&i>0&&(g*=Math.pow(rg,b.length))):nI.test(e.charAt(h-1))?(g*=YM,j=e.slice(i,h-1).match(XN),j&&i>0&&(g*=Math.pow(rg,j.length))):(g*=ZM,i>0&&(g*=Math.pow(rg,h-i))),e.charAt(h)!==t.charAt(o)&&(g*=JM)),(gg&&(g=v*tg)),g>m&&(m=g),h=r.indexOf(f,h+1);return u[c]=m,m}function Ew(e){return e.toLowerCase().replace(XN," ")}function iI(e,t,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,dv(e,t,Ew(e),Ew(t),0,0,{})}function ha(e,t,{checkForDefaultPrevented:r=!0}={}){return function(i){if(e==null||e(i),r===!1||!i.defaultPrevented)return t==null?void 0:t(i)}}function Aw(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Rs(...e){return t=>{let r=!1;const n=e.map(i=>{const o=Aw(i,t);return!r&&typeof o=="function"&&(r=!0),o});if(r)return()=>{for(let i=0;i{var N;const{scope:v,children:b,...j}=g,k=((N=v==null?void 0:v[e])==null?void 0:N[f])||c,S=y.useMemo(()=>j,Object.values(j));return l.jsx(k.Provider,{value:S,children:b})};h.displayName=o+"Provider";function m(g,v){var k;const b=((k=v==null?void 0:v[e])==null?void 0:k[f])||c,j=y.useContext(b);if(j)return j;if(u!==void 0)return u;throw new Error(`\`${g}\` must be used within \`${o}\``)}return[h,m]}const i=()=>{const o=r.map(u=>y.createContext(u));return function(c){const f=(c==null?void 0:c[e])||o;return y.useMemo(()=>({[`__scope${e}`]:{...c,[e]:f}}),[c,f])}};return i.scopeName=e,[n,oI(i,...t)]}function oI(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(o){const u=n.reduce((c,{useScope:f,scopeName:h})=>{const g=f(o)[`__scope${h}`];return{...c,...g}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:u}),[u])}};return r.scopeName=t.scopeName,r}var bu=globalThis!=null&&globalThis.document?y.useLayoutEffect:()=>{},sI=ah[" useId ".trim().toString()]||(()=>{}),lI=0;function fi(e){const[t,r]=y.useState(sI());return bu(()=>{r(n=>n??String(lI++))},[e]),t?`radix-${t}`:""}var uI=ah[" useInsertionEffect ".trim().toString()]||bu;function cI({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[i,o,u]=dI({defaultProp:t,onChange:r}),c=e!==void 0,f=c?e:i;{const m=y.useRef(e!==void 0);y.useEffect(()=>{const g=m.current;g!==c&&console.warn(`${n} is changing from ${g?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),m.current=c},[c,n])}const h=y.useCallback(m=>{var g;if(c){const v=fI(m)?m(e):m;v!==e&&((g=u.current)==null||g.call(u,v))}else o(m)},[c,e,o,u]);return[f,h]}function dI({defaultProp:e,onChange:t}){const[r,n]=y.useState(e),i=y.useRef(r),o=y.useRef(t);return uI(()=>{o.current=t},[t]),y.useEffect(()=>{var u;i.current!==r&&((u=o.current)==null||u.call(o,r),i.current=r)},[r,i]),[r,n,o]}function fI(e){return typeof e=="function"}var ch=kN();function ZN(e){const t=y.forwardRef((r,n)=>{let{children:i,...o}=r,u=null,c=!1;const f=[];Cw(i)&&typeof bd=="function"&&(i=bd(i._payload)),y.Children.forEach(i,v=>{var b;if(vI(v)){c=!0;const j=v;let k="child"in j.props?j.props.child:j.props.children;Cw(k)&&typeof bd=="function"&&(k=bd(k._payload)),u=mI(j,k),f.push((b=u==null?void 0:u.props)==null?void 0:b.children)}else f.push(v)}),u?u=y.cloneElement(u,void 0,f):!c&&y.Children.count(i)===1&&y.isValidElement(i)&&(u=i);const h=u?gI(u):void 0,m=wo(n,h);if(!u){if(i||i===0)throw new Error(c?wI(e):bI(e));return i}const g=pI(o,u.props??{});return u.type!==y.Fragment&&(g.ref=n?m:h),y.cloneElement(u,g)});return t.displayName=`${e}.Slot`,t}var hI=Symbol.for("radix.slottable"),mI=(e,t)=>{if("child"in e.props){const r=e.props.child;return y.isValidElement(r)?y.cloneElement(r,void 0,e.props.children(r.props.children)):null}return y.isValidElement(t)?t:null};function pI(e,t){const r={...t};for(const n in t){const i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...c)=>{const f=o(...c);return i(...c),f}:i&&(r[n]=i):n==="style"?r[n]={...i,...o}:n==="className"&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}function gI(e){var n,i;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function vI(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===hI}var yI=Symbol.for("react.lazy");function Cw(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===yI&&"_payload"in e&&xI(e._payload)}function xI(e){return typeof e=="object"&&e!==null&&"then"in e}var bI=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,wI=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,bd=ah[" use ".trim().toString()],kI=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Xt=kI.reduce((e,t)=>{const r=ZN(`Primitive.${t}`),n=y.forwardRef((i,o)=>{const{asChild:u,...c}=i,f=u?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(f,{...c,ref:o})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function jI(e,t){e&&ch.flushSync(()=>e.dispatchEvent(t))}function wu(e){const t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>((...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)}),[])}function SI(e,t=globalThis==null?void 0:globalThis.document){const r=wu(e);y.useEffect(()=>{const n=i=>{i.key==="Escape"&&r(i)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var NI="DismissableLayer",fv="dismissableLayer.update",EI="dismissableLayer.pointerDownOutside",AI="dismissableLayer.focusOutside",Pw,E0=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),JN=y.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:n=!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:u,onInteractOutside:c,onDismiss:f,...h}=e,m=y.useContext(E0),[g,v]=y.useState(null),b=(g==null?void 0:g.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,j]=y.useState({}),k=wo(t,$=>v($)),S=Array.from(m.layers),[N]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),E=S.indexOf(N),A=g?S.indexOf(g):-1,P=m.layersWithOutsidePointerEventsDisabled.size>0,_=A>=E,O=y.useRef(!1),T=_I($=>{const z=$.target;if(!(z instanceof Node))return;const Q=[...m.branches].some(U=>U.contains(z));!_||Q||(o==null||o($),c==null||c($),$.defaultPrevented||f==null||f())},{ownerDocument:b,deferPointerDownOutside:n,isDeferredPointerDownOutsideRef:O,dismissableSurfaces:m.dismissableSurfaces}),B=MI($=>{if(n&&O.current)return;const z=$.target;[...m.branches].some(U=>U.contains(z))||(u==null||u($),c==null||c($),$.defaultPrevented||f==null||f())},b);return SI($=>{A===m.layers.size-1&&(i==null||i($),!$.defaultPrevented&&f&&($.preventDefault(),f()))},b),y.useEffect(()=>{if(g)return r&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(Pw=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),m.layersWithOutsidePointerEventsDisabled.add(g)),m.layers.add(g),Ow(),()=>{r&&(m.layersWithOutsidePointerEventsDisabled.delete(g),m.layersWithOutsidePointerEventsDisabled.size===0&&(b.body.style.pointerEvents=Pw))}},[g,b,r,m]),y.useEffect(()=>()=>{g&&(m.layers.delete(g),m.layersWithOutsidePointerEventsDisabled.delete(g),Ow())},[g,m]),y.useEffect(()=>{const $=()=>j({});return document.addEventListener(fv,$),()=>document.removeEventListener(fv,$)},[]),l.jsx(Xt.div,{...h,ref:k,style:{pointerEvents:P?_?"auto":"none":void 0,...e.style},onFocusCapture:ha(e.onFocusCapture,B.onFocusCapture),onBlurCapture:ha(e.onBlurCapture,B.onBlurCapture),onPointerDownCapture:ha(e.onPointerDownCapture,T.onPointerDownCapture)})});JN.displayName=NI;var CI="DismissableLayerBranch",PI=y.forwardRef((e,t)=>{const r=y.useContext(E0),n=y.useRef(null),i=wo(t,n);return y.useEffect(()=>{const o=n.current;if(o)return r.branches.add(o),()=>{r.branches.delete(o)}},[r.branches]),l.jsx(Xt.div,{...e,ref:i})});PI.displayName=CI;function OI(){const e=y.useContext(E0),[t,r]=y.useState(null);return y.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),r}function _I(e,t){const{ownerDocument:r=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:n=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:o}=t,u=wu(e),c=y.useRef(!1),f=y.useRef(!1),h=y.useRef(new Map),m=y.useRef(()=>{});return y.useEffect(()=>{function g(){f.current=!1,i.current=!1,h.current.clear()}function v(){return Array.from(h.current.values()).some(Boolean)}function b(E){if(!f.current)return;const A=E.target;A instanceof Node&&[...o].some(_=>_.contains(A))||h.current.set(E.type,!0),E.type==="click"&&window.setTimeout(()=>{f.current&&m.current()},0)}function j(E){f.current&&h.current.set(E.type,!1)}const k=E=>{if(E.target&&!c.current){let A=function(){r.removeEventListener("click",m.current);const _=v();g(),_||e5(EI,u,P,{discrete:!0})};const P={originalEvent:E};f.current=!0,i.current=n&&E.button===0,h.current.clear(),!n||E.button!==0?A():(r.removeEventListener("click",m.current),m.current=A,r.addEventListener("click",m.current,{once:!0}))}else r.removeEventListener("click",m.current),g();c.current=!1},S=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const E of S)r.addEventListener(E,b,!0),r.addEventListener(E,j);const N=window.setTimeout(()=>{r.addEventListener("pointerdown",k)},0);return()=>{window.clearTimeout(N),r.removeEventListener("pointerdown",k),r.removeEventListener("click",m.current);for(const E of S)r.removeEventListener(E,b,!0),r.removeEventListener(E,j)}},[r,u,n,i,o]),{onPointerDownCapture:()=>c.current=!0}}function MI(e,t=globalThis==null?void 0:globalThis.document){const r=wu(e),n=y.useRef(!1);return y.useEffect(()=>{const i=o=>{o.target&&!n.current&&e5(AI,r,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function Ow(){const e=new CustomEvent(fv);document.dispatchEvent(e)}function e5(e,t,r,{discrete:n}){const i=r.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&i.addEventListener(e,t,{once:!0}),n?jI(i,o):i.dispatchEvent(o)}var ng="focusScope.autoFocusOnMount",ig="focusScope.autoFocusOnUnmount",_w={bubbles:!1,cancelable:!0},II="FocusScope",t5=y.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...u}=e,[c,f]=y.useState(null),h=wu(i),m=wu(o),g=y.useRef(null),v=wo(t,k=>f(k)),b=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(n){let k=function(A){if(b.paused||!c)return;const P=A.target;c.contains(P)?g.current=P:Zi(g.current,{select:!0})},S=function(A){if(b.paused||!c)return;const P=A.relatedTarget;P!==null&&(c.contains(P)||Zi(g.current,{select:!0}))},N=function(A){if(document.activeElement===document.body)for(const _ of A)_.removedNodes.length>0&&Zi(c)};document.addEventListener("focusin",k),document.addEventListener("focusout",S);const E=new MutationObserver(N);return c&&E.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",k),document.removeEventListener("focusout",S),E.disconnect()}}},[n,c,b.paused]),y.useEffect(()=>{if(c){Iw.add(b);const k=document.activeElement;if(!c.contains(k)){const N=new CustomEvent(ng,_w);c.addEventListener(ng,h),c.dispatchEvent(N),N.defaultPrevented||(TI(zI(r5(c)),{select:!0}),document.activeElement===k&&Zi(c))}return()=>{c.removeEventListener(ng,h),setTimeout(()=>{const N=new CustomEvent(ig,_w);c.addEventListener(ig,m),c.dispatchEvent(N),N.defaultPrevented||Zi(k??document.body,{select:!0}),c.removeEventListener(ig,m),Iw.remove(b)},0)}}},[c,h,m,b]);const j=y.useCallback(k=>{if(!r&&!n||b.paused)return;const S=k.key==="Tab"&&!k.altKey&&!k.ctrlKey&&!k.metaKey,N=document.activeElement;if(S&&N){const E=k.currentTarget,[A,P]=DI(E);A&&P?!k.shiftKey&&N===P?(k.preventDefault(),r&&Zi(A,{select:!0})):k.shiftKey&&N===A&&(k.preventDefault(),r&&Zi(P,{select:!0})):N===E&&k.preventDefault()}},[r,n,b.paused]);return l.jsx(Xt.div,{tabIndex:-1,...u,ref:v,onKeyDown:j})});t5.displayName=II;function TI(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(Zi(n,{select:t}),document.activeElement!==r)return}function DI(e){const t=r5(e),r=Mw(t,e),n=Mw(t.reverse(),e);return[r,n]}function r5(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const i=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||i?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function Mw(e,t){for(const r of e)if(!RI(r,{upTo:t}))return r}function RI(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function LI(e){return e instanceof HTMLInputElement&&"select"in e}function Zi(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&LI(e)&&t&&e.select()}}var Iw=$I();function $I(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=Tw(e,t),e.unshift(t)},remove(t){var r;e=Tw(e,t),(r=e[0])==null||r.resume()}}}function Tw(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function zI(e){return e.filter(t=>t.tagName!=="A")}var FI="Portal",n5=y.forwardRef((e,t)=>{var c;const{container:r,...n}=e,[i,o]=y.useState(!1);bu(()=>o(!0),[]);const u=r||i&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return u?ch.createPortal(l.jsx(Xt.div,{...n,ref:t}),u):null});n5.displayName=FI;function BI(e,t){return y.useReducer((r,n)=>t[r][n]??r,e)}var dh=e=>{const{present:t,children:r}=e,n=UI(t),i=typeof r=="function"?r({present:n.isPresent}):y.Children.only(r),o=HI(n.ref,WI(i));return typeof r=="function"||n.isPresent?y.cloneElement(i,{ref:o}):null};dh.displayName="Presence";function UI(e){const[t,r]=y.useState(),n=y.useRef(null),i=y.useRef(e),o=y.useRef("none"),u=e?"mounted":"unmounted",[c,f]=BI(u,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return y.useEffect(()=>{const h=wd(n.current);o.current=c==="mounted"?h:"none"},[c]),bu(()=>{const h=n.current,m=i.current;if(m!==e){const v=o.current,b=wd(h);e?f("MOUNT"):b==="none"||(h==null?void 0:h.display)==="none"?f("UNMOUNT"):f(m&&v!==b?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,f]),bu(()=>{if(t){let h;const m=t.ownerDocument.defaultView??window,g=b=>{const k=wd(n.current).includes(CSS.escape(b.animationName));if(b.target===t&&k&&(f("ANIMATION_END"),!i.current)){const S=t.style.animationFillMode;t.style.animationFillMode="forwards",h=m.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=S)})}},v=b=>{b.target===t&&(o.current=wd(n.current))};return t.addEventListener("animationstart",v),t.addEventListener("animationcancel",g),t.addEventListener("animationend",g),()=>{m.clearTimeout(h),t.removeEventListener("animationstart",v),t.removeEventListener("animationcancel",g),t.removeEventListener("animationend",g)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:y.useCallback(h=>{n.current=h?getComputedStyle(h):null,r(h)},[])}}function Dw(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function HI(...e){const t=y.useRef(e);return t.current=e,y.useCallback(r=>{const n=t.current;let i=!1;const o=n.map(u=>{const c=Dw(u,r);return!i&&typeof c=="function"&&(i=!0),c});if(i)return()=>{for(let u=0;u{Cn||(Cn={start:Rw(),end:Rw()});const{start:e,end:t}=Cn;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),kd++,()=>{kd===1&&(Cn==null||Cn.start.remove(),Cn==null||Cn.end.remove(),Cn=null),kd=Math.max(0,kd-1)}},[])}function Rw(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Dn=function(){return Dn=Object.assign||function(t){for(var r,n=1,i=arguments.length;n"u")return lT;var t=uT(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},dT=s5(),gs="data-scroll-locked",fT=function(e,t,r,n){var i=e.left,o=e.top,u=e.right,c=e.gap;return r===void 0&&(r="margin"),`
+ .`.concat(VI,` {
overflow: hidden `).concat(n,`;
padding-right: `).concat(c,"px ").concat(n,`;
}
@@ -540,45 +545,45 @@ Error generating stack: `+w.message+`
`),r==="padding"&&"padding-right: ".concat(c,"px ").concat(n,";")].filter(Boolean).join(""),`
}
- .`).concat(Gd,` {
+ .`).concat(Kd,` {
right: `).concat(c,"px ").concat(n,`;
}
- .`).concat(Vd,` {
+ .`).concat(Gd,` {
margin-right: `).concat(c,"px ").concat(n,`;
}
- .`).concat(Gd," .").concat(Gd,` {
+ .`).concat(Kd," .").concat(Kd,` {
right: 0 `).concat(n,`;
}
- .`).concat(Vd," .").concat(Vd,` {
+ .`).concat(Gd," .").concat(Gd,` {
margin-right: 0 `).concat(n,`;
}
body[`).concat(gs,`] {
- `).concat(VI,": ").concat(c,`px;
+ `).concat(qI,": ").concat(c,`px;
}
-`)},$w=function(){var e=parseInt(document.body.getAttribute(gs)||"0",10);return isFinite(e)?e:0},fT=function(){y.useEffect(function(){return document.body.setAttribute(gs,($w()+1).toString()),function(){var e=$w()-1;e<=0?document.body.removeAttribute(gs):document.body.setAttribute(gs,e.toString())}},[])},hT=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,i=n===void 0?"margin":n;fT();var o=y.useMemo(function(){return uT(i)},[i]);return y.createElement(cT,{styles:dT(o,!t,i,r?"":"!important")})},hv=!1;if(typeof window<"u")try{var Sd=Object.defineProperty({},"passive",{get:function(){return hv=!0,!0}});window.addEventListener("test",Sd,Sd),window.removeEventListener("test",Sd,Sd)}catch{hv=!1}var Zo=hv?{passive:!1}:!1,mT=function(e){return e.tagName==="TEXTAREA"},l5=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!mT(e)&&r[t]==="visible")},pT=function(e){return l5(e,"overflowY")},gT=function(e){return l5(e,"overflowX")},zw=function(e,t){var r=t.ownerDocument,n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var i=u5(e,n);if(i){var o=c5(e,n),u=o[1],c=o[2];if(u>c)return!0}n=n.parentNode}while(n&&n!==r.body);return!1},vT=function(e){var t=e.scrollTop,r=e.scrollHeight,n=e.clientHeight;return[t,r,n]},yT=function(e){var t=e.scrollLeft,r=e.scrollWidth,n=e.clientWidth;return[t,r,n]},u5=function(e,t){return e==="v"?pT(t):gT(t)},c5=function(e,t){return e==="v"?vT(t):yT(t)},xT=function(e,t){return e==="h"&&t==="rtl"?-1:1},bT=function(e,t,r,n,i){var o=xT(e,window.getComputedStyle(t).direction),u=o*n,c=r.target,f=t.contains(c),h=!1,m=u>0,g=0,v=0;do{if(!c)break;var b=c5(e,c),j=b[0],k=b[1],S=b[2],N=k-S-o*j;(j||N)&&u5(e,c)&&(g+=N,v+=j);var E=c.parentNode;c=E&&E.nodeType===Node.DOCUMENT_FRAGMENT_NODE?E.host:E}while(!f&&c!==document.body||f&&(t.contains(c)||t===c));return(m&&Math.abs(g)<1||!m&&Math.abs(v)<1)&&(h=!0),h},Nd=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Fw=function(e){return[e.deltaX,e.deltaY]},Bw=function(e){return e&&"current"in e?e.current:e},wT=function(e,t){return e[0]===t[0]&&e[1]===t[1]},kT=function(e){return`
+`)},$w=function(){var e=parseInt(document.body.getAttribute(gs)||"0",10);return isFinite(e)?e:0},hT=function(){y.useEffect(function(){return document.body.setAttribute(gs,($w()+1).toString()),function(){var e=$w()-1;e<=0?document.body.removeAttribute(gs):document.body.setAttribute(gs,e.toString())}},[])},mT=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,i=n===void 0?"margin":n;hT();var o=y.useMemo(function(){return cT(i)},[i]);return y.createElement(dT,{styles:fT(o,!t,i,r?"":"!important")})},hv=!1;if(typeof window<"u")try{var jd=Object.defineProperty({},"passive",{get:function(){return hv=!0,!0}});window.addEventListener("test",jd,jd),window.removeEventListener("test",jd,jd)}catch{hv=!1}var Zo=hv?{passive:!1}:!1,pT=function(e){return e.tagName==="TEXTAREA"},l5=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!pT(e)&&r[t]==="visible")},gT=function(e){return l5(e,"overflowY")},vT=function(e){return l5(e,"overflowX")},zw=function(e,t){var r=t.ownerDocument,n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var i=u5(e,n);if(i){var o=c5(e,n),u=o[1],c=o[2];if(u>c)return!0}n=n.parentNode}while(n&&n!==r.body);return!1},yT=function(e){var t=e.scrollTop,r=e.scrollHeight,n=e.clientHeight;return[t,r,n]},xT=function(e){var t=e.scrollLeft,r=e.scrollWidth,n=e.clientWidth;return[t,r,n]},u5=function(e,t){return e==="v"?gT(t):vT(t)},c5=function(e,t){return e==="v"?yT(t):xT(t)},bT=function(e,t){return e==="h"&&t==="rtl"?-1:1},wT=function(e,t,r,n,i){var o=bT(e,window.getComputedStyle(t).direction),u=o*n,c=r.target,f=t.contains(c),h=!1,m=u>0,g=0,v=0;do{if(!c)break;var b=c5(e,c),j=b[0],k=b[1],S=b[2],N=k-S-o*j;(j||N)&&u5(e,c)&&(g+=N,v+=j);var E=c.parentNode;c=E&&E.nodeType===Node.DOCUMENT_FRAGMENT_NODE?E.host:E}while(!f&&c!==document.body||f&&(t.contains(c)||t===c));return(m&&Math.abs(g)<1||!m&&Math.abs(v)<1)&&(h=!0),h},Sd=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Fw=function(e){return[e.deltaX,e.deltaY]},Bw=function(e){return e&&"current"in e?e.current:e},kT=function(e,t){return e[0]===t[0]&&e[1]===t[1]},jT=function(e){return`
.block-interactivity-`.concat(e,` {pointer-events: none;}
.allow-interactivity-`).concat(e,` {pointer-events: all;}
-`)},jT=0,Jo=[];function ST(e){var t=y.useRef([]),r=y.useRef([0,0]),n=y.useRef(),i=y.useState(jT++)[0],o=y.useState(s5)[0],u=y.useRef(e);y.useEffect(function(){u.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var k=KI([e.lockRef.current],(e.shards||[]).map(Bw),!0).filter(Boolean);return k.forEach(function(S){return S.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),k.forEach(function(S){return S.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var c=y.useCallback(function(k,S){if("touches"in k&&k.touches.length===2||k.type==="wheel"&&k.ctrlKey)return!u.current.allowPinchZoom;var N=Nd(k),E=r.current,A="deltaX"in k?k.deltaX:E[0]-N[0],P="deltaY"in k?k.deltaY:E[1]-N[1],_,O=k.target,T=Math.abs(A)>Math.abs(P)?"h":"v";if("touches"in k&&T==="h"&&O.type==="range")return!1;var B=window.getSelection(),$=B&&B.anchorNode,z=$?$===O||$.contains(O):!1;if(z)return!1;var Q=zw(T,O);if(!Q)return!0;if(Q?_=T:(_=T==="v"?"h":"v",Q=zw(T,O)),!Q)return!1;if(!n.current&&"changedTouches"in k&&(A||P)&&(n.current=_),!_)return!0;var U=n.current||_;return bT(U,S,k,U==="h"?A:P)},[]),f=y.useCallback(function(k){var S=k;if(!(!Jo.length||Jo[Jo.length-1]!==o)){var N="deltaY"in S?Fw(S):Nd(S),E=t.current.filter(function(_){return _.name===S.type&&(_.target===S.target||S.target===_.shadowParent)&&wT(_.delta,N)})[0];if(E&&E.should){S.cancelable&&S.preventDefault();return}if(!E){var A=(u.current.shards||[]).map(Bw).filter(Boolean).filter(function(_){return _.contains(S.target)}),P=A.length>0?c(S,A[0]):!u.current.noIsolation;P&&S.cancelable&&S.preventDefault()}}},[]),h=y.useCallback(function(k,S,N,E){var A={name:k,delta:S,target:N,should:E,shadowParent:NT(N)};t.current.push(A),setTimeout(function(){t.current=t.current.filter(function(P){return P!==A})},1)},[]),m=y.useCallback(function(k){r.current=Nd(k),n.current=void 0},[]),g=y.useCallback(function(k){h(k.type,Fw(k),k.target,c(k,e.lockRef.current))},[]),v=y.useCallback(function(k){h(k.type,Nd(k),k.target,c(k,e.lockRef.current))},[]);y.useEffect(function(){return Jo.push(o),e.setCallbacks({onScrollCapture:g,onWheelCapture:g,onTouchMoveCapture:v}),document.addEventListener("wheel",f,Zo),document.addEventListener("touchmove",f,Zo),document.addEventListener("touchstart",m,Zo),function(){Jo=Jo.filter(function(k){return k!==o}),document.removeEventListener("wheel",f,Zo),document.removeEventListener("touchmove",f,Zo),document.removeEventListener("touchstart",m,Zo)}},[]);var b=e.removeScrollBar,j=e.inert;return y.createElement(y.Fragment,null,j?y.createElement(o,{styles:kT(i)}):null,b?y.createElement(hT,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function NT(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const ET=eT(o5,ST);var d5=y.forwardRef(function(e,t){return y.createElement(fh,Dn({},e,{ref:t,sideCar:ET}))});d5.classNames=fh.classNames;var AT=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},es=new WeakMap,Ed=new WeakMap,Ad={},lg=0,f5=function(e){return e&&(e.host||f5(e.parentNode))},CT=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=f5(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},PT=function(e,t,r,n){var i=CT(t,Array.isArray(e)?e:[e]);Ad[r]||(Ad[r]=new WeakMap);var o=Ad[r],u=[],c=new Set,f=new Set(i),h=function(g){!g||c.has(g)||(c.add(g),h(g.parentNode))};i.forEach(h);var m=function(g){!g||f.has(g)||Array.prototype.forEach.call(g.children,function(v){if(c.has(v))m(v);else try{var b=v.getAttribute(n),j=b!==null&&b!=="false",k=(es.get(v)||0)+1,S=(o.get(v)||0)+1;es.set(v,k),o.set(v,S),u.push(v),k===1&&j&&Ed.set(v,!0),S===1&&v.setAttribute(r,"true"),j||v.setAttribute(n,"true")}catch(N){console.error("aria-hidden: cannot operate on ",v,N)}})};return m(t),c.clear(),lg++,function(){u.forEach(function(g){var v=es.get(g)-1,b=o.get(g)-1;es.set(g,v),o.set(g,b),v||(Ed.has(g)||g.removeAttribute(n),Ed.delete(g)),b||g.removeAttribute(r)}),lg--,lg||(es=new WeakMap,es=new WeakMap,Ed=new WeakMap,Ad={})}},OT=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),i=AT(e);return i?(n.push.apply(n,Array.from(i.querySelectorAll("[aria-live], script"))),PT(n,i,r,"aria-hidden")):function(){return null}},hh="Dialog",[h5]=iI(hh),[_T,wn]=h5(hh),m5=e=>{const{__scopeDialog:t,children:r,open:n,defaultOpen:i,onOpenChange:o,modal:u=!0}=e,c=y.useRef(null),f=y.useRef(null),[h,m]=uI({prop:n,defaultProp:i??!1,onChange:o,caller:hh});return l.jsx(_T,{scope:t,triggerRef:c,contentRef:f,contentId:fi(),titleId:fi(),descriptionId:fi(),open:h,onOpenChange:m,onOpenToggle:y.useCallback(()=>m(g=>!g),[m]),modal:u,children:r})};m5.displayName=hh;var p5="DialogTrigger",MT=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=wn(p5,r),o=wo(t,i.triggerRef);return l.jsx(Xt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":C0(i.open),...n,ref:o,onClick:ha(e.onClick,i.onOpenToggle)})});MT.displayName=p5;var A0="DialogPortal",[IT,g5]=h5(A0,{forceMount:void 0}),v5=e=>{const{__scopeDialog:t,forceMount:r,children:n,container:i}=e,o=wn(A0,t);return l.jsx(IT,{scope:t,forceMount:r,children:y.Children.map(n,u=>l.jsx(dh,{present:r||o.open,children:l.jsx(n5,{asChild:!0,container:i,children:u})}))})};v5.displayName=A0;var sf="DialogOverlay",y5=y.forwardRef((e,t)=>{const r=g5(sf,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,o=wn(sf,e.__scopeDialog);return o.modal?l.jsx(dh,{present:n||o.open,children:l.jsx(DT,{...i,ref:t})}):null});y5.displayName=sf;var TT=ZN("DialogOverlay.RemoveScroll"),DT=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=wn(sf,r),o=PI(),u=wo(t,o);return l.jsx(d5,{as:TT,allowPinchZoom:!0,shards:[i.contentRef],children:l.jsx(Xt.div,{"data-state":C0(i.open),...n,ref:u,style:{pointerEvents:"auto",...n.style}})})}),$s="DialogContent",x5=y.forwardRef((e,t)=>{const r=g5($s,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,o=wn($s,e.__scopeDialog);return l.jsx(dh,{present:n||o.open,children:o.modal?l.jsx(RT,{...i,ref:t}):l.jsx(LT,{...i,ref:t})})});x5.displayName=$s;var RT=y.forwardRef((e,t)=>{const r=wn($s,e.__scopeDialog),n=y.useRef(null),i=wo(t,r.contentRef,n);return y.useEffect(()=>{const o=n.current;if(o)return OT(o)},[]),l.jsx(b5,{...e,ref:i,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:ha(e.onCloseAutoFocus,o=>{var u;o.preventDefault(),(u=r.triggerRef.current)==null||u.focus()}),onPointerDownOutside:ha(e.onPointerDownOutside,o=>{const u=o.detail.originalEvent,c=u.button===0&&u.ctrlKey===!0;(u.button===2||c)&&o.preventDefault()}),onFocusOutside:ha(e.onFocusOutside,o=>o.preventDefault())})}),LT=y.forwardRef((e,t)=>{const r=wn($s,e.__scopeDialog),n=y.useRef(!1),i=y.useRef(!1);return l.jsx(b5,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{var u,c;(u=e.onCloseAutoFocus)==null||u.call(e,o),o.defaultPrevented||(n.current||(c=r.triggerRef.current)==null||c.focus(),o.preventDefault()),n.current=!1,i.current=!1},onInteractOutside:o=>{var f,h;(f=e.onInteractOutside)==null||f.call(e,o),o.defaultPrevented||(n.current=!0,o.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const u=o.target;((h=r.triggerRef.current)==null?void 0:h.contains(u))&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&i.current&&o.preventDefault()}})}),b5=y.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:i,onCloseAutoFocus:o,...u}=e,c=wn($s,r);return WI(),l.jsx(l.Fragment,{children:l.jsx(t5,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:i,onUnmountAutoFocus:o,children:l.jsx(JN,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":C0(c.open),...u,ref:t,deferPointerDownOutside:!0,onDismiss:()=>c.onOpenChange(!1)})})})}),w5="DialogTitle",$T=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=wn(w5,r);return l.jsx(Xt.h2,{id:i.titleId,...n,ref:t})});$T.displayName=w5;var k5="DialogDescription",zT=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=wn(k5,r);return l.jsx(Xt.p,{id:i.descriptionId,...n,ref:t})});zT.displayName=k5;var j5="DialogClose",FT=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=wn(j5,r);return l.jsx(Xt.button,{type:"button",...n,ref:t,onClick:ha(e.onClick,()=>i.onOpenChange(!1))})});FT.displayName=j5;function C0(e){return e?"open":"closed"}var ql='[cmdk-group=""]',ug='[cmdk-group-items=""]',BT='[cmdk-group-heading=""]',S5='[cmdk-item=""]',Uw=`${S5}:not([aria-disabled="true"])`,mv="cmdk-item-select",us="data-value",UT=(e,t,r)=>nI(e,t,r),N5=y.createContext(void 0),Vu=()=>y.useContext(N5),E5=y.createContext(void 0),P0=()=>y.useContext(E5),A5=y.createContext(void 0),C5=y.forwardRef((e,t)=>{let r=cs(()=>{var M,H;return{search:"",value:(H=(M=e.value)!=null?M:e.defaultValue)!=null?H:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),n=cs(()=>new Set),i=cs(()=>new Map),o=cs(()=>new Map),u=cs(()=>new Set),c=P5(e),{label:f,children:h,value:m,onValueChange:g,filter:v,shouldFilter:b,loop:j,disablePointerSelection:k=!1,vimBindings:S=!0,...N}=e,E=fi(),A=fi(),P=fi(),_=y.useRef(null),O=JT();fo(()=>{if(m!==void 0){let M=m.trim();r.current.value=M,T.emit()}},[m]),fo(()=>{O(6,ve)},[]);let T=y.useMemo(()=>({subscribe:M=>(u.current.add(M),()=>u.current.delete(M)),snapshot:()=>r.current,setState:(M,H,ie)=>{var J,Z,ae,me;if(!Object.is(r.current[M],H)){if(r.current[M]=H,M==="search")U(),z(),O(1,Q);else if(M==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let re=document.getElementById(P);re?re.focus():(J=document.getElementById(E))==null||J.focus()}if(O(7,()=>{var re;r.current.selectedItemId=(re=ue())==null?void 0:re.id,T.emit()}),ie||O(5,ve),((Z=c.current)==null?void 0:Z.value)!==void 0){let re=H??"";(me=(ae=c.current).onValueChange)==null||me.call(ae,re);return}}T.emit()}},emit:()=>{u.current.forEach(M=>M())}}),[]),B=y.useMemo(()=>({value:(M,H,ie)=>{var J;H!==((J=o.current.get(M))==null?void 0:J.value)&&(o.current.set(M,{value:H,keywords:ie}),r.current.filtered.items.set(M,$(H,ie)),O(2,()=>{z(),T.emit()}))},item:(M,H)=>(n.current.add(M),H&&(i.current.has(H)?i.current.get(H).add(M):i.current.set(H,new Set([M]))),O(3,()=>{U(),z(),r.current.value||Q(),T.emit()}),()=>{o.current.delete(M),n.current.delete(M),r.current.filtered.items.delete(M);let ie=ue();O(4,()=>{U(),(ie==null?void 0:ie.getAttribute("id"))===M&&Q(),T.emit()})}),group:M=>(i.current.has(M)||i.current.set(M,new Set),()=>{o.current.delete(M),i.current.delete(M)}),filter:()=>c.current.shouldFilter,label:f||e["aria-label"],getDisablePointerSelection:()=>c.current.disablePointerSelection,listId:E,inputId:P,labelId:A,listInnerRef:_}),[]);function $(M,H){var ie,J;let Z=(J=(ie=c.current)==null?void 0:ie.filter)!=null?J:UT;return M?Z(M,r.current.search,H):0}function z(){if(!r.current.search||c.current.shouldFilter===!1)return;let M=r.current.filtered.items,H=[];r.current.filtered.groups.forEach(J=>{let Z=i.current.get(J),ae=0;Z.forEach(me=>{let re=M.get(me);ae=Math.max(re,ae)}),H.push([J,ae])});let ie=_.current;pe().sort((J,Z)=>{var ae,me;let re=J.getAttribute("id"),ye=Z.getAttribute("id");return((ae=M.get(ye))!=null?ae:0)-((me=M.get(re))!=null?me:0)}).forEach(J=>{let Z=J.closest(ug);Z?Z.appendChild(J.parentElement===Z?J:J.closest(`${ug} > *`)):ie.appendChild(J.parentElement===ie?J:J.closest(`${ug} > *`))}),H.sort((J,Z)=>Z[1]-J[1]).forEach(J=>{var Z;let ae=(Z=_.current)==null?void 0:Z.querySelector(`${ql}[${us}="${encodeURIComponent(J[0])}"]`);ae==null||ae.parentElement.appendChild(ae)})}function Q(){let M=pe().find(ie=>ie.getAttribute("aria-disabled")!=="true"),H=M==null?void 0:M.getAttribute(us);T.setState("value",H||void 0)}function U(){var M,H,ie,J;if(!r.current.search||c.current.shouldFilter===!1){r.current.filtered.count=n.current.size;return}r.current.filtered.groups=new Set;let Z=0;for(let ae of n.current){let me=(H=(M=o.current.get(ae))==null?void 0:M.value)!=null?H:"",re=(J=(ie=o.current.get(ae))==null?void 0:ie.keywords)!=null?J:[],ye=$(me,re);r.current.filtered.items.set(ae,ye),ye>0&&Z++}for(let[ae,me]of i.current)for(let re of me)if(r.current.filtered.items.get(re)>0){r.current.filtered.groups.add(ae);break}r.current.filtered.count=Z}function ve(){var M,H,ie;let J=ue();J&&(((M=J.parentElement)==null?void 0:M.firstChild)===J&&((ie=(H=J.closest(ql))==null?void 0:H.querySelector(BT))==null||ie.scrollIntoView({block:"nearest"})),J.scrollIntoView({block:"nearest"}))}function ue(){var M;return(M=_.current)==null?void 0:M.querySelector(`${S5}[aria-selected="true"]`)}function pe(){var M;return Array.from(((M=_.current)==null?void 0:M.querySelectorAll(Uw))||[])}function oe(M){let H=pe()[M];H&&T.setState("value",H.getAttribute(us))}function se(M){var H;let ie=ue(),J=pe(),Z=J.findIndex(me=>me===ie),ae=J[Z+M];(H=c.current)!=null&&H.loop&&(ae=Z+M<0?J[J.length-1]:Z+M===J.length?J[0]:J[Z+M]),ae&&T.setState("value",ae.getAttribute(us))}function X(M){let H=ue(),ie=H==null?void 0:H.closest(ql),J;for(;ie&&!J;)ie=M>0?XT(ie,ql):ZT(ie,ql),J=ie==null?void 0:ie.querySelector(Uw);J?T.setState("value",J.getAttribute(us)):se(M)}let ne=()=>oe(pe().length-1),te=M=>{M.preventDefault(),M.metaKey?ne():M.altKey?X(1):se(1)},I=M=>{M.preventDefault(),M.metaKey?oe(0):M.altKey?X(-1):se(-1)};return y.createElement(Xt.div,{ref:t,tabIndex:-1,...N,"cmdk-root":"",onKeyDown:M=>{var H;(H=N.onKeyDown)==null||H.call(N,M);let ie=M.nativeEvent.isComposing||M.keyCode===229;if(!(M.defaultPrevented||ie))switch(M.key){case"n":case"j":{S&&M.ctrlKey&&te(M);break}case"ArrowDown":{te(M);break}case"p":case"k":{S&&M.ctrlKey&&I(M);break}case"ArrowUp":{I(M);break}case"Home":{M.preventDefault(),oe(0);break}case"End":{M.preventDefault(),ne();break}case"Enter":{M.preventDefault();let J=ue();if(J){let Z=new Event(mv);J.dispatchEvent(Z)}}}}},y.createElement("label",{"cmdk-label":"",htmlFor:B.inputId,id:B.labelId,style:tD},f),mh(e,M=>y.createElement(E5.Provider,{value:T},y.createElement(N5.Provider,{value:B},M))))}),HT=y.forwardRef((e,t)=>{var r,n;let i=fi(),o=y.useRef(null),u=y.useContext(A5),c=Vu(),f=P5(e),h=(n=(r=f.current)==null?void 0:r.forceMount)!=null?n:u==null?void 0:u.forceMount;fo(()=>{if(!h)return c.item(i,u==null?void 0:u.id)},[h]);let m=O5(i,o,[e.value,e.children,o],e.keywords),g=P0(),v=va(O=>O.value&&O.value===m.current),b=va(O=>h||c.filter()===!1?!0:O.search?O.filtered.items.get(i)>0:!0);y.useEffect(()=>{let O=o.current;if(!(!O||e.disabled))return O.addEventListener(mv,j),()=>O.removeEventListener(mv,j)},[b,e.onSelect,e.disabled]);function j(){var O,T;k(),(T=(O=f.current).onSelect)==null||T.call(O,m.current)}function k(){g.setState("value",m.current,!0)}if(!b)return null;let{disabled:S,value:N,onSelect:E,forceMount:A,keywords:P,..._}=e;return y.createElement(Xt.div,{ref:Ls(o,t),..._,id:i,"cmdk-item":"",role:"option","aria-disabled":!!S,"aria-selected":!!v,"data-disabled":!!S,"data-selected":!!v,onPointerMove:S||c.getDisablePointerSelection()?void 0:k,onClick:S?void 0:j},e.children)}),WT=y.forwardRef((e,t)=>{let{heading:r,children:n,forceMount:i,...o}=e,u=fi(),c=y.useRef(null),f=y.useRef(null),h=fi(),m=Vu(),g=va(b=>i||m.filter()===!1?!0:b.search?b.filtered.groups.has(u):!0);fo(()=>m.group(u),[]),O5(u,c,[e.value,e.heading,f]);let v=y.useMemo(()=>({id:u,forceMount:i}),[i]);return y.createElement(Xt.div,{ref:Ls(c,t),...o,"cmdk-group":"",role:"presentation",hidden:g?void 0:!0},r&&y.createElement("div",{ref:f,"cmdk-group-heading":"","aria-hidden":!0,id:h},r),mh(e,b=>y.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?h:void 0},y.createElement(A5.Provider,{value:v},b))))}),KT=y.forwardRef((e,t)=>{let{alwaysRender:r,...n}=e,i=y.useRef(null),o=va(u=>!u.search);return!r&&!o?null:y.createElement(Xt.div,{ref:Ls(i,t),...n,"cmdk-separator":"",role:"separator"})}),GT=y.forwardRef((e,t)=>{let{onValueChange:r,...n}=e,i=e.value!=null,o=P0(),u=va(h=>h.search),c=va(h=>h.selectedItemId),f=Vu();return y.useEffect(()=>{e.value!=null&&o.setState("search",e.value)},[e.value]),y.createElement(Xt.input,{ref:t,...n,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":f.listId,"aria-labelledby":f.labelId,"aria-activedescendant":c,id:f.inputId,type:"text",value:i?e.value:u,onChange:h=>{i||o.setState("search",h.target.value),r==null||r(h.target.value)}})}),VT=y.forwardRef((e,t)=>{let{children:r,label:n="Suggestions",...i}=e,o=y.useRef(null),u=y.useRef(null),c=va(h=>h.selectedItemId),f=Vu();return y.useEffect(()=>{if(u.current&&o.current){let h=u.current,m=o.current,g,v=new ResizeObserver(()=>{g=requestAnimationFrame(()=>{let b=h.offsetHeight;m.style.setProperty("--cmdk-list-height",b.toFixed(1)+"px")})});return v.observe(h),()=>{cancelAnimationFrame(g),v.unobserve(h)}}},[]),y.createElement(Xt.div,{ref:Ls(o,t),...i,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":c,"aria-label":n,id:f.listId},mh(e,h=>y.createElement("div",{ref:Ls(u,f.listInnerRef),"cmdk-list-sizer":""},h)))}),qT=y.forwardRef((e,t)=>{let{open:r,onOpenChange:n,overlayClassName:i,contentClassName:o,container:u,...c}=e;return y.createElement(m5,{open:r,onOpenChange:n},y.createElement(v5,{container:u},y.createElement(y5,{"cmdk-overlay":"",className:i}),y.createElement(x5,{"aria-label":e.label,"cmdk-dialog":"",className:o},y.createElement(C5,{ref:t,...c}))))}),QT=y.forwardRef((e,t)=>va(r=>r.filtered.count===0)?y.createElement(Xt.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),YT=y.forwardRef((e,t)=>{let{progress:r,children:n,label:i="Loading...",...o}=e;return y.createElement(Xt.div,{ref:t,...o,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},mh(e,u=>y.createElement("div",{"aria-hidden":!0},u)))}),ts=Object.assign(C5,{List:VT,Item:HT,Input:GT,Group:WT,Separator:KT,Dialog:qT,Empty:QT,Loading:YT});function XT(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return r;r=r.nextElementSibling}}function ZT(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return r;r=r.previousElementSibling}}function P5(e){let t=y.useRef(e);return fo(()=>{t.current=e}),t}var fo=typeof window>"u"?y.useEffect:y.useLayoutEffect;function cs(e){let t=y.useRef();return t.current===void 0&&(t.current=e()),t}function va(e){let t=P0(),r=()=>e(t.snapshot());return y.useSyncExternalStore(t.subscribe,r,r)}function O5(e,t,r,n=[]){let i=y.useRef(),o=Vu();return fo(()=>{var u;let c=(()=>{var h;for(let m of r){if(typeof m=="string")return m.trim();if(typeof m=="object"&&"current"in m)return m.current?(h=m.current.textContent)==null?void 0:h.trim():i.current}})(),f=n.map(h=>h.trim());o.value(e,c,f),(u=t.current)==null||u.setAttribute(us,c),i.current=c}),i}var JT=()=>{let[e,t]=y.useState(),r=cs(()=>new Map);return fo(()=>{r.current.forEach(n=>n()),r.current=new Map},[e]),(n,i)=>{r.current.set(n,i),t({})}};function eD(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function mh({asChild:e,children:t},r){return e&&y.isValidElement(t)?y.cloneElement(eD(t),{ref:t.ref},r(t.props.children)):r(t)}var tD={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function rD({onNavigate:e}){const[t,r]=y.useState(!1);return y.useEffect(()=>{const n=i=>{(i.metaKey||i.ctrlKey)&&i.key.toLowerCase()==="k"&&(i.preventDefault(),r(o=>!o))};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[]),l.jsx(ts.Dialog,{open:t,onOpenChange:r,label:"Befehlspalette",className:"fixed inset-0 z-50 flex items-start justify-center bg-black/50 p-4 pt-[12vh] overscroll-contain",onClick:()=>r(!1),children:l.jsxs("div",{className:"w-full max-w-lg overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-2xl",onClick:n=>n.stopPropagation(),children:[l.jsx(ts.Input,{autoFocus:!0,placeholder:"Springe zu… (Modelle, Routing, System …)",className:"w-full border-b border-border bg-transparent px-4 py-3 text-sm outline-none placeholder:text-muted-foreground"}),l.jsxs(ts.List,{className:"max-h-80 overflow-y-auto p-2",children:[l.jsx(ts.Empty,{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Nichts gefunden."}),l.jsx(ts.Group,{heading:"Bereiche",className:"px-1 py-1 text-xs text-muted-foreground",children:uu.map(n=>l.jsxs(ts.Item,{value:`${n.label} ${n.hint}`,onSelect:()=>{e(n.id),r(!1)},className:"flex cursor-pointer items-center gap-3 rounded-md px-3 py-2 text-sm text-foreground aria-selected:bg-accent aria-selected:text-accent-foreground",children:[l.jsx(n.icon,{className:"h-4 w-4 text-primary"}),l.jsx("span",{children:n.label}),l.jsx("span",{className:"ml-auto truncate text-xs text-muted-foreground",children:n.hint})]},n.id))})]})]})})}const _5="mc_expert_mode",pv="mc-expert-mode-change",nD=()=>{try{return localStorage.getItem(_5)==="true"}catch{return!1}};function iD(e){return window.addEventListener(pv,e),window.addEventListener("storage",e),()=>{window.removeEventListener(pv,e),window.removeEventListener("storage",e)}}function Hw(e){localStorage.setItem(_5,String(e)),window.dispatchEvent(new Event(pv))}function O0(){return y.useSyncExternalStore(iD,nD,()=>!1)}function M5(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t{const t=sD(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:u=>{const c=u.split(_0);return c[0]===""&&c.length!==1&&c.shift(),I5(c,t)||oD(u)},getConflictingClassGroupIds:(u,c)=>{const f=r[u]||[];return c&&n[u]?[...f,...n[u]]:f}}},I5=(e,t)=>{var u;if(e.length===0)return t.classGroupId;const r=e[0],n=t.nextPart.get(r),i=n?I5(e.slice(1),n):void 0;if(i)return i;if(t.validators.length===0)return;const o=e.join(_0);return(u=t.validators.find(({validator:c})=>c(o)))==null?void 0:u.classGroupId},Ww=/^\[(.+)\]$/,oD=e=>{if(Ww.test(e)){const t=Ww.exec(e)[1],r=t==null?void 0:t.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},sD=e=>{const{theme:t,prefix:r}=e,n={nextPart:new Map,validators:[]};return uD(Object.entries(e.classGroups),r).forEach(([o,u])=>{gv(u,n,o,t)}),n},gv=(e,t,r,n)=>{e.forEach(i=>{if(typeof i=="string"){const o=i===""?t:Kw(t,i);o.classGroupId=r;return}if(typeof i=="function"){if(lD(i)){gv(i(n),t,r,n);return}t.validators.push({validator:i,classGroupId:r});return}Object.entries(i).forEach(([o,u])=>{gv(u,Kw(t,o),r,n)})})},Kw=(e,t)=>{let r=e;return t.split(_0).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},lD=e=>e.isThemeGetter,uD=(e,t)=>t?e.map(([r,n])=>{const i=n.map(o=>typeof o=="string"?t+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(([u,c])=>[t+u,c])):o);return[r,i]}):e,cD=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map;const i=(o,u)=>{r.set(o,u),t++,t>e&&(t=0,n=r,r=new Map)};return{get(o){let u=r.get(o);if(u!==void 0)return u;if((u=n.get(o))!==void 0)return i(o,u),u},set(o,u){r.has(o)?r.set(o,u):i(o,u)}}},T5="!",dD=e=>{const{separator:t,experimentalParseClassName:r}=e,n=t.length===1,i=t[0],o=t.length,u=c=>{const f=[];let h=0,m=0,g;for(let S=0;Sm?g-m:void 0;return{modifiers:f,hasImportantModifier:b,baseClassName:j,maybePostfixModifierPosition:k}};return r?c=>r({className:c,parseClassName:u}):u},fD=e=>{if(e.length<=1)return e;const t=[];let r=[];return e.forEach(n=>{n[0]==="["?(t.push(...r.sort(),n),r=[]):r.push(n)}),t.push(...r.sort()),t},hD=e=>({cache:cD(e.cacheSize),parseClassName:dD(e),...aD(e)}),mD=/\s+/,pD=(e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:i}=t,o=[],u=e.trim().split(mD);let c="";for(let f=u.length-1;f>=0;f-=1){const h=u[f],{modifiers:m,hasImportantModifier:g,baseClassName:v,maybePostfixModifierPosition:b}=r(h);let j=!!b,k=n(j?v.substring(0,b):v);if(!k){if(!j){c=h+(c.length>0?" "+c:c);continue}if(k=n(v),!k){c=h+(c.length>0?" "+c:c);continue}j=!1}const S=fD(m).join(":"),N=g?S+T5:S,E=N+k;if(o.includes(E))continue;o.push(E);const A=i(k,j);for(let P=0;P0?" "+c:c)}return c};function gD(){let e=0,t,r,n="";for(;e{if(typeof e=="string")return e;let t,r="";for(let n=0;ng(m),e());return r=hD(h),n=r.cache.get,i=r.cache.set,o=c,c(f)}function c(f){const h=n(f);if(h)return h;const m=pD(f,r);return i(f,m),m}return function(){return o(gD.apply(null,arguments))}}const ot=e=>{const t=r=>r[e]||[];return t.isThemeGetter=!0,t},R5=/^\[(?:([a-z-]+):)?(.+)\]$/i,yD=/^\d+\/\d+$/,xD=new Set(["px","full","screen"]),bD=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,wD=/\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$/,kD=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,jD=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,SD=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ri=e=>vs(e)||xD.has(e)||yD.test(e),qi=e=>Ys(e,"length",MD),vs=e=>!!e&&!Number.isNaN(Number(e)),cg=e=>Ys(e,"number",vs),Ql=e=>!!e&&Number.isInteger(Number(e)),ND=e=>e.endsWith("%")&&vs(e.slice(0,-1)),$e=e=>R5.test(e),Qi=e=>bD.test(e),ED=new Set(["length","size","percentage"]),AD=e=>Ys(e,ED,L5),CD=e=>Ys(e,"position",L5),PD=new Set(["image","url"]),OD=e=>Ys(e,PD,TD),_D=e=>Ys(e,"",ID),Yl=()=>!0,Ys=(e,t,r)=>{const n=R5.exec(e);return n?n[1]?typeof t=="string"?n[1]===t:t.has(n[1]):r(n[2]):!1},MD=e=>wD.test(e)&&!kD.test(e),L5=()=>!1,ID=e=>jD.test(e),TD=e=>SD.test(e),DD=()=>{const e=ot("colors"),t=ot("spacing"),r=ot("blur"),n=ot("brightness"),i=ot("borderColor"),o=ot("borderRadius"),u=ot("borderSpacing"),c=ot("borderWidth"),f=ot("contrast"),h=ot("grayscale"),m=ot("hueRotate"),g=ot("invert"),v=ot("gap"),b=ot("gradientColorStops"),j=ot("gradientColorStopPositions"),k=ot("inset"),S=ot("margin"),N=ot("opacity"),E=ot("padding"),A=ot("saturate"),P=ot("scale"),_=ot("sepia"),O=ot("skew"),T=ot("space"),B=ot("translate"),$=()=>["auto","contain","none"],z=()=>["auto","hidden","clip","visible","scroll"],Q=()=>["auto",$e,t],U=()=>[$e,t],ve=()=>["",ri,qi],ue=()=>["auto",vs,$e],pe=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],oe=()=>["solid","dashed","dotted","double","none"],se=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],X=()=>["start","end","center","between","around","evenly","stretch"],ne=()=>["","0",$e],te=()=>["auto","avoid","all","avoid-page","page","left","right","column"],I=()=>[vs,$e];return{cacheSize:500,separator:":",theme:{colors:[Yl],spacing:[ri,qi],blur:["none","",Qi,$e],brightness:I(),borderColor:[e],borderRadius:["none","","full",Qi,$e],borderSpacing:U(),borderWidth:ve(),contrast:I(),grayscale:ne(),hueRotate:I(),invert:ne(),gap:U(),gradientColorStops:[e],gradientColorStopPositions:[ND,qi],inset:Q(),margin:Q(),opacity:I(),padding:U(),saturate:I(),scale:I(),sepia:ne(),skew:I(),space:U(),translate:U()},classGroups:{aspect:[{aspect:["auto","square","video",$e]}],container:["container"],columns:[{columns:[Qi]}],"break-after":[{"break-after":te()}],"break-before":[{"break-before":te()}],"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"],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:[...pe(),$e]}],overflow:[{overflow:z()}],"overflow-x":[{"overflow-x":z()}],"overflow-y":[{"overflow-y":z()}],overscroll:[{overscroll:$()}],"overscroll-x":[{"overscroll-x":$()}],"overscroll-y":[{"overscroll-y":$()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[k]}],"inset-x":[{"inset-x":[k]}],"inset-y":[{"inset-y":[k]}],start:[{start:[k]}],end:[{end:[k]}],top:[{top:[k]}],right:[{right:[k]}],bottom:[{bottom:[k]}],left:[{left:[k]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Ql,$e]}],basis:[{basis:Q()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",$e]}],grow:[{grow:ne()}],shrink:[{shrink:ne()}],order:[{order:["first","last","none",Ql,$e]}],"grid-cols":[{"grid-cols":[Yl]}],"col-start-end":[{col:["auto",{span:["full",Ql,$e]},$e]}],"col-start":[{"col-start":ue()}],"col-end":[{"col-end":ue()}],"grid-rows":[{"grid-rows":[Yl]}],"row-start-end":[{row:["auto",{span:[Ql,$e]},$e]}],"row-start":[{"row-start":ue()}],"row-end":[{"row-end":ue()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",$e]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",$e]}],gap:[{gap:[v]}],"gap-x":[{"gap-x":[v]}],"gap-y":[{"gap-y":[v]}],"justify-content":[{justify:["normal",...X()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...X(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...X(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[E]}],px:[{px:[E]}],py:[{py:[E]}],ps:[{ps:[E]}],pe:[{pe:[E]}],pt:[{pt:[E]}],pr:[{pr:[E]}],pb:[{pb:[E]}],pl:[{pl:[E]}],m:[{m:[S]}],mx:[{mx:[S]}],my:[{my:[S]}],ms:[{ms:[S]}],me:[{me:[S]}],mt:[{mt:[S]}],mr:[{mr:[S]}],mb:[{mb:[S]}],ml:[{ml:[S]}],"space-x":[{"space-x":[T]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[T]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",$e,t]}],"min-w":[{"min-w":[$e,t,"min","max","fit"]}],"max-w":[{"max-w":[$e,t,"none","full","min","max","fit","prose",{screen:[Qi]},Qi]}],h:[{h:[$e,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[$e,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[$e,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[$e,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Qi,qi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",cg]}],"font-family":[{font:[Yl]}],"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:["tighter","tight","normal","wide","wider","widest",$e]}],"line-clamp":[{"line-clamp":["none",vs,cg]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",ri,$e]}],"list-image":[{"list-image":["none",$e]}],"list-style-type":[{list:["none","disc","decimal",$e]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[N]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[N]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...oe(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",ri,qi]}],"underline-offset":[{"underline-offset":["auto",ri,$e]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:U()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",$e]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",$e]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[N]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...pe(),CD]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",AD]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},OD]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[j]}],"gradient-via-pos":[{via:[j]}],"gradient-to-pos":[{to:[j]}],"gradient-from":[{from:[b]}],"gradient-via":[{via:[b]}],"gradient-to":[{to:[b]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[c]}],"border-w-x":[{"border-x":[c]}],"border-w-y":[{"border-y":[c]}],"border-w-s":[{"border-s":[c]}],"border-w-e":[{"border-e":[c]}],"border-w-t":[{"border-t":[c]}],"border-w-r":[{"border-r":[c]}],"border-w-b":[{"border-b":[c]}],"border-w-l":[{"border-l":[c]}],"border-opacity":[{"border-opacity":[N]}],"border-style":[{border:[...oe(),"hidden"]}],"divide-x":[{"divide-x":[c]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[c]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[N]}],"divide-style":[{divide:oe()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["",...oe()]}],"outline-offset":[{"outline-offset":[ri,$e]}],"outline-w":[{outline:[ri,qi]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:ve()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[N]}],"ring-offset-w":[{"ring-offset":[ri,qi]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Qi,_D]}],"shadow-color":[{shadow:[Yl]}],opacity:[{opacity:[N]}],"mix-blend":[{"mix-blend":[...se(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":se()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[n]}],contrast:[{contrast:[f]}],"drop-shadow":[{"drop-shadow":["","none",Qi,$e]}],grayscale:[{grayscale:[h]}],"hue-rotate":[{"hue-rotate":[m]}],invert:[{invert:[g]}],saturate:[{saturate:[A]}],sepia:[{sepia:[_]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[f]}],"backdrop-grayscale":[{"backdrop-grayscale":[h]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[m]}],"backdrop-invert":[{"backdrop-invert":[g]}],"backdrop-opacity":[{"backdrop-opacity":[N]}],"backdrop-saturate":[{"backdrop-saturate":[A]}],"backdrop-sepia":[{"backdrop-sepia":[_]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[u]}],"border-spacing-x":[{"border-spacing-x":[u]}],"border-spacing-y":[{"border-spacing-y":[u]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",$e]}],duration:[{duration:I()}],ease:[{ease:["linear","in","out","in-out",$e]}],delay:[{delay:I()}],animate:[{animate:["none","spin","ping","pulse","bounce",$e]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[P]}],"scale-x":[{"scale-x":[P]}],"scale-y":[{"scale-y":[P]}],rotate:[{rotate:[Ql,$e]}],"translate-x":[{"translate-x":[B]}],"translate-y":[{"translate-y":[B]}],"skew-x":[{"skew-x":[O]}],"skew-y":[{"skew-y":[O]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",$e]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],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",$e]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":U()}],"scroll-mx":[{"scroll-mx":U()}],"scroll-my":[{"scroll-my":U()}],"scroll-ms":[{"scroll-ms":U()}],"scroll-me":[{"scroll-me":U()}],"scroll-mt":[{"scroll-mt":U()}],"scroll-mr":[{"scroll-mr":U()}],"scroll-mb":[{"scroll-mb":U()}],"scroll-ml":[{"scroll-ml":U()}],"scroll-p":[{"scroll-p":U()}],"scroll-px":[{"scroll-px":U()}],"scroll-py":[{"scroll-py":U()}],"scroll-ps":[{"scroll-ps":U()}],"scroll-pe":[{"scroll-pe":U()}],"scroll-pt":[{"scroll-pt":U()}],"scroll-pr":[{"scroll-pr":U()}],"scroll-pb":[{"scroll-pb":U()}],"scroll-pl":[{"scroll-pl":U()}],"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",$e]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[ri,qi,cg]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","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","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","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-s","border-w-e","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-s","border-color-e","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"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","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-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"]}}},RD=vD(DD);function ee(...e){return RD(rt(e))}function lf(e){return e?e.replace(/127\.0\.0\.1|localhost/g,"192.168.178.151"):""}function $5(){const e=O0();return l.jsxs("div",{className:"flex items-center rounded-md border border-border/40 bg-background/40 p-0.5",role:"group","aria-label":"Ansichtsmodus",title:"Einfach zeigt nur das Wichtigste. Experte zeigt alle technischen Details.",children:[l.jsxs("button",{onClick:()=>Hw(!1),"aria-pressed":!e,className:ee("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",e?"text-muted-foreground hover:text-foreground":"bg-primary/15 text-primary shadow-sm"),children:[l.jsx(fs,{className:"h-3.5 w-3.5"})," Einfach"]}),l.jsxs("button",{onClick:()=>Hw(!0),"aria-pressed":e,className:ee("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",e?"bg-primary/15 text-primary shadow-sm":"text-muted-foreground hover:text-foreground"),children:[l.jsx(WM,{className:"h-3.5 w-3.5"})," Experte"]})]})}async function we(e,t){var f;const r={"Content-Type":"application/json",...t==null?void 0:t.headers},n=localStorage.getItem("mc_sudo_password"),i=localStorage.getItem("mc_hf_token");n&&(r["X-Sudo-Password"]=n);let o=t==null?void 0:t.body;if((((f=t==null?void 0:t.method)==null?void 0:f.toUpperCase())||"GET")==="POST"){if(typeof o=="string")try{const h=JSON.parse(o);let m=!1;n&&!("sudo_password"in h)&&(h.sudo_password=n,m=!0),i&&!("hf_token"in h)&&(h.hf_token=i,m=!0),m&&(o=JSON.stringify(h))}catch{}else if(!o){const h={};n&&(h.sudo_password=n),i&&(h.hf_token=i),Object.keys(h).length>0&&(o=JSON.stringify(h))}}const c=await fetch(e,{...t,headers:r,body:o});if(!c.ok)throw new Error(`${c.status} ${c.statusText}`);return c.json()}const z5=(e,t,r=!1,n=!0)=>we("/api/groups",{method:"PUT",body:JSON.stringify({group:e,members:t,swap:r,persist:n})}),LD=e=>we("/api/routing/policy",{method:"PUT",body:JSON.stringify(e)}),Be={health:["health"],systemStatus:["system-status"],services:["services"],models:["models"],groups:["groups"],routing:["routing"],routingPolicy:["routing-policy"],jobs:["jobs"],tokenStats:["token-stats"],agentStatus:["agent-status"],hermesBrain:["hermes-brain"],updates:["updates"],discover:["discover"],drafts:e=>["drafts",e??""],connect:e=>["connect",e??""],connectHealth:["connect-health"],memory:(e,t)=>["memory",e??"",t??""],memoryGraph:["memory-graph"],voiceTrace:["voice-trace"]},$D=(e=!0)=>Yt({queryKey:Be.memoryGraph,queryFn:()=>we("/api/memory/graph"),enabled:e}),M0=()=>Yt({queryKey:Be.health,queryFn:()=>we("/api/health"),refetchInterval:1e4}),ko=(e=5e3)=>Yt({queryKey:Be.systemStatus,queryFn:()=>we("/api/system/status"),refetchInterval:e}),F5=(e=3e3)=>Yt({queryKey:Be.services,queryFn:()=>we("/api/system/services"),refetchInterval:e}),wi=(e=4e3)=>Yt({queryKey:Be.models,queryFn:()=>we("/api/models"),refetchInterval:e}),I0=(e=8e3)=>Yt({queryKey:Be.groups,queryFn:()=>we("/api/groups"),refetchInterval:e}),zD=()=>Yt({queryKey:Be.routingPolicy,queryFn:()=>we("/api/routing/policy")}),FD=(e=2e3)=>Yt({queryKey:Be.jobs,queryFn:()=>we("/api/jobs"),refetchInterval:e,select:t=>t.jobs??[]}),B5=(e=3e3)=>Yt({queryKey:Be.tokenStats,queryFn:()=>we("/api/system/token-stats"),refetchInterval:e}),ph=(e=5e3)=>Yt({queryKey:Be.agentStatus,queryFn:()=>we("/api/agent/status"),refetchInterval:e}),U5=(e=6e4)=>Yt({queryKey:Be.hermesBrain,queryFn:()=>we("/api/agent/brain"),refetchInterval:e}),gh=e=>Yt({queryKey:Be.updates,queryFn:()=>we("/api/maintenance/updates"),refetchInterval:e}),BD=()=>Yt({queryKey:Be.discover,queryFn:()=>we("/api/discover")}),UD=e=>Yt({queryKey:Be.drafts(e),queryFn:()=>we(`/api/models/drafts?target=${encodeURIComponent(e??"")}`),enabled:!!e}),HD=e=>Yt({queryKey:Be.connect(e),queryFn:()=>we(e?`/api/connect?${e}`:"/api/connect")}),H5=()=>Yt({queryKey:Be.connectHealth,queryFn:()=>we("/api/connect/health"),refetchInterval:15e3}),vv=e=>Yt({queryKey:Be.memory(e==null?void 0:e.q,e==null?void 0:e.category),queryFn:()=>{const t=new URLSearchParams;return e!=null&&e.q&&t.set("q",e.q),e!=null&&e.category&&t.set("category",e.category),we(`/api/memory?${t}`)},select:t=>e!=null&&e.limit?t.slice(0,e.limit):t});function W5({type:e,title:t,message:r,defaultValue:n,autoValue:i,autoLabel:o,onConfirm:u,onCancel:c}){const f=y.useRef(null);return l.jsx("div",{className:"fixed inset-0 z-[99] bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":t,children:l.jsxs("div",{className:"w-full max-w-sm rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[l.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:t}),l.jsx("button",{onClick:c||(()=>u()),"aria-label":"Schließen",className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:l.jsx(gi,{className:"h-4 w-4","aria-hidden":"true"})})]}),l.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:r}),e==="prompt"&&l.jsxs("div",{className:"flex gap-2",children:[l.jsx("input",{ref:f,type:"text",defaultValue:n,"aria-label":t,className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground",autoFocus:!0,onKeyDown:h=>{var m;h.key==="Enter"&&u((m=f.current)==null?void 0:m.value)}}),i!==void 0&&l.jsx("button",{type:"button",onClick:()=>{f.current&&(f.current.value=i)},title:"Setup-bewussten Optimalwert eintragen",className:"h-9 px-3 shrink-0 text-xs font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg transition-colors cursor-pointer",children:o||"Auto"})]}),l.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[(e==="confirm"||e==="prompt")&&l.jsx("button",{onClick:c,className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Abbrechen"}),l.jsx("button",{onClick:()=>{var m;const h=e==="prompt"?(m=f.current)==null?void 0:m.value:void 0;u(h)},className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-lg transition-colors cursor-pointer",children:e==="confirm"?"Ja, fortfahren":e==="prompt"?"Übernehmen":"OK"})]})]})})}function ba(){const[e,t]=y.useState(null),r=y.useCallback(()=>t(null),[]),n=y.useCallback((c,f,h)=>{t({type:"alert",title:c,message:f,onConfirm:()=>{t(null),h==null||h()}})},[]),i=y.useCallback((c,f,h,m)=>{t({type:"confirm",title:c,message:f,onConfirm:()=>{t(null),h()},onCancel:()=>{t(null),m==null||m()}})},[]),o=y.useCallback((c,f,h,m,g,v)=>{t({type:"prompt",title:c,message:f,defaultValue:h,autoValue:v==null?void 0:v.autoValue,autoLabel:v==null?void 0:v.autoLabel,onConfirm:b=>{t(null),m(b)},onCancel:()=>{t(null),g==null||g()}})},[]),u=e?l.jsx(W5,{...e}):null;return{showAlert:n,showConfirm:i,showPrompt:o,close:r,dialogElement:u}}function Qr(e){return(e/1024**3).toFixed(1)}function yv(e){return e?e>1024**3?`${(e/1024**3).toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`:""}function or(e){if(!e)return"—";const t=e/1024**3;return t>=1?`${t.toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`}function WD(e){if(!e)return"";const t=Math.floor(e/60);return t>0?`${t} min`:`${e} s`}function xv(e){return e?`${Math.round(e/1024)}k`:"—"}function KD(){const e=Kn(),{data:t=[]}=FD(2e3),{showAlert:r,dialogElement:n}=ba();async function i(c){try{await we(`/api/jobs/${c}/cancel`,{method:"POST"}),e.invalidateQueries({queryKey:Be.jobs})}catch(f){r("Fehler",f.message)}}const o=t.filter(c=>c.state==="running"||c.state==="queued"),u=t.filter(c=>c.state!=="running"&&c.state!=="queued").slice(-3);return o.length===0&&u.length===0?null:l.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 shadow-lg shadow-black/10",children:[l.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:"Aktive Downloads"}),o.map(c=>l.jsxs("div",{className:"space-y-1.5 p-3 rounded-xl bg-background/20 border border-border/40",children:[l.jsxs("div",{className:"flex justify-between items-center text-xs",children:[l.jsx("span",{className:"font-semibold truncate max-w-[250px]",children:c.label}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("span",{className:"text-muted-foreground font-mono",children:[c.progress??0,"% • ",yv(c.done_bytes),"/",yv(c.total_bytes),c.eta_s?` • ETA ${WD(c.eta_s)}`:""]}),l.jsx("button",{onClick:()=>i(c.id),className:"text-[10px] text-red-400 hover:text-red-300 font-semibold border border-red-500/25 bg-red-500/5 px-2 py-0.5 rounded transition-all cursor-pointer",children:"Abbrechen"})]})]}),l.jsx("div",{className:"h-1.5 overflow-hidden rounded-full bg-muted",children:l.jsx("div",{className:"h-full rounded-full bg-primary transition-all duration-500",style:{width:`${c.progress??0}%`}})})]},c.id)),u.map(c=>l.jsxs("div",{className:"flex justify-between items-center text-xs text-muted-foreground px-1",children:[l.jsx("span",{className:"truncate",children:c.label}),l.jsx("span",{className:ee("font-semibold text-[10px] px-1.5 py-0.5 rounded uppercase font-mono",c.state==="done"?"bg-emerald-500/10 text-emerald-400":"bg-amber-500/10 text-amber-400"),children:c.state})]},c.id)),n]})}function Ra({children:e,tone:t="muted"}){const r={muted:"bg-muted text-muted-foreground",primary:"bg-primary/15 text-primary",warn:"bg-amber-500/15 text-amber-500"};return l.jsx("span",{className:`rounded px-1.5 py-0.5 text-[11px] font-medium ${r[t]}`,children:e})}function bv({caps:e}){return e?l.jsxs("span",{className:"inline-flex flex-wrap gap-1",children:[e.coder&&l.jsx(Ra,{children:"💻 Code"}),e.vision&&l.jsx(Ra,{children:"👁 Bild"}),e.reasoning&&l.jsx(Ra,{children:"🧠 Reason"}),e.moe&&l.jsxs(Ra,{tone:"primary",children:["🧩 MoE",e.active_b?`·${e.active_b}b`:""]}),e.tools==="yes"&&l.jsx(Ra,{tone:"primary",children:"🛠 Tools"}),e.tools==="likely"&&l.jsx(Ra,{tone:"warn",children:"🛠 Tools?"}),e.embedding&&l.jsx(Ra,{children:"🔢 Embed"})]}):null}const T0=[{role:"hermes",label:"Lucys Hirn",short:"Hirn",icon:xa,desc:"Lucys Alltags-Verstand — denkt und redet mit dir. Immer bereit.",tone:"bg-indigo-500/15 text-indigo-400 border-indigo-500/25",protected:!0},{role:"embed",label:"Lucys Gedächtnis",short:"Gedächtnis",icon:LN,desc:"Merkt sich Wichtiges und findet es später wieder.",tone:"bg-emerald-500/15 text-emerald-400 border-emerald-500/25",protected:!0},{role:"vision",label:"Lucys Augen",short:"Augen",icon:xu,desc:"Sieht Bilder und Screenshots und beschreibt, was drauf ist.",tone:"bg-pink-500/15 text-pink-400 border-pink-500/25"},{role:"heavy",label:"Großes Hirn",short:"Groß",icon:uM,desc:"Das schwere Geschütz — wird für besonders knifflige Fragen dazugeholt.",tone:"bg-amber-500/15 text-amber-400 border-amber-500/25"},{role:"coder-lite",label:"Programmierer (schnell)",short:"Code schnell",icon:Ts,desc:"Schnelles Programmieren im Alltag.",tone:"bg-violet-500/15 text-violet-400 border-violet-500/25"},{role:"coder",label:"Programmierer (gründlich)",short:"Code gründlich",icon:Ts,desc:"Schreibt und prüft Code besonders sorgfältig — für schwere Coding-Aufgaben.",tone:"bg-fuchsia-500/15 text-fuchsia-400 border-fuchsia-500/25"},{role:"scout",label:"Späher",short:"Späher",icon:VM,desc:"Schneller erster Blick und grobe Einschätzung.",tone:"bg-teal-500/15 text-teal-400 border-teal-500/25"}],GD=T0.map(e=>e.role),Gw=Object.fromEntries(T0.map(e=>[e.role,e])),Vw=e=>({role:e||"?",label:e||"unbekannt",short:e||"?",icon:xa,desc:"Rolle ohne hinterlegten Klartext-Namen.",tone:"bg-slate-500/15 text-slate-300 border-slate-500/25"}),VD={fast:"hermes",coder_lite:"coder-lite"};function ct(e){return e&&(Gw[e]||Gw[VD[e]])||Vw(e)}function so({role:e,dense:t=!1,className:r}){const n=ct(e),i=n.icon;return l.jsxs("span",{className:ee("inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] font-semibold border tracking-wide",n.tone,r),title:`${n.desc} (${n.role})`,children:[l.jsx(i,{className:"h-3 w-3 shrink-0","aria-hidden":"true"}),t?n.short:n.label]})}function qD({fit:e}){const t={perfect:"bg-emerald-500/15 text-emerald-400 border border-emerald-500/20",marginal:"bg-amber-500/15 text-amber-400 border border-amber-500/20",too_tight:"bg-red-500/15 text-red-400 border border-red-500/20"}[e.level];return l.jsxs("span",{className:ee("rounded px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider font-mono",t),children:[e.text," • ",e.req_gb," GB RAM"]})}function uf(e){const t=e.toLowerCase();return t.includes("qwen")?{name:"Qwen",color:"bg-purple-500/20 text-purple-300 border-purple-500/30",initial:"Q"}:t.includes("gemma")?{name:"Gemma",color:"bg-blue-500/20 text-blue-300 border-blue-500/30",initial:"G"}:t.includes("llama")?{name:"Llama",color:"bg-red-500/20 text-red-300 border-red-500/30",initial:"🦙"}:t.includes("mistral")||t.includes("mixtral")?{name:"Mistral",color:"bg-orange-500/20 text-orange-300 border-orange-500/30",initial:"M"}:t.includes("deepseek")?{name:"DeepSeek",color:"bg-cyan-500/20 text-cyan-300 border-cyan-500/30",initial:"D"}:t.includes("hermes")||t.includes("nous")?{name:"Hermes",color:"bg-amber-500/20 text-amber-300 border-amber-500/30",initial:"H"}:t.includes("phi")?{name:"Phi",color:"bg-emerald-500/20 text-emerald-300 border-emerald-500/30",initial:"Φ"}:{name:"Other",color:"bg-slate-500/20 text-slate-300 border-slate-500/30",initial:"AI"}}function K5({model:e,onClose:t,onChanged:r}){var k,S;const{data:n,isLoading:i}=UD(e.gguf_path),[o,u]=y.useState(null),[c,f]=y.useState(""),h=n==null?void 0:n.target_vocab,m=(n==null?void 0:n.drafts)??[],g=m.filter(N=>N.compatible===!0),v=e.spec_draft_model;async function b(N){u(N??"__clear__"),f("");try{await we(`/api/models/${encodeURIComponent(e.name)}/draft`,{method:"POST",body:JSON.stringify({draft_path:N})}),r(),t()}catch(E){f(String((E==null?void 0:E.message)||E)),u(null)}}const j=N=>{var E;return N?`${N.pre??"?"} · ${((E=N.n_vocab)==null?void 0:E.toLocaleString())??"?"} Tokens`:"—"};return l.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:l.jsxs("div",{className:"w-full max-w-lg rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[l.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[l.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-2",children:[l.jsx(ga,{className:"h-4 w-4"})," Speculative Draft"]}),l.jsx("button",{onClick:t,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:l.jsx(gi,{className:"h-4 w-4"})})]}),l.jsxs("div",{className:"text-xs text-muted-foreground leading-relaxed",children:['Beschleunigt die Token-Generierung mit einem kleinen "Draft"-Modell. Voraussetzung: der Draft muss den ',l.jsx("strong",{className:"text-foreground",children:"exakt gleichen Tokenizer (Vocab)"})," haben wie das Modell — sonst lehnt llama.cpp es ab."]}),l.jsxs("div",{className:"rounded-lg border border-border/40 bg-background/30 px-3 py-2 text-[11px] font-mono flex items-center justify-between",children:[l.jsx("span",{className:"text-muted-foreground",children:(k=e.name.split("/").pop())==null?void 0:k.replace(/\.gguf$/i,"")}),l.jsxs("span",{className:"text-foreground",children:["Vocab: ",j(h)]})]}),e.spec_active&&v&&l.jsxs("div",{className:"rounded-lg border border-emerald-500/30 bg-emerald-500/5 px-3 py-2 flex items-center justify-between gap-2",children:[l.jsxs("span",{className:"text-[11px] text-emerald-400 font-mono flex items-center gap-1.5 truncate",children:[l.jsx(qt,{className:"h-3.5 w-3.5 shrink-0"})," Aktiv: ",v]}),l.jsx("button",{onClick:()=>b(null),disabled:o!==null,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Deaktivieren"})]}),!(n!=null&&n.target_exists)&&l.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 flex items-center gap-2",children:[l.jsx(Er,{className:"h-3.5 w-3.5 shrink-0"}),"Modell-GGUF noch nicht vorhanden — Spec-Draft ist nach dem Download konfigurierbar."]}),l.jsx("div",{className:"space-y-1.5 max-h-64 overflow-y-auto pr-1",children:i?l.jsx("div",{className:"text-xs text-muted-foreground py-6 text-center",children:"Prüfe Vocab-Kompatibilität…"}):m.length===0?l.jsxs("div",{className:"text-[11px] text-muted-foreground border border-dashed border-border/50 rounded-lg p-4 text-center",children:["Keine Draft-Modelle in ",l.jsx("code",{className:"font-mono",children:"/srv/models/drafts"}),". Lade ein kleines same-family-Modell (z.B. Qwen3-0.6B) und lege es dort ab."]}):m.map(N=>{var P,_;const E=N.filename===v,A=N.compatible===!0;return l.jsxs("div",{className:ee("rounded-lg border px-3 py-2 flex items-center justify-between gap-2 text-left",A?"border-border/40 bg-background/20":"border-border/20 bg-background/10 opacity-60",E&&"border-primary/40 bg-primary/10"),children:[l.jsxs("div",{className:"min-w-0",children:[l.jsxs("div",{className:"text-[11px] font-mono font-semibold text-foreground truncate flex items-center gap-1.5",children:[N.filename,N.mtp&&l.jsx("span",{className:"shrink-0 rounded bg-indigo-500/15 px-1.5 py-0.5 text-[8px] font-bold uppercase tracking-wider text-indigo-400 border border-indigo-500/25",title:"MTP-Kopf (Multi-Token-Prediction) — by-construction vocab-identisch, höchste Akzeptanzrate",children:"MTP"})]}),l.jsxs("div",{className:"text-[9px] text-muted-foreground font-mono",children:[or(N.size_bytes)," · Vocab: ",j(N.vocab)]})]}),A?E?l.jsxs("span",{className:"text-[9px] font-bold uppercase text-primary flex items-center gap-1 shrink-0",children:[l.jsx(qt,{className:"h-3.5 w-3.5"})," Aktiv"]}):l.jsx("button",{onClick:()=>b(N.path),disabled:o!==null,className:"h-7 px-3 rounded-lg border border-emerald-500/30 bg-emerald-500/5 hover:bg-emerald-500/15 text-emerald-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Aktivieren"}):l.jsxs("span",{className:"text-[9px] font-bold uppercase text-amber-400/80 flex items-center gap-1 shrink-0",title:N.compatible===!1?`Inkompatibel: Tokenizer/Vocab weicht ab (Draft ${(P=N.vocab)==null?void 0:P.pre}/${(_=N.vocab)==null?void 0:_.n_vocab} ≠ Modell ${h==null?void 0:h.pre}/${h==null?void 0:h.n_vocab}).`:"Kompatibilität nicht prüfbar (Datei fehlt).",children:[l.jsx(Er,{className:"h-3.5 w-3.5"})," ",N.compatible===!1?"Vocab ≠":"n/a"]})]},N.path)})}),!i&&(n==null?void 0:n.target_exists)&&m.length>0&&g.length===0&&l.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 leading-relaxed",children:["Kein vocab-kompatibler Draft verfügbar — Speculative Decoding ist für dieses Modell nicht möglich. Es braucht einen Draft mit identischem Tokenizer (pre=",l.jsx("span",{className:"font-mono",children:h==null?void 0:h.pre}),", n_vocab=",l.jsx("span",{className:"font-mono",children:(S=h==null?void 0:h.n_vocab)==null?void 0:S.toLocaleString()}),")."]}),c&&l.jsx("div",{className:"text-[10px] text-red-400 font-mono",children:c})]})})}const qw={hermes:{bar:"bg-indigo-500",dot:"bg-indigo-500",text:"text-indigo-400"},embed:{bar:"bg-emerald-500",dot:"bg-emerald-500",text:"text-emerald-400"},vision:{bar:"bg-pink-500",dot:"bg-pink-500",text:"text-pink-400"},heavy:{bar:"bg-amber-500",dot:"bg-amber-500",text:"text-amber-400"},"coder-lite":{bar:"bg-violet-500",dot:"bg-violet-500",text:"text-violet-400"},coder:{bar:"bg-fuchsia-500",dot:"bg-fuchsia-500",text:"text-fuchsia-400"},scout:{bar:"bg-teal-500",dot:"bg-teal-500",text:"text-teal-400"}},QD={fast:"hermes",coder_lite:"coder-lite"},Qw={bar:"bg-slate-400",dot:"bg-slate-400",text:"text-slate-300"};function cf(e){return e&&(qw[e]||qw[QD[e]])||Qw}const Yw=1024**3,Xw=e=>{var t;return((t=e.split("/").pop())==null?void 0:t.replace(/\.gguf$/i,""))??e};function YD({running:e,capacityBytes:t,realUsedBytes:r,selected:n,onSelect:i}){const o=t>2*Yw?t:124*Yw,u=e.reduce((h,m)=>h+(m.size_bytes||0),0),c=Math.max(0,o-u),f=c/o*100;return l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-5 shadow-lg shadow-black/15 backdrop-blur-md",children:[l.jsxs("div",{className:"mb-3 flex flex-wrap items-end justify-between gap-2",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(fa,{className:"h-5 w-5 text-primary"}),l.jsxs("div",{children:[l.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Arbeitsspeicher"}),l.jsxs("div",{className:"font-space text-xl font-bold tracking-tight text-foreground",children:[Qr(o)," GB ",l.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"gesamt"})]})]})]}),l.jsxs("div",{className:"text-right text-[11px] font-mono text-muted-foreground",children:[l.jsxs("div",{children:[l.jsxs("span",{className:"font-bold text-foreground",children:[Qr(u)," GB"]})," Modelle geladen"]}),r>0&&l.jsxs("div",{children:[Qr(r)," GB real belegt (inkl. KV-Cache)"]}),l.jsxs("div",{className:"text-emerald-400",children:[Qr(c)," GB frei"]})]})]}),l.jsx("div",{className:"flex h-12 w-full overflow-hidden rounded-xl border border-border/40 bg-background/50 p-1",children:e.length===0?l.jsx("div",{className:"flex w-full items-center justify-center text-[11px] italic text-muted-foreground/60",children:"Kein Modell geladen — Auto-Swap holt bei Anfrage automatisch das passende."}):l.jsxs(l.Fragment,{children:[e.map(h=>{const m=(h.size_bytes||0)/o*100,g=cf(h.role),v=n===h.name;return l.jsxs("button",{onClick:()=>i==null?void 0:i(h.name),style:{width:`${m}%`},title:`${ct(h.role).label} · ${Xw(h.name)} · ${or(h.size_bytes)}`,className:ee("group flex h-full min-w-[2.5rem] shrink-0 flex-col justify-center gap-0.5 rounded-lg px-2 text-left text-white transition-all",g.bar,v?"ring-2 ring-white/70":"opacity-90 hover:opacity-100"),children:[l.jsx("span",{className:"truncate font-space text-[10px] font-bold leading-tight tracking-wide",children:ct(h.role).short}),l.jsx("span",{className:"truncate font-mono text-[9px] leading-tight opacity-85",children:or(h.size_bytes)})]},h.name)}),f>1.5&&l.jsx("div",{style:{width:`${f}%`},className:"flex h-full min-w-[2rem] items-center justify-center rounded-lg text-[9px] font-mono text-muted-foreground/50",title:`${Qr(c)} GB frei`,children:"frei"})]})}),e.length>0&&l.jsxs("div",{className:"mt-3 flex flex-wrap gap-x-4 gap-y-1.5",children:[e.map(h=>{const m=cf(h.role);return l.jsxs("button",{onClick:()=>i==null?void 0:i(h.name),className:"flex items-center gap-1.5 text-[11px] text-muted-foreground transition-colors hover:text-foreground",children:[l.jsx("span",{className:ee("h-2.5 w-2.5 rounded-sm",m.dot)}),l.jsx("span",{className:ee("font-semibold",m.text),children:ct(h.role).short}),l.jsx("span",{className:"font-mono text-muted-foreground/70",children:Xw(h.name)})]},h.name)}),l.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground/60",children:[l.jsx("span",{className:"h-2.5 w-2.5 rounded-sm border border-border/50 bg-background/50"})," frei · ",Qr(c)," GB"]})]})]})}const Zw=1024**3,Ua=e=>{var t;return((t=e.split("/").pop())==null?void 0:t.replace(/\.gguf$/i,""))??e};function XD(){var M,H,ie,J;const e=Kn(),{data:t,isLoading:r,error:n}=wi(4e3),{data:i}=ko(),{data:o}=I0(),{showAlert:u,showConfirm:c,showPrompt:f,dialogElement:h}=ba(),m=O0(),g=(t==null?void 0:t.models)??[],v=(t==null?void 0:t.running)??[],b=Z=>!!ct(Z).protected,j=(M=o==null?void 0:o.groups)==null?void 0:M.brains,k=(j==null?void 0:j.members)??[],S=Z=>k.includes(Z),[N,E]=y.useState(null),[A,P]=y.useState(""),[_,O]=y.useState("all"),[T,B]=y.useState(null),$=()=>{e.invalidateQueries({queryKey:Be.models}),e.invalidateQueries({queryKey:Be.routing}),e.invalidateQueries({queryKey:Be.groups})},z=g.filter(Z=>v.includes(Z.name)),Q=((H=i==null?void 0:i.gpu)==null?void 0:H.gtt_total)||((ie=i==null?void 0:i.gpu)==null?void 0:ie.vram_total)||0,U=((J=i==null?void 0:i.gpu)==null?void 0:J.gtt_used)||0,ve=Q>2*Zw?Q:124*Zw,ue=y.useMemo(()=>{const Z=A.trim().toLowerCase();return g.filter(ae=>_==="in_use"?!!ae.role||v.includes(ae.name):!0).filter(ae=>Z?ae.name.toLowerCase().includes(Z):!0).sort((ae,me)=>{const re=v.includes(ae.name)?0:1,ye=v.includes(me.name)?0:1;return re!==ye?re-ye:Ua(ae.name).localeCompare(Ua(me.name))})},[g,v,_,A]),pe=g.find(Z=>Z.name===N)??null;async function oe(Z){try{await we(`/api/models/${encodeURIComponent(Z)}/load`,{method:"POST"}),$()}catch(ae){u("Fehler",`Laden fehlgeschlagen: ${ae.message||ae}`)}}async function se(Z){const ae=k.some(me=>v.includes(me));if(j&&ae&&!S(Z)){const me=k.filter(re=>v.includes(re)).map(Ua).join(", ");c("Verdrängt das Hirn?",`„${Ua(Z)}" ist nicht ko-resident. Beim Laden wirft es das warme Hirn (${me}) raus — Lucy verliert Hirn bzw. Augen.
+`)},ST=0,Jo=[];function NT(e){var t=y.useRef([]),r=y.useRef([0,0]),n=y.useRef(),i=y.useState(ST++)[0],o=y.useState(s5)[0],u=y.useRef(e);y.useEffect(function(){u.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var k=GI([e.lockRef.current],(e.shards||[]).map(Bw),!0).filter(Boolean);return k.forEach(function(S){return S.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),k.forEach(function(S){return S.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var c=y.useCallback(function(k,S){if("touches"in k&&k.touches.length===2||k.type==="wheel"&&k.ctrlKey)return!u.current.allowPinchZoom;var N=Sd(k),E=r.current,A="deltaX"in k?k.deltaX:E[0]-N[0],P="deltaY"in k?k.deltaY:E[1]-N[1],_,O=k.target,T=Math.abs(A)>Math.abs(P)?"h":"v";if("touches"in k&&T==="h"&&O.type==="range")return!1;var B=window.getSelection(),$=B&&B.anchorNode,z=$?$===O||$.contains(O):!1;if(z)return!1;var Q=zw(T,O);if(!Q)return!0;if(Q?_=T:(_=T==="v"?"h":"v",Q=zw(T,O)),!Q)return!1;if(!n.current&&"changedTouches"in k&&(A||P)&&(n.current=_),!_)return!0;var U=n.current||_;return wT(U,S,k,U==="h"?A:P)},[]),f=y.useCallback(function(k){var S=k;if(!(!Jo.length||Jo[Jo.length-1]!==o)){var N="deltaY"in S?Fw(S):Sd(S),E=t.current.filter(function(_){return _.name===S.type&&(_.target===S.target||S.target===_.shadowParent)&&kT(_.delta,N)})[0];if(E&&E.should){S.cancelable&&S.preventDefault();return}if(!E){var A=(u.current.shards||[]).map(Bw).filter(Boolean).filter(function(_){return _.contains(S.target)}),P=A.length>0?c(S,A[0]):!u.current.noIsolation;P&&S.cancelable&&S.preventDefault()}}},[]),h=y.useCallback(function(k,S,N,E){var A={name:k,delta:S,target:N,should:E,shadowParent:ET(N)};t.current.push(A),setTimeout(function(){t.current=t.current.filter(function(P){return P!==A})},1)},[]),m=y.useCallback(function(k){r.current=Sd(k),n.current=void 0},[]),g=y.useCallback(function(k){h(k.type,Fw(k),k.target,c(k,e.lockRef.current))},[]),v=y.useCallback(function(k){h(k.type,Sd(k),k.target,c(k,e.lockRef.current))},[]);y.useEffect(function(){return Jo.push(o),e.setCallbacks({onScrollCapture:g,onWheelCapture:g,onTouchMoveCapture:v}),document.addEventListener("wheel",f,Zo),document.addEventListener("touchmove",f,Zo),document.addEventListener("touchstart",m,Zo),function(){Jo=Jo.filter(function(k){return k!==o}),document.removeEventListener("wheel",f,Zo),document.removeEventListener("touchmove",f,Zo),document.removeEventListener("touchstart",m,Zo)}},[]);var b=e.removeScrollBar,j=e.inert;return y.createElement(y.Fragment,null,j?y.createElement(o,{styles:jT(i)}):null,b?y.createElement(mT,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function ET(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const AT=tT(o5,NT);var d5=y.forwardRef(function(e,t){return y.createElement(fh,Dn({},e,{ref:t,sideCar:AT}))});d5.classNames=fh.classNames;var CT=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},es=new WeakMap,Nd=new WeakMap,Ed={},lg=0,f5=function(e){return e&&(e.host||f5(e.parentNode))},PT=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=f5(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},OT=function(e,t,r,n){var i=PT(t,Array.isArray(e)?e:[e]);Ed[r]||(Ed[r]=new WeakMap);var o=Ed[r],u=[],c=new Set,f=new Set(i),h=function(g){!g||c.has(g)||(c.add(g),h(g.parentNode))};i.forEach(h);var m=function(g){!g||f.has(g)||Array.prototype.forEach.call(g.children,function(v){if(c.has(v))m(v);else try{var b=v.getAttribute(n),j=b!==null&&b!=="false",k=(es.get(v)||0)+1,S=(o.get(v)||0)+1;es.set(v,k),o.set(v,S),u.push(v),k===1&&j&&Nd.set(v,!0),S===1&&v.setAttribute(r,"true"),j||v.setAttribute(n,"true")}catch(N){console.error("aria-hidden: cannot operate on ",v,N)}})};return m(t),c.clear(),lg++,function(){u.forEach(function(g){var v=es.get(g)-1,b=o.get(g)-1;es.set(g,v),o.set(g,b),v||(Nd.has(g)||g.removeAttribute(n),Nd.delete(g)),b||g.removeAttribute(r)}),lg--,lg||(es=new WeakMap,es=new WeakMap,Nd=new WeakMap,Ed={})}},_T=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),i=CT(e);return i?(n.push.apply(n,Array.from(i.querySelectorAll("[aria-live], script"))),OT(n,i,r,"aria-hidden")):function(){return null}},hh="Dialog",[h5]=aI(hh),[MT,wn]=h5(hh),m5=e=>{const{__scopeDialog:t,children:r,open:n,defaultOpen:i,onOpenChange:o,modal:u=!0}=e,c=y.useRef(null),f=y.useRef(null),[h,m]=cI({prop:n,defaultProp:i??!1,onChange:o,caller:hh});return l.jsx(MT,{scope:t,triggerRef:c,contentRef:f,contentId:fi(),titleId:fi(),descriptionId:fi(),open:h,onOpenChange:m,onOpenToggle:y.useCallback(()=>m(g=>!g),[m]),modal:u,children:r})};m5.displayName=hh;var p5="DialogTrigger",IT=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=wn(p5,r),o=wo(t,i.triggerRef);return l.jsx(Xt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":C0(i.open),...n,ref:o,onClick:ha(e.onClick,i.onOpenToggle)})});IT.displayName=p5;var A0="DialogPortal",[TT,g5]=h5(A0,{forceMount:void 0}),v5=e=>{const{__scopeDialog:t,forceMount:r,children:n,container:i}=e,o=wn(A0,t);return l.jsx(TT,{scope:t,forceMount:r,children:y.Children.map(n,u=>l.jsx(dh,{present:r||o.open,children:l.jsx(n5,{asChild:!0,container:i,children:u})}))})};v5.displayName=A0;var sf="DialogOverlay",y5=y.forwardRef((e,t)=>{const r=g5(sf,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,o=wn(sf,e.__scopeDialog);return o.modal?l.jsx(dh,{present:n||o.open,children:l.jsx(RT,{...i,ref:t})}):null});y5.displayName=sf;var DT=ZN("DialogOverlay.RemoveScroll"),RT=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=wn(sf,r),o=OI(),u=wo(t,o);return l.jsx(d5,{as:DT,allowPinchZoom:!0,shards:[i.contentRef],children:l.jsx(Xt.div,{"data-state":C0(i.open),...n,ref:u,style:{pointerEvents:"auto",...n.style}})})}),Ls="DialogContent",x5=y.forwardRef((e,t)=>{const r=g5(Ls,e.__scopeDialog),{forceMount:n=r.forceMount,...i}=e,o=wn(Ls,e.__scopeDialog);return l.jsx(dh,{present:n||o.open,children:o.modal?l.jsx(LT,{...i,ref:t}):l.jsx($T,{...i,ref:t})})});x5.displayName=Ls;var LT=y.forwardRef((e,t)=>{const r=wn(Ls,e.__scopeDialog),n=y.useRef(null),i=wo(t,r.contentRef,n);return y.useEffect(()=>{const o=n.current;if(o)return _T(o)},[]),l.jsx(b5,{...e,ref:i,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:ha(e.onCloseAutoFocus,o=>{var u;o.preventDefault(),(u=r.triggerRef.current)==null||u.focus()}),onPointerDownOutside:ha(e.onPointerDownOutside,o=>{const u=o.detail.originalEvent,c=u.button===0&&u.ctrlKey===!0;(u.button===2||c)&&o.preventDefault()}),onFocusOutside:ha(e.onFocusOutside,o=>o.preventDefault())})}),$T=y.forwardRef((e,t)=>{const r=wn(Ls,e.__scopeDialog),n=y.useRef(!1),i=y.useRef(!1);return l.jsx(b5,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{var u,c;(u=e.onCloseAutoFocus)==null||u.call(e,o),o.defaultPrevented||(n.current||(c=r.triggerRef.current)==null||c.focus(),o.preventDefault()),n.current=!1,i.current=!1},onInteractOutside:o=>{var f,h;(f=e.onInteractOutside)==null||f.call(e,o),o.defaultPrevented||(n.current=!0,o.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const u=o.target;((h=r.triggerRef.current)==null?void 0:h.contains(u))&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&i.current&&o.preventDefault()}})}),b5=y.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:i,onCloseAutoFocus:o,...u}=e,c=wn(Ls,r);return KI(),l.jsx(l.Fragment,{children:l.jsx(t5,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:i,onUnmountAutoFocus:o,children:l.jsx(JN,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":C0(c.open),...u,ref:t,deferPointerDownOutside:!0,onDismiss:()=>c.onOpenChange(!1)})})})}),w5="DialogTitle",zT=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=wn(w5,r);return l.jsx(Xt.h2,{id:i.titleId,...n,ref:t})});zT.displayName=w5;var k5="DialogDescription",FT=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=wn(k5,r);return l.jsx(Xt.p,{id:i.descriptionId,...n,ref:t})});FT.displayName=k5;var j5="DialogClose",BT=y.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,i=wn(j5,r);return l.jsx(Xt.button,{type:"button",...n,ref:t,onClick:ha(e.onClick,()=>i.onOpenChange(!1))})});BT.displayName=j5;function C0(e){return e?"open":"closed"}var Vl='[cmdk-group=""]',ug='[cmdk-group-items=""]',UT='[cmdk-group-heading=""]',S5='[cmdk-item=""]',Uw=`${S5}:not([aria-disabled="true"])`,mv="cmdk-item-select",us="data-value",HT=(e,t,r)=>iI(e,t,r),N5=y.createContext(void 0),Gu=()=>y.useContext(N5),E5=y.createContext(void 0),P0=()=>y.useContext(E5),A5=y.createContext(void 0),C5=y.forwardRef((e,t)=>{let r=cs(()=>{var M,H;return{search:"",value:(H=(M=e.value)!=null?M:e.defaultValue)!=null?H:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),n=cs(()=>new Set),i=cs(()=>new Map),o=cs(()=>new Map),u=cs(()=>new Set),c=P5(e),{label:f,children:h,value:m,onValueChange:g,filter:v,shouldFilter:b,loop:j,disablePointerSelection:k=!1,vimBindings:S=!0,...N}=e,E=fi(),A=fi(),P=fi(),_=y.useRef(null),O=eD();fo(()=>{if(m!==void 0){let M=m.trim();r.current.value=M,T.emit()}},[m]),fo(()=>{O(6,ve)},[]);let T=y.useMemo(()=>({subscribe:M=>(u.current.add(M),()=>u.current.delete(M)),snapshot:()=>r.current,setState:(M,H,ie)=>{var J,Z,ae,me;if(!Object.is(r.current[M],H)){if(r.current[M]=H,M==="search")U(),z(),O(1,Q);else if(M==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let re=document.getElementById(P);re?re.focus():(J=document.getElementById(E))==null||J.focus()}if(O(7,()=>{var re;r.current.selectedItemId=(re=ue())==null?void 0:re.id,T.emit()}),ie||O(5,ve),((Z=c.current)==null?void 0:Z.value)!==void 0){let re=H??"";(me=(ae=c.current).onValueChange)==null||me.call(ae,re);return}}T.emit()}},emit:()=>{u.current.forEach(M=>M())}}),[]),B=y.useMemo(()=>({value:(M,H,ie)=>{var J;H!==((J=o.current.get(M))==null?void 0:J.value)&&(o.current.set(M,{value:H,keywords:ie}),r.current.filtered.items.set(M,$(H,ie)),O(2,()=>{z(),T.emit()}))},item:(M,H)=>(n.current.add(M),H&&(i.current.has(H)?i.current.get(H).add(M):i.current.set(H,new Set([M]))),O(3,()=>{U(),z(),r.current.value||Q(),T.emit()}),()=>{o.current.delete(M),n.current.delete(M),r.current.filtered.items.delete(M);let ie=ue();O(4,()=>{U(),(ie==null?void 0:ie.getAttribute("id"))===M&&Q(),T.emit()})}),group:M=>(i.current.has(M)||i.current.set(M,new Set),()=>{o.current.delete(M),i.current.delete(M)}),filter:()=>c.current.shouldFilter,label:f||e["aria-label"],getDisablePointerSelection:()=>c.current.disablePointerSelection,listId:E,inputId:P,labelId:A,listInnerRef:_}),[]);function $(M,H){var ie,J;let Z=(J=(ie=c.current)==null?void 0:ie.filter)!=null?J:HT;return M?Z(M,r.current.search,H):0}function z(){if(!r.current.search||c.current.shouldFilter===!1)return;let M=r.current.filtered.items,H=[];r.current.filtered.groups.forEach(J=>{let Z=i.current.get(J),ae=0;Z.forEach(me=>{let re=M.get(me);ae=Math.max(re,ae)}),H.push([J,ae])});let ie=_.current;pe().sort((J,Z)=>{var ae,me;let re=J.getAttribute("id"),ye=Z.getAttribute("id");return((ae=M.get(ye))!=null?ae:0)-((me=M.get(re))!=null?me:0)}).forEach(J=>{let Z=J.closest(ug);Z?Z.appendChild(J.parentElement===Z?J:J.closest(`${ug} > *`)):ie.appendChild(J.parentElement===ie?J:J.closest(`${ug} > *`))}),H.sort((J,Z)=>Z[1]-J[1]).forEach(J=>{var Z;let ae=(Z=_.current)==null?void 0:Z.querySelector(`${Vl}[${us}="${encodeURIComponent(J[0])}"]`);ae==null||ae.parentElement.appendChild(ae)})}function Q(){let M=pe().find(ie=>ie.getAttribute("aria-disabled")!=="true"),H=M==null?void 0:M.getAttribute(us);T.setState("value",H||void 0)}function U(){var M,H,ie,J;if(!r.current.search||c.current.shouldFilter===!1){r.current.filtered.count=n.current.size;return}r.current.filtered.groups=new Set;let Z=0;for(let ae of n.current){let me=(H=(M=o.current.get(ae))==null?void 0:M.value)!=null?H:"",re=(J=(ie=o.current.get(ae))==null?void 0:ie.keywords)!=null?J:[],ye=$(me,re);r.current.filtered.items.set(ae,ye),ye>0&&Z++}for(let[ae,me]of i.current)for(let re of me)if(r.current.filtered.items.get(re)>0){r.current.filtered.groups.add(ae);break}r.current.filtered.count=Z}function ve(){var M,H,ie;let J=ue();J&&(((M=J.parentElement)==null?void 0:M.firstChild)===J&&((ie=(H=J.closest(Vl))==null?void 0:H.querySelector(UT))==null||ie.scrollIntoView({block:"nearest"})),J.scrollIntoView({block:"nearest"}))}function ue(){var M;return(M=_.current)==null?void 0:M.querySelector(`${S5}[aria-selected="true"]`)}function pe(){var M;return Array.from(((M=_.current)==null?void 0:M.querySelectorAll(Uw))||[])}function oe(M){let H=pe()[M];H&&T.setState("value",H.getAttribute(us))}function se(M){var H;let ie=ue(),J=pe(),Z=J.findIndex(me=>me===ie),ae=J[Z+M];(H=c.current)!=null&&H.loop&&(ae=Z+M<0?J[J.length-1]:Z+M===J.length?J[0]:J[Z+M]),ae&&T.setState("value",ae.getAttribute(us))}function X(M){let H=ue(),ie=H==null?void 0:H.closest(Vl),J;for(;ie&&!J;)ie=M>0?ZT(ie,Vl):JT(ie,Vl),J=ie==null?void 0:ie.querySelector(Uw);J?T.setState("value",J.getAttribute(us)):se(M)}let ne=()=>oe(pe().length-1),te=M=>{M.preventDefault(),M.metaKey?ne():M.altKey?X(1):se(1)},I=M=>{M.preventDefault(),M.metaKey?oe(0):M.altKey?X(-1):se(-1)};return y.createElement(Xt.div,{ref:t,tabIndex:-1,...N,"cmdk-root":"",onKeyDown:M=>{var H;(H=N.onKeyDown)==null||H.call(N,M);let ie=M.nativeEvent.isComposing||M.keyCode===229;if(!(M.defaultPrevented||ie))switch(M.key){case"n":case"j":{S&&M.ctrlKey&&te(M);break}case"ArrowDown":{te(M);break}case"p":case"k":{S&&M.ctrlKey&&I(M);break}case"ArrowUp":{I(M);break}case"Home":{M.preventDefault(),oe(0);break}case"End":{M.preventDefault(),ne();break}case"Enter":{M.preventDefault();let J=ue();if(J){let Z=new Event(mv);J.dispatchEvent(Z)}}}}},y.createElement("label",{"cmdk-label":"",htmlFor:B.inputId,id:B.labelId,style:rD},f),mh(e,M=>y.createElement(E5.Provider,{value:T},y.createElement(N5.Provider,{value:B},M))))}),WT=y.forwardRef((e,t)=>{var r,n;let i=fi(),o=y.useRef(null),u=y.useContext(A5),c=Gu(),f=P5(e),h=(n=(r=f.current)==null?void 0:r.forceMount)!=null?n:u==null?void 0:u.forceMount;fo(()=>{if(!h)return c.item(i,u==null?void 0:u.id)},[h]);let m=O5(i,o,[e.value,e.children,o],e.keywords),g=P0(),v=va(O=>O.value&&O.value===m.current),b=va(O=>h||c.filter()===!1?!0:O.search?O.filtered.items.get(i)>0:!0);y.useEffect(()=>{let O=o.current;if(!(!O||e.disabled))return O.addEventListener(mv,j),()=>O.removeEventListener(mv,j)},[b,e.onSelect,e.disabled]);function j(){var O,T;k(),(T=(O=f.current).onSelect)==null||T.call(O,m.current)}function k(){g.setState("value",m.current,!0)}if(!b)return null;let{disabled:S,value:N,onSelect:E,forceMount:A,keywords:P,..._}=e;return y.createElement(Xt.div,{ref:Rs(o,t),..._,id:i,"cmdk-item":"",role:"option","aria-disabled":!!S,"aria-selected":!!v,"data-disabled":!!S,"data-selected":!!v,onPointerMove:S||c.getDisablePointerSelection()?void 0:k,onClick:S?void 0:j},e.children)}),KT=y.forwardRef((e,t)=>{let{heading:r,children:n,forceMount:i,...o}=e,u=fi(),c=y.useRef(null),f=y.useRef(null),h=fi(),m=Gu(),g=va(b=>i||m.filter()===!1?!0:b.search?b.filtered.groups.has(u):!0);fo(()=>m.group(u),[]),O5(u,c,[e.value,e.heading,f]);let v=y.useMemo(()=>({id:u,forceMount:i}),[i]);return y.createElement(Xt.div,{ref:Rs(c,t),...o,"cmdk-group":"",role:"presentation",hidden:g?void 0:!0},r&&y.createElement("div",{ref:f,"cmdk-group-heading":"","aria-hidden":!0,id:h},r),mh(e,b=>y.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?h:void 0},y.createElement(A5.Provider,{value:v},b))))}),GT=y.forwardRef((e,t)=>{let{alwaysRender:r,...n}=e,i=y.useRef(null),o=va(u=>!u.search);return!r&&!o?null:y.createElement(Xt.div,{ref:Rs(i,t),...n,"cmdk-separator":"",role:"separator"})}),VT=y.forwardRef((e,t)=>{let{onValueChange:r,...n}=e,i=e.value!=null,o=P0(),u=va(h=>h.search),c=va(h=>h.selectedItemId),f=Gu();return y.useEffect(()=>{e.value!=null&&o.setState("search",e.value)},[e.value]),y.createElement(Xt.input,{ref:t,...n,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":f.listId,"aria-labelledby":f.labelId,"aria-activedescendant":c,id:f.inputId,type:"text",value:i?e.value:u,onChange:h=>{i||o.setState("search",h.target.value),r==null||r(h.target.value)}})}),qT=y.forwardRef((e,t)=>{let{children:r,label:n="Suggestions",...i}=e,o=y.useRef(null),u=y.useRef(null),c=va(h=>h.selectedItemId),f=Gu();return y.useEffect(()=>{if(u.current&&o.current){let h=u.current,m=o.current,g,v=new ResizeObserver(()=>{g=requestAnimationFrame(()=>{let b=h.offsetHeight;m.style.setProperty("--cmdk-list-height",b.toFixed(1)+"px")})});return v.observe(h),()=>{cancelAnimationFrame(g),v.unobserve(h)}}},[]),y.createElement(Xt.div,{ref:Rs(o,t),...i,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":c,"aria-label":n,id:f.listId},mh(e,h=>y.createElement("div",{ref:Rs(u,f.listInnerRef),"cmdk-list-sizer":""},h)))}),QT=y.forwardRef((e,t)=>{let{open:r,onOpenChange:n,overlayClassName:i,contentClassName:o,container:u,...c}=e;return y.createElement(m5,{open:r,onOpenChange:n},y.createElement(v5,{container:u},y.createElement(y5,{"cmdk-overlay":"",className:i}),y.createElement(x5,{"aria-label":e.label,"cmdk-dialog":"",className:o},y.createElement(C5,{ref:t,...c}))))}),YT=y.forwardRef((e,t)=>va(r=>r.filtered.count===0)?y.createElement(Xt.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),XT=y.forwardRef((e,t)=>{let{progress:r,children:n,label:i="Loading...",...o}=e;return y.createElement(Xt.div,{ref:t,...o,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},mh(e,u=>y.createElement("div",{"aria-hidden":!0},u)))}),ts=Object.assign(C5,{List:qT,Item:WT,Input:VT,Group:KT,Separator:GT,Dialog:QT,Empty:YT,Loading:XT});function ZT(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return r;r=r.nextElementSibling}}function JT(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return r;r=r.previousElementSibling}}function P5(e){let t=y.useRef(e);return fo(()=>{t.current=e}),t}var fo=typeof window>"u"?y.useEffect:y.useLayoutEffect;function cs(e){let t=y.useRef();return t.current===void 0&&(t.current=e()),t}function va(e){let t=P0(),r=()=>e(t.snapshot());return y.useSyncExternalStore(t.subscribe,r,r)}function O5(e,t,r,n=[]){let i=y.useRef(),o=Gu();return fo(()=>{var u;let c=(()=>{var h;for(let m of r){if(typeof m=="string")return m.trim();if(typeof m=="object"&&"current"in m)return m.current?(h=m.current.textContent)==null?void 0:h.trim():i.current}})(),f=n.map(h=>h.trim());o.value(e,c,f),(u=t.current)==null||u.setAttribute(us,c),i.current=c}),i}var eD=()=>{let[e,t]=y.useState(),r=cs(()=>new Map);return fo(()=>{r.current.forEach(n=>n()),r.current=new Map},[e]),(n,i)=>{r.current.set(n,i),t({})}};function tD(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function mh({asChild:e,children:t},r){return e&&y.isValidElement(t)?y.cloneElement(tD(t),{ref:t.ref},r(t.props.children)):r(t)}var rD={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function nD({onNavigate:e}){const[t,r]=y.useState(!1);return y.useEffect(()=>{const n=i=>{(i.metaKey||i.ctrlKey)&&i.key.toLowerCase()==="k"&&(i.preventDefault(),r(o=>!o))};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[]),l.jsx(ts.Dialog,{open:t,onOpenChange:r,label:"Befehlspalette",className:"fixed inset-0 z-50 flex items-start justify-center bg-black/50 p-4 pt-[12vh] overscroll-contain",onClick:()=>r(!1),children:l.jsxs("div",{className:"w-full max-w-lg overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-2xl",onClick:n=>n.stopPropagation(),children:[l.jsx(ts.Input,{autoFocus:!0,placeholder:"Springe zu… (Modelle, Routing, System …)",className:"w-full border-b border-border bg-transparent px-4 py-3 text-sm outline-none placeholder:text-muted-foreground"}),l.jsxs(ts.List,{className:"max-h-80 overflow-y-auto p-2",children:[l.jsx(ts.Empty,{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Nichts gefunden."}),l.jsx(ts.Group,{heading:"Bereiche",className:"px-1 py-1 text-xs text-muted-foreground",children:lu.map(n=>l.jsxs(ts.Item,{value:`${n.label} ${n.hint}`,onSelect:()=>{e(n.id),r(!1)},className:"flex cursor-pointer items-center gap-3 rounded-md px-3 py-2 text-sm text-foreground aria-selected:bg-accent aria-selected:text-accent-foreground",children:[l.jsx(n.icon,{className:"h-4 w-4 text-primary"}),l.jsx("span",{children:n.label}),l.jsx("span",{className:"ml-auto truncate text-xs text-muted-foreground",children:n.hint})]},n.id))})]})]})})}const _5="mc_expert_mode",pv="mc-expert-mode-change",iD=()=>{try{return localStorage.getItem(_5)==="true"}catch{return!1}};function aD(e){return window.addEventListener(pv,e),window.addEventListener("storage",e),()=>{window.removeEventListener(pv,e),window.removeEventListener("storage",e)}}function Hw(e){localStorage.setItem(_5,String(e)),window.dispatchEvent(new Event(pv))}function O0(){return y.useSyncExternalStore(aD,iD,()=>!1)}function M5(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t{const t=lD(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:u=>{const c=u.split(_0);return c[0]===""&&c.length!==1&&c.shift(),I5(c,t)||sD(u)},getConflictingClassGroupIds:(u,c)=>{const f=r[u]||[];return c&&n[u]?[...f,...n[u]]:f}}},I5=(e,t)=>{var u;if(e.length===0)return t.classGroupId;const r=e[0],n=t.nextPart.get(r),i=n?I5(e.slice(1),n):void 0;if(i)return i;if(t.validators.length===0)return;const o=e.join(_0);return(u=t.validators.find(({validator:c})=>c(o)))==null?void 0:u.classGroupId},Ww=/^\[(.+)\]$/,sD=e=>{if(Ww.test(e)){const t=Ww.exec(e)[1],r=t==null?void 0:t.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},lD=e=>{const{theme:t,prefix:r}=e,n={nextPart:new Map,validators:[]};return cD(Object.entries(e.classGroups),r).forEach(([o,u])=>{gv(u,n,o,t)}),n},gv=(e,t,r,n)=>{e.forEach(i=>{if(typeof i=="string"){const o=i===""?t:Kw(t,i);o.classGroupId=r;return}if(typeof i=="function"){if(uD(i)){gv(i(n),t,r,n);return}t.validators.push({validator:i,classGroupId:r});return}Object.entries(i).forEach(([o,u])=>{gv(u,Kw(t,o),r,n)})})},Kw=(e,t)=>{let r=e;return t.split(_0).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},uD=e=>e.isThemeGetter,cD=(e,t)=>t?e.map(([r,n])=>{const i=n.map(o=>typeof o=="string"?t+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(([u,c])=>[t+u,c])):o);return[r,i]}):e,dD=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map;const i=(o,u)=>{r.set(o,u),t++,t>e&&(t=0,n=r,r=new Map)};return{get(o){let u=r.get(o);if(u!==void 0)return u;if((u=n.get(o))!==void 0)return i(o,u),u},set(o,u){r.has(o)?r.set(o,u):i(o,u)}}},T5="!",fD=e=>{const{separator:t,experimentalParseClassName:r}=e,n=t.length===1,i=t[0],o=t.length,u=c=>{const f=[];let h=0,m=0,g;for(let S=0;Sm?g-m:void 0;return{modifiers:f,hasImportantModifier:b,baseClassName:j,maybePostfixModifierPosition:k}};return r?c=>r({className:c,parseClassName:u}):u},hD=e=>{if(e.length<=1)return e;const t=[];let r=[];return e.forEach(n=>{n[0]==="["?(t.push(...r.sort(),n),r=[]):r.push(n)}),t.push(...r.sort()),t},mD=e=>({cache:dD(e.cacheSize),parseClassName:fD(e),...oD(e)}),pD=/\s+/,gD=(e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:i}=t,o=[],u=e.trim().split(pD);let c="";for(let f=u.length-1;f>=0;f-=1){const h=u[f],{modifiers:m,hasImportantModifier:g,baseClassName:v,maybePostfixModifierPosition:b}=r(h);let j=!!b,k=n(j?v.substring(0,b):v);if(!k){if(!j){c=h+(c.length>0?" "+c:c);continue}if(k=n(v),!k){c=h+(c.length>0?" "+c:c);continue}j=!1}const S=hD(m).join(":"),N=g?S+T5:S,E=N+k;if(o.includes(E))continue;o.push(E);const A=i(k,j);for(let P=0;P0?" "+c:c)}return c};function vD(){let e=0,t,r,n="";for(;e{if(typeof e=="string")return e;let t,r="";for(let n=0;ng(m),e());return r=mD(h),n=r.cache.get,i=r.cache.set,o=c,c(f)}function c(f){const h=n(f);if(h)return h;const m=gD(f,r);return i(f,m),m}return function(){return o(vD.apply(null,arguments))}}const ot=e=>{const t=r=>r[e]||[];return t.isThemeGetter=!0,t},R5=/^\[(?:([a-z-]+):)?(.+)\]$/i,xD=/^\d+\/\d+$/,bD=new Set(["px","full","screen"]),wD=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,kD=/\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$/,jD=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,SD=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ND=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ri=e=>vs(e)||bD.has(e)||xD.test(e),qi=e=>Qs(e,"length",ID),vs=e=>!!e&&!Number.isNaN(Number(e)),cg=e=>Qs(e,"number",vs),ql=e=>!!e&&Number.isInteger(Number(e)),ED=e=>e.endsWith("%")&&vs(e.slice(0,-1)),$e=e=>R5.test(e),Qi=e=>wD.test(e),AD=new Set(["length","size","percentage"]),CD=e=>Qs(e,AD,L5),PD=e=>Qs(e,"position",L5),OD=new Set(["image","url"]),_D=e=>Qs(e,OD,DD),MD=e=>Qs(e,"",TD),Ql=()=>!0,Qs=(e,t,r)=>{const n=R5.exec(e);return n?n[1]?typeof t=="string"?n[1]===t:t.has(n[1]):r(n[2]):!1},ID=e=>kD.test(e)&&!jD.test(e),L5=()=>!1,TD=e=>SD.test(e),DD=e=>ND.test(e),RD=()=>{const e=ot("colors"),t=ot("spacing"),r=ot("blur"),n=ot("brightness"),i=ot("borderColor"),o=ot("borderRadius"),u=ot("borderSpacing"),c=ot("borderWidth"),f=ot("contrast"),h=ot("grayscale"),m=ot("hueRotate"),g=ot("invert"),v=ot("gap"),b=ot("gradientColorStops"),j=ot("gradientColorStopPositions"),k=ot("inset"),S=ot("margin"),N=ot("opacity"),E=ot("padding"),A=ot("saturate"),P=ot("scale"),_=ot("sepia"),O=ot("skew"),T=ot("space"),B=ot("translate"),$=()=>["auto","contain","none"],z=()=>["auto","hidden","clip","visible","scroll"],Q=()=>["auto",$e,t],U=()=>[$e,t],ve=()=>["",ri,qi],ue=()=>["auto",vs,$e],pe=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],oe=()=>["solid","dashed","dotted","double","none"],se=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],X=()=>["start","end","center","between","around","evenly","stretch"],ne=()=>["","0",$e],te=()=>["auto","avoid","all","avoid-page","page","left","right","column"],I=()=>[vs,$e];return{cacheSize:500,separator:":",theme:{colors:[Ql],spacing:[ri,qi],blur:["none","",Qi,$e],brightness:I(),borderColor:[e],borderRadius:["none","","full",Qi,$e],borderSpacing:U(),borderWidth:ve(),contrast:I(),grayscale:ne(),hueRotate:I(),invert:ne(),gap:U(),gradientColorStops:[e],gradientColorStopPositions:[ED,qi],inset:Q(),margin:Q(),opacity:I(),padding:U(),saturate:I(),scale:I(),sepia:ne(),skew:I(),space:U(),translate:U()},classGroups:{aspect:[{aspect:["auto","square","video",$e]}],container:["container"],columns:[{columns:[Qi]}],"break-after":[{"break-after":te()}],"break-before":[{"break-before":te()}],"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"],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:[...pe(),$e]}],overflow:[{overflow:z()}],"overflow-x":[{"overflow-x":z()}],"overflow-y":[{"overflow-y":z()}],overscroll:[{overscroll:$()}],"overscroll-x":[{"overscroll-x":$()}],"overscroll-y":[{"overscroll-y":$()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[k]}],"inset-x":[{"inset-x":[k]}],"inset-y":[{"inset-y":[k]}],start:[{start:[k]}],end:[{end:[k]}],top:[{top:[k]}],right:[{right:[k]}],bottom:[{bottom:[k]}],left:[{left:[k]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",ql,$e]}],basis:[{basis:Q()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",$e]}],grow:[{grow:ne()}],shrink:[{shrink:ne()}],order:[{order:["first","last","none",ql,$e]}],"grid-cols":[{"grid-cols":[Ql]}],"col-start-end":[{col:["auto",{span:["full",ql,$e]},$e]}],"col-start":[{"col-start":ue()}],"col-end":[{"col-end":ue()}],"grid-rows":[{"grid-rows":[Ql]}],"row-start-end":[{row:["auto",{span:[ql,$e]},$e]}],"row-start":[{"row-start":ue()}],"row-end":[{"row-end":ue()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",$e]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",$e]}],gap:[{gap:[v]}],"gap-x":[{"gap-x":[v]}],"gap-y":[{"gap-y":[v]}],"justify-content":[{justify:["normal",...X()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...X(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...X(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[E]}],px:[{px:[E]}],py:[{py:[E]}],ps:[{ps:[E]}],pe:[{pe:[E]}],pt:[{pt:[E]}],pr:[{pr:[E]}],pb:[{pb:[E]}],pl:[{pl:[E]}],m:[{m:[S]}],mx:[{mx:[S]}],my:[{my:[S]}],ms:[{ms:[S]}],me:[{me:[S]}],mt:[{mt:[S]}],mr:[{mr:[S]}],mb:[{mb:[S]}],ml:[{ml:[S]}],"space-x":[{"space-x":[T]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[T]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",$e,t]}],"min-w":[{"min-w":[$e,t,"min","max","fit"]}],"max-w":[{"max-w":[$e,t,"none","full","min","max","fit","prose",{screen:[Qi]},Qi]}],h:[{h:[$e,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[$e,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[$e,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[$e,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Qi,qi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",cg]}],"font-family":[{font:[Ql]}],"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:["tighter","tight","normal","wide","wider","widest",$e]}],"line-clamp":[{"line-clamp":["none",vs,cg]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",ri,$e]}],"list-image":[{"list-image":["none",$e]}],"list-style-type":[{list:["none","disc","decimal",$e]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[N]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[N]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...oe(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",ri,qi]}],"underline-offset":[{"underline-offset":["auto",ri,$e]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:U()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",$e]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",$e]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[N]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...pe(),PD]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",CD]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},_D]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[j]}],"gradient-via-pos":[{via:[j]}],"gradient-to-pos":[{to:[j]}],"gradient-from":[{from:[b]}],"gradient-via":[{via:[b]}],"gradient-to":[{to:[b]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[c]}],"border-w-x":[{"border-x":[c]}],"border-w-y":[{"border-y":[c]}],"border-w-s":[{"border-s":[c]}],"border-w-e":[{"border-e":[c]}],"border-w-t":[{"border-t":[c]}],"border-w-r":[{"border-r":[c]}],"border-w-b":[{"border-b":[c]}],"border-w-l":[{"border-l":[c]}],"border-opacity":[{"border-opacity":[N]}],"border-style":[{border:[...oe(),"hidden"]}],"divide-x":[{"divide-x":[c]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[c]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[N]}],"divide-style":[{divide:oe()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["",...oe()]}],"outline-offset":[{"outline-offset":[ri,$e]}],"outline-w":[{outline:[ri,qi]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:ve()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[N]}],"ring-offset-w":[{"ring-offset":[ri,qi]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Qi,MD]}],"shadow-color":[{shadow:[Ql]}],opacity:[{opacity:[N]}],"mix-blend":[{"mix-blend":[...se(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":se()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[n]}],contrast:[{contrast:[f]}],"drop-shadow":[{"drop-shadow":["","none",Qi,$e]}],grayscale:[{grayscale:[h]}],"hue-rotate":[{"hue-rotate":[m]}],invert:[{invert:[g]}],saturate:[{saturate:[A]}],sepia:[{sepia:[_]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[f]}],"backdrop-grayscale":[{"backdrop-grayscale":[h]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[m]}],"backdrop-invert":[{"backdrop-invert":[g]}],"backdrop-opacity":[{"backdrop-opacity":[N]}],"backdrop-saturate":[{"backdrop-saturate":[A]}],"backdrop-sepia":[{"backdrop-sepia":[_]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[u]}],"border-spacing-x":[{"border-spacing-x":[u]}],"border-spacing-y":[{"border-spacing-y":[u]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",$e]}],duration:[{duration:I()}],ease:[{ease:["linear","in","out","in-out",$e]}],delay:[{delay:I()}],animate:[{animate:["none","spin","ping","pulse","bounce",$e]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[P]}],"scale-x":[{"scale-x":[P]}],"scale-y":[{"scale-y":[P]}],rotate:[{rotate:[ql,$e]}],"translate-x":[{"translate-x":[B]}],"translate-y":[{"translate-y":[B]}],"skew-x":[{"skew-x":[O]}],"skew-y":[{"skew-y":[O]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",$e]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],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",$e]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":U()}],"scroll-mx":[{"scroll-mx":U()}],"scroll-my":[{"scroll-my":U()}],"scroll-ms":[{"scroll-ms":U()}],"scroll-me":[{"scroll-me":U()}],"scroll-mt":[{"scroll-mt":U()}],"scroll-mr":[{"scroll-mr":U()}],"scroll-mb":[{"scroll-mb":U()}],"scroll-ml":[{"scroll-ml":U()}],"scroll-p":[{"scroll-p":U()}],"scroll-px":[{"scroll-px":U()}],"scroll-py":[{"scroll-py":U()}],"scroll-ps":[{"scroll-ps":U()}],"scroll-pe":[{"scroll-pe":U()}],"scroll-pt":[{"scroll-pt":U()}],"scroll-pr":[{"scroll-pr":U()}],"scroll-pb":[{"scroll-pb":U()}],"scroll-pl":[{"scroll-pl":U()}],"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",$e]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[ri,qi,cg]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","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","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","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-s","border-w-e","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-s","border-color-e","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"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","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-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"]}}},LD=yD(RD);function ee(...e){return LD(rt(e))}function lf(e){return e?e.replace(/127\.0\.0\.1|localhost/g,"192.168.178.151"):""}function $5(){const e=O0();return l.jsxs("div",{className:"flex items-center rounded-md border border-border/40 bg-background/40 p-0.5",role:"group","aria-label":"Ansichtsmodus",title:"Einfach zeigt nur das Wichtigste. Experte zeigt alle technischen Details.",children:[l.jsxs("button",{onClick:()=>Hw(!1),"aria-pressed":!e,className:ee("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",e?"text-muted-foreground hover:text-foreground":"bg-primary/15 text-primary shadow-sm"),children:[l.jsx(fs,{className:"h-3.5 w-3.5"})," Einfach"]}),l.jsxs("button",{onClick:()=>Hw(!0),"aria-pressed":e,className:ee("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",e?"bg-primary/15 text-primary shadow-sm":"text-muted-foreground hover:text-foreground"),children:[l.jsx(KM,{className:"h-3.5 w-3.5"})," Experte"]})]})}async function we(e,t){var f;const r={"Content-Type":"application/json",...t==null?void 0:t.headers},n=localStorage.getItem("mc_sudo_password"),i=localStorage.getItem("mc_hf_token");n&&(r["X-Sudo-Password"]=n);let o=t==null?void 0:t.body;if((((f=t==null?void 0:t.method)==null?void 0:f.toUpperCase())||"GET")==="POST"){if(typeof o=="string")try{const h=JSON.parse(o);let m=!1;n&&!("sudo_password"in h)&&(h.sudo_password=n,m=!0),i&&!("hf_token"in h)&&(h.hf_token=i,m=!0),m&&(o=JSON.stringify(h))}catch{}else if(!o){const h={};n&&(h.sudo_password=n),i&&(h.hf_token=i),Object.keys(h).length>0&&(o=JSON.stringify(h))}}const c=await fetch(e,{...t,headers:r,body:o});if(!c.ok)throw new Error(`${c.status} ${c.statusText}`);return c.json()}const z5=(e,t,r=!1,n=!0)=>we("/api/groups",{method:"PUT",body:JSON.stringify({group:e,members:t,swap:r,persist:n})}),$D=e=>we("/api/routing/policy",{method:"PUT",body:JSON.stringify(e)}),Be={health:["health"],systemStatus:["system-status"],services:["services"],models:["models"],groups:["groups"],routing:["routing"],routingPolicy:["routing-policy"],jobs:["jobs"],tokenStats:["token-stats"],agentStatus:["agent-status"],hermesBrain:["hermes-brain"],updates:["updates"],discover:["discover"],drafts:e=>["drafts",e??""],connect:e=>["connect",e??""],connectHealth:["connect-health"],memory:(e,t)=>["memory",e??"",t??""],memoryGraph:["memory-graph"],voiceTrace:["voice-trace"]},zD=(e=!0)=>Yt({queryKey:Be.memoryGraph,queryFn:()=>we("/api/memory/graph"),enabled:e}),M0=()=>Yt({queryKey:Be.health,queryFn:()=>we("/api/health"),refetchInterval:1e4}),ko=(e=5e3)=>Yt({queryKey:Be.systemStatus,queryFn:()=>we("/api/system/status"),refetchInterval:e}),F5=(e=3e3)=>Yt({queryKey:Be.services,queryFn:()=>we("/api/system/services"),refetchInterval:e}),wi=(e=4e3)=>Yt({queryKey:Be.models,queryFn:()=>we("/api/models"),refetchInterval:e}),I0=(e=8e3)=>Yt({queryKey:Be.groups,queryFn:()=>we("/api/groups"),refetchInterval:e}),FD=()=>Yt({queryKey:Be.routingPolicy,queryFn:()=>we("/api/routing/policy")}),BD=(e=2e3)=>Yt({queryKey:Be.jobs,queryFn:()=>we("/api/jobs"),refetchInterval:e,select:t=>t.jobs??[]}),B5=(e=3e3)=>Yt({queryKey:Be.tokenStats,queryFn:()=>we("/api/system/token-stats"),refetchInterval:e}),ph=(e=5e3)=>Yt({queryKey:Be.agentStatus,queryFn:()=>we("/api/agent/status"),refetchInterval:e}),U5=(e=6e4)=>Yt({queryKey:Be.hermesBrain,queryFn:()=>we("/api/agent/brain"),refetchInterval:e}),gh=e=>Yt({queryKey:Be.updates,queryFn:()=>we("/api/maintenance/updates"),refetchInterval:e}),UD=()=>Yt({queryKey:Be.discover,queryFn:()=>we("/api/discover")}),HD=e=>Yt({queryKey:Be.drafts(e),queryFn:()=>we(`/api/models/drafts?target=${encodeURIComponent(e??"")}`),enabled:!!e}),WD=e=>Yt({queryKey:Be.connect(e),queryFn:()=>we(e?`/api/connect?${e}`:"/api/connect")}),H5=()=>Yt({queryKey:Be.connectHealth,queryFn:()=>we("/api/connect/health"),refetchInterval:15e3}),vv=e=>Yt({queryKey:Be.memory(e==null?void 0:e.q,e==null?void 0:e.category),queryFn:()=>{const t=new URLSearchParams;return e!=null&&e.q&&t.set("q",e.q),e!=null&&e.category&&t.set("category",e.category),we(`/api/memory?${t}`)},select:t=>e!=null&&e.limit?t.slice(0,e.limit):t});function W5({type:e,title:t,message:r,defaultValue:n,autoValue:i,autoLabel:o,onConfirm:u,onCancel:c}){const f=y.useRef(null);return l.jsx("div",{className:"fixed inset-0 z-[99] bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":t,children:l.jsxs("div",{className:"w-full max-w-sm rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[l.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:t}),l.jsx("button",{onClick:c||(()=>u()),"aria-label":"Schließen",className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:l.jsx(gi,{className:"h-4 w-4","aria-hidden":"true"})})]}),l.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:r}),e==="prompt"&&l.jsxs("div",{className:"flex gap-2",children:[l.jsx("input",{ref:f,type:"text",defaultValue:n,"aria-label":t,className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground",autoFocus:!0,onKeyDown:h=>{var m;h.key==="Enter"&&u((m=f.current)==null?void 0:m.value)}}),i!==void 0&&l.jsx("button",{type:"button",onClick:()=>{f.current&&(f.current.value=i)},title:"Setup-bewussten Optimalwert eintragen",className:"h-9 px-3 shrink-0 text-xs font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg transition-colors cursor-pointer",children:o||"Auto"})]}),l.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[(e==="confirm"||e==="prompt")&&l.jsx("button",{onClick:c,className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Abbrechen"}),l.jsx("button",{onClick:()=>{var m;const h=e==="prompt"?(m=f.current)==null?void 0:m.value:void 0;u(h)},className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-lg transition-colors cursor-pointer",children:e==="confirm"?"Ja, fortfahren":e==="prompt"?"Übernehmen":"OK"})]})]})})}function ba(){const[e,t]=y.useState(null),r=y.useCallback(()=>t(null),[]),n=y.useCallback((c,f,h)=>{t({type:"alert",title:c,message:f,onConfirm:()=>{t(null),h==null||h()}})},[]),i=y.useCallback((c,f,h,m)=>{t({type:"confirm",title:c,message:f,onConfirm:()=>{t(null),h()},onCancel:()=>{t(null),m==null||m()}})},[]),o=y.useCallback((c,f,h,m,g,v)=>{t({type:"prompt",title:c,message:f,defaultValue:h,autoValue:v==null?void 0:v.autoValue,autoLabel:v==null?void 0:v.autoLabel,onConfirm:b=>{t(null),m(b)},onCancel:()=>{t(null),g==null||g()}})},[]),u=e?l.jsx(W5,{...e}):null;return{showAlert:n,showConfirm:i,showPrompt:o,close:r,dialogElement:u}}function Qr(e){return(e/1024**3).toFixed(1)}function yv(e){return e?e>1024**3?`${(e/1024**3).toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`:""}function or(e){if(!e)return"—";const t=e/1024**3;return t>=1?`${t.toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`}function KD(e){if(!e)return"";const t=Math.floor(e/60);return t>0?`${t} min`:`${e} s`}function xv(e){return e?`${Math.round(e/1024)}k`:"—"}function GD(){const e=Kn(),{data:t=[]}=BD(2e3),{showAlert:r,dialogElement:n}=ba();async function i(c){try{await we(`/api/jobs/${c}/cancel`,{method:"POST"}),e.invalidateQueries({queryKey:Be.jobs})}catch(f){r("Fehler",f.message)}}const o=t.filter(c=>c.state==="running"||c.state==="queued"),u=t.filter(c=>c.state!=="running"&&c.state!=="queued").slice(-3);return o.length===0&&u.length===0?null:l.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 shadow-lg shadow-black/10",children:[l.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:"Aktive Downloads"}),o.map(c=>l.jsxs("div",{className:"space-y-1.5 p-3 rounded-xl bg-background/20 border border-border/40",children:[l.jsxs("div",{className:"flex justify-between items-center text-xs",children:[l.jsx("span",{className:"font-semibold truncate max-w-[250px]",children:c.label}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("span",{className:"text-muted-foreground font-mono",children:[c.progress??0,"% • ",yv(c.done_bytes),"/",yv(c.total_bytes),c.eta_s?` • ETA ${KD(c.eta_s)}`:""]}),l.jsx("button",{onClick:()=>i(c.id),className:"text-[10px] text-red-400 hover:text-red-300 font-semibold border border-red-500/25 bg-red-500/5 px-2 py-0.5 rounded transition-all cursor-pointer",children:"Abbrechen"})]})]}),l.jsx("div",{className:"h-1.5 overflow-hidden rounded-full bg-muted",children:l.jsx("div",{className:"h-full rounded-full bg-primary transition-all duration-500",style:{width:`${c.progress??0}%`}})})]},c.id)),u.map(c=>l.jsxs("div",{className:"flex justify-between items-center text-xs text-muted-foreground px-1",children:[l.jsx("span",{className:"truncate",children:c.label}),l.jsx("span",{className:ee("font-semibold text-[10px] px-1.5 py-0.5 rounded uppercase font-mono",c.state==="done"?"bg-emerald-500/10 text-emerald-400":"bg-amber-500/10 text-amber-400"),children:c.state})]},c.id)),n]})}function Ra({children:e,tone:t="muted"}){const r={muted:"bg-muted text-muted-foreground",primary:"bg-primary/15 text-primary",warn:"bg-amber-500/15 text-amber-500"};return l.jsx("span",{className:`rounded px-1.5 py-0.5 text-[11px] font-medium ${r[t]}`,children:e})}function bv({caps:e}){return e?l.jsxs("span",{className:"inline-flex flex-wrap gap-1",children:[e.coder&&l.jsx(Ra,{children:"💻 Code"}),e.vision&&l.jsx(Ra,{children:"👁 Bild"}),e.reasoning&&l.jsx(Ra,{children:"🧠 Reason"}),e.moe&&l.jsxs(Ra,{tone:"primary",children:["🧩 MoE",e.active_b?`·${e.active_b}b`:""]}),e.tools==="yes"&&l.jsx(Ra,{tone:"primary",children:"🛠 Tools"}),e.tools==="likely"&&l.jsx(Ra,{tone:"warn",children:"🛠 Tools?"}),e.embedding&&l.jsx(Ra,{children:"🔢 Embed"})]}):null}const T0=[{role:"hermes",label:"Lucys Hirn",short:"Hirn",icon:xa,desc:"Lucys Alltags-Verstand — denkt und redet mit dir. Immer bereit.",tone:"bg-indigo-500/15 text-indigo-400 border-indigo-500/25",protected:!0},{role:"embed",label:"Lucys Gedächtnis",short:"Gedächtnis",icon:LN,desc:"Merkt sich Wichtiges und findet es später wieder.",tone:"bg-emerald-500/15 text-emerald-400 border-emerald-500/25",protected:!0},{role:"vision",label:"Lucys Augen",short:"Augen",icon:yu,desc:"Sieht Bilder und Screenshots und beschreibt, was drauf ist.",tone:"bg-pink-500/15 text-pink-400 border-pink-500/25"},{role:"heavy",label:"Großes Hirn",short:"Groß",icon:cM,desc:"Das schwere Geschütz — wird für besonders knifflige Fragen dazugeholt.",tone:"bg-amber-500/15 text-amber-400 border-amber-500/25"},{role:"coder-lite",label:"Programmierer (schnell)",short:"Code schnell",icon:Ts,desc:"Schnelles Programmieren im Alltag.",tone:"bg-violet-500/15 text-violet-400 border-violet-500/25"},{role:"coder",label:"Programmierer (gründlich)",short:"Code gründlich",icon:Ts,desc:"Schreibt und prüft Code besonders sorgfältig — für schwere Coding-Aufgaben.",tone:"bg-fuchsia-500/15 text-fuchsia-400 border-fuchsia-500/25"},{role:"scout",label:"Späher",short:"Späher",icon:qM,desc:"Schneller erster Blick und grobe Einschätzung.",tone:"bg-teal-500/15 text-teal-400 border-teal-500/25"}],VD=T0.map(e=>e.role),Gw=Object.fromEntries(T0.map(e=>[e.role,e])),Vw=e=>({role:e||"?",label:e||"unbekannt",short:e||"?",icon:xa,desc:"Rolle ohne hinterlegten Klartext-Namen.",tone:"bg-slate-500/15 text-slate-300 border-slate-500/25"}),qD={fast:"hermes",coder_lite:"coder-lite"};function ct(e){return e&&(Gw[e]||Gw[qD[e]])||Vw(e)}function so({role:e,dense:t=!1,className:r}){const n=ct(e),i=n.icon;return l.jsxs("span",{className:ee("inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] font-semibold border tracking-wide",n.tone,r),title:`${n.desc} (${n.role})`,children:[l.jsx(i,{className:"h-3 w-3 shrink-0","aria-hidden":"true"}),t?n.short:n.label]})}function QD({fit:e}){const t={perfect:"bg-emerald-500/15 text-emerald-400 border border-emerald-500/20",marginal:"bg-amber-500/15 text-amber-400 border border-amber-500/20",too_tight:"bg-red-500/15 text-red-400 border border-red-500/20"}[e.level];return l.jsxs("span",{className:ee("rounded px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider font-mono",t),children:[e.text," • ",e.req_gb," GB RAM"]})}function uf(e){const t=e.toLowerCase();return t.includes("qwen")?{name:"Qwen",color:"bg-purple-500/20 text-purple-300 border-purple-500/30",initial:"Q"}:t.includes("gemma")?{name:"Gemma",color:"bg-blue-500/20 text-blue-300 border-blue-500/30",initial:"G"}:t.includes("llama")?{name:"Llama",color:"bg-red-500/20 text-red-300 border-red-500/30",initial:"🦙"}:t.includes("mistral")||t.includes("mixtral")?{name:"Mistral",color:"bg-orange-500/20 text-orange-300 border-orange-500/30",initial:"M"}:t.includes("deepseek")?{name:"DeepSeek",color:"bg-cyan-500/20 text-cyan-300 border-cyan-500/30",initial:"D"}:t.includes("hermes")||t.includes("nous")?{name:"Hermes",color:"bg-amber-500/20 text-amber-300 border-amber-500/30",initial:"H"}:t.includes("phi")?{name:"Phi",color:"bg-emerald-500/20 text-emerald-300 border-emerald-500/30",initial:"Φ"}:{name:"Other",color:"bg-slate-500/20 text-slate-300 border-slate-500/30",initial:"AI"}}function K5({model:e,onClose:t,onChanged:r}){var k,S;const{data:n,isLoading:i}=HD(e.gguf_path),[o,u]=y.useState(null),[c,f]=y.useState(""),h=n==null?void 0:n.target_vocab,m=(n==null?void 0:n.drafts)??[],g=m.filter(N=>N.compatible===!0),v=e.spec_draft_model;async function b(N){u(N??"__clear__"),f("");try{await we(`/api/models/${encodeURIComponent(e.name)}/draft`,{method:"POST",body:JSON.stringify({draft_path:N})}),r(),t()}catch(E){f(String((E==null?void 0:E.message)||E)),u(null)}}const j=N=>{var E;return N?`${N.pre??"?"} · ${((E=N.n_vocab)==null?void 0:E.toLocaleString())??"?"} Tokens`:"—"};return l.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:l.jsxs("div",{className:"w-full max-w-lg rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[l.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[l.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-2",children:[l.jsx(ga,{className:"h-4 w-4"})," Speculative Draft"]}),l.jsx("button",{onClick:t,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:l.jsx(gi,{className:"h-4 w-4"})})]}),l.jsxs("div",{className:"text-xs text-muted-foreground leading-relaxed",children:['Beschleunigt die Token-Generierung mit einem kleinen "Draft"-Modell. Voraussetzung: der Draft muss den ',l.jsx("strong",{className:"text-foreground",children:"exakt gleichen Tokenizer (Vocab)"})," haben wie das Modell — sonst lehnt llama.cpp es ab."]}),l.jsxs("div",{className:"rounded-lg border border-border/40 bg-background/30 px-3 py-2 text-[11px] font-mono flex items-center justify-between",children:[l.jsx("span",{className:"text-muted-foreground",children:(k=e.name.split("/").pop())==null?void 0:k.replace(/\.gguf$/i,"")}),l.jsxs("span",{className:"text-foreground",children:["Vocab: ",j(h)]})]}),e.spec_active&&v&&l.jsxs("div",{className:"rounded-lg border border-emerald-500/30 bg-emerald-500/5 px-3 py-2 flex items-center justify-between gap-2",children:[l.jsxs("span",{className:"text-[11px] text-emerald-400 font-mono flex items-center gap-1.5 truncate",children:[l.jsx(qt,{className:"h-3.5 w-3.5 shrink-0"})," Aktiv: ",v]}),l.jsx("button",{onClick:()=>b(null),disabled:o!==null,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Deaktivieren"})]}),!(n!=null&&n.target_exists)&&l.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 flex items-center gap-2",children:[l.jsx(Er,{className:"h-3.5 w-3.5 shrink-0"}),"Modell-GGUF noch nicht vorhanden — Spec-Draft ist nach dem Download konfigurierbar."]}),l.jsx("div",{className:"space-y-1.5 max-h-64 overflow-y-auto pr-1",children:i?l.jsx("div",{className:"text-xs text-muted-foreground py-6 text-center",children:"Prüfe Vocab-Kompatibilität…"}):m.length===0?l.jsxs("div",{className:"text-[11px] text-muted-foreground border border-dashed border-border/50 rounded-lg p-4 text-center",children:["Keine Draft-Modelle in ",l.jsx("code",{className:"font-mono",children:"/srv/models/drafts"}),". Lade ein kleines same-family-Modell (z.B. Qwen3-0.6B) und lege es dort ab."]}):m.map(N=>{var P,_;const E=N.filename===v,A=N.compatible===!0;return l.jsxs("div",{className:ee("rounded-lg border px-3 py-2 flex items-center justify-between gap-2 text-left",A?"border-border/40 bg-background/20":"border-border/20 bg-background/10 opacity-60",E&&"border-primary/40 bg-primary/10"),children:[l.jsxs("div",{className:"min-w-0",children:[l.jsxs("div",{className:"text-[11px] font-mono font-semibold text-foreground truncate flex items-center gap-1.5",children:[N.filename,N.mtp&&l.jsx("span",{className:"shrink-0 rounded bg-indigo-500/15 px-1.5 py-0.5 text-[8px] font-bold uppercase tracking-wider text-indigo-400 border border-indigo-500/25",title:"MTP-Kopf (Multi-Token-Prediction) — by-construction vocab-identisch, höchste Akzeptanzrate",children:"MTP"})]}),l.jsxs("div",{className:"text-[9px] text-muted-foreground font-mono",children:[or(N.size_bytes)," · Vocab: ",j(N.vocab)]})]}),A?E?l.jsxs("span",{className:"text-[9px] font-bold uppercase text-primary flex items-center gap-1 shrink-0",children:[l.jsx(qt,{className:"h-3.5 w-3.5"})," Aktiv"]}):l.jsx("button",{onClick:()=>b(N.path),disabled:o!==null,className:"h-7 px-3 rounded-lg border border-emerald-500/30 bg-emerald-500/5 hover:bg-emerald-500/15 text-emerald-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Aktivieren"}):l.jsxs("span",{className:"text-[9px] font-bold uppercase text-amber-400/80 flex items-center gap-1 shrink-0",title:N.compatible===!1?`Inkompatibel: Tokenizer/Vocab weicht ab (Draft ${(P=N.vocab)==null?void 0:P.pre}/${(_=N.vocab)==null?void 0:_.n_vocab} ≠ Modell ${h==null?void 0:h.pre}/${h==null?void 0:h.n_vocab}).`:"Kompatibilität nicht prüfbar (Datei fehlt).",children:[l.jsx(Er,{className:"h-3.5 w-3.5"})," ",N.compatible===!1?"Vocab ≠":"n/a"]})]},N.path)})}),!i&&(n==null?void 0:n.target_exists)&&m.length>0&&g.length===0&&l.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 leading-relaxed",children:["Kein vocab-kompatibler Draft verfügbar — Speculative Decoding ist für dieses Modell nicht möglich. Es braucht einen Draft mit identischem Tokenizer (pre=",l.jsx("span",{className:"font-mono",children:h==null?void 0:h.pre}),", n_vocab=",l.jsx("span",{className:"font-mono",children:(S=h==null?void 0:h.n_vocab)==null?void 0:S.toLocaleString()}),")."]}),c&&l.jsx("div",{className:"text-[10px] text-red-400 font-mono",children:c})]})})}const qw={hermes:{bar:"bg-indigo-500",dot:"bg-indigo-500",text:"text-indigo-400"},embed:{bar:"bg-emerald-500",dot:"bg-emerald-500",text:"text-emerald-400"},vision:{bar:"bg-pink-500",dot:"bg-pink-500",text:"text-pink-400"},heavy:{bar:"bg-amber-500",dot:"bg-amber-500",text:"text-amber-400"},"coder-lite":{bar:"bg-violet-500",dot:"bg-violet-500",text:"text-violet-400"},coder:{bar:"bg-fuchsia-500",dot:"bg-fuchsia-500",text:"text-fuchsia-400"},scout:{bar:"bg-teal-500",dot:"bg-teal-500",text:"text-teal-400"}},YD={fast:"hermes",coder_lite:"coder-lite"},Qw={bar:"bg-slate-400",dot:"bg-slate-400",text:"text-slate-300"};function cf(e){return e&&(qw[e]||qw[YD[e]])||Qw}const Yw=1024**3,Xw=e=>{var t;return((t=e.split("/").pop())==null?void 0:t.replace(/\.gguf$/i,""))??e};function XD({running:e,capacityBytes:t,realUsedBytes:r,selected:n,onSelect:i}){const o=t>2*Yw?t:124*Yw,u=e.reduce((h,m)=>h+(m.size_bytes||0),0),c=Math.max(0,o-u),f=c/o*100;return l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-5 shadow-lg shadow-black/15 backdrop-blur-md",children:[l.jsxs("div",{className:"mb-3 flex flex-wrap items-end justify-between gap-2",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(fa,{className:"h-5 w-5 text-primary"}),l.jsxs("div",{children:[l.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Arbeitsspeicher"}),l.jsxs("div",{className:"font-space text-xl font-bold tracking-tight text-foreground",children:[Qr(o)," GB ",l.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"gesamt"})]})]})]}),l.jsxs("div",{className:"text-right text-[11px] font-mono text-muted-foreground",children:[l.jsxs("div",{children:[l.jsxs("span",{className:"font-bold text-foreground",children:[Qr(u)," GB"]})," Modelle geladen"]}),r>0&&l.jsxs("div",{children:[Qr(r)," GB real belegt (inkl. KV-Cache)"]}),l.jsxs("div",{className:"text-emerald-400",children:[Qr(c)," GB frei"]})]})]}),l.jsx("div",{className:"flex h-12 w-full overflow-hidden rounded-xl border border-border/40 bg-background/50 p-1",children:e.length===0?l.jsx("div",{className:"flex w-full items-center justify-center text-[11px] italic text-muted-foreground/60",children:"Kein Modell geladen — Auto-Swap holt bei Anfrage automatisch das passende."}):l.jsxs(l.Fragment,{children:[e.map(h=>{const m=(h.size_bytes||0)/o*100,g=cf(h.role),v=n===h.name;return l.jsxs("button",{onClick:()=>i==null?void 0:i(h.name),style:{width:`${m}%`},title:`${ct(h.role).label} · ${Xw(h.name)} · ${or(h.size_bytes)}`,className:ee("group flex h-full min-w-[2.5rem] shrink-0 flex-col justify-center gap-0.5 rounded-lg px-2 text-left text-white transition-all",g.bar,v?"ring-2 ring-white/70":"opacity-90 hover:opacity-100"),children:[l.jsx("span",{className:"truncate font-space text-[10px] font-bold leading-tight tracking-wide",children:ct(h.role).short}),l.jsx("span",{className:"truncate font-mono text-[9px] leading-tight opacity-85",children:or(h.size_bytes)})]},h.name)}),f>1.5&&l.jsx("div",{style:{width:`${f}%`},className:"flex h-full min-w-[2rem] items-center justify-center rounded-lg text-[9px] font-mono text-muted-foreground/50",title:`${Qr(c)} GB frei`,children:"frei"})]})}),e.length>0&&l.jsxs("div",{className:"mt-3 flex flex-wrap gap-x-4 gap-y-1.5",children:[e.map(h=>{const m=cf(h.role);return l.jsxs("button",{onClick:()=>i==null?void 0:i(h.name),className:"flex items-center gap-1.5 text-[11px] text-muted-foreground transition-colors hover:text-foreground",children:[l.jsx("span",{className:ee("h-2.5 w-2.5 rounded-sm",m.dot)}),l.jsx("span",{className:ee("font-semibold",m.text),children:ct(h.role).short}),l.jsx("span",{className:"font-mono text-muted-foreground/70",children:Xw(h.name)})]},h.name)}),l.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground/60",children:[l.jsx("span",{className:"h-2.5 w-2.5 rounded-sm border border-border/50 bg-background/50"})," frei · ",Qr(c)," GB"]})]})]})}const Zw=1024**3,Ua=e=>{var t;return((t=e.split("/").pop())==null?void 0:t.replace(/\.gguf$/i,""))??e};function ZD(){var M,H,ie,J;const e=Kn(),{data:t,isLoading:r,error:n}=wi(4e3),{data:i}=ko(),{data:o}=I0(),{showAlert:u,showConfirm:c,showPrompt:f,dialogElement:h}=ba(),m=O0(),g=(t==null?void 0:t.models)??[],v=(t==null?void 0:t.running)??[],b=Z=>!!ct(Z).protected,j=(M=o==null?void 0:o.groups)==null?void 0:M.brains,k=(j==null?void 0:j.members)??[],S=Z=>k.includes(Z),[N,E]=y.useState(null),[A,P]=y.useState(""),[_,O]=y.useState("all"),[T,B]=y.useState(null),$=()=>{e.invalidateQueries({queryKey:Be.models}),e.invalidateQueries({queryKey:Be.routing}),e.invalidateQueries({queryKey:Be.groups})},z=g.filter(Z=>v.includes(Z.name)),Q=((H=i==null?void 0:i.gpu)==null?void 0:H.gtt_total)||((ie=i==null?void 0:i.gpu)==null?void 0:ie.vram_total)||0,U=((J=i==null?void 0:i.gpu)==null?void 0:J.gtt_used)||0,ve=Q>2*Zw?Q:124*Zw,ue=y.useMemo(()=>{const Z=A.trim().toLowerCase();return g.filter(ae=>_==="in_use"?!!ae.role||v.includes(ae.name):!0).filter(ae=>Z?ae.name.toLowerCase().includes(Z):!0).sort((ae,me)=>{const re=v.includes(ae.name)?0:1,ye=v.includes(me.name)?0:1;return re!==ye?re-ye:Ua(ae.name).localeCompare(Ua(me.name))})},[g,v,_,A]),pe=g.find(Z=>Z.name===N)??null;async function oe(Z){try{await we(`/api/models/${encodeURIComponent(Z)}/load`,{method:"POST"}),$()}catch(ae){u("Fehler",`Laden fehlgeschlagen: ${ae.message||ae}`)}}async function se(Z){const ae=k.some(me=>v.includes(me));if(j&&ae&&!S(Z)){const me=k.filter(re=>v.includes(re)).map(Ua).join(", ");c("Verdrängt das Hirn?",`„${Ua(Z)}" ist nicht ko-resident. Beim Laden wirft es das warme Hirn (${me}) raus — Lucy verliert Hirn bzw. Augen.
-Trotzdem exklusiv laden?`,()=>oe(Z));return}oe(Z)}async function X(Z){const ae=g.find(me=>me.name===Z);if(ae&&b(ae.role)){u("Geschützt",`„${ct(ae.role).label}" ist lebenswichtig und bleibt geladen.`);return}try{await we(`/api/models/${encodeURIComponent(Z)}/unload`,{method:"POST"}),$()}catch(me){u("Fehler",`Entladen fehlgeschlagen: ${me.message||me}`)}}async function ne(Z,ae){try{const me=await we(`/api/models/${encodeURIComponent(ae)}/role`,{method:"POST",body:JSON.stringify({role:Z||null})});$(),me!=null&&me.warning&&u("Rolle gesetzt — Hinweis",me.warning)}catch(me){u("Fehler",`Rolle zuweisen fehlgeschlagen: ${me.message||me}`)}}async function te(Z,ae){let me=null;try{me=await we(`/api/models/${encodeURIComponent(Z)}/ctx/auto`)}catch{}const re=me?`Optimal für dein Setup: ${(me.ctx/1024).toFixed(0)}k (${me.ctx}). »Auto« trägt diesen Wert ein.`:"Gib die gewünschte Kontextlänge in Tokens an:";f("Kontextlänge anpassen",re,String(ae||32768),async ye=>{if(ye)try{await we(`/api/models/${encodeURIComponent(Z)}/ctx`,{method:"POST",body:JSON.stringify({ctx:parseInt(ye,10)})}),$()}catch(Oe){u("Fehler",`Kontext setzen fehlgeschlagen: ${Oe.message||Oe}`)}},void 0,me?{autoValue:String(me.ctx),autoLabel:`Auto (${(me.ctx/1024).toFixed(0)}k)`}:void 0)}async function I(Z){const ae=g.find(me=>me.name===Z);if(ae&&b(ae.role)){u("Geschützt",`„${ct(ae.role).label}" kann nicht gelöscht werden. Weise die Rolle zuerst einem anderen Modell zu.`);return}c("Modell löschen?",`„${Ua(Z)}" und alle GGUF-Dateien unwiderruflich von der Box löschen?`,async()=>{try{await we(`/api/models/${encodeURIComponent(Z)}`,{method:"DELETE"}),N===Z&&E(null),$()}catch(me){u("Fehler",`Löschen fehlgeschlagen: ${me.message||me}`)}})}return r?l.jsx("div",{className:"py-16 text-center text-xs text-muted-foreground",children:"Werkbank wird geladen …"}):n?l.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Gateway oder Engine nicht erreichbar (",String(n),")."]}):l.jsxs("div",{className:"space-y-5",children:[l.jsx(YD,{running:z,capacityBytes:ve,realUsedBytes:U,selected:N,onSelect:E}),l.jsxs("div",{className:"grid gap-5 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.3fr)]",children:[l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-4 shadow-lg shadow-black/15 backdrop-blur-md",children:[l.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[l.jsxs("div",{className:"relative flex-1",children:[l.jsx(lh,{className:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground/60"}),l.jsx("input",{value:A,onChange:Z=>P(Z.target.value),placeholder:"Modell suchen …",className:"h-8 w-full rounded-lg border border-border/40 bg-background/40 pl-8 pr-2 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-primary/50 focus:outline-none"})]}),l.jsx("div",{className:"flex rounded-lg border border-border/40 bg-background/30 p-0.5",children:["all","in_use"].map(Z=>l.jsx("button",{onClick:()=>O(Z),className:ee("rounded-md px-2 py-1 text-[9px] font-bold uppercase transition-all cursor-pointer",_===Z?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:Z==="all"?"Alle":"In Benutzung"},Z))})]}),l.jsx("div",{className:"max-h-[60vh] space-y-1.5 overflow-y-auto scrollbar-thin pr-1",children:ue.length===0?l.jsx("div",{className:"rounded-xl border border-dashed border-border/50 p-8 text-center text-xs text-muted-foreground",children:"Keine Modelle."}):ue.map(Z=>{const ae=v.includes(Z.name),me=N===Z.name,re=uf(Z.name),ye=cf(Z.role);return l.jsxs("button",{onClick:()=>E(Z.name),className:ee("flex w-full items-center gap-2.5 rounded-xl border p-2.5 text-left transition-all cursor-pointer",me?"border-primary/60 bg-primary/10":"border-border/40 bg-background/20 hover:border-primary/30 hover:bg-background/40"),children:[l.jsx("span",{className:ee("flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border text-[10px] font-bold",re.color),children:re.initial}),l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsx("div",{className:"truncate font-mono text-xs font-semibold text-foreground",children:Ua(Z.name)}),l.jsxs("div",{className:"mt-0.5 flex items-center gap-1.5",children:[Z.role&&l.jsx("span",{className:ee("h-2 w-2 rounded-sm",ye.dot)}),l.jsx("span",{className:"text-[10px] text-muted-foreground",children:Z.role?ct(Z.role).short:"keine Rolle"}),l.jsxs("span",{className:"text-[10px] text-muted-foreground/50",children:["· ",or(Z.size_bytes)]})]})]}),ae?l.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[9px] font-bold uppercase text-emerald-400",children:[l.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"warm"]}):Z.incomplete?l.jsx("span",{className:"shrink-0 text-[9px] font-bold uppercase text-amber-400",children:"⚠ fehlt"}):l.jsx("span",{className:"shrink-0 text-[9px] font-semibold uppercase text-muted-foreground/50",children:"bereit"})]},Z.name)})})]}),l.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-5 shadow-lg shadow-black/15 backdrop-blur-md",children:pe?l.jsx(ZD,{m:pe,warm:v.includes(pe.name),expert:m,protectedRole:b(pe.role),coresident:S(pe.name),onLoad:()=>se(pe.name),onUnload:()=>X(pe.name),onRole:Z=>ne(Z,pe.name),onCtx:()=>te(pe.name,pe.ctx),onSpec:()=>B(pe),onDelete:()=>I(pe.name)}):l.jsxs("div",{className:"flex h-full min-h-[16rem] flex-col items-center justify-center gap-2 text-center text-muted-foreground",children:[l.jsx(pi,{className:"h-8 w-8 opacity-40"}),l.jsx("p",{className:"text-sm font-semibold",children:"Links ein Modell wählen"}),l.jsx("p",{className:"text-xs",children:"Dann verwaltest du es hier — laden, Rolle, Kontext, löschen."})]})})]}),T&&l.jsx(K5,{model:T,onClose:()=>B(null),onChanged:$}),h]})}function ZD({m:e,warm:t,expert:r,protectedRole:n,coresident:i,onLoad:o,onUnload:u,onRole:c,onCtx:f,onSpec:h,onDelete:m}){const g=uf(e.name),v=t&&n;return l.jsxs("div",{className:"flex h-full flex-col gap-4",children:[l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("span",{className:ee("flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border text-sm font-bold",g.color),children:g.initial}),l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsx("h2",{className:"break-all font-mono text-sm font-bold text-foreground",children:Ua(e.name)}),l.jsxs("div",{className:"mt-1.5 flex flex-wrap items-center gap-1.5",children:[e.role?l.jsx(so,{role:e.role}):l.jsx("span",{className:"rounded border border-dashed border-border/50 px-1.5 py-0.5 text-[10px] text-muted-foreground",children:"keine Rolle"}),n&&l.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 text-[10px] text-muted-foreground",title:"Lebenswichtig — geschützt",children:[l.jsx(WN,{className:"mr-0.5 inline h-3 w-3"}),"geschützt"]}),i&&l.jsxs("span",{className:"rounded border border-fuchsia-500/30 bg-fuchsia-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase text-fuchsia-300",children:[l.jsx(xa,{className:"mr-0.5 inline h-3 w-3"}),"Ko-resident"]}),t&&l.jsxs("span",{className:"flex items-center gap-1 text-[10px] font-bold uppercase text-emerald-400",children:[l.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"warm"]})]})]})]}),l.jsxs("button",{onClick:t?u:o,disabled:e.incomplete&&!t||v,className:ee("flex h-11 w-full items-center justify-center gap-2 rounded-xl border text-sm font-bold transition-all cursor-pointer disabled:cursor-not-allowed disabled:opacity-50",t?"border-amber-500/40 bg-amber-500/10 text-amber-300 hover:bg-amber-500/20":"border-primary/40 bg-primary/10 text-primary hover:bg-primary/20"),title:v?`„${ct(e.role).label}" bleibt geladen (geschützt).`:void 0,children:[t?l.jsx(RM,{className:"h-4 w-4"}):l.jsx(GN,{className:"h-4 w-4"}),v?"🔒 bleibt geladen":t?"Entladen":"Ins Warm-Set laden"]}),l.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[l.jsx("div",{className:"mb-2 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Rolle"}),l.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[l.jsx(Jw,{active:!e.role,onClick:()=>c(""),dot:"bg-slate-400",label:"keine"}),T0.map(b=>l.jsx(Jw,{active:e.role===b.role,onClick:()=>c(b.role),dot:cf(b.role).dot,label:b.short},b.role))]})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[l.jsx(JD,{icon:fa,label:"Größe",value:or(e.size_bytes)}),l.jsxs("button",{onClick:f,className:"group flex items-center gap-2 rounded-lg border border-border/30 bg-background/20 p-2.5 text-left transition-colors hover:border-primary/40 cursor-pointer",children:[l.jsx(KN,{className:"h-4 w-4 text-primary/80"}),l.jsxs("div",{className:"min-w-0",children:[l.jsx("div",{className:"text-[9px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:"Kontext · ändern"}),l.jsx("div",{className:"font-semibold text-foreground",children:xv(e.ctx)})]})]})]}),l.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[l.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Beschleuniger"}),r&&l.jsxs("button",{onClick:h,className:ee("flex h-6 items-center gap-1 rounded-lg border px-2 text-[9px] font-bold uppercase transition-colors cursor-pointer",e.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":e.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),children:[l.jsx(ga,{className:"h-3 w-3"})," Spec"]})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[e.spec_active&&l.jsx(Cd,{tone:"emerald",label:"Spec-Decoding aktiv"}),!e.spec_active&&e.spec_draft_model&&l.jsx(Cd,{tone:"amber",label:"Spec inaktiv"}),e.prompt_cache&&l.jsx(Cd,{tone:"cyan",label:"Prompt-Cache"}),e.parallel_slots>1&&l.jsx(Cd,{tone:"violet",label:`${e.parallel_slots} Slots`}),!e.spec_active&&!e.spec_draft_model&&!e.prompt_cache&&e.parallel_slots<=1&&l.jsx("span",{className:"text-[11px] text-muted-foreground/60",children:"keine aktiv"})]})]}),l.jsx("div",{className:"flex flex-wrap gap-1",children:l.jsx(bv,{caps:e.capabilities})}),l.jsxs("button",{onClick:m,disabled:n,className:ee("mt-auto flex h-9 items-center justify-center gap-1.5 rounded-lg border text-xs font-semibold transition-colors",n?"cursor-not-allowed border-border/30 text-muted-foreground/40":"border-red-500/30 text-red-400 hover:bg-red-500/10 cursor-pointer"),children:[l.jsx(of,{className:"h-3.5 w-3.5"})," ",n?"geschützt — nicht löschbar":"Modell löschen"]})]})}function Jw({active:e,onClick:t,dot:r,label:n}){return l.jsxs("button",{onClick:t,className:ee("flex items-center gap-1.5 rounded-lg border px-2 py-1 text-[10px] font-semibold transition-all cursor-pointer",e?"border-primary/60 bg-primary/15 text-foreground":"border-border/40 bg-background/20 text-muted-foreground hover:border-primary/30"),children:[l.jsx("span",{className:ee("h-2 w-2 rounded-sm",r)}),n,e&&l.jsx(qt,{className:"h-3 w-3 text-primary"})]})}function JD({icon:e,label:t,value:r}){return l.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-border/30 bg-background/20 p-2.5",children:[l.jsx(e,{className:"h-4 w-4 text-primary/80"}),l.jsxs("div",{className:"min-w-0",children:[l.jsx("div",{className:"text-[9px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:t}),l.jsx("div",{className:"font-semibold text-foreground",children:r})]})]})}function Cd({tone:e,label:t}){const r={emerald:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20",amber:"bg-amber-500/10 text-amber-400 border-amber-500/20",cyan:"bg-cyan-500/10 text-cyan-400 border-cyan-500/20",violet:"bg-violet-500/10 text-violet-400 border-violet-500/20"}[e];return l.jsx("span",{className:ee("rounded border px-1.5 py-0.5 text-[10px] font-semibold",r),children:t})}const eR=[{key:"popular",label:"Beliebt",q:""},{key:"coder",label:"Coder",q:"coder"},{key:"vision",label:"Vision",q:"vision"},{key:"reasoning",label:"Reasoning",q:"reasoning"},{key:"small",label:"Klein (≤4B)",q:"3B"}],tR=["fast","heavy","coder","vision","hermes","scout"],rR=new Intl.NumberFormat(void 0,{notation:"compact",maximumFractionDigits:1});function ek(e){return rR.format(e)}function nR(){const{data:e}=wi(),t=(e==null?void 0:e.models)??[],[r,n]=y.useState(""),[i,o]=y.useState([]),[u,c]=y.useState(!1),[f,h]=y.useState(""),[m,g]=y.useState("popular"),[v,b]=y.useState(""),[j,k]=y.useState(null),[S,N]=y.useState([]),[E,A]=y.useState("Q4_K_M"),[P,_]=y.useState(""),[O,T]=y.useState(null),[B,$]=y.useState(!1),[z,Q]=y.useState({});async function U(M){c(!0),h("");try{const H=await we(`/api/hf/search?q=${encodeURIComponent(M)}`);o(H.results),H.results.length||h("Keine Ergebnisse.")}catch(H){h(`Suche fehlgeschlagen: ${H}`)}finally{c(!1)}}y.useEffect(()=>{U("")},[]);function ve(M){g(M.key),n(""),U(M.q)}function ue(){g(""),U(r)}async function pe(M,H,ie){$(!1);try{const J=await we(`/api/fit?params_b=0&quant=${encodeURIComponent(H)}&ctx=8192&name=${encodeURIComponent(M)}&role=${encodeURIComponent(ie)}`);T(J)}catch{T(null)}}async function oe(M){if(j===M){k(null);return}k(M),N([]),T(null),_(""),$(!1),h("Analysiere Repository…");try{const H=await we(`/api/hf/quants?repo=${encodeURIComponent(M)}`);N(H.quants);const ie=H.quants.includes("Q4_K_M")?"Q4_K_M":H.quants[0]||"Q4_K_M";A(ie),h(H.quants.length?"":"Keine GGUF-Dateien in diesem Repo gefunden."),H.quants.length&&pe(H.repo,ie,"")}catch(H){h(`Fehler: ${H}`)}}function se(){const M=v.trim();M&&(o(H=>H.some(ie=>ie.repo===M)?H:[{repo:M,downloads:0,likes:0},...H]),b(""),oe(M))}const X=P?t.find(M=>(M.role||"").toLowerCase()===P):void 0;async function ne(M){if((O==null?void 0:O.fit.level)==="too_tight"&&!B){$(!0);return}Q(H=>({...H,[M]:"Starte…"}));try{await we("/api/models/install",{method:"POST",body:JSON.stringify({repo:M,quant:E,role:P||void 0,jinja:!0})}),Q(H=>({...H,[M]:"Download läuft"})),$(!1)}catch{Q(ie=>({...ie,[M]:"Fehler"}))}}const te=M=>{var ie;const H=((ie=M.split("/").pop())==null?void 0:ie.toLowerCase().replace(/-gguf$/i,""))||"";return H.length>3&&t.some(J=>J.name.toLowerCase().includes(H))},I=M=>M==="perfect"?"text-emerald-400 border-emerald-500/40 bg-emerald-500/10":M==="marginal"?"text-amber-400 border-amber-500/40 bg-amber-500/10":"text-red-400 border-red-500/40 bg-red-500/10";return l.jsxs("div",{className:"space-y-5",children:[l.jsxs("div",{className:"flex gap-2",children:[l.jsxs("div",{className:"relative flex-1",children:[l.jsx(lh,{className:"absolute left-3 top-2.5 h-4 w-4 text-muted-foreground"}),l.jsx("input",{value:r,onChange:M=>n(M.target.value),onKeyDown:M=>M.key==="Enter"&&ue(),"aria-label":"HuggingFace durchsuchen",type:"search",spellCheck:!1,placeholder:"HuggingFace durchsuchen (z.B. Qwen Coder, Llama-3.1, gemma)…",className:"w-full h-10 pl-9 pr-3 rounded-xl border border-border/60 bg-background/40 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]}),l.jsx("button",{onClick:ue,className:"h-10 px-5 rounded-xl bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all cursor-pointer",children:"Suchen"})]}),l.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:eR.map(M=>l.jsxs("button",{onClick:()=>ve(M),className:ee("flex items-center gap-1.5 rounded-full px-3 py-1.5 text-[11px] font-semibold transition-all cursor-pointer border",m===M.key?"bg-primary/15 text-primary border-primary/30":"border-border/50 text-muted-foreground hover:text-foreground hover:border-border"),children:[M.key==="popular"&&l.jsx(bM,{className:"h-3 w-3"}),M.label]},M.key))}),u?l.jsx("div",{className:"text-xs text-muted-foreground py-10 text-center",children:"Lade GGUF-Modelle von HuggingFace…"}):l.jsxs("div",{className:"space-y-2",children:[i.map(M=>{const H=j===M.repo,ie=te(M.repo),J=M.repo.includes("/")?M.repo.split("/")[0]:"—",Z=M.repo.split("/").pop();return l.jsxs("div",{className:ee("rounded-xl border bg-card/45 backdrop-blur-md transition-all",H?"border-primary/40 shadow-lg shadow-primary/5":"border-border/50 hover:border-primary/30"),children:[l.jsxs("button",{onClick:()=>oe(M.repo),className:"w-full flex items-center gap-3 p-3.5 text-left cursor-pointer",children:[l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[l.jsx("span",{className:"text-xs font-bold font-mono text-foreground truncate max-w-[280px]",title:M.repo,children:Z}),ie&&l.jsxs("span",{className:"flex items-center gap-1 text-[8px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-1.5 py-0.5 rounded",children:[l.jsx(qt,{className:"h-2.5 w-2.5"})," installiert"]})]}),l.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-3 mt-0.5 font-mono",children:[l.jsx("span",{children:J}),l.jsxs("span",{className:"flex items-center gap-1",children:[l.jsx(Ds,{className:"h-3 w-3"})," ",ek(M.downloads)]}),M.likes>0&&l.jsxs("span",{className:"flex items-center gap-1",children:[l.jsx(NM,{className:"h-3 w-3"})," ",ek(M.likes)]})]})]}),H?l.jsx(zN,{className:"h-4 w-4 text-muted-foreground shrink-0"}):l.jsx($N,{className:"h-4 w-4 text-muted-foreground shrink-0"})]}),H&&l.jsx("div",{className:"border-t border-border/30 p-3.5 space-y-3",children:S.length===0?l.jsx("div",{className:"text-[11px] text-muted-foreground font-mono",children:f||"Lade Quants…"}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Quant"}),l.jsx("select",{value:E,onChange:ae=>{A(ae.target.value),pe(M.repo,ae.target.value,P)},"aria-label":"Quantisierung",className:"h-8 rounded-lg border border-border/60 bg-background/40 px-2 text-xs text-foreground font-semibold outline-none",children:S.map(ae=>l.jsx("option",{value:ae,className:"bg-popover text-foreground",children:ae},ae))}),l.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground ml-1",children:"Rolle"}),l.jsxs("select",{value:P,onChange:ae=>{_(ae.target.value),pe(M.repo,E,ae.target.value)},"aria-label":"Rolle",title:"Optional — bestimmt Auto-Konfiguration + setup-bewussten Kontext",className:"h-8 rounded-lg border border-border/60 bg-background/40 px-2 text-xs text-foreground font-semibold outline-none",children:[l.jsx("option",{value:"",className:"bg-popover text-foreground",children:"keine"}),tR.map(ae=>l.jsx("option",{value:ae,className:"bg-popover text-foreground",children:ae},ae))]}),l.jsx("button",{onClick:()=>ne(M.repo),disabled:!!z[M.repo]&&z[M.repo]==="Download läuft",className:ee("h-8 px-3.5 ml-auto rounded-lg text-xs font-semibold transition-all cursor-pointer flex items-center gap-1.5",B?"bg-red-500 text-white hover:opacity-90":"bg-primary text-primary-foreground hover:opacity-90"),children:z[M.repo]?z[M.repo]:B?l.jsxs(l.Fragment,{children:[l.jsx(Er,{className:"h-3.5 w-3.5"})," OOM — trotzdem laden"]}):l.jsxs(l.Fragment,{children:[l.jsx(Ds,{className:"h-3.5 w-3.5"})," Herunterladen"]})})]}),O&&l.jsxs("div",{className:ee("flex flex-wrap items-center gap-x-3 gap-y-1 rounded-lg border px-3 py-2 text-[11px] font-medium",I(O.fit.level)),children:[l.jsx("span",{className:"font-bold uppercase tracking-wide",children:O.fit.text}),l.jsxs("span",{className:"font-mono opacity-90",children:["~",O.params_b,"B · ~",O.fit.req_gb," GB / ",O.sys_ram_gb," GB · ~",O.fit.tps," t/s"]}),O.fit.level!=="too_tight"?l.jsxs("span",{className:"font-mono opacity-80",children:["ctx → ",(O.assigned_ctx/1024).toFixed(0),"k"]}):l.jsx("span",{className:"opacity-90",children:"— passt nicht, würde beim Laden abstürzen (OOM)."})]}),X&&l.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-400",children:[l.jsx(Er,{className:"h-3.5 w-3.5 mt-0.5 shrink-0"}),l.jsxs("span",{children:["Rolle ",l.jsxs("strong",{children:["„",P,'"']})," hält aktuell ",l.jsx("strong",{children:X.name.split("/").pop()})," — wird beim Download übernommen."]})]})]})})]},M.repo)}),!i.length&&!u&&l.jsx("div",{className:"text-xs text-muted-foreground py-10 text-center",children:f||"Keine Ergebnisse."})]}),l.jsxs("div",{className:"border-t border-border/30 pt-4 flex flex-col sm:flex-row gap-2 items-stretch sm:items-center",children:[l.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground shrink-0",children:"Direkt:"}),l.jsx("input",{value:v,onChange:M=>b(M.target.value),onKeyDown:M=>M.key==="Enter"&&se(),"aria-label":"Repository oder URL direkt eingeben",spellCheck:!1,placeholder:"org/repo oder HF-URL (z.B. unsloth/Qwen2.5-Coder-7B-Instruct-GGUF)",className:"flex-1 h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground font-mono"}),l.jsx("button",{onClick:se,className:"h-9 px-4 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold hover:border-primary/50 hover:bg-background/40 transition-all cursor-pointer whitespace-nowrap",children:"Laden"})]})]})}const iR={fast:{title:"Schnelles Alltags-Hirn",desc:"Schnelle MoE-Antworten für Chat, Zusammenfassungen und alltägliche Aufgaben.",icon:ga},heavy:{title:"Schweres Reasoning",desc:"Große Modelle für komplexe Logik, Mathematik und tiefgründiges Planen.",icon:xa},coder:{title:"Coden & Entwicklung",desc:"Autovervollständigung, Refactoring und Codegenerierung direkt in deiner IDE.",icon:Ts},vision:{title:"Bilder & Vision",desc:"Verarbeitet Bilder, Screenshots und visuelle Diagramme in multimodalen Chats.",icon:xu},hermes:{title:"Lucys Hirn (Agent)",desc:"Lucys dauer-warmes Agent-Hirn mit Tool-Calling — bleibt ko-resident, lädt nie kalt nach.",icon:lM},scout:{title:"Multimodal-Allrounder",desc:"Multimodaler Allrounder für schnelle Antworten, Übersetzungen und Alltag.",icon:lv}};function aR(){const{data:e,isLoading:t,error:r}=BD(),{data:n}=wi(),{data:i}=gh(),o=(n==null?void 0:n.models)??[],u=r?String(r):"",[c,f]=y.useState({}),[h,m]=y.useState({}),[g,v]=y.useState("recommended");async function b(j,k,S,N){f(E=>({...E,[j]:"Starte..."}));try{await we("/api/models/install",{method:"POST",body:JSON.stringify({repo:j,role:k,quant:S,jinja:N})}),f(E=>({...E,[j]:"Download läuft"}))}catch{f(A=>({...A,[j]:"Fehler"}))}}return l.jsxs("div",{className:"space-y-6",children:[l.jsx("div",{className:"flex rounded-xl border border-border/60 bg-card/45 backdrop-blur-md p-1 w-fit",children:[["recommended","Empfohlen"],["browse","Stöbern & Suchen"]].map(([j,k])=>l.jsx("button",{onClick:()=>v(j),className:ee("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide transition-all cursor-pointer",g===j?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:k},j))}),g==="browse"?l.jsx(nR,{}):t?l.jsx("div",{className:"text-xs text-muted-foreground py-12 text-center",children:"Analysiere Hardware und suche passende GGUF-Empfehlungen…"}):u||!e?l.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Empfehlungsdienst temporär nicht erreichbar (",u,")."]}):l.jsxs("div",{className:"space-y-8",children:[l.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground bg-background/25 border border-border/40 p-4 rounded-xl flex flex-col sm:flex-row sm:items-center justify-between gap-3 shadow-sm",children:[l.jsxs("div",{children:["Modell-Registry geladen für ",l.jsxs("span",{className:"text-foreground font-bold",children:[e.sys_ram_gb," GB"]})," System-RAM."]}),l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx(GM,{className:"h-3.5 w-3.5 text-primary fill-primary/20"}),l.jsx("span",{children:"Empfehlungen sind automatisch auf deine Box-Hardware optimiert."})]})]}),l.jsx("div",{className:"grid gap-6 md:grid-cols-2",children:e.categories.map(j=>{const k=iR[j.role]||{title:j.title||j.role,desc:"Spezifisches Modell für diese Systemrolle.",icon:HN},S=k.icon,N=o.find(T=>T.role===j.role||(T.aliases||[]).includes(j.role)),E=i==null?void 0:i.model_list.find(T=>T.role===j.role),A=j.models.find(T=>T.repo===j.recommended)||j.models[0];if(!A)return null;const P=c[A.repo],_=j.models.filter(T=>T.repo!==j.recommended),O=!!h[j.role];return l.jsxs("div",{className:ee("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-5 transition-all duration-300 hover:border-primary/40",N?"border-border/60":"border-primary/20 shadow-primary/5"),children:[l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/10 border border-primary/20 flex items-center justify-center text-primary shadow-sm shrink-0",children:l.jsx(S,{className:"h-5.5 w-5.5"})}),l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-bold tracking-tight text-foreground",children:k.title}),l.jsxs("span",{className:"text-[9px] font-mono text-muted-foreground uppercase bg-background/50 px-1.5 py-0.5 rounded border border-border/30 inline-block mt-0.5",children:["Rolle: ",j.role]})]})]}),N?l.jsxs("span",{className:"flex items-center gap-1.5 text-[9px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-2.5 py-1 rounded-lg",children:[l.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"Aktiviert"]}):l.jsx("span",{className:"text-[9px] font-bold text-primary/70 uppercase tracking-wider bg-primary/10 border border-primary/20 px-2.5 py-1 rounded-lg",children:"Frei"})]}),l.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:k.desc}),l.jsx("div",{className:"p-3.5 rounded-xl bg-background/35 border border-border/30 space-y-2.5",children:N?l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Aktive GGUF-Belegung"}),l.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:N.name,children:N.name.split("/").pop()}),l.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2",children:[l.jsxs("span",{children:["Größe: ",yv(N.size_bytes||0)]}),l.jsx("span",{children:"•"}),l.jsxs("span",{children:["Quant: ",N.quant||"GGUF"]})]})]}):l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-primary/80",children:"Empfohlenes Modell"}),l.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:A.name,children:A.name}),l.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 flex-wrap",children:[l.jsxs("span",{children:["Ersteller: ",A.author]}),l.jsx("span",{children:"•"}),l.jsxs("span",{children:["Quant: ",A.quant]})]}),l.jsx("div",{className:"flex items-center gap-1.5 pt-0.5",children:l.jsx(qD,{fit:A.fit})})]})}),l.jsx("div",{className:"pt-1",children:N?E?l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1.5",children:[l.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),l.jsxs("span",{children:["Bessere Version in der Registry: ",E.repo.split("/").pop()]})]}),l.jsxs("button",{onClick:()=>b(E.repo,j.role,A.quant||"Q4_K_M",A.caps.tools!=="no"),disabled:!!c[E.repo],className:"h-8 w-full flex items-center justify-center gap-1.5 rounded-lg bg-amber-500 text-black text-xs font-bold hover:bg-amber-400 disabled:opacity-50 transition-all cursor-pointer shadow-md shadow-amber-500/10",children:[l.jsx(Ds,{className:"h-3.5 w-3.5"}),c[E.repo]||"Auf neue Version aktualisieren"]})]}):l.jsxs("div",{className:"h-8 flex items-center justify-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/10 rounded-lg select-none",children:[l.jsx(qt,{className:"h-4 w-4"})," Auf neuestem Stand"]}):l.jsxs("button",{onClick:()=>b(A.repo,j.role,A.quant||"Q4_K_M",A.caps.tools!=="no"),disabled:!!P,className:ee("h-8 w-full flex items-center justify-center gap-1.5 rounded-lg text-xs font-bold transition-all cursor-pointer border",P?"border-primary/40 bg-primary/5 text-primary":"bg-primary text-primary-foreground hover:opacity-90 shadow-md shadow-primary/10"),children:[l.jsx(Ds,{className:"h-3.5 w-3.5"}),P||"Optimales Modell einsetzen"]})})]}),_.length>0&&l.jsxs("div",{className:"border-t border-border/20 pt-3",children:[l.jsxs("button",{onClick:()=>m(T=>({...T,[j.role]:!O})),className:"flex items-center gap-1.5 text-[10px] text-muted-foreground/80 hover:text-foreground transition-colors cursor-pointer",children:[O?l.jsx(zN,{className:"h-3 w-3"}):l.jsx($N,{className:"h-3 w-3"}),l.jsxs("span",{children:["Alternative Empfehlungen anzeigen (",_.length,")"]})]}),O&&l.jsx("div",{className:"mt-2.5 space-y-2 max-h-36 overflow-y-auto pr-1 scrollbar-thin",children:_.map(T=>l.jsxs("div",{className:"p-2 rounded-lg bg-background/25 border border-border/20 flex items-center justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("div",{className:"text-[10px] font-mono font-bold text-foreground truncate",title:T.name,children:T.name}),l.jsxs("div",{className:"text-[9px] text-muted-foreground flex items-center gap-1.5 mt-0.5",children:[l.jsxs("span",{children:["Quant: ",T.quant]}),l.jsx("span",{children:"•"}),l.jsx("span",{children:T.fit.text})]})]}),l.jsx("button",{onClick:()=>b(T.repo,j.role,T.quant||"Q4_K_M",T.caps.tools!=="no"),disabled:!!c[T.repo],className:"h-6 px-2.5 rounded bg-background/40 hover:bg-background/80 border border-border/40 text-[9px] font-bold text-foreground transition-all cursor-pointer shrink-0 disabled:opacity-50",children:c[T.repo]||"Installieren"})]},T.repo))})]})]},j.role)})})]})]})}function oR(){const[e,t]=y.useState("cockpit");return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Modell-Manager"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Verwalte deine Modelle und passe das Gateway-Routing live über das interaktive Cockpit an."})]}),l.jsx("div",{className:"flex rounded-xl border border-border/60 bg-card/45 backdrop-blur-md p-1 self-start",children:["cockpit","discover"].map(r=>l.jsx("button",{onClick:()=>t(r),className:ee("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",e===r?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:r==="cockpit"?"Werkbank":"Modelle finden"},r))})]}),l.jsx(KD,{}),l.jsx("div",{className:"transition-all duration-300",children:e==="cockpit"?l.jsx(XD,{}):l.jsx(aR,{})})]})}const sR={zed:"Zed: settings.json",kilo:"Kilo: Einstellungen → API Provider",claude_code:"env / Übersetzer"};function tk({line:e,loading:t}){return t||!e?l.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-muted-foreground",children:[l.jsx(qs,{className:"h-3 w-3 animate-spin"})," prüfe…"]}):e.ok?l.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-emerald-400",children:[l.jsx(FN,{className:"h-3 w-3"})," ",e.detail]}):l.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-red-400",children:[l.jsx(mM,{className:"h-3 w-3"})," ",e.detail]})}function rk({tool:e,fileName:t,accent:r,copied:n,onCopy:i}){return l.jsxs("div",{className:"flex flex-col border border-border/60 bg-black/60 rounded-2xl overflow-hidden shadow-2xl",children:[l.jsxs("div",{className:"flex h-11 items-center justify-between px-4 border-b border-border/40 bg-black/40 shrink-0",children:[l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx("span",{className:"h-3 w-3 rounded-full bg-red-500/80"}),l.jsx("span",{className:"h-3 w-3 rounded-full bg-amber-500/80"}),l.jsx("span",{className:"h-3 w-3 rounded-full bg-emerald-500/80"})]}),l.jsx("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground/75 bg-background/30 px-3 py-1 rounded-md border border-border/20",children:l.jsx("span",{children:t})}),l.jsxs("button",{onClick:i,className:"flex h-7 px-2.5 items-center gap-1.5 rounded-lg border border-border/40 bg-background/30 text-[10px] font-semibold text-muted-foreground hover:text-foreground hover:bg-background/60 transition-all cursor-pointer",children:[n?l.jsx(qt,{className:"h-3.5 w-3.5 text-emerald-400"}):l.jsx(uv,{className:"h-3.5 w-3.5"}),l.jsx("span",{children:n?"Kopiert":"Kopieren"})]})]}),l.jsx("pre",{className:ee("p-5 overflow-x-auto text-xs font-mono whitespace-pre leading-relaxed scrollbar-thin select-text bg-black/10",r==="teal"?"text-cyan-200/90":"text-violet-200/90"),children:l.jsx("code",{children:e.snippet})})]})}function G5(){const[e,t]=y.useState(localStorage.getItem("mc_host")||"192.168.178.151"),[r,n]=y.useState(localStorage.getItem("mc_mcp_path")||""),[i,o]=y.useState("zed"),[u,c]=y.useState(null),f=new URLSearchParams({host:e});r&&f.set("mcp_path",r);const{data:h,error:m}=HD(f.toString()),{data:g,isLoading:v}=H5(),b=m?String(m):"";function j(E){t(E),E&&localStorage.setItem("mc_host",E)}function k(E){n(E),localStorage.setItem("mc_mcp_path",E)}const S=h==null?void 0:h.tools[i];async function N(E,A){A&&(await navigator.clipboard.writeText(A),c(E),setTimeout(()=>c(null),1500))}return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Verbindung & Integration"}),l.jsxs("p",{className:"text-sm text-muted-foreground",children:["Binde deinen lokalen Agenten an die Box an — über ",l.jsx("span",{className:"text-foreground",children:"zwei getrennte Leitungen"}),": das Modell (Gateway) und das geteilte Gedächtnis (MCP)."]})]}),l.jsxs("div",{className:"p-5 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md shadow-lg shadow-black/10",children:[l.jsxs("div",{className:"grid gap-4 md:grid-cols-[170px_1fr] items-center",children:[l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-background/40 p-4 text-center",children:[l.jsx(AM,{className:"h-7 w-7 mx-auto text-muted-foreground"}),l.jsx("div",{className:"mt-2 text-sm font-semibold text-foreground",children:"Dein lokaler Agent"}),l.jsx("div",{className:"text-[11px] text-muted-foreground",children:"Cline · Cursor · Zed …"})]}),l.jsxs("div",{className:"flex flex-col gap-2.5",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(nf,{className:"h-4 w-4 text-muted-foreground shrink-0"}),l.jsxs("div",{className:"flex-1 rounded-xl border border-primary/25 bg-primary/5 px-3.5 py-2.5",children:[l.jsxs("div",{className:"flex items-center justify-between gap-2",children:[l.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-primary",children:[l.jsx(pi,{className:"h-3.5 w-3.5"})," Leitung 1 — Modell"]}),l.jsx(tk,{line:g==null?void 0:g.gateway,loading:v})]}),l.jsx("div",{className:"mt-1 text-[11px] font-mono text-primary/80",children:"Gateway · :9001/v1 · Lanes chat / coding"})]})]}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(nf,{className:"h-4 w-4 text-muted-foreground shrink-0"}),l.jsxs("div",{className:"flex-1 rounded-xl border border-violet-500/25 bg-violet-500/5 px-3.5 py-2.5",children:[l.jsxs("div",{className:"flex items-center justify-between gap-2",children:[l.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-violet-300",children:[l.jsx(xa,{className:"h-3.5 w-3.5"})," Leitung 2 — Gedächtnis"]}),l.jsx(tk,{line:g==null?void 0:g.memory,loading:v})]}),l.jsx("div",{className:"mt-1 text-[11px] font-mono text-violet-300/80",children:"MCP · mcp_memory.py · separat"})]})]})]})]}),l.jsxs("p",{className:"mt-3.5 text-[11px] text-muted-foreground leading-relaxed",children:["Der Gateway liefert ",l.jsx("span",{className:"text-foreground",children:"nur das LLM"}),". Das geteilte Gedächtnis läuft über einen",l.jsx("span",{className:"text-foreground",children:" eigenen MCP-Server"})," — beide werden unabhängig eingerichtet."]})]}),l.jsxs("div",{className:"grid gap-4 md:grid-cols-2 p-5 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md shadow-lg shadow-black/10",children:[l.jsxs("div",{className:"space-y-1.5",children:[l.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[l.jsx(SM,{className:"h-3.5 w-3.5 text-primary"})," Box LAN IP-Adresse"]}),l.jsx("input",{value:e,onChange:E=>j(E.target.value),"aria-label":"Box LAN IP-Adresse",spellCheck:!1,placeholder:"z.B. 192.168.178.151",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[l.jsx(wM,{className:"h-3.5 w-3.5 text-violet-400"})," Lokaler MCP-Scriptpfad",l.jsx("span",{className:"text-violet-400/70 normal-case font-semibold tracking-normal",children:"(nur Leitung 2)"})]}),l.jsx("input",{value:r,onChange:E=>k(E.target.value),"aria-label":"Lokaler MCP-Scriptpfad",spellCheck:!1,placeholder:"z.B. F:\\Coding Stuff\\mission-control-2\\mcp\\mcp_memory.py",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-violet-500/50 text-foreground"})]})]}),b&&l.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler beim Generieren der Snippets: ",b]}),h&&l.jsxs("div",{className:"grid gap-5 lg:grid-cols-2",children:[l.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-primary/70 bg-card/30 p-4",children:[l.jsxs("div",{children:[l.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[l.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded-md bg-primary/15 text-primary text-[11px]",children:"1"}),"Modell anbinden"]}),l.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:"Wähle dein Tool — das Snippet zeigt auf den Gateway."})]}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:Object.entries(h.tools).map(([E,A])=>l.jsx("button",{onClick:()=>o(E),className:ee("rounded-lg px-3 py-1.5 text-[11px] font-semibold tracking-wide transition-all cursor-pointer",i===E?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"border border-border/50 text-muted-foreground hover:text-foreground"),children:A.label},E))}),S&&l.jsxs(l.Fragment,{children:[S.note&&l.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-primary/5 border border-primary/20 text-[11px] text-muted-foreground leading-relaxed",children:[l.jsx(kw,{className:"h-4 w-4 text-primary shrink-0 mt-0.5"}),l.jsx("span",{children:S.note})]}),l.jsx(rk,{tool:S,fileName:sR[i]||"config.json",accent:"teal",copied:u==="model",onCopy:()=>N("model",S.snippet)})]})]}),l.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-violet-500/70 bg-card/30 p-4",children:[l.jsxs("div",{children:[l.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[l.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded-md bg-violet-500/15 text-violet-300 text-[11px]",children:"2"}),"Gedächtnis anbinden",l.jsx("span",{className:"text-[10px] font-medium text-muted-foreground normal-case",children:"optional"})]}),l.jsxs("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:["Ein MCP-Block — gilt zusätzlich für ",l.jsx("em",{children:"jedes"})," Tool aus Schritt 1."]})]}),l.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-violet-500/5 border border-violet-500/20 text-[11px] text-muted-foreground leading-relaxed",children:[l.jsx(kw,{className:"h-4 w-4 text-violet-400 shrink-0 mt-0.5"}),l.jsx("span",{children:h.memory.note})]}),l.jsx(rk,{tool:h.memory,fileName:"mcp.json",accent:"violet",copied:u==="memory",onCopy:()=>N("memory",h.memory.snippet)})]})]})]})}const lR="modulepreload",uR=function(e){return"/"+e},nk={},cR=function(t,r,n){let i=Promise.resolve();if(r&&r.length>0){let u=function(h){return Promise.all(h.map(m=>Promise.resolve(m).then(g=>({status:"fulfilled",value:g}),g=>({status:"rejected",reason:g}))))};document.getElementsByTagName("link");const c=document.querySelector("meta[property=csp-nonce]"),f=(c==null?void 0:c.nonce)||(c==null?void 0:c.getAttribute("nonce"));i=u(r.map(h=>{if(h=uR(h),h in nk)return;nk[h]=!0;const m=h.endsWith(".css"),g=m?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${g}`))return;const v=document.createElement("link");if(v.rel=m?"stylesheet":lR,m||(v.as="script"),v.crossOrigin="",v.href=h,f&&v.setAttribute("nonce",f),document.head.appendChild(v),m)return new Promise((b,j)=>{v.addEventListener("load",b),v.addEventListener("error",()=>j(new Error(`Unable to preload CSS for ${h}`)))})}))}function o(u){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=u,window.dispatchEvent(c),!c.defaultPrevented)throw u}return i.then(u=>{for(const c of u||[])c.status==="rejected"&&o(c.reason);return t().catch(o)})};class dR extends y.Component{constructor(){super(...arguments);Xo(this,"state",{error:null})}static getDerivedStateFromError(r){return{error:r}}render(){return this.state.error?l.jsxs("div",{className:"h-[480px] rounded-2xl border border-red-500/20 bg-red-500/5 p-6 text-xs text-red-400 overflow-auto",children:[l.jsx("div",{className:"font-semibold mb-2",children:"Graph konnte nicht gerendert werden"}),l.jsx("pre",{className:"whitespace-pre-wrap break-words text-[11px] leading-relaxed",children:this.state.error.message})]}):this.props.children}}const fR=y.lazy(()=>cR(()=>import("./GraphView--jt2Kx1K.js"),[]).then(e=>({default:e.GraphView}))),Pd=["identity","knowledge","rules","events"],ik=new Set(["auto","agent","hermes"]),dg={identity:{label:"Identität",icon:qM,bg:"bg-cyan-500/10",text:"text-cyan-400"},knowledge:{label:"Wissen",icon:Qs,bg:"bg-indigo-500/10",text:"text-indigo-400"},rules:{label:"Regeln",icon:FM,bg:"bg-violet-500/10",text:"text-violet-400"},events:{label:"Ereignisse",icon:BN,bg:"bg-amber-500/10",text:"text-amber-400"}},ak={label:"Gedächtnis",icon:sv,text:"text-muted-foreground"},hR={identity:"border-l-cyan-500/80",knowledge:"border-l-indigo-500/80",rules:"border-l-violet-500/80",events:"border-l-amber-500/80"},ok=`Hi Hermes! Lass uns ein kurzes Onboarding machen, damit du dich künftig an mich erinnerst. Stell mir nacheinander ein paar kurze Fragen zu:
+Trotzdem exklusiv laden?`,()=>oe(Z));return}oe(Z)}async function X(Z){const ae=g.find(me=>me.name===Z);if(ae&&b(ae.role)){u("Geschützt",`„${ct(ae.role).label}" ist lebenswichtig und bleibt geladen.`);return}try{await we(`/api/models/${encodeURIComponent(Z)}/unload`,{method:"POST"}),$()}catch(me){u("Fehler",`Entladen fehlgeschlagen: ${me.message||me}`)}}async function ne(Z,ae){try{const me=await we(`/api/models/${encodeURIComponent(ae)}/role`,{method:"POST",body:JSON.stringify({role:Z||null})});$(),me!=null&&me.warning&&u("Rolle gesetzt — Hinweis",me.warning)}catch(me){u("Fehler",`Rolle zuweisen fehlgeschlagen: ${me.message||me}`)}}async function te(Z,ae){let me=null;try{me=await we(`/api/models/${encodeURIComponent(Z)}/ctx/auto`)}catch{}const re=me?`Optimal für dein Setup: ${(me.ctx/1024).toFixed(0)}k (${me.ctx}). »Auto« trägt diesen Wert ein.`:"Gib die gewünschte Kontextlänge in Tokens an:";f("Kontextlänge anpassen",re,String(ae||32768),async ye=>{if(ye)try{await we(`/api/models/${encodeURIComponent(Z)}/ctx`,{method:"POST",body:JSON.stringify({ctx:parseInt(ye,10)})}),$()}catch(Oe){u("Fehler",`Kontext setzen fehlgeschlagen: ${Oe.message||Oe}`)}},void 0,me?{autoValue:String(me.ctx),autoLabel:`Auto (${(me.ctx/1024).toFixed(0)}k)`}:void 0)}async function I(Z){const ae=g.find(me=>me.name===Z);if(ae&&b(ae.role)){u("Geschützt",`„${ct(ae.role).label}" kann nicht gelöscht werden. Weise die Rolle zuerst einem anderen Modell zu.`);return}c("Modell löschen?",`„${Ua(Z)}" und alle GGUF-Dateien unwiderruflich von der Box löschen?`,async()=>{try{await we(`/api/models/${encodeURIComponent(Z)}`,{method:"DELETE"}),N===Z&&E(null),$()}catch(me){u("Fehler",`Löschen fehlgeschlagen: ${me.message||me}`)}})}return r?l.jsx("div",{className:"py-16 text-center text-xs text-muted-foreground",children:"Werkbank wird geladen …"}):n?l.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Gateway oder Engine nicht erreichbar (",String(n),")."]}):l.jsxs("div",{className:"space-y-5",children:[l.jsx(XD,{running:z,capacityBytes:ve,realUsedBytes:U,selected:N,onSelect:E}),l.jsxs("div",{className:"grid gap-5 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.3fr)]",children:[l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-4 shadow-lg shadow-black/15 backdrop-blur-md",children:[l.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[l.jsxs("div",{className:"relative flex-1",children:[l.jsx(lh,{className:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground/60"}),l.jsx("input",{value:A,onChange:Z=>P(Z.target.value),placeholder:"Modell suchen …",className:"h-8 w-full rounded-lg border border-border/40 bg-background/40 pl-8 pr-2 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-primary/50 focus:outline-none"})]}),l.jsx("div",{className:"flex rounded-lg border border-border/40 bg-background/30 p-0.5",children:["all","in_use"].map(Z=>l.jsx("button",{onClick:()=>O(Z),className:ee("rounded-md px-2 py-1 text-[9px] font-bold uppercase transition-all cursor-pointer",_===Z?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:Z==="all"?"Alle":"In Benutzung"},Z))})]}),l.jsx("div",{className:"max-h-[60vh] space-y-1.5 overflow-y-auto scrollbar-thin pr-1",children:ue.length===0?l.jsx("div",{className:"rounded-xl border border-dashed border-border/50 p-8 text-center text-xs text-muted-foreground",children:"Keine Modelle."}):ue.map(Z=>{const ae=v.includes(Z.name),me=N===Z.name,re=uf(Z.name),ye=cf(Z.role);return l.jsxs("button",{onClick:()=>E(Z.name),className:ee("flex w-full items-center gap-2.5 rounded-xl border p-2.5 text-left transition-all cursor-pointer",me?"border-primary/60 bg-primary/10":"border-border/40 bg-background/20 hover:border-primary/30 hover:bg-background/40"),children:[l.jsx("span",{className:ee("flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border text-[10px] font-bold",re.color),children:re.initial}),l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsx("div",{className:"truncate font-mono text-xs font-semibold text-foreground",children:Ua(Z.name)}),l.jsxs("div",{className:"mt-0.5 flex items-center gap-1.5",children:[Z.role&&l.jsx("span",{className:ee("h-2 w-2 rounded-sm",ye.dot)}),l.jsx("span",{className:"text-[10px] text-muted-foreground",children:Z.role?ct(Z.role).short:"keine Rolle"}),l.jsxs("span",{className:"text-[10px] text-muted-foreground/50",children:["· ",or(Z.size_bytes)]})]})]}),ae?l.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[9px] font-bold uppercase text-emerald-400",children:[l.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"warm"]}):Z.incomplete?l.jsx("span",{className:"shrink-0 text-[9px] font-bold uppercase text-amber-400",children:"⚠ fehlt"}):l.jsx("span",{className:"shrink-0 text-[9px] font-semibold uppercase text-muted-foreground/50",children:"bereit"})]},Z.name)})})]}),l.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-5 shadow-lg shadow-black/15 backdrop-blur-md",children:pe?l.jsx(JD,{m:pe,warm:v.includes(pe.name),expert:m,protectedRole:b(pe.role),coresident:S(pe.name),onLoad:()=>se(pe.name),onUnload:()=>X(pe.name),onRole:Z=>ne(Z,pe.name),onCtx:()=>te(pe.name,pe.ctx),onSpec:()=>B(pe),onDelete:()=>I(pe.name)}):l.jsxs("div",{className:"flex h-full min-h-[16rem] flex-col items-center justify-center gap-2 text-center text-muted-foreground",children:[l.jsx(pi,{className:"h-8 w-8 opacity-40"}),l.jsx("p",{className:"text-sm font-semibold",children:"Links ein Modell wählen"}),l.jsx("p",{className:"text-xs",children:"Dann verwaltest du es hier — laden, Rolle, Kontext, löschen."})]})})]}),T&&l.jsx(K5,{model:T,onClose:()=>B(null),onChanged:$}),h]})}function JD({m:e,warm:t,expert:r,protectedRole:n,coresident:i,onLoad:o,onUnload:u,onRole:c,onCtx:f,onSpec:h,onDelete:m}){const g=uf(e.name),v=t&&n;return l.jsxs("div",{className:"flex h-full flex-col gap-4",children:[l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("span",{className:ee("flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border text-sm font-bold",g.color),children:g.initial}),l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsx("h2",{className:"break-all font-mono text-sm font-bold text-foreground",children:Ua(e.name)}),l.jsxs("div",{className:"mt-1.5 flex flex-wrap items-center gap-1.5",children:[e.role?l.jsx(so,{role:e.role}):l.jsx("span",{className:"rounded border border-dashed border-border/50 px-1.5 py-0.5 text-[10px] text-muted-foreground",children:"keine Rolle"}),n&&l.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 text-[10px] text-muted-foreground",title:"Lebenswichtig — geschützt",children:[l.jsx(WN,{className:"mr-0.5 inline h-3 w-3"}),"geschützt"]}),i&&l.jsxs("span",{className:"rounded border border-fuchsia-500/30 bg-fuchsia-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase text-fuchsia-300",children:[l.jsx(xa,{className:"mr-0.5 inline h-3 w-3"}),"Ko-resident"]}),t&&l.jsxs("span",{className:"flex items-center gap-1 text-[10px] font-bold uppercase text-emerald-400",children:[l.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"warm"]})]})]})]}),l.jsxs("button",{onClick:t?u:o,disabled:e.incomplete&&!t||v,className:ee("flex h-11 w-full items-center justify-center gap-2 rounded-xl border text-sm font-bold transition-all cursor-pointer disabled:cursor-not-allowed disabled:opacity-50",t?"border-amber-500/40 bg-amber-500/10 text-amber-300 hover:bg-amber-500/20":"border-primary/40 bg-primary/10 text-primary hover:bg-primary/20"),title:v?`„${ct(e.role).label}" bleibt geladen (geschützt).`:void 0,children:[t?l.jsx(LM,{className:"h-4 w-4"}):l.jsx(GN,{className:"h-4 w-4"}),v?"🔒 bleibt geladen":t?"Entladen":"Ins Warm-Set laden"]}),l.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[l.jsx("div",{className:"mb-2 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Rolle"}),l.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[l.jsx(Jw,{active:!e.role,onClick:()=>c(""),dot:"bg-slate-400",label:"keine"}),T0.map(b=>l.jsx(Jw,{active:e.role===b.role,onClick:()=>c(b.role),dot:cf(b.role).dot,label:b.short},b.role))]})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[l.jsx(eR,{icon:fa,label:"Größe",value:or(e.size_bytes)}),l.jsxs("button",{onClick:f,className:"group flex items-center gap-2 rounded-lg border border-border/30 bg-background/20 p-2.5 text-left transition-colors hover:border-primary/40 cursor-pointer",children:[l.jsx(KN,{className:"h-4 w-4 text-primary/80"}),l.jsxs("div",{className:"min-w-0",children:[l.jsx("div",{className:"text-[9px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:"Kontext · ändern"}),l.jsx("div",{className:"font-semibold text-foreground",children:xv(e.ctx)})]})]})]}),l.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[l.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Beschleuniger"}),r&&l.jsxs("button",{onClick:h,className:ee("flex h-6 items-center gap-1 rounded-lg border px-2 text-[9px] font-bold uppercase transition-colors cursor-pointer",e.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":e.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),children:[l.jsx(ga,{className:"h-3 w-3"})," Spec"]})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[e.spec_active&&l.jsx(Ad,{tone:"emerald",label:"Spec-Decoding aktiv"}),!e.spec_active&&e.spec_draft_model&&l.jsx(Ad,{tone:"amber",label:"Spec inaktiv"}),e.prompt_cache&&l.jsx(Ad,{tone:"cyan",label:"Prompt-Cache"}),e.parallel_slots>1&&l.jsx(Ad,{tone:"violet",label:`${e.parallel_slots} Slots`}),!e.spec_active&&!e.spec_draft_model&&!e.prompt_cache&&e.parallel_slots<=1&&l.jsx("span",{className:"text-[11px] text-muted-foreground/60",children:"keine aktiv"})]})]}),l.jsx("div",{className:"flex flex-wrap gap-1",children:l.jsx(bv,{caps:e.capabilities})}),l.jsxs("button",{onClick:m,disabled:n,className:ee("mt-auto flex h-9 items-center justify-center gap-1.5 rounded-lg border text-xs font-semibold transition-colors",n?"cursor-not-allowed border-border/30 text-muted-foreground/40":"border-red-500/30 text-red-400 hover:bg-red-500/10 cursor-pointer"),children:[l.jsx(of,{className:"h-3.5 w-3.5"})," ",n?"geschützt — nicht löschbar":"Modell löschen"]})]})}function Jw({active:e,onClick:t,dot:r,label:n}){return l.jsxs("button",{onClick:t,className:ee("flex items-center gap-1.5 rounded-lg border px-2 py-1 text-[10px] font-semibold transition-all cursor-pointer",e?"border-primary/60 bg-primary/15 text-foreground":"border-border/40 bg-background/20 text-muted-foreground hover:border-primary/30"),children:[l.jsx("span",{className:ee("h-2 w-2 rounded-sm",r)}),n,e&&l.jsx(qt,{className:"h-3 w-3 text-primary"})]})}function eR({icon:e,label:t,value:r}){return l.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-border/30 bg-background/20 p-2.5",children:[l.jsx(e,{className:"h-4 w-4 text-primary/80"}),l.jsxs("div",{className:"min-w-0",children:[l.jsx("div",{className:"text-[9px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:t}),l.jsx("div",{className:"font-semibold text-foreground",children:r})]})]})}function Ad({tone:e,label:t}){const r={emerald:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20",amber:"bg-amber-500/10 text-amber-400 border-amber-500/20",cyan:"bg-cyan-500/10 text-cyan-400 border-cyan-500/20",violet:"bg-violet-500/10 text-violet-400 border-violet-500/20"}[e];return l.jsx("span",{className:ee("rounded border px-1.5 py-0.5 text-[10px] font-semibold",r),children:t})}const tR=[{key:"popular",label:"Beliebt",q:""},{key:"coder",label:"Coder",q:"coder"},{key:"vision",label:"Vision",q:"vision"},{key:"reasoning",label:"Reasoning",q:"reasoning"},{key:"small",label:"Klein (≤4B)",q:"3B"}],rR=["fast","heavy","coder","vision","hermes","scout"],nR=new Intl.NumberFormat(void 0,{notation:"compact",maximumFractionDigits:1});function ek(e){return nR.format(e)}function iR(){const{data:e}=wi(),t=(e==null?void 0:e.models)??[],[r,n]=y.useState(""),[i,o]=y.useState([]),[u,c]=y.useState(!1),[f,h]=y.useState(""),[m,g]=y.useState("popular"),[v,b]=y.useState(""),[j,k]=y.useState(null),[S,N]=y.useState([]),[E,A]=y.useState("Q4_K_M"),[P,_]=y.useState(""),[O,T]=y.useState(null),[B,$]=y.useState(!1),[z,Q]=y.useState({});async function U(M){c(!0),h("");try{const H=await we(`/api/hf/search?q=${encodeURIComponent(M)}`);o(H.results),H.results.length||h("Keine Ergebnisse.")}catch(H){h(`Suche fehlgeschlagen: ${H}`)}finally{c(!1)}}y.useEffect(()=>{U("")},[]);function ve(M){g(M.key),n(""),U(M.q)}function ue(){g(""),U(r)}async function pe(M,H,ie){$(!1);try{const J=await we(`/api/fit?params_b=0&quant=${encodeURIComponent(H)}&ctx=8192&name=${encodeURIComponent(M)}&role=${encodeURIComponent(ie)}`);T(J)}catch{T(null)}}async function oe(M){if(j===M){k(null);return}k(M),N([]),T(null),_(""),$(!1),h("Analysiere Repository…");try{const H=await we(`/api/hf/quants?repo=${encodeURIComponent(M)}`);N(H.quants);const ie=H.quants.includes("Q4_K_M")?"Q4_K_M":H.quants[0]||"Q4_K_M";A(ie),h(H.quants.length?"":"Keine GGUF-Dateien in diesem Repo gefunden."),H.quants.length&&pe(H.repo,ie,"")}catch(H){h(`Fehler: ${H}`)}}function se(){const M=v.trim();M&&(o(H=>H.some(ie=>ie.repo===M)?H:[{repo:M,downloads:0,likes:0},...H]),b(""),oe(M))}const X=P?t.find(M=>(M.role||"").toLowerCase()===P):void 0;async function ne(M){if((O==null?void 0:O.fit.level)==="too_tight"&&!B){$(!0);return}Q(H=>({...H,[M]:"Starte…"}));try{await we("/api/models/install",{method:"POST",body:JSON.stringify({repo:M,quant:E,role:P||void 0,jinja:!0})}),Q(H=>({...H,[M]:"Download läuft"})),$(!1)}catch{Q(ie=>({...ie,[M]:"Fehler"}))}}const te=M=>{var ie;const H=((ie=M.split("/").pop())==null?void 0:ie.toLowerCase().replace(/-gguf$/i,""))||"";return H.length>3&&t.some(J=>J.name.toLowerCase().includes(H))},I=M=>M==="perfect"?"text-emerald-400 border-emerald-500/40 bg-emerald-500/10":M==="marginal"?"text-amber-400 border-amber-500/40 bg-amber-500/10":"text-red-400 border-red-500/40 bg-red-500/10";return l.jsxs("div",{className:"space-y-5",children:[l.jsxs("div",{className:"flex gap-2",children:[l.jsxs("div",{className:"relative flex-1",children:[l.jsx(lh,{className:"absolute left-3 top-2.5 h-4 w-4 text-muted-foreground"}),l.jsx("input",{value:r,onChange:M=>n(M.target.value),onKeyDown:M=>M.key==="Enter"&&ue(),"aria-label":"HuggingFace durchsuchen",type:"search",spellCheck:!1,placeholder:"HuggingFace durchsuchen (z.B. Qwen Coder, Llama-3.1, gemma)…",className:"w-full h-10 pl-9 pr-3 rounded-xl border border-border/60 bg-background/40 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]}),l.jsx("button",{onClick:ue,className:"h-10 px-5 rounded-xl bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all cursor-pointer",children:"Suchen"})]}),l.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:tR.map(M=>l.jsxs("button",{onClick:()=>ve(M),className:ee("flex items-center gap-1.5 rounded-full px-3 py-1.5 text-[11px] font-semibold transition-all cursor-pointer border",m===M.key?"bg-primary/15 text-primary border-primary/30":"border-border/50 text-muted-foreground hover:text-foreground hover:border-border"),children:[M.key==="popular"&&l.jsx(wM,{className:"h-3 w-3"}),M.label]},M.key))}),u?l.jsx("div",{className:"text-xs text-muted-foreground py-10 text-center",children:"Lade GGUF-Modelle von HuggingFace…"}):l.jsxs("div",{className:"space-y-2",children:[i.map(M=>{const H=j===M.repo,ie=te(M.repo),J=M.repo.includes("/")?M.repo.split("/")[0]:"—",Z=M.repo.split("/").pop();return l.jsxs("div",{className:ee("rounded-xl border bg-card/45 backdrop-blur-md transition-all",H?"border-primary/40 shadow-lg shadow-primary/5":"border-border/50 hover:border-primary/30"),children:[l.jsxs("button",{onClick:()=>oe(M.repo),className:"w-full flex items-center gap-3 p-3.5 text-left cursor-pointer",children:[l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[l.jsx("span",{className:"text-xs font-bold font-mono text-foreground truncate max-w-[280px]",title:M.repo,children:Z}),ie&&l.jsxs("span",{className:"flex items-center gap-1 text-[8px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-1.5 py-0.5 rounded",children:[l.jsx(qt,{className:"h-2.5 w-2.5"})," installiert"]})]}),l.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-3 mt-0.5 font-mono",children:[l.jsx("span",{children:J}),l.jsxs("span",{className:"flex items-center gap-1",children:[l.jsx(Ds,{className:"h-3 w-3"})," ",ek(M.downloads)]}),M.likes>0&&l.jsxs("span",{className:"flex items-center gap-1",children:[l.jsx(EM,{className:"h-3 w-3"})," ",ek(M.likes)]})]})]}),H?l.jsx(zN,{className:"h-4 w-4 text-muted-foreground shrink-0"}):l.jsx($N,{className:"h-4 w-4 text-muted-foreground shrink-0"})]}),H&&l.jsx("div",{className:"border-t border-border/30 p-3.5 space-y-3",children:S.length===0?l.jsx("div",{className:"text-[11px] text-muted-foreground font-mono",children:f||"Lade Quants…"}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Quant"}),l.jsx("select",{value:E,onChange:ae=>{A(ae.target.value),pe(M.repo,ae.target.value,P)},"aria-label":"Quantisierung",className:"h-8 rounded-lg border border-border/60 bg-background/40 px-2 text-xs text-foreground font-semibold outline-none",children:S.map(ae=>l.jsx("option",{value:ae,className:"bg-popover text-foreground",children:ae},ae))}),l.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground ml-1",children:"Rolle"}),l.jsxs("select",{value:P,onChange:ae=>{_(ae.target.value),pe(M.repo,E,ae.target.value)},"aria-label":"Rolle",title:"Optional — bestimmt Auto-Konfiguration + setup-bewussten Kontext",className:"h-8 rounded-lg border border-border/60 bg-background/40 px-2 text-xs text-foreground font-semibold outline-none",children:[l.jsx("option",{value:"",className:"bg-popover text-foreground",children:"keine"}),rR.map(ae=>l.jsx("option",{value:ae,className:"bg-popover text-foreground",children:ae},ae))]}),l.jsx("button",{onClick:()=>ne(M.repo),disabled:!!z[M.repo]&&z[M.repo]==="Download läuft",className:ee("h-8 px-3.5 ml-auto rounded-lg text-xs font-semibold transition-all cursor-pointer flex items-center gap-1.5",B?"bg-red-500 text-white hover:opacity-90":"bg-primary text-primary-foreground hover:opacity-90"),children:z[M.repo]?z[M.repo]:B?l.jsxs(l.Fragment,{children:[l.jsx(Er,{className:"h-3.5 w-3.5"})," OOM — trotzdem laden"]}):l.jsxs(l.Fragment,{children:[l.jsx(Ds,{className:"h-3.5 w-3.5"})," Herunterladen"]})})]}),O&&l.jsxs("div",{className:ee("flex flex-wrap items-center gap-x-3 gap-y-1 rounded-lg border px-3 py-2 text-[11px] font-medium",I(O.fit.level)),children:[l.jsx("span",{className:"font-bold uppercase tracking-wide",children:O.fit.text}),l.jsxs("span",{className:"font-mono opacity-90",children:["~",O.params_b,"B · ~",O.fit.req_gb," GB / ",O.sys_ram_gb," GB · ~",O.fit.tps," t/s"]}),O.fit.level!=="too_tight"?l.jsxs("span",{className:"font-mono opacity-80",children:["ctx → ",(O.assigned_ctx/1024).toFixed(0),"k"]}):l.jsx("span",{className:"opacity-90",children:"— passt nicht, würde beim Laden abstürzen (OOM)."})]}),X&&l.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-400",children:[l.jsx(Er,{className:"h-3.5 w-3.5 mt-0.5 shrink-0"}),l.jsxs("span",{children:["Rolle ",l.jsxs("strong",{children:["„",P,'"']})," hält aktuell ",l.jsx("strong",{children:X.name.split("/").pop()})," — wird beim Download übernommen."]})]})]})})]},M.repo)}),!i.length&&!u&&l.jsx("div",{className:"text-xs text-muted-foreground py-10 text-center",children:f||"Keine Ergebnisse."})]}),l.jsxs("div",{className:"border-t border-border/30 pt-4 flex flex-col sm:flex-row gap-2 items-stretch sm:items-center",children:[l.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground shrink-0",children:"Direkt:"}),l.jsx("input",{value:v,onChange:M=>b(M.target.value),onKeyDown:M=>M.key==="Enter"&&se(),"aria-label":"Repository oder URL direkt eingeben",spellCheck:!1,placeholder:"org/repo oder HF-URL (z.B. unsloth/Qwen2.5-Coder-7B-Instruct-GGUF)",className:"flex-1 h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground font-mono"}),l.jsx("button",{onClick:se,className:"h-9 px-4 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold hover:border-primary/50 hover:bg-background/40 transition-all cursor-pointer whitespace-nowrap",children:"Laden"})]})]})}const aR={fast:{title:"Schnelles Alltags-Hirn",desc:"Schnelle MoE-Antworten für Chat, Zusammenfassungen und alltägliche Aufgaben.",icon:ga},heavy:{title:"Schweres Reasoning",desc:"Große Modelle für komplexe Logik, Mathematik und tiefgründiges Planen.",icon:xa},coder:{title:"Coden & Entwicklung",desc:"Autovervollständigung, Refactoring und Codegenerierung direkt in deiner IDE.",icon:Ts},vision:{title:"Bilder & Vision",desc:"Verarbeitet Bilder, Screenshots und visuelle Diagramme in multimodalen Chats.",icon:yu},hermes:{title:"Lucys Hirn (Agent)",desc:"Lucys dauer-warmes Agent-Hirn mit Tool-Calling — bleibt ko-resident, lädt nie kalt nach.",icon:uM},scout:{title:"Multimodal-Allrounder",desc:"Multimodaler Allrounder für schnelle Antworten, Übersetzungen und Alltag.",icon:lv}};function oR(){const{data:e,isLoading:t,error:r}=UD(),{data:n}=wi(),{data:i}=gh(),o=(n==null?void 0:n.models)??[],u=r?String(r):"",[c,f]=y.useState({}),[h,m]=y.useState({}),[g,v]=y.useState("recommended");async function b(j,k,S,N){f(E=>({...E,[j]:"Starte..."}));try{await we("/api/models/install",{method:"POST",body:JSON.stringify({repo:j,role:k,quant:S,jinja:N})}),f(E=>({...E,[j]:"Download läuft"}))}catch{f(A=>({...A,[j]:"Fehler"}))}}return l.jsxs("div",{className:"space-y-6",children:[l.jsx("div",{className:"flex rounded-xl border border-border/60 bg-card/45 backdrop-blur-md p-1 w-fit",children:[["recommended","Empfohlen"],["browse","Stöbern & Suchen"]].map(([j,k])=>l.jsx("button",{onClick:()=>v(j),className:ee("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide transition-all cursor-pointer",g===j?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:k},j))}),g==="browse"?l.jsx(iR,{}):t?l.jsx("div",{className:"text-xs text-muted-foreground py-12 text-center",children:"Analysiere Hardware und suche passende GGUF-Empfehlungen…"}):u||!e?l.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Empfehlungsdienst temporär nicht erreichbar (",u,")."]}):l.jsxs("div",{className:"space-y-8",children:[l.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground bg-background/25 border border-border/40 p-4 rounded-xl flex flex-col sm:flex-row sm:items-center justify-between gap-3 shadow-sm",children:[l.jsxs("div",{children:["Modell-Registry geladen für ",l.jsxs("span",{className:"text-foreground font-bold",children:[e.sys_ram_gb," GB"]})," System-RAM."]}),l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx(VM,{className:"h-3.5 w-3.5 text-primary fill-primary/20"}),l.jsx("span",{children:"Empfehlungen sind automatisch auf deine Box-Hardware optimiert."})]})]}),l.jsx("div",{className:"grid gap-6 md:grid-cols-2",children:e.categories.map(j=>{const k=aR[j.role]||{title:j.title||j.role,desc:"Spezifisches Modell für diese Systemrolle.",icon:HN},S=k.icon,N=o.find(T=>T.role===j.role||(T.aliases||[]).includes(j.role)),E=i==null?void 0:i.model_list.find(T=>T.role===j.role),A=j.models.find(T=>T.repo===j.recommended)||j.models[0];if(!A)return null;const P=c[A.repo],_=j.models.filter(T=>T.repo!==j.recommended),O=!!h[j.role];return l.jsxs("div",{className:ee("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-5 transition-all duration-300 hover:border-primary/40",N?"border-border/60":"border-primary/20 shadow-primary/5"),children:[l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/10 border border-primary/20 flex items-center justify-center text-primary shadow-sm shrink-0",children:l.jsx(S,{className:"h-5.5 w-5.5"})}),l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-bold tracking-tight text-foreground",children:k.title}),l.jsxs("span",{className:"text-[9px] font-mono text-muted-foreground uppercase bg-background/50 px-1.5 py-0.5 rounded border border-border/30 inline-block mt-0.5",children:["Rolle: ",j.role]})]})]}),N?l.jsxs("span",{className:"flex items-center gap-1.5 text-[9px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-2.5 py-1 rounded-lg",children:[l.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"Aktiviert"]}):l.jsx("span",{className:"text-[9px] font-bold text-primary/70 uppercase tracking-wider bg-primary/10 border border-primary/20 px-2.5 py-1 rounded-lg",children:"Frei"})]}),l.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:k.desc}),l.jsx("div",{className:"p-3.5 rounded-xl bg-background/35 border border-border/30 space-y-2.5",children:N?l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Aktive GGUF-Belegung"}),l.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:N.name,children:N.name.split("/").pop()}),l.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2",children:[l.jsxs("span",{children:["Größe: ",yv(N.size_bytes||0)]}),l.jsx("span",{children:"•"}),l.jsxs("span",{children:["Quant: ",N.quant||"GGUF"]})]})]}):l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-primary/80",children:"Empfohlenes Modell"}),l.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:A.name,children:A.name}),l.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 flex-wrap",children:[l.jsxs("span",{children:["Ersteller: ",A.author]}),l.jsx("span",{children:"•"}),l.jsxs("span",{children:["Quant: ",A.quant]})]}),l.jsx("div",{className:"flex items-center gap-1.5 pt-0.5",children:l.jsx(QD,{fit:A.fit})})]})}),l.jsx("div",{className:"pt-1",children:N?E?l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1.5",children:[l.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),l.jsxs("span",{children:["Bessere Version in der Registry: ",E.repo.split("/").pop()]})]}),l.jsxs("button",{onClick:()=>b(E.repo,j.role,A.quant||"Q4_K_M",A.caps.tools!=="no"),disabled:!!c[E.repo],className:"h-8 w-full flex items-center justify-center gap-1.5 rounded-lg bg-amber-500 text-black text-xs font-bold hover:bg-amber-400 disabled:opacity-50 transition-all cursor-pointer shadow-md shadow-amber-500/10",children:[l.jsx(Ds,{className:"h-3.5 w-3.5"}),c[E.repo]||"Auf neue Version aktualisieren"]})]}):l.jsxs("div",{className:"h-8 flex items-center justify-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/10 rounded-lg select-none",children:[l.jsx(qt,{className:"h-4 w-4"})," Auf neuestem Stand"]}):l.jsxs("button",{onClick:()=>b(A.repo,j.role,A.quant||"Q4_K_M",A.caps.tools!=="no"),disabled:!!P,className:ee("h-8 w-full flex items-center justify-center gap-1.5 rounded-lg text-xs font-bold transition-all cursor-pointer border",P?"border-primary/40 bg-primary/5 text-primary":"bg-primary text-primary-foreground hover:opacity-90 shadow-md shadow-primary/10"),children:[l.jsx(Ds,{className:"h-3.5 w-3.5"}),P||"Optimales Modell einsetzen"]})})]}),_.length>0&&l.jsxs("div",{className:"border-t border-border/20 pt-3",children:[l.jsxs("button",{onClick:()=>m(T=>({...T,[j.role]:!O})),className:"flex items-center gap-1.5 text-[10px] text-muted-foreground/80 hover:text-foreground transition-colors cursor-pointer",children:[O?l.jsx(zN,{className:"h-3 w-3"}):l.jsx($N,{className:"h-3 w-3"}),l.jsxs("span",{children:["Alternative Empfehlungen anzeigen (",_.length,")"]})]}),O&&l.jsx("div",{className:"mt-2.5 space-y-2 max-h-36 overflow-y-auto pr-1 scrollbar-thin",children:_.map(T=>l.jsxs("div",{className:"p-2 rounded-lg bg-background/25 border border-border/20 flex items-center justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("div",{className:"text-[10px] font-mono font-bold text-foreground truncate",title:T.name,children:T.name}),l.jsxs("div",{className:"text-[9px] text-muted-foreground flex items-center gap-1.5 mt-0.5",children:[l.jsxs("span",{children:["Quant: ",T.quant]}),l.jsx("span",{children:"•"}),l.jsx("span",{children:T.fit.text})]})]}),l.jsx("button",{onClick:()=>b(T.repo,j.role,T.quant||"Q4_K_M",T.caps.tools!=="no"),disabled:!!c[T.repo],className:"h-6 px-2.5 rounded bg-background/40 hover:bg-background/80 border border-border/40 text-[9px] font-bold text-foreground transition-all cursor-pointer shrink-0 disabled:opacity-50",children:c[T.repo]||"Installieren"})]},T.repo))})]})]},j.role)})})]})]})}function sR(){const[e,t]=y.useState("cockpit");return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Modell-Manager"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Verwalte deine Modelle und passe das Gateway-Routing live über das interaktive Cockpit an."})]}),l.jsx("div",{className:"flex rounded-xl border border-border/60 bg-card/45 backdrop-blur-md p-1 self-start",children:["cockpit","discover"].map(r=>l.jsx("button",{onClick:()=>t(r),className:ee("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",e===r?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:r==="cockpit"?"Werkbank":"Modelle finden"},r))})]}),l.jsx(GD,{}),l.jsx("div",{className:"transition-all duration-300",children:e==="cockpit"?l.jsx(ZD,{}):l.jsx(oR,{})})]})}const lR={zed:"Zed: settings.json",kilo:"Kilo: Einstellungen → API Provider",claude_code:"env / Übersetzer"};function tk({line:e,loading:t}){return t||!e?l.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-muted-foreground",children:[l.jsx(Vs,{className:"h-3 w-3 animate-spin"})," prüfe…"]}):e.ok?l.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-emerald-400",children:[l.jsx(FN,{className:"h-3 w-3"})," ",e.detail]}):l.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-red-400",children:[l.jsx(pM,{className:"h-3 w-3"})," ",e.detail]})}function rk({tool:e,fileName:t,accent:r,copied:n,onCopy:i}){return l.jsxs("div",{className:"flex flex-col border border-border/60 bg-black/60 rounded-2xl overflow-hidden shadow-2xl",children:[l.jsxs("div",{className:"flex h-11 items-center justify-between px-4 border-b border-border/40 bg-black/40 shrink-0",children:[l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx("span",{className:"h-3 w-3 rounded-full bg-red-500/80"}),l.jsx("span",{className:"h-3 w-3 rounded-full bg-amber-500/80"}),l.jsx("span",{className:"h-3 w-3 rounded-full bg-emerald-500/80"})]}),l.jsx("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground/75 bg-background/30 px-3 py-1 rounded-md border border-border/20",children:l.jsx("span",{children:t})}),l.jsxs("button",{onClick:i,className:"flex h-7 px-2.5 items-center gap-1.5 rounded-lg border border-border/40 bg-background/30 text-[10px] font-semibold text-muted-foreground hover:text-foreground hover:bg-background/60 transition-all cursor-pointer",children:[n?l.jsx(qt,{className:"h-3.5 w-3.5 text-emerald-400"}):l.jsx(uv,{className:"h-3.5 w-3.5"}),l.jsx("span",{children:n?"Kopiert":"Kopieren"})]})]}),l.jsx("pre",{className:ee("p-5 overflow-x-auto text-xs font-mono whitespace-pre leading-relaxed scrollbar-thin select-text bg-black/10",r==="teal"?"text-cyan-200/90":"text-violet-200/90"),children:l.jsx("code",{children:e.snippet})})]})}function G5(){const[e,t]=y.useState(localStorage.getItem("mc_host")||"192.168.178.151"),[r,n]=y.useState(localStorage.getItem("mc_mcp_path")||""),[i,o]=y.useState("zed"),[u,c]=y.useState(null),f=new URLSearchParams({host:e});r&&f.set("mcp_path",r);const{data:h,error:m}=WD(f.toString()),{data:g,isLoading:v}=H5(),b=m?String(m):"";function j(E){t(E),E&&localStorage.setItem("mc_host",E)}function k(E){n(E),localStorage.setItem("mc_mcp_path",E)}const S=h==null?void 0:h.tools[i];async function N(E,A){A&&(await navigator.clipboard.writeText(A),c(E),setTimeout(()=>c(null),1500))}return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Verbindung & Integration"}),l.jsxs("p",{className:"text-sm text-muted-foreground",children:["Binde deinen lokalen Agenten an die Box an — über ",l.jsx("span",{className:"text-foreground",children:"zwei getrennte Leitungen"}),": das Modell (Gateway) und das geteilte Gedächtnis (MCP)."]})]}),l.jsxs("div",{className:"p-5 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md shadow-lg shadow-black/10",children:[l.jsxs("div",{className:"grid gap-4 md:grid-cols-[170px_1fr] items-center",children:[l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-background/40 p-4 text-center",children:[l.jsx(CM,{className:"h-7 w-7 mx-auto text-muted-foreground"}),l.jsx("div",{className:"mt-2 text-sm font-semibold text-foreground",children:"Dein lokaler Agent"}),l.jsx("div",{className:"text-[11px] text-muted-foreground",children:"Cline · Cursor · Zed …"})]}),l.jsxs("div",{className:"flex flex-col gap-2.5",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(rf,{className:"h-4 w-4 text-muted-foreground shrink-0"}),l.jsxs("div",{className:"flex-1 rounded-xl border border-primary/25 bg-primary/5 px-3.5 py-2.5",children:[l.jsxs("div",{className:"flex items-center justify-between gap-2",children:[l.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-primary",children:[l.jsx(pi,{className:"h-3.5 w-3.5"})," Leitung 1 — Modell"]}),l.jsx(tk,{line:g==null?void 0:g.gateway,loading:v})]}),l.jsx("div",{className:"mt-1 text-[11px] font-mono text-primary/80",children:"Gateway · :9001/v1 · Lanes chat / coding"})]})]}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(rf,{className:"h-4 w-4 text-muted-foreground shrink-0"}),l.jsxs("div",{className:"flex-1 rounded-xl border border-violet-500/25 bg-violet-500/5 px-3.5 py-2.5",children:[l.jsxs("div",{className:"flex items-center justify-between gap-2",children:[l.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-violet-300",children:[l.jsx(xa,{className:"h-3.5 w-3.5"})," Leitung 2 — Gedächtnis"]}),l.jsx(tk,{line:g==null?void 0:g.memory,loading:v})]}),l.jsx("div",{className:"mt-1 text-[11px] font-mono text-violet-300/80",children:"MCP · mcp_memory.py · separat"})]})]})]})]}),l.jsxs("p",{className:"mt-3.5 text-[11px] text-muted-foreground leading-relaxed",children:["Der Gateway liefert ",l.jsx("span",{className:"text-foreground",children:"nur das LLM"}),". Das geteilte Gedächtnis läuft über einen",l.jsx("span",{className:"text-foreground",children:" eigenen MCP-Server"})," — beide werden unabhängig eingerichtet."]})]}),l.jsxs("div",{className:"grid gap-4 md:grid-cols-2 p-5 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md shadow-lg shadow-black/10",children:[l.jsxs("div",{className:"space-y-1.5",children:[l.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[l.jsx(NM,{className:"h-3.5 w-3.5 text-primary"})," Box LAN IP-Adresse"]}),l.jsx("input",{value:e,onChange:E=>j(E.target.value),"aria-label":"Box LAN IP-Adresse",spellCheck:!1,placeholder:"z.B. 192.168.178.151",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[l.jsx(kM,{className:"h-3.5 w-3.5 text-violet-400"})," Lokaler MCP-Scriptpfad",l.jsx("span",{className:"text-violet-400/70 normal-case font-semibold tracking-normal",children:"(nur Leitung 2)"})]}),l.jsx("input",{value:r,onChange:E=>k(E.target.value),"aria-label":"Lokaler MCP-Scriptpfad",spellCheck:!1,placeholder:"z.B. F:\\Coding Stuff\\mission-control-2\\mcp\\mcp_memory.py",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-violet-500/50 text-foreground"})]})]}),b&&l.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler beim Generieren der Snippets: ",b]}),h&&l.jsxs("div",{className:"grid gap-5 lg:grid-cols-2",children:[l.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-primary/70 bg-card/30 p-4",children:[l.jsxs("div",{children:[l.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[l.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded-md bg-primary/15 text-primary text-[11px]",children:"1"}),"Modell anbinden"]}),l.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:"Wähle dein Tool — das Snippet zeigt auf den Gateway."})]}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:Object.entries(h.tools).map(([E,A])=>l.jsx("button",{onClick:()=>o(E),className:ee("rounded-lg px-3 py-1.5 text-[11px] font-semibold tracking-wide transition-all cursor-pointer",i===E?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"border border-border/50 text-muted-foreground hover:text-foreground"),children:A.label},E))}),S&&l.jsxs(l.Fragment,{children:[S.note&&l.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-primary/5 border border-primary/20 text-[11px] text-muted-foreground leading-relaxed",children:[l.jsx(kw,{className:"h-4 w-4 text-primary shrink-0 mt-0.5"}),l.jsx("span",{children:S.note})]}),l.jsx(rk,{tool:S,fileName:lR[i]||"config.json",accent:"teal",copied:u==="model",onCopy:()=>N("model",S.snippet)})]})]}),l.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-violet-500/70 bg-card/30 p-4",children:[l.jsxs("div",{children:[l.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[l.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded-md bg-violet-500/15 text-violet-300 text-[11px]",children:"2"}),"Gedächtnis anbinden",l.jsx("span",{className:"text-[10px] font-medium text-muted-foreground normal-case",children:"optional"})]}),l.jsxs("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:["Ein MCP-Block — gilt zusätzlich für ",l.jsx("em",{children:"jedes"})," Tool aus Schritt 1."]})]}),l.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-violet-500/5 border border-violet-500/20 text-[11px] text-muted-foreground leading-relaxed",children:[l.jsx(kw,{className:"h-4 w-4 text-violet-400 shrink-0 mt-0.5"}),l.jsx("span",{children:h.memory.note})]}),l.jsx(rk,{tool:h.memory,fileName:"mcp.json",accent:"violet",copied:u==="memory",onCopy:()=>N("memory",h.memory.snippet)})]})]})]})}const uR="modulepreload",cR=function(e){return"/"+e},nk={},dR=function(t,r,n){let i=Promise.resolve();if(r&&r.length>0){let u=function(h){return Promise.all(h.map(m=>Promise.resolve(m).then(g=>({status:"fulfilled",value:g}),g=>({status:"rejected",reason:g}))))};document.getElementsByTagName("link");const c=document.querySelector("meta[property=csp-nonce]"),f=(c==null?void 0:c.nonce)||(c==null?void 0:c.getAttribute("nonce"));i=u(r.map(h=>{if(h=cR(h),h in nk)return;nk[h]=!0;const m=h.endsWith(".css"),g=m?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${g}`))return;const v=document.createElement("link");if(v.rel=m?"stylesheet":uR,m||(v.as="script"),v.crossOrigin="",v.href=h,f&&v.setAttribute("nonce",f),document.head.appendChild(v),m)return new Promise((b,j)=>{v.addEventListener("load",b),v.addEventListener("error",()=>j(new Error(`Unable to preload CSS for ${h}`)))})}))}function o(u){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=u,window.dispatchEvent(c),!c.defaultPrevented)throw u}return i.then(u=>{for(const c of u||[])c.status==="rejected"&&o(c.reason);return t().catch(o)})};class fR extends y.Component{constructor(){super(...arguments);Xo(this,"state",{error:null})}static getDerivedStateFromError(r){return{error:r}}render(){return this.state.error?l.jsxs("div",{className:"h-[480px] rounded-2xl border border-red-500/20 bg-red-500/5 p-6 text-xs text-red-400 overflow-auto",children:[l.jsx("div",{className:"font-semibold mb-2",children:"Graph konnte nicht gerendert werden"}),l.jsx("pre",{className:"whitespace-pre-wrap break-words text-[11px] leading-relaxed",children:this.state.error.message})]}):this.props.children}}const hR=y.lazy(()=>dR(()=>import("./GraphView-yMisqyGY.js"),[]).then(e=>({default:e.GraphView}))),Cd=["identity","knowledge","rules","events"],ik=new Set(["auto","agent","hermes"]),dg={identity:{label:"Identität",icon:QM,bg:"bg-cyan-500/10",text:"text-cyan-400"},knowledge:{label:"Wissen",icon:qs,bg:"bg-indigo-500/10",text:"text-indigo-400"},rules:{label:"Regeln",icon:BM,bg:"bg-violet-500/10",text:"text-violet-400"},events:{label:"Ereignisse",icon:BN,bg:"bg-amber-500/10",text:"text-amber-400"}},ak={label:"Gedächtnis",icon:sv,text:"text-muted-foreground"},mR={identity:"border-l-cyan-500/80",knowledge:"border-l-indigo-500/80",rules:"border-l-violet-500/80",events:"border-l-amber-500/80"},ok=`Hi Hermes! Lass uns ein kurzes Onboarding machen, damit du dich künftig an mich erinnerst. Stell mir nacheinander ein paar kurze Fragen zu:
1) wer ich bin und woran ich gerade arbeite,
2) wie ich angesprochen werden möchte,
3) meine bevorzugten Tools, Sprachen und Arbeitsweise,
4) wichtige Regeln/Konventionen, die du beachten sollst,
5) meine Infrastruktur (Server, Dienste – ohne Geheimnisse).
-Frag immer nur eine Sache auf einmal und fass am Ende zusammen, was du dir gemerkt hast.`;function V5(){const[e,t]=y.useState(""),[r,n]=y.useState(""),[i,o]=y.useState(""),[u,c]=y.useState("knowledge"),[f,h]=y.useState(!1),[m,g]=y.useState(!1),[v,b]=y.useState("liste"),[j,k]=y.useState(!1),S=Kn(),{showAlert:N,showConfirm:E,dialogElement:A}=ba(),{data:P=[]}=vv({}),{data:_=[],error:O}=vv({q:r,category:e}),{data:T}=$D(v==="graph"),B=O?String(O):"",$=()=>{S.invalidateQueries({queryKey:["memory"]}),S.invalidateQueries({queryKey:["memory-graph"]})},z=y.useMemo(()=>{const I=P.length,M=P.filter(H=>ik.has(H.source)).length;return{total:I,auto:M,manual:I-M,cats:new Set(P.map(H=>H.category)).size}},[P]),Q=P.length===0,U=y.useMemo(()=>{const I=T??{nodes:[],edges:[]};if(!r.trim())return I;const M=r.toLowerCase(),H=I.nodes.filter(J=>J.content.toLowerCase().includes(M)),ie=new Set(H.map(J=>J.id));return{nodes:H,edges:I.edges.filter(J=>ie.has(J.source)&&ie.has(J.target))}},[T,r]),ve=y.useMemo(()=>{const I={};return _.forEach(M=>{var H;(I[H=M.category]??(I[H]=[])).push(M)}),I},[_]),ue=y.useMemo(()=>_.filter(I=>!Pd.includes(I.category)),[_]);async function pe(){i.trim()&&(await we("/api/memory",{method:"POST",body:JSON.stringify({content:i,category:u,source:"ui"})}),o(""),k(!1),$())}function oe(I){E("Eintrag löschen?","Diesen Gedächtnis-Eintrag dauerhaft entfernen?",async()=>{try{await we(`/api/memory/${I}`,{method:"DELETE"}),$()}catch(M){N("Fehler",`Löschen fehlgeschlagen: ${M.message||M}`)}})}async function se(){try{await navigator.clipboard.writeText(ok),g(!0),setTimeout(()=>g(!1),1800)}catch{N("Kopieren fehlgeschlagen","Markiere den Prompt und kopiere ihn manuell (Strg+C).")}}function X(){se(),window.dispatchEvent(new CustomEvent("mc-navigate",{detail:{view:"terminal"}}))}async function ne(){h(!0);try{const I=await we("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!1})});if(I.duplicate_count===0){N("Ergebnis","Keine Dubletten gefunden — alles sauber.");return}E("Deduplizierung bestätigen",`${I.duplicate_count} Dublette(n) in ${I.groups.length} Gruppe(n) gefunden. Entfernen?`,async()=>{try{await we("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!0})}),$()}catch(M){N("Fehler",`Fehler beim Löschen: ${M.message}`)}})}catch(I){N("Fehler",`Fehler bei der Deduplizierung: ${I.message}`)}finally{h(!1)}}const te=({value:I,label:M,accent:H})=>l.jsxs("span",{className:ee("flex items-center gap-1.5 text-[11px] rounded-lg px-2.5 py-1 border",H==="auto"?"text-emerald-400 bg-emerald-500/[0.07] border-emerald-500/20":"text-muted-foreground bg-card/40 border-border/50"),children:[H==="auto"&&l.jsx(fs,{className:"h-3 w-3"}),l.jsx("b",{className:ee("font-semibold",H==="auto"?"":"text-foreground"),children:I})," ",M]});return l.jsxs("div",{className:"space-y-5",children:[l.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Gedächtnis-Pool"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Geteilte Konstitution — Hermes, IDEs & Gateway lesen und lernen hier per MCP."})]}),l.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[l.jsxs("div",{className:"relative",children:[l.jsx("input",{value:r,onChange:I=>n(I.target.value),"aria-label":"Gedächtnis durchsuchen",type:"search",placeholder:"Semantisch suchen…",className:"w-52 h-9 pl-8 pr-3 rounded-lg border border-border/60 bg-card/45 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),l.jsx(lh,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),l.jsxs("button",{onClick:()=>k(I=>!I),className:"h-9 px-3 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer shadow-md shadow-primary/10",children:[l.jsx(cv,{className:"h-4 w-4"})," Eintrag"]}),l.jsx("div",{className:"flex items-center gap-1 p-1 bg-card/30 border border-border/40 rounded-lg",children:[["liste",_M,"Liste"],["graph",UM,"Graph"]].map(([I,M,H])=>l.jsxs("button",{onClick:()=>b(I),className:ee("flex h-7 px-2.5 items-center gap-1.5 text-[11px] font-semibold rounded-md transition-all cursor-pointer",v===I?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:[l.jsx(M,{className:"h-3.5 w-3.5"})," ",H]},I))}),l.jsx("button",{onClick:ne,disabled:f,className:"flex h-9 w-9 items-center justify-center rounded-lg border border-border/60 bg-card hover:border-primary/50 transition-all cursor-pointer shadow-md disabled:opacity-50","aria-label":"Duplikate bereinigen",title:"Deduplizieren",children:l.jsx(fs,{className:"h-4 w-4 text-primary","aria-hidden":"true"})})]})]}),!Q&&l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(te,{value:z.total,label:"Fakten"}),l.jsx(te,{value:z.auto,label:"auto gelernt",accent:"auto"}),l.jsx(te,{value:z.manual,label:"manuell"}),l.jsx(te,{value:z.cats,label:"Kategorien"}),l.jsxs("span",{className:"ml-auto text-[11px] text-muted-foreground/70 flex items-center gap-1.5",children:[l.jsx(fs,{className:"h-3 w-3 text-emerald-400"})," lernt automatisch aus Hermes-Gesprächen"]})]}),j&&l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 space-y-3",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Neuen Eintrag anlegen"}),l.jsx("button",{onClick:()=>k(!1),"aria-label":"Schließen",className:"text-muted-foreground hover:text-foreground",children:l.jsx(gi,{className:"h-4 w-4","aria-hidden":"true"})})]}),l.jsx("textarea",{value:i,onChange:I=>o(I.target.value),rows:2,"aria-label":"Eintragstext",placeholder:"Eine Regel, Vorliebe oder einen stabilen Fakt über dich oder das Projekt…",className:"w-full resize-none rounded-xl border border-border/60 bg-background/30 p-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground leading-relaxed"}),l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsx("select",{value:u,onChange:I=>c(I.target.value),"aria-label":"Kategorie",className:"h-8 rounded-lg border border-border/60 bg-background/50 px-2 text-xs outline-none font-semibold text-foreground cursor-pointer",children:Pd.map(I=>{var M;return l.jsx("option",{value:I,className:"bg-popover text-foreground",children:((M=dg[I])==null?void 0:M.label)||I},I)})}),l.jsxs("button",{onClick:pe,className:"h-9 px-4 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer",children:[l.jsx(cv,{className:"h-4 w-4"})," Speichern"]})]})]}),B&&l.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler: ",B]}),Q?l.jsxs("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 sm:p-10 flex flex-col items-center text-center gap-5",children:[l.jsx("div",{className:"h-14 w-14 rounded-2xl bg-primary/10 flex items-center justify-center",children:l.jsx(IM,{className:"h-7 w-7 text-primary"})}),l.jsxs("div",{className:"space-y-1.5 max-w-lg",children:[l.jsx("h3",{className:"text-base font-semibold text-foreground",children:"Lass Hermes dich kennenlernen"}),l.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Statt Fakten einzutippen: führ ein kurzes Onboarding-Gespräch mit Hermes. Was ihr besprecht, merkt sich das Gedächtnis automatisch — du musst nichts manuell pflegen."})]}),l.jsxs("div",{className:"w-full max-w-lg text-left",children:[l.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[l.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Sende das an Hermes"}),l.jsx("button",{onClick:se,className:"flex items-center gap-1 text-[10px] font-semibold text-muted-foreground hover:text-foreground transition-colors",children:m?l.jsxs(l.Fragment,{children:[l.jsx(qt,{className:"h-3 w-3 text-emerald-400"})," Kopiert"]}):l.jsxs(l.Fragment,{children:[l.jsx(uv,{className:"h-3 w-3"})," Kopieren"]})})]}),l.jsx("pre",{className:"w-full rounded-xl border border-border/60 bg-background/40 p-3.5 text-[11px] leading-relaxed text-foreground/90 whitespace-pre-wrap font-mono",children:ok})]}),l.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[l.jsxs("button",{onClick:X,className:"h-9 px-4 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer",children:[l.jsx(YN,{className:"h-4 w-4"})," Im Terminal starten"]}),l.jsxs("button",{onClick:se,className:"h-9 px-4 rounded-lg border border-border/60 bg-card text-xs font-semibold hover:border-primary/50 transition-all flex items-center gap-1.5 cursor-pointer",children:[m?l.jsx(qt,{className:"h-4 w-4 text-emerald-400"}):l.jsx(uv,{className:"h-4 w-4"})," Prompt kopieren"]})]}),l.jsxs("p",{className:"text-[11px] text-muted-foreground/70 flex items-center gap-1.5",children:[l.jsx(BM,{className:"h-3 w-3"})," Funktioniert genauso über Telegram —"," ",l.jsx("button",{onClick:()=>k(!0),className:"underline hover:text-foreground",children:"oder lieber manuell anlegen"}),"."]})]}):v==="graph"?l.jsx(dR,{children:l.jsx(y.Suspense,{fallback:l.jsx("div",{className:"h-[480px] rounded-2xl border border-border/60 bg-card/30 flex items-center justify-center text-xs text-muted-foreground",children:"Graph wird geladen…"}),children:l.jsx(fR,{data:U,onDelete:oe})})}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 p-1 bg-card/30 border border-border/40 rounded-xl w-fit",children:[l.jsx("button",{onClick:()=>t(""),className:ee("h-7 px-3 rounded-lg text-[10px] font-semibold uppercase tracking-wider transition-all cursor-pointer",e?"text-muted-foreground hover:text-foreground":"bg-primary text-primary-foreground"),children:"Alle"}),Pd.map(I=>{const M=dg[I]||ak,H=M.icon;return l.jsxs("button",{onClick:()=>t(I),className:ee("h-7 px-2.5 rounded-lg text-[10px] font-semibold uppercase tracking-wider transition-all cursor-pointer flex items-center gap-1",e===I?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:[l.jsx(H,{className:"h-3 w-3"})," ",M.label]},I)})]}),_.length===0?l.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center",children:"Keine Einträge für die aktuellen Filterkriterien gefunden."}):l.jsx("div",{className:"space-y-5",children:[...Pd,"__other"].map(I=>{const M=I==="__other"?ue:ve[I]||[];if(!M.length)return null;const H=dg[I]||ak,ie=H.icon;return l.jsxs("div",{children:[l.jsxs("div",{className:"flex items-center gap-2 mb-2 px-1",children:[l.jsx(ie,{className:ee("h-3.5 w-3.5",H.text)}),l.jsx("span",{className:ee("text-[11px] font-bold uppercase tracking-wider",H.text),children:H.label}),l.jsx("span",{className:"text-[10px] font-mono text-muted-foreground/60 bg-card/50 rounded px-1.5 py-0.5",children:M.length}),l.jsx("div",{className:"ml-1 h-px flex-1 bg-border/30"})]}),l.jsx("div",{className:"space-y-2",children:M.map(J=>{const Z=ik.has(J.source);return l.jsxs("div",{className:ee("flex items-start justify-between gap-4 p-3.5 rounded-xl border border-l-4 bg-card/45 backdrop-blur-md border-border/60 hover:border-primary/20 transition-all group",hR[J.category]||"border-l-muted"),children:[l.jsx("span",{className:"text-xs text-foreground leading-relaxed break-words whitespace-pre-wrap flex-1 min-w-0",children:J.content}),l.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[typeof J.score=="number"&&l.jsxs("span",{className:"text-[9px] font-mono text-primary bg-primary/10 px-1.5 py-0.5 rounded",title:"Relevanz der semantischen Suche",children:[Math.round(J.score*100),"%"]}),l.jsxs("span",{className:ee("flex items-center gap-1 text-[9px] font-mono px-1.5 py-0.5 rounded",Z?"text-emerald-400 bg-emerald-500/10":"text-muted-foreground/60 bg-background/20"),title:Z?"Automatisch gelernt":"Manuell angelegt",children:[Z&&l.jsx(fs,{className:"h-2.5 w-2.5"}),J.source]}),l.jsx("button",{onClick:()=>oe(J.id),"aria-label":"Eintrag löschen",title:"Eintrag löschen",className:"h-7 w-7 rounded-lg flex items-center justify-center border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 transition-all opacity-0 group-hover:opacity-100",children:l.jsx(of,{className:"h-3.5 w-3.5","aria-hidden":"true"})})]})]},J.id)})})]},I)})})]}),A]})}const mR=["chat","coding","fast","heavy"];function q5(){const{data:e,error:t}=ph(5e3),{data:r}=wi(),{showAlert:n,dialogElement:i}=ba(),o=Kn(),u=t?String(t):"",[c,f]=y.useState(!1),h=(r==null?void 0:r.models)??[];async function m(v){try{await we("/api/agent/brain",{method:"POST",body:JSON.stringify({model:v})}),n("Erledigt",`Hermes-Hirn zeigt jetzt auf das Alias '${v}'. Der Gateway-Dienst wurde neu gestartet.`),o.invalidateQueries({queryKey:Be.agentStatus}),f(!1)}catch(b){n("Fehler",`Wechsel fehlgeschlagen: ${b.message||b}`)}}async function g(v){try{await we("/api/agent/brain/set",{method:"POST",body:JSON.stringify({model_id:v})}),n("Erledigt","Agent-Hirn gewechselt (warm gehalten). Gateway wurde neugestartet."),o.invalidateQueries({queryKey:Be.agentStatus}),o.invalidateQueries({queryKey:Be.models}),f(!1)}catch(b){n("Fehler",`Wechsel fehlgeschlagen: ${b.message||b}`)}}return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Hermes Agenten-Cockpit"}),l.jsxs("p",{className:"text-sm text-muted-foreground",children:["Hermes ist ein autonomer Agent, der im Hintergrund der Box läuft (Port ",l.jsx("code",{children:":8642"}),") und seine eigene UI besitzt."]})]}),(e==null?void 0:e.terminal_url)&&l.jsxs("a",{href:lf(e.terminal_url),target:"_blank",rel:"noopener",className:ee("flex h-9 px-4 items-center gap-1.5 text-xs font-semibold rounded-lg transition-all cursor-pointer shadow-md shrink-0 self-start",e.terminal_reachable?"bg-primary text-primary-foreground hover:opacity-90 shadow-primary/10":"border border-border/60 text-muted-foreground bg-background/20"),children:[l.jsx(sh,{className:"h-4 w-4"}),l.jsx("span",{children:"Terminal öffnen"})]})]}),u&&l.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400 font-mono",children:["Status nicht lesbar (",u,")."]}),e&&l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10",children:[l.jsxs("div",{className:"mb-4 flex items-center gap-2",children:[l.jsx(yn,{className:"h-4.5 w-4.5 text-primary"}),l.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Agent-Fluss"})]}),l.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-stretch gap-3",children:[l.jsxs("button",{onClick:()=>e.terminal_reachable&&window.open(lf(e.terminal_url),"_blank"),title:e.terminal_reachable?"Hermes-Terminal öffnen":"Terminal offline",className:"lg:w-40 shrink-0 rounded-xl border border-border/60 bg-background/30 p-3 text-left hover:border-primary/40 transition-all cursor-pointer flex flex-col justify-center",children:[l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx(oh,{className:ee("h-3.5 w-3.5",e.terminal_reachable?"text-emerald-400":"text-amber-500")}),l.jsx("span",{className:"text-xs font-semibold text-foreground",children:"Terminal"}),l.jsx("span",{className:ee("ml-auto h-1.5 w-1.5 rounded-full animate-pulse",e.terminal_reachable?"bg-emerald-500":"bg-amber-500")})]}),l.jsx("span",{className:"text-[10px] text-muted-foreground font-mono mt-0.5",children:"hermes chat · Clients"})]}),l.jsx("div",{className:"hidden lg:flex items-center text-muted-foreground text-lg select-none",children:"→"}),l.jsxs("div",{className:"flex-1 flex flex-col gap-2.5",children:[l.jsxs("div",{className:"rounded-xl border border-primary/40 bg-primary/5 px-3.5 py-2.5 flex items-center gap-2",children:[l.jsx(yn,{className:"h-3.5 w-3.5 text-primary"}),l.jsx("span",{className:"text-xs font-semibold text-primary",children:"Agent Gateway"}),l.jsx("span",{className:"text-[11px] font-mono text-muted-foreground",children:":8642"}),l.jsxs("span",{className:ee("ml-auto inline-flex items-center gap-1.5 text-[10px] font-bold uppercase font-mono px-2 py-0.5 rounded-full border",e.gateway_reachable?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":"bg-red-500/10 text-red-400 border-red-500/20"),children:[l.jsx("span",{className:ee("h-1.5 w-1.5 rounded-full",e.gateway_reachable?"bg-emerald-500 animate-pulse":"bg-red-500")}),e.gateway_reachable?"online":"offline"]})]}),l.jsxs("div",{className:"grid gap-2.5 sm:grid-cols-3",children:[l.jsxs("button",{onClick:()=>f(!0),className:"rounded-xl border border-border/60 bg-background/30 p-3 text-left hover:border-primary/45 transition-all cursor-pointer",children:[l.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[l.jsx(pi,{className:"h-3.5 w-3.5 text-primary"}),l.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Hirn"}),l.jsx("span",{className:"ml-auto text-[9px] text-primary/70 font-bold uppercase",children:"wechseln →"})]}),l.jsx("div",{className:"text-[11px] font-mono font-medium text-foreground truncate mt-1",title:e.brain_model,children:e.brain_model||"chat"})]}),l.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/30 p-3",children:[l.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[l.jsx(Gu,{className:"h-3.5 w-3.5 text-primary"}),l.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Verdrahtung"})]}),l.jsxs("div",{className:"text-[10px] font-mono mt-1 flex flex-wrap gap-x-2 text-muted-foreground",children:[l.jsxs("span",{children:["Config: ",e.has_config?"✓":"—"]}),l.jsxs("span",{children:["Skills: ",e.has_skills?"✓":"—"]}),l.jsxs("span",{children:["Memory: ",e.has_memories?"✓":"—"]})]})]}),l.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/30 p-3",children:[l.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[l.jsx(jw,{className:"h-3.5 w-3.5 text-primary"}),l.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"PC"}),l.jsx("span",{className:ee("ml-auto h-1.5 w-1.5 rounded-full",e.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")})]}),l.jsxs("div",{className:ee("text-[11px] font-mono mt-1",e.pc_executor_reachable?"text-emerald-400":"text-muted-foreground"),children:[":7777 ",e.pc_executor_reachable?"verbunden":"offline"]})]})]})]})]})]}),l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 space-y-4 shadow-lg shadow-black/10",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(jw,{className:"h-5 w-5 text-primary"}),l.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"PC Verbindung"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:ee("h-2 w-2 rounded-full",e.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),l.jsx("span",{className:"text-xs font-semibold text-foreground",children:e.pc_executor_reachable?"Erreichbar":"Nicht verbunden"})]})]}),l.jsxs("div",{className:"grid gap-6 md:grid-cols-2 text-xs text-muted-foreground leading-relaxed text-left",children:[l.jsxs("div",{className:"space-y-3",children:[l.jsxs("p",{children:["Der ",l.jsx("strong",{className:"text-foreground",children:"Hermes PC Executor"})," läuft auf ",l.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:"192.168.178.98:7777"})," und ermöglicht Hermes den direkten Zugriff auf deinen Windows-PC — Shell-Befehle, Screenshots, Tastatureingaben."]}),l.jsxs("p",{children:["Hermes erreicht den PC über den MCP-Server ",l.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:"hermes-pc-control"}),", der automatisch beim Gateway-Start verbunden wird."]})]}),l.jsx("div",{className:"space-y-3",children:e.pc_executor_reachable?l.jsxs("div",{className:"p-3.5 bg-emerald-500/5 border border-emerald-500/20 rounded-xl space-y-1",children:[l.jsxs("div",{className:"text-emerald-400 font-semibold text-xs flex items-center gap-1.5",children:[l.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"PC Executor verbunden"]}),l.jsxs("p",{className:"text-[10px]",children:["Hermes kann jetzt per Telegram oder Terminal Befehle auf TobisNicerPC ausführen. Nutze ",l.jsx("code",{className:"text-foreground",children:"pc_shell"}),", ",l.jsx("code",{className:"text-foreground",children:"pc_screenshot"})," oder ",l.jsx("code",{className:"text-foreground",children:"pc_open"}),"."]})]}):l.jsxs("div",{className:"space-y-2",children:[l.jsx("h4",{className:"text-xs font-bold text-foreground",children:"PC Executor starten"}),l.jsxs("p",{children:["Starte ",l.jsx("code",{className:"text-foreground font-mono",children:"start.bat"})," im Ordner ",l.jsx("code",{className:"text-foreground font-mono",children:"client\\hermes-pc\\"})," auf dem Windows-PC und lasse das Fenster offen."]}),l.jsx("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[9px] text-cyan-300",children:"client\\hermes-pc\\start.bat"})]})})]})]}),!e.gateway_reachable&&l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 space-y-4 shadow-lg shadow-black/10 text-left",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Qs,{className:"h-5 w-5 text-amber-500"}),l.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"Hermes-Agent Diagnostics"})]}),l.jsxs("div",{className:"text-xs text-muted-foreground space-y-3 leading-relaxed",children:[l.jsx("p",{children:"Der Hermes-Dienst ist auf der Box derzeit offline oder kann sich nicht mit dem lokalen llama-swap verbinden."}),l.jsxs("p",{children:["Stelle sicher, dass die systemd-Dienste auf der Box laufen. Du kannst den Status im ",l.jsx("strong",{children:"OS & Updates Drawer"})," prüfen und die Dienste bei Bedarf neu starten."]}),l.jsxs("div",{className:"p-3.5 bg-background/25 rounded-xl border border-border/30 font-mono text-[10px] space-y-1",children:[l.jsx("div",{className:"text-muted-foreground/60",children:"# Dienste manuell auf der Box prüfen:"}),l.jsx("div",{className:"text-primary",children:"systemctl --user status hermes-gateway"}),l.jsx("div",{className:"text-primary",children:"systemctl --user status hermes-terminal"})]}),l.jsxs("p",{children:["Weitere Einrichtungsdetails (Brain-Konfiguration, MCP-Kopplungen, SSH-Tunneling und Such-Engines) findest du in der Dokumentationsdatei:",l.jsx("code",{className:"ml-1 px-1.5 py-0.5 rounded bg-muted/40 text-foreground border border-border/30",children:"docs/HERMES_SETUP.md"}),"."]})]})]})]}),e&&c&&l.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":"Hermes-Hirn konfigurieren",children:l.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[l.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[l.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[l.jsx(pi,{className:"h-4 w-4"}),l.jsx("span",{children:"Hermes-Hirn konfigurieren"})]}),l.jsx("button",{onClick:()=>f(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:l.jsx(gi,{className:"h-4 w-4"})})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Lane / Gateway-Alias"}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:mR.map(v=>{const b=e.brain_model===v;return l.jsxs("button",{onClick:()=>m(v),className:ee("px-3 py-1.5 rounded-lg text-xs font-mono font-semibold border transition-all cursor-pointer flex items-center gap-1.5",b?"border-primary/40 bg-primary/10 text-primary":"border-border/30 bg-background/20 text-foreground hover:bg-accent"),children:[v,b&&l.jsx(qt,{className:"h-3.5 w-3.5"})]},v)})}),l.jsxs("p",{className:"text-[10px] text-muted-foreground/70",children:["Schlank & flexibel: das Hirn folgt dem Lane-Routing (z.B. ",l.jsx("code",{className:"text-primary",children:"chat"})," = fast↔heavy)."]})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Installiertes Modell (warm gehalten)"}),l.jsx("div",{className:"space-y-1.5 max-h-56 overflow-y-auto pr-1",children:h.map(v=>{var j;const b=v.role==="hermes";return l.jsxs("button",{onClick:()=>!b&&g(v.name),disabled:b||v.incomplete,className:ee("w-full text-left px-3 py-2.5 rounded-lg text-xs flex items-center justify-between font-mono border transition-all",b?"border-indigo-500/40 bg-indigo-500/10 text-indigo-300":v.incomplete?"border-border/20 bg-background/10 text-muted-foreground/50 cursor-not-allowed":"border-border/30 bg-background/20 text-foreground hover:bg-accent cursor-pointer"),children:[l.jsxs("div",{className:"flex flex-col min-w-0",children:[l.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:(j=v.name.split("/").pop())==null?void 0:j.replace(/\.gguf$/i,"")}),l.jsxs("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:[v.capabilities.params_b?`${v.capabilities.params_b}B`:"?"," · ",v.capabilities.tools!=="no"?"Tools ✓":"ohne Tools",v.role&&` · Rolle: ${v.role}`]})]}),b?l.jsxs("span",{className:"text-[9px] font-bold uppercase text-indigo-300 shrink-0 flex items-center gap-1",children:[l.jsx(qt,{className:"h-3.5 w-3.5"})," Aktiv"]}):l.jsx("span",{className:"text-[9px] font-bold uppercase text-primary/70 shrink-0",children:"Warm setzen →"})]},v.name)})})]}),l.jsxs("div",{className:"text-[10px] text-amber-400/80 flex items-start gap-1.5 border-t border-border/20 pt-2.5",children:[l.jsx("span",{children:"💡"}),l.jsxs("span",{children:["Für einen ",l.jsx("strong",{children:"Agenten"}),' sind Hermes-Modelle (natives Tool-Calling) meist die robustere Wahl. Neues Modell? Erst über „Modell-Manager → Modelle finden" laden.']})]})]})}),i]})}function pR(){const{data:e}=ph(5e3),t=e!=null&&e.terminal_url?lf(e.terminal_url):void 0,r=e==null?void 0:e.terminal_reachable;return l.jsxs("div",{className:"flex h-full flex-col gap-4",children:[l.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Hermes Terminal"}),l.jsxs("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:["Interaktiver Agent (",l.jsx("code",{className:"rounded bg-background/40 px-1 font-mono text-[11px] text-primary",children:"hermes chat"}),') mit Tools & PC-Steuerung — „mehr als Chatten".']})]}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground",children:[l.jsx("span",{className:`h-2 w-2 rounded-full ${r?"bg-emerald-500 animate-pulse":"bg-amber-500"}`}),r?"online":"offline"]}),t&&l.jsxs("a",{href:t,target:"_blank",rel:"noopener",className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-background/20 px-3 text-xs font-semibold text-muted-foreground transition-all hover:border-primary/50 hover:text-foreground",children:[l.jsx(sh,{className:"h-3.5 w-3.5"})," In neuem Tab"]})]})]}),t?l.jsxs("div",{className:"relative min-h-[68vh] flex-1 overflow-hidden rounded-2xl border border-border/60 bg-black/50 shadow-lg shadow-black/25",children:[r===!1&&l.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3 bg-black/70 text-center",children:[l.jsx(Er,{className:"h-8 w-8 text-amber-400"}),l.jsx("div",{className:"text-sm font-semibold text-amber-300",children:"Terminal nicht erreichbar"}),l.jsxs("p",{className:"max-w-sm text-[11px] leading-normal text-muted-foreground",children:["Der ",l.jsx("code",{className:"font-mono text-primary",children:"hermes-terminal"}),"-Dienst (ttyd) läuft nicht. Auf der Box: ",l.jsx("code",{className:"font-mono",children:"systemctl --user restart hermes-terminal"}),"."]})]}),l.jsx("iframe",{src:t,title:"Hermes Terminal",className:"h-full w-full border-0",style:{minHeight:"68vh"}})]}):l.jsxs("div",{className:"flex min-h-[68vh] flex-1 items-center justify-center rounded-2xl border border-border/60 bg-background/20 text-xs text-muted-foreground",children:[l.jsx(Rs,{className:"mr-2 h-4 w-4"})," Lade Terminal…"]})]})}function gR(){const{data:e}=ph(5e3),t=e!=null&&e.box_console_url?lf(e.box_console_url):void 0,r=e==null?void 0:e.box_console_reachable;return l.jsxs("div",{className:"flex h-full flex-col gap-4",children:[l.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Konsole"}),l.jsx("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:"Direkte Shell auf der Box — wie ein SSH-Fenster, mitten im Browser."})]}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground",children:[l.jsx("span",{className:ee("h-2 w-2 rounded-full",r?"bg-emerald-500 animate-pulse":"bg-amber-500")}),r?"online":"offline"]}),t&&l.jsxs("a",{href:t,target:"_blank",rel:"noopener",className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-background/20 px-3 text-xs font-semibold text-muted-foreground transition-all hover:border-primary/50 hover:text-foreground",children:[l.jsx(sh,{className:"h-3.5 w-3.5"})," In neuem Tab"]})]})]}),t?l.jsxs("div",{className:"relative min-h-[58vh] flex-1 overflow-hidden rounded-2xl border border-border/60 bg-black/50 shadow-lg shadow-black/25",children:[r===!1&&l.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3 bg-black/70 text-center",children:[l.jsx(Er,{className:"h-8 w-8 text-amber-400"}),l.jsx("div",{className:"text-sm font-semibold text-amber-300",children:"Konsole nicht erreichbar"}),l.jsxs("p",{className:"max-w-sm text-[11px] leading-normal text-muted-foreground",children:["Der ",l.jsx("code",{className:"font-mono text-primary",children:"box-console"}),"-Dienst (ttyd) läuft nicht. Auf der Box: ",l.jsx("code",{className:"font-mono",children:"systemctl --user restart box-console"}),"."]})]}),l.jsx("iframe",{src:t,title:"Box-Konsole",className:"h-full w-full border-0",style:{minHeight:"58vh"}})]}):l.jsxs("div",{className:"flex min-h-[58vh] flex-1 items-center justify-center rounded-2xl border border-border/60 bg-background/20 text-xs text-muted-foreground",children:[l.jsx(Rs,{className:"mr-2 h-4 w-4"})," Lade Konsole…"]})]})}const sk=[{id:"grundlagen",label:"Grundlagen"},{id:"moe",label:"MoE & Quant"},{id:"lokal",label:"Lokal betreiben"},{id:"modelle",label:"Modell-Landschaft"},{id:"gateway",label:"Gateway-Trick"},{id:"mcp",label:"MCP"},{id:"skills",label:"Skills"},{id:"memory",label:"Gedächtnis & RAG"},{id:"agents",label:"Agenten"},{id:"ide",label:"IDE anbinden"},{id:"tricks",label:"Tricks & Kniffe"},{id:"wartung",label:"Sicherheit & Wartung"},{id:"ressourcen",label:"Ressourcen"},{id:"troubleshooting",label:"Troubleshooting"}];function vR(e){var t;(t=document.getElementById(e))==null||t.scrollIntoView({behavior:"smooth",block:"start"})}function Ir({id:e,icon:t,color:r,title:n,kicker:i,children:o,wide:u}){return l.jsxs("section",{id:e,className:ee("scroll-mt-20 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-3",u&&"md:col-span-2"),children:[l.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[l.jsx(t,{className:ee("h-5 w-5 shrink-0",r)}),l.jsxs("div",{children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:n}),i&&l.jsx("span",{className:ee("text-[9px] font-mono",r),children:i})]})]}),l.jsx("div",{className:"text-xs text-muted-foreground space-y-2.5 leading-relaxed",children:o})]})}function La({children:e}){return l.jsxs("div",{className:"mt-1 rounded-xl border border-primary/25 bg-primary/[0.06] p-3 text-[11px] leading-relaxed",children:[l.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-primary mb-1",children:[l.jsx(fs,{className:"h-3 w-3"})," Bei dir konkret"]}),l.jsx("div",{className:"text-muted-foreground space-y-1",children:e})]})}function ze({children:e}){return l.jsx("code",{className:"rounded bg-background/40 border border-border/30 px-1.5 py-0.5 font-mono text-[10px] text-foreground",children:e})}function kt({href:e,name:t,note:r}){return l.jsxs("li",{className:"leading-relaxed",children:[l.jsxs("a",{href:e,target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold inline-flex items-center gap-0.5",children:[t,l.jsx(aM,{className:"h-3 w-3 opacity-60"})]}),l.jsxs("span",{className:"text-muted-foreground",children:[" — ",r]})]})}function yR(){const[e,t]=y.useState(!1);return l.jsxs("div",{className:"space-y-7",children:[l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 flex items-start gap-4",children:[l.jsx("div",{className:"h-11 w-11 rounded-xl bg-primary/15 flex items-center justify-center shrink-0",children:l.jsx(sv,{className:"h-6 w-6 text-primary"})}),l.jsxs("div",{className:"space-y-1",children:[l.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Die AI-Bibel"}),l.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed max-w-2xl",children:["Allgemeines Nachschlagewerk für lokale & agentische AI — Konzepte, Tricks, Kniffe und kuratierte Quellen. ",l.jsx("span",{className:"font-semibold text-foreground",children:"Stand Juni 2026."})," ","Das meiste gilt überall; ",l.jsx("span",{className:"text-primary font-semibold",children:'„Bei dir konkret"'}),"-Kästen zeigen, was dein Stack daraus macht."]})]})]}),l.jsx("div",{className:"sticky top-0 z-10 -mx-1 px-1",children:l.jsx("div",{className:"rounded-xl border border-border/50 bg-card/70 backdrop-blur-xl p-2 shadow-lg shadow-black/20",children:l.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[l.jsx(lv,{className:"h-3.5 w-3.5 text-primary ml-1 mr-0.5 shrink-0"}),(e?sk:sk.slice(0,9)).map(r=>l.jsx("button",{onClick:()=>vR(r.id),className:"rounded-lg px-2.5 py-1 text-[11px] font-semibold text-muted-foreground hover:text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:r.label},r.id)),l.jsx("button",{onClick:()=>t(r=>!r),className:"rounded-lg px-2 py-1 text-[11px] font-semibold text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:e?"weniger":"+ mehr"})]})})}),l.jsxs("div",{className:"grid gap-5 md:grid-cols-2",children:[l.jsxs(Ir,{id:"grundlagen",icon:pi,color:"text-cyan-400",title:"1. Wie LLMs ticken",kicker:"Grundlagen",children:[l.jsxs("p",{children:["Ein LLM ist im Kern ein ",l.jsx("strong",{children:"Wahrscheinlichkeits-Rechner für das nächste Token"}),' (Wortteil). Es „weiß" nichts — es setzt fort, was statistisch am plausibelsten ist. Daraus folgt fast alles andere.']}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Tokens"})," sind die Einheit — ~¾ Wort. Ein- und Ausgabe werden in Tokens gezählt."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Kontextfenster"}),' = wie viele Tokens das Modell gleichzeitig „sehen" kann (Prompt + Antwort). Voll = Anfang fällt raus.']}),l.jsxs("li",{children:[l.jsx("strong",{children:"Parameter"})," = die trainierten Gewichte. Training ist einmalig, ",l.jsx("strong",{children:"Inferenz"})," ist jede Antwort."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Temperatur / Sampling"})," steuert Zufall: niedrig = deterministisch/präzise (Code), hoch = kreativ."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Halluzination"})," ist kein Bug, sondern die Kehrseite des Ratens. Gegenmittel: Grounding via Tools/RAG, Verifikation."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Reasoning-/Thinking-Modelle"}),' „denken" in unsichtbaren Tokens vor der Antwort — besser bei Logik, langsamer/teurer.']})]})]}),l.jsxs(Ir,{id:"moe",icon:HN,color:"text-violet-400",title:"2. MoE & Quantisierung",kicker:"Mehr Modell, weniger Last",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"Mixture of Experts (MoE):"})," Statt für jedes Token das ganze Netz zu aktivieren, wählt ein",l.jsx("em",{children:" Router"})," nur ein paar spezialisierte ",l.jsx("em",{children:"Experts"}),' aus. So läuft ein 100B-Modell mit der aktiven Rechenlast eines viel kleineren (z.B. „122B total / 10B aktiv").']}),l.jsxs("p",{children:[l.jsx("strong",{children:"Quantisierung:"})," Gewichte von FP16 auf weniger Bits eindampfen — kleiner & schneller bei minimalem Qualitätsverlust. Faustregel:"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx(ze,{children:"Q8"})," nahezu verlustfrei, größter Footprint"]}),l.jsxs("li",{children:[l.jsx(ze,{children:"Q6_K"})," sehr gut, guter Mittelweg"]}),l.jsxs("li",{children:[l.jsx(ze,{children:"Q4_K_M"})," der Sweet-Spot für lokal — viel Modell pro GB"]})]}),l.jsxs(La,{children:["VRAM/RAM ist die harte Grenze — ",l.jsx("strong",{children:"darum"})," ist beides hier zentral: MoE lässt 100B+ überhaupt laufen, Quant entscheidet, was reinpasst. Dein Line-up fährt durchweg ",l.jsx(ze,{children:"Q4_K_M"}),"/",l.jsx(ze,{children:"Q6_K"}),"."]})]}),l.jsxs(Ir,{id:"lokal",icon:uh,color:"text-emerald-400",title:"3. Lokal betreiben: Engines & Backends",kicker:"llama.cpp, vLLM & Co.",wide:!0,children:[l.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"Inference-Engines"})," — was die Modelle ausführt:"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"llama.cpp / GGUF"})," — der De-facto-Standard für lokal, CPU+GPU, läuft überall."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Ollama / LM Studio"})," — bequeme Wrapper mit One-Click-Downloads (LM Studio mit GUI)."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"vLLM / TGI"})," — Server-Engines für maximalen Durchsatz auf dicken GPUs."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"llama-swap"})," — Proxy, der ",l.jsx("em",{children:"mehrere"})," Modelle hinter ",l.jsx("em",{children:"einem"})," Port hält und je nach Anfrage automatisch ein-/aussattelt."]})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"GPU-Backends"})," — wie gerechnet wird:"]}),l.jsx("ul",{className:"list-disc pl-4 space-y-1",children:l.jsxs("li",{children:[l.jsx(ze,{children:"CUDA"})," NVIDIA · ",l.jsx(ze,{children:"ROCm"})," AMD · ",l.jsx(ze,{children:"Vulkan"})," herstellerübergreifend · ",l.jsx(ze,{children:"Metal"})," Apple"]})}),l.jsxs("p",{className:"pt-1",children:[l.jsx("strong",{children:"Begriffe, die immer wiederkommen:"})," Kontext (",l.jsx(ze,{children:"-c"}),"), Slots/Parallel, KV-Cache, Modell-TTL/Swap, ",l.jsx("strong",{children:"Speculative Decoding"})," (kleines Draft-Modell rät voraus → schneller)."]})]})]}),l.jsxs(La,{children:["Deine Box hat eine AMD-APU (gfx1151). ",l.jsx("strong",{children:"Einschränkung & Trick:"})," dort schlägt ",l.jsx(ze,{children:"Vulkan/RADV"})," das offizielle ",l.jsx(ze,{children:"ROCm"})," bei Token-Generierung um ~12–22 % — darum läuft die Engine auf Vulkan.",l.jsx(ze,{children:"llama-swap"})," hält die Alltags-Hirne dauerwarm; ",l.jsx(ze,{children:"coder"})," nutzt Spec-Decoding."]})]}),l.jsxs(Ir,{id:"modelle",icon:af,color:"text-sky-400",title:"4. Modell-Landschaft",kicker:"Stand Juni 2026",wide:!0,children:[l.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{children:l.jsx("strong",{children:"Open-Weight (lokal nutzbar):"})}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Qwen"})," (Alibaba) — starke Allrounder + Coder + Vision, viele Größen/MoE."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Llama"})," (Meta), ",l.jsx("strong",{children:"Gemma"})," (Google), ",l.jsx("strong",{children:"Phi"})," (Microsoft) — solide Open-Familien."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"DeepSeek"}),", ",l.jsx("strong",{children:"Mistral/Mixtral"})," — kräftige MoE-/Reasoning-Modelle."]})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{children:l.jsx("strong",{children:"Frontier (Cloud-API):"})}),l.jsx("ul",{className:"list-disc pl-4 space-y-1",children:l.jsxs("li",{children:[l.jsx("strong",{children:"Claude"})," (Anthropic), ",l.jsx("strong",{children:"GPT"})," (OpenAI), ",l.jsx("strong",{children:"Gemini"})," (Google) — die stärksten Allrounder, aber nicht lokal."]})}),l.jsxs("p",{className:"pt-1",children:[l.jsx("strong",{children:"Modellwahl nach Aufgabe:"})," schnelles Alltags-Hirn · großes Logik-Hirn für harte Tasks · dediziertes Code-Modell · multimodal für Bilder · Embedding-Modell fürs Gedächtnis."]})]})]}),l.jsx("p",{className:"text-[11px] italic",children:'Leaderboards (HF, LMArena) sind grobe Orientierung — der einzige Benchmark, der zählt, ist deine eigene Aufgabe. Vorsicht vor „Benchmaxxing".'}),l.jsxs(La,{children:["Dein Line-up via llama-swap: ",l.jsx(ze,{children:"fast"})," (Alltag/Vision/MoE) · ",l.jsx(ze,{children:"heavy"})," (schwere Logik) ·",l.jsx(ze,{children:"coder"})," · ",l.jsx(ze,{children:"scout"})," · ",l.jsx(ze,{children:"vision"})," · ",l.jsx(ze,{children:"embed"})," (fürs Gedächtnis) ·",l.jsx(ze,{children:"hermes"})," (Agent-Hirn). Verwalten/tauschen im ",l.jsx("strong",{children:"Modell-Manager"}),"-Tab."]})]}),l.jsxs(Ir,{id:"gateway",icon:DM,color:"text-amber-400",title:"5. Der Gateway-Trick",kicker:"OpenAI-kompatibel = überall andocken",children:[l.jsxs("p",{children:["Fast jedes AI-Tool spricht heute das ",l.jsx("strong",{children:"OpenAI-Format"})," (",l.jsx(ze,{children:"/v1/chat/completions"}),"). Ein",l.jsx("strong",{children:" Gateway"})," davor gibt dir ",l.jsx("em",{children:"einen"})," Endpunkt für alles: zentrales Key-Management, Logging und transparentes ",l.jsx("strong",{children:"Routing"})," — der Client merkt nicht, welches Modell tatsächlich antwortet."]}),l.jsxs("p",{children:["Die ",l.jsx(ze,{children:"model:auto"}),'-Idee: du sagst „auto", das Gateway wählt das passende Modell je nach Anfrage und lädt es bei Bedarf.']}),l.jsxs(La,{children:["Dein Gateway: ",l.jsx(ze,{children:"http://192.168.178.151:9001/v1"}),", Model ",l.jsx(ze,{children:"auto"}),", API-Key beliebig. Fertige Configs erzeugt dir der ",l.jsx("strong",{children:"Verbinden"}),"-Tab live — eine Wahrheit, kein Abtippen."]})]}),l.jsxs(Ir,{id:"mcp",icon:bu,color:"text-violet-400",title:"6. MCP — Werkzeuge für Agenten",kicker:"USB-C für AI-Tools",children:[l.jsxs("p",{children:["Das ",l.jsx("strong",{children:"Model Context Protocol"})," (offen, von Anthropic initiiert) standardisiert, wie ein AI-Client mit externen Tools & Datenquellen spricht. Ein ",l.jsx("strong",{children:"MCP-Server"})," bringt Fähigkeiten: Dateien, Web-Fetch, Git, Datenbanken, eigene APIs."]}),l.jsx("p",{children:"Statt für jeden Editor eigene Tools zu schreiben, bindet jeder MCP-fähige Agent denselben Server an."}),l.jsxs("div",{className:"flex items-start gap-1.5 rounded-xl border border-amber-500/25 bg-amber-500/[0.06] p-2.5 text-[11px]",children:[l.jsx(WN,{className:"h-3.5 w-3.5 text-amber-400 shrink-0 mt-0.5"}),l.jsxs("span",{children:[l.jsx("strong",{children:"Sicherheit:"})," ein MCP-Server hat echten Zugriff (Dateien, Shell). Nur vertrauenswürdige Server laufen lassen, Rechte minimal halten, Quelle prüfen."]})]})]}),l.jsxs(Ir,{id:"skills",icon:LM,color:"text-emerald-400",title:"7. Agent Skills",kicker:"Wiederverwendbare Fähigkeiten",children:[l.jsxs("p",{children:["Ein ",l.jsx("strong",{children:"Skill"})," ist ein Ordner mit einer ",l.jsx(ze,{children:"SKILL.md"})," (YAML-Kopf + Anleitung, optional Skripte/Beispiele), den der Agent für eine bestimmte Aufgabe lädt — z.B. TDD, Code-Vereinfachung, API-Design."]}),l.jsx("pre",{className:"p-2.5 bg-background/25 rounded-lg border border-border/30 font-mono text-[9px] text-foreground overflow-x-auto whitespace-pre",children:`---
+Frag immer nur eine Sache auf einmal und fass am Ende zusammen, was du dir gemerkt hast.`;function V5(){const[e,t]=y.useState(""),[r,n]=y.useState(""),[i,o]=y.useState(""),[u,c]=y.useState("knowledge"),[f,h]=y.useState(!1),[m,g]=y.useState(!1),[v,b]=y.useState("liste"),[j,k]=y.useState(!1),S=Kn(),{showAlert:N,showConfirm:E,dialogElement:A}=ba(),{data:P=[]}=vv({}),{data:_=[],error:O}=vv({q:r,category:e}),{data:T}=zD(v==="graph"),B=O?String(O):"",$=()=>{S.invalidateQueries({queryKey:["memory"]}),S.invalidateQueries({queryKey:["memory-graph"]})},z=y.useMemo(()=>{const I=P.length,M=P.filter(H=>ik.has(H.source)).length;return{total:I,auto:M,manual:I-M,cats:new Set(P.map(H=>H.category)).size}},[P]),Q=P.length===0,U=y.useMemo(()=>{const I=T??{nodes:[],edges:[]};if(!r.trim())return I;const M=r.toLowerCase(),H=I.nodes.filter(J=>J.content.toLowerCase().includes(M)),ie=new Set(H.map(J=>J.id));return{nodes:H,edges:I.edges.filter(J=>ie.has(J.source)&&ie.has(J.target))}},[T,r]),ve=y.useMemo(()=>{const I={};return _.forEach(M=>{var H;(I[H=M.category]??(I[H]=[])).push(M)}),I},[_]),ue=y.useMemo(()=>_.filter(I=>!Cd.includes(I.category)),[_]);async function pe(){i.trim()&&(await we("/api/memory",{method:"POST",body:JSON.stringify({content:i,category:u,source:"ui"})}),o(""),k(!1),$())}function oe(I){E("Eintrag löschen?","Diesen Gedächtnis-Eintrag dauerhaft entfernen?",async()=>{try{await we(`/api/memory/${I}`,{method:"DELETE"}),$()}catch(M){N("Fehler",`Löschen fehlgeschlagen: ${M.message||M}`)}})}async function se(){try{await navigator.clipboard.writeText(ok),g(!0),setTimeout(()=>g(!1),1800)}catch{N("Kopieren fehlgeschlagen","Markiere den Prompt und kopiere ihn manuell (Strg+C).")}}function X(){se(),window.dispatchEvent(new CustomEvent("mc-navigate",{detail:{view:"terminal"}}))}async function ne(){h(!0);try{const I=await we("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!1})});if(I.duplicate_count===0){N("Ergebnis","Keine Dubletten gefunden — alles sauber.");return}E("Deduplizierung bestätigen",`${I.duplicate_count} Dublette(n) in ${I.groups.length} Gruppe(n) gefunden. Entfernen?`,async()=>{try{await we("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!0})}),$()}catch(M){N("Fehler",`Fehler beim Löschen: ${M.message}`)}})}catch(I){N("Fehler",`Fehler bei der Deduplizierung: ${I.message}`)}finally{h(!1)}}const te=({value:I,label:M,accent:H})=>l.jsxs("span",{className:ee("flex items-center gap-1.5 text-[11px] rounded-lg px-2.5 py-1 border",H==="auto"?"text-emerald-400 bg-emerald-500/[0.07] border-emerald-500/20":"text-muted-foreground bg-card/40 border-border/50"),children:[H==="auto"&&l.jsx(fs,{className:"h-3 w-3"}),l.jsx("b",{className:ee("font-semibold",H==="auto"?"":"text-foreground"),children:I})," ",M]});return l.jsxs("div",{className:"space-y-5",children:[l.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Gedächtnis-Pool"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Geteilte Konstitution — Hermes, IDEs & Gateway lesen und lernen hier per MCP."})]}),l.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[l.jsxs("div",{className:"relative",children:[l.jsx("input",{value:r,onChange:I=>n(I.target.value),"aria-label":"Gedächtnis durchsuchen",type:"search",placeholder:"Semantisch suchen…",className:"w-52 h-9 pl-8 pr-3 rounded-lg border border-border/60 bg-card/45 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),l.jsx(lh,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),l.jsxs("button",{onClick:()=>k(I=>!I),className:"h-9 px-3 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer shadow-md shadow-primary/10",children:[l.jsx(cv,{className:"h-4 w-4"})," Eintrag"]}),l.jsx("div",{className:"flex items-center gap-1 p-1 bg-card/30 border border-border/40 rounded-lg",children:[["liste",MM,"Liste"],["graph",HM,"Graph"]].map(([I,M,H])=>l.jsxs("button",{onClick:()=>b(I),className:ee("flex h-7 px-2.5 items-center gap-1.5 text-[11px] font-semibold rounded-md transition-all cursor-pointer",v===I?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:[l.jsx(M,{className:"h-3.5 w-3.5"})," ",H]},I))}),l.jsx("button",{onClick:ne,disabled:f,className:"flex h-9 w-9 items-center justify-center rounded-lg border border-border/60 bg-card hover:border-primary/50 transition-all cursor-pointer shadow-md disabled:opacity-50","aria-label":"Duplikate bereinigen",title:"Deduplizieren",children:l.jsx(fs,{className:"h-4 w-4 text-primary","aria-hidden":"true"})})]})]}),!Q&&l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(te,{value:z.total,label:"Fakten"}),l.jsx(te,{value:z.auto,label:"auto gelernt",accent:"auto"}),l.jsx(te,{value:z.manual,label:"manuell"}),l.jsx(te,{value:z.cats,label:"Kategorien"}),l.jsxs("span",{className:"ml-auto text-[11px] text-muted-foreground/70 flex items-center gap-1.5",children:[l.jsx(fs,{className:"h-3 w-3 text-emerald-400"})," lernt automatisch aus Hermes-Gesprächen"]})]}),j&&l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 space-y-3",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Neuen Eintrag anlegen"}),l.jsx("button",{onClick:()=>k(!1),"aria-label":"Schließen",className:"text-muted-foreground hover:text-foreground",children:l.jsx(gi,{className:"h-4 w-4","aria-hidden":"true"})})]}),l.jsx("textarea",{value:i,onChange:I=>o(I.target.value),rows:2,"aria-label":"Eintragstext",placeholder:"Eine Regel, Vorliebe oder einen stabilen Fakt über dich oder das Projekt…",className:"w-full resize-none rounded-xl border border-border/60 bg-background/30 p-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground leading-relaxed"}),l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsx("select",{value:u,onChange:I=>c(I.target.value),"aria-label":"Kategorie",className:"h-8 rounded-lg border border-border/60 bg-background/50 px-2 text-xs outline-none font-semibold text-foreground cursor-pointer",children:Cd.map(I=>{var M;return l.jsx("option",{value:I,className:"bg-popover text-foreground",children:((M=dg[I])==null?void 0:M.label)||I},I)})}),l.jsxs("button",{onClick:pe,className:"h-9 px-4 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer",children:[l.jsx(cv,{className:"h-4 w-4"})," Speichern"]})]})]}),B&&l.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler: ",B]}),Q?l.jsxs("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 sm:p-10 flex flex-col items-center text-center gap-5",children:[l.jsx("div",{className:"h-14 w-14 rounded-2xl bg-primary/10 flex items-center justify-center",children:l.jsx(TM,{className:"h-7 w-7 text-primary"})}),l.jsxs("div",{className:"space-y-1.5 max-w-lg",children:[l.jsx("h3",{className:"text-base font-semibold text-foreground",children:"Lass Hermes dich kennenlernen"}),l.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Statt Fakten einzutippen: führ ein kurzes Onboarding-Gespräch mit Hermes. Was ihr besprecht, merkt sich das Gedächtnis automatisch — du musst nichts manuell pflegen."})]}),l.jsxs("div",{className:"w-full max-w-lg text-left",children:[l.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[l.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Sende das an Hermes"}),l.jsx("button",{onClick:se,className:"flex items-center gap-1 text-[10px] font-semibold text-muted-foreground hover:text-foreground transition-colors",children:m?l.jsxs(l.Fragment,{children:[l.jsx(qt,{className:"h-3 w-3 text-emerald-400"})," Kopiert"]}):l.jsxs(l.Fragment,{children:[l.jsx(uv,{className:"h-3 w-3"})," Kopieren"]})})]}),l.jsx("pre",{className:"w-full rounded-xl border border-border/60 bg-background/40 p-3.5 text-[11px] leading-relaxed text-foreground/90 whitespace-pre-wrap font-mono",children:ok})]}),l.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[l.jsxs("button",{onClick:X,className:"h-9 px-4 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer",children:[l.jsx(YN,{className:"h-4 w-4"})," Im Terminal starten"]}),l.jsxs("button",{onClick:se,className:"h-9 px-4 rounded-lg border border-border/60 bg-card text-xs font-semibold hover:border-primary/50 transition-all flex items-center gap-1.5 cursor-pointer",children:[m?l.jsx(qt,{className:"h-4 w-4 text-emerald-400"}):l.jsx(uv,{className:"h-4 w-4"})," Prompt kopieren"]})]}),l.jsxs("p",{className:"text-[11px] text-muted-foreground/70 flex items-center gap-1.5",children:[l.jsx(UM,{className:"h-3 w-3"})," Funktioniert genauso über Telegram —"," ",l.jsx("button",{onClick:()=>k(!0),className:"underline hover:text-foreground",children:"oder lieber manuell anlegen"}),"."]})]}):v==="graph"?l.jsx(fR,{children:l.jsx(y.Suspense,{fallback:l.jsx("div",{className:"h-[480px] rounded-2xl border border-border/60 bg-card/30 flex items-center justify-center text-xs text-muted-foreground",children:"Graph wird geladen…"}),children:l.jsx(hR,{data:U,onDelete:oe})})}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 p-1 bg-card/30 border border-border/40 rounded-xl w-fit",children:[l.jsx("button",{onClick:()=>t(""),className:ee("h-7 px-3 rounded-lg text-[10px] font-semibold uppercase tracking-wider transition-all cursor-pointer",e?"text-muted-foreground hover:text-foreground":"bg-primary text-primary-foreground"),children:"Alle"}),Cd.map(I=>{const M=dg[I]||ak,H=M.icon;return l.jsxs("button",{onClick:()=>t(I),className:ee("h-7 px-2.5 rounded-lg text-[10px] font-semibold uppercase tracking-wider transition-all cursor-pointer flex items-center gap-1",e===I?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:[l.jsx(H,{className:"h-3 w-3"})," ",M.label]},I)})]}),_.length===0?l.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center",children:"Keine Einträge für die aktuellen Filterkriterien gefunden."}):l.jsx("div",{className:"space-y-5",children:[...Cd,"__other"].map(I=>{const M=I==="__other"?ue:ve[I]||[];if(!M.length)return null;const H=dg[I]||ak,ie=H.icon;return l.jsxs("div",{children:[l.jsxs("div",{className:"flex items-center gap-2 mb-2 px-1",children:[l.jsx(ie,{className:ee("h-3.5 w-3.5",H.text)}),l.jsx("span",{className:ee("text-[11px] font-bold uppercase tracking-wider",H.text),children:H.label}),l.jsx("span",{className:"text-[10px] font-mono text-muted-foreground/60 bg-card/50 rounded px-1.5 py-0.5",children:M.length}),l.jsx("div",{className:"ml-1 h-px flex-1 bg-border/30"})]}),l.jsx("div",{className:"space-y-2",children:M.map(J=>{const Z=ik.has(J.source);return l.jsxs("div",{className:ee("flex items-start justify-between gap-4 p-3.5 rounded-xl border border-l-4 bg-card/45 backdrop-blur-md border-border/60 hover:border-primary/20 transition-all group",mR[J.category]||"border-l-muted"),children:[l.jsx("span",{className:"text-xs text-foreground leading-relaxed break-words whitespace-pre-wrap flex-1 min-w-0",children:J.content}),l.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[typeof J.score=="number"&&l.jsxs("span",{className:"text-[9px] font-mono text-primary bg-primary/10 px-1.5 py-0.5 rounded",title:"Relevanz der semantischen Suche",children:[Math.round(J.score*100),"%"]}),l.jsxs("span",{className:ee("flex items-center gap-1 text-[9px] font-mono px-1.5 py-0.5 rounded",Z?"text-emerald-400 bg-emerald-500/10":"text-muted-foreground/60 bg-background/20"),title:Z?"Automatisch gelernt":"Manuell angelegt",children:[Z&&l.jsx(fs,{className:"h-2.5 w-2.5"}),J.source]}),l.jsx("button",{onClick:()=>oe(J.id),"aria-label":"Eintrag löschen",title:"Eintrag löschen",className:"h-7 w-7 rounded-lg flex items-center justify-center border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 transition-all opacity-0 group-hover:opacity-100",children:l.jsx(of,{className:"h-3.5 w-3.5","aria-hidden":"true"})})]})]},J.id)})})]},I)})})]}),A]})}const pR=["chat","coding","fast","heavy"];function q5(){const{data:e,error:t}=ph(5e3),{data:r}=wi(),{showAlert:n,dialogElement:i}=ba(),o=Kn(),u=t?String(t):"",[c,f]=y.useState(!1),h=(r==null?void 0:r.models)??[];async function m(v){try{await we("/api/agent/brain",{method:"POST",body:JSON.stringify({model:v})}),n("Erledigt",`Hermes-Hirn zeigt jetzt auf das Alias '${v}'. Der Gateway-Dienst wurde neu gestartet.`),o.invalidateQueries({queryKey:Be.agentStatus}),f(!1)}catch(b){n("Fehler",`Wechsel fehlgeschlagen: ${b.message||b}`)}}async function g(v){try{await we("/api/agent/brain/set",{method:"POST",body:JSON.stringify({model_id:v})}),n("Erledigt","Agent-Hirn gewechselt (warm gehalten). Gateway wurde neugestartet."),o.invalidateQueries({queryKey:Be.agentStatus}),o.invalidateQueries({queryKey:Be.models}),f(!1)}catch(b){n("Fehler",`Wechsel fehlgeschlagen: ${b.message||b}`)}}return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Hermes Agenten-Cockpit"}),l.jsxs("p",{className:"text-sm text-muted-foreground",children:["Hermes ist ein autonomer Agent, der im Hintergrund der Box läuft (Port ",l.jsx("code",{children:":8642"}),") und seine eigene UI besitzt."]})]}),(e==null?void 0:e.terminal_url)&&l.jsxs("a",{href:lf(e.terminal_url),target:"_blank",rel:"noopener",className:ee("flex h-9 px-4 items-center gap-1.5 text-xs font-semibold rounded-lg transition-all cursor-pointer shadow-md shrink-0 self-start",e.terminal_reachable?"bg-primary text-primary-foreground hover:opacity-90 shadow-primary/10":"border border-border/60 text-muted-foreground bg-background/20"),children:[l.jsx(sh,{className:"h-4 w-4"}),l.jsx("span",{children:"Terminal öffnen"})]})]}),u&&l.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400 font-mono",children:["Status nicht lesbar (",u,")."]}),e&&l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10",children:[l.jsxs("div",{className:"mb-4 flex items-center gap-2",children:[l.jsx(Jr,{className:"h-4.5 w-4.5 text-primary"}),l.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Agent-Fluss"})]}),l.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-stretch gap-3",children:[l.jsxs("button",{onClick:()=>e.terminal_reachable&&window.open(lf(e.terminal_url),"_blank"),title:e.terminal_reachable?"Hermes-Terminal öffnen":"Terminal offline",className:"lg:w-40 shrink-0 rounded-xl border border-border/60 bg-background/30 p-3 text-left hover:border-primary/40 transition-all cursor-pointer flex flex-col justify-center",children:[l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx(oh,{className:ee("h-3.5 w-3.5",e.terminal_reachable?"text-emerald-400":"text-amber-500")}),l.jsx("span",{className:"text-xs font-semibold text-foreground",children:"Terminal"}),l.jsx("span",{className:ee("ml-auto h-1.5 w-1.5 rounded-full animate-pulse",e.terminal_reachable?"bg-emerald-500":"bg-amber-500")})]}),l.jsx("span",{className:"text-[10px] text-muted-foreground font-mono mt-0.5",children:"hermes chat · Clients"})]}),l.jsx("div",{className:"hidden lg:flex items-center text-muted-foreground text-lg select-none",children:"→"}),l.jsxs("div",{className:"flex-1 flex flex-col gap-2.5",children:[l.jsxs("div",{className:"rounded-xl border border-primary/40 bg-primary/5 px-3.5 py-2.5 flex items-center gap-2",children:[l.jsx(Jr,{className:"h-3.5 w-3.5 text-primary"}),l.jsx("span",{className:"text-xs font-semibold text-primary",children:"Agent Gateway"}),l.jsx("span",{className:"text-[11px] font-mono text-muted-foreground",children:":8642"}),l.jsxs("span",{className:ee("ml-auto inline-flex items-center gap-1.5 text-[10px] font-bold uppercase font-mono px-2 py-0.5 rounded-full border",e.gateway_reachable?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":"bg-red-500/10 text-red-400 border-red-500/20"),children:[l.jsx("span",{className:ee("h-1.5 w-1.5 rounded-full",e.gateway_reachable?"bg-emerald-500 animate-pulse":"bg-red-500")}),e.gateway_reachable?"online":"offline"]})]}),l.jsxs("div",{className:"grid gap-2.5 sm:grid-cols-3",children:[l.jsxs("button",{onClick:()=>f(!0),className:"rounded-xl border border-border/60 bg-background/30 p-3 text-left hover:border-primary/45 transition-all cursor-pointer",children:[l.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[l.jsx(pi,{className:"h-3.5 w-3.5 text-primary"}),l.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Hirn"}),l.jsx("span",{className:"ml-auto text-[9px] text-primary/70 font-bold uppercase",children:"wechseln →"})]}),l.jsx("div",{className:"text-[11px] font-mono font-medium text-foreground truncate mt-1",title:e.brain_model,children:e.brain_model||"chat"})]}),l.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/30 p-3",children:[l.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[l.jsx(Ku,{className:"h-3.5 w-3.5 text-primary"}),l.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Verdrahtung"})]}),l.jsxs("div",{className:"text-[10px] font-mono mt-1 flex flex-wrap gap-x-2 text-muted-foreground",children:[l.jsxs("span",{children:["Config: ",e.has_config?"✓":"—"]}),l.jsxs("span",{children:["Skills: ",e.has_skills?"✓":"—"]}),l.jsxs("span",{children:["Memory: ",e.has_memories?"✓":"—"]})]})]}),l.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/30 p-3",children:[l.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[l.jsx(jw,{className:"h-3.5 w-3.5 text-primary"}),l.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"PC"}),l.jsx("span",{className:ee("ml-auto h-1.5 w-1.5 rounded-full",e.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")})]}),l.jsxs("div",{className:ee("text-[11px] font-mono mt-1",e.pc_executor_reachable?"text-emerald-400":"text-muted-foreground"),children:[":7777 ",e.pc_executor_reachable?"verbunden":"offline"]})]})]})]})]})]}),l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 space-y-4 shadow-lg shadow-black/10",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(jw,{className:"h-5 w-5 text-primary"}),l.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"PC Verbindung"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:ee("h-2 w-2 rounded-full",e.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),l.jsx("span",{className:"text-xs font-semibold text-foreground",children:e.pc_executor_reachable?"Erreichbar":"Nicht verbunden"})]})]}),l.jsxs("div",{className:"grid gap-6 md:grid-cols-2 text-xs text-muted-foreground leading-relaxed text-left",children:[l.jsxs("div",{className:"space-y-3",children:[l.jsxs("p",{children:["Der ",l.jsx("strong",{className:"text-foreground",children:"Hermes PC Executor"})," läuft auf ",l.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:"192.168.178.98:7777"})," und ermöglicht Hermes den direkten Zugriff auf deinen Windows-PC — Shell-Befehle, Screenshots, Tastatureingaben."]}),l.jsxs("p",{children:["Hermes erreicht den PC über den MCP-Server ",l.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:"hermes-pc-control"}),", der automatisch beim Gateway-Start verbunden wird."]})]}),l.jsx("div",{className:"space-y-3",children:e.pc_executor_reachable?l.jsxs("div",{className:"p-3.5 bg-emerald-500/5 border border-emerald-500/20 rounded-xl space-y-1",children:[l.jsxs("div",{className:"text-emerald-400 font-semibold text-xs flex items-center gap-1.5",children:[l.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"PC Executor verbunden"]}),l.jsxs("p",{className:"text-[10px]",children:["Hermes kann jetzt per Telegram oder Terminal Befehle auf TobisNicerPC ausführen. Nutze ",l.jsx("code",{className:"text-foreground",children:"pc_shell"}),", ",l.jsx("code",{className:"text-foreground",children:"pc_screenshot"})," oder ",l.jsx("code",{className:"text-foreground",children:"pc_open"}),"."]})]}):l.jsxs("div",{className:"space-y-2",children:[l.jsx("h4",{className:"text-xs font-bold text-foreground",children:"PC Executor starten"}),l.jsxs("p",{children:["Starte ",l.jsx("code",{className:"text-foreground font-mono",children:"start.bat"})," im Ordner ",l.jsx("code",{className:"text-foreground font-mono",children:"client\\hermes-pc\\"})," auf dem Windows-PC und lasse das Fenster offen."]}),l.jsx("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[9px] text-cyan-300",children:"client\\hermes-pc\\start.bat"})]})})]})]}),!e.gateway_reachable&&l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 space-y-4 shadow-lg shadow-black/10 text-left",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(qs,{className:"h-5 w-5 text-amber-500"}),l.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"Hermes-Agent Diagnostics"})]}),l.jsxs("div",{className:"text-xs text-muted-foreground space-y-3 leading-relaxed",children:[l.jsx("p",{children:"Der Hermes-Dienst ist auf der Box derzeit offline oder kann sich nicht mit dem lokalen llama-swap verbinden."}),l.jsxs("p",{children:["Stelle sicher, dass die systemd-Dienste auf der Box laufen. Du kannst den Status im ",l.jsx("strong",{children:"OS & Updates Drawer"})," prüfen und die Dienste bei Bedarf neu starten."]}),l.jsxs("div",{className:"p-3.5 bg-background/25 rounded-xl border border-border/30 font-mono text-[10px] space-y-1",children:[l.jsx("div",{className:"text-muted-foreground/60",children:"# Dienste manuell auf der Box prüfen:"}),l.jsx("div",{className:"text-primary",children:"systemctl --user status hermes-gateway"}),l.jsx("div",{className:"text-primary",children:"systemctl --user status hermes-terminal"})]}),l.jsxs("p",{children:["Weitere Einrichtungsdetails (Brain-Konfiguration, MCP-Kopplungen, SSH-Tunneling und Such-Engines) findest du in der Dokumentationsdatei:",l.jsx("code",{className:"ml-1 px-1.5 py-0.5 rounded bg-muted/40 text-foreground border border-border/30",children:"docs/HERMES_SETUP.md"}),"."]})]})]})]}),e&&c&&l.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":"Hermes-Hirn konfigurieren",children:l.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[l.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[l.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[l.jsx(pi,{className:"h-4 w-4"}),l.jsx("span",{children:"Hermes-Hirn konfigurieren"})]}),l.jsx("button",{onClick:()=>f(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:l.jsx(gi,{className:"h-4 w-4"})})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Lane / Gateway-Alias"}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:pR.map(v=>{const b=e.brain_model===v;return l.jsxs("button",{onClick:()=>m(v),className:ee("px-3 py-1.5 rounded-lg text-xs font-mono font-semibold border transition-all cursor-pointer flex items-center gap-1.5",b?"border-primary/40 bg-primary/10 text-primary":"border-border/30 bg-background/20 text-foreground hover:bg-accent"),children:[v,b&&l.jsx(qt,{className:"h-3.5 w-3.5"})]},v)})}),l.jsxs("p",{className:"text-[10px] text-muted-foreground/70",children:["Schlank & flexibel: das Hirn folgt dem Lane-Routing (z.B. ",l.jsx("code",{className:"text-primary",children:"chat"})," = fast↔heavy)."]})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Installiertes Modell (warm gehalten)"}),l.jsx("div",{className:"space-y-1.5 max-h-56 overflow-y-auto pr-1",children:h.map(v=>{var j;const b=v.role==="hermes";return l.jsxs("button",{onClick:()=>!b&&g(v.name),disabled:b||v.incomplete,className:ee("w-full text-left px-3 py-2.5 rounded-lg text-xs flex items-center justify-between font-mono border transition-all",b?"border-indigo-500/40 bg-indigo-500/10 text-indigo-300":v.incomplete?"border-border/20 bg-background/10 text-muted-foreground/50 cursor-not-allowed":"border-border/30 bg-background/20 text-foreground hover:bg-accent cursor-pointer"),children:[l.jsxs("div",{className:"flex flex-col min-w-0",children:[l.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:(j=v.name.split("/").pop())==null?void 0:j.replace(/\.gguf$/i,"")}),l.jsxs("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:[v.capabilities.params_b?`${v.capabilities.params_b}B`:"?"," · ",v.capabilities.tools!=="no"?"Tools ✓":"ohne Tools",v.role&&` · Rolle: ${v.role}`]})]}),b?l.jsxs("span",{className:"text-[9px] font-bold uppercase text-indigo-300 shrink-0 flex items-center gap-1",children:[l.jsx(qt,{className:"h-3.5 w-3.5"})," Aktiv"]}):l.jsx("span",{className:"text-[9px] font-bold uppercase text-primary/70 shrink-0",children:"Warm setzen →"})]},v.name)})})]}),l.jsxs("div",{className:"text-[10px] text-amber-400/80 flex items-start gap-1.5 border-t border-border/20 pt-2.5",children:[l.jsx("span",{children:"💡"}),l.jsxs("span",{children:["Für einen ",l.jsx("strong",{children:"Agenten"}),' sind Hermes-Modelle (natives Tool-Calling) meist die robustere Wahl. Neues Modell? Erst über „Modell-Manager → Modelle finden" laden.']})]})]})}),i]})}function gR(){const{data:e}=ph(5e3),t=e!=null&&e.hermes_ui_url?lf(e.hermes_ui_url):void 0,r=e==null?void 0:e.hermes_ui_reachable;return l.jsxs("div",{className:"flex h-full flex-col gap-4",children:[l.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Hermes GUI"}),l.jsx("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:"Die eingebaute Hermes-Weboberfläche — Threads, sichtbare Tool-Calls & Chat, direkt im Cockpit statt im Terminal."})]}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground",children:[l.jsx("span",{className:`h-2 w-2 rounded-full ${r?"bg-emerald-500 animate-pulse":"bg-amber-500"}`}),r?"online":"offline"]}),t&&l.jsxs("a",{href:t,target:"_blank",rel:"noopener",className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-background/20 px-3 text-xs font-semibold text-muted-foreground transition-all hover:border-primary/50 hover:text-foreground",children:[l.jsx(sh,{className:"h-3.5 w-3.5"})," In neuem Tab"]})]})]}),t?l.jsxs("div",{className:"relative min-h-[68vh] flex-1 overflow-hidden rounded-2xl border border-border/60 bg-black/50 shadow-lg shadow-black/25",children:[r===!1&&l.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3 bg-black/70 text-center",children:[l.jsx(Er,{className:"h-8 w-8 text-amber-400"}),l.jsx("div",{className:"text-sm font-semibold text-amber-300",children:"Hermes-GUI nicht erreichbar"}),l.jsxs("p",{className:"max-w-sm text-[11px] leading-normal text-muted-foreground",children:["Der ",l.jsx("code",{className:"font-mono text-primary",children:"hermes-builtin-ui"}),"-Dienst (",l.jsx("code",{className:"font-mono",children:"hermes serve"}),") läuft nicht. Auf der Box: ",l.jsx("code",{className:"font-mono",children:"systemctl --user restart hermes-builtin-ui"}),"."]})]}),l.jsx("iframe",{src:t,title:"Hermes GUI",className:"h-full w-full border-0",style:{minHeight:"68vh"}})]}):l.jsxs("div",{className:"flex min-h-[68vh] flex-1 items-center justify-center rounded-2xl border border-border/60 bg-background/20 text-xs text-muted-foreground",children:[l.jsx(Jr,{className:"mr-2 h-4 w-4"})," Lade Hermes-GUI…"]})]})}function vR(){const{data:e}=ph(5e3),t=e!=null&&e.box_console_url?lf(e.box_console_url):void 0,r=e==null?void 0:e.box_console_reachable;return l.jsxs("div",{className:"flex h-full flex-col gap-4",children:[l.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Konsole"}),l.jsx("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:"Direkte Shell auf der Box — wie ein SSH-Fenster, mitten im Browser."})]}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground",children:[l.jsx("span",{className:ee("h-2 w-2 rounded-full",r?"bg-emerald-500 animate-pulse":"bg-amber-500")}),r?"online":"offline"]}),t&&l.jsxs("a",{href:t,target:"_blank",rel:"noopener",className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-background/20 px-3 text-xs font-semibold text-muted-foreground transition-all hover:border-primary/50 hover:text-foreground",children:[l.jsx(sh,{className:"h-3.5 w-3.5"})," In neuem Tab"]})]})]}),t?l.jsxs("div",{className:"relative min-h-[58vh] flex-1 overflow-hidden rounded-2xl border border-border/60 bg-black/50 shadow-lg shadow-black/25",children:[r===!1&&l.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3 bg-black/70 text-center",children:[l.jsx(Er,{className:"h-8 w-8 text-amber-400"}),l.jsx("div",{className:"text-sm font-semibold text-amber-300",children:"Konsole nicht erreichbar"}),l.jsxs("p",{className:"max-w-sm text-[11px] leading-normal text-muted-foreground",children:["Der ",l.jsx("code",{className:"font-mono text-primary",children:"box-console"}),"-Dienst (ttyd) läuft nicht. Auf der Box: ",l.jsx("code",{className:"font-mono",children:"systemctl --user restart box-console"}),"."]})]}),l.jsx("iframe",{src:t,title:"Box-Konsole",className:"h-full w-full border-0",style:{minHeight:"58vh"}})]}):l.jsxs("div",{className:"flex min-h-[58vh] flex-1 items-center justify-center rounded-2xl border border-border/60 bg-background/20 text-xs text-muted-foreground",children:[l.jsx(af,{className:"mr-2 h-4 w-4"})," Lade Konsole…"]})]})}const sk=[{id:"grundlagen",label:"Grundlagen"},{id:"moe",label:"MoE & Quant"},{id:"lokal",label:"Lokal betreiben"},{id:"modelle",label:"Modell-Landschaft"},{id:"gateway",label:"Gateway-Trick"},{id:"mcp",label:"MCP"},{id:"skills",label:"Skills"},{id:"memory",label:"Gedächtnis & RAG"},{id:"agents",label:"Agenten"},{id:"ide",label:"IDE anbinden"},{id:"tricks",label:"Tricks & Kniffe"},{id:"wartung",label:"Sicherheit & Wartung"},{id:"ressourcen",label:"Ressourcen"},{id:"troubleshooting",label:"Troubleshooting"}];function yR(e){var t;(t=document.getElementById(e))==null||t.scrollIntoView({behavior:"smooth",block:"start"})}function Ir({id:e,icon:t,color:r,title:n,kicker:i,children:o,wide:u}){return l.jsxs("section",{id:e,className:ee("scroll-mt-20 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-3",u&&"md:col-span-2"),children:[l.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[l.jsx(t,{className:ee("h-5 w-5 shrink-0",r)}),l.jsxs("div",{children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:n}),i&&l.jsx("span",{className:ee("text-[9px] font-mono",r),children:i})]})]}),l.jsx("div",{className:"text-xs text-muted-foreground space-y-2.5 leading-relaxed",children:o})]})}function La({children:e}){return l.jsxs("div",{className:"mt-1 rounded-xl border border-primary/25 bg-primary/[0.06] p-3 text-[11px] leading-relaxed",children:[l.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-primary mb-1",children:[l.jsx(fs,{className:"h-3 w-3"})," Bei dir konkret"]}),l.jsx("div",{className:"text-muted-foreground space-y-1",children:e})]})}function ze({children:e}){return l.jsx("code",{className:"rounded bg-background/40 border border-border/30 px-1.5 py-0.5 font-mono text-[10px] text-foreground",children:e})}function kt({href:e,name:t,note:r}){return l.jsxs("li",{className:"leading-relaxed",children:[l.jsxs("a",{href:e,target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold inline-flex items-center gap-0.5",children:[t,l.jsx(oM,{className:"h-3 w-3 opacity-60"})]}),l.jsxs("span",{className:"text-muted-foreground",children:[" — ",r]})]})}function xR(){const[e,t]=y.useState(!1);return l.jsxs("div",{className:"space-y-7",children:[l.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 flex items-start gap-4",children:[l.jsx("div",{className:"h-11 w-11 rounded-xl bg-primary/15 flex items-center justify-center shrink-0",children:l.jsx(sv,{className:"h-6 w-6 text-primary"})}),l.jsxs("div",{className:"space-y-1",children:[l.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Die AI-Bibel"}),l.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed max-w-2xl",children:["Allgemeines Nachschlagewerk für lokale & agentische AI — Konzepte, Tricks, Kniffe und kuratierte Quellen. ",l.jsx("span",{className:"font-semibold text-foreground",children:"Stand Juni 2026."})," ","Das meiste gilt überall; ",l.jsx("span",{className:"text-primary font-semibold",children:'„Bei dir konkret"'}),"-Kästen zeigen, was dein Stack daraus macht."]})]})]}),l.jsx("div",{className:"sticky top-0 z-10 -mx-1 px-1",children:l.jsx("div",{className:"rounded-xl border border-border/50 bg-card/70 backdrop-blur-xl p-2 shadow-lg shadow-black/20",children:l.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[l.jsx(lv,{className:"h-3.5 w-3.5 text-primary ml-1 mr-0.5 shrink-0"}),(e?sk:sk.slice(0,9)).map(r=>l.jsx("button",{onClick:()=>yR(r.id),className:"rounded-lg px-2.5 py-1 text-[11px] font-semibold text-muted-foreground hover:text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:r.label},r.id)),l.jsx("button",{onClick:()=>t(r=>!r),className:"rounded-lg px-2 py-1 text-[11px] font-semibold text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:e?"weniger":"+ mehr"})]})})}),l.jsxs("div",{className:"grid gap-5 md:grid-cols-2",children:[l.jsxs(Ir,{id:"grundlagen",icon:pi,color:"text-cyan-400",title:"1. Wie LLMs ticken",kicker:"Grundlagen",children:[l.jsxs("p",{children:["Ein LLM ist im Kern ein ",l.jsx("strong",{children:"Wahrscheinlichkeits-Rechner für das nächste Token"}),' (Wortteil). Es „weiß" nichts — es setzt fort, was statistisch am plausibelsten ist. Daraus folgt fast alles andere.']}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Tokens"})," sind die Einheit — ~¾ Wort. Ein- und Ausgabe werden in Tokens gezählt."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Kontextfenster"}),' = wie viele Tokens das Modell gleichzeitig „sehen" kann (Prompt + Antwort). Voll = Anfang fällt raus.']}),l.jsxs("li",{children:[l.jsx("strong",{children:"Parameter"})," = die trainierten Gewichte. Training ist einmalig, ",l.jsx("strong",{children:"Inferenz"})," ist jede Antwort."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Temperatur / Sampling"})," steuert Zufall: niedrig = deterministisch/präzise (Code), hoch = kreativ."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Halluzination"})," ist kein Bug, sondern die Kehrseite des Ratens. Gegenmittel: Grounding via Tools/RAG, Verifikation."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Reasoning-/Thinking-Modelle"}),' „denken" in unsichtbaren Tokens vor der Antwort — besser bei Logik, langsamer/teurer.']})]})]}),l.jsxs(Ir,{id:"moe",icon:HN,color:"text-violet-400",title:"2. MoE & Quantisierung",kicker:"Mehr Modell, weniger Last",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"Mixture of Experts (MoE):"})," Statt für jedes Token das ganze Netz zu aktivieren, wählt ein",l.jsx("em",{children:" Router"})," nur ein paar spezialisierte ",l.jsx("em",{children:"Experts"}),' aus. So läuft ein 100B-Modell mit der aktiven Rechenlast eines viel kleineren (z.B. „122B total / 10B aktiv").']}),l.jsxs("p",{children:[l.jsx("strong",{children:"Quantisierung:"})," Gewichte von FP16 auf weniger Bits eindampfen — kleiner & schneller bei minimalem Qualitätsverlust. Faustregel:"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx(ze,{children:"Q8"})," nahezu verlustfrei, größter Footprint"]}),l.jsxs("li",{children:[l.jsx(ze,{children:"Q6_K"})," sehr gut, guter Mittelweg"]}),l.jsxs("li",{children:[l.jsx(ze,{children:"Q4_K_M"})," der Sweet-Spot für lokal — viel Modell pro GB"]})]}),l.jsxs(La,{children:["VRAM/RAM ist die harte Grenze — ",l.jsx("strong",{children:"darum"})," ist beides hier zentral: MoE lässt 100B+ überhaupt laufen, Quant entscheidet, was reinpasst. Dein Line-up fährt durchweg ",l.jsx(ze,{children:"Q4_K_M"}),"/",l.jsx(ze,{children:"Q6_K"}),"."]})]}),l.jsxs(Ir,{id:"lokal",icon:uh,color:"text-emerald-400",title:"3. Lokal betreiben: Engines & Backends",kicker:"llama.cpp, vLLM & Co.",wide:!0,children:[l.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"Inference-Engines"})," — was die Modelle ausführt:"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"llama.cpp / GGUF"})," — der De-facto-Standard für lokal, CPU+GPU, läuft überall."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Ollama / LM Studio"})," — bequeme Wrapper mit One-Click-Downloads (LM Studio mit GUI)."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"vLLM / TGI"})," — Server-Engines für maximalen Durchsatz auf dicken GPUs."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"llama-swap"})," — Proxy, der ",l.jsx("em",{children:"mehrere"})," Modelle hinter ",l.jsx("em",{children:"einem"})," Port hält und je nach Anfrage automatisch ein-/aussattelt."]})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"GPU-Backends"})," — wie gerechnet wird:"]}),l.jsx("ul",{className:"list-disc pl-4 space-y-1",children:l.jsxs("li",{children:[l.jsx(ze,{children:"CUDA"})," NVIDIA · ",l.jsx(ze,{children:"ROCm"})," AMD · ",l.jsx(ze,{children:"Vulkan"})," herstellerübergreifend · ",l.jsx(ze,{children:"Metal"})," Apple"]})}),l.jsxs("p",{className:"pt-1",children:[l.jsx("strong",{children:"Begriffe, die immer wiederkommen:"})," Kontext (",l.jsx(ze,{children:"-c"}),"), Slots/Parallel, KV-Cache, Modell-TTL/Swap, ",l.jsx("strong",{children:"Speculative Decoding"})," (kleines Draft-Modell rät voraus → schneller)."]})]})]}),l.jsxs(La,{children:["Deine Box hat eine AMD-APU (gfx1151). ",l.jsx("strong",{children:"Einschränkung & Trick:"})," dort schlägt ",l.jsx(ze,{children:"Vulkan/RADV"})," das offizielle ",l.jsx(ze,{children:"ROCm"})," bei Token-Generierung um ~12–22 % — darum läuft die Engine auf Vulkan.",l.jsx(ze,{children:"llama-swap"})," hält die Alltags-Hirne dauerwarm; ",l.jsx(ze,{children:"coder"})," nutzt Spec-Decoding."]})]}),l.jsxs(Ir,{id:"modelle",icon:nf,color:"text-sky-400",title:"4. Modell-Landschaft",kicker:"Stand Juni 2026",wide:!0,children:[l.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{children:l.jsx("strong",{children:"Open-Weight (lokal nutzbar):"})}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Qwen"})," (Alibaba) — starke Allrounder + Coder + Vision, viele Größen/MoE."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Llama"})," (Meta), ",l.jsx("strong",{children:"Gemma"})," (Google), ",l.jsx("strong",{children:"Phi"})," (Microsoft) — solide Open-Familien."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"DeepSeek"}),", ",l.jsx("strong",{children:"Mistral/Mixtral"})," — kräftige MoE-/Reasoning-Modelle."]})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{children:l.jsx("strong",{children:"Frontier (Cloud-API):"})}),l.jsx("ul",{className:"list-disc pl-4 space-y-1",children:l.jsxs("li",{children:[l.jsx("strong",{children:"Claude"})," (Anthropic), ",l.jsx("strong",{children:"GPT"})," (OpenAI), ",l.jsx("strong",{children:"Gemini"})," (Google) — die stärksten Allrounder, aber nicht lokal."]})}),l.jsxs("p",{className:"pt-1",children:[l.jsx("strong",{children:"Modellwahl nach Aufgabe:"})," schnelles Alltags-Hirn · großes Logik-Hirn für harte Tasks · dediziertes Code-Modell · multimodal für Bilder · Embedding-Modell fürs Gedächtnis."]})]})]}),l.jsx("p",{className:"text-[11px] italic",children:'Leaderboards (HF, LMArena) sind grobe Orientierung — der einzige Benchmark, der zählt, ist deine eigene Aufgabe. Vorsicht vor „Benchmaxxing".'}),l.jsxs(La,{children:["Dein Line-up via llama-swap: ",l.jsx(ze,{children:"fast"})," (Alltag/Vision/MoE) · ",l.jsx(ze,{children:"heavy"})," (schwere Logik) ·",l.jsx(ze,{children:"coder"})," · ",l.jsx(ze,{children:"scout"})," · ",l.jsx(ze,{children:"vision"})," · ",l.jsx(ze,{children:"embed"})," (fürs Gedächtnis) ·",l.jsx(ze,{children:"hermes"})," (Agent-Hirn). Verwalten/tauschen im ",l.jsx("strong",{children:"Modell-Manager"}),"-Tab."]})]}),l.jsxs(Ir,{id:"gateway",icon:RM,color:"text-amber-400",title:"5. Der Gateway-Trick",kicker:"OpenAI-kompatibel = überall andocken",children:[l.jsxs("p",{children:["Fast jedes AI-Tool spricht heute das ",l.jsx("strong",{children:"OpenAI-Format"})," (",l.jsx(ze,{children:"/v1/chat/completions"}),"). Ein",l.jsx("strong",{children:" Gateway"})," davor gibt dir ",l.jsx("em",{children:"einen"})," Endpunkt für alles: zentrales Key-Management, Logging und transparentes ",l.jsx("strong",{children:"Routing"})," — der Client merkt nicht, welches Modell tatsächlich antwortet."]}),l.jsxs("p",{children:["Die ",l.jsx(ze,{children:"model:auto"}),'-Idee: du sagst „auto", das Gateway wählt das passende Modell je nach Anfrage und lädt es bei Bedarf.']}),l.jsxs(La,{children:["Dein Gateway: ",l.jsx(ze,{children:"http://192.168.178.151:9001/v1"}),", Model ",l.jsx(ze,{children:"auto"}),", API-Key beliebig. Fertige Configs erzeugt dir der ",l.jsx("strong",{children:"Verbinden"}),"-Tab live — eine Wahrheit, kein Abtippen."]})]}),l.jsxs(Ir,{id:"mcp",icon:xu,color:"text-violet-400",title:"6. MCP — Werkzeuge für Agenten",kicker:"USB-C für AI-Tools",children:[l.jsxs("p",{children:["Das ",l.jsx("strong",{children:"Model Context Protocol"})," (offen, von Anthropic initiiert) standardisiert, wie ein AI-Client mit externen Tools & Datenquellen spricht. Ein ",l.jsx("strong",{children:"MCP-Server"})," bringt Fähigkeiten: Dateien, Web-Fetch, Git, Datenbanken, eigene APIs."]}),l.jsx("p",{children:"Statt für jeden Editor eigene Tools zu schreiben, bindet jeder MCP-fähige Agent denselben Server an."}),l.jsxs("div",{className:"flex items-start gap-1.5 rounded-xl border border-amber-500/25 bg-amber-500/[0.06] p-2.5 text-[11px]",children:[l.jsx(WN,{className:"h-3.5 w-3.5 text-amber-400 shrink-0 mt-0.5"}),l.jsxs("span",{children:[l.jsx("strong",{children:"Sicherheit:"})," ein MCP-Server hat echten Zugriff (Dateien, Shell). Nur vertrauenswürdige Server laufen lassen, Rechte minimal halten, Quelle prüfen."]})]})]}),l.jsxs(Ir,{id:"skills",icon:$M,color:"text-emerald-400",title:"7. Agent Skills",kicker:"Wiederverwendbare Fähigkeiten",children:[l.jsxs("p",{children:["Ein ",l.jsx("strong",{children:"Skill"})," ist ein Ordner mit einer ",l.jsx(ze,{children:"SKILL.md"})," (YAML-Kopf + Anleitung, optional Skripte/Beispiele), den der Agent für eine bestimmte Aufgabe lädt — z.B. TDD, Code-Vereinfachung, API-Design."]}),l.jsx("pre",{className:"p-2.5 bg-background/25 rounded-lg border border-border/30 font-mono text-[9px] text-foreground overflow-x-auto whitespace-pre",children:`---
name: tdd-pro
description: Treibt Entwicklung mit strikter TDD-Praxis
---
# Instructions
-...`}),l.jsxs("p",{children:["Suchen & installieren über die ",l.jsx("strong",{children:"skills.sh"}),"-Registry: ",l.jsx(ze,{children:"npx skills find"})," /",l.jsx(ze,{children:"npx skills add owner/repo"}),". Skills liegen projektweit (vom Agent beim Start gelesen) oder global."]})]}),l.jsxs(Ir,{id:"memory",icon:yM,color:"text-indigo-400",title:"8. Gedächtnis & RAG",kicker:"Modelle vergessen — du nicht",wide:!0,children:[l.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{children:["LLMs sind ",l.jsx("strong",{children:"zustandslos"}),": ohne Hilfe weiß das Modell beim nächsten Turn nichts mehr. Gedächtnis lebt extern."]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Embeddings"})," wandeln Text in Vektoren; ein ",l.jsx("strong",{children:"Vektor-Store"})," (Chroma, …) findet semantisch Ähnliches."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"RAG"})," = relevante Fakten vor dem Turn heraussuchen und einblenden statt alles im Prompt zu halten."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Long-Context vs. RAG:"}),' riesige Fenster sind bequem, aber teuer & „lost in the middle" — gezieltes Abrufen skaliert besser.']})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"Auto-lernendes Gedächtnis"})," ist die nächste Stufe:"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:["extrahiert Fakten ",l.jsx("em",{children:"selbst"})," aus Gesprächen, statt nur abzuspeichern"]}),l.jsx("li",{children:"dedupliziert semantisch (kein 10× derselbe Fakt)"}),l.jsxs("li",{children:[l.jsx("strong",{children:"Graph-Sicht"})," = Fakten ",l.jsx("em",{children:"plus"})," ihre Beziehungen, nicht nur eine flache Liste"]})]})]})]}),l.jsxs(La,{children:["Dein Gedächtnis (Tab ",l.jsx("strong",{children:"Gedächtnis"}),") ist ",l.jsx("strong",{children:"Mem0"}),"-basiert: auto-lernend & semantisch, ",l.jsx("strong",{children:"graph-first"})," dargestellt, mit 4-Typen-Taxonomie (",l.jsx(ze,{children:"Identität"})," · ",l.jsx(ze,{children:"Wissen"})," · ",l.jsx(ze,{children:"Regeln"})," · ",l.jsx(ze,{children:"Ereignisse"}),"). Einstieg über ein kurzes ",l.jsx("strong",{children:"Hermes-Onboarding-Gespräch"})," im Terminal — der Agent lernt im Hintergrund nach jedem Turn.",l.jsx("br",{}),l.jsx("strong",{children:"Gotcha:"})," ein gelöschter Fakt kann wieder auftauchen, solange die Original-Nachricht noch im Verlauf steht (additive Extraktion)."]})]}),l.jsxs(Ir,{id:"agents",icon:yn,color:"text-rose-400",title:"9. Autonome Agenten betreiben",kicker:"LLM in der Schleife",wide:!0,children:[l.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{children:["Ein ",l.jsx("strong",{children:"Agent"})," ist ein LLM in einer Schleife mit Tools:",l.jsx("em",{children:" denken → Tool aufrufen → Ergebnis beobachten → weiter"}),", bis das Ziel erreicht ist."]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Guardrails"})," (Hard-Stop, Tool-Limits) verhindern Endlos-Loops, wenn ein Tool fehlt oder hängt."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Kontext-Hygiene"})," ist die wichtigste Disziplin: frische Sessions starten — vollgemüllte Historien werden langsam, driften und halluzinieren."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Kanäle:"})," CLI/Terminal, Chat-UI, Messaging (z.B. Telegram), reine API."]})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"Least Privilege:"})," gib einem Agenten nur die Tools, die er wirklich braucht. Kritische Aktionen (Shell auf dem Host, Löschen, Geld/Deploys) hinter menschliche Freigabe."]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Was sich vollautomatisch lohnt:"})," Modell-Routing, Hintergrund-Gedächtnis, Recherche. ",l.jsx("strong",{children:"Was Freigabe braucht:"})," Systembefehle, Updates/Reboots, permanentes Löschen."]})]})]}),l.jsxs(La,{children:[l.jsx("strong",{children:"Hermes"})," ist dein Box-Agent (Hirn = ",l.jsx(ze,{children:"fast"}),"). Reden tust du mit ihm im",l.jsx("strong",{children:" Terminal"}),"-Tab (Web-Terminal via ttyd) oder per ",l.jsx("strong",{children:"Telegram"}),". Er hat MCP-Server für Gedächtnis, Stack-Steuerung, Web-Fetch und ",l.jsx("strong",{children:"PC-Steuerung"})," (Executor auf deinem Windows-PC). Status & Verdrahtung im ",l.jsx("strong",{children:"Hermes"}),"-Tab."]})]}),l.jsxs(Ir,{id:"ide",icon:Ts,color:"text-cyan-400",title:"10. IDE / Editor anbinden",kicker:"Vibe-Coding lokal",children:[l.jsxs("p",{children:["Jede ",l.jsx("strong",{children:"OpenAI-kompatible"})," IDE oder Extension lässt sich auf einen lokalen Server umbiegen — Base-URL + Model eintragen, fertig:"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Cline"})," & ",l.jsx("strong",{children:"Roo Code"})," (VS-Code-Extensions, voller Agent + MCP)"]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Cursor"})," (VS-Code-Fork mit Top-Autocomplete)"]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Continue"}),", ",l.jsx("strong",{children:"aider"})," (CLI), ",l.jsx("strong",{children:"OpenCode"})," (Desktop)"]})]}),l.jsxs(La,{children:["Tipp den Kram nicht ab: der ",l.jsx("strong",{children:"Verbinden"}),"-Tab generiert die fertige Config (inkl. MCP-Gedächtnis) pro Tool zum Kopieren. Essenz: Base ",l.jsx(ze,{children:"…:9001/v1"}),", Model ",l.jsx(ze,{children:"auto"}),", Key beliebig."]})]}),l.jsx(Ir,{id:"tricks",icon:OM,color:"text-amber-400",title:"11. Tricks & Kniffe",kicker:"Was im Alltag wirklich spart",wide:!0,children:l.jsx("div",{className:"grid md:grid-cols-3 gap-3",children:[["Kontext sauber halten","Neue Session statt Mega-Historie. Drift, Tempo und Halluzination hängen direkt am Kontext-Müll."],["Plan-then-Act","Erst Plan/Vorgehen bestätigen lassen, dann ausführen. Spart teure Holzwege."],["Gezielte Edits","Nie ganze Dateien überschreiben für eine Zeile — Such-/Ersetz-Tools nutzen. Weniger Tokens, weniger Fehler."],["Non-interaktive Befehle","Keine interaktiven Prompts im Agent-Terminal; lange Tasks als Background-Job. Sonst hängt der Loop."],["DevTools koppeln","Browser-/Konsolen-Zugriff geben — der Agent liest echte Fehler statt blind zu raten."],["Richtige Modellwahl","Schnelles Hirn für Alltag, großes für harte Logik, Coder fürs Coden. Nicht alles mit der Kanone."],["Akzeptanzkriterien","Sag konkret, woran „fertig“ erkennbar ist. Vage Prompts → vage Ergebnisse."],["Verifizieren statt vertrauen","Tests/Live-Check fordern. „Sollte funktionieren“ ist kein Beweis."],["Regeln ins Gedächtnis","Wiederkehrende Vorlieben/Konventionen einmal ablegen — der Agent zieht sie selbst."]].map(([r,n])=>l.jsxs("div",{className:"space-y-1 p-3 bg-background/10 rounded-xl border border-border/30",children:[l.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-foreground text-[11px]",children:[l.jsx(ga,{className:"h-3 w-3 text-amber-400"})," ",r]}),l.jsx("p",{className:"text-[11px]",children:n})]},r))})}),l.jsx(Ir,{id:"wartung",icon:Qs,color:"text-emerald-400",title:"12. Sicherheit & Wartung",kicker:"Damit's auch morgen noch läuft",wide:!0,children:l.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[l.jsx(kM,{className:"h-3.5 w-3.5 text-emerald-400"})," Goldene Regeln"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Ein ungetesteter Restore ist kein Backup."})," Wiederherstellung mindestens einmal echt durchspielen."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Updates können Dinge still zerschießen"})," — gerade bei AI-Stacks (Embeddings, Provider-Interna). Versionen pinnen, Smoke-Test, Post-Check."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Least Privilege"})," für Agenten, MCP-Server und PC-Zugriff. Kritisches hinter Freigabe."]})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[l.jsx(Gu,{className:"h-3.5 w-3.5 text-emerald-400"})," Bei dir im SystemDrawer"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Backup:"})," tägliches Voll-Zustands-Backup, getesteter ",l.jsx(ze,{children:"restore.sh"})," (Doku in ",l.jsx(ze,{children:"docs/BACKUP.md"}),")."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Updates:"})," git-basierter Update-Check; ",l.jsx("strong",{children:"Hermes-Update-Button"})," mit anschließendem ",l.jsx("strong",{children:"Gehirn-Check"})," (rot, falls das Update das Gedächtnis zerschießt) + Engine-Update."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Dienste & Gefahrenzone:"})," Restart/Logs pro Dienst, kritische Eingriffe getrennt."]})]}),l.jsx("p",{className:"text-[10px] italic",children:'Erreichbar über das System-Icon → Tab „Wartung".'})]})]})}),l.jsxs("section",{id:"ressourcen",className:"scroll-mt-20 md:col-span-2 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-4",children:[l.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[l.jsx(lv,{className:"h-5 w-5 text-primary"}),l.jsxs("div",{children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"13. Kuratierte Ressourcen & Links"}),l.jsx("span",{className:"text-[9px] font-mono text-primary",children:"Sauber geordnet — die guten Quellen"})]})]}),l.jsxs("div",{className:"grid md:grid-cols-2 gap-5 text-xs",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[l.jsx(af,{className:"h-3.5 w-3.5 text-sky-400"})," Modelle & Engines"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[l.jsx(kt,{href:"https://huggingface.co/models",name:"Hugging Face",note:"das Repository für offene Modelle (GGUF, Embeddings, Datasets)."}),l.jsx(kt,{href:"https://github.com/ggml-org/llama.cpp",name:"llama.cpp",note:"die Referenz-Engine für lokale Inferenz."}),l.jsx(kt,{href:"https://github.com/mostlygeek/llama-swap",name:"llama-swap",note:"mehrere Modelle hinter einem Port, Auto-Swap."}),l.jsx(kt,{href:"https://ollama.com",name:"Ollama",note:"einfachster Einstieg, One-Command-Modelle."}),l.jsx(kt,{href:"https://lmstudio.ai",name:"LM Studio",note:"lokale GUI zum Stöbern, Laden & Chatten."}),l.jsx(kt,{href:"https://github.com/vllm-project/vllm",name:"vLLM",note:"Hochdurchsatz-Serving auf dicken GPUs."})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[l.jsx(bu,{className:"h-3.5 w-3.5 text-violet-400"})," MCP & Skills"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[l.jsx(kt,{href:"https://modelcontextprotocol.io",name:"MCP — offizielle Doku",note:"Spezifikation & Einstieg."}),l.jsx(kt,{href:"https://github.com/modelcontextprotocol/servers",name:"Offizielle MCP-Server",note:"filesystem, git, postgres, fetch & mehr."}),l.jsx(kt,{href:"https://smithery.ai",name:"Smithery",note:"Registry zum Suchen & Auto-Installieren von MCP-Servern."}),l.jsx(kt,{href:"https://glama.ai/mcp/servers",name:"Glama MCP Registry",note:"kuratierte Community-Datenbank."}),l.jsx(kt,{href:"https://skills.sh",name:"skills.sh",note:"Registry & CLI für Agent-Skills."})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[l.jsx(yn,{className:"h-3.5 w-3.5 text-rose-400"})," Agenten & Frameworks"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[l.jsx(kt,{href:"https://github.com/NousResearch/hermes-agent",name:"Hermes Agent (Nous)",note:"der Agent, der auf deiner Box läuft."}),l.jsx(kt,{href:"https://docs.claude.com",name:"Anthropic / Claude Docs",note:"API, Tool-Use, Agent SDK, MCP."}),l.jsx(kt,{href:"https://github.com/cline/cline",name:"Cline",note:"autonomer Coding-Agent für VS Code."}),l.jsx(kt,{href:"https://aider.chat",name:"aider",note:"AI-Pair-Programming im Terminal, git-nativ."}),l.jsx(kt,{href:"https://continue.dev",name:"Continue",note:"Open-Source-Autopilot für IDEs."})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[l.jsx(sv,{className:"h-3.5 w-3.5 text-amber-400"})," Lernen & Community"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[l.jsx(kt,{href:"https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview",name:"Prompt-Engineering (Anthropic)",note:"die beste praktische Anleitung."}),l.jsx(kt,{href:"https://github.com/anthropics/anthropic-cookbook",name:"Anthropic Cookbook",note:"lauffähige Rezepte für Tools, RAG, Agenten."}),l.jsx(kt,{href:"https://www.promptingguide.ai",name:"Prompt Engineering Guide",note:"herstellerneutrales Nachschlagewerk."}),l.jsx(kt,{href:"https://github.com/mem0ai/mem0",name:"Mem0",note:"die auto-lernende Memory-Schicht hinter deinem Gedächtnis."}),l.jsx(kt,{href:"https://www.reddit.com/r/LocalLLaMA/",name:"r/LocalLLaMA",note:"der Puls der lokalen-LLM-Szene."})]})]})]})]}),l.jsx(Ir,{id:"troubleshooting",icon:PM,color:"text-rose-400",title:"14. Troubleshooting",kicker:"Wenn's hakt",wide:!0,children:l.jsxs("ul",{className:"space-y-2 list-disc pl-4",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Keine Verbindung?"})," Selbes LAN wie die Box? IP/Port stimmen (",l.jsx(ze,{children:":9001"}),")? Backend-Status in der ",l.jsx("strong",{children:"Zentrale"})," prüfen."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Modell antwortet nicht / langsam?"})," In der ",l.jsx("strong",{children:"Zentrale → Dienste"})," schauen, ob ",l.jsx(ze,{children:"llama-swap"})," grün ist; sonst Restart. Erstes Token nach Swap dauert (Modell lädt)."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Agent dreht durch / halluziniert?"})," Frische Session im ",l.jsx("strong",{children:"Terminal"})," starten — meist ist es vollgemüllter Kontext."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Gedächtnis findet nichts?"})," Embedding-Dienst online? Semantisch suchen (Sinn statt exaktem Wort). Leeres Gedächtnis → Hermes-Onboarding starten."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Update hat etwas zerschossen?"})," Genau dafür gibt es Backup & ",l.jsx(ze,{children:"restore.sh"})," — den getesteten Restore fahren, dann Ursache suchen."]})]})})]}),l.jsx("p",{className:"text-center text-[10px] text-muted-foreground/50 pt-2",children:"Mission Control 2 · AI-Bibel · Stand Juni 2026 — lebendes Dokument, wächst mit dem Stack."})]})}function xR({title:e,hint:t}){return l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-xl font-semibold",children:e}),l.jsx("p",{className:"text-sm text-muted-foreground",children:t})]}),l.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 rounded-xl border border-dashed border-border bg-card/50 py-20 text-center",children:[l.jsx(vM,{className:"h-8 w-8 text-muted-foreground"}),l.jsx("div",{className:"text-sm text-muted-foreground",children:"Kommt in einer späteren Phase."})]})]})}const lk=[{id:"mission-control-2",label:"Mission Control",type:"user",reach:"gateway (integr"},{id:"hermes-gateway",label:"Hermes Gateway",type:"user",reach:"hermes-gateway"},{id:"mem0-service",label:"Mem0 (Gedächtnis)",type:"user",reach:"mem0"},{id:"voice-service",label:"Voice (Sprache)",type:"user",reach:"voice"},{id:"hermes-terminal",label:"Hermes Terminal",type:"user",reach:"hermes-terminal"},{id:"llama-swap",label:"Llama Swap",type:"system",reach:"llama-swap"}];function Xl({icon:e,iconClass:t,name:r,status:n,available:i,busy:o,actionLabel:u,onAction:c}){return l.jsxs("div",{className:ee("flex items-center gap-3 rounded-lg border px-3 py-2",i?"border-amber-500/30 bg-amber-500/5":"border-border/50 bg-background/20"),children:[l.jsx(e,{className:ee("h-4 w-4 shrink-0",t)}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"text-xs text-foreground truncate",children:r}),l.jsx("div",{className:ee("text-[10px] truncate",i?"text-amber-400/90":"text-muted-foreground"),children:n})]}),l.jsx("button",{onClick:c,disabled:!i||o,className:ee("text-[11px] font-semibold rounded-lg px-2.5 py-1 transition-colors shrink-0",i?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer":"border border-border/50 text-muted-foreground/40 cursor-default"),children:o?"…":u})]})}function bR({label:e,ok:t,system:r,busy:n,onRestart:i,onLogs:o}){return l.jsxs("div",{className:"flex items-center gap-2.5 rounded-lg border border-border/50 bg-background/20 px-3 py-2",children:[l.jsx("span",{className:ee("w-1.5 h-1.5 rounded-full shrink-0",t===!0?"bg-emerald-500":t===!1?"bg-red-500":"bg-muted-foreground/40")}),l.jsxs("span",{className:"flex-1 text-xs text-foreground truncate",children:[e,r&&l.jsx("span",{className:"text-[9px] text-muted-foreground",children:" (root)"})]}),l.jsx("button",{onClick:i,disabled:n,title:"Neu starten",className:"text-muted-foreground hover:text-primary transition-colors disabled:opacity-50",children:l.jsx(ps,{className:ee("h-3.5 w-3.5",n&&"animate-spin")})}),l.jsx("button",{onClick:o,title:"Logs ansehen",className:"text-muted-foreground hover:text-primary transition-colors",children:l.jsx(xM,{className:"h-3.5 w-3.5"})})]})}function fg(e){return e==null?"":e>1024**3?`${(e/1024**3).toFixed(2)} GB`:`${(e/1024**2).toFixed(1)} MB`}const wR=/\b(error|fehler|fail(ed|ure)?|fatal|critical|crit|panic|traceback|exception|denied|refused|unable|emerg|alert|oom|killed)\b/i,kR=/\b(warn(ing)?|deprecat\w*|retry(ing)?|timeout|timed out|degraded|missing|not found|nicht gefunden)\b/i;function jR(e){return wR.test(e)?"error":kR.test(e)?"warn":"info"}const SR={error:"text-red-400",warn:"text-amber-300",info:"text-cyan-300/80"};function NR({service:e,text:t,loading:r,logStatus:n,onRefresh:i,onOpenSettings:o}){const[u,c]=y.useState(!1),[f,h]=y.useState(""),m=y.useRef(null),g=y.useMemo(()=>t?t.split(`
-`).map(S=>({t:S,level:jR(S)})):[],[t]),v=y.useMemo(()=>g.filter(S=>S.level!=="info").length,[g]),b=f.trim().toLowerCase(),j=g.filter(S=>(!u||S.level!=="info")&&(!b||S.t.toLowerCase().includes(b))),k=n==="password_required"||n==="incorrect_password";return l.jsxs("div",{className:"flex-1 flex flex-col min-h-[300px] border border-border/60 bg-black/50 rounded-xl overflow-hidden shadow-inner",children:[l.jsxs("div",{className:"flex h-10 items-center justify-between gap-2 px-3 border-b border-border/40 bg-black/30 shrink-0",children:[l.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground shrink-0",children:[l.jsx(YN,{className:"h-3 w-3 text-primary"}),l.jsx("span",{className:"hidden sm:inline",children:"stdout/stderr —"})," ",e]}),l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsxs("div",{className:"relative",children:[l.jsx(lh,{className:"pointer-events-none absolute left-2 top-1/2 h-3 w-3 -translate-y-1/2 text-muted-foreground"}),l.jsx("input",{value:f,onChange:S=>h(S.target.value),placeholder:"filtern…",className:"h-7 w-24 sm:w-36 rounded-md border border-border/50 bg-background/40 pl-6 pr-2 text-[10px] text-foreground outline-none focus:border-primary/50"})]}),l.jsxs("button",{onClick:()=>c(S=>!S),title:"Nur Fehler und Warnungen zeigen",className:ee("flex h-7 items-center gap-1 rounded-md border px-2 text-[10px] font-semibold transition-colors",u?"border-amber-500/50 bg-amber-500/15 text-amber-300":"border-border/50 bg-background/20 text-muted-foreground hover:text-foreground"),children:[l.jsx(Er,{className:"h-3 w-3"}),"Nur Probleme",v>0?` (${v})`:""]}),l.jsx("button",{onClick:i,disabled:r,title:"Neu laden",className:"flex h-7 w-7 items-center justify-center rounded-md border border-border/50 bg-background/20 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",children:l.jsx(ps,{className:ee("h-3 w-3",r&&"animate-spin")})})]})]}),l.jsx("div",{ref:m,className:"flex-1 overflow-y-auto p-3 text-[10px] font-mono leading-relaxed scrollbar-thin select-text",children:k?l.jsxs("div",{className:"flex h-full flex-col items-center justify-center space-y-3 p-6 text-center",children:[l.jsx(Er,{className:"h-8 w-8 text-amber-400 animate-pulse animate-duration-1000"}),l.jsx("div",{className:"text-xs font-semibold text-amber-300",children:n==="incorrect_password"?"Falsches Sudo-Passwort hinterlegt.":"Sudo-Passwort für systemd-Dienste erforderlich."}),l.jsxs("p",{className:"max-w-xs text-[10px] leading-normal text-muted-foreground",children:["Für das Auslesen der systemd-Logs von ",e," werden Root-Rechte benötigt. Hinterlege dein Passwort in den Einstellungen."]}),l.jsx("button",{onClick:o,className:"mt-2 rounded-md bg-primary px-3 py-1.5 text-[10px] font-semibold text-primary-foreground transition-colors hover:bg-primary/95",children:"Sudo-Passwort eintragen"})]}):r&&!t?l.jsx("span",{className:"text-muted-foreground",children:"Lade Logs…"}):g.length===0?l.jsx("span",{className:"text-muted-foreground",children:"Keine Logeinträge vorhanden."}):j.length===0?l.jsx("span",{className:"text-muted-foreground",children:u?"Keine Fehler oder Warnungen — der Dienst läuft sauber. ✓":"Kein Treffer für den Filter."}):j.map((S,N)=>l.jsx("div",{className:ee("whitespace-pre-wrap",SR[S.level]),children:S.t||" "},N))})]})}function ER({open:e,showAlert:t}){const[r,n]=y.useState(""),[i,o]=y.useState(""),[u,c]=y.useState(!1),[f,h]=y.useState(!1);return y.useEffect(()=>{e&&(n(localStorage.getItem("mc_sudo_password")||""),o(localStorage.getItem("mc_hf_token")||""))},[e]),l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Zugangsdaten & Schlüssel"}),l.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Daten werden ausschließlich lokal in deinem Browser (localStorage) gespeichert und bei Bedarf an das Backend übertragen."})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[l.jsx(Qs,{className:"h-4 w-4 text-amber-400"}),"Host Sudo-Passwort"]}),l.jsxs("div",{className:"relative",children:[l.jsx("input",{type:u?"text":"password",value:r,onChange:m=>n(m.target.value),"aria-label":"Host Sudo-Passwort",name:"sudo-password",autoComplete:"off",spellCheck:!1,placeholder:"Sudo-Passwort für System-Operationen",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),l.jsx("button",{type:"button",onClick:()=>c(!u),"aria-label":u?"Passwort verbergen":"Passwort anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:u?l.jsx(ww,{className:"h-4 w-4","aria-hidden":"true"}):l.jsx(xu,{className:"h-4 w-4","aria-hidden":"true"})})]}),l.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Wird benötigt für systemd-Dienste (Llama Swap logs/restart), OS-Update (apt) und Reboot."})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[l.jsx(EM,{className:"h-4 w-4 text-violet-400"}),"HuggingFace API Token"]}),l.jsxs("div",{className:"relative",children:[l.jsx("input",{type:f?"text":"password",value:i,onChange:m=>o(m.target.value),"aria-label":"HuggingFace API Token",name:"hf-token",autoComplete:"off",spellCheck:!1,placeholder:"hf_…",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),l.jsx("button",{type:"button",onClick:()=>h(!f),"aria-label":f?"Token verbergen":"Token anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:f?l.jsx(ww,{className:"h-4 w-4","aria-hidden":"true"}):l.jsx(xu,{className:"h-4 w-4","aria-hidden":"true"})})]}),l.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Erlaubt das Herunterladen von geschützten oder Gate-restricted Modellen direkt über Mission Control."})]}),l.jsxs("div",{className:"flex gap-3 pt-2",children:[l.jsx("button",{onClick:()=>{localStorage.setItem("mc_sudo_password",r),localStorage.setItem("mc_hf_token",i),t("Erfolgreich","Einstellungen erfolgreich lokal gespeichert.")},className:"flex-1 h-9 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/90 rounded-lg transition-colors shadow shadow-primary/10 cursor-pointer",children:"Speichern"}),l.jsx("button",{onClick:()=>{n(""),o(""),localStorage.removeItem("mc_sudo_password"),localStorage.removeItem("mc_hf_token"),t("Gelöscht","Zugangsdaten gelöscht.")},className:"h-9 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Zurücksetzen"})]})]})}function AR({detail:e,maintenanceJob:t,onClose:r,onApply:n}){var f,h;const i=e.data,o={os:{icon:Qs,cls:"text-cyan-400",title:"OS-Pakete (apt)"},engine:{icon:uh,cls:"text-violet-400",title:"Inferenz-Engine (llama.cpp)"},swap:{icon:QN,cls:"text-fuchsia-400",title:"Router (llama-swap)"},hermes:{icon:yn,cls:"text-amber-400",title:"Hermes-Agent"}}[e.kind],u=o.icon,c=i?e.kind==="os"?(i.count??0)===0:e.kind==="hermes"?(i.behind??0)===0:i.installed_build!=null&&i.latest_build!=null&&i.latest_build<=i.installed_build:!0;return l.jsxs("div",{className:"fixed inset-0 z-[60] flex items-center justify-center p-4",children:[l.jsx("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm",onClick:r}),l.jsxs("div",{className:"relative w-full max-w-lg max-h-[80vh] flex flex-col rounded-2xl border border-border/60 bg-card shadow-2xl font-sans text-foreground",children:[l.jsxs("div",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-5",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(u,{className:ee("h-4.5 w-4.5",o.cls)}),l.jsx("h3",{className:"text-sm font-semibold",children:o.title})]}),l.jsx("button",{onClick:r,className:"flex h-7 w-7 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:l.jsx(gi,{className:"h-4 w-4"})})]}),l.jsx("div",{className:"flex-1 overflow-y-auto p-5 text-xs space-y-3 scrollbar-thin",children:e.loading?l.jsxs("div",{className:"flex h-24 items-center justify-center gap-2 text-muted-foreground",children:[l.jsx(ps,{className:"h-4 w-4 animate-spin"})," Details werden geladen…"]}):i!=null&&i.error?l.jsx("div",{className:"rounded-lg border border-red-500/30 bg-red-500/5 p-3 text-red-400",children:i.error}):l.jsxs(l.Fragment,{children:[(i==null?void 0:i.action_needed)!=null&&l.jsxs("div",{className:ee("flex items-start gap-2 rounded-lg border p-3",i.action_needed?"border-amber-500/40 bg-amber-500/10":"border-emerald-500/40 bg-emerald-500/10"),children:[i.action_needed?l.jsx(Er,{className:"h-4 w-4 text-amber-400 shrink-0 mt-0.5"}):l.jsx(FN,{className:"h-4 w-4 text-emerald-400 shrink-0 mt-0.5"}),l.jsxs("div",{className:"min-w-0",children:[l.jsxs("div",{className:ee("text-xs font-semibold",i.action_needed?"text-amber-300":"text-emerald-300"),children:["Musst du etwas tun? ",i.action_needed?"Ja":"Nein — die Box regelt das (Fangnetz)"]}),i.action_needed&&i.action_text&&l.jsx("div",{className:"mt-0.5 text-[11px] text-foreground/90",children:i.action_text})]})]}),(i==null?void 0:i.summary)&&l.jsxs("div",{className:"rounded-lg border border-primary/25 bg-primary/5 p-3 space-y-1",children:[l.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-primary",children:"Was dieses Update bedeutet (Zusammenfassung der Box)"}),l.jsx("pre",{className:"whitespace-pre-wrap text-[11px] leading-relaxed text-foreground/90 font-sans",children:i.summary})]}),e.kind==="os"?l.jsxs(l.Fragment,{children:[((i==null?void 0:i.count)??0)===0?l.jsx("div",{className:"text-muted-foreground",children:"Keine Pakete zu aktualisieren — System ist aktuell."}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"text-muted-foreground",children:[i.count," Paket(e) werden aktualisiert:"]}),l.jsx("div",{className:"space-y-1",children:i.packages.map(m=>l.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[l.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[l.jsx(Sw,{className:"h-3 w-3 text-cyan-400 shrink-0"}),m.name]}),l.jsxs("span",{className:"flex items-center gap-1 font-mono text-[10px] text-muted-foreground shrink-0",children:[l.jsx("span",{children:m.current}),l.jsx(nf,{className:"h-3 w-3"}),l.jsx("span",{className:"text-emerald-400",children:m.candidate})]})]},m.name))})]}),(((f=i==null?void 0:i.held_back)==null?void 0:f.length)??0)>0&&l.jsxs("div",{className:"space-y-1.5 rounded-lg border border-border/40 bg-background/20 p-3",children:[l.jsxs("div",{className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground",children:[l.jsx(BN,{className:"h-3.5 w-3.5"})," Vom Hersteller zurückgestellt — kein Handeln nötig"]}),l.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Pakete gäbe es bereits, Ubuntu spielt sie aber gestaffelt aus (Phasen-Rollout) bzw. hält sie kurz zurück. Sie kommen bei einem der nächsten automatischen Läufe von selbst — das ist kein Fehler und nichts hängt fest."}),l.jsx("div",{className:"space-y-1",children:i.held_back.map(m=>l.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/30 bg-background/30 px-2.5 py-1.5",children:[l.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[l.jsx(Sw,{className:"h-3 w-3 text-muted-foreground shrink-0"}),m.name]}),l.jsx("span",{className:"text-[9px] text-muted-foreground shrink-0",children:m.reason==="phasing"?"Phasen-Rollout":"vorerst zurückgehalten"})]},m.name))})]})]}):e.kind==="engine"||e.kind==="swap"?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"flex items-center gap-2 font-mono text-[11px]",children:[l.jsxs("span",{className:"rounded-md border border-border/40 bg-background/30 px-2 py-1",children:["Build ",(i==null?void 0:i.installed_build)??"?"]}),l.jsx(nf,{className:"h-3.5 w-3.5 text-muted-foreground"}),l.jsxs("span",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/5 px-2 py-1 text-emerald-400",children:["Build ",(i==null?void 0:i.latest_build)??"?"]})]}),((i==null?void 0:i.name)||(i==null?void 0:i.latest_tag))&&l.jsxs("div",{className:"text-muted-foreground",children:["Release: ",l.jsx("span",{className:"text-foreground",children:i==null?void 0:i.name}),i!=null&&i.latest_tag?` (${i.latest_tag})`:""]}),(i==null?void 0:i.url)&&l.jsxs("a",{href:i.url,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-primary hover:underline",children:["Original-Release-Notes auf GitHub ",l.jsx(sh,{className:"h-3 w-3"})]}),(i==null?void 0:i.body)&&l.jsxs("details",{className:"group",children:[l.jsx("summary",{className:"cursor-pointer text-[10px] text-muted-foreground hover:text-foreground",children:"Original-Notizen (englisch) anzeigen"}),l.jsx("pre",{className:"mt-1.5 whitespace-pre-wrap rounded-lg border border-border/40 bg-background/30 p-3 text-[10px] leading-relaxed text-muted-foreground max-h-60 overflow-y-auto scrollbar-thin",children:i.body})]})]}):(((h=i==null?void 0:i.commits)==null?void 0:h.length)??0)===0?l.jsx("div",{className:"text-muted-foreground",children:"Keine neuen Commits — Hermes-Agent ist bereits aktuell."}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"text-muted-foreground",children:[i.behind," neue Commit(s) auf ",l.jsxs("span",{className:"font-mono text-foreground",children:["origin/",i.branch]}),":"]}),l.jsx("div",{className:"space-y-1",children:i.commits.map(m=>l.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[l.jsx(jM,{className:"h-3.5 w-3.5 text-primary shrink-0 mt-0.5"}),l.jsxs("div",{className:"min-w-0",children:[l.jsx("div",{className:"text-[11px] truncate",children:m.subject}),l.jsxs("div",{className:"font-mono text-[9px] text-muted-foreground",children:[m.hash," · ",m.when]})]})]},m.hash))})]}),e.kind!=="os"&&!c&&l.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-border/40 bg-background/20 p-2.5",children:[l.jsx(qN,{className:"h-3.5 w-3.5 text-emerald-400 shrink-0 mt-0.5"}),l.jsxs("p",{className:"text-[10px] text-muted-foreground leading-normal",children:["Vor dem Update sichert die Box automatisch den alten Stand. Danach prüft sie den ganzen Stack per echter Anfrage — läuft etwas nicht, rollt sie von selbst zurück",e.kind==="hermes"?" und startet den Gateway neu":"","."]})]})]})}),l.jsxs("div",{className:"flex gap-3 border-t border-border/40 p-4 shrink-0",children:[l.jsx("button",{onClick:r,className:"h-9 flex-1 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold text-muted-foreground hover:bg-accent transition-colors cursor-pointer",children:"Schließen"}),l.jsx("button",{onClick:n,disabled:e.loading||c||!!t,title:t?`Update läuft bereits: ${t.label}`:void 0,className:"h-9 flex-1 rounded-lg bg-primary text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-40 disabled:cursor-default",children:t?"Update läuft…":"Jetzt aktualisieren"})]})]})]})}function Q5({open:e,onClose:t,defaultTab:r="maintenance"}){var nt;const[n,i]=y.useState(null),[o,u]=y.useState([]),[c,f]=y.useState("llama-swap"),[h,m]=y.useState(""),[g,v]=y.useState(!1),[b,j]=y.useState(null),[k,S]=y.useState({}),[N,E]=y.useState("maintenance"),[A,P]=y.useState(!1),[_,O]=y.useState(""),[T,B]=y.useState(!1),[$,z]=y.useState(null),[Q,U]=y.useState([]),[ve,ue]=y.useState(!1),[pe,oe]=y.useState(null),[se,X]=y.useState(null);function ne(K,Le,Cr){X({type:"alert",title:K,message:Le,onConfirm:()=>{X(null),Cr&&Cr()}})}function te(K,Le,Cr){X({type:"confirm",title:K,message:Le,onConfirm:()=>{X(null),Cr()},onCancel:()=>X(null)})}function I(K){return K?new Date(K*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"Nie"}y.useEffect(()=>{e&&r&&E(r)},[e,r]);function M(){we("/api/maintenance/updates").then(i).catch(K=>console.error("Error loading updates",K))}function H(){we("/api/jobs").then(K=>u(K.jobs||[])).catch(K=>console.error("Error loading jobs",K))}function ie(){we("/api/system/services").then(z).catch(()=>{})}function J(){we("/api/system/backups").then(K=>U(K.backups||[])).catch(()=>{})}function Z(K){v(!0),j(null),we(`/api/maintenance/logs?service=${K}&lines=150`).then(Le=>{Le.ok?m(Le.text):(m(`Fehler beim Laden der Logs: ${Le.err||"Unbekannter Fehler"}`),(Le.status==="incorrect_password"||Le.status==="password_required")&&j(Le.status))}).catch(Le=>m(`Fehler: ${Le.message}`)).finally(()=>v(!1))}y.useEffect(()=>{if(!e)return;M(),H(),ie(),J();const K=setInterval(()=>{H(),M(),ie()},3e3);return()=>clearInterval(K)},[e]),y.useEffect(()=>{!e||N!=="logs"||Z(c)},[e,N,c]);function ae(K){return(K==null?void 0:K.status)==="busy"?(ne("Update läuft bereits",`Es läuft gerade „${K.running}". Bitte warte, bis es fertig ist.`),H(),!0):!1}function me(K){return(K==null?void 0:K.status)==="password_required"||(K==null?void 0:K.status)==="incorrect_password"?(ne("Box-Passwort nötig",(K.status==="incorrect_password"?"Das gespeicherte Box-Passwort stimmt nicht. ":"Für dieses Update braucht die Box dein Passwort. ")+"Bitte oben im Reiter „Einstellungen“ setzen bzw. korrigieren."),!0):K&&K.ok===!1?(ne("Update fehlgeschlagen",K.err||"Unbekannter Fehler."),!0):!1}async function re(){try{const K=await we("/api/maintenance/os-update",{method:"POST"});if(ae(K)||me(K))return;H(),E("maintenance")}catch(K){ne("Fehler",`Fehler beim Starten des OS-Updates: ${K.message}`)}}async function ye(){try{const K=await we("/api/maintenance/engine-update",{method:"POST"});if(ae(K)||me(K))return;H(),E("maintenance")}catch(K){ne("Fehler",`Fehler beim Engine-Update: ${K.message}`)}}async function Oe(){try{const K=await we("/api/maintenance/swap-update",{method:"POST"});if(ae(K)||me(K))return;H(),E("maintenance")}catch(K){ne("Fehler",`Fehler beim Router-Update: ${K.message}`)}}async function de(){ue(!0);try{const K=await we("/api/maintenance/hermes-update",{method:"POST"});if(ae(K))return;H()}catch(K){ne("Fehler",`Hermes-Update fehlgeschlagen: ${K.message}`)}finally{ue(!1)}}async function Ze(K){oe({kind:K,loading:!0,data:null});try{const Le=await we(`/api/maintenance/update-details?kind=${K}`);oe({kind:K,loading:!1,data:Le})}catch(Le){oe({kind:K,loading:!1,data:{kind:K,error:Le.message}})}}function Ue(){const K=pe==null?void 0:pe.kind;oe(null),K==="os"?re():K==="engine"?ye():K==="swap"?Oe():K==="hermes"&&de()}async function _e(){P(!0);try{await we("/api/maintenance/check-updates",{method:"POST"}),H(),E("maintenance")}catch(K){ne("Fehler",`Fehler bei der Update-Suche: ${K.message}`)}finally{P(!1)}}async function xt(K,Le){try{await we("/api/models/install",{method:"POST",body:JSON.stringify({repo:K,role:Le})}),ne("Gestartet",`Modell-Upgrade für '${Le}' (${K}) gestartet.`),H(),E("maintenance")}catch(Cr){ne("Fehler",`Fehler beim Starten des Modell-Upgrades: ${Cr.message}`)}}async function Jt(){te("Reboot bestätigen","Bist du sicher, dass du das gesamte Host-System neu starten willst?",async()=>{try{await we("/api/maintenance/reboot",{method:"POST"}),ne("Reboot","Reboot ausgelöst. System startet neu...",()=>{t()})}catch(K){ne("Fehler",`Fehler beim Reboot: ${K.message}`)}})}async function G(){B(!0),O("Snapshot wird erzeugt...");try{const K=await we("/api/system/backup",{method:"POST"});O(K.ok?`Snapshot erzeugt: ${K.snapshot} (${K.files.length} Komponenten)`:"Backup fehlgeschlagen."),J()}catch(K){O(`Fehler: ${K.message}`)}finally{B(!1)}}async function Ne(K){S(Le=>({...Le,[K]:!0}));try{const Le=await we("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:K})});Le.ok?ne("Dienst neu gestartet",`Dienst ${K} wurde erfolgreich neu gestartet.`,()=>{N==="logs"&&c===K&&Z(K)}):ne("Fehler",`Fehler beim Neustart: ${Le.err||"Unbekannter Fehler"}`)}catch(Le){ne("Fehler",`Fehler beim Neustart: ${Le.message}`)}finally{S(Le=>({...Le,[K]:!1}))}}async function Pe(K){try{await we(`/api/jobs/${K}/cancel`,{method:"POST"}),H()}catch(Le){ne("Fehler",`Fehler beim Abbrechen: ${Le.message}`)}}const Ve=o.find(K=>(K.state==="running"||K.state==="queued")&&K.group==="maintenance");return l.jsxs(l.Fragment,{children:[l.jsx("div",{className:ee("fixed inset-0 bg-black/60 backdrop-blur-sm z-50 transition-opacity duration-300",e?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"),onClick:t}),l.jsxs("div",{className:ee("fixed inset-y-0 right-0 w-full sm:w-[640px] bg-card/85 backdrop-blur-xl border-l border-border/60 shadow-2xl z-50 flex flex-col transform transition-transform duration-300 ease-in-out font-sans text-foreground",e?"translate-x-0":"translate-x-full"),children:[l.jsxs("div",{className:"flex h-16 shrink-0 items-center justify-between border-b border-border/40 px-6",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(pi,{className:"h-4.5 w-4.5 text-primary"}),l.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase font-space",children:"OS-Zentrale & Pflege"})]}),l.jsx("button",{onClick:t,className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:l.jsx(gi,{className:"h-4 w-4"})})]}),l.jsxs("div",{className:"flex border-b border-border/40 px-6",children:[l.jsx("button",{onClick:()=>E("maintenance"),className:ee("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N==="maintenance"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Wartung"}),l.jsx("button",{onClick:()=>E("logs"),className:ee("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N==="logs"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Logs"}),l.jsx("button",{onClick:()=>E("settings"),className:ee("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N==="settings"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"Einstellungen"})]}),l.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[N==="maintenance"&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"space-y-2.5",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Updates"}),l.jsxs("button",{onClick:_e,disabled:A||!!Ve,className:"flex items-center gap-1 text-[10px] font-semibold text-primary hover:text-primary/80 transition-colors disabled:opacity-50",children:[l.jsx(ps,{className:ee("h-3 w-3",A&&"animate-spin")})," Nach Updates suchen"]})]}),(n==null?void 0:n.last_check)&&l.jsxs("div",{className:"text-[9px] text-muted-foreground -mt-1",children:["Zuletzt gesucht: ",I(n.last_check)]}),Ve&&l.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-300",children:[l.jsx(ps,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}),l.jsxs("span",{children:["Update läuft: ",l.jsx("span",{className:"font-semibold",children:Ve.label})," — bitte warten. Weitere Updates sind solange gesperrt."]})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx(Xl,{icon:Qs,iconClass:"text-cyan-400",name:"OS-Pakete (apt)",available:!!(n!=null&&n.os),status:n!=null&&n.os?`${n.os} verfügbar`:"aktuell",actionLabel:"Anzeigen",onAction:()=>Ze("os")}),l.jsx(Xl,{icon:uh,iconClass:"text-violet-400",name:"Inferenz-Engine (llama.cpp)",available:!!(n!=null&&n.engine),status:n!=null&&n.engine?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>Ze("engine")}),l.jsx(Xl,{icon:QN,iconClass:"text-fuchsia-400",name:"Router (llama-swap)",available:!!(n!=null&&n.swap),status:n!=null&&n.swap?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>Ze("swap")}),(()=>{var Le;const K=(Le=n==null?void 0:n.components)==null?void 0:Le.find(Cr=>Cr.key==="hermes_agent");return l.jsx(Xl,{icon:yn,iconClass:"text-amber-400",name:"Hermes-Agent",available:(K==null?void 0:K.update)===!0,busy:ve,status:(K==null?void 0:K.update)===!0?`Update: ${K.latest}`:(K==null?void 0:K.reachable)===!1?"offline":"aktuell",actionLabel:"Anzeigen",onAction:()=>Ze("hermes")})})(),(nt=n==null?void 0:n.model_list)==null?void 0:nt.map(K=>l.jsx(Xl,{icon:sM,iconClass:"text-emerald-400",name:`Modell · ${K.role}`,available:!0,status:K.title,actionLabel:"Upgrade",onAction:()=>xt(K.repo,K.role)},K.role))]})]}),l.jsxs("div",{className:"space-y-2.5",children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Dienste"}),l.jsx("div",{className:"space-y-1.5",children:lk.map(K=>{var Le;return l.jsx(bR,{label:K.label,system:K.type==="system",ok:(Le=$==null?void 0:$.services.find(Cr=>Cr.name.toLowerCase().includes(K.reach)))==null?void 0:Le.ok,busy:k[K.id],onRestart:()=>Ne(K.id),onLogs:()=>{f(K.id),E("logs")}},K.id)})})]}),l.jsxs("div",{className:"space-y-2.5",children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Backup"}),l.jsxs("div",{className:"rounded-lg border border-border/50 bg-background/20 px-3 py-2.5 flex items-center gap-3",children:[l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"text-xs text-foreground truncate",children:Q[0]?`Letztes: ${Q[0].snapshot}`:"Noch kein Backup"}),l.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[Q.length," Snapshots · Restore per CLI (restore.sh)"]})]}),l.jsxs("button",{onClick:G,disabled:T,className:"flex items-center gap-1.5 text-[11px] font-semibold rounded-lg px-2.5 py-1 bg-primary text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50 shrink-0",children:[l.jsx(cM,{className:ee("h-3.5 w-3.5",T&&"animate-pulse")})," Snapshot"]})]}),_&&l.jsx("div",{className:"text-[10px] font-mono text-primary bg-primary/5 p-2 rounded-lg border border-primary/20 break-all leading-normal",children:_})]}),l.jsxs("div",{className:"space-y-2.5",children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-red-400/80",children:"Gefahrenzone"}),l.jsxs("button",{onClick:Jt,className:"flex w-full items-center gap-3 p-3 rounded-lg border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 text-red-400 transition-all text-left text-xs font-semibold",children:[l.jsx(GN,{className:"h-4.5 w-4.5"}),l.jsxs("div",{children:[l.jsx("div",{children:"Host-System neu starten"}),l.jsx("div",{className:"text-[10px] text-red-400/80 font-normal",children:"Startet die ganze Box neu"})]})]})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Hintergrund-Aufgaben"}),l.jsxs("span",{className:"text-[10px] font-mono bg-primary/10 text-primary px-1.5 py-0.5 rounded-full",children:[o.filter(K=>K.state==="running"||K.state==="queued").length," Aktiv"]})]}),l.jsx("div",{className:"space-y-3",children:o.length===0?l.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-xl p-6 text-center",children:"Aktuell keine aktiven Hintergrund-Jobs."}):o.map(K=>{const Le=K.state==="running"||K.state==="queued";return l.jsxs("div",{className:ee("p-3 rounded-xl border transition-all duration-300",Le?"border-primary/40 bg-primary/5 shadow-md shadow-primary/5":"border-border/40 bg-background/20 opacity-80"),children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"space-y-1",children:[l.jsxs("div",{className:"text-xs font-semibold flex items-center gap-1.5",children:[Le&&l.jsxs("span",{className:"flex h-2 w-2 relative",children:[l.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"}),l.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-primary"})]}),K.label]}),l.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground uppercase flex items-center gap-2",children:[l.jsxs("span",{children:["ID: ",K.id]}),l.jsx("span",{children:"•"}),l.jsx("span",{className:ee(K.state==="done"&&"text-emerald-400",K.state==="failed"&&"text-red-400",K.state==="running"&&"text-primary",K.state==="queued"&&"text-amber-400",K.state==="canceled"&&"text-muted-foreground"),children:K.state})]})]}),Le&&l.jsx("button",{onClick:()=>Pe(K.id),className:"text-[10px] font-semibold text-red-400 hover:text-red-300 border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 px-2 py-0.5 rounded transition-colors",children:"Abbrechen"})]}),K.state==="running"&&l.jsxs("div",{className:"mt-3 space-y-1",children:[l.jsx("div",{className:"w-full h-1.5 bg-muted rounded-full overflow-hidden",children:l.jsx("div",{className:"h-full bg-primary transition-all duration-500",style:{width:`${K.progress??0}%`}})}),l.jsxs("div",{className:"flex justify-between items-center text-[9px] font-mono text-muted-foreground",children:[l.jsxs("span",{children:[K.progress??0,"%"]}),K.done_bytes!=null&&K.total_bytes!=null&&l.jsxs("span",{children:[fg(K.done_bytes)," / ",fg(K.total_bytes),K.rate_bps!=null&&` (${fg(K.rate_bps)}/s)`]}),K.eta_s!=null&&l.jsxs("span",{children:["ETA: ",K.eta_s,"s"]})]})]})]},K.id)})})]})]}),N==="logs"&&l.jsxs("div",{className:"flex flex-col h-full space-y-4",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("select",{value:c,onChange:K=>f(K.target.value),className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none text-foreground font-semibold",children:lk.map(K=>l.jsxs("option",{value:K.id,children:[K.label," (",K.type==="system"?"systemd-root":"user",")"]},K.id))}),l.jsxs("button",{onClick:()=>Ne(c),disabled:k[c],className:"flex h-9 px-3 items-center gap-1.5 text-xs font-semibold rounded-lg border border-border/60 bg-background/20 hover:border-primary/50 transition-colors disabled:opacity-50",title:"Dienst neu starten",children:[l.jsx(ps,{className:ee("h-3.5 w-3.5",k[c]&&"animate-spin")}),"Restart"]})]}),l.jsx(NR,{service:c,text:h,loading:g,logStatus:b,onRefresh:()=>Z(c),onOpenSettings:()=>E("settings")})]}),N==="settings"&&l.jsx(ER,{open:e,showAlert:ne})]})]}),pe&&l.jsx(AR,{detail:pe,maintenanceJob:Ve,onClose:()=>oe(null),onApply:Ue}),se&&l.jsx(W5,{type:se.type,title:se.title,message:se.message,onConfirm:se.onConfirm,onCancel:se.onCancel})]})}let wv=[],kv=[];const jv=new Set,Y5=()=>jv.forEach(e=>e());function X5(e){return jv.add(e),()=>{jv.delete(e)}}function CR(e){wv=[...wv,e].slice(-40),Y5()}function PR(e){kv=[...kv,e].slice(-40),Y5()}const OR=()=>y.useSyncExternalStore(X5,()=>wv),_R=()=>y.useSyncExternalStore(X5,()=>kv);function MR(){const{data:e,dataUpdatedAt:t}=ko(3e3),{data:r,dataUpdatedAt:n}=B5(3e3),i=y.useRef(null);y.useEffect(()=>{var o,u,c,f;e&&CR({t:Date.now(),cpu:((o=e.cpu)==null?void 0:o.percent)??0,ram:((u=e.ram)==null?void 0:u.percent)??0,gpu:((c=e.gpu)==null?void 0:c.busy_percent)??null,disk:((f=e.disk)==null?void 0:f.percent)??null})},[t]),y.useEffect(()=>{if(!r)return;const o=Date.now(),u=r.prompt_tokens,c=r.completion_tokens;if(i.current){const f=Math.max((o-i.current.t)/1e3,.001);PR({t:o,prompt:Math.max(0,(u-i.current.p)/f),completion:Math.max(0,(c-i.current.c)/f)})}i.current={p:u,c,t:o}},[n])}function Z5(){var P,_,O,T,B,$;const{data:e}=M0(),{data:t}=F5(),{data:r}=wi(),{data:n}=ko(),i=!!e&&!!t,o=z=>{var Q;return(Q=t==null?void 0:t.services.find(U=>U.name.toLowerCase().includes(z)))==null?void 0:Q.ok},u=e==null?void 0:e.engine_reachable,c=(P=e==null?void 0:e.brain)==null?void 0:P.ready,f=((_=e==null?void 0:e.brain)==null?void 0:_.model)||((O=r==null?void 0:r.models.find(z=>z.role==="hermes"))==null?void 0:O.name)||"",h=[];h.push((()=>{const z={id:"brain",label:"Lucys Hirn",icon:xa,critical:!0};return i?u===!1?{...z,status:"down",detail:"Die Motor-Maschine (Engine) läuft nicht — Lucy kann gerade gar nicht denken.",repair:{kind:"restart",service:"llama-swap",label:"Motor neu starten",needsSudo:!0}}:c===!1?{...z,status:"down",detail:"Lucys Hirn ist gerade eingeschlafen — einmal aufwecken.",repair:f?{kind:"loadModel",model:f,label:"Hirn aufwecken"}:void 0}:{...z,status:"ok",detail:"Wach und ansprechbar."}:{...z,status:"loading",detail:"Wird geprüft …"}})()),h.push((()=>{const z={id:"vision",label:"Lucys Augen",icon:xu,critical:!1};if(!i||!r)return{...z,status:"loading",detail:"Wird geprüft …"};const Q=r.models.find(ve=>ve.role==="vision");return Q?(r.running??[]).includes(Q.name)?{...z,status:"ok",detail:"Sieht Bildschirm und Bilder."}:{...z,status:"warn",detail:"Lucys Augen sind eingeschlafen — das erste Bild-Ansehen dauert dann kurz.",repair:{kind:"loadModel",model:Q.name,label:"Augen aufwecken"}}:{...z,status:"warn",detail:"Kein Augen-Modell eingerichtet — Lucy kann keine Bilder ansehen."}})()),h.push((()=>{const z={id:"memory",label:"Lucys Gedächtnis",icon:LN,critical:!0},Q=o("mem0");return!i||Q===void 0?{...z,status:"loading",detail:"Wird geprüft …"}:Q?{...z,status:"ok",detail:"Merkt sich Neues und findet Altes wieder."}:{...z,status:"down",detail:"Lucy kann sich gerade nichts merken — das Gedächtnis antwortet nicht.",repair:{kind:"restart",service:"mem0-service",label:"Gedächtnis neu starten"}}})()),h.push((()=>{const z={id:"gateway",label:"Verbindung (Gateway)",icon:bu,critical:!0},Q=e?e.gateway_reachable:o("integriert");return!i||Q===void 0?{...z,status:"loading",detail:"Wird geprüft …"}:Q?{...z,status:"ok",detail:"Apps und IDEs können Lucy erreichen."}:{...z,status:"down",detail:"Die Verbindungs-Zentrale antwortet nicht — Apps erreichen Lucy nicht.",repair:{kind:"restart",service:"mission-control-2",label:"Zentrale neu starten"}}})()),h.push((()=>{const z={id:"agent",label:"Lucys Agent (Hermes)",icon:yn,critical:!0},Q=o("hermes-gateway");return!i||Q===void 0?{...z,status:"loading",detail:"Wird geprüft …"}:Q?{...z,status:"ok",detail:"Lucy ist bereit zu reden und zu handeln."}:{...z,status:"down",detail:"Lucys Agent ist offline — sie reagiert gerade nicht.",repair:{kind:"restart",service:"hermes-gateway",label:"Agent neu starten"}}})()),h.push((()=>{const z={id:"voice",label:"Lucys Stimme",icon:TM,critical:!1},Q=o("voice");return!i||Q===void 0?{...z,status:"loading",detail:"Wird geprüft …"}:Q?{...z,status:"ok",detail:"Lucy kann hören und sprechen."}:{...z,status:"warn",detail:"Sprechen ist gerade aus — Tippen geht weiter normal.",repair:{kind:"restart",service:"voice-service",label:"Stimme neu starten"}}})());const m=((T=n==null?void 0:n.gpu)==null?void 0:T.gtt_total)||((B=n==null?void 0:n.gpu)==null?void 0:B.vram_total)||0,g=(($=n==null?void 0:n.gpu)==null?void 0:$.gtt_used)||0,v=m>0?Math.min(100,g/m*100):0,b=1024**3,j=m?v>=90?{status:"full",usedGb:g/b,totalGb:m/b,pct:v,text:"Speicher fast voll — Lucy könnte langsamer werden."}:v>=72?{status:"warn",usedGb:g/b,totalGb:m/b,pct:v,text:"Speicher gut gefüllt — noch okay."}:{status:"ok",usedGb:g/b,totalGb:m/b,pct:v,text:"Genug Speicher frei."}:{status:"unknown",usedGb:0,totalGb:0,pct:0,text:"Speicher-Auslastung unbekannt."},k=h.some(z=>z.status==="loading"),S=h.filter(z=>z.critical&&z.status==="down"),N=h.filter(z=>z.status==="warn"||!z.critical&&z.status==="down"),E=j.status==="full";return{verdict:k&&!S.length?"loading":S.length?"problem":N.length||E?"warn":"gut",checks:h,memory:j,problems:S}}const IR={ok:"bg-emerald-500",warn:"bg-amber-500",down:"bg-red-500",loading:"bg-muted-foreground/40"};function TR({frame:e="lucy"}={}){const{verdict:t,checks:r,memory:n,problems:i}=Z5(),{showAlert:o,dialogElement:u}=ba(),c=Kn(),[f,h]=y.useState({});async function m(S,N){h(E=>({...E,[S]:!0}));try{if(N.kind==="loadModel")await we(`/api/models/${encodeURIComponent(N.model)}/load`,{method:"POST"});else{const E=await we("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:N.service})});E.ok||o("Reparatur nicht ganz geklappt",(E.err||"Unbekannter Fehler")+(N.needsSudo?`
+...`}),l.jsxs("p",{children:["Suchen & installieren über die ",l.jsx("strong",{children:"skills.sh"}),"-Registry: ",l.jsx(ze,{children:"npx skills find"})," /",l.jsx(ze,{children:"npx skills add owner/repo"}),". Skills liegen projektweit (vom Agent beim Start gelesen) oder global."]})]}),l.jsxs(Ir,{id:"memory",icon:xM,color:"text-indigo-400",title:"8. Gedächtnis & RAG",kicker:"Modelle vergessen — du nicht",wide:!0,children:[l.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{children:["LLMs sind ",l.jsx("strong",{children:"zustandslos"}),": ohne Hilfe weiß das Modell beim nächsten Turn nichts mehr. Gedächtnis lebt extern."]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Embeddings"})," wandeln Text in Vektoren; ein ",l.jsx("strong",{children:"Vektor-Store"})," (Chroma, …) findet semantisch Ähnliches."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"RAG"})," = relevante Fakten vor dem Turn heraussuchen und einblenden statt alles im Prompt zu halten."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Long-Context vs. RAG:"}),' riesige Fenster sind bequem, aber teuer & „lost in the middle" — gezieltes Abrufen skaliert besser.']})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"Auto-lernendes Gedächtnis"})," ist die nächste Stufe:"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:["extrahiert Fakten ",l.jsx("em",{children:"selbst"})," aus Gesprächen, statt nur abzuspeichern"]}),l.jsx("li",{children:"dedupliziert semantisch (kein 10× derselbe Fakt)"}),l.jsxs("li",{children:[l.jsx("strong",{children:"Graph-Sicht"})," = Fakten ",l.jsx("em",{children:"plus"})," ihre Beziehungen, nicht nur eine flache Liste"]})]})]})]}),l.jsxs(La,{children:["Dein Gedächtnis (Tab ",l.jsx("strong",{children:"Gedächtnis"}),") ist ",l.jsx("strong",{children:"Mem0"}),"-basiert: auto-lernend & semantisch, ",l.jsx("strong",{children:"graph-first"})," dargestellt, mit 4-Typen-Taxonomie (",l.jsx(ze,{children:"Identität"})," · ",l.jsx(ze,{children:"Wissen"})," · ",l.jsx(ze,{children:"Regeln"})," · ",l.jsx(ze,{children:"Ereignisse"}),"). Einstieg über ein kurzes ",l.jsx("strong",{children:"Hermes-Onboarding-Gespräch"})," im Terminal — der Agent lernt im Hintergrund nach jedem Turn.",l.jsx("br",{}),l.jsx("strong",{children:"Gotcha:"})," ein gelöschter Fakt kann wieder auftauchen, solange die Original-Nachricht noch im Verlauf steht (additive Extraktion)."]})]}),l.jsxs(Ir,{id:"agents",icon:Jr,color:"text-rose-400",title:"9. Autonome Agenten betreiben",kicker:"LLM in der Schleife",wide:!0,children:[l.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{children:["Ein ",l.jsx("strong",{children:"Agent"})," ist ein LLM in einer Schleife mit Tools:",l.jsx("em",{children:" denken → Tool aufrufen → Ergebnis beobachten → weiter"}),", bis das Ziel erreicht ist."]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Guardrails"})," (Hard-Stop, Tool-Limits) verhindern Endlos-Loops, wenn ein Tool fehlt oder hängt."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Kontext-Hygiene"})," ist die wichtigste Disziplin: frische Sessions starten — vollgemüllte Historien werden langsam, driften und halluzinieren."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Kanäle:"})," CLI/Terminal, Chat-UI, Messaging (z.B. Telegram), reine API."]})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"Least Privilege:"})," gib einem Agenten nur die Tools, die er wirklich braucht. Kritische Aktionen (Shell auf dem Host, Löschen, Geld/Deploys) hinter menschliche Freigabe."]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Was sich vollautomatisch lohnt:"})," Modell-Routing, Hintergrund-Gedächtnis, Recherche. ",l.jsx("strong",{children:"Was Freigabe braucht:"})," Systembefehle, Updates/Reboots, permanentes Löschen."]})]})]}),l.jsxs(La,{children:[l.jsx("strong",{children:"Hermes"})," ist dein Box-Agent (Hirn = ",l.jsx(ze,{children:"fast"}),"). Reden tust du mit ihm im",l.jsx("strong",{children:" Terminal"}),"-Tab (Web-Terminal via ttyd) oder per ",l.jsx("strong",{children:"Telegram"}),". Er hat MCP-Server für Gedächtnis, Stack-Steuerung, Web-Fetch und ",l.jsx("strong",{children:"PC-Steuerung"})," (Executor auf deinem Windows-PC). Status & Verdrahtung im ",l.jsx("strong",{children:"Hermes"}),"-Tab."]})]}),l.jsxs(Ir,{id:"ide",icon:Ts,color:"text-cyan-400",title:"10. IDE / Editor anbinden",kicker:"Vibe-Coding lokal",children:[l.jsxs("p",{children:["Jede ",l.jsx("strong",{children:"OpenAI-kompatible"})," IDE oder Extension lässt sich auf einen lokalen Server umbiegen — Base-URL + Model eintragen, fertig:"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Cline"})," & ",l.jsx("strong",{children:"Roo Code"})," (VS-Code-Extensions, voller Agent + MCP)"]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Cursor"})," (VS-Code-Fork mit Top-Autocomplete)"]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Continue"}),", ",l.jsx("strong",{children:"aider"})," (CLI), ",l.jsx("strong",{children:"OpenCode"})," (Desktop)"]})]}),l.jsxs(La,{children:["Tipp den Kram nicht ab: der ",l.jsx("strong",{children:"Verbinden"}),"-Tab generiert die fertige Config (inkl. MCP-Gedächtnis) pro Tool zum Kopieren. Essenz: Base ",l.jsx(ze,{children:"…:9001/v1"}),", Model ",l.jsx(ze,{children:"auto"}),", Key beliebig."]})]}),l.jsx(Ir,{id:"tricks",icon:_M,color:"text-amber-400",title:"11. Tricks & Kniffe",kicker:"Was im Alltag wirklich spart",wide:!0,children:l.jsx("div",{className:"grid md:grid-cols-3 gap-3",children:[["Kontext sauber halten","Neue Session statt Mega-Historie. Drift, Tempo und Halluzination hängen direkt am Kontext-Müll."],["Plan-then-Act","Erst Plan/Vorgehen bestätigen lassen, dann ausführen. Spart teure Holzwege."],["Gezielte Edits","Nie ganze Dateien überschreiben für eine Zeile — Such-/Ersetz-Tools nutzen. Weniger Tokens, weniger Fehler."],["Non-interaktive Befehle","Keine interaktiven Prompts im Agent-Terminal; lange Tasks als Background-Job. Sonst hängt der Loop."],["DevTools koppeln","Browser-/Konsolen-Zugriff geben — der Agent liest echte Fehler statt blind zu raten."],["Richtige Modellwahl","Schnelles Hirn für Alltag, großes für harte Logik, Coder fürs Coden. Nicht alles mit der Kanone."],["Akzeptanzkriterien","Sag konkret, woran „fertig“ erkennbar ist. Vage Prompts → vage Ergebnisse."],["Verifizieren statt vertrauen","Tests/Live-Check fordern. „Sollte funktionieren“ ist kein Beweis."],["Regeln ins Gedächtnis","Wiederkehrende Vorlieben/Konventionen einmal ablegen — der Agent zieht sie selbst."]].map(([r,n])=>l.jsxs("div",{className:"space-y-1 p-3 bg-background/10 rounded-xl border border-border/30",children:[l.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-foreground text-[11px]",children:[l.jsx(ga,{className:"h-3 w-3 text-amber-400"})," ",r]}),l.jsx("p",{className:"text-[11px]",children:n})]},r))})}),l.jsx(Ir,{id:"wartung",icon:qs,color:"text-emerald-400",title:"12. Sicherheit & Wartung",kicker:"Damit's auch morgen noch läuft",wide:!0,children:l.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[l.jsx(jM,{className:"h-3.5 w-3.5 text-emerald-400"})," Goldene Regeln"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Ein ungetesteter Restore ist kein Backup."})," Wiederherstellung mindestens einmal echt durchspielen."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Updates können Dinge still zerschießen"})," — gerade bei AI-Stacks (Embeddings, Provider-Interna). Versionen pinnen, Smoke-Test, Post-Check."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Least Privilege"})," für Agenten, MCP-Server und PC-Zugriff. Kritisches hinter Freigabe."]})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[l.jsx(Ku,{className:"h-3.5 w-3.5 text-emerald-400"})," Bei dir im SystemDrawer"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Backup:"})," tägliches Voll-Zustands-Backup, getesteter ",l.jsx(ze,{children:"restore.sh"})," (Doku in ",l.jsx(ze,{children:"docs/BACKUP.md"}),")."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Updates:"})," git-basierter Update-Check; ",l.jsx("strong",{children:"Hermes-Update-Button"})," mit anschließendem ",l.jsx("strong",{children:"Gehirn-Check"})," (rot, falls das Update das Gedächtnis zerschießt) + Engine-Update."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Dienste & Gefahrenzone:"})," Restart/Logs pro Dienst, kritische Eingriffe getrennt."]})]}),l.jsx("p",{className:"text-[10px] italic",children:'Erreichbar über das System-Icon → Tab „Wartung".'})]})]})}),l.jsxs("section",{id:"ressourcen",className:"scroll-mt-20 md:col-span-2 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-4",children:[l.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[l.jsx(lv,{className:"h-5 w-5 text-primary"}),l.jsxs("div",{children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"13. Kuratierte Ressourcen & Links"}),l.jsx("span",{className:"text-[9px] font-mono text-primary",children:"Sauber geordnet — die guten Quellen"})]})]}),l.jsxs("div",{className:"grid md:grid-cols-2 gap-5 text-xs",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[l.jsx(nf,{className:"h-3.5 w-3.5 text-sky-400"})," Modelle & Engines"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[l.jsx(kt,{href:"https://huggingface.co/models",name:"Hugging Face",note:"das Repository für offene Modelle (GGUF, Embeddings, Datasets)."}),l.jsx(kt,{href:"https://github.com/ggml-org/llama.cpp",name:"llama.cpp",note:"die Referenz-Engine für lokale Inferenz."}),l.jsx(kt,{href:"https://github.com/mostlygeek/llama-swap",name:"llama-swap",note:"mehrere Modelle hinter einem Port, Auto-Swap."}),l.jsx(kt,{href:"https://ollama.com",name:"Ollama",note:"einfachster Einstieg, One-Command-Modelle."}),l.jsx(kt,{href:"https://lmstudio.ai",name:"LM Studio",note:"lokale GUI zum Stöbern, Laden & Chatten."}),l.jsx(kt,{href:"https://github.com/vllm-project/vllm",name:"vLLM",note:"Hochdurchsatz-Serving auf dicken GPUs."})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[l.jsx(xu,{className:"h-3.5 w-3.5 text-violet-400"})," MCP & Skills"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[l.jsx(kt,{href:"https://modelcontextprotocol.io",name:"MCP — offizielle Doku",note:"Spezifikation & Einstieg."}),l.jsx(kt,{href:"https://github.com/modelcontextprotocol/servers",name:"Offizielle MCP-Server",note:"filesystem, git, postgres, fetch & mehr."}),l.jsx(kt,{href:"https://smithery.ai",name:"Smithery",note:"Registry zum Suchen & Auto-Installieren von MCP-Servern."}),l.jsx(kt,{href:"https://glama.ai/mcp/servers",name:"Glama MCP Registry",note:"kuratierte Community-Datenbank."}),l.jsx(kt,{href:"https://skills.sh",name:"skills.sh",note:"Registry & CLI für Agent-Skills."})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[l.jsx(Jr,{className:"h-3.5 w-3.5 text-rose-400"})," Agenten & Frameworks"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[l.jsx(kt,{href:"https://github.com/NousResearch/hermes-agent",name:"Hermes Agent (Nous)",note:"der Agent, der auf deiner Box läuft."}),l.jsx(kt,{href:"https://docs.claude.com",name:"Anthropic / Claude Docs",note:"API, Tool-Use, Agent SDK, MCP."}),l.jsx(kt,{href:"https://github.com/cline/cline",name:"Cline",note:"autonomer Coding-Agent für VS Code."}),l.jsx(kt,{href:"https://aider.chat",name:"aider",note:"AI-Pair-Programming im Terminal, git-nativ."}),l.jsx(kt,{href:"https://continue.dev",name:"Continue",note:"Open-Source-Autopilot für IDEs."})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[l.jsx(sv,{className:"h-3.5 w-3.5 text-amber-400"})," Lernen & Community"]}),l.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[l.jsx(kt,{href:"https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview",name:"Prompt-Engineering (Anthropic)",note:"die beste praktische Anleitung."}),l.jsx(kt,{href:"https://github.com/anthropics/anthropic-cookbook",name:"Anthropic Cookbook",note:"lauffähige Rezepte für Tools, RAG, Agenten."}),l.jsx(kt,{href:"https://www.promptingguide.ai",name:"Prompt Engineering Guide",note:"herstellerneutrales Nachschlagewerk."}),l.jsx(kt,{href:"https://github.com/mem0ai/mem0",name:"Mem0",note:"die auto-lernende Memory-Schicht hinter deinem Gedächtnis."}),l.jsx(kt,{href:"https://www.reddit.com/r/LocalLLaMA/",name:"r/LocalLLaMA",note:"der Puls der lokalen-LLM-Szene."})]})]})]})]}),l.jsx(Ir,{id:"troubleshooting",icon:OM,color:"text-rose-400",title:"14. Troubleshooting",kicker:"Wenn's hakt",wide:!0,children:l.jsxs("ul",{className:"space-y-2 list-disc pl-4",children:[l.jsxs("li",{children:[l.jsx("strong",{children:"Keine Verbindung?"})," Selbes LAN wie die Box? IP/Port stimmen (",l.jsx(ze,{children:":9001"}),")? Backend-Status in der ",l.jsx("strong",{children:"Zentrale"})," prüfen."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Modell antwortet nicht / langsam?"})," In der ",l.jsx("strong",{children:"Zentrale → Dienste"})," schauen, ob ",l.jsx(ze,{children:"llama-swap"})," grün ist; sonst Restart. Erstes Token nach Swap dauert (Modell lädt)."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Agent dreht durch / halluziniert?"})," Frische Session im ",l.jsx("strong",{children:"Terminal"})," starten — meist ist es vollgemüllter Kontext."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Gedächtnis findet nichts?"})," Embedding-Dienst online? Semantisch suchen (Sinn statt exaktem Wort). Leeres Gedächtnis → Hermes-Onboarding starten."]}),l.jsxs("li",{children:[l.jsx("strong",{children:"Update hat etwas zerschossen?"})," Genau dafür gibt es Backup & ",l.jsx(ze,{children:"restore.sh"})," — den getesteten Restore fahren, dann Ursache suchen."]})]})})]}),l.jsx("p",{className:"text-center text-[10px] text-muted-foreground/50 pt-2",children:"Mission Control 2 · AI-Bibel · Stand Juni 2026 — lebendes Dokument, wächst mit dem Stack."})]})}function bR({title:e,hint:t}){return l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-xl font-semibold",children:e}),l.jsx("p",{className:"text-sm text-muted-foreground",children:t})]}),l.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 rounded-xl border border-dashed border-border bg-card/50 py-20 text-center",children:[l.jsx(yM,{className:"h-8 w-8 text-muted-foreground"}),l.jsx("div",{className:"text-sm text-muted-foreground",children:"Kommt in einer späteren Phase."})]})]})}const lk=[{id:"mission-control-2",label:"Mission Control",type:"user",reach:"gateway (integr"},{id:"hermes-gateway",label:"Hermes Gateway",type:"user",reach:"hermes-gateway"},{id:"mem0-service",label:"Mem0 (Gedächtnis)",type:"user",reach:"mem0"},{id:"voice-service",label:"Voice (Sprache)",type:"user",reach:"voice"},{id:"hermes-terminal",label:"Hermes Terminal",type:"user",reach:"hermes-terminal"},{id:"llama-swap",label:"Llama Swap",type:"system",reach:"llama-swap"}];function Yl({icon:e,iconClass:t,name:r,status:n,available:i,busy:o,actionLabel:u,onAction:c}){return l.jsxs("div",{className:ee("flex items-center gap-3 rounded-lg border px-3 py-2",i?"border-amber-500/30 bg-amber-500/5":"border-border/50 bg-background/20"),children:[l.jsx(e,{className:ee("h-4 w-4 shrink-0",t)}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"text-xs text-foreground truncate",children:r}),l.jsx("div",{className:ee("text-[10px] truncate",i?"text-amber-400/90":"text-muted-foreground"),children:n})]}),l.jsx("button",{onClick:c,disabled:!i||o,className:ee("text-[11px] font-semibold rounded-lg px-2.5 py-1 transition-colors shrink-0",i?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer":"border border-border/50 text-muted-foreground/40 cursor-default"),children:o?"…":u})]})}function wR({label:e,ok:t,system:r,busy:n,onRestart:i,onLogs:o}){return l.jsxs("div",{className:"flex items-center gap-2.5 rounded-lg border border-border/50 bg-background/20 px-3 py-2",children:[l.jsx("span",{className:ee("w-1.5 h-1.5 rounded-full shrink-0",t===!0?"bg-emerald-500":t===!1?"bg-red-500":"bg-muted-foreground/40")}),l.jsxs("span",{className:"flex-1 text-xs text-foreground truncate",children:[e,r&&l.jsx("span",{className:"text-[9px] text-muted-foreground",children:" (root)"})]}),l.jsx("button",{onClick:i,disabled:n,title:"Neu starten",className:"text-muted-foreground hover:text-primary transition-colors disabled:opacity-50",children:l.jsx(ps,{className:ee("h-3.5 w-3.5",n&&"animate-spin")})}),l.jsx("button",{onClick:o,title:"Logs ansehen",className:"text-muted-foreground hover:text-primary transition-colors",children:l.jsx(bM,{className:"h-3.5 w-3.5"})})]})}function fg(e){return e==null?"":e>1024**3?`${(e/1024**3).toFixed(2)} GB`:`${(e/1024**2).toFixed(1)} MB`}const kR=/\b(error|fehler|fail(ed|ure)?|fatal|critical|crit|panic|traceback|exception|denied|refused|unable|emerg|alert|oom|killed)\b/i,jR=/\b(warn(ing)?|deprecat\w*|retry(ing)?|timeout|timed out|degraded|missing|not found|nicht gefunden)\b/i;function SR(e){return kR.test(e)?"error":jR.test(e)?"warn":"info"}const NR={error:"text-red-400",warn:"text-amber-300",info:"text-cyan-300/80"};function ER({service:e,text:t,loading:r,logStatus:n,onRefresh:i,onOpenSettings:o}){const[u,c]=y.useState(!1),[f,h]=y.useState(""),m=y.useRef(null),g=y.useMemo(()=>t?t.split(`
+`).map(S=>({t:S,level:SR(S)})):[],[t]),v=y.useMemo(()=>g.filter(S=>S.level!=="info").length,[g]),b=f.trim().toLowerCase(),j=g.filter(S=>(!u||S.level!=="info")&&(!b||S.t.toLowerCase().includes(b))),k=n==="password_required"||n==="incorrect_password";return l.jsxs("div",{className:"flex-1 flex flex-col min-h-[300px] border border-border/60 bg-black/50 rounded-xl overflow-hidden shadow-inner",children:[l.jsxs("div",{className:"flex h-10 items-center justify-between gap-2 px-3 border-b border-border/40 bg-black/30 shrink-0",children:[l.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground shrink-0",children:[l.jsx(YN,{className:"h-3 w-3 text-primary"}),l.jsx("span",{className:"hidden sm:inline",children:"stdout/stderr —"})," ",e]}),l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsxs("div",{className:"relative",children:[l.jsx(lh,{className:"pointer-events-none absolute left-2 top-1/2 h-3 w-3 -translate-y-1/2 text-muted-foreground"}),l.jsx("input",{value:f,onChange:S=>h(S.target.value),placeholder:"filtern…",className:"h-7 w-24 sm:w-36 rounded-md border border-border/50 bg-background/40 pl-6 pr-2 text-[10px] text-foreground outline-none focus:border-primary/50"})]}),l.jsxs("button",{onClick:()=>c(S=>!S),title:"Nur Fehler und Warnungen zeigen",className:ee("flex h-7 items-center gap-1 rounded-md border px-2 text-[10px] font-semibold transition-colors",u?"border-amber-500/50 bg-amber-500/15 text-amber-300":"border-border/50 bg-background/20 text-muted-foreground hover:text-foreground"),children:[l.jsx(Er,{className:"h-3 w-3"}),"Nur Probleme",v>0?` (${v})`:""]}),l.jsx("button",{onClick:i,disabled:r,title:"Neu laden",className:"flex h-7 w-7 items-center justify-center rounded-md border border-border/50 bg-background/20 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",children:l.jsx(ps,{className:ee("h-3 w-3",r&&"animate-spin")})})]})]}),l.jsx("div",{ref:m,className:"flex-1 overflow-y-auto p-3 text-[10px] font-mono leading-relaxed scrollbar-thin select-text",children:k?l.jsxs("div",{className:"flex h-full flex-col items-center justify-center space-y-3 p-6 text-center",children:[l.jsx(Er,{className:"h-8 w-8 text-amber-400 animate-pulse animate-duration-1000"}),l.jsx("div",{className:"text-xs font-semibold text-amber-300",children:n==="incorrect_password"?"Falsches Sudo-Passwort hinterlegt.":"Sudo-Passwort für systemd-Dienste erforderlich."}),l.jsxs("p",{className:"max-w-xs text-[10px] leading-normal text-muted-foreground",children:["Für das Auslesen der systemd-Logs von ",e," werden Root-Rechte benötigt. Hinterlege dein Passwort in den Einstellungen."]}),l.jsx("button",{onClick:o,className:"mt-2 rounded-md bg-primary px-3 py-1.5 text-[10px] font-semibold text-primary-foreground transition-colors hover:bg-primary/95",children:"Sudo-Passwort eintragen"})]}):r&&!t?l.jsx("span",{className:"text-muted-foreground",children:"Lade Logs…"}):g.length===0?l.jsx("span",{className:"text-muted-foreground",children:"Keine Logeinträge vorhanden."}):j.length===0?l.jsx("span",{className:"text-muted-foreground",children:u?"Keine Fehler oder Warnungen — der Dienst läuft sauber. ✓":"Kein Treffer für den Filter."}):j.map((S,N)=>l.jsx("div",{className:ee("whitespace-pre-wrap",NR[S.level]),children:S.t||" "},N))})]})}function AR({open:e,showAlert:t}){const[r,n]=y.useState(""),[i,o]=y.useState(""),[u,c]=y.useState(!1),[f,h]=y.useState(!1);return y.useEffect(()=>{e&&(n(localStorage.getItem("mc_sudo_password")||""),o(localStorage.getItem("mc_hf_token")||""))},[e]),l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Zugangsdaten & Schlüssel"}),l.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Daten werden ausschließlich lokal in deinem Browser (localStorage) gespeichert und bei Bedarf an das Backend übertragen."})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[l.jsx(qs,{className:"h-4 w-4 text-amber-400"}),"Host Sudo-Passwort"]}),l.jsxs("div",{className:"relative",children:[l.jsx("input",{type:u?"text":"password",value:r,onChange:m=>n(m.target.value),"aria-label":"Host Sudo-Passwort",name:"sudo-password",autoComplete:"off",spellCheck:!1,placeholder:"Sudo-Passwort für System-Operationen",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),l.jsx("button",{type:"button",onClick:()=>c(!u),"aria-label":u?"Passwort verbergen":"Passwort anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:u?l.jsx(ww,{className:"h-4 w-4","aria-hidden":"true"}):l.jsx(yu,{className:"h-4 w-4","aria-hidden":"true"})})]}),l.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Wird benötigt für systemd-Dienste (Llama Swap logs/restart), OS-Update (apt) und Reboot."})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[l.jsx(AM,{className:"h-4 w-4 text-violet-400"}),"HuggingFace API Token"]}),l.jsxs("div",{className:"relative",children:[l.jsx("input",{type:f?"text":"password",value:i,onChange:m=>o(m.target.value),"aria-label":"HuggingFace API Token",name:"hf-token",autoComplete:"off",spellCheck:!1,placeholder:"hf_…",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),l.jsx("button",{type:"button",onClick:()=>h(!f),"aria-label":f?"Token verbergen":"Token anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:f?l.jsx(ww,{className:"h-4 w-4","aria-hidden":"true"}):l.jsx(yu,{className:"h-4 w-4","aria-hidden":"true"})})]}),l.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Erlaubt das Herunterladen von geschützten oder Gate-restricted Modellen direkt über Mission Control."})]}),l.jsxs("div",{className:"flex gap-3 pt-2",children:[l.jsx("button",{onClick:()=>{localStorage.setItem("mc_sudo_password",r),localStorage.setItem("mc_hf_token",i),t("Erfolgreich","Einstellungen erfolgreich lokal gespeichert.")},className:"flex-1 h-9 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/90 rounded-lg transition-colors shadow shadow-primary/10 cursor-pointer",children:"Speichern"}),l.jsx("button",{onClick:()=>{n(""),o(""),localStorage.removeItem("mc_sudo_password"),localStorage.removeItem("mc_hf_token"),t("Gelöscht","Zugangsdaten gelöscht.")},className:"h-9 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Zurücksetzen"})]})]})}function CR({detail:e,maintenanceJob:t,onClose:r,onApply:n}){var f,h;const i=e.data,o={os:{icon:qs,cls:"text-cyan-400",title:"OS-Pakete (apt)"},engine:{icon:uh,cls:"text-violet-400",title:"Inferenz-Engine (llama.cpp)"},swap:{icon:QN,cls:"text-fuchsia-400",title:"Router (llama-swap)"},hermes:{icon:Jr,cls:"text-amber-400",title:"Hermes-Agent"}}[e.kind],u=o.icon,c=i?e.kind==="os"?(i.count??0)===0:e.kind==="hermes"?(i.behind??0)===0:i.installed_build!=null&&i.latest_build!=null&&i.latest_build<=i.installed_build:!0;return l.jsxs("div",{className:"fixed inset-0 z-[60] flex items-center justify-center p-4",children:[l.jsx("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm",onClick:r}),l.jsxs("div",{className:"relative w-full max-w-lg max-h-[80vh] flex flex-col rounded-2xl border border-border/60 bg-card shadow-2xl font-sans text-foreground",children:[l.jsxs("div",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-5",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(u,{className:ee("h-4.5 w-4.5",o.cls)}),l.jsx("h3",{className:"text-sm font-semibold",children:o.title})]}),l.jsx("button",{onClick:r,className:"flex h-7 w-7 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:l.jsx(gi,{className:"h-4 w-4"})})]}),l.jsx("div",{className:"flex-1 overflow-y-auto p-5 text-xs space-y-3 scrollbar-thin",children:e.loading?l.jsxs("div",{className:"flex h-24 items-center justify-center gap-2 text-muted-foreground",children:[l.jsx(ps,{className:"h-4 w-4 animate-spin"})," Details werden geladen…"]}):i!=null&&i.error?l.jsx("div",{className:"rounded-lg border border-red-500/30 bg-red-500/5 p-3 text-red-400",children:i.error}):l.jsxs(l.Fragment,{children:[(i==null?void 0:i.action_needed)!=null&&l.jsxs("div",{className:ee("flex items-start gap-2 rounded-lg border p-3",i.action_needed?"border-amber-500/40 bg-amber-500/10":"border-emerald-500/40 bg-emerald-500/10"),children:[i.action_needed?l.jsx(Er,{className:"h-4 w-4 text-amber-400 shrink-0 mt-0.5"}):l.jsx(FN,{className:"h-4 w-4 text-emerald-400 shrink-0 mt-0.5"}),l.jsxs("div",{className:"min-w-0",children:[l.jsxs("div",{className:ee("text-xs font-semibold",i.action_needed?"text-amber-300":"text-emerald-300"),children:["Musst du etwas tun? ",i.action_needed?"Ja":"Nein — die Box regelt das (Fangnetz)"]}),i.action_needed&&i.action_text&&l.jsx("div",{className:"mt-0.5 text-[11px] text-foreground/90",children:i.action_text})]})]}),(i==null?void 0:i.summary)&&l.jsxs("div",{className:"rounded-lg border border-primary/25 bg-primary/5 p-3 space-y-1",children:[l.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-primary",children:"Was dieses Update bedeutet (Zusammenfassung der Box)"}),l.jsx("pre",{className:"whitespace-pre-wrap text-[11px] leading-relaxed text-foreground/90 font-sans",children:i.summary})]}),e.kind==="os"?l.jsxs(l.Fragment,{children:[((i==null?void 0:i.count)??0)===0?l.jsx("div",{className:"text-muted-foreground",children:"Keine Pakete zu aktualisieren — System ist aktuell."}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"text-muted-foreground",children:[i.count," Paket(e) werden aktualisiert:"]}),l.jsx("div",{className:"space-y-1",children:i.packages.map(m=>l.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[l.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[l.jsx(Sw,{className:"h-3 w-3 text-cyan-400 shrink-0"}),m.name]}),l.jsxs("span",{className:"flex items-center gap-1 font-mono text-[10px] text-muted-foreground shrink-0",children:[l.jsx("span",{children:m.current}),l.jsx(rf,{className:"h-3 w-3"}),l.jsx("span",{className:"text-emerald-400",children:m.candidate})]})]},m.name))})]}),(((f=i==null?void 0:i.held_back)==null?void 0:f.length)??0)>0&&l.jsxs("div",{className:"space-y-1.5 rounded-lg border border-border/40 bg-background/20 p-3",children:[l.jsxs("div",{className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground",children:[l.jsx(BN,{className:"h-3.5 w-3.5"})," Vom Hersteller zurückgestellt — kein Handeln nötig"]}),l.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Pakete gäbe es bereits, Ubuntu spielt sie aber gestaffelt aus (Phasen-Rollout) bzw. hält sie kurz zurück. Sie kommen bei einem der nächsten automatischen Läufe von selbst — das ist kein Fehler und nichts hängt fest."}),l.jsx("div",{className:"space-y-1",children:i.held_back.map(m=>l.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/30 bg-background/30 px-2.5 py-1.5",children:[l.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[l.jsx(Sw,{className:"h-3 w-3 text-muted-foreground shrink-0"}),m.name]}),l.jsx("span",{className:"text-[9px] text-muted-foreground shrink-0",children:m.reason==="phasing"?"Phasen-Rollout":"vorerst zurückgehalten"})]},m.name))})]})]}):e.kind==="engine"||e.kind==="swap"?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"flex items-center gap-2 font-mono text-[11px]",children:[l.jsxs("span",{className:"rounded-md border border-border/40 bg-background/30 px-2 py-1",children:["Build ",(i==null?void 0:i.installed_build)??"?"]}),l.jsx(rf,{className:"h-3.5 w-3.5 text-muted-foreground"}),l.jsxs("span",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/5 px-2 py-1 text-emerald-400",children:["Build ",(i==null?void 0:i.latest_build)??"?"]})]}),((i==null?void 0:i.name)||(i==null?void 0:i.latest_tag))&&l.jsxs("div",{className:"text-muted-foreground",children:["Release: ",l.jsx("span",{className:"text-foreground",children:i==null?void 0:i.name}),i!=null&&i.latest_tag?` (${i.latest_tag})`:""]}),(i==null?void 0:i.url)&&l.jsxs("a",{href:i.url,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-primary hover:underline",children:["Original-Release-Notes auf GitHub ",l.jsx(sh,{className:"h-3 w-3"})]}),(i==null?void 0:i.body)&&l.jsxs("details",{className:"group",children:[l.jsx("summary",{className:"cursor-pointer text-[10px] text-muted-foreground hover:text-foreground",children:"Original-Notizen (englisch) anzeigen"}),l.jsx("pre",{className:"mt-1.5 whitespace-pre-wrap rounded-lg border border-border/40 bg-background/30 p-3 text-[10px] leading-relaxed text-muted-foreground max-h-60 overflow-y-auto scrollbar-thin",children:i.body})]})]}):(((h=i==null?void 0:i.commits)==null?void 0:h.length)??0)===0?l.jsx("div",{className:"text-muted-foreground",children:"Keine neuen Commits — Hermes-Agent ist bereits aktuell."}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"text-muted-foreground",children:[i.behind," neue Commit(s) auf ",l.jsxs("span",{className:"font-mono text-foreground",children:["origin/",i.branch]}),":"]}),l.jsx("div",{className:"space-y-1",children:i.commits.map(m=>l.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[l.jsx(SM,{className:"h-3.5 w-3.5 text-primary shrink-0 mt-0.5"}),l.jsxs("div",{className:"min-w-0",children:[l.jsx("div",{className:"text-[11px] truncate",children:m.subject}),l.jsxs("div",{className:"font-mono text-[9px] text-muted-foreground",children:[m.hash," · ",m.when]})]})]},m.hash))})]}),e.kind!=="os"&&!c&&l.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-border/40 bg-background/20 p-2.5",children:[l.jsx(qN,{className:"h-3.5 w-3.5 text-emerald-400 shrink-0 mt-0.5"}),l.jsxs("p",{className:"text-[10px] text-muted-foreground leading-normal",children:["Vor dem Update sichert die Box automatisch den alten Stand. Danach prüft sie den ganzen Stack per echter Anfrage — läuft etwas nicht, rollt sie von selbst zurück",e.kind==="hermes"?" und startet den Gateway neu":"","."]})]})]})}),l.jsxs("div",{className:"flex gap-3 border-t border-border/40 p-4 shrink-0",children:[l.jsx("button",{onClick:r,className:"h-9 flex-1 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold text-muted-foreground hover:bg-accent transition-colors cursor-pointer",children:"Schließen"}),l.jsx("button",{onClick:n,disabled:e.loading||c||!!t,title:t?`Update läuft bereits: ${t.label}`:void 0,className:"h-9 flex-1 rounded-lg bg-primary text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-40 disabled:cursor-default",children:t?"Update läuft…":"Jetzt aktualisieren"})]})]})]})}function Q5({open:e,onClose:t,defaultTab:r="maintenance"}){var nt;const[n,i]=y.useState(null),[o,u]=y.useState([]),[c,f]=y.useState("llama-swap"),[h,m]=y.useState(""),[g,v]=y.useState(!1),[b,j]=y.useState(null),[k,S]=y.useState({}),[N,E]=y.useState("maintenance"),[A,P]=y.useState(!1),[_,O]=y.useState(""),[T,B]=y.useState(!1),[$,z]=y.useState(null),[Q,U]=y.useState([]),[ve,ue]=y.useState(!1),[pe,oe]=y.useState(null),[se,X]=y.useState(null);function ne(K,Le,Cr){X({type:"alert",title:K,message:Le,onConfirm:()=>{X(null),Cr&&Cr()}})}function te(K,Le,Cr){X({type:"confirm",title:K,message:Le,onConfirm:()=>{X(null),Cr()},onCancel:()=>X(null)})}function I(K){return K?new Date(K*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"Nie"}y.useEffect(()=>{e&&r&&E(r)},[e,r]);function M(){we("/api/maintenance/updates").then(i).catch(K=>console.error("Error loading updates",K))}function H(){we("/api/jobs").then(K=>u(K.jobs||[])).catch(K=>console.error("Error loading jobs",K))}function ie(){we("/api/system/services").then(z).catch(()=>{})}function J(){we("/api/system/backups").then(K=>U(K.backups||[])).catch(()=>{})}function Z(K){v(!0),j(null),we(`/api/maintenance/logs?service=${K}&lines=150`).then(Le=>{Le.ok?m(Le.text):(m(`Fehler beim Laden der Logs: ${Le.err||"Unbekannter Fehler"}`),(Le.status==="incorrect_password"||Le.status==="password_required")&&j(Le.status))}).catch(Le=>m(`Fehler: ${Le.message}`)).finally(()=>v(!1))}y.useEffect(()=>{if(!e)return;M(),H(),ie(),J();const K=setInterval(()=>{H(),M(),ie()},3e3);return()=>clearInterval(K)},[e]),y.useEffect(()=>{!e||N!=="logs"||Z(c)},[e,N,c]);function ae(K){return(K==null?void 0:K.status)==="busy"?(ne("Update läuft bereits",`Es läuft gerade „${K.running}". Bitte warte, bis es fertig ist.`),H(),!0):!1}function me(K){return(K==null?void 0:K.status)==="password_required"||(K==null?void 0:K.status)==="incorrect_password"?(ne("Box-Passwort nötig",(K.status==="incorrect_password"?"Das gespeicherte Box-Passwort stimmt nicht. ":"Für dieses Update braucht die Box dein Passwort. ")+"Bitte oben im Reiter „Einstellungen“ setzen bzw. korrigieren."),!0):K&&K.ok===!1?(ne("Update fehlgeschlagen",K.err||"Unbekannter Fehler."),!0):!1}async function re(){try{const K=await we("/api/maintenance/os-update",{method:"POST"});if(ae(K)||me(K))return;H(),E("maintenance")}catch(K){ne("Fehler",`Fehler beim Starten des OS-Updates: ${K.message}`)}}async function ye(){try{const K=await we("/api/maintenance/engine-update",{method:"POST"});if(ae(K)||me(K))return;H(),E("maintenance")}catch(K){ne("Fehler",`Fehler beim Engine-Update: ${K.message}`)}}async function Oe(){try{const K=await we("/api/maintenance/swap-update",{method:"POST"});if(ae(K)||me(K))return;H(),E("maintenance")}catch(K){ne("Fehler",`Fehler beim Router-Update: ${K.message}`)}}async function de(){ue(!0);try{const K=await we("/api/maintenance/hermes-update",{method:"POST"});if(ae(K))return;H()}catch(K){ne("Fehler",`Hermes-Update fehlgeschlagen: ${K.message}`)}finally{ue(!1)}}async function Ze(K){oe({kind:K,loading:!0,data:null});try{const Le=await we(`/api/maintenance/update-details?kind=${K}`);oe({kind:K,loading:!1,data:Le})}catch(Le){oe({kind:K,loading:!1,data:{kind:K,error:Le.message}})}}function Ue(){const K=pe==null?void 0:pe.kind;oe(null),K==="os"?re():K==="engine"?ye():K==="swap"?Oe():K==="hermes"&&de()}async function _e(){P(!0);try{await we("/api/maintenance/check-updates",{method:"POST"}),H(),E("maintenance")}catch(K){ne("Fehler",`Fehler bei der Update-Suche: ${K.message}`)}finally{P(!1)}}async function xt(K,Le){try{await we("/api/models/install",{method:"POST",body:JSON.stringify({repo:K,role:Le})}),ne("Gestartet",`Modell-Upgrade für '${Le}' (${K}) gestartet.`),H(),E("maintenance")}catch(Cr){ne("Fehler",`Fehler beim Starten des Modell-Upgrades: ${Cr.message}`)}}async function Jt(){te("Reboot bestätigen","Bist du sicher, dass du das gesamte Host-System neu starten willst?",async()=>{try{await we("/api/maintenance/reboot",{method:"POST"}),ne("Reboot","Reboot ausgelöst. System startet neu...",()=>{t()})}catch(K){ne("Fehler",`Fehler beim Reboot: ${K.message}`)}})}async function G(){B(!0),O("Snapshot wird erzeugt...");try{const K=await we("/api/system/backup",{method:"POST"});O(K.ok?`Snapshot erzeugt: ${K.snapshot} (${K.files.length} Komponenten)`:"Backup fehlgeschlagen."),J()}catch(K){O(`Fehler: ${K.message}`)}finally{B(!1)}}async function Ne(K){S(Le=>({...Le,[K]:!0}));try{const Le=await we("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:K})});Le.ok?ne("Dienst neu gestartet",`Dienst ${K} wurde erfolgreich neu gestartet.`,()=>{N==="logs"&&c===K&&Z(K)}):ne("Fehler",`Fehler beim Neustart: ${Le.err||"Unbekannter Fehler"}`)}catch(Le){ne("Fehler",`Fehler beim Neustart: ${Le.message}`)}finally{S(Le=>({...Le,[K]:!1}))}}async function Pe(K){try{await we(`/api/jobs/${K}/cancel`,{method:"POST"}),H()}catch(Le){ne("Fehler",`Fehler beim Abbrechen: ${Le.message}`)}}const Ve=o.find(K=>(K.state==="running"||K.state==="queued")&&K.group==="maintenance");return l.jsxs(l.Fragment,{children:[l.jsx("div",{className:ee("fixed inset-0 bg-black/60 backdrop-blur-sm z-50 transition-opacity duration-300",e?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"),onClick:t}),l.jsxs("div",{className:ee("fixed inset-y-0 right-0 w-full sm:w-[640px] bg-card/85 backdrop-blur-xl border-l border-border/60 shadow-2xl z-50 flex flex-col transform transition-transform duration-300 ease-in-out font-sans text-foreground",e?"translate-x-0":"translate-x-full"),children:[l.jsxs("div",{className:"flex h-16 shrink-0 items-center justify-between border-b border-border/40 px-6",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(pi,{className:"h-4.5 w-4.5 text-primary"}),l.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase font-space",children:"OS-Zentrale & Pflege"})]}),l.jsx("button",{onClick:t,className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:l.jsx(gi,{className:"h-4 w-4"})})]}),l.jsxs("div",{className:"flex border-b border-border/40 px-6",children:[l.jsx("button",{onClick:()=>E("maintenance"),className:ee("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N==="maintenance"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Wartung"}),l.jsx("button",{onClick:()=>E("logs"),className:ee("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N==="logs"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Logs"}),l.jsx("button",{onClick:()=>E("settings"),className:ee("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N==="settings"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"Einstellungen"})]}),l.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[N==="maintenance"&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"space-y-2.5",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Updates"}),l.jsxs("button",{onClick:_e,disabled:A||!!Ve,className:"flex items-center gap-1 text-[10px] font-semibold text-primary hover:text-primary/80 transition-colors disabled:opacity-50",children:[l.jsx(ps,{className:ee("h-3 w-3",A&&"animate-spin")})," Nach Updates suchen"]})]}),(n==null?void 0:n.last_check)&&l.jsxs("div",{className:"text-[9px] text-muted-foreground -mt-1",children:["Zuletzt gesucht: ",I(n.last_check)]}),Ve&&l.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-300",children:[l.jsx(ps,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}),l.jsxs("span",{children:["Update läuft: ",l.jsx("span",{className:"font-semibold",children:Ve.label})," — bitte warten. Weitere Updates sind solange gesperrt."]})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx(Yl,{icon:qs,iconClass:"text-cyan-400",name:"OS-Pakete (apt)",available:!!(n!=null&&n.os),status:n!=null&&n.os?`${n.os} verfügbar`:"aktuell",actionLabel:"Anzeigen",onAction:()=>Ze("os")}),l.jsx(Yl,{icon:uh,iconClass:"text-violet-400",name:"Inferenz-Engine (llama.cpp)",available:!!(n!=null&&n.engine),status:n!=null&&n.engine?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>Ze("engine")}),l.jsx(Yl,{icon:QN,iconClass:"text-fuchsia-400",name:"Router (llama-swap)",available:!!(n!=null&&n.swap),status:n!=null&&n.swap?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>Ze("swap")}),(()=>{var Le;const K=(Le=n==null?void 0:n.components)==null?void 0:Le.find(Cr=>Cr.key==="hermes_agent");return l.jsx(Yl,{icon:Jr,iconClass:"text-amber-400",name:"Hermes-Agent",available:(K==null?void 0:K.update)===!0,busy:ve,status:(K==null?void 0:K.update)===!0?`Update: ${K.latest}`:(K==null?void 0:K.reachable)===!1?"offline":"aktuell",actionLabel:"Anzeigen",onAction:()=>Ze("hermes")})})(),(nt=n==null?void 0:n.model_list)==null?void 0:nt.map(K=>l.jsx(Yl,{icon:lM,iconClass:"text-emerald-400",name:`Modell · ${K.role}`,available:!0,status:K.title,actionLabel:"Upgrade",onAction:()=>xt(K.repo,K.role)},K.role))]})]}),l.jsxs("div",{className:"space-y-2.5",children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Dienste"}),l.jsx("div",{className:"space-y-1.5",children:lk.map(K=>{var Le;return l.jsx(wR,{label:K.label,system:K.type==="system",ok:(Le=$==null?void 0:$.services.find(Cr=>Cr.name.toLowerCase().includes(K.reach)))==null?void 0:Le.ok,busy:k[K.id],onRestart:()=>Ne(K.id),onLogs:()=>{f(K.id),E("logs")}},K.id)})})]}),l.jsxs("div",{className:"space-y-2.5",children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Backup"}),l.jsxs("div",{className:"rounded-lg border border-border/50 bg-background/20 px-3 py-2.5 flex items-center gap-3",children:[l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"text-xs text-foreground truncate",children:Q[0]?`Letztes: ${Q[0].snapshot}`:"Noch kein Backup"}),l.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[Q.length," Snapshots · Restore per CLI (restore.sh)"]})]}),l.jsxs("button",{onClick:G,disabled:T,className:"flex items-center gap-1.5 text-[11px] font-semibold rounded-lg px-2.5 py-1 bg-primary text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50 shrink-0",children:[l.jsx(dM,{className:ee("h-3.5 w-3.5",T&&"animate-pulse")})," Snapshot"]})]}),_&&l.jsx("div",{className:"text-[10px] font-mono text-primary bg-primary/5 p-2 rounded-lg border border-primary/20 break-all leading-normal",children:_})]}),l.jsxs("div",{className:"space-y-2.5",children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-red-400/80",children:"Gefahrenzone"}),l.jsxs("button",{onClick:Jt,className:"flex w-full items-center gap-3 p-3 rounded-lg border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 text-red-400 transition-all text-left text-xs font-semibold",children:[l.jsx(GN,{className:"h-4.5 w-4.5"}),l.jsxs("div",{children:[l.jsx("div",{children:"Host-System neu starten"}),l.jsx("div",{className:"text-[10px] text-red-400/80 font-normal",children:"Startet die ganze Box neu"})]})]})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Hintergrund-Aufgaben"}),l.jsxs("span",{className:"text-[10px] font-mono bg-primary/10 text-primary px-1.5 py-0.5 rounded-full",children:[o.filter(K=>K.state==="running"||K.state==="queued").length," Aktiv"]})]}),l.jsx("div",{className:"space-y-3",children:o.length===0?l.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-xl p-6 text-center",children:"Aktuell keine aktiven Hintergrund-Jobs."}):o.map(K=>{const Le=K.state==="running"||K.state==="queued";return l.jsxs("div",{className:ee("p-3 rounded-xl border transition-all duration-300",Le?"border-primary/40 bg-primary/5 shadow-md shadow-primary/5":"border-border/40 bg-background/20 opacity-80"),children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"space-y-1",children:[l.jsxs("div",{className:"text-xs font-semibold flex items-center gap-1.5",children:[Le&&l.jsxs("span",{className:"flex h-2 w-2 relative",children:[l.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"}),l.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-primary"})]}),K.label]}),l.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground uppercase flex items-center gap-2",children:[l.jsxs("span",{children:["ID: ",K.id]}),l.jsx("span",{children:"•"}),l.jsx("span",{className:ee(K.state==="done"&&"text-emerald-400",K.state==="failed"&&"text-red-400",K.state==="running"&&"text-primary",K.state==="queued"&&"text-amber-400",K.state==="canceled"&&"text-muted-foreground"),children:K.state})]})]}),Le&&l.jsx("button",{onClick:()=>Pe(K.id),className:"text-[10px] font-semibold text-red-400 hover:text-red-300 border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 px-2 py-0.5 rounded transition-colors",children:"Abbrechen"})]}),K.state==="running"&&l.jsxs("div",{className:"mt-3 space-y-1",children:[l.jsx("div",{className:"w-full h-1.5 bg-muted rounded-full overflow-hidden",children:l.jsx("div",{className:"h-full bg-primary transition-all duration-500",style:{width:`${K.progress??0}%`}})}),l.jsxs("div",{className:"flex justify-between items-center text-[9px] font-mono text-muted-foreground",children:[l.jsxs("span",{children:[K.progress??0,"%"]}),K.done_bytes!=null&&K.total_bytes!=null&&l.jsxs("span",{children:[fg(K.done_bytes)," / ",fg(K.total_bytes),K.rate_bps!=null&&` (${fg(K.rate_bps)}/s)`]}),K.eta_s!=null&&l.jsxs("span",{children:["ETA: ",K.eta_s,"s"]})]})]})]},K.id)})})]})]}),N==="logs"&&l.jsxs("div",{className:"flex flex-col h-full space-y-4",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("select",{value:c,onChange:K=>f(K.target.value),className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none text-foreground font-semibold",children:lk.map(K=>l.jsxs("option",{value:K.id,children:[K.label," (",K.type==="system"?"systemd-root":"user",")"]},K.id))}),l.jsxs("button",{onClick:()=>Ne(c),disabled:k[c],className:"flex h-9 px-3 items-center gap-1.5 text-xs font-semibold rounded-lg border border-border/60 bg-background/20 hover:border-primary/50 transition-colors disabled:opacity-50",title:"Dienst neu starten",children:[l.jsx(ps,{className:ee("h-3.5 w-3.5",k[c]&&"animate-spin")}),"Restart"]})]}),l.jsx(ER,{service:c,text:h,loading:g,logStatus:b,onRefresh:()=>Z(c),onOpenSettings:()=>E("settings")})]}),N==="settings"&&l.jsx(AR,{open:e,showAlert:ne})]})]}),pe&&l.jsx(CR,{detail:pe,maintenanceJob:Ve,onClose:()=>oe(null),onApply:Ue}),se&&l.jsx(W5,{type:se.type,title:se.title,message:se.message,onConfirm:se.onConfirm,onCancel:se.onCancel})]})}let wv=[],kv=[];const jv=new Set,Y5=()=>jv.forEach(e=>e());function X5(e){return jv.add(e),()=>{jv.delete(e)}}function PR(e){wv=[...wv,e].slice(-40),Y5()}function OR(e){kv=[...kv,e].slice(-40),Y5()}const _R=()=>y.useSyncExternalStore(X5,()=>wv),MR=()=>y.useSyncExternalStore(X5,()=>kv);function IR(){const{data:e,dataUpdatedAt:t}=ko(3e3),{data:r,dataUpdatedAt:n}=B5(3e3),i=y.useRef(null);y.useEffect(()=>{var o,u,c,f;e&&PR({t:Date.now(),cpu:((o=e.cpu)==null?void 0:o.percent)??0,ram:((u=e.ram)==null?void 0:u.percent)??0,gpu:((c=e.gpu)==null?void 0:c.busy_percent)??null,disk:((f=e.disk)==null?void 0:f.percent)??null})},[t]),y.useEffect(()=>{if(!r)return;const o=Date.now(),u=r.prompt_tokens,c=r.completion_tokens;if(i.current){const f=Math.max((o-i.current.t)/1e3,.001);OR({t:o,prompt:Math.max(0,(u-i.current.p)/f),completion:Math.max(0,(c-i.current.c)/f)})}i.current={p:u,c,t:o}},[n])}function Z5(){var P,_,O,T,B,$;const{data:e}=M0(),{data:t}=F5(),{data:r}=wi(),{data:n}=ko(),i=!!e&&!!t,o=z=>{var Q;return(Q=t==null?void 0:t.services.find(U=>U.name.toLowerCase().includes(z)))==null?void 0:Q.ok},u=e==null?void 0:e.engine_reachable,c=(P=e==null?void 0:e.brain)==null?void 0:P.ready,f=((_=e==null?void 0:e.brain)==null?void 0:_.model)||((O=r==null?void 0:r.models.find(z=>z.role==="hermes"))==null?void 0:O.name)||"",h=[];h.push((()=>{const z={id:"brain",label:"Lucys Hirn",icon:xa,critical:!0};return i?u===!1?{...z,status:"down",detail:"Die Motor-Maschine (Engine) läuft nicht — Lucy kann gerade gar nicht denken.",repair:{kind:"restart",service:"llama-swap",label:"Motor neu starten",needsSudo:!0}}:c===!1?{...z,status:"down",detail:"Lucys Hirn ist gerade eingeschlafen — einmal aufwecken.",repair:f?{kind:"loadModel",model:f,label:"Hirn aufwecken"}:void 0}:{...z,status:"ok",detail:"Wach und ansprechbar."}:{...z,status:"loading",detail:"Wird geprüft …"}})()),h.push((()=>{const z={id:"vision",label:"Lucys Augen",icon:yu,critical:!1};if(!i||!r)return{...z,status:"loading",detail:"Wird geprüft …"};const Q=r.models.find(ve=>ve.role==="vision");return Q?(r.running??[]).includes(Q.name)?{...z,status:"ok",detail:"Sieht Bildschirm und Bilder."}:{...z,status:"warn",detail:"Lucys Augen sind eingeschlafen — das erste Bild-Ansehen dauert dann kurz.",repair:{kind:"loadModel",model:Q.name,label:"Augen aufwecken"}}:{...z,status:"warn",detail:"Kein Augen-Modell eingerichtet — Lucy kann keine Bilder ansehen."}})()),h.push((()=>{const z={id:"memory",label:"Lucys Gedächtnis",icon:LN,critical:!0},Q=o("mem0");return!i||Q===void 0?{...z,status:"loading",detail:"Wird geprüft …"}:Q?{...z,status:"ok",detail:"Merkt sich Neues und findet Altes wieder."}:{...z,status:"down",detail:"Lucy kann sich gerade nichts merken — das Gedächtnis antwortet nicht.",repair:{kind:"restart",service:"mem0-service",label:"Gedächtnis neu starten"}}})()),h.push((()=>{const z={id:"gateway",label:"Verbindung (Gateway)",icon:xu,critical:!0},Q=e?e.gateway_reachable:o("integriert");return!i||Q===void 0?{...z,status:"loading",detail:"Wird geprüft …"}:Q?{...z,status:"ok",detail:"Apps und IDEs können Lucy erreichen."}:{...z,status:"down",detail:"Die Verbindungs-Zentrale antwortet nicht — Apps erreichen Lucy nicht.",repair:{kind:"restart",service:"mission-control-2",label:"Zentrale neu starten"}}})()),h.push((()=>{const z={id:"agent",label:"Lucys Agent (Hermes)",icon:Jr,critical:!0},Q=o("hermes-gateway");return!i||Q===void 0?{...z,status:"loading",detail:"Wird geprüft …"}:Q?{...z,status:"ok",detail:"Lucy ist bereit zu reden und zu handeln."}:{...z,status:"down",detail:"Lucys Agent ist offline — sie reagiert gerade nicht.",repair:{kind:"restart",service:"hermes-gateway",label:"Agent neu starten"}}})()),h.push((()=>{const z={id:"voice",label:"Lucys Stimme",icon:DM,critical:!1},Q=o("voice");return!i||Q===void 0?{...z,status:"loading",detail:"Wird geprüft …"}:Q?{...z,status:"ok",detail:"Lucy kann hören und sprechen."}:{...z,status:"warn",detail:"Sprechen ist gerade aus — Tippen geht weiter normal.",repair:{kind:"restart",service:"voice-service",label:"Stimme neu starten"}}})());const m=((T=n==null?void 0:n.gpu)==null?void 0:T.gtt_total)||((B=n==null?void 0:n.gpu)==null?void 0:B.vram_total)||0,g=(($=n==null?void 0:n.gpu)==null?void 0:$.gtt_used)||0,v=m>0?Math.min(100,g/m*100):0,b=1024**3,j=m?v>=90?{status:"full",usedGb:g/b,totalGb:m/b,pct:v,text:"Speicher fast voll — Lucy könnte langsamer werden."}:v>=72?{status:"warn",usedGb:g/b,totalGb:m/b,pct:v,text:"Speicher gut gefüllt — noch okay."}:{status:"ok",usedGb:g/b,totalGb:m/b,pct:v,text:"Genug Speicher frei."}:{status:"unknown",usedGb:0,totalGb:0,pct:0,text:"Speicher-Auslastung unbekannt."},k=h.some(z=>z.status==="loading"),S=h.filter(z=>z.critical&&z.status==="down"),N=h.filter(z=>z.status==="warn"||!z.critical&&z.status==="down"),E=j.status==="full";return{verdict:k&&!S.length?"loading":S.length?"problem":N.length||E?"warn":"gut",checks:h,memory:j,problems:S}}const TR={ok:"bg-emerald-500",warn:"bg-amber-500",down:"bg-red-500",loading:"bg-muted-foreground/40"};function DR({frame:e="lucy"}={}){const{verdict:t,checks:r,memory:n,problems:i}=Z5(),{showAlert:o,dialogElement:u}=ba(),c=Kn(),[f,h]=y.useState({});async function m(S,N){h(E=>({...E,[S]:!0}));try{if(N.kind==="loadModel")await we(`/api/models/${encodeURIComponent(N.model)}/load`,{method:"POST"});else{const E=await we("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:N.service})});E.ok||o("Reparatur nicht ganz geklappt",(E.err||"Unbekannter Fehler")+(N.needsSudo?`
-Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:""))}c.invalidateQueries({queryKey:Be.health}),c.invalidateQueries({queryKey:Be.services}),c.invalidateQueries({queryKey:Be.models})}catch(E){o("Reparatur fehlgeschlagen",String((E==null?void 0:E.message)||E))}finally{h(E=>({...E,[S]:!1}))}}const g=e==="box"?{loading:"Box wird geprüft …",gut:"Alles okay",warn:"Kleinigkeit an der Box",problem:"Box braucht Hilfe"}:{loading:"Lucy wird geprüft …",gut:"Lucy geht's gut 💚",warn:"Kleinigkeit bei Lucy",problem:"Lucy braucht Hilfe"},v={loading:{ring:"border-border/60 bg-card/45",icon:qs,iconCls:"text-muted-foreground animate-spin",title:g.loading,sub:"Einen Moment, ich schaue nach dem Rechten."},gut:{ring:"border-emerald-500/40 bg-emerald-500/5",icon:UN,iconCls:"text-emerald-400",title:g.gut,sub:"Alle wichtigen Fähigkeiten laufen."},warn:{ring:"border-amber-500/40 bg-amber-500/5",icon:Er,iconCls:"text-amber-400",title:g.warn,sub:"Nichts Schlimmes — nur ein Hinweis."},problem:{ring:"border-red-500/50 bg-red-500/5",icon:Er,iconCls:"text-red-400",title:g.problem,sub:`${i.length} wichtige${i.length===1?"s":""} Problem${i.length===1?"":"e"} gefunden.`}}[t],b=v.icon,j={ok:"bg-emerald-500",warn:"bg-amber-500",full:"bg-red-500",unknown:"bg-muted-foreground/40"}[n.status],k={ok:"text-emerald-400",warn:"text-amber-400",full:"text-red-400",unknown:"text-muted-foreground"}[n.status];return l.jsxs("div",{className:ee("rounded-2xl border p-5 shadow-lg shadow-black/15 backdrop-blur-md transition-colors",v.ring),children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border border-border/40 bg-background/30",children:l.jsx(b,{className:ee("h-6 w-6",v.iconCls)})}),l.jsxs("div",{className:"min-w-0",children:[l.jsx("h2",{className:"text-base font-bold tracking-tight text-foreground",children:v.title}),l.jsx("p",{className:"text-xs text-muted-foreground",children:v.sub})]})]}),l.jsxs("div",{className:"mt-4 rounded-xl border border-border/30 bg-background/20 p-3",children:[l.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[l.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",children:[l.jsx(fa,{className:"h-3.5 w-3.5"})," Speicher"]}),l.jsx("span",{className:ee("font-mono font-bold",k),children:n.status==="unknown"?"—":`${n.usedGb.toFixed(0)} / ${n.totalGb.toFixed(0)} GB`})]}),l.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:l.jsx("div",{className:ee("h-full rounded-full transition-all duration-500",j),style:{width:`${n.pct}%`}})}),l.jsx("p",{className:ee("mt-1.5 text-[11px]",k),children:n.text})]}),l.jsx("div",{className:"mt-4 space-y-1.5",children:r.map(S=>l.jsx(DR,{c:S,busy:!!f[S.id],onRepair:()=>S.repair&&m(S.id,S.repair)},S.id))}),u]})}function DR({c:e,busy:t,onRepair:r}){const n=e.icon,i=e.status==="down"||e.status==="warn";return l.jsxs("div",{className:ee("flex items-center justify-between gap-3 rounded-xl border p-2.5 transition-colors",e.status==="down"?"border-red-500/25 bg-red-500/5":e.status==="warn"?"border-amber-500/20 bg-amber-500/5":"border-border/30 bg-background/15"),children:[l.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[l.jsxs("span",{className:"relative flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-border/40 bg-background/30 text-foreground/80",children:[l.jsx(n,{className:"h-4 w-4"}),l.jsx("span",{className:ee("absolute -right-0.5 -top-0.5 h-2.5 w-2.5 rounded-full ring-2 ring-black/40",IR[e.status],e.status==="down"&&"animate-pulse")})]}),l.jsxs("div",{className:"min-w-0",children:[l.jsxs("div",{className:"flex items-center gap-1.5 text-xs font-bold text-foreground",children:[e.label,e.status==="ok"&&l.jsx(qt,{className:"h-3 w-3 text-emerald-400"}),!e.critical&&l.jsx("span",{className:"rounded bg-background/40 px-1 py-0.5 text-[8px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:"optional"})]}),l.jsx("div",{className:"truncate text-[11px] text-muted-foreground",children:e.detail})]})]}),i&&e.repair&&l.jsxs("button",{onClick:r,disabled:t,className:ee("flex h-8 shrink-0 items-center gap-1.5 rounded-lg border px-2.5 text-[10px] font-bold uppercase tracking-wide transition-all cursor-pointer disabled:opacity-60",e.status==="down"?"border-red-500/40 bg-red-500/10 text-red-300 hover:bg-red-500/20":"border-amber-500/40 bg-amber-500/10 text-amber-300 hover:bg-amber-500/20"),title:e.repair.label,children:[t?l.jsx(qs,{className:"h-3.5 w-3.5 animate-spin"}):l.jsx(Gu,{className:"h-3.5 w-3.5"}),e.repair.label]}),i&&!e.repair&&l.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[10px] font-semibold text-muted-foreground",title:"Keine Auto-Reparatur bekannt",children:[l.jsx(HM,{className:"h-3.5 w-3.5"})," manuell"]})]})}function RR(){const{data:e,error:t}=ko(3e3),r=OR();return{sys:e,hist:r,error:t}}var LR=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function D0(e){if(typeof e!="string")return!1;var t=LR;return t.includes(e)}var $R=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],zR=new Set($R);function J5(e){return typeof e!="string"?!1:zR.has(e)}function eE(e){return typeof e=="string"&&e.startsWith("data-")}function xn(e){if(typeof e!="object"||e===null)return{};var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(J5(r)||eE(r))&&(t[r]=e[r]);return t}function vh(e){if(e==null)return null;if(y.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return xn(t)}return typeof e=="object"&&!Array.isArray(e)?xn(e):null}function Jr(e){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(J5(r)||eE(r)||D0(r))&&(t[r]=e[r]);return t}function FR(e){return e==null?null:y.isValidElement(e)?Jr(e.props):typeof e=="object"&&!Array.isArray(e)?Jr(e):null}var BR=["children","width","height","viewBox","className","style","title","desc"];function Sv(){return Sv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.width,i=e.height,o=e.viewBox,u=e.className,c=e.style,f=e.title,h=e.desc,m=UR(e,BR),g=o||{width:n,height:i,x:0,y:0},v=rt("recharts-surface",u);return y.createElement("svg",Sv({},Jr(m),{className:v,width:n,height:i,style:c,viewBox:"".concat(g.x," ").concat(g.y," ").concat(g.width," ").concat(g.height),ref:t}),y.createElement("title",null,f),y.createElement("desc",null,h),r)}),WR=["children","className"];function Nv(){return Nv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,i=KR(e,WR),o=rt("recharts-layer",n);return y.createElement("g",Nv({className:o},Jr(i),{ref:t}),r)}),VR=y.createContext(null);function vt(e){return function(){return e}}const Ev=Math.PI,Av=2*Ev,Ha=1e-6,qR=Av-Ha;function rE(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return rE;const r=10**t;return function(n){this._+=n[0];for(let i=1,o=n.length;iHa)if(!(Math.abs(g*f-h*m)>Ha)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let b=n-u,j=i-c,k=f*f+h*h,S=b*b+j*j,N=Math.sqrt(k),E=Math.sqrt(v),A=o*Math.tan((Ev-Math.acos((k+v-S)/(2*N*E)))/2),P=A/E,_=A/N;Math.abs(P-1)>Ha&&this._append`L${t+P*m},${r+P*g}`,this._append`A${o},${o},0,0,${+(g*b>m*j)},${this._x1=t+_*f},${this._y1=r+_*h}`}}arc(t,r,n,i,o,u){if(t=+t,r=+r,n=+n,u=!!u,n<0)throw new Error(`negative radius: ${n}`);let c=n*Math.cos(i),f=n*Math.sin(i),h=t+c,m=r+f,g=1^u,v=u?i-o:o-i;this._x1===null?this._append`M${h},${m}`:(Math.abs(this._x1-h)>Ha||Math.abs(this._y1-m)>Ha)&&this._append`L${h},${m}`,n&&(v<0&&(v=v%Av+Av),v>qR?this._append`A${n},${n},0,1,${g},${t-c},${r-f}A${n},${n},0,1,${g},${this._x1=h},${this._y1=m}`:v>Ha&&this._append`A${n},${n},0,${+(v>=Ev)},${g},${this._x1=t+n*Math.cos(o)},${this._y1=r+n*Math.sin(o)}`)}rect(t,r,n,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function nE(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new YR(t)}function R0(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function iE(e){this._context=e}iE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function yh(e){return new iE(e)}function aE(e){return e[0]}function oE(e){return e[1]}function sE(e,t){var r=vt(!0),n=null,i=yh,o=null,u=nE(c);e=typeof e=="function"?e:e===void 0?aE:vt(e),t=typeof t=="function"?t:t===void 0?oE:vt(t);function c(f){var h,m=(f=R0(f)).length,g,v=!1,b;for(n==null&&(o=i(b=u())),h=0;h<=m;++h)!(h=b;--j)c.point(A[j],P[j]);c.lineEnd(),c.areaEnd()}N&&(A[v]=+e(S,v,g),P[v]=+t(S,v,g),c.point(n?+n(S,v,g):A[v],r?+r(S,v,g):P[v]))}if(E)return c=null,E+""||null}function m(){return sE().defined(i).curve(u).context(o)}return h.x=function(g){return arguments.length?(e=typeof g=="function"?g:vt(+g),n=null,h):e},h.x0=function(g){return arguments.length?(e=typeof g=="function"?g:vt(+g),h):e},h.x1=function(g){return arguments.length?(n=g==null?null:typeof g=="function"?g:vt(+g),h):n},h.y=function(g){return arguments.length?(t=typeof g=="function"?g:vt(+g),r=null,h):t},h.y0=function(g){return arguments.length?(t=typeof g=="function"?g:vt(+g),h):t},h.y1=function(g){return arguments.length?(r=g==null?null:typeof g=="function"?g:vt(+g),h):r},h.lineX0=h.lineY0=function(){return m().x(e).y(t)},h.lineY1=function(){return m().x(e).y(r)},h.lineX1=function(){return m().x(n).y(t)},h.defined=function(g){return arguments.length?(i=typeof g=="function"?g:vt(!!g),h):i},h.curve=function(g){return arguments.length?(u=g,o!=null&&(c=u(o)),h):u},h.context=function(g){return arguments.length?(g==null?o=c=null:c=u(o=g),h):o},h}class lE{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function XR(e){return new lE(e,!0)}function ZR(e){return new lE(e,!1)}function df(){}function ff(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function uE(e){this._context=e}uE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ff(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ff(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function JR(e){return new uE(e)}function cE(e){this._context=e}cE.prototype={areaStart:df,areaEnd:df,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:ff(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function eL(e){return new cE(e)}function dE(e){this._context=e}dE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:ff(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function tL(e){return new dE(e)}function fE(e){this._context=e}fE.prototype={areaStart:df,areaEnd:df,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function rL(e){return new fE(e)}function uk(e){return e<0?-1:1}function ck(e,t,r){var n=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(n||i<0&&-0),u=(r-e._y1)/(i||n<0&&-0),c=(o*i+u*n)/(n+i);return(uk(o)+uk(u))*Math.min(Math.abs(o),Math.abs(u),.5*Math.abs(c))||0}function dk(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function hg(e,t,r){var n=e._x0,i=e._y0,o=e._x1,u=e._y1,c=(o-n)/3;e._context.bezierCurveTo(n+c,i+c*t,o-c,u-c*r,o,u)}function hf(e){this._context=e}hf.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:hg(this,this._t0,dk(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,hg(this,dk(this,r=ck(this,e,t)),r);break;default:hg(this,this._t0,r=ck(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function hE(e){this._context=new mE(e)}(hE.prototype=Object.create(hf.prototype)).point=function(e,t){hf.prototype.point.call(this,t,e)};function mE(e){this._context=e}mE.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,i,o){this._context.bezierCurveTo(t,e,n,r,o,i)}};function nL(e){return new hf(e)}function iL(e){return new hE(e)}function pE(e){this._context=e}pE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=fk(e),i=fk(t),o=0,u=1;u=0;--t)i[t]=(u[t]-i[t+1])/o[t];for(o[r-1]=(e[r]+i[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function oL(e){return new xh(e,.5)}function sL(e){return new xh(e,0)}function lL(e){return new xh(e,1)}function ho(e,t){if((u=e.length)>1)for(var r=1,n,i,o=e[t[0]],u,c=o.length;r=0;)r[t]=t;return r}function uL(e,t){return e[t]}function cL(e){const t=[];return t.key=e,t}function dL(){var e=vt([]),t=Cv,r=ho,n=uL;function i(o){var u=Array.from(e.apply(this,arguments),cL),c,f=u.length,h=-1,m;for(const g of o)for(c=0,++h;c0){for(var r,n,i=0,o=e[0].length,u;i0){for(var r=0,n=e[t[0]],i,o=n.length;r0)||!((o=(i=e[t[0]]).length)>0))){for(var r=0,n=1,i,o,u;n1&&arguments[1]!==void 0?arguments[1]:gL,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function Wt(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var c=r[u-1];return typeof c=="string"?i+c+o:c!==void 0?i+ca(c)+o:i+o},"")}var Yr=e=>e===0?0:e>0?1:-1,Fn=e=>typeof e=="number"&&e!=+e,mo=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,Ae=e=>(typeof e=="number"||e instanceof Number)&&!Fn(e),Bn=e=>Ae(e)||typeof e=="string",vL=0,ju=e=>{var t=++vL;return"".concat(e||"").concat(t)},ya=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Ae(t)&&typeof t!="string")return n;var o;if(mo(t)){if(r==null)return n;var u=t.indexOf("%");o=r*parseFloat(t.slice(0,u))/100}else o=+t;return Fn(o)&&(o=n),i&&r!=null&&o>r&&(o=r),o},yE=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):jo(n,t))===r)}var Qt=e=>e===null||typeof e>"u",z0=e=>Qt(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function Sr(e){return e!=null}function Xs(){}var bE=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,F0=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if(y.isValidElement(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(i=>{D0(i)&&typeof r[i]=="function"&&(n[i]=(o=>r[i](r,o)))}),n},yL=(e,t,r)=>n=>(e(t,r,n),null),xL=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(i=>{var o=e[i];D0(i)&&typeof o=="function"&&(n||(n={}),n[i]=yL(o,t,r))}),n};function hk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function bL(e){for(var t=1;t(u[c]===void 0&&n[c]!==void 0&&(u[c]=n[c]),u),r);return o}function SL(e,t){const r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function B0(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const PL="[object RegExp]",kE="[object String]",jE="[object Number]",SE="[object Boolean]",NE="[object Arguments]",OL="[object Symbol]",_L="[object Date]",ML="[object Map]",IL="[object Set]",TL="[object Array]",DL="[object ArrayBuffer]",RL="[object Object]",LL="[object DataView]",$L="[object Uint8Array]",zL="[object Uint8ClampedArray]",FL="[object Uint16Array]",BL="[object Uint32Array]",UL="[object Int8Array]",HL="[object Int16Array]",WL="[object Int32Array]",KL="[object Float32Array]",GL="[object Float64Array]",mk=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function VL(e){return typeof mk.Buffer<"u"&&mk.Buffer.isBuffer(e)}function qL(e,t){return Va(e,void 0,e,new Map,t)}function Va(e,t,r,n=new Map,i=void 0){const o=i==null?void 0:i(e,t,r,n);if(o!==void 0)return o;if(Ov(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){const u=new Array(e.length);n.set(e,u);for(let c=0;c{}):_v(e,t,function n(i,o,u,c,f,h){const m=r(i,o,u,c,f,h);return m!==void 0?!!m:_v(i,o,n,h,!1)},new Map,!0)}function _v(e,t,r,n,i=!1){if(t===e)return!0;switch(typeof t){case"object":return XL(e,t,r,n);case"function":return Object.keys(t).length>0?_v(e,{...t},r,n,i):qd(e,t);default:return EE(e)&&i?typeof t=="string"?t==="":!0:qd(e,t)}}function XL(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return CE(e,t,r,n);if(t instanceof Map)return ZL(e,t,r,n);if(t instanceof Set)return JL(e,t,r,n);const i=Object.keys(t);if(e==null||Ov(e))return i.length===0;if(i.length===0)return!0;if(n!=null&&n.has(t))return n.get(t)===e;n==null||n.set(t,e);try{for(let o=0;o{})}function e$(e){return e=YL(e),t=>PE(t,e)}function t$(e,t){return qL(e,(r,n,i,o)=>{if(typeof e=="object"){if(B0(e)==="[object Object]"&&typeof e.constructor!="function"){const u={};return o.set(e,u),hn(u,e,i,o),u}switch(Object.prototype.toString.call(e)){case jE:case kE:case SE:{const u=new e.constructor(e==null?void 0:e.valueOf());return hn(u,e),u}case NE:{const u={};return hn(u,e),u.length=e.length,u[Symbol.iterator]=e[Symbol.iterator],u}default:return}}})}function r$(e){return t$(e)}const n$=/^(?:0|[1-9]\d*)$/;function OE(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function _E(e){return e!=null&&typeof e!="function"&&l$(e.length)}function u$(e){return typeof e=="object"&&e!==null}function c$(e){return u$(e)&&_E(e)}function pk(e,t=wE){return c$(e)?SL(Array.from(e),NL(s$(t),1)):[]}function d$(e,t,r){return t===!0?pk(e,r):typeof t=="function"?pk(e,t):e}var mg={exports:{}},pg={},gg={exports:{}},vg={};/**
+Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:""))}c.invalidateQueries({queryKey:Be.health}),c.invalidateQueries({queryKey:Be.services}),c.invalidateQueries({queryKey:Be.models})}catch(E){o("Reparatur fehlgeschlagen",String((E==null?void 0:E.message)||E))}finally{h(E=>({...E,[S]:!1}))}}const g=e==="box"?{loading:"Box wird geprüft …",gut:"Alles okay",warn:"Kleinigkeit an der Box",problem:"Box braucht Hilfe"}:{loading:"Lucy wird geprüft …",gut:"Lucy geht's gut 💚",warn:"Kleinigkeit bei Lucy",problem:"Lucy braucht Hilfe"},v={loading:{ring:"border-border/60 bg-card/45",icon:Vs,iconCls:"text-muted-foreground animate-spin",title:g.loading,sub:"Einen Moment, ich schaue nach dem Rechten."},gut:{ring:"border-emerald-500/40 bg-emerald-500/5",icon:UN,iconCls:"text-emerald-400",title:g.gut,sub:"Alle wichtigen Fähigkeiten laufen."},warn:{ring:"border-amber-500/40 bg-amber-500/5",icon:Er,iconCls:"text-amber-400",title:g.warn,sub:"Nichts Schlimmes — nur ein Hinweis."},problem:{ring:"border-red-500/50 bg-red-500/5",icon:Er,iconCls:"text-red-400",title:g.problem,sub:`${i.length} wichtige${i.length===1?"s":""} Problem${i.length===1?"":"e"} gefunden.`}}[t],b=v.icon,j={ok:"bg-emerald-500",warn:"bg-amber-500",full:"bg-red-500",unknown:"bg-muted-foreground/40"}[n.status],k={ok:"text-emerald-400",warn:"text-amber-400",full:"text-red-400",unknown:"text-muted-foreground"}[n.status];return l.jsxs("div",{className:ee("rounded-2xl border p-5 shadow-lg shadow-black/15 backdrop-blur-md transition-colors",v.ring),children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border border-border/40 bg-background/30",children:l.jsx(b,{className:ee("h-6 w-6",v.iconCls)})}),l.jsxs("div",{className:"min-w-0",children:[l.jsx("h2",{className:"text-base font-bold tracking-tight text-foreground",children:v.title}),l.jsx("p",{className:"text-xs text-muted-foreground",children:v.sub})]})]}),l.jsxs("div",{className:"mt-4 rounded-xl border border-border/30 bg-background/20 p-3",children:[l.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[l.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",children:[l.jsx(fa,{className:"h-3.5 w-3.5"})," Speicher"]}),l.jsx("span",{className:ee("font-mono font-bold",k),children:n.status==="unknown"?"—":`${n.usedGb.toFixed(0)} / ${n.totalGb.toFixed(0)} GB`})]}),l.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:l.jsx("div",{className:ee("h-full rounded-full transition-all duration-500",j),style:{width:`${n.pct}%`}})}),l.jsx("p",{className:ee("mt-1.5 text-[11px]",k),children:n.text})]}),l.jsx("div",{className:"mt-4 space-y-1.5",children:r.map(S=>l.jsx(RR,{c:S,busy:!!f[S.id],onRepair:()=>S.repair&&m(S.id,S.repair)},S.id))}),u]})}function RR({c:e,busy:t,onRepair:r}){const n=e.icon,i=e.status==="down"||e.status==="warn";return l.jsxs("div",{className:ee("flex items-center justify-between gap-3 rounded-xl border p-2.5 transition-colors",e.status==="down"?"border-red-500/25 bg-red-500/5":e.status==="warn"?"border-amber-500/20 bg-amber-500/5":"border-border/30 bg-background/15"),children:[l.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[l.jsxs("span",{className:"relative flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-border/40 bg-background/30 text-foreground/80",children:[l.jsx(n,{className:"h-4 w-4"}),l.jsx("span",{className:ee("absolute -right-0.5 -top-0.5 h-2.5 w-2.5 rounded-full ring-2 ring-black/40",TR[e.status],e.status==="down"&&"animate-pulse")})]}),l.jsxs("div",{className:"min-w-0",children:[l.jsxs("div",{className:"flex items-center gap-1.5 text-xs font-bold text-foreground",children:[e.label,e.status==="ok"&&l.jsx(qt,{className:"h-3 w-3 text-emerald-400"}),!e.critical&&l.jsx("span",{className:"rounded bg-background/40 px-1 py-0.5 text-[8px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:"optional"})]}),l.jsx("div",{className:"truncate text-[11px] text-muted-foreground",children:e.detail})]})]}),i&&e.repair&&l.jsxs("button",{onClick:r,disabled:t,className:ee("flex h-8 shrink-0 items-center gap-1.5 rounded-lg border px-2.5 text-[10px] font-bold uppercase tracking-wide transition-all cursor-pointer disabled:opacity-60",e.status==="down"?"border-red-500/40 bg-red-500/10 text-red-300 hover:bg-red-500/20":"border-amber-500/40 bg-amber-500/10 text-amber-300 hover:bg-amber-500/20"),title:e.repair.label,children:[t?l.jsx(Vs,{className:"h-3.5 w-3.5 animate-spin"}):l.jsx(Ku,{className:"h-3.5 w-3.5"}),e.repair.label]}),i&&!e.repair&&l.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[10px] font-semibold text-muted-foreground",title:"Keine Auto-Reparatur bekannt",children:[l.jsx(WM,{className:"h-3.5 w-3.5"})," manuell"]})]})}function LR(){const{data:e,error:t}=ko(3e3),r=_R();return{sys:e,hist:r,error:t}}var $R=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function D0(e){if(typeof e!="string")return!1;var t=$R;return t.includes(e)}var zR=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],FR=new Set(zR);function J5(e){return typeof e!="string"?!1:FR.has(e)}function eE(e){return typeof e=="string"&&e.startsWith("data-")}function xn(e){if(typeof e!="object"||e===null)return{};var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(J5(r)||eE(r))&&(t[r]=e[r]);return t}function vh(e){if(e==null)return null;if(y.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return xn(t)}return typeof e=="object"&&!Array.isArray(e)?xn(e):null}function en(e){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(J5(r)||eE(r)||D0(r))&&(t[r]=e[r]);return t}function BR(e){return e==null?null:y.isValidElement(e)?en(e.props):typeof e=="object"&&!Array.isArray(e)?en(e):null}var UR=["children","width","height","viewBox","className","style","title","desc"];function Sv(){return Sv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.width,i=e.height,o=e.viewBox,u=e.className,c=e.style,f=e.title,h=e.desc,m=HR(e,UR),g=o||{width:n,height:i,x:0,y:0},v=rt("recharts-surface",u);return y.createElement("svg",Sv({},en(m),{className:v,width:n,height:i,style:c,viewBox:"".concat(g.x," ").concat(g.y," ").concat(g.width," ").concat(g.height),ref:t}),y.createElement("title",null,f),y.createElement("desc",null,h),r)}),KR=["children","className"];function Nv(){return Nv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,i=GR(e,KR),o=rt("recharts-layer",n);return y.createElement("g",Nv({className:o},en(i),{ref:t}),r)}),qR=y.createContext(null);function vt(e){return function(){return e}}const Ev=Math.PI,Av=2*Ev,Ha=1e-6,QR=Av-Ha;function rE(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return rE;const r=10**t;return function(n){this._+=n[0];for(let i=1,o=n.length;iHa)if(!(Math.abs(g*f-h*m)>Ha)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let b=n-u,j=i-c,k=f*f+h*h,S=b*b+j*j,N=Math.sqrt(k),E=Math.sqrt(v),A=o*Math.tan((Ev-Math.acos((k+v-S)/(2*N*E)))/2),P=A/E,_=A/N;Math.abs(P-1)>Ha&&this._append`L${t+P*m},${r+P*g}`,this._append`A${o},${o},0,0,${+(g*b>m*j)},${this._x1=t+_*f},${this._y1=r+_*h}`}}arc(t,r,n,i,o,u){if(t=+t,r=+r,n=+n,u=!!u,n<0)throw new Error(`negative radius: ${n}`);let c=n*Math.cos(i),f=n*Math.sin(i),h=t+c,m=r+f,g=1^u,v=u?i-o:o-i;this._x1===null?this._append`M${h},${m}`:(Math.abs(this._x1-h)>Ha||Math.abs(this._y1-m)>Ha)&&this._append`L${h},${m}`,n&&(v<0&&(v=v%Av+Av),v>QR?this._append`A${n},${n},0,1,${g},${t-c},${r-f}A${n},${n},0,1,${g},${this._x1=h},${this._y1=m}`:v>Ha&&this._append`A${n},${n},0,${+(v>=Ev)},${g},${this._x1=t+n*Math.cos(o)},${this._y1=r+n*Math.sin(o)}`)}rect(t,r,n,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function nE(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new XR(t)}function R0(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function iE(e){this._context=e}iE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function yh(e){return new iE(e)}function aE(e){return e[0]}function oE(e){return e[1]}function sE(e,t){var r=vt(!0),n=null,i=yh,o=null,u=nE(c);e=typeof e=="function"?e:e===void 0?aE:vt(e),t=typeof t=="function"?t:t===void 0?oE:vt(t);function c(f){var h,m=(f=R0(f)).length,g,v=!1,b;for(n==null&&(o=i(b=u())),h=0;h<=m;++h)!(h=b;--j)c.point(A[j],P[j]);c.lineEnd(),c.areaEnd()}N&&(A[v]=+e(S,v,g),P[v]=+t(S,v,g),c.point(n?+n(S,v,g):A[v],r?+r(S,v,g):P[v]))}if(E)return c=null,E+""||null}function m(){return sE().defined(i).curve(u).context(o)}return h.x=function(g){return arguments.length?(e=typeof g=="function"?g:vt(+g),n=null,h):e},h.x0=function(g){return arguments.length?(e=typeof g=="function"?g:vt(+g),h):e},h.x1=function(g){return arguments.length?(n=g==null?null:typeof g=="function"?g:vt(+g),h):n},h.y=function(g){return arguments.length?(t=typeof g=="function"?g:vt(+g),r=null,h):t},h.y0=function(g){return arguments.length?(t=typeof g=="function"?g:vt(+g),h):t},h.y1=function(g){return arguments.length?(r=g==null?null:typeof g=="function"?g:vt(+g),h):r},h.lineX0=h.lineY0=function(){return m().x(e).y(t)},h.lineY1=function(){return m().x(e).y(r)},h.lineX1=function(){return m().x(n).y(t)},h.defined=function(g){return arguments.length?(i=typeof g=="function"?g:vt(!!g),h):i},h.curve=function(g){return arguments.length?(u=g,o!=null&&(c=u(o)),h):u},h.context=function(g){return arguments.length?(g==null?o=c=null:c=u(o=g),h):o},h}class lE{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function ZR(e){return new lE(e,!0)}function JR(e){return new lE(e,!1)}function df(){}function ff(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function uE(e){this._context=e}uE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ff(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ff(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function eL(e){return new uE(e)}function cE(e){this._context=e}cE.prototype={areaStart:df,areaEnd:df,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:ff(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function tL(e){return new cE(e)}function dE(e){this._context=e}dE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:ff(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function rL(e){return new dE(e)}function fE(e){this._context=e}fE.prototype={areaStart:df,areaEnd:df,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function nL(e){return new fE(e)}function uk(e){return e<0?-1:1}function ck(e,t,r){var n=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(n||i<0&&-0),u=(r-e._y1)/(i||n<0&&-0),c=(o*i+u*n)/(n+i);return(uk(o)+uk(u))*Math.min(Math.abs(o),Math.abs(u),.5*Math.abs(c))||0}function dk(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function hg(e,t,r){var n=e._x0,i=e._y0,o=e._x1,u=e._y1,c=(o-n)/3;e._context.bezierCurveTo(n+c,i+c*t,o-c,u-c*r,o,u)}function hf(e){this._context=e}hf.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:hg(this,this._t0,dk(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,hg(this,dk(this,r=ck(this,e,t)),r);break;default:hg(this,this._t0,r=ck(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function hE(e){this._context=new mE(e)}(hE.prototype=Object.create(hf.prototype)).point=function(e,t){hf.prototype.point.call(this,t,e)};function mE(e){this._context=e}mE.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,i,o){this._context.bezierCurveTo(t,e,n,r,o,i)}};function iL(e){return new hf(e)}function aL(e){return new hE(e)}function pE(e){this._context=e}pE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=fk(e),i=fk(t),o=0,u=1;u=0;--t)i[t]=(u[t]-i[t+1])/o[t];for(o[r-1]=(e[r]+i[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function sL(e){return new xh(e,.5)}function lL(e){return new xh(e,0)}function uL(e){return new xh(e,1)}function ho(e,t){if((u=e.length)>1)for(var r=1,n,i,o=e[t[0]],u,c=o.length;r=0;)r[t]=t;return r}function cL(e,t){return e[t]}function dL(e){const t=[];return t.key=e,t}function fL(){var e=vt([]),t=Cv,r=ho,n=cL;function i(o){var u=Array.from(e.apply(this,arguments),dL),c,f=u.length,h=-1,m;for(const g of o)for(c=0,++h;c0){for(var r,n,i=0,o=e[0].length,u;i0){for(var r=0,n=e[t[0]],i,o=n.length;r0)||!((o=(i=e[t[0]]).length)>0))){for(var r=0,n=1,i,o,u;n1&&arguments[1]!==void 0?arguments[1]:vL,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function Wt(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var c=r[u-1];return typeof c=="string"?i+c+o:c!==void 0?i+ca(c)+o:i+o},"")}var Yr=e=>e===0?0:e>0?1:-1,Fn=e=>typeof e=="number"&&e!=+e,mo=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,Ae=e=>(typeof e=="number"||e instanceof Number)&&!Fn(e),Bn=e=>Ae(e)||typeof e=="string",yL=0,ku=e=>{var t=++yL;return"".concat(e||"").concat(t)},ya=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Ae(t)&&typeof t!="string")return n;var o;if(mo(t)){if(r==null)return n;var u=t.indexOf("%");o=r*parseFloat(t.slice(0,u))/100}else o=+t;return Fn(o)&&(o=n),i&&r!=null&&o>r&&(o=r),o},yE=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):jo(n,t))===r)}var Qt=e=>e===null||typeof e>"u",z0=e=>Qt(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function Sr(e){return e!=null}function Ys(){}var bE=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,F0=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if(y.isValidElement(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(i=>{D0(i)&&typeof r[i]=="function"&&(n[i]=(o=>r[i](r,o)))}),n},xL=(e,t,r)=>n=>(e(t,r,n),null),bL=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(i=>{var o=e[i];D0(i)&&typeof o=="function"&&(n||(n={}),n[i]=xL(o,t,r))}),n};function hk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function wL(e){for(var t=1;t(u[c]===void 0&&n[c]!==void 0&&(u[c]=n[c]),u),r);return o}function NL(e,t){const r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function B0(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const OL="[object RegExp]",kE="[object String]",jE="[object Number]",SE="[object Boolean]",NE="[object Arguments]",_L="[object Symbol]",ML="[object Date]",IL="[object Map]",TL="[object Set]",DL="[object Array]",RL="[object ArrayBuffer]",LL="[object Object]",$L="[object DataView]",zL="[object Uint8Array]",FL="[object Uint8ClampedArray]",BL="[object Uint16Array]",UL="[object Uint32Array]",HL="[object Int8Array]",WL="[object Int16Array]",KL="[object Int32Array]",GL="[object Float32Array]",VL="[object Float64Array]",mk=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function qL(e){return typeof mk.Buffer<"u"&&mk.Buffer.isBuffer(e)}function QL(e,t){return Va(e,void 0,e,new Map,t)}function Va(e,t,r,n=new Map,i=void 0){const o=i==null?void 0:i(e,t,r,n);if(o!==void 0)return o;if(Ov(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){const u=new Array(e.length);n.set(e,u);for(let c=0;c{}):_v(e,t,function n(i,o,u,c,f,h){const m=r(i,o,u,c,f,h);return m!==void 0?!!m:_v(i,o,n,h,!1)},new Map,!0)}function _v(e,t,r,n,i=!1){if(t===e)return!0;switch(typeof t){case"object":return ZL(e,t,r,n);case"function":return Object.keys(t).length>0?_v(e,{...t},r,n,i):Vd(e,t);default:return EE(e)&&i?typeof t=="string"?t==="":!0:Vd(e,t)}}function ZL(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return CE(e,t,r,n);if(t instanceof Map)return JL(e,t,r,n);if(t instanceof Set)return e$(e,t,r,n);const i=Object.keys(t);if(e==null||Ov(e))return i.length===0;if(i.length===0)return!0;if(n!=null&&n.has(t))return n.get(t)===e;n==null||n.set(t,e);try{for(let o=0;o{})}function t$(e){return e=XL(e),t=>PE(t,e)}function r$(e,t){return QL(e,(r,n,i,o)=>{if(typeof e=="object"){if(B0(e)==="[object Object]"&&typeof e.constructor!="function"){const u={};return o.set(e,u),mn(u,e,i,o),u}switch(Object.prototype.toString.call(e)){case jE:case kE:case SE:{const u=new e.constructor(e==null?void 0:e.valueOf());return mn(u,e),u}case NE:{const u={};return mn(u,e),u.length=e.length,u[Symbol.iterator]=e[Symbol.iterator],u}default:return}}})}function n$(e){return r$(e)}const i$=/^(?:0|[1-9]\d*)$/;function OE(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function _E(e){return e!=null&&typeof e!="function"&&u$(e.length)}function c$(e){return typeof e=="object"&&e!==null}function d$(e){return c$(e)&&_E(e)}function pk(e,t=wE){return d$(e)?NL(Array.from(e),EL(l$(t),1)):[]}function f$(e,t,r){return t===!0?pk(e,r):typeof t=="function"?pk(e,t):e}var mg={exports:{}},pg={},gg={exports:{}},vg={};/**
* @license React
* use-sync-external-store-shim.production.js
*
@@ -586,7 +591,7 @@ Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:"
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
- */var gk;function f$(){if(gk)return vg;gk=1;var e=Vs();function t(g,v){return g===v&&(g!==0||1/g===1/v)||g!==g&&v!==v}var r=typeof Object.is=="function"?Object.is:t,n=e.useState,i=e.useEffect,o=e.useLayoutEffect,u=e.useDebugValue;function c(g,v){var b=v(),j=n({inst:{value:b,getSnapshot:v}}),k=j[0].inst,S=j[1];return o(function(){k.value=b,k.getSnapshot=v,f(k)&&S({inst:k})},[g,b,v]),i(function(){return f(k)&&S({inst:k}),g(function(){f(k)&&S({inst:k})})},[g]),u(b),b}function f(g){var v=g.getSnapshot;g=g.value;try{var b=v();return!r(g,b)}catch{return!0}}function h(g,v){return v()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:c;return vg.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,vg}var vk;function h$(){return vk||(vk=1,gg.exports=f$()),gg.exports}/**
+ */var gk;function h$(){if(gk)return vg;gk=1;var e=Gs();function t(g,v){return g===v&&(g!==0||1/g===1/v)||g!==g&&v!==v}var r=typeof Object.is=="function"?Object.is:t,n=e.useState,i=e.useEffect,o=e.useLayoutEffect,u=e.useDebugValue;function c(g,v){var b=v(),j=n({inst:{value:b,getSnapshot:v}}),k=j[0].inst,S=j[1];return o(function(){k.value=b,k.getSnapshot=v,f(k)&&S({inst:k})},[g,b,v]),i(function(){return f(k)&&S({inst:k}),g(function(){f(k)&&S({inst:k})})},[g]),u(b),b}function f(g){var v=g.getSnapshot;g=g.value;try{var b=v();return!r(g,b)}catch{return!0}}function h(g,v){return v()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:c;return vg.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,vg}var vk;function m$(){return vk||(vk=1,gg.exports=h$()),gg.exports}/**
* @license React
* use-sync-external-store-shim/with-selector.production.js
*
@@ -594,12 +599,12 @@ Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:"
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
- */var yk;function m$(){if(yk)return pg;yk=1;var e=Vs(),t=h$();function r(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var n=typeof Object.is=="function"?Object.is:r,i=t.useSyncExternalStore,o=e.useRef,u=e.useEffect,c=e.useMemo,f=e.useDebugValue;return pg.useSyncExternalStoreWithSelector=function(h,m,g,v,b){var j=o(null);if(j.current===null){var k={hasValue:!1,value:null};j.current=k}else k=j.current;j=c(function(){function N(O){if(!E){if(E=!0,A=O,O=v(O),b!==void 0&&k.hasValue){var T=k.value;if(b(T,O))return P=T}return P=O}if(T=P,n(A,O))return T;var B=v(O);return b!==void 0&&b(T,B)?(A=O,T):(A=O,P=B)}var E=!1,A,P,_=g===void 0?null:g;return[function(){return N(m())},_===null?void 0:function(){return N(_())}]},[m,g,v,b]);var S=i(h,j[0],j[1]);return u(function(){k.hasValue=!0,k.value=S},[S]),f(S),S},pg}var xk;function p$(){return xk||(xk=1,mg.exports=m$()),mg.exports}var g$=p$(),U0=y.createContext(null),v$=e=>e,Nt=()=>{var e=y.useContext(U0);return e?e.store.dispatch:v$},Qd=()=>{},y$=()=>Qd,x$=(e,t)=>e===t;function Me(e){var t=y.useContext(U0),r=y.useMemo(()=>t?n=>{if(n!=null)return e(n)}:Qd,[t,e]);return g$.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:y$,t?t.store.getState:Qd,t?t.store.getState:Qd,r,x$)}function b$(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function w$(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){const r=e.map(n=>typeof n=="function"?`function ${n.name||"unnamed"}()`:typeof n).join(", ");throw new TypeError(`${t}[${r}]`)}}var bk=e=>Array.isArray(e)?e:[e];function k$(e){const t=Array.isArray(e[0])?e[0]:e;return w$(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function j$(e,t){const r=[],{length:n}=e;for(let i=0;itypeof WeakRef>"u"?S$:WeakRef,ME=N$(),E$=0,wk=1;function _d(){return{s:E$,v:void 0,o:null,p:null}}function A$(e){return e instanceof ME?e.deref():e}function IE(e,t={}){let r=_d();const{resultEqualityCheck:n}=t;let i,o=0;function u(){let c=r;const{length:f}=arguments;for(let g=0,v=f;g{r=_d(),u.resetResultsCount()},u.resultsCount=()=>o,u.resetResultsCount=()=>{o=0},u}function C$(e,...t){const r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...i)=>{let o=0,u=0,c,f={},h=i.pop();typeof h=="object"&&(f=h,h=i.pop()),b$(h,`createSelector expects an output function after the inputs, but received: [${typeof h}]`);const m={...r,...f},{memoize:g,memoizeOptions:v=[],argsMemoize:b=IE,argsMemoizeOptions:j=[]}=m,k=bk(v),S=bk(j),N=k$(i),E=g(function(){return o++,h.apply(null,arguments)},...k),A=b(function(){u++;const _=j$(N,arguments);return c=E.apply(null,_),c},...S);return Object.assign(A,{resultFunc:h,memoizedResultFunc:E,dependencies:N,dependencyRecomputations:()=>u,resetDependencyRecomputations:()=>{u=0},lastResult:()=>c,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:g,argsMemoize:b})};return Object.assign(n,{withTypes:()=>n}),n}var q=C$(IE);function P$(e,t=1){const r=[],n=Math.floor(t),i=(o,u)=>{for(let c=0;c{if(e!==t){const n=kk(e),i=kk(t);if(n===i&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?i-n:n-i}return 0};function TE(e){return typeof e=="symbol"||e instanceof Symbol}const _$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,M$=/^\w*$/;function I$(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||TE(e)?!0:typeof e=="string"&&(M$.test(e)||!_$.test(e))||t!=null}function T$(e,t,r,n){if(e==null)return[];r=r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(c=>String(c));const i=(c,f)=>{let h=c;for(let m=0;mf==null||c==null?f:typeof c=="object"&&"key"in c?Object.hasOwn(f,c.key)?f[c.key]:i(f,c.path):typeof c=="function"?c(f):Array.isArray(c)?i(f,c):typeof f=="object"?f[c]:f,u=t.map(c=>(Array.isArray(c)&&c.length===1&&(c=c[0]),c==null||typeof c=="function"||Array.isArray(c)||I$(c)?c:{key:c,path:$0(c)}));return e.map(c=>({original:c,criteria:u.map(f=>o(f,c))})).slice().sort((c,f)=>{for(let h=0;hc.original)}function bh(e,...t){const r=t.length;return r>1&&Mv(e,t[0],t[1])?t=[]:r>2&&Mv(t[0],t[1],t[2])&&(t=[t[0]]),T$(e,P$(t),["asc"])}var DE=e=>e.legend.settings,D$=e=>e.legend.size,R$=e=>e.legend.payload;q([R$,DE],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?bh(n,r):n});function L$(e,t){return B$(e)||F$(e,t)||z$(e,t)||$$()}function $$(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function z$(e,t){if(e){if(typeof e=="string")return jk(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?jk(e,t):void 0}}function jk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rMd||Math.abs(e.left-t.left)>Md||Math.abs(e.top-t.top)>Md||Math.abs(e.width-t.width)>Md}function Nk(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function U$(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=y.useState({height:0,left:0,top:0,width:0}),r=L$(t,2),n=r[0],i=r[1],o=y.useRef(null),u=y.useRef(n);u.current=n;var c=y.useCallback(f=>{if(o.current!=null&&(o.current.disconnect(),o.current=null),f!=null){var h=Nk(f);if(Sk(h,u.current)&&i(h),typeof ResizeObserver<"u"){var m=new ResizeObserver(()=>{var g=Nk(f);Sk(g,u.current)&&i(g)});m.observe(f),o.current=m}}},[...e]);return y.useEffect(()=>()=>{var f;(f=o.current)===null||f===void 0||f.disconnect()},[]),[n,c]}function Ht(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var H$=typeof Symbol=="function"&&Symbol.observable||"@@observable",Ek=H$,yg=()=>Math.random().toString(36).substring(7).split("").join("."),W$={INIT:`@@redux/INIT${yg()}`,REPLACE:`@@redux/REPLACE${yg()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${yg()}`},mf=W$;function H0(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function RE(e,t,r){if(typeof e!="function")throw new Error(Ht(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(Ht(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(Ht(1));return r(RE)(e,t)}let n=e,i=t,o=new Map,u=o,c=0,f=!1;function h(){u===o&&(u=new Map,o.forEach((S,N)=>{u.set(N,S)}))}function m(){if(f)throw new Error(Ht(3));return i}function g(S){if(typeof S!="function")throw new Error(Ht(4));if(f)throw new Error(Ht(5));let N=!0;h();const E=c++;return u.set(E,S),function(){if(N){if(f)throw new Error(Ht(6));N=!1,h(),u.delete(E),o=null}}}function v(S){if(!H0(S))throw new Error(Ht(7));if(typeof S.type>"u")throw new Error(Ht(8));if(typeof S.type!="string")throw new Error(Ht(17));if(f)throw new Error(Ht(9));try{f=!0,i=n(i,S)}finally{f=!1}return(o=u).forEach(E=>{E()}),S}function b(S){if(typeof S!="function")throw new Error(Ht(10));n=S,v({type:mf.REPLACE})}function j(){const S=g;return{subscribe(N){if(typeof N!="object"||N===null)throw new Error(Ht(11));function E(){const P=N;P.next&&P.next(m())}return E(),{unsubscribe:S(E)}},[Ek](){return this}}}return v({type:mf.INIT}),{dispatch:v,subscribe:g,getState:m,replaceReducer:b,[Ek]:j}}function K$(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:mf.INIT})>"u")throw new Error(Ht(12));if(typeof r(void 0,{type:mf.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Ht(13))})}function LE(e){const t=Object.keys(e),r={};for(let o=0;o"u")throw c&&c.type,new Error(Ht(14));h[g]=j,f=f||j!==b}return f=f||n.length!==Object.keys(u).length,f?h:u}}function pf(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function G$(...e){return t=>(r,n)=>{const i=t(r,n);let o=()=>{throw new Error(Ht(15))};const u={getState:i.getState,dispatch:(f,...h)=>o(f,...h)},c=e.map(f=>f(u));return o=pf(...c)(i.dispatch),{...i,dispatch:o}}}function $E(e){return H0(e)&&"type"in e&&typeof e.type=="string"}var zE=Symbol.for("immer-nothing"),Ak=Symbol.for("immer-draftable"),mr=Symbol.for("immer-state");function pn(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Lr=Object,zs=Lr.getPrototypeOf,gf="constructor",wh="prototype",Iv="configurable",vf="enumerable",Yd="writable",Su="value",vi=e=>!!e&&!!e[mr];function bn(e){var t;return e?FE(e)||jh(e)||!!e[Ak]||!!((t=e[gf])!=null&&t[Ak])||Sh(e)||Nh(e):!1}var V$=Lr[wh][gf].toString(),Ck=new WeakMap;function FE(e){if(!e||!W0(e))return!1;const t=zs(e);if(t===null||t===Lr[wh])return!0;const r=Lr.hasOwnProperty.call(t,gf)&&t[gf];if(r===Object)return!0;if(!ds(r))return!1;let n=Ck.get(r);return n===void 0&&(n=Function.toString.call(r),Ck.set(r,n)),n===V$}function kh(e,t,r=!0){qu(e)===0?(r?Reflect.ownKeys(e):Lr.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function qu(e){const t=e[mr];return t?t.type_:jh(e)?1:Sh(e)?2:Nh(e)?3:0}var Pk=(e,t,r=qu(e))=>r===2?e.has(t):Lr[wh].hasOwnProperty.call(e,t),Tv=(e,t,r=qu(e))=>r===2?e.get(t):e[t],yf=(e,t,r,n=qu(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function q$(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var jh=Array.isArray,Sh=e=>e instanceof Map,Nh=e=>e instanceof Set,W0=e=>typeof e=="object",ds=e=>typeof e=="function",xg=e=>typeof e=="boolean";function Q$(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var ai=e=>e.copy_||e.base_,K0=e=>e.modified_?e.copy_:e.base_;function Dv(e,t){if(Sh(e))return new Map(e);if(Nh(e))return new Set(e);if(jh(e))return Array[wh].slice.call(e);const r=FE(e);if(t===!0||t==="class_only"&&!r){const n=Lr.getOwnPropertyDescriptors(e);delete n[mr];let i=Reflect.ownKeys(n);for(let o=0;o1&&Lr.defineProperties(e,{set:Id,add:Id,clear:Id,delete:Id}),Lr.freeze(e),t&&kh(e,(r,n)=>{G0(n,!0)},!1)),e}function Y$(){pn(2)}var Id={[Su]:Y$};function Eh(e){return e===null||!W0(e)?!0:Lr.isFrozen(e)}var xf="MapSet",Rv="Patches",Ok="ArrayMethods",BE={};function po(e){const t=BE[e];return t||pn(0,e),t}var _k=e=>!!BE[e],Nu,UE=()=>Nu,X$=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:_k(xf)?po(xf):void 0,arrayMethodsPlugin_:_k(Ok)?po(Ok):void 0});function Mk(e,t){t&&(e.patchPlugin_=po(Rv),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Lv(e){$v(e),e.drafts_.forEach(Z$),e.drafts_=null}function $v(e){e===Nu&&(Nu=e.parent_)}var Ik=e=>Nu=X$(Nu,e);function Z$(e){const t=e[mr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Tk(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(e!==void 0&&e!==r){r[mr].modified_&&(Lv(t),pn(4)),bn(e)&&(e=Dk(t,e));const{patchPlugin_:i}=t;i&&i.generateReplacementPatches_(r[mr].base_,e,t)}else e=Dk(t,r);return J$(t,e,!0),Lv(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==zE?e:void 0}function Dk(e,t){if(Eh(t))return t;const r=t[mr];if(!r)return bf(t,e.handledSet_,e);if(!Ah(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){const{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);KE(r,e)}return r.copy_}function J$(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&G0(t,r)}function HE(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Ah=(e,t)=>e.scope_===t,ez=[];function WE(e,t,r,n){const i=ai(e),o=e.type_;if(n!==void 0&&Tv(i,n,o)===t){yf(i,n,r,o);return}if(!e.draftLocations_){const c=e.draftLocations_=new Map;kh(i,(f,h)=>{if(vi(h)){const m=c.get(h)||[];m.push(f),c.set(h,m)}})}const u=e.draftLocations_.get(t)??ez;for(const c of u)yf(i,c,r,o)}function tz(e,t,r){e.callbacks_.push(function(i){var c;const o=t;if(!o||!Ah(o,i))return;(c=i.mapSetPlugin_)==null||c.fixSetContents(o);const u=K0(o);WE(e,o.draft_??o,u,r),KE(o,i)})}function KE(e,t){var n;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((n=e.assigned_)==null?void 0:n.size)??0)>0)){const{patchPlugin_:i}=t;if(i){const o=i.getPath(e);o&&i.generatePatches_(e,o,t)}HE(e)}}function rz(e,t,r){const{scope_:n}=e;if(vi(r)){const i=r[mr];Ah(i,n)&&i.callbacks_.push(function(){Xd(e);const u=K0(i);WE(e,r,u,t)})}else bn(r)&&e.callbacks_.push(function(){const o=ai(e);e.type_===3?o.has(r)&&bf(r,n.handledSet_,n):Tv(o,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&bf(Tv(e.copy_,t,e.type_),n.handledSet_,n)})}function bf(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||vi(e)||t.has(e)||!bn(e)||Eh(e)||(t.add(e),kh(e,(n,i)=>{if(vi(i)){const o=i[mr];if(Ah(o,r)){const u=K0(o);yf(e,n,u,e.type_),HE(o)}}else bn(i)&&bf(i,t,r)})),e}function nz(e,t){const r=jh(e),n={type_:r?1:0,scope_:t?t.scope_:UE(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=n,o=wf;r&&(i=[n],o=Eu);const{revoke:u,proxy:c}=Proxy.revocable(i,o);return n.draft_=c,n.revoke_=u,[c,n]}var wf={get(e,t){if(t===mr)return e;let r=e.scope_.arrayMethodsPlugin_;const n=e.type_===1&&typeof t=="string";if(n&&r!=null&&r.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);const i=ai(e);if(!Pk(i,t,e.type_))return iz(e,i,t);const o=i[t];if(e.finalized_||!bn(o)||n&&e.operationMethod&&(r!=null&&r.isMutatingArrayMethod(e.operationMethod))&&Q$(t))return o;if(o===bg(e.base_,t)){Xd(e);const u=e.type_===1?+t:t,c=Fv(e.scope_,o,e,u);return e.copy_[u]=c}return o},has(e,t){return t in ai(e)},ownKeys(e){return Reflect.ownKeys(ai(e))},set(e,t,r){const n=GE(ai(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=bg(ai(e),t),o=i==null?void 0:i[mr];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(q$(r,i)&&(r!==void 0||Pk(e.base_,t,e.type_)))return!0;Xd(e),zv(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),rz(e,t,r)),!0},deleteProperty(e,t){return Xd(e),bg(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),zv(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=ai(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[Yd]:!0,[Iv]:e.type_!==1||t!=="length",[vf]:n[vf],[Su]:r[t]}},defineProperty(){pn(11)},getPrototypeOf(e){return zs(e.base_)},setPrototypeOf(){pn(12)}},Eu={};for(let e in wf){let t=wf[e];Eu[e]=function(){const r=arguments;return r[0]=r[0][0],t.apply(this,r)}}Eu.deleteProperty=function(e,t){return Eu.set.call(this,e,t,void 0)};Eu.set=function(e,t,r){return wf.set.call(this,e[0],t,r,e[0])};function bg(e,t){const r=e[mr];return(r?ai(r):e)[t]}function iz(e,t,r){var i;const n=GE(t,r);return n?Su in n?n[Su]:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function GE(e,t){if(!(t in e))return;let r=zs(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=zs(r)}}function zv(e){e.modified_||(e.modified_=!0,e.parent_&&zv(e.parent_))}function Xd(e){e.copy_||(e.assigned_=new Map,e.copy_=Dv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var az=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(r,n,i)=>{if(ds(r)&&!ds(n)){const u=n;n=r;const c=this;return function(h=u,...m){return c.produce(h,g=>n.call(this,g,...m))}}ds(n)||pn(6),i!==void 0&&!ds(i)&&pn(7);let o;if(bn(r)){const u=Ik(this),c=Fv(u,r,void 0);let f=!0;try{o=n(c),f=!1}finally{f?Lv(u):$v(u)}return Mk(u,i),Tk(o,u)}else if(!r||!W0(r)){if(o=n(r),o===void 0&&(o=r),o===zE&&(o=void 0),this.autoFreeze_&&G0(o,!0),i){const u=[],c=[];po(Rv).generateReplacementPatches_(r,o,{patches_:u,inversePatches_:c}),i(u,c)}return o}else pn(1,r)},this.produceWithPatches=(r,n)=>{if(ds(r))return(c,...f)=>this.produceWithPatches(c,h=>r(h,...f));let i,o;return[this.produce(r,n,(c,f)=>{i=c,o=f}),i,o]},xg(t==null?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),xg(t==null?void 0:t.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),xg(t==null?void 0:t.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){bn(t)||pn(8),vi(t)&&(t=Xr(t));const r=Ik(this),n=Fv(r,t,void 0);return n[mr].isManual_=!0,$v(r),n}finishDraft(t,r){const n=t&&t[mr];(!n||!n.isManual_)&&pn(9);const{scope_:i}=n;return Mk(i,r),Tk(void 0,i)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,r){let n;for(n=r.length-1;n>=0;n--){const o=r[n];if(o.path.length===0&&o.op==="replace"){t=o.value;break}}n>-1&&(r=r.slice(n+1));const i=po(Rv).applyPatches_;return vi(t)?i(t,r):this.produce(t,o=>i(o,r))}};function Fv(e,t,r,n){const[i,o]=Sh(t)?po(xf).proxyMap_(t,r):Nh(t)?po(xf).proxySet_(t,r):nz(t,r);return((r==null?void 0:r.scope_)??UE()).drafts_.push(i),o.callbacks_=(r==null?void 0:r.callbacks_)??[],o.key_=n,r&&n!==void 0?tz(r,o,n):o.callbacks_.push(function(f){var m;(m=f.mapSetPlugin_)==null||m.fixSetContents(o);const{patchPlugin_:h}=f;o.modified_&&h&&h.generatePatches_(o,[],f)}),i}function Xr(e){return vi(e)||pn(10,e),VE(e)}function VE(e){if(!bn(e)||Eh(e))return e;const t=e[mr];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Dv(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Dv(e,!0);return kh(r,(i,o)=>{yf(r,i,VE(o))},n),t&&(t.finalized_=!1),r}var oz=new az,qE=oz.produce;function QE(e){return({dispatch:r,getState:n})=>i=>o=>typeof o=="function"?o(r,n,e):i(o)}var sz=QE(),lz=QE,uz=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?pf:pf.apply(null,arguments)};function zr(e,t){function r(...n){if(t){let i=t(...n);if(!i)throw new Error($r(0));return{type:e,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>$E(n)&&n.type===e,r}var YE=class cu extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,cu.prototype)}static get[Symbol.species](){return cu}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new cu(...t[0].concat(this)):new cu(...t.concat(this))}};function Rk(e){return bn(e)?qE(e,()=>{}):e}function Td(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function cz(e){return typeof e=="boolean"}var dz=()=>function(t){const{thunk:r=!0,immutableCheck:n=!0,serializableCheck:i=!0,actionCreatorCheck:o=!0}=t??{};let u=new YE;return r&&(cz(r)?u.push(sz):u.push(lz(r.extraArgument))),u},XE="RTK_autoBatch",st=()=>e=>({payload:e,meta:{[XE]:!0}}),Lk=e=>t=>{setTimeout(t,e)},fz=(e,t)=>r=>{let n=!1;const i=()=>{n||(n=!0,cancelAnimationFrame(o),clearTimeout(u),r())},o=e(i),u=setTimeout(i,t)},ZE=(e={type:"raf"})=>t=>(...r)=>{const n=t(...r);let i=!0,o=!1,u=!1;const c=new Set,f=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?fz(window.requestAnimationFrame,100):Lk(10):e.type==="callback"?e.queueNotification:Lk(e.timeout),h=()=>{u=!1,o&&(o=!1,c.forEach(m=>m()))};return Object.assign({},n,{subscribe(m){const g=()=>i&&m(),v=n.subscribe(g);return c.add(m),()=>{v(),c.delete(m)}},dispatch(m){var g;try{return i=!((g=m==null?void 0:m.meta)!=null&&g[XE]),o=!i,o&&(u||(u=!0,f(h))),n.dispatch(m)}finally{i=!0}}})},hz=e=>function(r){const{autoBatch:n=!0}=r??{};let i=new YE(e);return n&&i.push(ZE(typeof n=="object"?n:void 0)),i};function mz(e){const t=dz(),{reducer:r=void 0,middleware:n,devTools:i=!0,preloadedState:o=void 0,enhancers:u=void 0}=e||{};let c;if(typeof r=="function")c=r;else if(H0(r))c=LE(r);else throw new Error($r(1));let f;typeof n=="function"?f=n(t):f=t();let h=pf;i&&(h=uz({trace:!1,...typeof i=="object"&&i}));const m=G$(...f),g=hz(m);let v=typeof u=="function"?u(g):g();const b=h(...v);return RE(c,o,b)}function JE(e){const t={},r=[];let n;const i={addCase(o,u){const c=typeof o=="string"?o:o.type;if(!c)throw new Error($r(28));if(c in t)throw new Error($r(29));return t[c]=u,i},addAsyncThunk(o,u){return u.pending&&(t[o.pending.type]=u.pending),u.rejected&&(t[o.rejected.type]=u.rejected),u.fulfilled&&(t[o.fulfilled.type]=u.fulfilled),u.settled&&r.push({matcher:o.settled,reducer:u.settled}),i},addMatcher(o,u){return r.push({matcher:o,reducer:u}),i},addDefaultCase(o){return n=o,i}};return e(i),[t,r,n]}function pz(e){return typeof e=="function"}function gz(e,t){let[r,n,i]=JE(t),o;if(pz(e))o=()=>Rk(e());else{const c=Rk(e);o=()=>c}function u(c=o(),f){let h=[r[f.type],...n.filter(({matcher:m})=>m(f)).map(({reducer:m})=>m)];return h.filter(m=>!!m).length===0&&(h=[i]),h.reduce((m,g)=>{if(g)if(vi(m)){const b=g(m,f);return b===void 0?m:b}else{if(bn(m))return qE(m,v=>g(v,f));{const v=g(m,f);if(v===void 0){if(m===null)return m;throw Error("A case reducer on a non-draftable value must not return undefined")}return v}}return m},c)}return u.getInitialState=o,u}var vz="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",yz=(e=21)=>{let t="",r=e;for(;r--;)t+=vz[Math.random()*64|0];return t},xz=Symbol.for("rtk-slice-createasyncthunk");function bz(e,t){return`${e}/${t}`}function wz({creators:e}={}){var r;const t=(r=e==null?void 0:e.asyncThunk)==null?void 0:r[xz];return function(i){const{name:o,reducerPath:u=o}=i;if(!o)throw new Error($r(11));const c=(typeof i.reducers=="function"?i.reducers(jz()):i.reducers)||{},f=Object.keys(c),h={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},m={addCase(P,_){const O=typeof P=="string"?P:P.type;if(!O)throw new Error($r(12));if(O in h.sliceCaseReducersByType)throw new Error($r(13));return h.sliceCaseReducersByType[O]=_,m},addMatcher(P,_){return h.sliceMatchers.push({matcher:P,reducer:_}),m},exposeAction(P,_){return h.actionCreators[P]=_,m},exposeCaseReducer(P,_){return h.sliceCaseReducersByName[P]=_,m}};f.forEach(P=>{const _=c[P],O={reducerName:P,type:bz(o,P),createNotation:typeof i.reducers=="function"};Nz(_)?Az(O,_,m,t):Sz(O,_,m)});function g(){const[P={},_=[],O=void 0]=typeof i.extraReducers=="function"?JE(i.extraReducers):[i.extraReducers],T={...P,...h.sliceCaseReducersByType};return gz(i.initialState,B=>{for(let $ in T)B.addCase($,T[$]);for(let $ of h.sliceMatchers)B.addMatcher($.matcher,$.reducer);for(let $ of _)B.addMatcher($.matcher,$.reducer);O&&B.addDefaultCase(O)})}const v=P=>P,b=new Map,j=new WeakMap;let k;function S(P,_){return k||(k=g()),k(P,_)}function N(){return k||(k=g()),k.getInitialState()}function E(P,_=!1){function O(B){let $=B[P];return typeof $>"u"&&_&&($=Td(j,O,N)),$}function T(B=v){const $=Td(b,_,()=>new WeakMap);return Td($,B,()=>{const z={};for(const[Q,U]of Object.entries(i.selectors??{}))z[Q]=kz(U,B,()=>Td(j,B,N),_);return z})}return{reducerPath:P,getSelectors:T,get selectors(){return T(O)},selectSlice:O}}const A={name:o,reducer:S,actions:h.actionCreators,caseReducers:h.sliceCaseReducersByName,getInitialState:N,...E(u),injectInto(P,{reducerPath:_,...O}={}){const T=_??u;return P.inject({reducerPath:T,reducer:S},O),{...A,...E(T,!0)}}};return A}}function kz(e,t,r,n){function i(o,...u){let c=t(o);return typeof c>"u"&&n&&(c=r()),e(c,...u)}return i.unwrapped=e,i}var lr=wz();function jz(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function Sz({type:e,reducerName:t,createNotation:r},n,i){let o,u;if("reducer"in n){if(r&&!Ez(n))throw new Error($r(17));o=n.reducer,u=n.prepare}else o=n;i.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,u?zr(e,u):zr(e))}function Nz(e){return e._reducerDefinitionType==="asyncThunk"}function Ez(e){return e._reducerDefinitionType==="reducerWithPrepare"}function Az({type:e,reducerName:t},r,n,i){if(!i)throw new Error($r(18));const{payloadCreator:o,fulfilled:u,pending:c,rejected:f,settled:h,options:m}=r,g=i(e,o,m);n.exposeAction(t,g),u&&n.addCase(g.fulfilled,u),c&&n.addCase(g.pending,c),f&&n.addCase(g.rejected,f),h&&n.addMatcher(g.settled,h),n.exposeCaseReducer(t,{fulfilled:u||Dd,pending:c||Dd,rejected:f||Dd,settled:h||Dd})}function Dd(){}var Cz="task",eA="listener",tA="completed",V0="cancelled",Pz=`task-${V0}`,Oz=`task-${tA}`,Bv=`${eA}-${V0}`,_z=`${eA}-${tA}`,Ch=class{constructor(e){Xo(this,"code");Xo(this,"name","TaskAbortError");Xo(this,"message");this.code=e,this.message=`${Cz} ${V0} (reason: ${e})`}},q0=(e,t)=>{if(typeof e!="function")throw new TypeError($r(32))},kf=()=>{},rA=(e,t=kf)=>(e.catch(t),e),nA=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),lo=e=>{if(e.aborted)throw new Ch(e.reason)};function iA(e,t){let r=kf;return new Promise((n,i)=>{const o=()=>i(new Ch(e.reason));if(e.aborted){o();return}r=nA(e,o),t.finally(()=>r()).then(n,i)}).finally(()=>{r=kf})}var Mz=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof Ch?"cancelled":"rejected",error:r}}finally{t==null||t()}},jf=e=>t=>rA(iA(e,t).then(r=>(lo(e),r))),aA=e=>{const t=jf(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:ys}=Object,$k={},Ph="listenerMiddleware",Iz=(e,t)=>{const r=n=>nA(e,()=>n.abort(e.reason));return(n,i)=>{q0(n);const o=new AbortController;r(o);const u=Mz(async()=>{lo(e),lo(o.signal);const c=await n({pause:jf(o.signal),delay:aA(o.signal),signal:o.signal});return lo(o.signal),c},()=>o.abort(Oz));return i!=null&&i.autoJoin&&t.push(u.catch(kf)),{result:jf(e)(u),cancel(){o.abort(Pz)}}}},Tz=(e,t)=>{const r=async(n,i)=>{lo(t);let o=()=>{};const c=[new Promise((f,h)=>{let m=e({predicate:n,effect:(g,v)=>{v.unsubscribe(),f([g,v.getState(),v.getOriginalState()])}});o=()=>{m(),h()}})];i!=null&&c.push(new Promise(f=>setTimeout(f,i,null)));try{const f=await iA(t,Promise.race(c));return lo(t),f}finally{o()}};return((n,i)=>rA(r(n,i)))},oA=e=>{let{type:t,actionCreator:r,matcher:n,predicate:i,effect:o}=e;if(t)i=zr(t).match;else if(r)t=r.type,i=r.match;else if(n)i=n;else if(!i)throw new Error($r(21));return q0(o),{predicate:i,type:t,effect:o}},sA=ys(e=>{const{type:t,predicate:r,effect:n}=oA(e);return{id:yz(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error($r(22))}}},{withTypes:()=>sA}),zk=(e,t)=>{const{type:r,effect:n,predicate:i}=oA(t);return Array.from(e.values()).find(o=>(typeof r=="string"?o.type===r:o.predicate===i)&&o.effect===n)},Uv=e=>{e.pending.forEach(t=>{t.abort(Bv)})},Dz=(e,t)=>()=>{for(const r of t.keys())Uv(r);e.clear()},Fk=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},lA=ys(zr(`${Ph}/add`),{withTypes:()=>lA}),Rz=zr(`${Ph}/removeAll`),uA=ys(zr(`${Ph}/remove`),{withTypes:()=>uA}),Lz=(...e)=>{console.error(`${Ph}/error`,...e)},Qu=(e={})=>{const t=new Map,r=new Map,n=b=>{const j=r.get(b)??0;r.set(b,j+1)},i=b=>{const j=r.get(b)??1;j===1?r.delete(b):r.set(b,j-1)},{extra:o,onError:u=Lz}=e;q0(u);const c=b=>(b.unsubscribe=()=>t.delete(b.id),t.set(b.id,b),j=>{b.unsubscribe(),j!=null&&j.cancelActive&&Uv(b)}),f=(b=>{const j=zk(t,b)??sA(b);return c(j)});ys(f,{withTypes:()=>f});const h=b=>{const j=zk(t,b);return j&&(j.unsubscribe(),b.cancelActive&&Uv(j)),!!j};ys(h,{withTypes:()=>h});const m=async(b,j,k,S)=>{const N=new AbortController,E=Tz(f,N.signal),A=[];try{b.pending.add(N),n(b),await Promise.resolve(b.effect(j,ys({},k,{getOriginalState:S,condition:(P,_)=>E(P,_).then(Boolean),take:E,delay:aA(N.signal),pause:jf(N.signal),extra:o,signal:N.signal,fork:Iz(N.signal,A),unsubscribe:b.unsubscribe,subscribe:()=>{t.set(b.id,b)},cancelActiveListeners:()=>{b.pending.forEach((P,_,O)=>{P!==N&&(P.abort(Bv),O.delete(P))})},cancel:()=>{N.abort(Bv),b.pending.delete(N)},throwIfCancelled:()=>{lo(N.signal)}})))}catch(P){P instanceof Ch||Fk(u,P,{raisedBy:"effect"})}finally{await Promise.all(A),N.abort(_z),i(b),b.pending.delete(N)}},g=Dz(t,r);return{middleware:b=>j=>k=>{if(!$E(k))return j(k);if(lA.match(k))return f(k.payload);if(Rz.match(k)){g();return}if(uA.match(k))return h(k.payload);let S=b.getState();const N=()=>{if(S===$k)throw new Error($r(23));return S};let E;try{if(E=j(k),t.size>0){const A=b.getState(),P=Array.from(t.values());for(const _ of P){let O=!1;try{O=_.predicate(k,A,S)}catch(T){O=!1,Fk(u,T,{raisedBy:"predicate"})}O&&m(_,k,b,N)}}}finally{S=$k}return E},startListening:f,stopListening:h,clearListeners:g}};function $r(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var $z={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},cA=lr({name:"chartLayout",initialState:$z,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var r,n,i,o;e.margin.top=(r=t.payload.top)!==null&&r!==void 0?r:0,e.margin.right=(n=t.payload.right)!==null&&n!==void 0?n:0,e.margin.bottom=(i=t.payload.bottom)!==null&&i!==void 0?i:0,e.margin.left=(o=t.payload.left)!==null&&o!==void 0?o:0},setScale(e,t){e.scale=t.payload}}}),Oh=cA.actions,zz=Oh.setMargin,Fz=Oh.setLayout,Bz=Oh.setChartSize,Uz=Oh.setScale,Hz=cA.reducer;function dA(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function We(e){return Number.isFinite(e)}function Un(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function Bk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function hs(e){for(var t=1;t{if(t&&r){var n=r.width,i=r.height,o=t.align,u=t.verticalAlign,c=t.layout;if((c==="vertical"||c==="horizontal"&&u==="middle")&&o!=="center"&&Ae(e[o]))return hs(hs({},e),{},{[o]:e[o]+(n||0)});if((c==="horizontal"||c==="vertical"&&o==="center")&&u!=="middle"&&Ae(e[u]))return hs(hs({},e),{},{[u]:e[u]+(i||0)})}return e},Gn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",fA=(e,t,r,n)=>{if(n)return e.map(c=>c.coordinate);var i,o,u=e.map(c=>(c.coordinate===t&&(i=!0),c.coordinate===r&&(o=!0),c.coordinate));return i||u.push(t),o||u.push(r),u},hA=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,i=e.type,o=e.range,u=e.scale,c=e.realScaleType,f=e.isCategorical,h=e.categoricalDomain,m=e.tickCount,g=e.ticks,v=e.niceTicks,b=e.axisType;if(!u)return null;var j=c==="scaleBand"&&u.bandwidth?u.bandwidth()/2:2,k=i==="category"&&u.bandwidth?u.bandwidth()/j:0;if(k=b==="angleAxis"&&o&&o.length>=2?Yr(o[0]-o[1])*2*k:k,g||v){var S=(g||v||[]).map((N,E)=>{var A=n?n.indexOf(N):N,P=u.map(A);return We(P)?{coordinate:P+k,value:N,offset:k,index:E}:null}).filter(Sr);return S}return f&&h?h.map((N,E)=>{var A=u.map(N);return We(A)?{coordinate:A+k,value:N,index:E,offset:k}:null}).filter(Sr):u.ticks&&m!=null?u.ticks(m).map((N,E)=>{var A=u.map(N);return We(A)?{coordinate:A+k,value:N,index:E,offset:k}:null}).filter(Sr):u.domain().map((N,E)=>{var A=u.map(N);return We(A)?{coordinate:A+k,value:n?n[N]:N,index:E,offset:k}:null}).filter(Sr)},qz=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(h[0]=o,o+=v,h[1]=o):(h[0]=u,u+=v,h[1]=u)}}}},Qz=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(f[0]=o,o+=h,f[1]=o):(f[0]=0,f[1]=0)}}}},Yz={sign:qz,expand:fL,none:ho,silhouette:hL,wiggle:mL,positive:Qz},Xz=(e,t,r)=>{var n,i=(n=Yz[r])!==null&&n!==void 0?n:ho,o=dL().keys(t).value((c,f)=>Number(Lt(c,f,0))).order(Cv).offset(i),u=o(e);return u.forEach((c,f)=>{c.forEach((h,m)=>{var g=Lt(e[m],t[f],0);Array.isArray(g)&&g.length===2&&Ae(g[0])&&Ae(g[1])&&(h[0]=g[0],h[1]=g[1])})}),u};function Zz(e){return e==null?void 0:String(e)}function Uk(e){var t=e.axis,r=e.ticks,n=e.bandSize,i=e.entry,o=e.index,u=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Qt(i[t.dataKey])){var c=xE(r,"value",i[t.dataKey]);if(c)return c.coordinate+n/2}return r!=null&&r[o]?r[o].coordinate+n/2:null}var f=Lt(i,Qt(u)?t.dataKey:u),h=t.scale.map(f);return Ae(h)?h:null}var Jz=e=>{var t=e.flat(2).filter(Ae);return[Math.min(...t),Math.max(...t)]},e6=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],t6=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return e6(Object.keys(e).reduce((n,i)=>{var o=e[i];if(!o)return n;var u=o.stackedData,c=u.reduce((f,h)=>{var m=dA(h,t,r),g=Jz(m);return!We(g[0])||!We(g[1])?f:[Math.min(f[0],g[0]),Math.max(f[1],g[1])]},[1/0,-1/0]);return[Math.min(c[0],n[0]),Math.max(c[1],n[1])]},[1/0,-1/0]))},Hk=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Wk=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Sf=(e,t,r)=>{if(e&&e.scale&&e.scale.bandwidth){var n=e.scale.bandwidth();if(!r||n>0)return n}if(e&&t&&t.length>=2){for(var i=bh(t,m=>m.coordinate),o=1/0,u=1,c=i.length;u{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},n6=(e,t)=>t==="centric"?e.angle:e.radius,ki=e=>e.layout.width,ji=e=>e.layout.height,i6=e=>e.layout.scale,pA=e=>e.layout.margin,_h=q(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),Mh=q(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),a6="data-recharts-item-index",o6="data-recharts-item-id",Yu=60;function Gk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Rd(e){for(var t=1;te.brush.height;function d6(e){var t=Mh(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:Yu;return r+i}return r},0)}function f6(e){var t=Mh(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:Yu;return r+i}return r},0)}function h6(e){var t=_h(e);return t.reduce((r,n)=>n.orientation==="top"&&!n.mirror&&!n.hide?r+n.height:r,0)}function m6(e){var t=_h(e);return t.reduce((r,n)=>n.orientation==="bottom"&&!n.mirror&&!n.hide?r+n.height:r,0)}var Zt=q([ki,ji,pA,c6,d6,f6,h6,m6,DE,D$],(e,t,r,n,i,o,u,c,f,h)=>{var m={left:(r.left||0)+i,right:(r.right||0)+o},g={top:(r.top||0)+u,bottom:(r.bottom||0)+c},v=Rd(Rd({},g),m),b=v.bottom;v.bottom+=n,v=Vz(v,f,h);var j=e-v.left-v.right,k=t-v.top-v.bottom;return Rd(Rd({brushBottom:b},v),{},{width:Math.max(j,0),height:Math.max(k,0)})}),p6=q(Zt,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),gA=q(ki,ji,(e,t)=>({x:0,y:0,width:e,height:t})),g6=y.createContext(null),Ar=()=>y.useContext(g6)!=null,Ih=e=>e.brush,Th=q([Ih,Zt,pA],(e,t,r)=>({height:e.height,x:Ae(e.x)?e.x:t.left,y:Ae(e.y)?e.y:t.top+t.height+t.brushBottom-((r==null?void 0:r.bottom)||0),width:Ae(e.width)?e.width:t.width}));function v6(e,t,{signal:r,edges:n}={}){let i,o=null;const u=n!=null&&n.includes("leading"),c=n==null||n.includes("trailing"),f=()=>{o!==null&&(e.apply(i,o),i=void 0,o=null)},h=()=>{c&&f(),b()};let m=null;const g=()=>{m!=null&&clearTimeout(m),m=setTimeout(()=>{m=null,h()},t)},v=()=>{m!==null&&(clearTimeout(m),m=null)},b=()=>{v(),i=void 0,o=null},j=()=>{f()},k=function(...S){if(r!=null&&r.aborted)return;i=this,o=S;const N=m==null;g(),u&&N&&f()};return k.schedule=g,k.cancel=b,k.flush=j,r==null||r.addEventListener("abort",b,{once:!0}),k}function y6(e,t=0,r={}){typeof r!="object"&&(r={});const{leading:n=!1,trailing:i=!0,maxWait:o}=r,u=Array(2);n&&(u[0]="leading"),i&&(u[1]="trailing");let c,f=null;const h=v6(function(...v){c=e.apply(this,v),f=null},t,{edges:u}),m=function(...v){return o!=null&&(f===null&&(f=Date.now()),Date.now()-f>=o)?(c=e.apply(this,v),f=Date.now(),h.cancel(),h.schedule(),c):(h.apply(this,v),c)},g=()=>(h.flush(),c);return m.cancel=h.cancel,m.flush=g,m}function x6(e,t=0,r={}){const{leading:n=!0,trailing:i=!0}=r;return y6(e,t,{leading:n,maxWait:t,trailing:i})}var Nf=function(t,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;oi[u++]))}},Rn={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},vA=(e,t,r)=>{var n=r.width,i=n===void 0?Rn.width:n,o=r.height,u=o===void 0?Rn.height:o,c=r.aspect,f=r.maxHeight,h=mo(i)?e:Number(i),m=mo(u)?t:Number(u);return c&&c>0&&(h?m=h/c:m&&(h=m*c),f&&m!=null&&m>f&&(m=f)),{calculatedWidth:h,calculatedHeight:m}},b6={width:0,height:0,overflow:"visible"},w6={width:0,overflowX:"visible"},k6={height:0,overflowY:"visible"},j6={},S6=e=>{var t=e.width,r=e.height,n=mo(t),i=mo(r);return n&&i?b6:n?w6:i?k6:j6};function N6(e){var t=e.width,r=e.height,n=e.aspect,i=t,o=r;return i===void 0&&o===void 0?(i=Rn.width,o=Rn.height):i===void 0?i=n&&n>0?void 0:Rn.width:o===void 0&&(o=n&&n>0?void 0:Rn.height),{width:i,height:o}}var E6=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function Ef(){return Ef=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({width:r,height:n}),[r,n]);return L6(i)?y.createElement(yA.Provider,{value:i},t):null}var Q0=()=>y.useContext(yA),$6=y.forwardRef((e,t)=>{var r=e.aspect,n=e.initialDimension,i=n===void 0?Rn.initialDimension:n,o=e.width,u=e.height,c=e.minWidth,f=c===void 0?Rn.minWidth:c,h=e.minHeight,m=e.maxHeight,g=e.children,v=e.debounce,b=v===void 0?Rn.debounce:v,j=e.id,k=e.className,S=e.onResize,N=e.style,E=N===void 0?{}:N,A=D6(e,E6),P=y.useRef(null),_=y.useRef();_.current=S,y.useImperativeHandle(t,()=>P.current);var O=y.useState({containerWidth:i.width,containerHeight:i.height}),T=O6(O,2),B=T[0],$=T[1],z=y.useCallback((oe,se)=>{$(X=>{var ne=Math.round(oe),te=Math.round(se);return X.containerWidth===ne&&X.containerHeight===te?X:{containerWidth:ne,containerHeight:te}})},[]);y.useEffect(()=>{if(P.current==null||typeof ResizeObserver>"u")return Xs;var oe=I=>{var M,H=I[0];if(H!=null){var ie=H.contentRect,J=ie.width,Z=ie.height;z(J,Z),(M=_.current)===null||M===void 0||M.call(_,J,Z)}};b>0&&(oe=x6(oe,b,{trailing:!0,leading:!1}));var se=new ResizeObserver(oe),X=P.current.getBoundingClientRect(),ne=X.width,te=X.height;return z(ne,te),se.observe(P.current),()=>{se.disconnect()}},[z,b]);var Q=B.containerWidth,U=B.containerHeight;Nf(!r||r>0,"The aspect(%s) must be greater than zero.",r);var ve=vA(Q,U,{width:o,height:u,aspect:r,maxHeight:m}),ue=ve.calculatedWidth,pe=ve.calculatedHeight;return Nf(Q<0||U<0||ue!=null&&ue>0||pe!=null&&pe>0,`The width(%s) and height(%s) of chart should be greater than 0,
+ */var yk;function p$(){if(yk)return pg;yk=1;var e=Gs(),t=m$();function r(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var n=typeof Object.is=="function"?Object.is:r,i=t.useSyncExternalStore,o=e.useRef,u=e.useEffect,c=e.useMemo,f=e.useDebugValue;return pg.useSyncExternalStoreWithSelector=function(h,m,g,v,b){var j=o(null);if(j.current===null){var k={hasValue:!1,value:null};j.current=k}else k=j.current;j=c(function(){function N(O){if(!E){if(E=!0,A=O,O=v(O),b!==void 0&&k.hasValue){var T=k.value;if(b(T,O))return P=T}return P=O}if(T=P,n(A,O))return T;var B=v(O);return b!==void 0&&b(T,B)?(A=O,T):(A=O,P=B)}var E=!1,A,P,_=g===void 0?null:g;return[function(){return N(m())},_===null?void 0:function(){return N(_())}]},[m,g,v,b]);var S=i(h,j[0],j[1]);return u(function(){k.hasValue=!0,k.value=S},[S]),f(S),S},pg}var xk;function g$(){return xk||(xk=1,mg.exports=p$()),mg.exports}var v$=g$(),U0=y.createContext(null),y$=e=>e,Nt=()=>{var e=y.useContext(U0);return e?e.store.dispatch:y$},qd=()=>{},x$=()=>qd,b$=(e,t)=>e===t;function Me(e){var t=y.useContext(U0),r=y.useMemo(()=>t?n=>{if(n!=null)return e(n)}:qd,[t,e]);return v$.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:x$,t?t.store.getState:qd,t?t.store.getState:qd,r,b$)}function w$(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function k$(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){const r=e.map(n=>typeof n=="function"?`function ${n.name||"unnamed"}()`:typeof n).join(", ");throw new TypeError(`${t}[${r}]`)}}var bk=e=>Array.isArray(e)?e:[e];function j$(e){const t=Array.isArray(e[0])?e[0]:e;return k$(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function S$(e,t){const r=[],{length:n}=e;for(let i=0;itypeof WeakRef>"u"?N$:WeakRef,ME=E$(),A$=0,wk=1;function Od(){return{s:A$,v:void 0,o:null,p:null}}function C$(e){return e instanceof ME?e.deref():e}function IE(e,t={}){let r=Od();const{resultEqualityCheck:n}=t;let i,o=0;function u(){let c=r;const{length:f}=arguments;for(let g=0,v=f;g{r=Od(),u.resetResultsCount()},u.resultsCount=()=>o,u.resetResultsCount=()=>{o=0},u}function P$(e,...t){const r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...i)=>{let o=0,u=0,c,f={},h=i.pop();typeof h=="object"&&(f=h,h=i.pop()),w$(h,`createSelector expects an output function after the inputs, but received: [${typeof h}]`);const m={...r,...f},{memoize:g,memoizeOptions:v=[],argsMemoize:b=IE,argsMemoizeOptions:j=[]}=m,k=bk(v),S=bk(j),N=j$(i),E=g(function(){return o++,h.apply(null,arguments)},...k),A=b(function(){u++;const _=S$(N,arguments);return c=E.apply(null,_),c},...S);return Object.assign(A,{resultFunc:h,memoizedResultFunc:E,dependencies:N,dependencyRecomputations:()=>u,resetDependencyRecomputations:()=>{u=0},lastResult:()=>c,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:g,argsMemoize:b})};return Object.assign(n,{withTypes:()=>n}),n}var q=P$(IE);function O$(e,t=1){const r=[],n=Math.floor(t),i=(o,u)=>{for(let c=0;c{if(e!==t){const n=kk(e),i=kk(t);if(n===i&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?i-n:n-i}return 0};function TE(e){return typeof e=="symbol"||e instanceof Symbol}const M$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,I$=/^\w*$/;function T$(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||TE(e)?!0:typeof e=="string"&&(I$.test(e)||!M$.test(e))||t!=null}function D$(e,t,r,n){if(e==null)return[];r=r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(c=>String(c));const i=(c,f)=>{let h=c;for(let m=0;mf==null||c==null?f:typeof c=="object"&&"key"in c?Object.hasOwn(f,c.key)?f[c.key]:i(f,c.path):typeof c=="function"?c(f):Array.isArray(c)?i(f,c):typeof f=="object"?f[c]:f,u=t.map(c=>(Array.isArray(c)&&c.length===1&&(c=c[0]),c==null||typeof c=="function"||Array.isArray(c)||T$(c)?c:{key:c,path:$0(c)}));return e.map(c=>({original:c,criteria:u.map(f=>o(f,c))})).slice().sort((c,f)=>{for(let h=0;hc.original)}function bh(e,...t){const r=t.length;return r>1&&Mv(e,t[0],t[1])?t=[]:r>2&&Mv(t[0],t[1],t[2])&&(t=[t[0]]),D$(e,O$(t),["asc"])}var DE=e=>e.legend.settings,R$=e=>e.legend.size,L$=e=>e.legend.payload;q([L$,DE],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?bh(n,r):n});function $$(e,t){return U$(e)||B$(e,t)||F$(e,t)||z$()}function z$(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function F$(e,t){if(e){if(typeof e=="string")return jk(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?jk(e,t):void 0}}function jk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r_d||Math.abs(e.left-t.left)>_d||Math.abs(e.top-t.top)>_d||Math.abs(e.width-t.width)>_d}function Nk(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function H$(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=y.useState({height:0,left:0,top:0,width:0}),r=$$(t,2),n=r[0],i=r[1],o=y.useRef(null),u=y.useRef(n);u.current=n;var c=y.useCallback(f=>{if(o.current!=null&&(o.current.disconnect(),o.current=null),f!=null){var h=Nk(f);if(Sk(h,u.current)&&i(h),typeof ResizeObserver<"u"){var m=new ResizeObserver(()=>{var g=Nk(f);Sk(g,u.current)&&i(g)});m.observe(f),o.current=m}}},[...e]);return y.useEffect(()=>()=>{var f;(f=o.current)===null||f===void 0||f.disconnect()},[]),[n,c]}function Ht(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var W$=typeof Symbol=="function"&&Symbol.observable||"@@observable",Ek=W$,yg=()=>Math.random().toString(36).substring(7).split("").join("."),K$={INIT:`@@redux/INIT${yg()}`,REPLACE:`@@redux/REPLACE${yg()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${yg()}`},mf=K$;function H0(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function RE(e,t,r){if(typeof e!="function")throw new Error(Ht(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(Ht(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(Ht(1));return r(RE)(e,t)}let n=e,i=t,o=new Map,u=o,c=0,f=!1;function h(){u===o&&(u=new Map,o.forEach((S,N)=>{u.set(N,S)}))}function m(){if(f)throw new Error(Ht(3));return i}function g(S){if(typeof S!="function")throw new Error(Ht(4));if(f)throw new Error(Ht(5));let N=!0;h();const E=c++;return u.set(E,S),function(){if(N){if(f)throw new Error(Ht(6));N=!1,h(),u.delete(E),o=null}}}function v(S){if(!H0(S))throw new Error(Ht(7));if(typeof S.type>"u")throw new Error(Ht(8));if(typeof S.type!="string")throw new Error(Ht(17));if(f)throw new Error(Ht(9));try{f=!0,i=n(i,S)}finally{f=!1}return(o=u).forEach(E=>{E()}),S}function b(S){if(typeof S!="function")throw new Error(Ht(10));n=S,v({type:mf.REPLACE})}function j(){const S=g;return{subscribe(N){if(typeof N!="object"||N===null)throw new Error(Ht(11));function E(){const P=N;P.next&&P.next(m())}return E(),{unsubscribe:S(E)}},[Ek](){return this}}}return v({type:mf.INIT}),{dispatch:v,subscribe:g,getState:m,replaceReducer:b,[Ek]:j}}function G$(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:mf.INIT})>"u")throw new Error(Ht(12));if(typeof r(void 0,{type:mf.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Ht(13))})}function LE(e){const t=Object.keys(e),r={};for(let o=0;o"u")throw c&&c.type,new Error(Ht(14));h[g]=j,f=f||j!==b}return f=f||n.length!==Object.keys(u).length,f?h:u}}function pf(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function V$(...e){return t=>(r,n)=>{const i=t(r,n);let o=()=>{throw new Error(Ht(15))};const u={getState:i.getState,dispatch:(f,...h)=>o(f,...h)},c=e.map(f=>f(u));return o=pf(...c)(i.dispatch),{...i,dispatch:o}}}function $E(e){return H0(e)&&"type"in e&&typeof e.type=="string"}var zE=Symbol.for("immer-nothing"),Ak=Symbol.for("immer-draftable"),mr=Symbol.for("immer-state");function gn(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Lr=Object,$s=Lr.getPrototypeOf,gf="constructor",wh="prototype",Iv="configurable",vf="enumerable",Qd="writable",ju="value",vi=e=>!!e&&!!e[mr];function bn(e){var t;return e?FE(e)||jh(e)||!!e[Ak]||!!((t=e[gf])!=null&&t[Ak])||Sh(e)||Nh(e):!1}var q$=Lr[wh][gf].toString(),Ck=new WeakMap;function FE(e){if(!e||!W0(e))return!1;const t=$s(e);if(t===null||t===Lr[wh])return!0;const r=Lr.hasOwnProperty.call(t,gf)&&t[gf];if(r===Object)return!0;if(!ds(r))return!1;let n=Ck.get(r);return n===void 0&&(n=Function.toString.call(r),Ck.set(r,n)),n===q$}function kh(e,t,r=!0){Vu(e)===0?(r?Reflect.ownKeys(e):Lr.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function Vu(e){const t=e[mr];return t?t.type_:jh(e)?1:Sh(e)?2:Nh(e)?3:0}var Pk=(e,t,r=Vu(e))=>r===2?e.has(t):Lr[wh].hasOwnProperty.call(e,t),Tv=(e,t,r=Vu(e))=>r===2?e.get(t):e[t],yf=(e,t,r,n=Vu(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function Q$(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var jh=Array.isArray,Sh=e=>e instanceof Map,Nh=e=>e instanceof Set,W0=e=>typeof e=="object",ds=e=>typeof e=="function",xg=e=>typeof e=="boolean";function Y$(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var ai=e=>e.copy_||e.base_,K0=e=>e.modified_?e.copy_:e.base_;function Dv(e,t){if(Sh(e))return new Map(e);if(Nh(e))return new Set(e);if(jh(e))return Array[wh].slice.call(e);const r=FE(e);if(t===!0||t==="class_only"&&!r){const n=Lr.getOwnPropertyDescriptors(e);delete n[mr];let i=Reflect.ownKeys(n);for(let o=0;o1&&Lr.defineProperties(e,{set:Md,add:Md,clear:Md,delete:Md}),Lr.freeze(e),t&&kh(e,(r,n)=>{G0(n,!0)},!1)),e}function X$(){gn(2)}var Md={[ju]:X$};function Eh(e){return e===null||!W0(e)?!0:Lr.isFrozen(e)}var xf="MapSet",Rv="Patches",Ok="ArrayMethods",BE={};function po(e){const t=BE[e];return t||gn(0,e),t}var _k=e=>!!BE[e],Su,UE=()=>Su,Z$=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:_k(xf)?po(xf):void 0,arrayMethodsPlugin_:_k(Ok)?po(Ok):void 0});function Mk(e,t){t&&(e.patchPlugin_=po(Rv),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Lv(e){$v(e),e.drafts_.forEach(J$),e.drafts_=null}function $v(e){e===Su&&(Su=e.parent_)}var Ik=e=>Su=Z$(Su,e);function J$(e){const t=e[mr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Tk(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(e!==void 0&&e!==r){r[mr].modified_&&(Lv(t),gn(4)),bn(e)&&(e=Dk(t,e));const{patchPlugin_:i}=t;i&&i.generateReplacementPatches_(r[mr].base_,e,t)}else e=Dk(t,r);return ez(t,e,!0),Lv(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==zE?e:void 0}function Dk(e,t){if(Eh(t))return t;const r=t[mr];if(!r)return bf(t,e.handledSet_,e);if(!Ah(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){const{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);KE(r,e)}return r.copy_}function ez(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&G0(t,r)}function HE(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Ah=(e,t)=>e.scope_===t,tz=[];function WE(e,t,r,n){const i=ai(e),o=e.type_;if(n!==void 0&&Tv(i,n,o)===t){yf(i,n,r,o);return}if(!e.draftLocations_){const c=e.draftLocations_=new Map;kh(i,(f,h)=>{if(vi(h)){const m=c.get(h)||[];m.push(f),c.set(h,m)}})}const u=e.draftLocations_.get(t)??tz;for(const c of u)yf(i,c,r,o)}function rz(e,t,r){e.callbacks_.push(function(i){var c;const o=t;if(!o||!Ah(o,i))return;(c=i.mapSetPlugin_)==null||c.fixSetContents(o);const u=K0(o);WE(e,o.draft_??o,u,r),KE(o,i)})}function KE(e,t){var n;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((n=e.assigned_)==null?void 0:n.size)??0)>0)){const{patchPlugin_:i}=t;if(i){const o=i.getPath(e);o&&i.generatePatches_(e,o,t)}HE(e)}}function nz(e,t,r){const{scope_:n}=e;if(vi(r)){const i=r[mr];Ah(i,n)&&i.callbacks_.push(function(){Yd(e);const u=K0(i);WE(e,r,u,t)})}else bn(r)&&e.callbacks_.push(function(){const o=ai(e);e.type_===3?o.has(r)&&bf(r,n.handledSet_,n):Tv(o,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&bf(Tv(e.copy_,t,e.type_),n.handledSet_,n)})}function bf(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||vi(e)||t.has(e)||!bn(e)||Eh(e)||(t.add(e),kh(e,(n,i)=>{if(vi(i)){const o=i[mr];if(Ah(o,r)){const u=K0(o);yf(e,n,u,e.type_),HE(o)}}else bn(i)&&bf(i,t,r)})),e}function iz(e,t){const r=jh(e),n={type_:r?1:0,scope_:t?t.scope_:UE(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=n,o=wf;r&&(i=[n],o=Nu);const{revoke:u,proxy:c}=Proxy.revocable(i,o);return n.draft_=c,n.revoke_=u,[c,n]}var wf={get(e,t){if(t===mr)return e;let r=e.scope_.arrayMethodsPlugin_;const n=e.type_===1&&typeof t=="string";if(n&&r!=null&&r.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);const i=ai(e);if(!Pk(i,t,e.type_))return az(e,i,t);const o=i[t];if(e.finalized_||!bn(o)||n&&e.operationMethod&&(r!=null&&r.isMutatingArrayMethod(e.operationMethod))&&Y$(t))return o;if(o===bg(e.base_,t)){Yd(e);const u=e.type_===1?+t:t,c=Fv(e.scope_,o,e,u);return e.copy_[u]=c}return o},has(e,t){return t in ai(e)},ownKeys(e){return Reflect.ownKeys(ai(e))},set(e,t,r){const n=GE(ai(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=bg(ai(e),t),o=i==null?void 0:i[mr];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(Q$(r,i)&&(r!==void 0||Pk(e.base_,t,e.type_)))return!0;Yd(e),zv(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),nz(e,t,r)),!0},deleteProperty(e,t){return Yd(e),bg(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),zv(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=ai(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[Qd]:!0,[Iv]:e.type_!==1||t!=="length",[vf]:n[vf],[ju]:r[t]}},defineProperty(){gn(11)},getPrototypeOf(e){return $s(e.base_)},setPrototypeOf(){gn(12)}},Nu={};for(let e in wf){let t=wf[e];Nu[e]=function(){const r=arguments;return r[0]=r[0][0],t.apply(this,r)}}Nu.deleteProperty=function(e,t){return Nu.set.call(this,e,t,void 0)};Nu.set=function(e,t,r){return wf.set.call(this,e[0],t,r,e[0])};function bg(e,t){const r=e[mr];return(r?ai(r):e)[t]}function az(e,t,r){var i;const n=GE(t,r);return n?ju in n?n[ju]:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function GE(e,t){if(!(t in e))return;let r=$s(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=$s(r)}}function zv(e){e.modified_||(e.modified_=!0,e.parent_&&zv(e.parent_))}function Yd(e){e.copy_||(e.assigned_=new Map,e.copy_=Dv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var oz=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(r,n,i)=>{if(ds(r)&&!ds(n)){const u=n;n=r;const c=this;return function(h=u,...m){return c.produce(h,g=>n.call(this,g,...m))}}ds(n)||gn(6),i!==void 0&&!ds(i)&&gn(7);let o;if(bn(r)){const u=Ik(this),c=Fv(u,r,void 0);let f=!0;try{o=n(c),f=!1}finally{f?Lv(u):$v(u)}return Mk(u,i),Tk(o,u)}else if(!r||!W0(r)){if(o=n(r),o===void 0&&(o=r),o===zE&&(o=void 0),this.autoFreeze_&&G0(o,!0),i){const u=[],c=[];po(Rv).generateReplacementPatches_(r,o,{patches_:u,inversePatches_:c}),i(u,c)}return o}else gn(1,r)},this.produceWithPatches=(r,n)=>{if(ds(r))return(c,...f)=>this.produceWithPatches(c,h=>r(h,...f));let i,o;return[this.produce(r,n,(c,f)=>{i=c,o=f}),i,o]},xg(t==null?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),xg(t==null?void 0:t.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),xg(t==null?void 0:t.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){bn(t)||gn(8),vi(t)&&(t=Xr(t));const r=Ik(this),n=Fv(r,t,void 0);return n[mr].isManual_=!0,$v(r),n}finishDraft(t,r){const n=t&&t[mr];(!n||!n.isManual_)&&gn(9);const{scope_:i}=n;return Mk(i,r),Tk(void 0,i)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,r){let n;for(n=r.length-1;n>=0;n--){const o=r[n];if(o.path.length===0&&o.op==="replace"){t=o.value;break}}n>-1&&(r=r.slice(n+1));const i=po(Rv).applyPatches_;return vi(t)?i(t,r):this.produce(t,o=>i(o,r))}};function Fv(e,t,r,n){const[i,o]=Sh(t)?po(xf).proxyMap_(t,r):Nh(t)?po(xf).proxySet_(t,r):iz(t,r);return((r==null?void 0:r.scope_)??UE()).drafts_.push(i),o.callbacks_=(r==null?void 0:r.callbacks_)??[],o.key_=n,r&&n!==void 0?rz(r,o,n):o.callbacks_.push(function(f){var m;(m=f.mapSetPlugin_)==null||m.fixSetContents(o);const{patchPlugin_:h}=f;o.modified_&&h&&h.generatePatches_(o,[],f)}),i}function Xr(e){return vi(e)||gn(10,e),VE(e)}function VE(e){if(!bn(e)||Eh(e))return e;const t=e[mr];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Dv(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Dv(e,!0);return kh(r,(i,o)=>{yf(r,i,VE(o))},n),t&&(t.finalized_=!1),r}var sz=new oz,qE=sz.produce;function QE(e){return({dispatch:r,getState:n})=>i=>o=>typeof o=="function"?o(r,n,e):i(o)}var lz=QE(),uz=QE,cz=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?pf:pf.apply(null,arguments)};function zr(e,t){function r(...n){if(t){let i=t(...n);if(!i)throw new Error($r(0));return{type:e,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>$E(n)&&n.type===e,r}var YE=class uu extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,uu.prototype)}static get[Symbol.species](){return uu}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new uu(...t[0].concat(this)):new uu(...t.concat(this))}};function Rk(e){return bn(e)?qE(e,()=>{}):e}function Id(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function dz(e){return typeof e=="boolean"}var fz=()=>function(t){const{thunk:r=!0,immutableCheck:n=!0,serializableCheck:i=!0,actionCreatorCheck:o=!0}=t??{};let u=new YE;return r&&(dz(r)?u.push(lz):u.push(uz(r.extraArgument))),u},XE="RTK_autoBatch",st=()=>e=>({payload:e,meta:{[XE]:!0}}),Lk=e=>t=>{setTimeout(t,e)},hz=(e,t)=>r=>{let n=!1;const i=()=>{n||(n=!0,cancelAnimationFrame(o),clearTimeout(u),r())},o=e(i),u=setTimeout(i,t)},ZE=(e={type:"raf"})=>t=>(...r)=>{const n=t(...r);let i=!0,o=!1,u=!1;const c=new Set,f=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?hz(window.requestAnimationFrame,100):Lk(10):e.type==="callback"?e.queueNotification:Lk(e.timeout),h=()=>{u=!1,o&&(o=!1,c.forEach(m=>m()))};return Object.assign({},n,{subscribe(m){const g=()=>i&&m(),v=n.subscribe(g);return c.add(m),()=>{v(),c.delete(m)}},dispatch(m){var g;try{return i=!((g=m==null?void 0:m.meta)!=null&&g[XE]),o=!i,o&&(u||(u=!0,f(h))),n.dispatch(m)}finally{i=!0}}})},mz=e=>function(r){const{autoBatch:n=!0}=r??{};let i=new YE(e);return n&&i.push(ZE(typeof n=="object"?n:void 0)),i};function pz(e){const t=fz(),{reducer:r=void 0,middleware:n,devTools:i=!0,preloadedState:o=void 0,enhancers:u=void 0}=e||{};let c;if(typeof r=="function")c=r;else if(H0(r))c=LE(r);else throw new Error($r(1));let f;typeof n=="function"?f=n(t):f=t();let h=pf;i&&(h=cz({trace:!1,...typeof i=="object"&&i}));const m=V$(...f),g=mz(m);let v=typeof u=="function"?u(g):g();const b=h(...v);return RE(c,o,b)}function JE(e){const t={},r=[];let n;const i={addCase(o,u){const c=typeof o=="string"?o:o.type;if(!c)throw new Error($r(28));if(c in t)throw new Error($r(29));return t[c]=u,i},addAsyncThunk(o,u){return u.pending&&(t[o.pending.type]=u.pending),u.rejected&&(t[o.rejected.type]=u.rejected),u.fulfilled&&(t[o.fulfilled.type]=u.fulfilled),u.settled&&r.push({matcher:o.settled,reducer:u.settled}),i},addMatcher(o,u){return r.push({matcher:o,reducer:u}),i},addDefaultCase(o){return n=o,i}};return e(i),[t,r,n]}function gz(e){return typeof e=="function"}function vz(e,t){let[r,n,i]=JE(t),o;if(gz(e))o=()=>Rk(e());else{const c=Rk(e);o=()=>c}function u(c=o(),f){let h=[r[f.type],...n.filter(({matcher:m})=>m(f)).map(({reducer:m})=>m)];return h.filter(m=>!!m).length===0&&(h=[i]),h.reduce((m,g)=>{if(g)if(vi(m)){const b=g(m,f);return b===void 0?m:b}else{if(bn(m))return qE(m,v=>g(v,f));{const v=g(m,f);if(v===void 0){if(m===null)return m;throw Error("A case reducer on a non-draftable value must not return undefined")}return v}}return m},c)}return u.getInitialState=o,u}var yz="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",xz=(e=21)=>{let t="",r=e;for(;r--;)t+=yz[Math.random()*64|0];return t},bz=Symbol.for("rtk-slice-createasyncthunk");function wz(e,t){return`${e}/${t}`}function kz({creators:e}={}){var r;const t=(r=e==null?void 0:e.asyncThunk)==null?void 0:r[bz];return function(i){const{name:o,reducerPath:u=o}=i;if(!o)throw new Error($r(11));const c=(typeof i.reducers=="function"?i.reducers(Sz()):i.reducers)||{},f=Object.keys(c),h={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},m={addCase(P,_){const O=typeof P=="string"?P:P.type;if(!O)throw new Error($r(12));if(O in h.sliceCaseReducersByType)throw new Error($r(13));return h.sliceCaseReducersByType[O]=_,m},addMatcher(P,_){return h.sliceMatchers.push({matcher:P,reducer:_}),m},exposeAction(P,_){return h.actionCreators[P]=_,m},exposeCaseReducer(P,_){return h.sliceCaseReducersByName[P]=_,m}};f.forEach(P=>{const _=c[P],O={reducerName:P,type:wz(o,P),createNotation:typeof i.reducers=="function"};Ez(_)?Cz(O,_,m,t):Nz(O,_,m)});function g(){const[P={},_=[],O=void 0]=typeof i.extraReducers=="function"?JE(i.extraReducers):[i.extraReducers],T={...P,...h.sliceCaseReducersByType};return vz(i.initialState,B=>{for(let $ in T)B.addCase($,T[$]);for(let $ of h.sliceMatchers)B.addMatcher($.matcher,$.reducer);for(let $ of _)B.addMatcher($.matcher,$.reducer);O&&B.addDefaultCase(O)})}const v=P=>P,b=new Map,j=new WeakMap;let k;function S(P,_){return k||(k=g()),k(P,_)}function N(){return k||(k=g()),k.getInitialState()}function E(P,_=!1){function O(B){let $=B[P];return typeof $>"u"&&_&&($=Id(j,O,N)),$}function T(B=v){const $=Id(b,_,()=>new WeakMap);return Id($,B,()=>{const z={};for(const[Q,U]of Object.entries(i.selectors??{}))z[Q]=jz(U,B,()=>Id(j,B,N),_);return z})}return{reducerPath:P,getSelectors:T,get selectors(){return T(O)},selectSlice:O}}const A={name:o,reducer:S,actions:h.actionCreators,caseReducers:h.sliceCaseReducersByName,getInitialState:N,...E(u),injectInto(P,{reducerPath:_,...O}={}){const T=_??u;return P.inject({reducerPath:T,reducer:S},O),{...A,...E(T,!0)}}};return A}}function jz(e,t,r,n){function i(o,...u){let c=t(o);return typeof c>"u"&&n&&(c=r()),e(c,...u)}return i.unwrapped=e,i}var lr=kz();function Sz(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function Nz({type:e,reducerName:t,createNotation:r},n,i){let o,u;if("reducer"in n){if(r&&!Az(n))throw new Error($r(17));o=n.reducer,u=n.prepare}else o=n;i.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,u?zr(e,u):zr(e))}function Ez(e){return e._reducerDefinitionType==="asyncThunk"}function Az(e){return e._reducerDefinitionType==="reducerWithPrepare"}function Cz({type:e,reducerName:t},r,n,i){if(!i)throw new Error($r(18));const{payloadCreator:o,fulfilled:u,pending:c,rejected:f,settled:h,options:m}=r,g=i(e,o,m);n.exposeAction(t,g),u&&n.addCase(g.fulfilled,u),c&&n.addCase(g.pending,c),f&&n.addCase(g.rejected,f),h&&n.addMatcher(g.settled,h),n.exposeCaseReducer(t,{fulfilled:u||Td,pending:c||Td,rejected:f||Td,settled:h||Td})}function Td(){}var Pz="task",eA="listener",tA="completed",V0="cancelled",Oz=`task-${V0}`,_z=`task-${tA}`,Bv=`${eA}-${V0}`,Mz=`${eA}-${tA}`,Ch=class{constructor(e){Xo(this,"code");Xo(this,"name","TaskAbortError");Xo(this,"message");this.code=e,this.message=`${Pz} ${V0} (reason: ${e})`}},q0=(e,t)=>{if(typeof e!="function")throw new TypeError($r(32))},kf=()=>{},rA=(e,t=kf)=>(e.catch(t),e),nA=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),lo=e=>{if(e.aborted)throw new Ch(e.reason)};function iA(e,t){let r=kf;return new Promise((n,i)=>{const o=()=>i(new Ch(e.reason));if(e.aborted){o();return}r=nA(e,o),t.finally(()=>r()).then(n,i)}).finally(()=>{r=kf})}var Iz=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof Ch?"cancelled":"rejected",error:r}}finally{t==null||t()}},jf=e=>t=>rA(iA(e,t).then(r=>(lo(e),r))),aA=e=>{const t=jf(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:ys}=Object,$k={},Ph="listenerMiddleware",Tz=(e,t)=>{const r=n=>nA(e,()=>n.abort(e.reason));return(n,i)=>{q0(n);const o=new AbortController;r(o);const u=Iz(async()=>{lo(e),lo(o.signal);const c=await n({pause:jf(o.signal),delay:aA(o.signal),signal:o.signal});return lo(o.signal),c},()=>o.abort(_z));return i!=null&&i.autoJoin&&t.push(u.catch(kf)),{result:jf(e)(u),cancel(){o.abort(Oz)}}}},Dz=(e,t)=>{const r=async(n,i)=>{lo(t);let o=()=>{};const c=[new Promise((f,h)=>{let m=e({predicate:n,effect:(g,v)=>{v.unsubscribe(),f([g,v.getState(),v.getOriginalState()])}});o=()=>{m(),h()}})];i!=null&&c.push(new Promise(f=>setTimeout(f,i,null)));try{const f=await iA(t,Promise.race(c));return lo(t),f}finally{o()}};return((n,i)=>rA(r(n,i)))},oA=e=>{let{type:t,actionCreator:r,matcher:n,predicate:i,effect:o}=e;if(t)i=zr(t).match;else if(r)t=r.type,i=r.match;else if(n)i=n;else if(!i)throw new Error($r(21));return q0(o),{predicate:i,type:t,effect:o}},sA=ys(e=>{const{type:t,predicate:r,effect:n}=oA(e);return{id:xz(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error($r(22))}}},{withTypes:()=>sA}),zk=(e,t)=>{const{type:r,effect:n,predicate:i}=oA(t);return Array.from(e.values()).find(o=>(typeof r=="string"?o.type===r:o.predicate===i)&&o.effect===n)},Uv=e=>{e.pending.forEach(t=>{t.abort(Bv)})},Rz=(e,t)=>()=>{for(const r of t.keys())Uv(r);e.clear()},Fk=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},lA=ys(zr(`${Ph}/add`),{withTypes:()=>lA}),Lz=zr(`${Ph}/removeAll`),uA=ys(zr(`${Ph}/remove`),{withTypes:()=>uA}),$z=(...e)=>{console.error(`${Ph}/error`,...e)},qu=(e={})=>{const t=new Map,r=new Map,n=b=>{const j=r.get(b)??0;r.set(b,j+1)},i=b=>{const j=r.get(b)??1;j===1?r.delete(b):r.set(b,j-1)},{extra:o,onError:u=$z}=e;q0(u);const c=b=>(b.unsubscribe=()=>t.delete(b.id),t.set(b.id,b),j=>{b.unsubscribe(),j!=null&&j.cancelActive&&Uv(b)}),f=(b=>{const j=zk(t,b)??sA(b);return c(j)});ys(f,{withTypes:()=>f});const h=b=>{const j=zk(t,b);return j&&(j.unsubscribe(),b.cancelActive&&Uv(j)),!!j};ys(h,{withTypes:()=>h});const m=async(b,j,k,S)=>{const N=new AbortController,E=Dz(f,N.signal),A=[];try{b.pending.add(N),n(b),await Promise.resolve(b.effect(j,ys({},k,{getOriginalState:S,condition:(P,_)=>E(P,_).then(Boolean),take:E,delay:aA(N.signal),pause:jf(N.signal),extra:o,signal:N.signal,fork:Tz(N.signal,A),unsubscribe:b.unsubscribe,subscribe:()=>{t.set(b.id,b)},cancelActiveListeners:()=>{b.pending.forEach((P,_,O)=>{P!==N&&(P.abort(Bv),O.delete(P))})},cancel:()=>{N.abort(Bv),b.pending.delete(N)},throwIfCancelled:()=>{lo(N.signal)}})))}catch(P){P instanceof Ch||Fk(u,P,{raisedBy:"effect"})}finally{await Promise.all(A),N.abort(Mz),i(b),b.pending.delete(N)}},g=Rz(t,r);return{middleware:b=>j=>k=>{if(!$E(k))return j(k);if(lA.match(k))return f(k.payload);if(Lz.match(k)){g();return}if(uA.match(k))return h(k.payload);let S=b.getState();const N=()=>{if(S===$k)throw new Error($r(23));return S};let E;try{if(E=j(k),t.size>0){const A=b.getState(),P=Array.from(t.values());for(const _ of P){let O=!1;try{O=_.predicate(k,A,S)}catch(T){O=!1,Fk(u,T,{raisedBy:"predicate"})}O&&m(_,k,b,N)}}}finally{S=$k}return E},startListening:f,stopListening:h,clearListeners:g}};function $r(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var zz={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},cA=lr({name:"chartLayout",initialState:zz,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var r,n,i,o;e.margin.top=(r=t.payload.top)!==null&&r!==void 0?r:0,e.margin.right=(n=t.payload.right)!==null&&n!==void 0?n:0,e.margin.bottom=(i=t.payload.bottom)!==null&&i!==void 0?i:0,e.margin.left=(o=t.payload.left)!==null&&o!==void 0?o:0},setScale(e,t){e.scale=t.payload}}}),Oh=cA.actions,Fz=Oh.setMargin,Bz=Oh.setLayout,Uz=Oh.setChartSize,Hz=Oh.setScale,Wz=cA.reducer;function dA(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function We(e){return Number.isFinite(e)}function Un(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function Bk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function hs(e){for(var t=1;t{if(t&&r){var n=r.width,i=r.height,o=t.align,u=t.verticalAlign,c=t.layout;if((c==="vertical"||c==="horizontal"&&u==="middle")&&o!=="center"&&Ae(e[o]))return hs(hs({},e),{},{[o]:e[o]+(n||0)});if((c==="horizontal"||c==="vertical"&&o==="center")&&u!=="middle"&&Ae(e[u]))return hs(hs({},e),{},{[u]:e[u]+(i||0)})}return e},Gn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",fA=(e,t,r,n)=>{if(n)return e.map(c=>c.coordinate);var i,o,u=e.map(c=>(c.coordinate===t&&(i=!0),c.coordinate===r&&(o=!0),c.coordinate));return i||u.push(t),o||u.push(r),u},hA=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,i=e.type,o=e.range,u=e.scale,c=e.realScaleType,f=e.isCategorical,h=e.categoricalDomain,m=e.tickCount,g=e.ticks,v=e.niceTicks,b=e.axisType;if(!u)return null;var j=c==="scaleBand"&&u.bandwidth?u.bandwidth()/2:2,k=i==="category"&&u.bandwidth?u.bandwidth()/j:0;if(k=b==="angleAxis"&&o&&o.length>=2?Yr(o[0]-o[1])*2*k:k,g||v){var S=(g||v||[]).map((N,E)=>{var A=n?n.indexOf(N):N,P=u.map(A);return We(P)?{coordinate:P+k,value:N,offset:k,index:E}:null}).filter(Sr);return S}return f&&h?h.map((N,E)=>{var A=u.map(N);return We(A)?{coordinate:A+k,value:N,index:E,offset:k}:null}).filter(Sr):u.ticks&&m!=null?u.ticks(m).map((N,E)=>{var A=u.map(N);return We(A)?{coordinate:A+k,value:N,index:E,offset:k}:null}).filter(Sr):u.domain().map((N,E)=>{var A=u.map(N);return We(A)?{coordinate:A+k,value:n?n[N]:N,index:E,offset:k}:null}).filter(Sr)},Qz=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(h[0]=o,o+=v,h[1]=o):(h[0]=u,u+=v,h[1]=u)}}}},Yz=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(f[0]=o,o+=h,f[1]=o):(f[0]=0,f[1]=0)}}}},Xz={sign:Qz,expand:hL,none:ho,silhouette:mL,wiggle:pL,positive:Yz},Zz=(e,t,r)=>{var n,i=(n=Xz[r])!==null&&n!==void 0?n:ho,o=fL().keys(t).value((c,f)=>Number(Lt(c,f,0))).order(Cv).offset(i),u=o(e);return u.forEach((c,f)=>{c.forEach((h,m)=>{var g=Lt(e[m],t[f],0);Array.isArray(g)&&g.length===2&&Ae(g[0])&&Ae(g[1])&&(h[0]=g[0],h[1]=g[1])})}),u};function Jz(e){return e==null?void 0:String(e)}function Uk(e){var t=e.axis,r=e.ticks,n=e.bandSize,i=e.entry,o=e.index,u=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Qt(i[t.dataKey])){var c=xE(r,"value",i[t.dataKey]);if(c)return c.coordinate+n/2}return r!=null&&r[o]?r[o].coordinate+n/2:null}var f=Lt(i,Qt(u)?t.dataKey:u),h=t.scale.map(f);return Ae(h)?h:null}var e6=e=>{var t=e.flat(2).filter(Ae);return[Math.min(...t),Math.max(...t)]},t6=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],r6=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return t6(Object.keys(e).reduce((n,i)=>{var o=e[i];if(!o)return n;var u=o.stackedData,c=u.reduce((f,h)=>{var m=dA(h,t,r),g=e6(m);return!We(g[0])||!We(g[1])?f:[Math.min(f[0],g[0]),Math.max(f[1],g[1])]},[1/0,-1/0]);return[Math.min(c[0],n[0]),Math.max(c[1],n[1])]},[1/0,-1/0]))},Hk=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Wk=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Sf=(e,t,r)=>{if(e&&e.scale&&e.scale.bandwidth){var n=e.scale.bandwidth();if(!r||n>0)return n}if(e&&t&&t.length>=2){for(var i=bh(t,m=>m.coordinate),o=1/0,u=1,c=i.length;u{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},i6=(e,t)=>t==="centric"?e.angle:e.radius,ki=e=>e.layout.width,ji=e=>e.layout.height,a6=e=>e.layout.scale,pA=e=>e.layout.margin,_h=q(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),Mh=q(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),o6="data-recharts-item-index",s6="data-recharts-item-id",Qu=60;function Gk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Dd(e){for(var t=1;te.brush.height;function f6(e){var t=Mh(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:Qu;return r+i}return r},0)}function h6(e){var t=Mh(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:Qu;return r+i}return r},0)}function m6(e){var t=_h(e);return t.reduce((r,n)=>n.orientation==="top"&&!n.mirror&&!n.hide?r+n.height:r,0)}function p6(e){var t=_h(e);return t.reduce((r,n)=>n.orientation==="bottom"&&!n.mirror&&!n.hide?r+n.height:r,0)}var Zt=q([ki,ji,pA,d6,f6,h6,m6,p6,DE,R$],(e,t,r,n,i,o,u,c,f,h)=>{var m={left:(r.left||0)+i,right:(r.right||0)+o},g={top:(r.top||0)+u,bottom:(r.bottom||0)+c},v=Dd(Dd({},g),m),b=v.bottom;v.bottom+=n,v=qz(v,f,h);var j=e-v.left-v.right,k=t-v.top-v.bottom;return Dd(Dd({brushBottom:b},v),{},{width:Math.max(j,0),height:Math.max(k,0)})}),g6=q(Zt,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),gA=q(ki,ji,(e,t)=>({x:0,y:0,width:e,height:t})),v6=y.createContext(null),Ar=()=>y.useContext(v6)!=null,Ih=e=>e.brush,Th=q([Ih,Zt,pA],(e,t,r)=>({height:e.height,x:Ae(e.x)?e.x:t.left,y:Ae(e.y)?e.y:t.top+t.height+t.brushBottom-((r==null?void 0:r.bottom)||0),width:Ae(e.width)?e.width:t.width}));function y6(e,t,{signal:r,edges:n}={}){let i,o=null;const u=n!=null&&n.includes("leading"),c=n==null||n.includes("trailing"),f=()=>{o!==null&&(e.apply(i,o),i=void 0,o=null)},h=()=>{c&&f(),b()};let m=null;const g=()=>{m!=null&&clearTimeout(m),m=setTimeout(()=>{m=null,h()},t)},v=()=>{m!==null&&(clearTimeout(m),m=null)},b=()=>{v(),i=void 0,o=null},j=()=>{f()},k=function(...S){if(r!=null&&r.aborted)return;i=this,o=S;const N=m==null;g(),u&&N&&f()};return k.schedule=g,k.cancel=b,k.flush=j,r==null||r.addEventListener("abort",b,{once:!0}),k}function x6(e,t=0,r={}){typeof r!="object"&&(r={});const{leading:n=!1,trailing:i=!0,maxWait:o}=r,u=Array(2);n&&(u[0]="leading"),i&&(u[1]="trailing");let c,f=null;const h=y6(function(...v){c=e.apply(this,v),f=null},t,{edges:u}),m=function(...v){return o!=null&&(f===null&&(f=Date.now()),Date.now()-f>=o)?(c=e.apply(this,v),f=Date.now(),h.cancel(),h.schedule(),c):(h.apply(this,v),c)},g=()=>(h.flush(),c);return m.cancel=h.cancel,m.flush=g,m}function b6(e,t=0,r={}){const{leading:n=!0,trailing:i=!0}=r;return x6(e,t,{leading:n,maxWait:t,trailing:i})}var Nf=function(t,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;oi[u++]))}},Rn={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},vA=(e,t,r)=>{var n=r.width,i=n===void 0?Rn.width:n,o=r.height,u=o===void 0?Rn.height:o,c=r.aspect,f=r.maxHeight,h=mo(i)?e:Number(i),m=mo(u)?t:Number(u);return c&&c>0&&(h?m=h/c:m&&(h=m*c),f&&m!=null&&m>f&&(m=f)),{calculatedWidth:h,calculatedHeight:m}},w6={width:0,height:0,overflow:"visible"},k6={width:0,overflowX:"visible"},j6={height:0,overflowY:"visible"},S6={},N6=e=>{var t=e.width,r=e.height,n=mo(t),i=mo(r);return n&&i?w6:n?k6:i?j6:S6};function E6(e){var t=e.width,r=e.height,n=e.aspect,i=t,o=r;return i===void 0&&o===void 0?(i=Rn.width,o=Rn.height):i===void 0?i=n&&n>0?void 0:Rn.width:o===void 0&&(o=n&&n>0?void 0:Rn.height),{width:i,height:o}}var A6=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function Ef(){return Ef=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({width:r,height:n}),[r,n]);return $6(i)?y.createElement(yA.Provider,{value:i},t):null}var Q0=()=>y.useContext(yA),z6=y.forwardRef((e,t)=>{var r=e.aspect,n=e.initialDimension,i=n===void 0?Rn.initialDimension:n,o=e.width,u=e.height,c=e.minWidth,f=c===void 0?Rn.minWidth:c,h=e.minHeight,m=e.maxHeight,g=e.children,v=e.debounce,b=v===void 0?Rn.debounce:v,j=e.id,k=e.className,S=e.onResize,N=e.style,E=N===void 0?{}:N,A=R6(e,A6),P=y.useRef(null),_=y.useRef();_.current=S,y.useImperativeHandle(t,()=>P.current);var O=y.useState({containerWidth:i.width,containerHeight:i.height}),T=_6(O,2),B=T[0],$=T[1],z=y.useCallback((oe,se)=>{$(X=>{var ne=Math.round(oe),te=Math.round(se);return X.containerWidth===ne&&X.containerHeight===te?X:{containerWidth:ne,containerHeight:te}})},[]);y.useEffect(()=>{if(P.current==null||typeof ResizeObserver>"u")return Ys;var oe=I=>{var M,H=I[0];if(H!=null){var ie=H.contentRect,J=ie.width,Z=ie.height;z(J,Z),(M=_.current)===null||M===void 0||M.call(_,J,Z)}};b>0&&(oe=b6(oe,b,{trailing:!0,leading:!1}));var se=new ResizeObserver(oe),X=P.current.getBoundingClientRect(),ne=X.width,te=X.height;return z(ne,te),se.observe(P.current),()=>{se.disconnect()}},[z,b]);var Q=B.containerWidth,U=B.containerHeight;Nf(!r||r>0,"The aspect(%s) must be greater than zero.",r);var ve=vA(Q,U,{width:o,height:u,aspect:r,maxHeight:m}),ue=ve.calculatedWidth,pe=ve.calculatedHeight;return Nf(Q<0||U<0||ue!=null&&ue>0||pe!=null&&pe>0,`The width(%s) and height(%s) of chart should be greater than 0,
please check the style of container, or the props width(%s) and height(%s),
or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the
- height and width.`,ue,pe,o,u,f,h,r),y.createElement("div",Ef({id:j?"".concat(j):void 0,className:rt("recharts-responsive-container",k),style:qk(qk({},E),{},{width:o,height:u,minWidth:f,minHeight:h,maxHeight:m}),ref:P},A),y.createElement("div",{style:S6({width:o,height:u})},y.createElement(xA,{width:ue,height:pe},g)))}),z6=y.forwardRef((e,t)=>{var r=Q0();if(Un(r.width)&&Un(r.height))return e.children;var n=N6({width:e.width,height:e.height,aspect:e.aspect}),i=n.width,o=n.height,u=vA(void 0,void 0,{width:i,height:o,aspect:e.aspect,maxHeight:e.maxHeight}),c=u.calculatedWidth,f=u.calculatedHeight;return Ae(c)&&Ae(f)?y.createElement(xA,{width:c,height:f},e.children):y.createElement($6,Ef({},e,{width:i,height:o,ref:t}))});function Y0(e){if(e)return{x:e.x,y:e.y,upperWidth:"upperWidth"in e?e.upperWidth:e.width,lowerWidth:"lowerWidth"in e?e.lowerWidth:e.width,width:e.width,height:e.height}}var Dh=()=>{var e,t=Ar(),r=Me(p6),n=Me(Th),i=(e=Me(Ih))===null||e===void 0?void 0:e.padding;return!t||!n||!i?r:{width:n.width-i.left-i.right,height:n.height-i.top-i.bottom,x:i.left,y:i.top}},F6={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},bA=()=>{var e;return(e=Me(Zt))!==null&&e!==void 0?e:F6},wA=()=>Me(ki),kA=()=>Me(ji),ft=e=>e.layout.layoutType,Zs=()=>Me(ft),X0=()=>{var e=Zs();if(e==="horizontal"||e==="vertical")return e},jA=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},B6=()=>{var e=Zs();return e!==void 0},Xu=e=>{var t=Nt(),r=Ar(),n=e.width,i=e.height,o=Q0(),u=n,c=i;return o&&(u=o.width>0?o.width:n,c=o.height>0?o.height:i),y.useEffect(()=>{!r&&Un(u)&&Un(c)&&t(Bz({width:u,height:c}))},[t,r,u,c]),null},SA=Symbol.for("immer-nothing"),Yk=Symbol.for("immer-draftable"),Fr=Symbol.for("immer-state");function gn(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Au=Object.getPrototypeOf;function Fs(e){return!!e&&!!e[Fr]}function go(e){var t;return e?NA(e)||Array.isArray(e)||!!e[Yk]||!!((t=e.constructor)!=null&&t[Yk])||Zu(e)||Lh(e):!1}var U6=Object.prototype.constructor.toString(),Xk=new WeakMap;function NA(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;const r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;if(r===Object)return!0;if(typeof r!="function")return!1;let n=Xk.get(r);return n===void 0&&(n=Function.toString.call(r),Xk.set(r,n)),n===U6}function Af(e,t,r=!0){Rh(e)===0?(r?Reflect.ownKeys(e):Object.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function Rh(e){const t=e[Fr];return t?t.type_:Array.isArray(e)?1:Zu(e)?2:Lh(e)?3:0}function Hv(e,t){return Rh(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function EA(e,t,r){const n=Rh(e);n===2?e.set(t,r):n===3?e.add(r):e[t]=r}function H6(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Zu(e){return e instanceof Map}function Lh(e){return e instanceof Set}function Wa(e){return e.copy_||e.base_}function Wv(e,t){if(Zu(e))return new Map(e);if(Lh(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const r=NA(e);if(t===!0||t==="class_only"&&!r){const n=Object.getOwnPropertyDescriptors(e);delete n[Fr];let i=Reflect.ownKeys(n);for(let o=0;o1&&Object.defineProperties(e,{set:Ld,add:Ld,clear:Ld,delete:Ld}),Object.freeze(e),t&&Object.values(e).forEach(r=>Z0(r,!0))),e}function W6(){gn(2)}var Ld={value:W6};function $h(e){return e===null||typeof e!="object"?!0:Object.isFrozen(e)}var K6={};function vo(e){const t=K6[e];return t||gn(0,e),t}var Cu;function AA(){return Cu}function G6(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Zk(e,t){t&&(vo("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Kv(e){Gv(e),e.drafts_.forEach(V6),e.drafts_=null}function Gv(e){e===Cu&&(Cu=e.parent_)}function Jk(e){return Cu=G6(Cu,e)}function V6(e){const t=e[Fr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function ej(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];return e!==void 0&&e!==r?(r[Fr].modified_&&(Kv(t),gn(4)),go(e)&&(e=Cf(t,e),t.parent_||Pf(t,e)),t.patches_&&vo("Patches").generateReplacementPatches_(r[Fr].base_,e,t.patches_,t.inversePatches_)):e=Cf(t,r,[]),Kv(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==SA?e:void 0}function Cf(e,t,r){if($h(t))return t;const n=e.immer_.shouldUseStrictIteration(),i=t[Fr];if(!i)return Af(t,(o,u)=>tj(e,i,t,o,u,r),n),t;if(i.scope_!==e)return t;if(!i.modified_)return Pf(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const o=i.copy_;let u=o,c=!1;i.type_===3&&(u=new Set(o),o.clear(),c=!0),Af(u,(f,h)=>tj(e,i,o,f,h,r,c),n),Pf(e,o,!1),r&&e.patches_&&vo("Patches").generatePatches_(i,r,e.patches_,e.inversePatches_)}return i.copy_}function tj(e,t,r,n,i,o,u){if(i==null||typeof i!="object"&&!u)return;const c=$h(i);if(!(c&&!u)){if(Fs(i)){const f=o&&t&&t.type_!==3&&!Hv(t.assigned_,n)?o.concat(n):void 0,h=Cf(e,i,f);if(EA(r,n,h),Fs(h))e.canAutoFreeze_=!1;else return}else u&&r.add(i);if(go(i)&&!c){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[n]===i&&c)return;Cf(e,i),(!t||!t.scope_.parent_)&&typeof n!="symbol"&&(Zu(r)?r.has(n):Object.prototype.propertyIsEnumerable.call(r,n))&&Pf(e,i)}}}function Pf(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Z0(t,r)}function q6(e,t){const r=Array.isArray(e),n={type_:r?1:0,scope_:t?t.scope_:AA(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=n,o=J0;r&&(i=[n],o=Pu);const{revoke:u,proxy:c}=Proxy.revocable(i,o);return n.draft_=c,n.revoke_=u,c}var J0={get(e,t){if(t===Fr)return e;const r=Wa(e);if(!Hv(r,t))return Q6(e,r,t);const n=r[t];return e.finalized_||!go(n)?n:n===wg(e.base_,t)?(kg(e),e.copy_[t]=qv(n,e)):n},has(e,t){return t in Wa(e)},ownKeys(e){return Reflect.ownKeys(Wa(e))},set(e,t,r){const n=CA(Wa(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=wg(Wa(e),t),o=i==null?void 0:i[Fr];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(H6(r,i)&&(r!==void 0||Hv(e.base_,t)))return!0;kg(e),Vv(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return wg(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,kg(e),Vv(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=Wa(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:n.enumerable,value:r[t]}},defineProperty(){gn(11)},getPrototypeOf(e){return Au(e.base_)},setPrototypeOf(){gn(12)}},Pu={};Af(J0,(e,t)=>{Pu[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});Pu.deleteProperty=function(e,t){return Pu.set.call(this,e,t,void 0)};Pu.set=function(e,t,r){return J0.set.call(this,e[0],t,r,e[0])};function wg(e,t){const r=e[Fr];return(r?Wa(r):e)[t]}function Q6(e,t,r){var i;const n=CA(t,r);return n?"value"in n?n.value:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function CA(e,t){if(!(t in e))return;let r=Au(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Au(r)}}function Vv(e){e.modified_||(e.modified_=!0,e.parent_&&Vv(e.parent_))}function kg(e){e.copy_||(e.copy_=Wv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var Y6=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(t,r,n)=>{if(typeof t=="function"&&typeof r!="function"){const o=r;r=t;const u=this;return function(f=o,...h){return u.produce(f,m=>r.call(this,m,...h))}}typeof r!="function"&&gn(6),n!==void 0&&typeof n!="function"&&gn(7);let i;if(go(t)){const o=Jk(this),u=qv(t,void 0);let c=!0;try{i=r(u),c=!1}finally{c?Kv(o):Gv(o)}return Zk(o,n),ej(i,o)}else if(!t||typeof t!="object"){if(i=r(t),i===void 0&&(i=t),i===SA&&(i=void 0),this.autoFreeze_&&Z0(i,!0),n){const o=[],u=[];vo("Patches").generateReplacementPatches_(t,i,o,u),n(o,u)}return i}else gn(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(u,...c)=>this.produceWithPatches(u,f=>t(f,...c));let n,i;return[this.produce(t,r,(u,c)=>{n=u,i=c}),n,i]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),typeof(e==null?void 0:e.useStrictIteration)=="boolean"&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){go(e)||gn(8),Fs(e)&&(e=X6(e));const t=Jk(this),r=qv(e,void 0);return r[Fr].isManual_=!0,Gv(t),r}finishDraft(e,t){const r=e&&e[Fr];(!r||!r.isManual_)&&gn(9);const{scope_:n}=r;return Zk(n,t),ej(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const i=t[r];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}r>-1&&(t=t.slice(r+1));const n=vo("Patches").applyPatches_;return Fs(e)?n(e,t):this.produce(e,i=>n(i,t))}};function qv(e,t){const r=Zu(e)?vo("MapSet").proxyMap_(e,t):Lh(e)?vo("MapSet").proxySet_(e,t):q6(e,t);return(t?t.scope_:AA()).drafts_.push(r),r}function X6(e){return Fs(e)||gn(10,e),PA(e)}function PA(e){if(!go(e)||$h(e))return e;const t=e[Fr];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Wv(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Wv(e,!0);return Af(r,(i,o)=>{EA(r,i,PA(o))},n),t&&(t.finalized_=!1),r}var Z6=new Y6;Z6.produce;var J6={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value"},size:{width:0,height:0},payload:[]},OA=lr({name:"legend",initialState:J6,reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter},addLegendPayload:{reducer(e,t){e.payload.push(t.payload)},prepare:st()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=Xr(e).payload.indexOf(n);o>-1&&(e.payload[o]=i)},prepare:st()},removeLegendPayload:{reducer(e,t){var r=Xr(e).payload.indexOf(t.payload);r>-1&&e.payload.splice(r,1)},prepare:st()}}}),Ju=OA.actions;Ju.setLegendSize;Ju.setLegendSettings;var e8=Ju.addLegendPayload,t8=Ju.replaceLegendPayload,r8=Ju.removeLegendPayload,n8=OA.reducer,jg={exports:{}},Sg={};/**
+ height and width.`,ue,pe,o,u,f,h,r),y.createElement("div",Ef({id:j?"".concat(j):void 0,className:rt("recharts-responsive-container",k),style:qk(qk({},E),{},{width:o,height:u,minWidth:f,minHeight:h,maxHeight:m}),ref:P},A),y.createElement("div",{style:N6({width:o,height:u})},y.createElement(xA,{width:ue,height:pe},g)))}),F6=y.forwardRef((e,t)=>{var r=Q0();if(Un(r.width)&&Un(r.height))return e.children;var n=E6({width:e.width,height:e.height,aspect:e.aspect}),i=n.width,o=n.height,u=vA(void 0,void 0,{width:i,height:o,aspect:e.aspect,maxHeight:e.maxHeight}),c=u.calculatedWidth,f=u.calculatedHeight;return Ae(c)&&Ae(f)?y.createElement(xA,{width:c,height:f},e.children):y.createElement(z6,Ef({},e,{width:i,height:o,ref:t}))});function Y0(e){if(e)return{x:e.x,y:e.y,upperWidth:"upperWidth"in e?e.upperWidth:e.width,lowerWidth:"lowerWidth"in e?e.lowerWidth:e.width,width:e.width,height:e.height}}var Dh=()=>{var e,t=Ar(),r=Me(g6),n=Me(Th),i=(e=Me(Ih))===null||e===void 0?void 0:e.padding;return!t||!n||!i?r:{width:n.width-i.left-i.right,height:n.height-i.top-i.bottom,x:i.left,y:i.top}},B6={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},bA=()=>{var e;return(e=Me(Zt))!==null&&e!==void 0?e:B6},wA=()=>Me(ki),kA=()=>Me(ji),ft=e=>e.layout.layoutType,Xs=()=>Me(ft),X0=()=>{var e=Xs();if(e==="horizontal"||e==="vertical")return e},jA=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},U6=()=>{var e=Xs();return e!==void 0},Yu=e=>{var t=Nt(),r=Ar(),n=e.width,i=e.height,o=Q0(),u=n,c=i;return o&&(u=o.width>0?o.width:n,c=o.height>0?o.height:i),y.useEffect(()=>{!r&&Un(u)&&Un(c)&&t(Uz({width:u,height:c}))},[t,r,u,c]),null},SA=Symbol.for("immer-nothing"),Yk=Symbol.for("immer-draftable"),Fr=Symbol.for("immer-state");function vn(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Eu=Object.getPrototypeOf;function zs(e){return!!e&&!!e[Fr]}function go(e){var t;return e?NA(e)||Array.isArray(e)||!!e[Yk]||!!((t=e.constructor)!=null&&t[Yk])||Xu(e)||Lh(e):!1}var H6=Object.prototype.constructor.toString(),Xk=new WeakMap;function NA(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;const r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;if(r===Object)return!0;if(typeof r!="function")return!1;let n=Xk.get(r);return n===void 0&&(n=Function.toString.call(r),Xk.set(r,n)),n===H6}function Af(e,t,r=!0){Rh(e)===0?(r?Reflect.ownKeys(e):Object.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function Rh(e){const t=e[Fr];return t?t.type_:Array.isArray(e)?1:Xu(e)?2:Lh(e)?3:0}function Hv(e,t){return Rh(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function EA(e,t,r){const n=Rh(e);n===2?e.set(t,r):n===3?e.add(r):e[t]=r}function W6(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Xu(e){return e instanceof Map}function Lh(e){return e instanceof Set}function Wa(e){return e.copy_||e.base_}function Wv(e,t){if(Xu(e))return new Map(e);if(Lh(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const r=NA(e);if(t===!0||t==="class_only"&&!r){const n=Object.getOwnPropertyDescriptors(e);delete n[Fr];let i=Reflect.ownKeys(n);for(let o=0;o1&&Object.defineProperties(e,{set:Rd,add:Rd,clear:Rd,delete:Rd}),Object.freeze(e),t&&Object.values(e).forEach(r=>Z0(r,!0))),e}function K6(){vn(2)}var Rd={value:K6};function $h(e){return e===null||typeof e!="object"?!0:Object.isFrozen(e)}var G6={};function vo(e){const t=G6[e];return t||vn(0,e),t}var Au;function AA(){return Au}function V6(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Zk(e,t){t&&(vo("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Kv(e){Gv(e),e.drafts_.forEach(q6),e.drafts_=null}function Gv(e){e===Au&&(Au=e.parent_)}function Jk(e){return Au=V6(Au,e)}function q6(e){const t=e[Fr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function ej(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];return e!==void 0&&e!==r?(r[Fr].modified_&&(Kv(t),vn(4)),go(e)&&(e=Cf(t,e),t.parent_||Pf(t,e)),t.patches_&&vo("Patches").generateReplacementPatches_(r[Fr].base_,e,t.patches_,t.inversePatches_)):e=Cf(t,r,[]),Kv(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==SA?e:void 0}function Cf(e,t,r){if($h(t))return t;const n=e.immer_.shouldUseStrictIteration(),i=t[Fr];if(!i)return Af(t,(o,u)=>tj(e,i,t,o,u,r),n),t;if(i.scope_!==e)return t;if(!i.modified_)return Pf(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const o=i.copy_;let u=o,c=!1;i.type_===3&&(u=new Set(o),o.clear(),c=!0),Af(u,(f,h)=>tj(e,i,o,f,h,r,c),n),Pf(e,o,!1),r&&e.patches_&&vo("Patches").generatePatches_(i,r,e.patches_,e.inversePatches_)}return i.copy_}function tj(e,t,r,n,i,o,u){if(i==null||typeof i!="object"&&!u)return;const c=$h(i);if(!(c&&!u)){if(zs(i)){const f=o&&t&&t.type_!==3&&!Hv(t.assigned_,n)?o.concat(n):void 0,h=Cf(e,i,f);if(EA(r,n,h),zs(h))e.canAutoFreeze_=!1;else return}else u&&r.add(i);if(go(i)&&!c){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[n]===i&&c)return;Cf(e,i),(!t||!t.scope_.parent_)&&typeof n!="symbol"&&(Xu(r)?r.has(n):Object.prototype.propertyIsEnumerable.call(r,n))&&Pf(e,i)}}}function Pf(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Z0(t,r)}function Q6(e,t){const r=Array.isArray(e),n={type_:r?1:0,scope_:t?t.scope_:AA(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=n,o=J0;r&&(i=[n],o=Cu);const{revoke:u,proxy:c}=Proxy.revocable(i,o);return n.draft_=c,n.revoke_=u,c}var J0={get(e,t){if(t===Fr)return e;const r=Wa(e);if(!Hv(r,t))return Y6(e,r,t);const n=r[t];return e.finalized_||!go(n)?n:n===wg(e.base_,t)?(kg(e),e.copy_[t]=qv(n,e)):n},has(e,t){return t in Wa(e)},ownKeys(e){return Reflect.ownKeys(Wa(e))},set(e,t,r){const n=CA(Wa(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=wg(Wa(e),t),o=i==null?void 0:i[Fr];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(W6(r,i)&&(r!==void 0||Hv(e.base_,t)))return!0;kg(e),Vv(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return wg(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,kg(e),Vv(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=Wa(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:n.enumerable,value:r[t]}},defineProperty(){vn(11)},getPrototypeOf(e){return Eu(e.base_)},setPrototypeOf(){vn(12)}},Cu={};Af(J0,(e,t)=>{Cu[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});Cu.deleteProperty=function(e,t){return Cu.set.call(this,e,t,void 0)};Cu.set=function(e,t,r){return J0.set.call(this,e[0],t,r,e[0])};function wg(e,t){const r=e[Fr];return(r?Wa(r):e)[t]}function Y6(e,t,r){var i;const n=CA(t,r);return n?"value"in n?n.value:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function CA(e,t){if(!(t in e))return;let r=Eu(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Eu(r)}}function Vv(e){e.modified_||(e.modified_=!0,e.parent_&&Vv(e.parent_))}function kg(e){e.copy_||(e.copy_=Wv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var X6=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(t,r,n)=>{if(typeof t=="function"&&typeof r!="function"){const o=r;r=t;const u=this;return function(f=o,...h){return u.produce(f,m=>r.call(this,m,...h))}}typeof r!="function"&&vn(6),n!==void 0&&typeof n!="function"&&vn(7);let i;if(go(t)){const o=Jk(this),u=qv(t,void 0);let c=!0;try{i=r(u),c=!1}finally{c?Kv(o):Gv(o)}return Zk(o,n),ej(i,o)}else if(!t||typeof t!="object"){if(i=r(t),i===void 0&&(i=t),i===SA&&(i=void 0),this.autoFreeze_&&Z0(i,!0),n){const o=[],u=[];vo("Patches").generateReplacementPatches_(t,i,o,u),n(o,u)}return i}else vn(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(u,...c)=>this.produceWithPatches(u,f=>t(f,...c));let n,i;return[this.produce(t,r,(u,c)=>{n=u,i=c}),n,i]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),typeof(e==null?void 0:e.useStrictIteration)=="boolean"&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){go(e)||vn(8),zs(e)&&(e=Z6(e));const t=Jk(this),r=qv(e,void 0);return r[Fr].isManual_=!0,Gv(t),r}finishDraft(e,t){const r=e&&e[Fr];(!r||!r.isManual_)&&vn(9);const{scope_:n}=r;return Zk(n,t),ej(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const i=t[r];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}r>-1&&(t=t.slice(r+1));const n=vo("Patches").applyPatches_;return zs(e)?n(e,t):this.produce(e,i=>n(i,t))}};function qv(e,t){const r=Xu(e)?vo("MapSet").proxyMap_(e,t):Lh(e)?vo("MapSet").proxySet_(e,t):Q6(e,t);return(t?t.scope_:AA()).drafts_.push(r),r}function Z6(e){return zs(e)||vn(10,e),PA(e)}function PA(e){if(!go(e)||$h(e))return e;const t=e[Fr];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Wv(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Wv(e,!0);return Af(r,(i,o)=>{EA(r,i,PA(o))},n),t&&(t.finalized_=!1),r}var J6=new X6;J6.produce;var e8={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value"},size:{width:0,height:0},payload:[]},OA=lr({name:"legend",initialState:e8,reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter},addLegendPayload:{reducer(e,t){e.payload.push(t.payload)},prepare:st()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,o=Xr(e).payload.indexOf(n);o>-1&&(e.payload[o]=i)},prepare:st()},removeLegendPayload:{reducer(e,t){var r=Xr(e).payload.indexOf(t.payload);r>-1&&e.payload.splice(r,1)},prepare:st()}}}),Zu=OA.actions;Zu.setLegendSize;Zu.setLegendSettings;var t8=Zu.addLegendPayload,r8=Zu.replaceLegendPayload,n8=Zu.removeLegendPayload,i8=OA.reducer,jg={exports:{}},Sg={};/**
* @license React
* use-sync-external-store-with-selector.production.js
*
@@ -607,12 +612,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
- */var rj;function i8(){if(rj)return Sg;rj=1;var e=Vs();function t(f,h){return f===h&&(f!==0||1/f===1/h)||f!==f&&h!==h}var r=typeof Object.is=="function"?Object.is:t,n=e.useSyncExternalStore,i=e.useRef,o=e.useEffect,u=e.useMemo,c=e.useDebugValue;return Sg.useSyncExternalStoreWithSelector=function(f,h,m,g,v){var b=i(null);if(b.current===null){var j={hasValue:!1,value:null};b.current=j}else j=b.current;b=u(function(){function S(_){if(!N){if(N=!0,E=_,_=g(_),v!==void 0&&j.hasValue){var O=j.value;if(v(O,_))return A=O}return A=_}if(O=A,r(E,_))return O;var T=g(_);return v!==void 0&&v(O,T)?(E=_,O):(E=_,A=T)}var N=!1,E,A,P=m===void 0?null:m;return[function(){return S(h())},P===null?void 0:function(){return S(P())}]},[h,m,g,v]);var k=n(f,b[0],b[1]);return o(function(){j.hasValue=!0,j.value=k},[k]),c(k),k},Sg}var nj;function a8(){return nj||(nj=1,jg.exports=i8()),jg.exports}a8();function o8(e){e()}function s8(){let e=null,t=null;return{clear(){e=null,t=null},notify(){o8(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){const r=[];let n=e;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0;const i=t={callback:r,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!n||e===null||(n=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var ij={notify(){},get:()=>[]};function l8(e,t){let r,n=ij,i=0,o=!1;function u(k){m();const S=n.subscribe(k);let N=!1;return()=>{N||(N=!0,S(),g())}}function c(){n.notify()}function f(){j.onStateChange&&j.onStateChange()}function h(){return o}function m(){i++,r||(r=e.subscribe(f),n=s8())}function g(){i--,r&&i===0&&(r(),r=void 0,n.clear(),n=ij)}function v(){o||(o=!0,m())}function b(){o&&(o=!1,g())}const j={addNestedSub:u,notifyNestedSubs:c,handleChangeWrapper:f,isSubscribed:h,trySubscribe:v,tryUnsubscribe:b,getListeners:()=>n};return j}var u8=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",c8=u8(),d8=()=>typeof navigator<"u"&&navigator.product==="ReactNative",f8=d8(),h8=()=>c8||f8?y.useLayoutEffect:y.useEffect,m8=h8();function aj(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function p8(e,t){if(aj(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let i=0;i{const f=l8(i);return{store:i,subscription:f,getServerState:n?()=>n:void 0}},[i,n]),u=y.useMemo(()=>i.getState(),[i]);m8(()=>{const{subscription:f}=o;return f.onStateChange=f.notifyNestedSubs,f.trySubscribe(),u!==i.getState()&&f.notifyNestedSubs(),()=>{f.tryUnsubscribe(),f.onStateChange=void 0}},[o,u]);const c=r||v8;return y.createElement(c.Provider,{value:o},t)}var x8=y8,b8=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function w8(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function zh(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(b8.has(n)){if(e[n]==null&&t[n]==null)continue;if(!p8(e[n],t[n]))return!1}else if(!w8(e[n],t[n]))return!1;return!0}function Qv(){return Qv=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?rs.separator:t,n=e.contentStyle,i=e.itemStyle,o=e.labelStyle,u=o===void 0?rs.labelStyle:o,c=e.payload,f=e.formatter,h=e.itemSorter,m=e.wrapperClassName,g=e.labelClassName,v=e.label,b=e.labelFormatter,j=e.accessibilityLayer,k=j===void 0?rs.accessibilityLayer:j,S=()=>{if(c&&c.length){var B={padding:0,margin:0},$=_8(c,h),z=$.map((Q,U)=>{if(!Q||Q.type==="none")return null;var ve=Q.formatter||f||O8,ue=Q.value,pe=Q.name,oe=ue,se=pe;if(ve){var X=ve(ue,pe,Q,U,c);if(Array.isArray(X)){var ne=N8(X,2);oe=ne[0],se=ne[1]}else if(X!=null)oe=X;else return null}var te=Zl(Zl({},rs.itemStyle),{},{color:Q.color||rs.itemStyle.color},i);return y.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(U),style:te},Bn(se)?y.createElement("span",{className:"recharts-tooltip-item-name"},se):null,Bn(se)?y.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,y.createElement("span",{className:"recharts-tooltip-item-value"},oe),y.createElement("span",{className:"recharts-tooltip-item-unit"},Q.unit||""))});return y.createElement("ul",{className:"recharts-tooltip-item-list",style:B},z)}return null},N=Zl(Zl({},rs.contentStyle),n),E=Zl({margin:0},u),A=!Qt(v),P=A?v:"",_=rt("recharts-default-tooltip",m),O=rt("recharts-tooltip-label",g);A&&b&&c!==void 0&&c!==null&&(P=b(v,c));var T=k?{role:"status","aria-live":"assertive"}:{};return y.createElement("div",Qv({className:_,style:N},T),y.createElement("p",{className:O,style:E},y.isValidElement(P)?P:"".concat(P)),S())},Jl="recharts-tooltip-wrapper",I8={visibility:"hidden"};function T8(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return rt(Jl,{["".concat(Jl,"-right")]:Ae(r)&&t&&Ae(t.x)&&r>=t.x,["".concat(Jl,"-left")]:Ae(r)&&t&&Ae(t.x)&&r=t.y,["".concat(Jl,"-top")]:Ae(n)&&t&&Ae(t.y)&&n0?i:0),g=r[n]+i;if(t[n])return u[n]?m:g;var v=f[n];if(v==null)return 0;if(u[n]){var b=m,j=v;return bS?Math.max(m,v):Math.max(g,v)}function D8(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function R8(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,i=e.offsetLeft,o=e.position,u=e.reverseDirection,c=e.tooltipBox,f=e.useTranslate3d,h=e.viewBox,m,g,v;return c.height>0&&c.width>0&&r?(g=lj({allowEscapeViewBox:t,coordinate:r,key:"x",offset:i,position:o,reverseDirection:u,tooltipDimension:c.width,viewBox:h,viewBoxDimension:h.width}),v=lj({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:o,reverseDirection:u,tooltipDimension:c.height,viewBox:h,viewBoxDimension:h.height}),m=D8({translateX:g,translateY:v,useTranslate3d:f})):m=I8,{cssProperties:m,cssClasses:T8({translateX:g,translateY:v,coordinate:r})}}var L8=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),ec={isSsr:L8()};function $8(e,t){return U8(e)||B8(e,t)||F8(e,t)||z8()}function z8(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function F8(e,t){if(e){if(typeof e=="string")return uj(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?uj(e,t):void 0}}function uj(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rec.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=$8(e,2),r=t[0],n=t[1];return y.useEffect(()=>{if(window.matchMedia){var i=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>{n(i.matches)};return i.addEventListener("change",o),()=>{i.removeEventListener("change",o)}}},[]),r}function cj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ns(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),h=G8(f,2),m=h[0],g=h[1];y.useEffect(()=>{var N=E=>{if(E.key==="Escape"){var A,P,_,O;g({dismissed:!0,dismissedAtCoordinate:{x:(A=(P=e.coordinate)===null||P===void 0?void 0:P.x)!==null&&A!==void 0?A:0,y:(_=(O=e.coordinate)===null||O===void 0?void 0:O.y)!==null&&_!==void 0?_:0}})}};return document.addEventListener("keydown",N),()=>{document.removeEventListener("keydown",N)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),m.dismissed&&(((n=(i=e.coordinate)===null||i===void 0?void 0:i.x)!==null&&n!==void 0?n:0)!==m.dismissedAtCoordinate.x||((o=(u=e.coordinate)===null||u===void 0?void 0:u.y)!==null&&o!==void 0?o:0)!==m.dismissedAtCoordinate.y)&&g(ns(ns({},m),{},{dismissed:!1}));var v=R8({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:{height:e.lastBoundingBox.height,width:e.lastBoundingBox.width},useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),b=v.cssClasses,j=v.cssProperties,k=e.hasPortalFromProps?{}:ns(ns({transition:X8({prefersReducedMotion:c,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},j),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),S=ns(ns({},k),{},{visibility:!m.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return y.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:b,style:S,ref:e.innerRef},e.children)}var J8=y.memo(Z8),MA=()=>{var e;return(e=Me(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};function Yv(){return Yv=Object.assign?Object.assign.bind():function(e){for(var t=1;tWe(e.x)&&We(e.y),pj=e=>e.base!=null&&Of(e.base)&&Of(e),eu=e=>e.x,tu=e=>e.y,nF=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(z0(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=mj["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return mj[r]||yh},gj={connectNulls:!1,type:"linear"},iF=e=>{var t=e.type,r=t===void 0?gj.type:t,n=e.points,i=n===void 0?[]:n,o=e.baseLine,u=e.layout,c=e.connectNulls,f=c===void 0?gj.connectNulls:c,h=nF(r,u),m=f?i.filter(Of):i;if(Array.isArray(o)){var g,v=i.map((N,E)=>hj(hj({},N),{},{base:o[E]}));u==="vertical"?g=Od().y(tu).x1(eu).x0(N=>N.base.x):g=Od().x(eu).y1(tu).y0(N=>N.base.y);var b=g.defined(pj).curve(h),j=f?v.filter(pj):v;return b(j)}var k;u==="vertical"&&Ae(o)?k=Od().y(tu).x1(eu).x0(o):Ae(o)?k=Od().x(eu).y1(tu).y0(o):k=sE().x(eu).y(tu);var S=k.defined(Of).curve(h);return S(m)},Zd=e=>{var t=e.className,r=e.points,n=e.path,i=e.pathRef,o=Zs();if((!r||!r.length)&&!n)return null;var u={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},c=r&&r.length?iF(u):n;return y.createElement("path",Yv({},xn(e),F0(e),{className:rt("recharts-curve",t),d:c===null?void 0:c,ref:i}))},aF=["x","y","top","left","width","height","className"];function Xv(){return Xv=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(i,"v").concat(n,"M").concat(o,",").concat(t,"h").concat(r),hF=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,i=n===void 0?0:n,o=e.top,u=o===void 0?0:o,c=e.left,f=c===void 0?0:c,h=e.width,m=h===void 0?0:h,g=e.height,v=g===void 0?0:g,b=e.className,j=cF(e,aF),k=oF({x:r,y:i,top:u,left:f,width:m,height:v},j);return!Ae(r)||!Ae(i)||!Ae(m)||!Ae(v)||!Ae(u)||!Ae(f)?null:y.createElement("path",Xv({},Jr(k),{className:rt("recharts-cross",b),d:fF(r,i,m,v,u,f)}))};function mF(e,t,r,n){var i=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-i:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-i,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var _f=1e-4,IA=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],TA=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),yj=(e,t)=>r=>{var n=IA(e,t);return TA(n,r)},pF=(e,t)=>r=>{var n=IA(e,t),i=[...n.map((o,u)=>o*u).slice(1),0];return TA(i,r)},gF=e=>{var t,r=e.split("(");if(r.length!==2||r[0]!=="cubic-bezier")return null;var n=(t=r[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(n==null||n.length!==4)return null;var i=n.map(o=>parseFloat(o));return[i[0],i[1],i[2],i[3]]},vF=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var i=yj(e,r),o=yj(t,n),u=pF(e,r),c=h=>h>1?1:h<0?0:h,f=h=>{for(var m=h>1?1:h,g=m,v=0;v<8;++v){var b=i(g)-m,j=u(g);if(Math.abs(b-m)<_f||j<_f)return o(g);g=c(g-b/j)}return o(g)};return f.isStepper=!1,f},xj=function(){return yF(...vF(...arguments))},xF=function(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,i=t.damping,o=i===void 0?8:i,u=t.dt,c=u===void 0?16.67:u,f=1,h=[0],m=0,g=0,v=1e4,b=0;b{var E,A,P;if(N<=0)return 0;if(N>=1)return f;var _=N*S,O=Math.floor(_),T=_-O;return((E=h[O])!==null&&E!==void 0?E:0)+(((A=h[O+1])!==null&&A!==void 0?A:0)-((P=h[O])!==null&&P!==void 0?P:0))*T}},bF=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return xj(e);case"spring":return xF();default:if(e.split("(")[0]==="cubic-bezier")return xj(e)}return typeof e=="function"?e:null},wF=(e,t,r)=>{var n,i=o=>{var u=t.tick(o);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(i,u);return}n=e.setTimeout(i,u)};return n=e.setTimeout(i,0),()=>{var o;return(o=n)===null||o===void 0?void 0:o()}},DA=y.createContext(wF);DA.Provider;function kF(e){var t=y.useContext(DA);return y.useMemo(()=>e??t,[e,t])}function jF(e,t,r){return(t=SF(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function SF(e){var t=NF(e,"string");return typeof t=="symbol"?t:t+""}function NF(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var bj="init",wj="pending",kj="active",EF="completed";function Ag(e){return Math.max(0,e)}class AF{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;jF(this,"state",bj),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=Ag(t.animationDuration),this.animationBegin=Ag(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(r=t.onAnimationStart)===null||r===void 0||r.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===bj)return this.state=wj,this.beginStartedTime=t,this.animationBegin;if(this.getState()===wj){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=kj,this.animationStartedTime=t,this.nextAnimationUpdate(0)):Ag(this.animationBegin-r)}if(this.getState()===kj){if(this.animationStartedTime==null)throw new Error;var n=t-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=EF}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}}class CF extends AF{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(ui(this.getFrom(),this.getTo(),this.getProgress()))}}class PF{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),i=null,o=u=>{u-n>=r?t(u):i=requestAnimationFrame(o)};return i=requestAnimationFrame(o),()=>{i!=null&&cancelAnimationFrame(i)}}}function OF(e,t){return TF(e)||IF(e,t)||MF(e,t)||_F()}function _F(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function MF(e,t){if(e){if(typeof e=="string")return jj(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?jj(e,t):void 0}}function jj(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},Sj=0,Cg=1;function RA(e){var t=rn(e,DF),r=t.animationId,n=t.isActive,i=t.canBegin,o=t.duration,u=t.easing,c=t.begin,f=t.onAnimationEnd,h=t.onAnimationStart,m=t.children,g=_A(),v=n==="auto"?!ec.isSsr&&!g:n,b=kF(t.animationController),j=y.useState(v?Sj:Cg),k=OF(j,2),S=k[0],N=k[1];return y.useEffect(()=>{v||N(Cg)},[v]),y.useEffect(()=>{var E=bF(u);if(!v||!i||E==null)return Xs;var A=new PF,P=new CF({animationId:r,easing:E,animationDuration:o,animationBegin:c,onAnimationStart:h,onAnimationEnd:f,from:Sj,to:Cg});return b(A,P,N)},[b,r,v,i,o,u,c,h,f]),m(Number(S))}function LA(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=y.useRef(ju(t)),n=y.useRef(e);return n.current!==e&&(r.current=ju(t),n.current=e),r.current}var RF=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),LF=(e,t,r)=>e.map(n=>"".concat(RF(n)," ").concat(t,"ms ").concat(r)).join(","),$F=["radius"],zF=["radius"],Nj,Ej,Aj,Cj,Pj,Oj,_j,Mj,Ij,Tj;function Dj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Rj(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var o=ca(r),u=ca(n),c=Math.min(Math.abs(o)/2,Math.abs(u)/2),f=u>=0?1:-1,h=o>=0?1:-1,m=u>=0&&o>=0||u<0&&o<0?1:0,g;if(c>0&&Array.isArray(i)){for(var v=[0,0,0,0],b=0,j=4;bc?c:S}g=Wt(Nj||(Nj=Pn(["M",",",""])),e,t+f*v[0]),v[0]>0&&(g+=Wt(Ej||(Ej=Pn(["A ",",",",0,0,",",",",",""])),v[0],v[0],m,e+h*v[0],t)),g+=Wt(Aj||(Aj=Pn(["L ",",",""])),e+r-h*v[1],t),v[1]>0&&(g+=Wt(Cj||(Cj=Pn(["A ",",",",0,0,",`,
+ */var rj;function a8(){if(rj)return Sg;rj=1;var e=Gs();function t(f,h){return f===h&&(f!==0||1/f===1/h)||f!==f&&h!==h}var r=typeof Object.is=="function"?Object.is:t,n=e.useSyncExternalStore,i=e.useRef,o=e.useEffect,u=e.useMemo,c=e.useDebugValue;return Sg.useSyncExternalStoreWithSelector=function(f,h,m,g,v){var b=i(null);if(b.current===null){var j={hasValue:!1,value:null};b.current=j}else j=b.current;b=u(function(){function S(_){if(!N){if(N=!0,E=_,_=g(_),v!==void 0&&j.hasValue){var O=j.value;if(v(O,_))return A=O}return A=_}if(O=A,r(E,_))return O;var T=g(_);return v!==void 0&&v(O,T)?(E=_,O):(E=_,A=T)}var N=!1,E,A,P=m===void 0?null:m;return[function(){return S(h())},P===null?void 0:function(){return S(P())}]},[h,m,g,v]);var k=n(f,b[0],b[1]);return o(function(){j.hasValue=!0,j.value=k},[k]),c(k),k},Sg}var nj;function o8(){return nj||(nj=1,jg.exports=a8()),jg.exports}o8();function s8(e){e()}function l8(){let e=null,t=null;return{clear(){e=null,t=null},notify(){s8(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){const r=[];let n=e;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0;const i=t={callback:r,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!n||e===null||(n=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var ij={notify(){},get:()=>[]};function u8(e,t){let r,n=ij,i=0,o=!1;function u(k){m();const S=n.subscribe(k);let N=!1;return()=>{N||(N=!0,S(),g())}}function c(){n.notify()}function f(){j.onStateChange&&j.onStateChange()}function h(){return o}function m(){i++,r||(r=e.subscribe(f),n=l8())}function g(){i--,r&&i===0&&(r(),r=void 0,n.clear(),n=ij)}function v(){o||(o=!0,m())}function b(){o&&(o=!1,g())}const j={addNestedSub:u,notifyNestedSubs:c,handleChangeWrapper:f,isSubscribed:h,trySubscribe:v,tryUnsubscribe:b,getListeners:()=>n};return j}var c8=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",d8=c8(),f8=()=>typeof navigator<"u"&&navigator.product==="ReactNative",h8=f8(),m8=()=>d8||h8?y.useLayoutEffect:y.useEffect,p8=m8();function aj(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function g8(e,t){if(aj(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let i=0;i{const f=u8(i);return{store:i,subscription:f,getServerState:n?()=>n:void 0}},[i,n]),u=y.useMemo(()=>i.getState(),[i]);p8(()=>{const{subscription:f}=o;return f.onStateChange=f.notifyNestedSubs,f.trySubscribe(),u!==i.getState()&&f.notifyNestedSubs(),()=>{f.tryUnsubscribe(),f.onStateChange=void 0}},[o,u]);const c=r||y8;return y.createElement(c.Provider,{value:o},t)}var b8=x8,w8=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function k8(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function zh(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(w8.has(n)){if(e[n]==null&&t[n]==null)continue;if(!g8(e[n],t[n]))return!1}else if(!k8(e[n],t[n]))return!1;return!0}function Qv(){return Qv=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?rs.separator:t,n=e.contentStyle,i=e.itemStyle,o=e.labelStyle,u=o===void 0?rs.labelStyle:o,c=e.payload,f=e.formatter,h=e.itemSorter,m=e.wrapperClassName,g=e.labelClassName,v=e.label,b=e.labelFormatter,j=e.accessibilityLayer,k=j===void 0?rs.accessibilityLayer:j,S=()=>{if(c&&c.length){var B={padding:0,margin:0},$=M8(c,h),z=$.map((Q,U)=>{if(!Q||Q.type==="none")return null;var ve=Q.formatter||f||_8,ue=Q.value,pe=Q.name,oe=ue,se=pe;if(ve){var X=ve(ue,pe,Q,U,c);if(Array.isArray(X)){var ne=E8(X,2);oe=ne[0],se=ne[1]}else if(X!=null)oe=X;else return null}var te=Xl(Xl({},rs.itemStyle),{},{color:Q.color||rs.itemStyle.color},i);return y.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(U),style:te},Bn(se)?y.createElement("span",{className:"recharts-tooltip-item-name"},se):null,Bn(se)?y.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,y.createElement("span",{className:"recharts-tooltip-item-value"},oe),y.createElement("span",{className:"recharts-tooltip-item-unit"},Q.unit||""))});return y.createElement("ul",{className:"recharts-tooltip-item-list",style:B},z)}return null},N=Xl(Xl({},rs.contentStyle),n),E=Xl({margin:0},u),A=!Qt(v),P=A?v:"",_=rt("recharts-default-tooltip",m),O=rt("recharts-tooltip-label",g);A&&b&&c!==void 0&&c!==null&&(P=b(v,c));var T=k?{role:"status","aria-live":"assertive"}:{};return y.createElement("div",Qv({className:_,style:N},T),y.createElement("p",{className:O,style:E},y.isValidElement(P)?P:"".concat(P)),S())},Zl="recharts-tooltip-wrapper",T8={visibility:"hidden"};function D8(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return rt(Zl,{["".concat(Zl,"-right")]:Ae(r)&&t&&Ae(t.x)&&r>=t.x,["".concat(Zl,"-left")]:Ae(r)&&t&&Ae(t.x)&&r=t.y,["".concat(Zl,"-top")]:Ae(n)&&t&&Ae(t.y)&&n0?i:0),g=r[n]+i;if(t[n])return u[n]?m:g;var v=f[n];if(v==null)return 0;if(u[n]){var b=m,j=v;return bS?Math.max(m,v):Math.max(g,v)}function R8(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function L8(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,i=e.offsetLeft,o=e.position,u=e.reverseDirection,c=e.tooltipBox,f=e.useTranslate3d,h=e.viewBox,m,g,v;return c.height>0&&c.width>0&&r?(g=lj({allowEscapeViewBox:t,coordinate:r,key:"x",offset:i,position:o,reverseDirection:u,tooltipDimension:c.width,viewBox:h,viewBoxDimension:h.width}),v=lj({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:o,reverseDirection:u,tooltipDimension:c.height,viewBox:h,viewBoxDimension:h.height}),m=R8({translateX:g,translateY:v,useTranslate3d:f})):m=T8,{cssProperties:m,cssClasses:D8({translateX:g,translateY:v,coordinate:r})}}var $8=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Ju={isSsr:$8()};function z8(e,t){return H8(e)||U8(e,t)||B8(e,t)||F8()}function F8(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function B8(e,t){if(e){if(typeof e=="string")return uj(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?uj(e,t):void 0}}function uj(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rJu.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=z8(e,2),r=t[0],n=t[1];return y.useEffect(()=>{if(window.matchMedia){var i=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>{n(i.matches)};return i.addEventListener("change",o),()=>{i.removeEventListener("change",o)}}},[]),r}function cj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ns(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),h=V8(f,2),m=h[0],g=h[1];y.useEffect(()=>{var N=E=>{if(E.key==="Escape"){var A,P,_,O;g({dismissed:!0,dismissedAtCoordinate:{x:(A=(P=e.coordinate)===null||P===void 0?void 0:P.x)!==null&&A!==void 0?A:0,y:(_=(O=e.coordinate)===null||O===void 0?void 0:O.y)!==null&&_!==void 0?_:0}})}};return document.addEventListener("keydown",N),()=>{document.removeEventListener("keydown",N)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),m.dismissed&&(((n=(i=e.coordinate)===null||i===void 0?void 0:i.x)!==null&&n!==void 0?n:0)!==m.dismissedAtCoordinate.x||((o=(u=e.coordinate)===null||u===void 0?void 0:u.y)!==null&&o!==void 0?o:0)!==m.dismissedAtCoordinate.y)&&g(ns(ns({},m),{},{dismissed:!1}));var v=L8({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:{height:e.lastBoundingBox.height,width:e.lastBoundingBox.width},useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),b=v.cssClasses,j=v.cssProperties,k=e.hasPortalFromProps?{}:ns(ns({transition:Z8({prefersReducedMotion:c,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},j),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),S=ns(ns({},k),{},{visibility:!m.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return y.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:b,style:S,ref:e.innerRef},e.children)}var eF=y.memo(J8),MA=()=>{var e;return(e=Me(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};function Yv(){return Yv=Object.assign?Object.assign.bind():function(e){for(var t=1;tWe(e.x)&&We(e.y),pj=e=>e.base!=null&&Of(e.base)&&Of(e),Jl=e=>e.x,eu=e=>e.y,iF=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(z0(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=mj["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return mj[r]||yh},gj={connectNulls:!1,type:"linear"},aF=e=>{var t=e.type,r=t===void 0?gj.type:t,n=e.points,i=n===void 0?[]:n,o=e.baseLine,u=e.layout,c=e.connectNulls,f=c===void 0?gj.connectNulls:c,h=iF(r,u),m=f?i.filter(Of):i;if(Array.isArray(o)){var g,v=i.map((N,E)=>hj(hj({},N),{},{base:o[E]}));u==="vertical"?g=Pd().y(eu).x1(Jl).x0(N=>N.base.x):g=Pd().x(Jl).y1(eu).y0(N=>N.base.y);var b=g.defined(pj).curve(h),j=f?v.filter(pj):v;return b(j)}var k;u==="vertical"&&Ae(o)?k=Pd().y(eu).x1(Jl).x0(o):Ae(o)?k=Pd().x(Jl).y1(eu).y0(o):k=sE().x(Jl).y(eu);var S=k.defined(Of).curve(h);return S(m)},Xd=e=>{var t=e.className,r=e.points,n=e.path,i=e.pathRef,o=Xs();if((!r||!r.length)&&!n)return null;var u={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},c=r&&r.length?aF(u):n;return y.createElement("path",Yv({},xn(e),F0(e),{className:rt("recharts-curve",t),d:c===null?void 0:c,ref:i}))},oF=["x","y","top","left","width","height","className"];function Xv(){return Xv=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(i,"v").concat(n,"M").concat(o,",").concat(t,"h").concat(r),mF=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,i=n===void 0?0:n,o=e.top,u=o===void 0?0:o,c=e.left,f=c===void 0?0:c,h=e.width,m=h===void 0?0:h,g=e.height,v=g===void 0?0:g,b=e.className,j=dF(e,oF),k=sF({x:r,y:i,top:u,left:f,width:m,height:v},j);return!Ae(r)||!Ae(i)||!Ae(m)||!Ae(v)||!Ae(u)||!Ae(f)?null:y.createElement("path",Xv({},en(k),{className:rt("recharts-cross",b),d:hF(r,i,m,v,u,f)}))};function pF(e,t,r,n){var i=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-i:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-i,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var _f=1e-4,IA=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],TA=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),yj=(e,t)=>r=>{var n=IA(e,t);return TA(n,r)},gF=(e,t)=>r=>{var n=IA(e,t),i=[...n.map((o,u)=>o*u).slice(1),0];return TA(i,r)},vF=e=>{var t,r=e.split("(");if(r.length!==2||r[0]!=="cubic-bezier")return null;var n=(t=r[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(n==null||n.length!==4)return null;var i=n.map(o=>parseFloat(o));return[i[0],i[1],i[2],i[3]]},yF=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var i=yj(e,r),o=yj(t,n),u=gF(e,r),c=h=>h>1?1:h<0?0:h,f=h=>{for(var m=h>1?1:h,g=m,v=0;v<8;++v){var b=i(g)-m,j=u(g);if(Math.abs(b-m)<_f||j<_f)return o(g);g=c(g-b/j)}return o(g)};return f.isStepper=!1,f},xj=function(){return xF(...yF(...arguments))},bF=function(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,i=t.damping,o=i===void 0?8:i,u=t.dt,c=u===void 0?16.67:u,f=1,h=[0],m=0,g=0,v=1e4,b=0;b{var E,A,P;if(N<=0)return 0;if(N>=1)return f;var _=N*S,O=Math.floor(_),T=_-O;return((E=h[O])!==null&&E!==void 0?E:0)+(((A=h[O+1])!==null&&A!==void 0?A:0)-((P=h[O])!==null&&P!==void 0?P:0))*T}},wF=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return xj(e);case"spring":return bF();default:if(e.split("(")[0]==="cubic-bezier")return xj(e)}return typeof e=="function"?e:null},kF=(e,t,r)=>{var n,i=o=>{var u=t.tick(o);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(i,u);return}n=e.setTimeout(i,u)};return n=e.setTimeout(i,0),()=>{var o;return(o=n)===null||o===void 0?void 0:o()}},DA=y.createContext(kF);DA.Provider;function jF(e){var t=y.useContext(DA);return y.useMemo(()=>e??t,[e,t])}function SF(e,t,r){return(t=NF(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function NF(e){var t=EF(e,"string");return typeof t=="symbol"?t:t+""}function EF(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var bj="init",wj="pending",kj="active",AF="completed";function Ag(e){return Math.max(0,e)}class CF{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;SF(this,"state",bj),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=Ag(t.animationDuration),this.animationBegin=Ag(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(r=t.onAnimationStart)===null||r===void 0||r.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===bj)return this.state=wj,this.beginStartedTime=t,this.animationBegin;if(this.getState()===wj){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=kj,this.animationStartedTime=t,this.nextAnimationUpdate(0)):Ag(this.animationBegin-r)}if(this.getState()===kj){if(this.animationStartedTime==null)throw new Error;var n=t-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=AF}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}}class PF extends CF{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(ui(this.getFrom(),this.getTo(),this.getProgress()))}}class OF{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),i=null,o=u=>{u-n>=r?t(u):i=requestAnimationFrame(o)};return i=requestAnimationFrame(o),()=>{i!=null&&cancelAnimationFrame(i)}}}function _F(e,t){return DF(e)||TF(e,t)||IF(e,t)||MF()}function MF(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function IF(e,t){if(e){if(typeof e=="string")return jj(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?jj(e,t):void 0}}function jj(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},Sj=0,Cg=1;function RA(e){var t=nn(e,RF),r=t.animationId,n=t.isActive,i=t.canBegin,o=t.duration,u=t.easing,c=t.begin,f=t.onAnimationEnd,h=t.onAnimationStart,m=t.children,g=_A(),v=n==="auto"?!Ju.isSsr&&!g:n,b=jF(t.animationController),j=y.useState(v?Sj:Cg),k=_F(j,2),S=k[0],N=k[1];return y.useEffect(()=>{v||N(Cg)},[v]),y.useEffect(()=>{var E=wF(u);if(!v||!i||E==null)return Ys;var A=new OF,P=new PF({animationId:r,easing:E,animationDuration:o,animationBegin:c,onAnimationStart:h,onAnimationEnd:f,from:Sj,to:Cg});return b(A,P,N)},[b,r,v,i,o,u,c,h,f]),m(Number(S))}function LA(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=y.useRef(ku(t)),n=y.useRef(e);return n.current!==e&&(r.current=ku(t),n.current=e),r.current}var LF=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),$F=(e,t,r)=>e.map(n=>"".concat(LF(n)," ").concat(t,"ms ").concat(r)).join(","),zF=["radius"],FF=["radius"],Nj,Ej,Aj,Cj,Pj,Oj,_j,Mj,Ij,Tj;function Dj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Rj(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var o=ca(r),u=ca(n),c=Math.min(Math.abs(o)/2,Math.abs(u)/2),f=u>=0?1:-1,h=o>=0?1:-1,m=u>=0&&o>=0||u<0&&o<0?1:0,g;if(c>0&&Array.isArray(i)){for(var v=[0,0,0,0],b=0,j=4;bc?c:S}g=Wt(Nj||(Nj=Pn(["M",",",""])),e,t+f*v[0]),v[0]>0&&(g+=Wt(Ej||(Ej=Pn(["A ",",",",0,0,",",",",",""])),v[0],v[0],m,e+h*v[0],t)),g+=Wt(Aj||(Aj=Pn(["L ",",",""])),e+r-h*v[1],t),v[1]>0&&(g+=Wt(Cj||(Cj=Pn(["A ",",",",0,0,",`,
`,",",""])),v[1],v[1],m,e+r,t+f*v[1])),g+=Wt(Pj||(Pj=Pn(["L ",",",""])),e+r,t+n-f*v[2]),v[2]>0&&(g+=Wt(Oj||(Oj=Pn(["A ",",",",0,0,",`,
`,",",""])),v[2],v[2],m,e+r-h*v[2],t+n)),g+=Wt(_j||(_j=Pn(["L ",",",""])),e+h*v[3],t+n),v[3]>0&&(g+=Wt(Mj||(Mj=Pn(["A ",",",",0,0,",`,
`,",",""])),v[3],v[3],m,e,t+n-f*v[3])),g+="Z"}else if(c>0&&i===+i&&i>0){var N=Math.min(c,i);g=Wt(Ij||(Ij=Pn(["M ",",",`
@@ -622,39 +627,39 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
L `,",",`
A `,",",",0,0,",",",",",`
L `,",",`
- A `,",",",0,0,",",",","," Z"])),e,t+f*N,N,N,m,e+h*N,t,e+r-h*N,t,N,N,m,e+r,t+f*N,e+r,t+n-f*N,N,N,m,e+r-h*N,t+n,e+h*N,t+n,N,N,m,e,t+n-f*N)}else g=Wt(Tj||(Tj=Pn(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return g},Fj={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},QF=e=>{var t=rn(e,Fj),r=y.useRef(null),n=y.useState(-1),i=WF(n,2),o=i[0],u=i[1];y.useEffect(()=>{if(r.current&&r.current.getTotalLength)try{var X=r.current.getTotalLength();X&&u(X)}catch{}},[]);var c=t.x,f=t.y,h=t.width,m=t.height,g=t.radius,v=t.className,b=t.animationEasing,j=t.animationDuration,k=t.animationBegin,S=t.isAnimationActive,N=t.isUpdateAnimationActive,E=y.useRef(h),A=y.useRef(m),P=y.useRef(c),_=y.useRef(f),O=y.useMemo(()=>({x:c,y:f,width:h,height:m,radius:g}),[c,f,h,m,g]),T=LA(O,"rectangle-");if(c!==+c||f!==+f||h!==+h||m!==+m||h===0||m===0)return null;var B=rt("recharts-rectangle",v);if(!N){var $=Jr(t);$.radius;var z=Lj($,$F);return y.createElement("path",Mf({},z,{x:ca(c),y:ca(f),width:ca(h),height:ca(m),radius:typeof g=="number"?g:void 0,className:B,d:zj(c,f,h,m,g)}))}var Q=E.current,U=A.current,ve=P.current,ue=_.current,pe="0px ".concat(o===-1?1:o,"px"),oe="".concat(o,"px ").concat(o,"px"),se=LF(["strokeDasharray"],j,typeof b=="string"?b:Fj.animationEasing);return y.createElement(RA,{animationId:T,key:T,canBegin:o>0,duration:j,easing:b,isActive:N,begin:k},X=>{var ne=ui(Q,h,X),te=ui(U,m,X),I=ui(ve,c,X),M=ui(ue,f,X);r.current&&(E.current=ne,A.current=te,P.current=I,_.current=M);var H;S?X>0?H={transition:se,strokeDasharray:oe}:H={strokeDasharray:pe}:H={strokeDasharray:oe};var ie=Jr(t);ie.radius;var J=Lj(ie,zF);return y.createElement("path",Mf({},J,{radius:typeof g=="number"?g:void 0,className:B,d:zj(I,M,ne,te,g),ref:r,style:Rj(Rj({},H),t.style)}))})};function Bj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Uj(e){for(var t=1;te*180/Math.PI,Vt=(e,t,r,n)=>({x:e+Math.cos(-If*n)*r,y:t+Math.sin(-If*n)*r}),eB=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},tB=(e,t)=>{var r=e.x,n=e.y,i=t.x,o=t.y;return Math.sqrt((r-i)**2+(n-o)**2)},rB=(e,t)=>{var r=e.x,n=e.y,i=t.cx,o=t.cy,u=tB({x:r,y:n},{x:i,y:o});if(u<=0)return{radius:u,angle:0};var c=(r-i)/u,f=Math.acos(c);return n>o&&(f=2*Math.PI-f),{radius:u,angle:JF(f),angleInRadian:f}},nB=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),i=Math.floor(r/360),o=Math.min(n,i);return{startAngle:t-o*360,endAngle:r-o*360}},iB=(e,t)=>{var r=t.startAngle,n=t.endAngle,i=Math.floor(r/360),o=Math.floor(n/360),u=Math.min(i,o);return e+u*360},aB=(e,t)=>{var r=e.relativeX,n=e.relativeY,i=rB({x:r,y:n},t),o=i.radius,u=i.angle,c=t.innerRadius,f=t.outerRadius;if(of||o===0)return null;var h=nB(t),m=h.startAngle,g=h.endAngle,v=u,b;if(m<=g){for(;v>g;)v-=360;for(;v=m&&v<=g}else{for(;v>m;)v-=360;for(;v=g&&v<=m}return b?Uj(Uj({},t),{},{radius:o,angle:iB(v,t)}):null};function $A(e){var t=e.cx,r=e.cy,n=e.radius,i=e.startAngle,o=e.endAngle,u=Vt(t,r,n,i),c=Vt(t,r,n,o);return{points:[u,c],cx:t,cy:r,radius:n,startAngle:i,endAngle:o}}var Hj,Wj,Kj,Gj,Vj,qj,Qj;function Zv(){return Zv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=Yr(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},$d=e=>{var t=e.cx,r=e.cy,n=e.radius,i=e.angle,o=e.sign,u=e.isExternal,c=e.cornerRadius,f=e.cornerIsExternal,h=c*(u?1:-1)+n,m=Math.asin(c/h)/If,g=f?i:i+o*m,v=Vt(t,r,h,g),b=Vt(t,r,n,g),j=f?i-o*m:i,k=Vt(t,r,h*Math.cos(m*If),j);return{center:v,circleTangency:b,lineTangency:k,theta:m}},zA=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,o=e.startAngle,u=e.endAngle,c=oB(o,u),f=o+c,h=Vt(t,r,i,o),m=Vt(t,r,i,f),g=Wt(Hj||(Hj=qa(["M ",",",`
+ A `,",",",0,0,",",",","," Z"])),e,t+f*N,N,N,m,e+h*N,t,e+r-h*N,t,N,N,m,e+r,t+f*N,e+r,t+n-f*N,N,N,m,e+r-h*N,t+n,e+h*N,t+n,N,N,m,e,t+n-f*N)}else g=Wt(Tj||(Tj=Pn(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return g},Fj={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},YF=e=>{var t=nn(e,Fj),r=y.useRef(null),n=y.useState(-1),i=KF(n,2),o=i[0],u=i[1];y.useEffect(()=>{if(r.current&&r.current.getTotalLength)try{var X=r.current.getTotalLength();X&&u(X)}catch{}},[]);var c=t.x,f=t.y,h=t.width,m=t.height,g=t.radius,v=t.className,b=t.animationEasing,j=t.animationDuration,k=t.animationBegin,S=t.isAnimationActive,N=t.isUpdateAnimationActive,E=y.useRef(h),A=y.useRef(m),P=y.useRef(c),_=y.useRef(f),O=y.useMemo(()=>({x:c,y:f,width:h,height:m,radius:g}),[c,f,h,m,g]),T=LA(O,"rectangle-");if(c!==+c||f!==+f||h!==+h||m!==+m||h===0||m===0)return null;var B=rt("recharts-rectangle",v);if(!N){var $=en(t);$.radius;var z=Lj($,zF);return y.createElement("path",Mf({},z,{x:ca(c),y:ca(f),width:ca(h),height:ca(m),radius:typeof g=="number"?g:void 0,className:B,d:zj(c,f,h,m,g)}))}var Q=E.current,U=A.current,ve=P.current,ue=_.current,pe="0px ".concat(o===-1?1:o,"px"),oe="".concat(o,"px ").concat(o,"px"),se=$F(["strokeDasharray"],j,typeof b=="string"?b:Fj.animationEasing);return y.createElement(RA,{animationId:T,key:T,canBegin:o>0,duration:j,easing:b,isActive:N,begin:k},X=>{var ne=ui(Q,h,X),te=ui(U,m,X),I=ui(ve,c,X),M=ui(ue,f,X);r.current&&(E.current=ne,A.current=te,P.current=I,_.current=M);var H;S?X>0?H={transition:se,strokeDasharray:oe}:H={strokeDasharray:pe}:H={strokeDasharray:oe};var ie=en(t);ie.radius;var J=Lj(ie,FF);return y.createElement("path",Mf({},J,{radius:typeof g=="number"?g:void 0,className:B,d:zj(I,M,ne,te,g),ref:r,style:Rj(Rj({},H),t.style)}))})};function Bj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Uj(e){for(var t=1;te*180/Math.PI,Vt=(e,t,r,n)=>({x:e+Math.cos(-If*n)*r,y:t+Math.sin(-If*n)*r}),tB=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},rB=(e,t)=>{var r=e.x,n=e.y,i=t.x,o=t.y;return Math.sqrt((r-i)**2+(n-o)**2)},nB=(e,t)=>{var r=e.x,n=e.y,i=t.cx,o=t.cy,u=rB({x:r,y:n},{x:i,y:o});if(u<=0)return{radius:u,angle:0};var c=(r-i)/u,f=Math.acos(c);return n>o&&(f=2*Math.PI-f),{radius:u,angle:eB(f),angleInRadian:f}},iB=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),i=Math.floor(r/360),o=Math.min(n,i);return{startAngle:t-o*360,endAngle:r-o*360}},aB=(e,t)=>{var r=t.startAngle,n=t.endAngle,i=Math.floor(r/360),o=Math.floor(n/360),u=Math.min(i,o);return e+u*360},oB=(e,t)=>{var r=e.relativeX,n=e.relativeY,i=nB({x:r,y:n},t),o=i.radius,u=i.angle,c=t.innerRadius,f=t.outerRadius;if(of||o===0)return null;var h=iB(t),m=h.startAngle,g=h.endAngle,v=u,b;if(m<=g){for(;v>g;)v-=360;for(;v=m&&v<=g}else{for(;v>m;)v-=360;for(;v=g&&v<=m}return b?Uj(Uj({},t),{},{radius:o,angle:aB(v,t)}):null};function $A(e){var t=e.cx,r=e.cy,n=e.radius,i=e.startAngle,o=e.endAngle,u=Vt(t,r,n,i),c=Vt(t,r,n,o);return{points:[u,c],cx:t,cy:r,radius:n,startAngle:i,endAngle:o}}var Hj,Wj,Kj,Gj,Vj,qj,Qj;function Zv(){return Zv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=Yr(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},Ld=e=>{var t=e.cx,r=e.cy,n=e.radius,i=e.angle,o=e.sign,u=e.isExternal,c=e.cornerRadius,f=e.cornerIsExternal,h=c*(u?1:-1)+n,m=Math.asin(c/h)/If,g=f?i:i+o*m,v=Vt(t,r,h,g),b=Vt(t,r,n,g),j=f?i-o*m:i,k=Vt(t,r,h*Math.cos(m*If),j);return{center:v,circleTangency:b,lineTangency:k,theta:m}},zA=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,o=e.startAngle,u=e.endAngle,c=sB(o,u),f=o+c,h=Vt(t,r,i,o),m=Vt(t,r,i,f),g=Wt(Hj||(Hj=qa(["M ",",",`
A `,",",`,0,
`,",",`,
`,",",`
`])),h.x,h.y,i,i,+(Math.abs(c)>180),+(o>f),m.x,m.y);if(n>0){var v=Vt(t,r,n,o),b=Vt(t,r,n,f);g+=Wt(Wj||(Wj=qa(["L ",",",`
A `,",",`,0,
`,",",`,
- `,","," Z"])),b.x,b.y,n,n,+(Math.abs(c)>180),+(o<=f),v.x,v.y)}else g+=Wt(Kj||(Kj=qa(["L ",","," Z"])),t,r);return g},sB=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,o=e.cornerRadius,u=e.forceCornerRadius,c=e.cornerIsExternal,f=e.startAngle,h=e.endAngle,m=Yr(h-f),g=$d({cx:t,cy:r,radius:i,angle:f,sign:m,cornerRadius:o,cornerIsExternal:c}),v=g.circleTangency,b=g.lineTangency,j=g.theta,k=$d({cx:t,cy:r,radius:i,angle:h,sign:-m,cornerRadius:o,cornerIsExternal:c}),S=k.circleTangency,N=k.lineTangency,E=k.theta,A=c?Math.abs(f-h):Math.abs(f-h)-j-E;if(A<0)return u?Wt(Gj||(Gj=qa(["M ",",",`
+ `,","," Z"])),b.x,b.y,n,n,+(Math.abs(c)>180),+(o<=f),v.x,v.y)}else g+=Wt(Kj||(Kj=qa(["L ",","," Z"])),t,r);return g},lB=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,o=e.cornerRadius,u=e.forceCornerRadius,c=e.cornerIsExternal,f=e.startAngle,h=e.endAngle,m=Yr(h-f),g=Ld({cx:t,cy:r,radius:i,angle:f,sign:m,cornerRadius:o,cornerIsExternal:c}),v=g.circleTangency,b=g.lineTangency,j=g.theta,k=Ld({cx:t,cy:r,radius:i,angle:h,sign:-m,cornerRadius:o,cornerIsExternal:c}),S=k.circleTangency,N=k.lineTangency,E=k.theta,A=c?Math.abs(f-h):Math.abs(f-h)-j-E;if(A<0)return u?Wt(Gj||(Gj=qa(["M ",",",`
a`,",",",0,0,1,",`,0
a`,",",",0,0,1,",`,0
`])),b.x,b.y,o,o,o*2,o,o,-o*2):zA({cx:t,cy:r,innerRadius:n,outerRadius:i,startAngle:f,endAngle:h});var P=Wt(Vj||(Vj=qa(["M ",",",`
A`,",",",0,0,",",",",",`
A`,",",",0,",",",",",",",`
A`,",",",0,0,",",",",",`
- `])),b.x,b.y,o,o,+(m<0),v.x,v.y,i,i,+(A>180),+(m<0),S.x,S.y,o,o,+(m<0),N.x,N.y);if(n>0){var _=$d({cx:t,cy:r,radius:n,angle:f,sign:m,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),O=_.circleTangency,T=_.lineTangency,B=_.theta,$=$d({cx:t,cy:r,radius:n,angle:h,sign:-m,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),z=$.circleTangency,Q=$.lineTangency,U=$.theta,ve=c?Math.abs(f-h):Math.abs(f-h)-B-U;if(ve<0&&o===0)return"".concat(P,"L").concat(t,",").concat(r,"Z");P+=Wt(qj||(qj=qa(["L",",",`
+ `])),b.x,b.y,o,o,+(m<0),v.x,v.y,i,i,+(A>180),+(m<0),S.x,S.y,o,o,+(m<0),N.x,N.y);if(n>0){var _=Ld({cx:t,cy:r,radius:n,angle:f,sign:m,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),O=_.circleTangency,T=_.lineTangency,B=_.theta,$=Ld({cx:t,cy:r,radius:n,angle:h,sign:-m,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),z=$.circleTangency,Q=$.lineTangency,U=$.theta,ve=c?Math.abs(f-h):Math.abs(f-h)-B-U;if(ve<0&&o===0)return"".concat(P,"L").concat(t,",").concat(r,"Z");P+=Wt(qj||(qj=qa(["L",",",`
A`,",",",0,0,",",",",",`
A`,",",",0,",",",",",",",`
- A`,",",",0,0,",",",",","Z"])),Q.x,Q.y,o,o,+(m<0),z.x,z.y,n,n,+(ve>180),+(m>0),O.x,O.y,o,o,+(m<0),T.x,T.y)}else P+=Wt(Qj||(Qj=qa(["L",",","Z"])),t,r);return P},lB={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},uB=e=>{var t=rn(e,lB),r=t.cx,n=t.cy,i=t.innerRadius,o=t.outerRadius,u=t.cornerRadius,c=t.forceCornerRadius,f=t.cornerIsExternal,h=t.startAngle,m=t.endAngle,g=t.className;if(o0&&Math.abs(h-m)<360?k=sB({cx:r,cy:n,innerRadius:i,outerRadius:o,cornerRadius:Math.min(j,b/2),forceCornerRadius:c,cornerIsExternal:f,startAngle:h,endAngle:m}):k=zA({cx:r,cy:n,innerRadius:i,outerRadius:o,startAngle:h,endAngle:m}),y.createElement("path",Zv({},Jr(t),{className:v,d:k}))};function cB(e,t,r){if(e==="horizontal")return[{x:t.x,y:r.top},{x:t.x,y:r.top+r.height}];if(e==="vertical")return[{x:r.left,y:t.y},{x:r.left+r.width,y:t.y}];if(bE(t)){if(e==="centric"){var n=t.cx,i=t.cy,o=t.innerRadius,u=t.outerRadius,c=t.angle,f=Vt(n,i,o,c),h=Vt(n,i,u,c);return[{x:f.x,y:f.y},{x:h.x,y:h.y}]}return $A(t)}}function dB(e){return TE(e)?NaN:Number(e)}function Pg(e){return e?(e=dB(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function FA(e,t,r){r&&typeof r!="number"&&Mv(e,t,r)&&(t=r=void 0),e=Pg(e),t===void 0?(t=e,e=0):t=Pg(t),r=r===void 0?ee.chartData,ey=q([kn],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),Fh=(e,t,r,n)=>n?ey(e):kn(e),fB=(e,t,r)=>r?ey(e):kn(e),hB=q([Fh],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});q([ey],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});var mB=q([kn],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function ty(e,t){return yB(e)||vB(e,t)||gB(e,t)||pB()}function pB(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gB(e,t){if(e){if(typeof e=="string")return Yj(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Yj(e,t):void 0}}function Yj(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.e^o.s<0?1:-1;for(n=o.d.length,i=e.d.length,t=0,r=ne.d[t]^o.s<0?1:-1;return n===i?0:n>i^o.s<0?1:-1};je.decimalPlaces=je.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*lt;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};je.dividedBy=je.div=function(e){return hi(this,new this.constructor(e))};je.dividedToIntegerBy=je.idiv=function(e){var t=this,r=t.constructor;return et(hi(t,new r(e),0,1),r.precision)};je.equals=je.eq=function(e){return!this.cmp(e)};je.exponent=function(){return St(this)};je.greaterThan=je.gt=function(e){return this.cmp(e)>0};je.greaterThanOrEqualTo=je.gte=function(e){return this.cmp(e)>=0};je.isInteger=je.isint=function(){return this.e>this.d.length-2};je.isNegative=je.isneg=function(){return this.s<0};je.isPositive=je.ispos=function(){return this.s>0};je.isZero=function(){return this.s===0};je.lessThan=je.lt=function(e){return this.cmp(e)<0};je.lessThanOrEqualTo=je.lte=function(e){return this.cmp(e)<1};je.logarithm=je.log=function(e){var t,r=this,n=r.constructor,i=n.precision,o=i+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(Rr))throw Error(tn+"NaN");if(r.s<1)throw Error(tn+(r.s?"NaN":"-Infinity"));return r.eq(Rr)?new n(0):(dt=!1,t=hi(Ou(r,o),Ou(e,o),o),dt=!0,et(t,i))};je.minus=je.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?KA(t,e):HA(t,(e.s=-e.s,e))};je.modulo=je.mod=function(e){var t,r=this,n=r.constructor,i=n.precision;if(e=new n(e),!e.s)throw Error(tn+"NaN");return r.s?(dt=!1,t=hi(r,e,0,1).times(e),dt=!0,r.minus(t)):et(new n(r),i)};je.naturalExponential=je.exp=function(){return WA(this)};je.naturalLogarithm=je.ln=function(){return Ou(this)};je.negated=je.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};je.plus=je.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?HA(t,e):KA(t,(e.s=-e.s,e))};je.precision=je.sd=function(e){var t,r,n,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(uo+e);if(t=St(i)+1,n=i.d.length-1,r=n*lt+1,n=i.d[n],n){for(;n%10==0;n/=10)r--;for(n=i.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};je.squareRoot=je.sqrt=function(){var e,t,r,n,i,o,u,c=this,f=c.constructor;if(c.s<1){if(!c.s)return new f(0);throw Error(tn+"NaN")}for(e=St(c),dt=!1,i=Math.sqrt(+c),i==0||i==1/0?(t=Ln(c.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=el((e+1)/2)-(e<0||e%2),i==1/0?t="5e"+e:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new f(t)):n=new f(i.toString()),r=f.precision,i=u=r+3;;)if(o=n,n=o.plus(hi(c,o,u+2)).times(.5),Ln(o.d).slice(0,u)===(t=Ln(n.d)).slice(0,u)){if(t=t.slice(u-3,u+1),i==u&&t=="4999"){if(et(o,r+1,0),o.times(o).eq(c)){n=o;break}}else if(t!="9999")break;u+=4}return dt=!0,et(n,r)};je.times=je.mul=function(e){var t,r,n,i,o,u,c,f,h,m=this,g=m.constructor,v=m.d,b=(e=new g(e)).d;if(!m.s||!e.s)return new g(0);for(e.s*=m.s,r=m.e+e.e,f=v.length,h=b.length,f=0;){for(t=0,i=f+n;i>n;)c=o[i]+b[n]*v[i-n-1]+t,o[i--]=c%Rt|0,t=c/Rt|0;o[i]=(o[i]+t)%Rt|0}for(;!o[--u];)o.pop();return t?++r:o.shift(),e.d=o,e.e=r,dt?et(e,g.precision):e};je.toDecimalPlaces=je.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(Hn(e,0,Js),t===void 0?t=n.rounding:Hn(t,0,8),et(r,e+St(r)+1,t))};je.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=yo(n,!0):(Hn(e,0,Js),t===void 0?t=i.rounding:Hn(t,0,8),n=et(new i(n),e+1,t),r=yo(n,!0,e+1)),r};je.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?yo(i):(Hn(e,0,Js),t===void 0?t=o.rounding:Hn(t,0,8),n=et(new o(i),e+St(i)+1,t),r=yo(n.abs(),!1,e+St(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};je.toInteger=je.toint=function(){var e=this,t=e.constructor;return et(new t(e),St(e)+1,t.rounding)};je.toNumber=function(){return+this};je.toPower=je.pow=function(e){var t,r,n,i,o,u,c=this,f=c.constructor,h=12,m=+(e=new f(e));if(!e.s)return new f(Rr);if(c=new f(c),!c.s){if(e.s<1)throw Error(tn+"Infinity");return c}if(c.eq(Rr))return c;if(n=f.precision,e.eq(Rr))return et(c,n);if(t=e.e,r=e.d.length-1,u=t>=r,o=c.s,u){if((r=m<0?-m:m)<=UA){for(i=new f(Rr),t=Math.ceil(n/lt+4),dt=!1;r%2&&(i=i.times(c),Jj(i.d,t)),r=el(r/2),r!==0;)c=c.times(c),Jj(c.d,t);return dt=!0,e.s<0?new f(Rr).div(i):et(i,n)}}else if(o<0)throw Error(tn+"NaN");return o=o<0&&e.d[Math.max(t,r)]&1?-1:1,c.s=1,dt=!1,i=e.times(Ou(c,n+h)),dt=!0,i=WA(i),i.s=o,i};je.toPrecision=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?(r=St(i),n=yo(i,r<=o.toExpNeg||r>=o.toExpPos)):(Hn(e,1,Js),t===void 0?t=o.rounding:Hn(t,0,8),i=et(new o(i),e,t),r=St(i),n=yo(i,e<=r||r<=o.toExpNeg,e)),n};je.toSignificantDigits=je.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(Hn(e,1,Js),t===void 0?t=n.rounding:Hn(t,0,8)),et(new n(r),e,t)};je.toString=je.valueOf=je.val=je.toJSON=je[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=St(e),r=e.constructor;return yo(e,t<=r.toExpNeg||t>=r.toExpPos)};function HA(e,t){var r,n,i,o,u,c,f,h,m=e.constructor,g=m.precision;if(!e.s||!t.s)return t.s||(t=new m(e)),dt?et(t,g):t;if(f=e.d,h=t.d,u=e.e,i=t.e,f=f.slice(),o=u-i,o){for(o<0?(n=f,o=-o,c=h.length):(n=h,i=u,c=f.length),u=Math.ceil(g/lt),c=u>c?u+1:c+1,o>c&&(o=c,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for(c=f.length,o=h.length,c-o<0&&(o=c,n=h,h=f,f=n),r=0;o;)r=(f[--o]=f[o]+h[o]+r)/Rt|0,f[o]%=Rt;for(r&&(f.unshift(r),++i),c=f.length;f[--c]==0;)f.pop();return t.d=f,t.e=i,dt?et(t,g):t}function Hn(e,t,r){if(e!==~~e||er)throw Error(uo+e)}function Ln(e){var t,r,n,i=e.length-1,o="",u=e[0];if(i>0){for(o+=u,t=1;tu?1:-1;else for(c=f=0;ci[c]?1:-1;break}return f}function r(n,i,o){for(var u=0;o--;)n[o]-=u,u=n[o]1;)n.shift()}return function(n,i,o,u){var c,f,h,m,g,v,b,j,k,S,N,E,A,P,_,O,T,B,$=n.constructor,z=n.s==i.s?1:-1,Q=n.d,U=i.d;if(!n.s)return new $(n);if(!i.s)throw Error(tn+"Division by zero");for(f=n.e-i.e,T=U.length,_=Q.length,b=new $(z),j=b.d=[],h=0;U[h]==(Q[h]||0);)++h;if(U[h]>(Q[h]||0)&&--f,o==null?E=o=$.precision:u?E=o+(St(n)-St(i))+1:E=o,E<0)return new $(0);if(E=E/lt+2|0,h=0,T==1)for(m=0,U=U[0],E++;(h<_||m)&&E--;h++)A=m*Rt+(Q[h]||0),j[h]=A/U|0,m=A%U|0;else{for(m=Rt/(U[0]+1)|0,m>1&&(U=e(U,m),Q=e(Q,m),T=U.length,_=Q.length),P=T,k=Q.slice(0,T),S=k.length;S=Rt/2&&++O;do m=0,c=t(U,k,T,S),c<0?(N=k[0],T!=S&&(N=N*Rt+(k[1]||0)),m=N/O|0,m>1?(m>=Rt&&(m=Rt-1),g=e(U,m),v=g.length,S=k.length,c=t(g,k,v,S),c==1&&(m--,r(g,T16)throw Error(ry+St(e));if(!e.s)return new m(Rr);for(dt=!1,c=g,u=new m(.03125);e.abs().gte(.1);)e=e.times(u),h+=5;for(n=Math.log(Ka(2,h))/Math.LN10*2+5|0,c+=n,r=i=o=new m(Rr),m.precision=c;;){if(i=et(i.times(e),c),r=r.times(++f),u=o.plus(hi(i,r,c)),Ln(u.d).slice(0,c)===Ln(o.d).slice(0,c)){for(;h--;)o=et(o.times(o),c);return m.precision=g,t==null?(dt=!0,et(o,g)):o}o=u}}function St(e){for(var t=e.e*lt,r=e.d[0];r>=10;r/=10)t++;return t}function Og(e,t,r){if(t>e.LN10.sd())throw dt=!0,r&&(e.precision=r),Error(tn+"LN10 precision limit exceeded");return et(new e(e.LN10),t)}function Ji(e){for(var t="";e--;)t+="0";return t}function Ou(e,t){var r,n,i,o,u,c,f,h,m,g=1,v=10,b=e,j=b.d,k=b.constructor,S=k.precision;if(b.s<1)throw Error(tn+(b.s?"NaN":"-Infinity"));if(b.eq(Rr))return new k(0);if(t==null?(dt=!1,h=S):h=t,b.eq(10))return t==null&&(dt=!0),Og(k,h);if(h+=v,k.precision=h,r=Ln(j),n=r.charAt(0),o=St(b),Math.abs(o)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)b=b.times(e),r=Ln(b.d),n=r.charAt(0),g++;o=St(b),n>1?(b=new k("0."+r),o++):b=new k(n+"."+r.slice(1))}else return f=Og(k,h+2,S).times(o+""),b=Ou(new k(n+"."+r.slice(1)),h-v).plus(f),k.precision=S,t==null?(dt=!0,et(b,S)):b;for(c=u=b=hi(b.minus(Rr),b.plus(Rr),h),m=et(b.times(b),h),i=3;;){if(u=et(u.times(m),h),f=c.plus(hi(u,new k(i),h)),Ln(f.d).slice(0,h)===Ln(c.d).slice(0,h))return c=c.times(2),o!==0&&(c=c.plus(Og(k,h+2,S).times(o+""))),c=hi(c,new k(g),h),k.precision=S,t==null?(dt=!0,et(c,S)):c;c=f,i+=2}}function Zj(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(n,i),t){if(i-=n,r=r-n-1,e.e=el(r/lt),e.d=[],n=(r+1)%lt,r<0&&(n+=lt),nTf||e.e<-Tf))throw Error(ry+r)}else e.s=0,e.e=0,e.d=[0];return e}function et(e,t,r){var n,i,o,u,c,f,h,m,g=e.d;for(u=1,o=g[0];o>=10;o/=10)u++;if(n=t-u,n<0)n+=lt,i=t,h=g[m=0];else{if(m=Math.ceil((n+1)/lt),o=g.length,m>=o)return e;for(h=o=g[m],u=1;o>=10;o/=10)u++;n%=lt,i=n-lt+u}if(r!==void 0&&(o=Ka(10,u-i-1),c=h/o%10|0,f=t<0||g[m+1]!==void 0||h%o,f=r<4?(c||f)&&(r==0||r==(e.s<0?3:2)):c>5||c==5&&(r==4||f||r==6&&(n>0?i>0?h/Ka(10,u-i):0:g[m-1])%10&1||r==(e.s<0?8:7))),t<1||!g[0])return f?(o=St(e),g.length=1,t=t-o-1,g[0]=Ka(10,(lt-t%lt)%lt),e.e=el(-t/lt)||0):(g.length=1,g[0]=e.e=e.s=0),e;if(n==0?(g.length=m,o=1,m--):(g.length=m+1,o=Ka(10,lt-n),g[m]=i>0?(h/Ka(10,u-i)%Ka(10,i)|0)*o:0),f)for(;;)if(m==0){(g[0]+=o)==Rt&&(g[0]=1,++e.e);break}else{if(g[m]+=o,g[m]!=Rt)break;g[m--]=0,o=1}for(n=g.length;g[--n]===0;)g.pop();if(dt&&(e.e>Tf||e.e<-Tf))throw Error(ry+St(e));return e}function KA(e,t){var r,n,i,o,u,c,f,h,m,g,v=e.constructor,b=v.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new v(e),dt?et(t,b):t;if(f=e.d,g=t.d,n=t.e,h=e.e,f=f.slice(),u=h-n,u){for(m=u<0,m?(r=f,u=-u,c=g.length):(r=g,n=h,c=f.length),i=Math.max(Math.ceil(b/lt),c)+2,u>i&&(u=i,r.length=1),r.reverse(),i=u;i--;)r.push(0);r.reverse()}else{for(i=f.length,c=g.length,m=i0;--i)f[c++]=0;for(i=g.length;i>u;){if(f[--i]0?o=o.charAt(0)+"."+o.slice(1)+Ji(n):u>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(i<0?"e":"e+")+i):i<0?(o="0."+Ji(-i-1)+o,r&&(n=r-u)>0&&(o+=Ji(n))):i>=u?(o+=Ji(i+1-u),r&&(n=r-i-1)>0&&(o=o+"."+Ji(n))):((n=i+1)0&&(i+1===u&&(o+="."),o+=Ji(n))),e.s<0?"-"+o:o}function Jj(e,t){if(e.length>t)return e.length=t,!0}function GA(e){var t,r,n;function i(o){var u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,o instanceof i){u.s=o.s,u.e=o.e,u.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(uo+o);if(o>0)u.s=1;else if(o<0)o=-o,u.s=-1;else{u.s=0,u.e=0,u.d=[0];return}if(o===~~o&&o<1e7){u.e=0,u.d=[o];return}return Zj(u,o.toString())}else if(typeof o!="string")throw Error(uo+o);if(o.charCodeAt(0)===45?(o=o.slice(1),u.s=-1):u.s=1,wB.test(o))Zj(u,o);else throw Error(uo+o)}if(i.prototype=je,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=GA,i.config=i.set=kB,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=i[t+1]&&n<=i[t+2])this[r]=n;else throw Error(uo+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(uo+r+": "+n);return this}var ny=GA(bB);Rr=new ny(1);const Ge=ny;function VA(e){var t;return e===0?t=1:t=Math.floor(new Ge(e).abs().log(10).toNumber())+1,t}function qA(e,t,r){for(var n=new Ge(e),i=0,o=[];n.lt(t)&&i<1e5;)o.push(n.toNumber()),n=n.add(r),i++;return o}function _u(e,t){return EB(e)||NB(e,t)||SB(e,t)||jB()}function jB(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function SB(e,t){if(e){if(typeof e=="string")return e2(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e2(e,t):void 0}}function e2(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=_u(e,2),r=t[0],n=t[1],i=r,o=n;return r>n&&(i=n,o=r),[i,o]},iy=(e,t,r)=>{if(e.lte(0))return new Ge(0);var n=VA(e.toNumber()),i=new Ge(10).pow(n),o=e.div(i),u=n!==1?.05:.1,c=new Ge(Math.ceil(o.div(u).toNumber())).add(r).mul(u),f=c.mul(i);return t?new Ge(f.toNumber()):new Ge(Math.ceil(f.toNumber()))},YA=(e,t,r)=>{var n;if(e.lte(0))return new Ge(0);var i=[1,2,2.5,5],o=e.toNumber(),u=Math.floor(new Ge(o).abs().log(10).toNumber()),c=new Ge(10).pow(u),f=e.div(c).toNumber(),h=i.findIndex(b=>b>=f-1e-10);if(h===-1&&(c=c.mul(10),h=0),h+=r,h>=i.length){var m=Math.floor(h/i.length);h%=i.length,c=c.mul(new Ge(10).pow(m))}var g=(n=i[h])!==null&&n!==void 0?n:1,v=new Ge(g).mul(c);return t?v:new Ge(Math.ceil(v.toNumber()))},AB=(e,t,r)=>{var n=new Ge(1),i=new Ge(e);if(!i.isint()&&r){var o=Math.abs(e);o<1?(n=new Ge(10).pow(VA(e)-1),i=new Ge(Math.floor(i.div(n).toNumber())).mul(n)):o>1&&(i=new Ge(Math.floor(e)))}else e===0?i=new Ge(Math.floor((t-1)/2)):r||(i=new Ge(Math.floor(e)));for(var u=Math.floor((t-1)/2),c=[],f=0;f4&&arguments[4]!==void 0?arguments[4]:0,u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:iy;if(!Number.isFinite((r-t)/(n-1)))return{step:new Ge(0),tickMin:new Ge(0),tickMax:new Ge(0)};var c=u(new Ge(r).sub(t).div(n-1),i,o),f;t<=0&&r>=0?f=new Ge(0):(f=new Ge(t).add(r).div(2),f=f.sub(new Ge(f).mod(c)));var h=Math.ceil(f.sub(t).div(c).toNumber()),m=Math.ceil(new Ge(r).sub(f).div(c).toNumber()),g=h+m+1;return g>n?XA(t,r,n,i,o+1,u):(g0?m+(n-g):m,h=r>0?h:h+(n-g)),{step:c,tickMin:f.sub(new Ge(h).mul(c)),tickMax:f.add(new Ge(m).mul(c))})},t2=function(t){var r=_u(t,2),n=r[0],i=r[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",f=Math.max(o,2),h=QA([n,i]),m=_u(h,2),g=m[0],v=m[1];if(g===-1/0||v===1/0){var b=v===1/0?[g,...Array(o-1).fill(1/0)]:[...Array(o-1).fill(-1/0),v];return n>i?b.reverse():b}if(g===v)return AB(g,o,u);var j=c==="snap125"?YA:iy,k=XA(g,v,f,u,0,j),S=k.step,N=k.tickMin,E=k.tickMax,A=qA(N,E.add(new Ge(.1).mul(S)),S);return n>i?A.reverse():A},r2=function(t,r){var n=_u(t,2),i=n[0],o=n[1],u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",f=QA([i,o]),h=_u(f,2),m=h[0],g=h[1];if(m===-1/0||g===1/0)return[i,o];if(m===g)return[m];var v=c==="snap125"?YA:iy,b=Math.max(r,2),j=v(new Ge(g).sub(m).div(b-1),u,0),k=[...qA(new Ge(m),new Ge(g),j),g];return u===!1&&(k=k.map(S=>Math.round(S))),i>o?k.reverse():k},CB=e=>e.rootProps.barCategoryGap,Bh=e=>e.rootProps.stackOffset,ZA=e=>e.rootProps.reverseStackOrder,ay=e=>e.options.chartName,oy=e=>e.rootProps.syncId,JA=e=>e.rootProps.syncMethod,sy=e=>e.options.eventEmitter,PB=e=>e.rootProps.baseValue,fr={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},$a={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},On={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},Uh=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function Hh(e,t,r){if(r!=="auto")return r;if(e!=null)return Gn(e,t)?"category":"number"}function n2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Df(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},ly=q([IB,jA],(e,t)=>{var r;if(e!=null)return e;var n=(r=Hh(t,"angleAxis",i2.type))!==null&&r!==void 0?r:"category";return Df(Df({},i2),{},{type:n})}),TB=(e,t)=>e.polarAxis.radiusAxis[t],uy=q([TB,jA],(e,t)=>{var r;if(e!=null)return e;var n=(r=Hh(t,"radiusAxis",a2.type))!==null&&r!==void 0?r:"category";return Df(Df({},a2),{},{type:n})}),Wh=e=>e.polarOptions,cy=q([ki,ji,Zt],eB),eC=q([Wh,cy],(e,t)=>{if(e!=null)return ya(e.innerRadius,t,0)}),tC=q([Wh,cy],(e,t)=>{if(e!=null)return ya(e.outerRadius,t,t*.8)}),DB=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},rC=q([Wh],DB);q([ly,rC],Uh);var nC=q([cy,eC,tC],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]});q([uy,nC],Uh);var iC=q([ft,Wh,eC,tC,ki,ji],(e,t,r,n,i,o)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var u=t.cx,c=t.cy,f=t.startAngle,h=t.endAngle;return{cx:ya(u,i,i/2),cy:ya(c,o,o/2),innerRadius:r,outerRadius:n,startAngle:f,endAngle:h,clockWise:!1}}}),$t=(e,t)=>t,Kh=(e,t,r)=>r;function dy(e){return e==null?void 0:e.id}function aC(e,t,r){var n=t.chartData,i=n===void 0?[]:n,o=r.allowDuplicatedCategory,u=r.dataKey,c=new Map;return e.forEach(f=>{var h,m=(h=f.data)!==null&&h!==void 0?h:i;if(!(m==null||m.length===0)){var g=dy(f);m.forEach((v,b)=>{var j=u==null||o?b:String(Lt(v,u,null)),k=Lt(v,f.dataKey,0),S;c.has(j)?S=c.get(j):S={},Object.assign(S,{[g]:k}),c.set(j,S)})}}),Array.from(c.values())}function fy(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var Gh=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Vh(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function RB(e,t){if(e.length===t.length){for(var r=0;r{var t=ft(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"},tl=e=>e.tooltip.settings.axisId;function hy(e){if(e!=null){var t=e.ticks,r=e.bandwidth,n=e.range(),i=[Math.min(...n),Math.max(...n)];return{domain:()=>e.domain(),range:(function(o){function u(){return o.apply(this,arguments)}return u.toString=function(){return o.toString()},u})(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(o){var u=i[0],c=i[1];return u<=c?o>=u&&o<=c:o>=c&&o<=u},bandwidth:r?()=>r.call(e):void 0,ticks:t?o=>t.call(e,o):void 0,map:(o,u)=>{var c=e(o);if(c!=null){if(e.bandwidth&&u!==null&&u!==void 0&&u.position){var f=e.bandwidth();switch(u.position){case"middle":c+=f/2;break;case"end":c+=f;break}}return c}}}}}var LB=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!$n(t)){for(var r,n,i=0;in)&&(n=o))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};function ma(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function $B(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function my(e){let t,r,n;e.length!==2?(t=ma,r=(c,f)=>ma(e(c),f),n=(c,f)=>e(c)-f):(t=e===ma||e===$B?e:zB,r=e,n=e);function i(c,f,h=0,m=c.length){if(h>>1;r(c[g],f)<0?h=g+1:m=g}while(h>>1;r(c[g],f)<=0?h=g+1:m=g}while(hh&&n(c[g-1],f)>-n(c[g],f)?g-1:g}return{left:i,center:u,right:o}}function zB(){return 0}function oC(e){return e===null?NaN:+e}function*FB(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const BB=my(ma),tc=BB.right;my(oC).center;class o2 extends Map{constructor(t,r=WB){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[n,i]of t)this.set(n,i)}get(t){return super.get(s2(this,t))}has(t){return super.has(s2(this,t))}set(t,r){return super.set(UB(this,t),r)}delete(t){return super.delete(HB(this,t))}}function s2({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function UB({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function HB({_intern:e,_key:t},r){const n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function WB(e){return e!==null&&typeof e=="object"?e.valueOf():e}function KB(e=ma){if(e===ma)return sC;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function sC(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const GB=Math.sqrt(50),VB=Math.sqrt(10),qB=Math.sqrt(2);function Rf(e,t,r){const n=(t-e)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),u=o>=GB?10:o>=VB?5:o>=qB?2:1;let c,f,h;return i<0?(h=Math.pow(10,-i)/u,c=Math.round(e*h),f=Math.round(t*h),c/ht&&--f,h=-h):(h=Math.pow(10,i)*u,c=Math.round(e/h),f=Math.round(t/h),c*ht&&--f),f0))return[];if(e===t)return[e];const n=t=i))return[];const c=o-i+1,f=new Array(c);if(n)if(u<0)for(let h=0;h=n)&&(r=n);return r}function u2(e,t){let r;for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);return r}function lC(e,t,r=0,n=1/0,i){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(i=i===void 0?sC:KB(i);n>r;){if(n-r>600){const f=n-r+1,h=t-r+1,m=Math.log(f),g=.5*Math.exp(2*m/3),v=.5*Math.sqrt(m*g*(f-g)/f)*(h-f/2<0?-1:1),b=Math.max(r,Math.floor(t-h*g/f+v)),j=Math.min(n,Math.floor(t+(f-h)*g/f+v));lC(e,t,b,j,i)}const o=e[t];let u=r,c=n;for(ru(e,r,t),i(e[n],o)>0&&ru(e,r,n);u0;)--c}i(e[r],o)===0?ru(e,r,c):(++c,ru(e,c,n)),c<=t&&(r=c+1),t<=c&&(n=c-1)}return e}function ru(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function QB(e,t,r){if(e=Float64Array.from(FB(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return u2(e);if(t>=1)return l2(e);var n,i=(n-1)*t,o=Math.floor(i),u=l2(lC(e,o).subarray(0,o+1)),c=u2(e.subarray(o+1));return u+(c-u)*(i-o)}}function YB(e,t,r=oC){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,i=(n-1)*t,o=Math.floor(i),u=+r(e[o],o,e),c=+r(e[o+1],o+1,e);return u+(c-u)*(i-o)}}function XB(e,t,r){e=+e,t=+t,r=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((t-e)/r))|0,o=new Array(i);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?zd(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?zd(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=e9.exec(e))?new Nr(t[1],t[2],t[3],1):(t=t9.exec(e))?new Nr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=r9.exec(e))?zd(t[1],t[2],t[3],t[4]):(t=n9.exec(e))?zd(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=i9.exec(e))?g2(t[1],t[2]/100,t[3]/100,1):(t=a9.exec(e))?g2(t[1],t[2]/100,t[3]/100,t[4]):c2.hasOwnProperty(e)?h2(c2[e]):e==="transparent"?new Nr(NaN,NaN,NaN,0):null}function h2(e){return new Nr(e>>16&255,e>>8&255,e&255,1)}function zd(e,t,r,n){return n<=0&&(e=t=r=NaN),new Nr(e,t,r,n)}function l9(e){return e instanceof rc||(e=Tu(e)),e?(e=e.rgb(),new Nr(e.r,e.g,e.b,e.opacity)):new Nr}function n0(e,t,r,n){return arguments.length===1?l9(e):new Nr(e,t,r,n??1)}function Nr(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}vy(Nr,n0,cC(rc,{brighter(e){return e=e==null?Lf:Math.pow(Lf,e),new Nr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Mu:Math.pow(Mu,e),new Nr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Nr(co(this.r),co(this.g),co(this.b),$f(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:m2,formatHex:m2,formatHex8:u9,formatRgb:p2,toString:p2}));function m2(){return`#${Qa(this.r)}${Qa(this.g)}${Qa(this.b)}`}function u9(){return`#${Qa(this.r)}${Qa(this.g)}${Qa(this.b)}${Qa((isNaN(this.opacity)?1:this.opacity)*255)}`}function p2(){const e=$f(this.opacity);return`${e===1?"rgb(":"rgba("}${co(this.r)}, ${co(this.g)}, ${co(this.b)}${e===1?")":`, ${e})`}`}function $f(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function co(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Qa(e){return e=co(e),(e<16?"0":"")+e.toString(16)}function g2(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new vn(e,t,r,n)}function dC(e){if(e instanceof vn)return new vn(e.h,e.s,e.l,e.opacity);if(e instanceof rc||(e=Tu(e)),!e)return new vn;if(e instanceof vn)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),o=Math.max(t,r,n),u=NaN,c=o-i,f=(o+i)/2;return c?(t===o?u=(r-n)/c+(r